いくつかの連結された小さなWAVファイルで構成されたRAWオーディオファイルがあります。このファイルをSoundForgeで48,000、8ビットPCM、署名付き、モノラルとして開いて再生できます。
私がC#でやりたいのは、ファイル内の個々のWAVを、同じかそれより短い長さの新しいデータでプログラムで上書きすることです。これは、ほぼ可能に近いと思います。RAWファイルでFile.ReadAllBytesを実行し、バイト配列をループして、各WAVの開始位置と終了位置を決定できます。次に、PCで新しいWAVファイルを選択し、ヘッダーを削除して、残りのデータをRAWファイルに書き込みます。新しいWAVが宛先よりも小さい場合は、差を0で埋めます。
ただし、上記の設定でSound Forgeで新しいファイルを開くと、すべてのWAVが通常の「クリスマスツリー」の形よりも固いブロックのように見え、すべてが大きく歪んで再生されます。これを初めて体験した後、私の新しいソースWAVはすべて41,000、16ビットPCM、署名付き、ステレオ形式であることに気づきました。新しく作成したRAWファイルをこの形式で開いたところ、見た目も再生も問題ありません。
最初に、すべての新しいWAVを48,000、8ビットPCM、署名付き、モノラルに変換する必要があると考えました。次に、アプリケーションを実行して、それらをRAWファイルにコピーします。データをRAWファイルにコピーする前に、NAudioを使用してファイルの変換を行うコードを作成しましたが、それでも同じ問題が残ります。また、最初にSound Forgeで新しいWAVを手動で変換しようとしましたが、それでも同じ問題が発生します。
ここで何が欠けていますか?ありがとう。