私は現在、個人的なプロジェクトに取り組んでいます。Flash でリアルタイム オーディオ合成用のライブラリを作成しています。簡単に言うと、ウェーブジェネレーター、フィルター、ミキサーなどを相互に接続し、サウンドカードに生の (リアルタイムの) データを供給するツールです。max/msp や Reaktor のようなもの。
私はすでにいくつかの機能を持っていますが、私が書いた基本的なセットアップが正しいかどうか疑問に思っています。後でアプリのコアを変更せざるを得ないような問題に遭遇したくありません (常に発生する可能性はありますが)。
基本的に、私が今やっていることは、チェーンの最後、(生の) サウンドデータが (サウンドカードに) 「出力」される場所から開始することです。そのためには、バイトのチャンク (ByteArrays) をオブジェクトに書き込む必要があり、そのチャンクを取得するには、「Sound Out」モジュールに接続されているモジュールにチャンクを提供するように依頼します。そのモジュールは、彼の入力に接続されているモジュールに同じ要求を行い、それはチェーンの開始に達するまで発生し続けます。
これは正しいアプローチですか?フィードバックループがある場合、または出力のない別のモジュールがある場合に問題が発生することを想像できます。スペクトルアナライザーをどこかに接続すると、チェーンの行き止まりになります (出力のないモジュール、入力のみ)。私の現在のセットアップでは、サウンド出力モジュールから計算を開始するだけなので、そのようなモジュールは機能しません。
このようなプログラミングの経験がある人はいますか?正しいアプローチについての考えに非常に興味があります。(明確にするために: 特定の Flash 実装を探しているわけではないため、この質問を flash または actionscript の下にタグ付けしませんでした)