[英]Audio/MIDI C++ library for a real-time application
正如我在另一個帖子中已經說過的那樣 ,我正在開發一個與音頻實時圖形編程相關的項目(類似Pure Data,Max / MSP,Reaktor)。
我在互聯網上做了一天的研究,尋找一個好的(維護的,文檔齊全的,高度可移植的)C ++庫,用於與音頻和MIDI的低級交互,但我仍然無法決定一個庫。
我正在考慮PortAudio + PortMIDI (PortMedia),但他們缺少文檔(特別是PortMIDI),並且沒有官方社區,只有郵件列表(我認為論壇社區非常重要!),同樣(或最差)的情況RTAudio和RTMidi庫。
我也嘗試一下:
所以...我的問題是:你有任何實時音頻/ MIDI的經驗嗎? 你推薦我哪個圖書館?
謝謝
我創建了一個名為“Crosstalk”的C ++音頻庫。
Crosstalk是一個實時C ++音頻引擎,允許您實時創建和路由音頻系統(幾乎是您嘗試以圖形方式實現的),並且它非常易於使用。
這是一個如何播放mp3文件的示例:
XtSystem system;
XtMp3Decoder mp3Decoder;
XtAudioDevice audioDevice;
long md = system.addComponent(&mp3Decoder);
long ad = system.addComponent(&audioDevice);
system.connOutToIn(md,0,ad,0);
system.connOutToIn(md,1,ad,1);
mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3");
mp3Decoder.play();
您可以在此處查看API文檔和許可詳細信息: http : //www.adaptaudio.com/Crosstalk
編輯(01-12-2012):
串擾已被一個名為“ DSPatch ”的開源項目所取代。 DSPatch本質上是Crosstalk背后的路由引擎的升級版本,不再局限於音頻處理。 DSPatch允許您創建和路由幾乎任何類型的可想象的流程鏈,並且免費供個人和專有使用:)
我已經同時使用PortAudio / PortMidi和Juce兩者都有很好的效果。 我正在將項目從PortMidi切換到Juce,因為對於我的用途,所有其他應用程序框架的東西最終都非常有用(根據我的經驗,它非常堅固。)。 因人而異。
我還推薦openFramworks: http : //www.openframeworks.cc/它適用於所有類型的媒體,交互......,它有一個非常易於使用/理解的API,它也有很好的文檔記錄。 只需點擊上面的鏈接並查看即可。
祝你好運,Audiodroid
在本系列教程中,有一篇關於對MIDI數據作出反應的文章。 它還涉及其他主題,如合成等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.