如何从C中的音频文件中过滤特定频率

大坏狼

在各种搜索引擎上搜索之后,在这里,几乎没有适用于我的情况的信息。基本上,我想用C编写一个执行以下操作的程序:

  1. 打开一个音频文件(flac Mp3和wav,代表各种变化)
  2. 过滤并切出一组特定的频率(例如4000-5200hz,应在查询时输入频率)
  3. 以与输入文件相同的格式保存新文件(不过滤频率)。

我感兴趣的事情:

  1. 做相同或相似事情的软件的开源示例,最好在C语言中

  2. 有关C语言中音频编程的任何文献

  3. 关于不同格式的结构的解释,任何来源均感激

附:我很抱歉,问题的某些部分可以轻松地用谷歌搜索,但是我尝试过,没有任何东西可以对此进行详细描述。

非常感谢!!

多媒体麦克

答案:

  1. FFmpeg进行了大量的音频切片和切块,并且是用纯C语言编写的。尽管它很大,但是可能很难一口气消化。
  2. “音频编程”有点含糊。但是从问题的其余部分看来,您似乎想从磁盘上打开音频文件,对音频进行一些转换,然后将数据写入新文件。(“音频编程”框架下的其他区域将包括访问特定于平台的API以从麦克风读取并将音频写入输出设备)。
  3. 再次是广泛的话题,但我们将从简单开始。

我建议先获取(或生成).WAV文件。WAV文件可能是最简单的手动读写音频文件。这是一个页面,描述您需要了解的WAV格式

脉冲编码调制(PCM)是最简单的音频格式,因为您无需担心先将其解压缩。这是我写的页面,描述了不同的PCM格式

至于过滤和削减不同的频率,我认为您正在寻找的是低通高通带通滤波器。

希望对您有所帮助。如有需要,请在此处在“堆栈溢出”中询问更多问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章