c++ - 如何编写 C++ 音频处理应用程序?

标签 c++ linux eclipse waveform audio-processing

我是一名电子和电信专业的学生,​​即将毕业。我将从事一个涉及我对 DSP、音乐和音频的一般知识的项目。我已经知道所有基本的数学工具以及我需要管理它的所有东西,例如 FFT、循环卷积 ecc ecc。

我想学习 C++ 编程基本上有一个原因:它在专业领域非常重要!!!而且我认为它是最常用于编写处理音频的应用程序之一,尤其是在实时处理方面。

好的,在这个简短的介绍之后,我首先想知道哪些是 C++ 中最常用的音频处理库??我在网上看的时间更长,但找不到很多工作的东西。 (我在 linux 下使用 eclipse CDT 环境工作)。

然后我想知道是否有很好的资源来学习如何编写一些工作代码,例如如何编写一个简单的低通滤波器。基本上现在我不会写实时应用程序,我想从处理 WAV 文件开始,甚至更好的是 MP3 文件,所以基本上是样本 vector 。

假设现在基本上我想从音频文件中提取波形,并将其保存为缩略图或 PNG 图像。

好的,现在我想这就是我所需要的。

有什么想法、建议、图书馆、书籍、有趣的资源吗?

非常感谢任何形式的回答。

乔瓦尼。

最佳答案

我建议您使用 C++ 编写自己的 WAVE 文件读取器和写入器,而不依赖外部库。 WAVE 格式相当简单,至少如果您只打算支持最常见的波形文件。

然后您将可以访问音频数据,您可以在 C++ 中轻松操作这些数据。我建议首先修改音量、 channel 数来计算音频的统计信息。创建音频波形的 PNG 需要一些更高级的 C++ 技能...

关于c++ - 如何编写 C++ 音频处理应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2399607/

相关文章:

c++ - 诺基亚手机中的操作系统

C++ 用另一个 vector 初始化 vector

c++进程cpu使用率跳转导致检测

linux - do_fork() 在哪里为新分配的 task_struct 定义了 "prio"字段?

mysql - 无法在 ubuntu 上运行 rails server

java - Spring 3.1.1 和缓存配置问题

c++ - 一个类中的成员变量数量不定? C++

c++ - 使用带有 split_iterator 的分类器

java - 如何在 Eclipse 中导出 Java 游戏?

xml - Eclipse 不会打开 Android Xml 文件