4Gオーバーの5.1ch PCMをaacに落とし込む方法

手元に転がってる 5.1ch で 5GB ぐらいある PCM ファイルの調理方法がようやく見つかったのでメモ。

よくある 2ch ステレオな PCM ファイルは

  1. sox で wav に変換
  2. lame で mp3 に変換
  3. mkvmerge で mux
  4. いただきます

という手順で料理できるわけながら、多チャンネル巨大PCMファイルの場合は

  • wav -> ファイルサイズ4GBの壁
  • mp3 -> 2ch(ステレオ)の壁

というのがあって食えなかった。

今日 neroAacEnc に -ignorelength なる「ヘッダのファイル長情報を無視するよ」オプションがある事&標準入出力でやり取りできることを知って、

> sox.exe -B -r48000 -t .raw -c 6 -b 16 -e signed-integer 1.pcm -t .wav - | neroAacEnc.exe -ignorelength -q 1.0 -if - -of 1.aac

で一気に 5.1ch PCM -> 5.1ch AAC に出来ましたとさ。万歳。

環境

sox 14.4.0
neroAacEnc 1.5.4.0

はまったー

sox 14.3.1 は PCM -> wav が途中で止まる謎現象にぶつかった。
最新の 14.4.0 ならfixされたのか無問題。