audio-converter について
audio-converterは、音声ファイルの変換に使うPythonライブラリとコマンドラインツールです。個別ファイルとディレクトリの一括処理に対応し、品質設定や音量正規化、可能な範囲でのメタデータ保持ができます。
主な機能
- 01MP3、WAV、FLAC、OGG、M4A/AAC、AIFFの変換
- 02ビットレート、サンプルレート、チャンネルの設定
- 03ディレクトリ内ファイルの一括処理
- 04音量正規化のオプション
- 05可能な範囲でメタデータをコピー
活用シーン
- 01WAV録音をMP3に変換
- 02ディレクトリ内の音声ファイルを一括変換
- 03形式に応じた出力品質の調整
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dkyazzentwatwa/ chatgpt-skills --skill audio-converterインストール後、Claude Code で/audio-converterを入力して読み込まれたか確認します。
同梱ファイルscripts/audio_converter.pyscripts/requirements.txt
詳細
オーディオコンバーター
品質設定を調整しながら、一般的な形式間でオーディオファイルを変換します。バッチ処理に対応しており、可能な場合はメタデータを保持します。
クイックスタート
from scripts.audio_converter import AudioConverter
# Simple conversion
converter = AudioConverter("input.wav")
converter.convert("output.mp3")
# With quality settings
converter = AudioConverter("input.flac")
converter.bitrate(320).sample_rate(44100).convert("output.mp3")
# Batch convert directory
AudioConverter.batch_convert("./input_folder", "./output_folder", format="mp3", bitrate=192)
機能
- 形式のサポート:MP3、WAV、FLAC、OGG、M4A/AAC、AIFF
- 品質の調整:ビットレート、サンプルレート、チャンネル数
- メタデータの保持:可能な場合はタグをコピー
- バッチ処理:ディレクトリ全体を変換
- ノーマライズ:オプションで音量をノーマライズ
API リファレンス
初期化
# From file
converter = AudioConverter("audio.wav")
設定
converter.bitrate(192) # kbps (for lossy formats)
converter.sample_rate(44100) # Hz
converter.channels(2) # 1=mono, 2=stereo
converter.normalize(True) # Normalize volume
変換
# Convert to format (inferred from extension)
converter.convert("output.mp3")
# Explicit format
converter.convert("output", format="mp3")
バッチ処理
# Convert all files in directory
AudioConverter.batch_convert(
input_dir="./wavs",
output_dir="./mp3s",
format="mp3",
bitrate=320
)
CLI の使用方法
# Simple conversion
python audio_converter.py --input song.wav --output song.mp3
# With quality settings
python audio_converter.py --input song.flac --output song.mp3 --bitrate 320 --sample-rate 44100
# Batch convert
python audio_converter.py --input-dir ./wavs --output-dir ./mp3s --format mp3 --bitrate 192
# Normalize during conversion
python audio_converter.py --input song.wav --output song.mp3 --normalize
CLI の引数
| 引数 | 説明 | デフォルト |
|---|---|---|
--input | 入力オーディオファイル | 必須 |
--output | 出力ファイルのパス | 必須 |
--input-dir | バッチ処理用の入力ディレクトリ | - |
--output-dir | バッチ処理用の出力ディレクトリ | - |
--format | 出力形式 | 拡張子から判定 |
--bitrate | ビットレート(kbps) | 192 |
--sample-rate | サンプルレート(Hz) | 元の値 |
--channels | チャンネル数 | 元の値 |
--normalize | 音量をノーマライズ | False |
対応形式
| 形式 | 拡張子 | 種類 | 備考 |
|---|---|---|---|
| MP3 | .mp3 | 非可逆 | 最も互換性が高い |
| WAV | .wav | 可逆 | ファイルサイズが大きい |
| FLAC | .flac | 可逆 | 圧縮された可逆形式 |
| OGG | .ogg | 非可逆 | オープン形式 |
| M4A | .m4a | 非可逆 | AAC コーデック |
| AIFF | .aiff | 可逆 | Apple の形式 |
例
WAV を MP3 に変換
converter = AudioConverter("recording.wav")
converter.bitrate(320).convert("recording.mp3")
FLAC を複数の形式に変換
source = AudioConverter("album.flac")
# High quality MP3
source.bitrate(320).convert("album_hq.mp3")
# Standard MP3
source.bitrate(192).convert("album_std.mp3")
# OGG for streaming
source.bitrate(128).convert("album.ogg")
ポッドキャスト用にバッチ変換
# Convert all WAV recordings to MP3 with podcast settings
AudioConverter.batch_convert(
input_dir="./raw_episodes",
output_dir="./episodes",
format="mp3",
bitrate=128,
sample_rate=44100,
channels=1 # Mono for podcasts
)
依存関係
pydub>=0.25.0
soundfile>=0.12.0
注:MP3/M4A に対応するには、システムに FFmpeg をインストールする必要があります。
制限事項
- MP3 および M4A 形式には FFmpeg が必要です
- メタデータの転送は、可能な範囲で行われます
- 形式の組み合わせによっては、すべてのタグを保持できない場合があります
コメント
Markdown 対応