この記事は公開から1年以上経過しています。
過去のエントリ「音楽ファイルのフォーマットを一括変換する方法(FFmpeg)」では、コマンドから直接ffmpegを呼び出してmp3オーディオをwmaに一括変換するC#プログラムを作成しましたが、同様の変換をpythonのオーディオ操作ライブラリPydub
を使って行ってみました。
Pythonなら実質3〜4行…楽すぎます。
ちなみに本例ではmp3からwmaへの変換ですが、wavからmp3への変換にも利用できます。
サンプルソースコード(Python)
予めffmpeg
とpydub
をインストールしておく必要があります。
import glob
import os
import pydub
# 入力ディレクトリ
src_dir = '/path/to/input'
# 出力ディレクトリ
dst_dir = '/path/to/output'
# 入力ファイルフィルター
input_file_filter = '*.mp3'
# 出力ファイル拡張子
output_file_ext = 'wma'
# 出力ファイルオーディオフォーマット
output_file_format = 'asf'
for input_file_path in glob.glob(os.path.join(src_dir, input_file_filter)):
dst_file_path = os.path.join(
dst_dir, f'{os.path.splitext( os.path.basename(input_file_path))[0]}.{output_file_ext}')
sound = pydub.AudioSegment.from_file(input_file_path)
sound.export(dst_file_path, format=output_file_format)
説明
入力ディレクトリ内のMP3ファイルをWMAに変換して出力ディレクトリに出力します。
今回は個人的な用途でMP3からWMAへの変換を行っていますが、ffmpegが対応するオーディオ形式であれば別のフォーマットへの変換も可能です。
参考ウェブサイトなど
- Pydub
Manipulate audio with a simple and easy high level interface
以上です。