複数の wave ファイルを MP3/AAC に変換する Makefile
FFmpeg を使って wav ディレクトリにある wave ファイルを一括で MP3 に変換するため、次のような Makefile を書いた。
CONV = ffmpeg OPTS = -filter:a loudnorm -ab 64k SRCDIR = wav DESTDIR = mp3 SOURCES = $(wildcard $(SRCDIR)/*.wav) TARGETS = $(addprefix $(DESTDIR)/, $(notdir $(SOURCES:.wav=.mp3))) $(DESTDIR)/%.mp3: $(SRCDIR)/%.wav -mkdir -p $(DESTDIR) $(CONV) -i $< $(OPTS) $@ all: $(TARGETS) clean: -rm -f $(TARGETS)
変換時に -filter:a loudnorm オプションを付けて音量を自動的に揃えるようにしてある。
Ogg Vorbis にしたい場合は次のようにする。
CONV = ffmpeg OPTS = -filter:a loudnorm -codec:a libvorbis -qscale:a 1 SRCDIR = wav DESTDIR = oga SOURCES = $(wildcard $(SRCDIR)/*.wav) TARGETS = $(addprefix $(DESTDIR)/, $(notdir $(SOURCES:.wav=.oga))) $(DESTDIR)/%.oga: $(SRCDIR)/%.wav -mkdir -p $(DESTDIR) $(CONV) -i $< $(OPTS) $@ all: $(TARGETS) clean: -rm -f $(TARGETS)
AMラジオを圧縮するときのビットレート
AMラジオの音質は 32 kbps 相当と言われるが実際はどうだろう。
3種類のフォーマットで(サンプリング周波数は変えずに*1)ビットレートを変えて試してみた結果が次の通り。
形式 | ビットレート | 変換速度 | 聞こえ方 |
---|---|---|---|
MP3 | 64 kbps | 80x | 比較すると音質の低下がわかる程度 |
MP3 | 32 kbps | 110x | シャリシャリいう音が目立つ |
AAC | 64 kbps | 66x | 比較すると音質の低下がわかる程度 |
AAC | 32 kbps | 53x | MP3 32kよりは音質の低下が目立たない |
Ogg Vorbis | 58.1 kbps | 95x | 音質の低下は感じない |
ここで変換速度は10分の長さの音声を1分で変換できたときを 10x とする。数値が大きいほど速い。
また Ogg Vorbis は指定できる一番低い品質 (qscale=1) で十分な音質を得られたのでそれ以外試していない。
以上から Ogg Vorbis が音質・変換速度ともに良いので .oga が再生できる環境ならこの形式にすべきだろう。それ以外の環境では音質に違いがなく変換が速い 64 kbps の MP3 を選ぶ。
*1:ラジオをMP3で保存する | Round & Round The Ring I Go にあるように再生できない機器があるようなので