afconvertコマンド
2015年9月30日 (水) 14:49時点における126.213.4.201 (トーク)による版 (ページの作成:「{{小文字}} '''afconvertコマンド'''とは、Mac OS Xに搭載されているオーディオファイルを各種フォーマットに変換するコマンドであ...」)
afconvertコマンドとは、Mac OS Xに搭載されているオーディオファイルを各種フォーマットに変換するコマンドである。 語源は「Audio File Convert」とそのままである。
目次
概要
万能である。 しかしながら、この御時世に一般人がフォーマットを変換したい場面などほとんどないと思われる。
CoreAudioフォーマットに変換する
Xamarin.MacやXamarin.iOSなどでAVFoundationのAVAudioPlayerを使い効果音を多重再生したい場合はcafファイル(Apple CoreAudio フォーマット)を使う必要があるため、iOSアプリを作っているプログラマには必須コマンドとなっている。
出力ファイルを省略すると入力ファイルと同名の拡張子違いのファイルが生成される。
$ afconvert -f caff -d ima4 入力ファイル [出力ファイル]
複数ファイルを一括で変換する
findlコマンドとxargsコマンドで簡単に実現できる。 findコマンドの-print0とbargesコマンドの-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は桁違いに速いので余程巨大なファイルを大量に変換するのでなければほとんど一瞬で終わるので、キーボードを叩いている時間の方が長くなる恐れがある点に注意する必要がある。