将一个音频通道静音
Mute one channel of audio
我正在处理浮点数形式的音频数据。
我想知道是否有一种方法可以通过简单的命令使通道(左通道或右通道)静音,比如将每秒的浮点数设置为 0 左右。 :-)
谢谢。
这将(完全)取决于数据的编码形式。
如果(而且几乎 仅 如果)它被编码为通道交错的原始样本,那么是的,您可以通过将其样本替换为零来使通道静音。
但是,该格式有很多替代方案。仅举一个例子,您可以将 L+R 作为一组样本发送,将 L-R 作为另一组样本发送。在这种情况下,您需要从数据中解码通道(L+R + L-R => L,L + R - L - R => R),将一个通道的样本归零,然后合并结果回到相同的格式。
当然,许多格式甚至比这复杂得多。像 MP3 这样的压缩在编码单个通道方面要复杂得多 and 允许您单独编码通道或像和与差(通常会节省一些 space).
我正在处理浮点数形式的音频数据。
我想知道是否有一种方法可以通过简单的命令使通道(左通道或右通道)静音,比如将每秒的浮点数设置为 0 左右。 :-)
谢谢。
这将(完全)取决于数据的编码形式。
如果(而且几乎 仅 如果)它被编码为通道交错的原始样本,那么是的,您可以通过将其样本替换为零来使通道静音。
但是,该格式有很多替代方案。仅举一个例子,您可以将 L+R 作为一组样本发送,将 L-R 作为另一组样本发送。在这种情况下,您需要从数据中解码通道(L+R + L-R => L,L + R - L - R => R),将一个通道的样本归零,然后合并结果回到相同的格式。
当然,许多格式甚至比这复杂得多。像 MP3 这样的压缩在编码单个通道方面要复杂得多 and 允许您单独编码通道或像和与差(通常会节省一些 space).