跳过导航链接 | |
退出打印视图 | |
![]() |
手册页第 1 部分:用户命令 Oracle Solaris 11 Information Library (简体中文) |
- 转换音频文件格式
audioconvert [-pF] [-f outfmt] [-o outfile] [ [-i infmt] [file]...] ...
audioconvert 用于在一组受支持的音频编码和文件格式之间转换音频数据。该命令可用于压缩和解压缩音频数据,向原始音频数据文件添加音频文件头,以及在标准数据编码(例如 -law 和线性 PCM)之间进行转换。
如果未提供文件名,audioconvert 将从标准输入流中读取数据,然后将音频文件写入标准输出。否则,将按顺序处理输入文件,进行串联,然后写入输出文件。
输入文件应包含用于识别音频数据格式的音频文件头。如果音频数据不包含可识别的文件头,则必须通过 -i 选项指定格式,使用 rate、encoding 和 channels 关键字来识别输入数据格式。
输出文件格式是通过在 -f 规范中使用格式选项更新第一个输入文件的格式派生而来的。如果不指定 -p,所有后续的输入文件都将转换为所得到的这一格式,然后串联在一起。输出文件将包含音频文件头,除非在输出格式选项中指定了 format=raw。
可以使用 -p 选项就地转换输入文件。当 -p 起作用时,可根据 -f 选项修改每个输入文件的格式以确定输出格式。然后,将使用转换后的数据覆盖现有文件。
file(1) 命令可解码和输出 Sun 音频文件的音频数据格式。
支持下列选项:
In Place:输入文件分别转换为 -f 选项所指定的格式,并进行重写。如果目标文件是符号链接,将重写底层文件。-o 选项不能与 -p 一起指定。
Force:此选项可强制 audioconvert 忽略由 -i 选项指定了格式的输入文件的任何文件头。如果未指定 -F,audioconvert 将对包含有效音频文件头的输入文件忽略 -i 选项。
Output Format:此选项用于指定输出文件的文件格式和数据编码。未指定的字段的缺省值派生自输入文件格式。下一部分列出了有效的关键字和值。
Output File:所有输入文件将进行串联,转换为输出格式,然后写入所指定的输出文件。如果未指定 -o 和 -p,串联的输出将写入标准输出。-p 选项不能与 -o 一起指定。
Input Format:此选项用于指定原始输入文件的数据编码。通常,输入数据格式派生自音频文件头。在转换开头没有有效音频文件头的音频数据时,需要使用此选项。如果为包含音频文件头的输入文件指定了 -i,将忽略输入格式字符串,除非指定了 -F 选项。格式规范语法与 -f 输出文件格式相同。
可以指定多个输入格式。输入格式规定所有输入文件都要遵守该规范,直到指定了新的输入格式。
File Specification:所指定的音频文件将进行串联,转换为输出格式,然后写出。如果未提供文件名,或者指定了特殊的文件名 '-',将从标准输入读取音频数据。
Help:输出命令行用法消息。
输入和输出格式规范的语法为:
keyword=value[,keyword=value . . . ]
中间没有空格。可以在开头没有 keyword= 的情况下使用明确的值。
音频抽样率以每秒的样例数进行指定。如果一个数字后面跟有字母 k,表示乘以 1000(例如 44.1k = 44100)。常用抽样率的标准有:8k、16k、32k、44.1k 和 48k。
使用一个整数指定交错声道的数量。还可以使用 mono 和 stereo 这两个词来分别指定单声道和双声道数据。
此选项用于指定数字音频数据的表现形式。编码可隐式指定精度(ulaw 表示 8 位精度),或者在名称中显式指定精度(例如,linear16)。有效的编码值为:
CCITT G.711 -law 编码。这是主要用于电话音质语音的 8 位格式。
CCITT G.711 A-law 编码。这是欧洲主要用于电话音质语音的 8 位格式。
线性脉冲编码调制 (Pulse Code Modulation, PCM) 编码。该名称可标识精度位数。linear16 通常用于高质量音频数据。
同 linear16。
CCITT G.721 压缩格式。此编码使用具有 4 位精度的自适应差分脉冲编码调制 (Adaptive Delta Pulse Code Modulation, ADPCM)。该编码主要用于压缩 -law 语音数据(可达到 2:1 的压缩率)。
CCITT G.723 压缩格式。此编码使用具有 3 位精度的自适应差分脉冲编码调制 (Adaptive Delta Pulse Code Modulation, ADPCM)。该编码主要用于压缩 -law 语音数据(可达到 8:3 的压缩率)。音频质量类似于 G.721,但在用于非语音数据时质量较低。
还可以使用以下编码值作为速记方式来设置抽样率、声道和编码:
等同于 encoding=ulaw,rate=8k,channels=mono。
等同于 encoding=linear16,rate=44.1k,channels=stereo。
等同于 encoding=linear16,rate=48k,channels=stereo。
此选项用于指定音频文件格式。有效格式有:
Sun 兼容文件格式(缺省)。
在读取或写入原始音频数据(没有音频头)时可使用此格式;该格式也可以与 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):
|
audioplay(1)、audiorecord(1)、file(1)、attributes(5)、largefile(5)
只需将声道相加,即可实施用于将多声道数据转换为单声道数据的算法。如果输入数据完全同相(如同单声道文件转换为立体声又转换回单声道的情况),得到的数据可能会有些失真。