0

float y = sin(2 * PI * f * t);、FM 合成、その他のより複雑なアルゴリズムなどの関数を使用してサウンドを作成できるようにするプロジェクトを C++ で開始したいと考えています。Mac OS X Lion で Xcode 4 を使用していますが、最終的にはソフトウェアを Windows プラットフォームに移植したいと考えています。ライブラリ SFML 1.6 と 2.0、RTAudio、および PortAudio を試しましたが、Xcode 4 でプログラムをコンパイルできませんでした。ウィンドウ グラフィック ライブラリと MIDI サポートはおまけですが、必須ではありません。

成功したライブラリやメソッドはありますか? 前述のライブラリのいずれかが機能した場合、どのようにして Xcode 4 でコンパイルしましたか?

4

2 に答える 2

3

「Crosstalk」という名前の Windows および Mac 用の C++ オーディオ ライブラリを作成しました。

これは、オーディオ システムをリアルタイムで作成およびルーティングできるリアルタイム C++ オーディオ エンジンです。基本的に、エンジンはすべてのオーディオ ルーティングを処理し、システム コンポーネントを作成するためのシンプルなプラットフォームを提供します (たとえば、「オーディオ デバイス」および「ファイル レコーダー」に接続された「ローパス フィルター」に接続された「FM シンセ」コンポーネント)。 .

使い方はとても簡単です。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();

Crosstalk には、サンプル Xcode および Visual Studio プロジェクトが含まれています。

Crosstalk をダウンロードして、API ドキュメントとライセンスの詳細を確認できます: http://www.adaptaudio.com/Crosstalk

編集 (01-12-2012):

Crosstalk は、「 DSPatch 」と呼ばれるオープンソース プロジェクトに置き換えられました。DSPatch は基本的に、クロストークの背後にあるルーティング エンジンのアップグレード バージョンであり、オーディオ処理だけに制限されなくなりました。DSPatch を使用すると、想像できるほぼすべてのタイプのプロセス チェーンを作成してルーティングでき、個人および独自の使用は無料です :)

于 2012-05-11T18:11:49.260 に答える
1

libsndfile が役立つかもしれません

http://www.mega-nerd.com/libsndfile/

于 2011-11-14T05:52:47.603 に答える