1

我有一个原始立体声音频文件。

它是树莓派降噪系统的一部分,麦克风 1 将主声音录制到左声道,麦克风 2 将周围的噪音录制到右声道。目标是从左通道中减去右通道。我将写我尝试过的内容,但如果另一种方式更容易,我不希望你坚持下去并插手它。

使用修改后的http://freedesktop.org/software/pulseaudio/doxygen/parec-simple_8c-example.html版本进行录制。我将它输出到原始音频文件,这是一个有效的原始文件。立体声的优点是它们是同步的。请参阅我关于如何找到正确的 RAW 格式的其他问题。

总结一下:我该怎么做

  1. 将波形文件加载到数组中?(我问这个是因为在我的另一个问题中,波形格式似乎永远不对)
  2. 左声道减去右声道?(我假设 sample_left 减去 sample_right)
  3. 将其保存为原始或更好的 mp3 单声道。(我可以管到跛脚)
4

1 回答 1

0

如果您3将原始音频文件作为输入或从音频设备文件中读取原始音频样本,您可以执行以下操作

1.以二进制格式打开原始音频文件并将原始数据读入缓冲区,如果您使用文件提供原始音频数据。(或)从音频设备读取原始音频样本到缓冲区。

2.我们知道在立体声音频格式中,右声道总是跟在左声道之后。因此,您可以简单地分离左右音频通道。例如,如果您的设备提供 16 位 pcm 脉冲,这意味着前 16 位是左声道,接下来的 16 位是右声道。

3.你可以简单地打开一个普通的二进制文件,你可以通过在文件的声明处定义wav头来将它变成一个wav文件。定义一个 wav 头并将音频数据写入 wav 文件。

有关 wav 文件参考,请参见此处

于 2013-07-10T12:24:41.303 回答