Audio 平移立体声音频样本

Audio 平移立体声音频样本,audio,pan,sample-data,Audio,Pan,Sample Data,假设我有一个16位PCM音频文件。我想把它全部平移到左边。我如何做到这一点,完全通过字节操作?我是否只是将右声道的样本与左声道的样本混合 我还想问(因为它似乎是相关的),我将如何将立体声样本转换为单声道样本 我使用Haxe来实现这一点,但是使用类似C的代码(或者只是对方法的解释)就足够了。谢谢 首先需要将原始字节转换为int数组。左通道的输出将是总和除以2 for (int i = 0 ; i < numFrames ; ++i) { *pOutputL++ = (*pInputL+

假设我有一个16位PCM音频文件。我想把它全部平移到左边。我如何做到这一点,完全通过字节操作?我是否只是将右声道的样本与左声道的样本混合

我还想问(因为它似乎是相关的),我将如何将立体声样本转换为单声道样本


我使用Haxe来实现这一点,但是使用类似C的代码(或者只是对方法的解释)就足够了。谢谢

首先需要将原始字节转换为int数组。左通道的输出将是总和除以2

for (int i = 0 ; i < numFrames ; ++i)
{
   *pOutputL++ = (*pInputL++ + *pInputR++) >> 1;
   *pOutputR++ = 0;
}
for(int i=0;i>1;
*pOutputR++=0;
}

为什么要除以二?这仅仅是为了避免剪辑,还是一直都是这样?是的-一直都是这样-你不希望硬平移通道的增益是中心位置的两倍。