4

2つのサウンドトラックを含む1つのファイルに連結したい2つのwavファイルがあります。

そのタスク用のAPI、またはこのタスクを可能にするために天才的な方法で使用できる.NETの組み込みコマンドはありますか?

助けてくれてありがとう。:)

4

4 に答える 4

2

私が間違っていなければ、2 番目のファイルのバイトを最初のファイルの末尾に追加するだけです。ヘッダー データがある場合は、それを除外します (こちらを参照) 。

ブレンドが行われないため、2 つのクリップの間でクリックまたはポップが聞こえる場合があることに注意してください。これはおそらく、フェード (最後の数ミリ秒の値を徐々に中心値まで下げる) によって回避できます。

于 2008-12-04T14:48:36.670 に答える
2

これを一度だけ行う必要がある場合は、そのタスク専用のソフトウェアを使用することをお勧めします。Praatまたはaudacityがこれを行います (2 つのトラックを結合またはマージします)。

Praat はスクリプト化することもできるため、Praat をスクリプト化してから、.Net アプリケーション内から Praat とスクリプトを呼び出すことができます。

ロブ

于 2008-12-04T19:56:31.103 に答える
-1

簡単な方法は、wav ファイル ヘッダーを解釈し、サンプルを抽出して、両方のファイルからサンプルを新しいサンプル ストリームにインターリーブし、それを新しい wav ファイルに書き込むことです。また、両方のソース wav ファイルのサンプル値をサンプルごとに追加して、両方のファイルを 1 つのトラックに「ミックス」することもできます。wav ファイル形式はそれほど複雑ではないため、このコードを書くのはそれほど難しくありません。また、wav ファイルを読み書きするためのコードを含むオープン ソース プロジェクトが多数あります。両方のソース wav ファイルのサンプル レートが異なると、ややこしいことに注意してください。wav 形式の説明については、これを確認してください。

于 2008-12-04T19:43:20.553 に答える
-1

はい、Jon B のように 2 番目の wav のデータ (ヘッダーを除く) を追加できますが、最初のファイルのヘッダーも変更して新しい長さを示す必要があります。そうしないと、一部のオーディオ プレーヤーが最初のファイルの終わりで停止します。部。

動的連結の場合、最初は合計の wav のサイズがわからないため、最初のファイルのヘッダーに偽の長さを入れることができます。たとえば、10 時間の長さを入れることができます。

その後、オーディオ プレーヤーは、各データを追加するまで待機する必要があります。少なくともffmpegで動作します

于 2016-05-12T12:35:44.657 に答える