2010-03-08 33 views
12

我是一名电子和电信学生,在我毕业的旁边。我将参与一个涉及我对DSP,音乐和音频一般知识的项目。我已经知道所有基本的数学工具和我需要管理的所有东西,比如FFT,圆形卷积等。如何编写C++音频处理应用程序?

我想学习C++编程基本上有一个原因:它在专业世界中非常重要!我认为这是使用音频编写应用程序最常用的技术之一,特别是在实时处理时。

好吧,毕竟这小介绍,我想第一个知道,这是最常用的库在C与音频处理工作++?我在网上查找的时间越来越长,但我找不到工作内容。 (我在linux下使用Eclipse CDT环境工作)。

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

比方说,基本上现在我想从音频文件中提取的波形,然后将其保存到缩略图或PNG图像。

好的,现在我认为这是我所需要的。

任何想法,建议,图书馆,书籍,有趣的消息来源?

非常感谢您提供任何答案。

Giovanni。

+0

什么编程语言,你ALRE阿迪知道吗? – sbi 2010-03-08 06:17:45

回答

4

我建议你用C++编写你自己的WAVE文件读写器,而不需要依靠外部库。 WAVE格式非常简单,至少如果你只是想支持最常见的波形文件。

然后,您将可以访问音频数据,您可以在C++中轻松操作该数据。我建议首先修改音量,计算音频统计信息的通道数量。创建音频波形PNG要求

+0

好的!非常好,一开始可能很有趣。我怎样才能做到这一点?有没有教程?我知道WAV文件是如何构建的,但我不知道如何在C++上打开音频文件,是否正常的文件流打开?或者还有更多我需要的东西? – Cesko82 2010-03-08 06:57:54

+1

这是一个正常的文件流。您可以随意阅读和书写。但是我建议你先看看C++,而不是知道该编程语言的一些基础知识,然后冲入DSP。你可能很容易遇到一些问题。你用其他语言编程过吗? – Adi 2010-03-08 13:47:44

+0

是的,我做了python,有时在java上。我已经用python编写了一个使用类似库的matlab例程,但是为了绘制波形需要太多的内存,因为使用了视频库来使视频卡驱动程序正常工作。我现在只想在文件上导出波形,也许将两个音频文件混合在一起。 – Cesko82 2010-03-08 21:23:50

1

我用BASS了良好的效果一些更高级的C++技巧......(有可以使用C/C++ API)。

+0

这听起来不错,但我无法找到它的存储库,我怎么能在我的业力考拉发行管理它? – Cesko82 2010-03-08 21:31:42

+0

啊,对不起,我错过了你在运行Linux。这里(http://www.un4seen.com/forum/?topic=8682.0)是你可以下载的官方版本。另外,关于BASS的一些注意事项:它不是开放源代码,并且只能用于非商业用途,因此它可能会或可能不是您要查找的内容,但值得一试。 – DSB 2010-03-08 23:12:31

相关问题