2

タイトルはすべてを示しています - C++ で記述されたデジタル オーディオ ワークステーション (Ableton など) がグラフィックスをレンダリングしてオーディオを再生するために使用するライブラリまたはコードは何ですか?

C# + XNA は、コンピューター ベースの DAW にとって最悪の選択であることがわかりました。メトロノームを開発した後、正しく「ヒット」することはほとんどありませんでした。 C++ は中間レベルの言語であり、C# は高レベル言語であるため、C++ に。また、クロスプラットフォームの互換性のためです。

何度か(非常にさまざまな用語で)Google検索を行った後、この件に関するデータを見つけることができませんでした. DAW を書き始めるのに役立つ情報を誰か教えてくれませんか?

ご参考までに、私が DAW を書いているのは主に必要であり、カスタマイズしたり、何が何をするかを変更したりできるというアイデアが好きだからです。また、楽しみのために。私は楽しみのために、これらのような非常に高度で高レベルのプロジェクトを書く傾向がありますが、ほとんど完成させることはできません... ;)

4

4 に答える 4

1

JuceRTAudio、およびSTKも確認してください。あなたの質問に答えるために、Juce は多くの商用プラグインおよび DAW ライターによって使用されており、Ableton は独自のライブラリ セットを使用しています。

于 2012-06-20T23:24:34.527 に答える
1

まず第一に、安定したメトロノームを作成し、タイミングを正しく処理することは、どの言語でも完全に可能です。たとえば、Web ベースの基本的な DAW の多くは、Java や Flash で作成されています。今日の Google (moog) Doodle は HTML5/Javascript で実行されます (Chrome を使用している場合)。高水準言語では、ガベージ コレクションなどを制御しにくい傾向があります。これは通常、低レイテンシを達成できないことを意味しますが、何か間違ったことをしていない限り、タイミングが問題になることはありません。

さて、質問に答えるために:

ほとんどのプロフェッショナルな商用 DAW は、独自のライブラリを使用して、システムが提供する API と直接やり取りします。オーディオの場合、Linux では、これは OSS または Alsa を意味します。Mac OS X: コア オーディオ; Windows には多くのオーディオ API が用意されています。Avid などの一部の企業は、ユーザーを嫌っているために独自の API を持っていますが、実際にはユーザーを嫌っていないため、ハードウェアは標準 API と互換性があります。

グラフィックの場合: システムがサポートするグラフィック ライブラリを使用します。移植性については、Qt と OpenGL が適しています。他にもいると思います。波形などを表示するための標準ライブラリは実際にはありません。それは自分で行います。それを正しく効率的に行うのはそれほど簡単ではありませんが、ロケット科学でもありません。表示に関する限り、問題なく高級言語を使用することも選択できます。

http://www.openframeworks.cc/およびhttp://libcinder.org/を使用することも考えられます。

オーディオについては、非常に人気のある PortAudio ライブラリを使用できます: http://www.portaudio.com/

PortAudio は、C で記述された多くのプラットフォームで実行され、優れたコミュニティ サポートがあり、既存のどの API よりも簡単に使用できます。

于 2012-05-23T22:44:36.047 に答える
0

Ardourは GUI に GTK+ を使用し、オーディオにはジャックを使用します。

于 2012-06-20T23:29:13.780 に答える
0

Qt と OpenGL を (QGLWidget 経由で) 高速更新ビュー用に使用すると、私の DAW アプリではうまく機能します...

于 2012-05-23T03:46:32.387 に答える