afconvertコマンド

提供: MonoBook
ナビゲーションに移動 検索に移動

afconvertコマンドとは、Mac OS Xに搭載されているオーディオファイルを各種フォーマットに変換するコマンドである。 語源は「Audio File Convert」とそのままである。

概要[編集 | ソースを編集]

万能である。 しかしながら、この御時世に一般人がオーディオファイルのフォーマットを変換したい場面などほとんどないと思われる。 右を見てを左を見てもiTunesで全自動である。

CoreAudioフォーマットに変換する[編集 | ソースを編集]

Xamarin.MacXamarin.iOSなどでAVFoundationのAVAudioPlayerを使い効果音を多重再生したい場合はcafファイル(Apple CoreAudio フォーマット)を使う必要があるため、iOSアプリを作っているプログラマには必須コマンドとなっている。他の用途で使っている奴は見たことがないくらい、この用途でばかり使われている。

$ afconvert -f caff -d ima4 入力ファイル [出力ファイル]

出力ファイルを省略すると入力ファイルと同名の拡張子違いのファイルが生成される。

複数ファイルを一括で変換する[編集 | ソースを編集]

findコマンドxargsコマンドで簡単に実現できる。 findコマンドの-print0とxargsコマンドの-0は空白文字の処理に関するものなので絶対に省略してはならない。

$ find . -name "*.mp3" -print0 |xargs -0 -I {} afconvert -f caff -d ima4 {}

複数ファイルを並列で変換する[編集 | ソースを編集]

マルチコア全盛の御時世にxargsを使うのだから並列実行させよう。

$ find . -name "*.mp3" -print0 |xargs -0 -L 1 -P 8 -I {} afconvert -f caff -d ima4 {}

コア数の2倍くらいが一番パフォーマンスが出るようだ。 最近のPCは桁違いに速いので余程巨大なファイルを大量に変換するのでなければほとんど一瞬で終わるので、キーボードを叩いている時間の方が長くなる恐れがある点に注意する必要がある。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]