macOS——afconvert转换音频文件格式

160 阅读2分钟

前言

今天在苹果官方User Notificaions文档中看到afconvert可以转换音频格式,非常好用,就想记下来以免忘记。

使用方法

afconvert [option...] input_file [output_file]
    [option...]这个参数可以在文件参数的前面或者后面,
    如果输出文件没有指定命名,程序会自动给他起个名字,然后在同一目录下生成该文件。
    
afconvert input_file [-o output_file [option...]]...
    这个写法要主要注意[option...],这里的参数只作用于output_file,
    其他的option参数可以出现在其他任何位置。
    

比如说我将一个MP3文件转换成wav文件:

afconvert ~/Desktop/sound1.mp3 ~/Desktop/sound1.wav -d ulaw -f WAVE -v

-d:指定数据格式 -f:指定文件格式 -v:打印

音频格式对照

在afconvert里面能查到数据格式对应文件格式,我直接贴上来,省得下次找不到。

afconvert -hf
文件格式 = 文件名后缀
          数据格式

Audio file and data formats:
    '3gpp' = 3GP Audio (.3gp)
               data_formats: 'Qclp' 'aac ' 'aace' 'aacf' 'aacg' 'aach' 
                             'aacl' 'aacp' 'samr' 
    '3gp2' = 3GPP-2 Audio (.3g2)
               data_formats: 'Qclp' 'aac ' 'aace' 'aacf' 'aacg' 'aach' 
                             'aacl' 'aacp' 'samr' 
    'adts' = AAC ADTS (.aac, .adts)
               data_formats: 'aac ' 'aach' 'aacp' 
    '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' 'sawb' 
    'm4af' = Apple MPEG-4 Audio (.m4a, .m4r)
               data_formats: '.mp1' '.mp2' '.mp3' 'aac ' 'aace' 'aacf' 
                             'aacg' 'aach' 'aacl' 'aacp' 'ac-3' 'alac' 
                             'ec-3' 'flac' 'paac' 'pac3' 'pec3' 
    'm4bf' = Apple MPEG-4 AudioBooks (.m4b)
               data_formats: 'aac ' 'aace' 'aacf' 'aacg' 'aach' 'aacl' 
                             'aacp' 'paac' 
    'caff' = CAF (.caf)
               data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp' 
                             'Qclq' 'aac ' 'aace' 'aacf' 'aacg' 'aach' 
                             'aacl' 'aacp' 'ac-3' 'alac' 'alaw' 'dvi8' 
                             'ec-3' 'flac' 'ilbc' 'ima4' I8 BEI16 BEI24 
                             BEI32 BEF32 BEF64 LEI16 LEI24 LEI32 LEF32 
                             LEF64 'ms\x00\x02' 'ms\x00\x11' 'ms\x001' 
                             'opus' 'paac' 'pac3' 'pach' 'pacp' 'pec3' 
                             'pusa' 'qaac' 'qac3' 'qach' 'qacp' 'qec3' 
                             'qflc' 'qlac' 'qusa' 'samr' 'ulaw' 'usac' 
                             'zaac' 'zac3' 'zach' 'zacp' 'zec3' 'zlac' 
    'ec-3' = EC3 (.ec3)
               data_formats: 'ec-3' 
    'flac' = FLAC (.flac)
               data_formats: 'flac' 
    'loas' = LATM/LOAS (.loas, .latm, .xhe)
               data_formats: 'aac ' 'aace' 'aacf' 'aacg' 'aach' 'aacl' 
                             'aacp' 'usac' 
    '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: '.mp1' '.mp2' '.mp3' 'aac ' 'aace' 'aacf' 
                             'aacg' 'aach' 'aacl' 'aacp' 'ac-3' 'alac' 
                             'ec-3' 'flac' LEF32 BEF32 LEF64 BEF64 LEI32 
                             BEI32 UI0 UI0 UI0 UI0 'paac' 'pusa' 'qaac' 
                             'qac3' 'qec3' 'qflc' 'qlac' 'qusa' 'usac' 
    'NeXT' = NeXT/Sun (.snd, .au)
               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 'ulaw' 'alaw' 
    'Sd2f' = Sound Designer II (.sd2)
               data_formats: I8 BEI16 BEI24 BEI32 
    'WAVE' = WAVE (.wav)
               data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw' 
                             'alaw' 
    'BW64' = WAVE (BW64 for length over 4 GB) (.wav)
               data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw' 
                             'alaw' 
    'RF64' = WAVE (RF64 for length over 4 GB) (.wav)
               data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw' 
                             'alaw' 
    'W64f' = Wave64 (.w64)
               data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 'ulaw' 
                             'alaw'