gpt4 book ai didi

c - 将 wave 加载到数组中 + 减去 channel + 另存为 wave/mp3

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:12 25 4
gpt4 key购买 nike

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

它是树莓派上噪声消除系统的一部分,麦克风 1 将主要声音记录到左声道,麦克风 2 将周围的噪音记录到右声道。目标是从左 channel 中减去右 channel 。我将写下我尝试过的内容,但我不希望您坚持下去并干预它,如果有其他方法更容易的话。

使用修改后的 http://freedesktop.org/software/pulseaudio/doxygen/parec-simple_8c-example.html 进行记录版本。我将它输出到原始音频文件,这是一个有效的原始文件。立体声的优点是它们是同步的。在 How to find the right RAW format 上查看我的其他问题.

总结一下:我该怎么做

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

最佳答案

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

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

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

3.您可以简单地打开一个普通的二进制文件,您可以通过在文件的声明中定义wav header 将其转换为wav 文件。定义一个 wav 头并将音频数据写入 wav 文件。

有关 wav 文件引用,请参阅 here

关于c - 将 wave 加载到数组中 + 减去 channel + 另存为 wave/mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com