1

wavサウンド ファイル ( / )を操作できる Python 用のツール/ライブラリはありますmp3か?

必要な操作は次のとおりです。

  • 新しいオーディオ ファイルを作成する
  • 指定された音量レベルでタイムラインにサウンドを配置し、オーバーラップできるようにします

理想的なツールは次のように使用されます。

result = AudioFile(12)   # New 12 sec audio file

sounds = [load_sound(fname) for fname in soundfiles]

result.add(sounds[0], start_time=0)
result.add(sounds[1], start_time=2, volume_level=0.6)

result.save('result.wav')

は、サウンドでresult.wav構成される 12 秒のオーディオである必要があり、サウンドが 2 秒を超えるとオーバーラップします。010

Q:海外にこんなものはありますか?

4

1 に答える 1

3

まず、これは標準ライブラリだけでほぼ実現できます。

waveWAV ファイルを解析して作成できます。MP3 (または AAC やその他のファイル形式) を処理することはできません。それが重要な機能である場合は、サードパーティのライブラリを利用する必要がありますが、選択肢はたくさんあります。(pymad検索で最初に出てきたものでしたが、SOは推奨事項や意見を得るのに適していないため、PyPIおよび/またはGoogleで独自の検索を行う必要があります。)

audioopでは、オーディオ バッファに対して単純な操作を実行できます。派手すぎることはありませんが、正規化、スケーリング、およびマージには十分です。そして、そこから必要なものを簡単に構築できます。

より高いレベルで物事を行いたい場合はsox、 、libavcodec/ffmpegなどのよく知られたツールのバインディングがあります。私の経験では、簡単なハックを超えて何かを書く必要があるたびに、何も見つけることができませんでした関連するライセンス要件を満たす十分に完全で安定したバインディングが必要ですが、やはり自分で探す必要があります。または、コマンド ライン ツールを で呼び出すだけでsubprocess、通常ははるかに簡単です。

于 2013-09-11T22:50:58.173 に答える