"Crosstalk"という名前のC++オーディオライブラリを作成しました。
リアルタイムでオーディオシステムを作成し、ルーティングすることができるリアルタイムの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
更新:無料のライセンスとの互換性を。
クロスライセンスのデモ版のみを無料のライセンスソフトウェアと併用することはできますが、商用利用やクロストークの配布は依然として許可されていません。フリーソフトウェアでクロストークデモを使用する場合は、ご使用のプログラムがクロストークのデモ版を使用していることをEULAに明記し、ソフトウェアへのリンクを提供する場合は、「http://www.adaptaudio .com/Crosstalk "をダウンロードして、自分でダウンロードすることができます。
EDIT(2012年1月12日):
クロストークは、 "DSPatch" と呼ばれるオープンソースプロジェクトに置き換えられました。 DSPatchは本来、音声処理だけに限定されないクロストークの背後にあるルーティングエンジンのアップグレードバージョンです。 DSPatchを使用すると、ほぼすべてのタイプのプロセスチェーンを作成してルーティングすることができ、個人的および独自の使用のために自由に使用できます。
"C/C++/JavaScript"とはどういう意味ですか? – sergio
@sergio:CまたはC++またはJavaScript。 JavaScriptで書かれていれば、私はそれを直接使うことができます。 C/C++で書かれていれば、node.jsのバインディングを書くことができるはずです。 – thejh