やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

PythonでWAVをMP3に変換する方法を調べてみた

音声を扱うための環境構築が面倒すぎる。

問題

pythonでMP3を生成または変換ができない。WAVのみ可能

調査

予想

順にインストールしていくしかないのか?

  • pydubというPythonパッケージで変換できそう
    • ffmpegかlibavに依存している
      • コーデックに依存している

ソースコードを取得してコンパイルするようだ。コンパイルするのに必要な依存ライブラリやツールも必要になりそう。やりたくない。

FFmpeg

変換ツールと思われる。

コーデック調査

aacが最新の形式らしい。MP3の後継。

音声

規格 圧縮 ライセンス 補足
AAC 非可逆 MP3の後継規格。mov,mp4,m2ts,m4a,m4b,m4p,3gp,3g2,aac
MP3 非可逆 規格書は有料。2017年4月23日、MP3の基本特許を対象とするライセンスプログラムが終了した mp3
Ogg(Vorbis) 非可逆 なし MP3特許問題の代替として開発された
FLAC 可逆 修正版BSDライセンス 容量大だが無圧縮。flac
RTMP Adobe Flash Playerで使われている
AMR NTTドコモの携帯電話「FOMA 900i」シリーズで「着うた」として採用されているファイル形式

動画

規格 ライセンス 補足
V8 修正BSDライセンス オープンでロイヤリティフリー
V9 BSDライセンス V8の後継。
H.264 ライセンスあり 多数の特許権が含まれている
H.264 H.264の後継。 権利行使している複数の団体毎に特許使用料が必要

インストール対象の選別

  • 音声
    • AAC: libfaac, fdk-aac
    • MP3: libmp3lame
    • OGG: libtheora, libvorbis
  • 動画
    • libvpx (VP8 encoder/decoder)
    • libx264 (H.264 encoder)

なお、以下は不要と判断した。

  • libopencore-amr (AMR encoder/decoder)
  • librtmp (for additional RTMP protocols)

所感

一つずつやるしかない……。