2011-08-04 88 views
41

還有什麼更多的東西,類似(精神上)OpenCV,但處理音頻和從中獲取一些情報?能力的範圍可以從: -用於音頻處理的任何類似OpenCV的C/C++庫?

  1. 多音頻採集和音頻回放
  2. DSP - 音頻濾波器
  3. 音檢測
  4. 音調屬性分析
  5. 音合成(各種標準波形)
  6. 識別給定一些識別語料庫和模型(例如,確定樂器,節拍,人類語音等) - 可能使用其他開源項目的實際識別部分(獅身人面像)
  7. 語音/音樂合成 - 可能會再次使用一些其他開源項目(節)

這是好的,如果對原始音頻S.T.圖書館工程格式/編碼轉換是由其他現有庫(來自ffmpeg的s.a.)處理的外部問題。

我不是這方面的專家,但需要使用這樣的API,並且想知道這樣的庫是否存在,所以我選擇確定功能的術語可能不是最好的,所以專家可能想編輯這個問題。

回答

27

對於音頻採集和回放,我想到了portaudio

對於音頻處理,STK看起來很有希望。

看一看此相關的問題太多:Can anyone recommend a decent DSP/speech library in C++?

我建議這三個庫:

  1. 非常易於使用和友好的通用信號處理Aquila-dsp

  2. 強lib中音頻信號處理儘管難以使用,並且對於初學者來說非常大且複雜:CLAM Project

  3. 另一個我沒有經驗,值得考慮。 tspl

+0

+1回答。 STK似乎主要是音樂合成庫,但我可能錯了,因爲我沒有花費足夠的時間。 – icarus74

+0

也找到libsox。除了那個gstreamer,特別是ladspa插件有很多功能。然而,似乎沒有什麼「全都在同一個屋檐下」,就像OpenCV一樣。 – icarus74

5

退房ESSENTIA http://essentia.upf.edu/ ESSENTIA是一個開放源碼的C++庫用於音頻分析和基於音頻的音樂信息......它包含的實現該音頻輸入/輸出功能,標準的數字信號處理塊可重複使用的算法,廣泛收集,數據的統計表徵,以及大量的頻譜,時間,音調和高級音樂描述符。

還有一個openFrameworks分支,儘管你可能想在幾個月內推遲到正式64位,C++ 11。 https://github.com/GiantSteps/Essentia-Libraries