Audio File Convert(afconvert)工具转换音频格式

陶鹏
2023-12-01
在做游戏音效的时候,通常会使用.wav格式的音频文件,但是Apple通常推荐我们使用.CAF格式的,同时也提供了afconvert工具可以方便我们对音频文件进行转换。
首先可以输入如下命令来查看支持哪些格式的音频。
afconvert -hf
或者
afconvert --help-formats

会得到如下信息,就是该工具所能支持的格式。

'3gpp' = 3GP Audio (.3gp)  
           data_formats: 'aac ' 'samr'   
'3gp2' = 3GPP-2 Audio (.3g2)  
           data_formats: 'aac ' 'samr'   
'adts' = AAC ADTS (.aac, .adts)  
           data_formats: 'aac ' 'aach'   
'ac-3' = AC3 (.ac3)  
           data_formats: 'ac-3'   
'AIFC' = AIFC (.aifc, .aiff, .aif)  
           data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 UI8 'ulaw'   
                         'alaw' 'MAC3' 'MAC6' 'ima4' 'QDMC' 'QDM2'   
                         'Qclp' 'agsm'   
'AIFF' = AIFF (.aiff, .aif)  
           data_formats: I8 BEI16 BEI24 BEI32   
'amrf' = AMR (.amr)  
           data_formats: 'samr'   
'caff' = Apple CAF (.caf)  
           data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp'   
                         'Qclq' 'aac ' 'aach' 'aacl' 'alac' 'alaw'   
                         'dvi8' 'ilbc' 'ima4' I8 BEI16 BEI24 BEI32   
                         BEF32 BEF64 LEI16 LEI24 LEI32 LEF32 LEF64   
                         'ms\x00\x02' 'ms\x00\x11' 'ms\x001' 'samr'   
                         'ulaw'   
'm4af' = Apple MPEG-4 Audio (.m4a)  
           data_formats: 'aac ' 'aach' 'aacl' 'alac'   
'MPG1' = MPEG Layer 1 (.mp1, .mpeg, .mpa)  
           data_formats: '.mp1'   
'MPG2' = MPEG Layer 2 (.mp2, .mpeg, .mpa)  
           data_formats: '.mp2'   
'MPG3' = MPEG Layer 3 (.mp3, .mpeg, .mpa)  
           data_formats: '.mp3'   
'mp4f' = MPEG-4 Audio (.mp4)  
           data_formats: 'aac ' 'aach' 'aacl'   
'NeXT' = NeXT/Sun (.snd, .au)  
           data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 'ulaw'   
'Sd2f' = Sound Designer II (.sd2)  
           data_formats: I8 BEI16 BEI24 BEI32   
'WAVE' = WAVE (.wav)  
           data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw'   
                         'alaw'

afconvert命令的格式如下:
afconvert [option...] input_file [output_file]
其中[option...]主要有以下几个操作:
-f 指定文件格式
-d 数据格式
-c 声道
比如命令:
afconvert -f caff -d 
LEI16@44100 -c 1 input.wav output.caf 
用于将input.wav转换为output.caf
其中-f指定文件格式为caff,即采用ima4压缩的.caf文件格式;
其中-d指定数据格式,
LEI16@44100则表示16位44100Hz;
其中-c就是声道数了。

下面是常用的两个命令:
//改变当前目录及子目录中所有.wav文件的数据格式为
LEI16@44100
$find . -name '*.wav' -exec afconvert -f WAVE -d 
LEI16@44100 -c 1 {} \;
//将.wav转换为.caf格式
$find . -name '*.wav' -exec afconvert -f caff -d 
LEI16@44100 {} \;

更多使用方法请输入“afconvert -h”。

 类似资料: