5

オーディオファイルの操作に使用できるライブラリを探しています。基本的に私がやりたいことは次のとおりです。

  1. MP3/WAVファイルをロードする

  2. ファイルの15秒のクリップを取得します

  3. その上に別のMP3/WAVファイルをオーバーレイします

  4. 新しいMP3/WAVファイルとしてレンダリング

4

5 に答える 5

1

soxのライブラリlibsox (完全に異なるhttp://libsox.sourceforge.net/ではない)には、使用できる単純なAPIがあるようです。ドキュメントには、ステレオからモノラルへのミキシングの次の例が示されています。

サンプルを整数として表すと、オーディオの処理時に問題が発生する可能性があります。たとえば、左右のチャンネルを1つのモノフォニックチャンネルにミックスダウンするエフェクトがラインを使用する場合

    *obuf++ = (*ibuf++ + *ibuf++)/2;

中間加算は32ビットをオーバーフローする可能性があるため、歪みが発生する可能性があります。この線

    *obuf++ = *ibuf++/2 + *ibuf++/2;

オーバーフローの問題を回避します(最下位ビットを犠牲にして)。

于 2009-10-27T22:34:16.443 に答える
0

一般的なMP3コーデックAPIを使用して、ストリームをデコードし、操作して、再度保存することができます。たとえば、この部分にlibLAMEを使用できます。

ミキシングに関しては、自分で行うか(たとえば、単純に2つのサンプルを追加し、2で割ると、あまり良くないように聞こえるかもしれません)、適切なライブラリを見つけることができます。

あなたはまた、最高のcオーディオライブラリLinuxで関連するスタックオーバーフローの質問に興味があるかもしれません

于 2009-10-27T22:12:33.793 に答える
0

http://terminatorx.org/でこれを見てみるといいかもしれません 。

于 2009-10-27T22:54:53.190 に答える
0

非常に優れた C++ オーディオ/シンセ ライブラリはSTKです。それは多くのものを実行し、BSD/MIT タイプのライセンスの下にあります。つまり、商用製品の開発に使用できます。Wav はサポートされていますが、MP3 はサポートされていません。たとえば、MP3 の場合はirrklangを使用できます。これは、非商用の場合は無料です (アンダービットによる MAD も多くの人が使用しています)。

于 2011-10-03T15:00:44.440 に答える