2つのオーディオファイルをミックスする必要があります。オーディオ1は静的なファイルになり、オーディオ2の「タグ付け」に使用されます。明確にするために、私はID3タグではなくオーディオタグについて話しています。どのようにC#で2つのオーディオファイルをレイヤーできますか?
私は頭を包むことができない2つの基本的な問題があります。
1)結果が音声2と同じ長さになるように、音声2を混合した場合、どのように音声1を繰り返すことができますか?
2)オーディオ2はMP3になります。再エンコードして品質を低下させたくありません。
これをC#でどのように行うことができるかに関するライブラリやアイデアは非常に高く評価されます。
異なるビット深度のオーディオファイルをレイヤーするときに考慮すべき事項があります。 8ビットファイルと16ビットファイルをブレンドしようとすると、16ビットファイルの精度が向上します。追加する前に、8ビットのファイルまたは16ビットのファイルをスケールダウンする必要があります。 – jrista
確かに。これは私に思い出させる。オーディオをミキシングするもう一つの要素はボリュームです。ミックスするたびに、基本的にボリュームを追加しています。あなたのウェーブボリュームがかなり上回っている(音楽が多い)場合は、元のサンプルをループして最高/最低のピークを見つけて、このピークまで混合オーディオを正規化する必要があります。これは、2つの本当に大きな(?)サウンドサンプルをミキシングするときに、多くのピークを切り捨てないように、より広い範囲(32ビット整数など)の中間データタイプを使用することを意味します。正規化後、サウンドを16/8ビット形式で保存することができます。 –