普通にやろうとすると、soxでの変換になるが、soxはm4aのエンコーダを拡張子から解決できない。ffmpegで行うのが良い。
以下、同時変換用のpythonスクリプトの例を示す。日本語名を含むファイルが多数ある場合でも変換できるように書いた。
#!/usr/bin/env python
import os
import commands
import logging
import traceback
if __name__ == '__main__':
outputdir = os.path.abspath(“<path to output>”)
for root, dirs, files in os.walk('.'):
for f in files:
path = os.path.join(root, f)
base, ext = os.path.splitext(f)
outputpath = os.path.join(outputdir, base + ".wav")
if ext == '.m4a':
print 'converting %s to %s' % (path, outputpath)
status, output = commands.getstatusoutput('ffmpeg -i "%s" "%s"' % (path, outputpath))
if status:
logging.error (output)
<path to output>の部分は自分で設定すること。