您的位置:首页 > 其它

MacOS中afconvert的使用(音频格式转换)

2016-10-20 00:00 453 查看
摘要: afconvert简介,并提供实例。

MacOS的强大一方面也在于其继承了众多实用工具,比如今天介绍的这个afconvert。

位置:/usr/bin/afconvert

用法:需要使用命令行操作,在终端cd到bin下即可使用

参数说明:

afconvert [option...] input_file [output_file]

Options may appear before or after the direct arguments. If output_file

is not specified, a name is generated programmatically and the file

is written into the same directory as input_file.

afconvert input_file [-o output_file [option...]]...

Output file options apply to the previous output_file. Other options

may appear anywhere.

General options:

{ -d | --data } data_format[@sample_rate][/format_flags][#frames_per_packet]

[-][BE|LE]{F|[U]I}{8|16|24|32|64} (PCM)

e.g. BEI16 F32@44100

or a data format appropriate to file format (see -hf)

format_flags: hex digits, e.g. '80'

Frames per packet can be specified for some encoders, e.g.: samr#12

A format of "0" specifies the same format as the source file,

with packets copied exactly.

A format of "N" specifies the destination format should be the

native format of the lossless encoded source file (alac, FLAC only)

{ -c | --channels } number_of_channels

add/remove channels without regard to order

{ -l | --channellayout } layout_tag

layout_tag: name of a constant from CoreAudioTypes.h

(prefix "kAudioChannelLayoutTag_" may be omitted)

if specified once, applies to output file; if twice, the first

applies to the input file, the second to the output file

{ -b | --bitrate } total_bit_rate_bps

e.g. 256000 will give you roughly:

for stereo source: 128000 bits per channel

for 5.1 source: 51000 bits per channel

(the .1 channel consumes few bits and can be discounted in the

total bit rate calculation)

{ -q | --quality } codec_quality

codec_quality: 0-127

{ -r | --src-quality } src_quality

src_quality (sample rate converter quality): 0-127 (default is 127)

{ --src-complexity } src_complexity

src_complexity (sample rate converter complexity): line, norm, bats

{ -s | --strategy } strategy

bitrate allocation strategy for encoding an audio track

0 for CBR, 1 for ABR, 2 for VBR_constrained, 3 for VBR

--prime-method method

decode priming method (see AudioConverter.h)

--prime-override samples_prime samples_remain

can be used to override the priming information stored in the source

file to the specified values. If -1 is specified for either, the value

in the file is used.

--no-filler

don't page-align audio data in the output file

--soundcheck-generate

analyze audio, add SoundCheck data to the output file

--media-kind "media kind string"

media kinds are: "Audio Ad", "Video Ad"

--anchor-loudness

set a single precision floating point value to

indicate the anchor loudness of the content in dB

--generate-hash

generate an SHA-1 hash of the input audio data and add it to the output file.

--codec-manuf codec_manuf

specify the codec with the specified 4-character component manufacturer

code

--dither algorithm

algorithm: 1-2

--mix

enable channel downmixing

{ -u | --userproperty } property value

set an arbitrary AudioConverter property to a given value

property is a four-character code; value can be a signed

32-bit integer or a single precision floating point value.

e.g. '-u vbrq <sound_quality>' sets the sound quality level

(<sound_quality>: 0-127)

May not be used in a transcoding situation.

-ud property value

identical to -u except only applies to a decoder. Fails if there is no

decoder.

-ue property value

identical to -u except only applies to an encoder. Fails if there is no

encoder.

Input file options:

--read-track track_index

For input files containing multiple tracks, the index (0..n-1)

of the track to read and convert.

--offset number_of_frames

the starting offset in the input file in frames. (The first frame is

frame zero.)

--soundcheck-read

read SoundCheck data from source file and set it on any destination

file(s) of appropriate filetype (.m4a, .caf).

--copy-hash

copy an SHA-1 hash chunk, if present, from the source file to the output file.

--gapless-before filename

file coming before the current input file of a gapless album

--gapless-after filename

file coming after the current input file of a gapless album

Output file options:

-o filename

specify an (additional) output file.

{ -f | --file } file_format

use -hf for a complete list of supported file/data formats

--condensed-framing field_size_in_bits

specify storage size in bits for externally framed packet sizes.

Supported value is 16 for aac in m4a file format.

Other options:

{ -v | --verbose }

print progress verbosely

{ -t | --tag }

If encoding to CAF, store the source file's format and name in a user

chunk. If decoding from CAF, use the destination format and filename

found in a user chunk.

{ --leaks }

run leaks at the end of the conversion

{ --profile }

collect and print performance information

关于file format(也就是支持转换的格式):

Audio file and data formats:

'3gpp' = 3GP Audio (.3gp)

data_formats: 'Qclp' 'aac ' 'aace' 'aacf' 'aach' 'aacl'

'aacp' 'samr'

'3gp2' = 3GPP-2 Audio (.3g2)

data_formats: 'Qclp' 'aac ' 'aace' 'aacf' '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: 'aac ' 'aace' 'aacf' 'aach' 'aacl' 'aacp'

'ac-3' 'alac' 'ec-3' 'paac' 'pac3' 'qec3'

'zec3'

'm4bf' = Apple MPEG-4 AudioBooks (.m4b)

data_formats: 'aac ' 'aace' 'aacf' 'aach' 'aacl' 'aacp'

'paac'

'caff' = CAF (.caf)

data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp'

'Qclq' 'aac ' 'aace' 'aacf' 'aach' 'aacl'

'aacp' 'ac-3' 'alac' 'alaw' 'dvi8' 'ec-3'

'ilbc' 'ima4' I8 BEI16 BEI24 BEI32 BEF32

BEF64 LEI16 LEI24 LEI32 LEF32 LEF64 'ms\x00\x02'

'ms\x00\x11' 'ms\x001' 'paac' 'pac3' 'pec3'

'qaac' 'qac3' 'qach' 'qacp' 'qec3' 'samr'

'ulaw' 'zaac' 'zac3' 'zach' 'zacp' 'zec3'

'ec-3' = EC3 (.ec3)

data_formats: 'ec-3'

'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 ' 'aace' 'aacf' 'aach' 'aacl' 'aacp'

'ac-3' 'ec-3' 'qec3' 'zec3'

'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'

以上介绍内容均来自help,这么多的参数该如何使用?对于一般人来说,只需要转换音乐,比如我们项目上需要将背景音乐转换成*.caf的格式,那么我们只需关心-f和-d两个参数。

-f指的是file format,也就是需要转换的目标格式,参考上述说明,caf文件的命令是-f caff

-d指的是data format,是数据格式的意思,对照上述说明,caf支持的数据格式很多,为了节省空间,我们使用“I8”,也就是-d I8,理解这些参数的含义需要一定的音乐知识背景,这里不赘述。

关于输出路径,如果不用-o制指定,则默认和输入文件在同一个目录,以下举例:

假设用户桌面上有音频文件music.mp3,路径为/Users/test/Desktop/music.mp3,需要转换成caf格式,采样32,速率44100,输出路径相同,则可以在终端输入:

afconvert -f caff -d LEI32@44100 "/Users/test/Desktop/music.mp3"

这样输出的就是按要求的音频文件了,很简单,也很方便。关于其他的参数,需要专业的音乐制作使用,一般不去动,不然不知道具体用处的话会对输出造成一定影响。如有问题,可留言探讨。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息