PythonのPydubを使ってmp3をwmaに一括変換する方法

この記事は公開から1年以上経過しています。

過去のエントリ「音楽ファイルのフォーマットを一括変換する方法(FFmpeg)」では、コマンドから直接ffmpegを呼び出してmp3オーディオをwmaに一括変換するC#プログラムを作成しましたが、同様の変換をpythonのオーディオ操作ライブラリPydubを使って行ってみました。

Pythonなら実質3〜4行…楽すぎます。

ちなみに本例ではmp3からwmaへの変換ですが、wavからmp3への変換にも利用できます。


サンプルソースコード(Python)

予めffmpegpydubをインストールしておく必要があります。

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

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする