将一个音频通道静音

Mute one channel of audio

我正在处理浮点数形式的音频数据。

我想知道是否有一种方法可以通过简单的命令使通道(左通道或右通道)静音,比如将每秒的浮点数设置为 0 左右。 :-)

谢谢。

这将(完全)取决于数据的编码形式。

如果(而且几乎 如果)它被编码为通道交错的原始样本,那么是的,您可以通过将其样本替换为零来使通道静音。

但是,该格式有很多替代方案。仅举一个例子,您可以将 L+R 作为一组样本发送,将 L-R 作为另一组样本发送。在这种情况下,您需要从数据中解码通道(L+R + L-R => L,L + R - L - R => R),将一个通道的样本归零,然后合并结果回到相同的格式。

当然,许多格式甚至比这复杂得多。像 MP3 这样的压缩在编码单个通道方面要复杂得多 and 允许您单独编码通道或像和与差(通常会节省一些 space).