2010-03-08 311 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

相關問題