1

次のタスクを実行でき、Web サイトのサーバー側プロセスの一部として実行するのに適したプログラムまたはライブラリが存在するかどうかを知りたいです。(1 つのページ要求に妥当な最大 200 ミリ秒より長くかかっても問題ありません。非同期プロセスとして実行できます。)

タスクは次のとおりです。入力としてオーディオ ファイルのセットがあり、タイムラインで各オーディオ ファイルの再生を開始するタイミングに関するデータがあります。プログラムは、タイムライン データを使用して結合された、入力オーディオのミックスであるオーディオ ファイルを出力する必要があります。つまり、リアルタイムではなく、バッチ モードで動作するオーディオ ミキサーが必要です。

Google で検索したことはありますが、何を探しているのかよくわからないので、少しイライラしました。ほとんどのオーディオ ミキサーは、ゲームなどのリアルタイム アプリケーションを対象としているように見えますが、このタスクをコマンド ライン ユーティリティのようなものとして実行するものを見つける方法がわかりません。

この質問が理にかなっていることを願っています。

編集: 誰かがCsoundについてコメントした後、削除しました。Cサウンドとは?私が求めていることをするのは比較的簡単ですか?私の入力サウンド ファイルの長さは 10 ~ 50 秒で、ピッチの歪みには関心がないことに注意してください。

Csound でこれをどのように達成しますか?

Csound 以外にこのようなことができるものはありますか?

4

6 に答える 6

2

これには間違いなく Csound を使用でき、さまざまな方法で実装できます。残念ながら、Csound に関する私のまだかなり初期の研究は、サンプリングと処理よりも音声合成とアルゴリズム構成に関与しているため、堅牢な実装について提案することはできません。

ただし、プロジェクトのオーケストラ ファイル( instrumentsと呼ばれるモジュールに含まれるオーディオ合成および処理情報を含む Csound プログラムの一部) にはsoundin、オーディオ ファイルから読み取るオペコードが含まれ、振幅をスケーリングすると思います。さまざまなストリームを作成し、それらを混合してから出力に渡します。

タイムラインは、おそらくスコア ファイル(インストゥルメントと関数テーブルの初期化を処理する Csound プログラムの一部) で処理され、タイムライン データが再生タイミングに変換されます。

GEN01また、オーディオ データをファイルから関数テーブルに読み込むCsound のサブルーチンを調べることもできます。

于 2009-12-03T16:29:15.953 に答える
2

このプロセスの一部としてバッチ スクリプトの実行を検討する場合は、SoXが役立つことがあります。その「ミキサー」と「リミックス」コマンドは役に立ちそうですが、オフセットを処理するためにサウンド ファイルの先頭に空のスペースをレンダリングする必要があるかもしれません。

于 2009-11-26T12:24:00.000 に答える
1

SuperColliderをご覧ください。多分それはあなたのためにトリックをするでしょう.

于 2009-11-26T17:07:10.597 に答える
0

質問の言い回しが原因で、おそらくリアルタイム オーディオ ソリューションに関する多くの提案を受け取っていることでしょう。

プログラムは、タイムライン データを使用して結合された、入力オーディオのミックスであるオーディオ ファイルを出力する必要があります。

「入力オーディオ」は非常に曖昧です。私には、ライブ入力ストリーム (マイクのような) のように聞こえます。ライブ I/O ストリームをまったく扱っていない場合は、Csound が有力な候補です。Csound のチュートリアルはオンラインでたくさんあります。

于 2009-11-27T11:07:09.380 に答える
0

BASS Audio Libraryをご覧ください。ファイアウォールでブロックされているため、リアルタイムよりも速く混合できるかどうかはわかりませんが、以前は使いやすいことがわかりました.

于 2009-12-03T17:05:29.873 に答える
0

PHP のOpenAL バインディングのようなものですか?

于 2009-11-26T11:29:42.647 に答える