2016-12-18 27 views
0

私はいくつかのオーディオファイルをpythonスクリプトを使って変換しようとしています。ソースフォルダには、ビットレートとサンプリングレートが異なる.wav.aiffの両方のオーディオファイルが含まれています。.aiffオーディオファイルを.wavに変換する

INPUTファイルの例

enter image description here

私はすべてのオーディオファイルがモノラル16ビット44.1kHzの .WAV

出力ファイルの例

enter image description hereに変換する必要があります

現在のところ、私はpysoundfileライブラリを使用して、.wavファイルを開いて書き出し/ PCM_16タイプに変換しています。

どのようにすればいいですか?.aiffファイルを.wavに変換しています。

私はPythonがaifcライブラリのファイル.aiffを処理することは知っていますが、どのような種類の変換機能も含まれていないようです。

どうすればいいですか?

答えて

0

免責事項: "Python専用"ではないため、おそらくこれはあなたが探している答えではありません。しかし、大規模なPythonスクリプトでメディアファイルを扱おうとすると、必要な各メディア形式のライブラリのドキュメントを検索して読み込むよりも、この方法が簡単でした。

WindowsコマンドラインまたはLinux端末から実行できるメディアコンバータ(foe.、私はFFmpegを使用)をインストールします。 (私たちはモノラルに変換する、つまり、ここで「1 -ac」1つのオーディオトラックを意味します。)

from subprocess import call 
call('ffmpeg -i D:/Audio/IN/sample.aiff -acodec pcm_s16le -ac 1 -ar 44100 D:/Audio/OUT/sample.wav') 

あなたはまた、任意のビデオフォーマットからオーディオを抽出することができます。そして、あなたはPythonスクリプトからこれらのコマンドを呼び出すことができます同様の方法。

0

これは問題ではありません。既に使用しているsoundfileモジュールは、すぐに使えるAIFFファイルをサポートしています。ちょうどファイル名を指定すれば完了です!

機能soundfile.available_formats()を使用すると、サポートされている形式のリストを取得できます。 soundfileモジュールは、フードの下でlibsndfileライブラリを使用します。ホームページ(AIFFを含む)にlist of supported formatsがあります。

@Wolframと同様に、もちろんFFmpegを使用することもできます。 オーディオ変換のためのもう1つの素晴らしい外部ツールはSoXです。

+0

'soundfile'モジュールはAIFFファイルをサポートしていますが、.wavから.aiffへの変換方法はありません。私はとにかくSoXを使ってすべてをやるほうがいいと思う。 – fbid

+0

これは実際に変換を一段階で行う機能を提供していない。ただし、読み込み用にファイルを開いて、すべてのオーディオコンテンツを別の形式の新しいファイルに書き込むことは非常に簡単です。しかし、あるフォーマットから別のフォーマットに変換したいだけの場合は、おそらく外部ツールが理にかなっています。 – Matthias

関連する問題