手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

audioconvert(1)

名称

audioconvert - 转换音频文件格式

用法概要

audioconvert [-pF] [-f outfmt] [-o outfile] 
     [ [-i infmt] [file]...] ...

描述

audioconvert 用于在一组受支持的音频编码和文件格式之间转换音频数据。该命令可用于压缩和解压缩音频数据,向原始音频数据文件添加音频文件头,以及在标准数据编码(例如 -law 和线性 PCM)之间进行转换。

如果未提供文件名,audioconvert 将从标准输入流中读取数据,然后将音频文件写入标准输出。否则,将按顺序处理输入文件,进行串联,然后写入输出文件。

输入文件应包含用于识别音频数据格式的音频文件头。如果音频数据不包含可识别的文件头,则必须通过 –i 选项指定格式,使用 rateencodingchannels 关键字来识别输入数据格式。

输出文件格式是通过在 –f 规范中使用格式选项更新第一个输入文件的格式派生而来的。如果不指定 –p,所有后续的输入文件都将转换为所得到的这一格式,然后串联在一起。输出文件将包含音频文件头,除非在输出格式选项中指定了 format=raw

可以使用 –p 选项就地转换输入文件。当 –p 起作用时,可根据 –f 选项修改每个输入文件的格式以确定输出格式。然后,将使用转换后的数据覆盖现有文件。

file(1) 命令可解码和输出 Sun 音频文件的音频数据格式。

选项

支持以下选项:

–p

In Place:输入文件分别转换为 –f 选项所指定的格式,并进行重写。如果目标文件是符号链接,将重写底层文件。–o 选项不能与 –p 一起指定。

–F

Force:此选项可强制 audioconvert 忽略由 –i 选项指定了格式的输入文件的任何文件头。如果未指定 –Faudioconvert 将对包含有效音频文件头的输入文件忽略 –i 选项。

–f outfmt

Output Format:此选项用于指定输出文件的文件格式和数据编码。未指定的字段的缺省值派生自输入文件格式。下一部分列出了有效的关键字和值。

–o  outfile

Output File:所有输入文件将进行串联,转换为输出格式,然后写入所指定的输出文件。如果未指定 –o–p,串联的输出将写入标准输出。–p 选项不能与 –o 一起指定。

–i infmt

Input Format:此选项用于指定原始输入文件的数据编码。通常,输入数据格式派生自音频文件头。在转换开头没有有效音频文件头的音频数据时,需要使用此选项。如果为包含音频文件头的输入文件指定了 –i,将忽略输入格式字符串,除非指定了 –F 选项。格式规范语法与 –f 输出文件格式相同。

可以指定多个输入格式。输入格式规定所有输入文件都要遵守该规范,直到指定了新的输入格式。

file

File Specification:所指定的音频文件将进行串联,转换为输出格式,然后写出。如果未提供文件名,或者指定了特殊的文件名 '−',将从标准输入读取音频数据。

–?

Help:输出命令行用法消息。

格式规范

输入和输出格式规范的语法为:

keyword=value[,keyword=value  . . . ]

中间没有空格。可以在开头没有 keyword= 的情况下使用明确的值。

rate

音频抽样率以每秒的样例数进行指定。如果一个数字后面跟有字母 k,表示乘以 1000(例如 44.1k = 44100)。常用抽样率的标准有:8k、16k、32k、44.1k 和 48k。

channels

使用一个整数指定交错声道的数量。还可以使用 monostereo 这两个词来分别指定单声道和双声道数据。

encoding

此选项用于指定数字音频数据的表现形式。编码可隐式指定精度(ulaw 表示 8 位精度),或者在名称中显式指定精度(例如,linear16)。有效的编码值为:

ulaw

CCITT G.711 -law 编码。这是主要用于电话音质语音的 8 位格式。

alaw

CCITT G.711 A-law 编码。这是欧洲主要用于电话音质语音的 8 位格式。

linear8,
linear16,
linear32

线性脉冲编码调制 (Pulse Code Modulation, PCM) 编码。该名称可标识精度位数。linear16 通常用于高质量音频数据。

pcm

linear16

g721

CCITT G.721 压缩格式。此编码使用具有 4 位精度的自适应差分脉冲编码调制 (Adaptive Delta Pulse Code Modulation, ADPCM)。该编码主要用于压缩 -law 语音数据(可达到 2:1 的压缩率)。

g723

CCITT G.723 压缩格式。此编码使用具有 3 位精度的自适应差分脉冲编码调制 (Adaptive Delta Pulse Code Modulation, ADPCM)。该编码主要用于压缩 -law 语音数据(可达到 8:3 的压缩率)。音频质量类似于 G.721,但在用于非语音数据时质量较低。

还可以使用以下编码值作为速记方式来设置抽样率、声道和编码:

voice

等同于 encoding=ulaw,rate=8k,channels=mono

cd

等同于 encoding=linear16,rate=44.1k,channels=stereo

dat

等同于 encoding=linear16,rate=48k,channels=stereo

格式化

此选项用于指定音频文件格式。有效格式有:

sun

Sun 兼容文件格式(缺省)。

raw

在读取或写入原始音频数据(没有音频头)时可使用此格式;该格式也可以与 offset 结合使用以导入外来音频文件格式。

offset

(–i only) 指定字节偏移以定位音频数据的开始位置。此选项可用于导入包含无法识别的文件头的音频数据。

用法

当遇到的文件大于或等于 2 GB(231 字节)时,有关 audioconvert 行为的说明,请参见 largefile(5)

示例

示例 1 在存储语音数据之前进行录制和压缩

在将语音数据存储到文件中之前对其进行录制和压缩:

example% audiorecord | audioconvert -f g721 > mydata.au
示例 2 串联两个音频文件

串联两个 Sun 格式的音频文件(不管是何种数据格式),然后输出一个 8 位 ulaw、16 kHz、单声道文件:

example% audioconvert -f ulaw,rate=16k,mono -o outfile.au infile1 infile2
示例 3 将目录转换为 Sun 格式

将包含原始语音数据文件的目录就地转换为 Sun 格式(向每个文件添加文件头):

example% audioconvert -p -i voice -f sun *.au

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
体系结构
SPARC、x86
可用性
audio/audio-utilities
接口稳定性
Committed(已确定)

另请参见

audioplay(1)audiorecord(1)file(1)attributes(5)largefile(5)

附注

只需将声道相加,即可实施用于将多声道数据转换为单声道数据的算法。如果输入数据完全同相(如同单声道文件转换为立体声又转换回单声道的情况),得到的数据可能会有些失真。