Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57960
  • 博文数量: 30
  • 博客积分: 1211
  • 博客等级: 中尉
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 14:14
文章分类

全部博文(30)

文章存档

2011年(1)

2010年(22)

2009年(7)

我的朋友

分类: LINUX

2010-03-07 09:24:04

sox是一个强大的音频处理工具,Debian的sox包里包含几个有用工具,play,rec,sox,soxi。
play用于播放音频,可以播放一些常见格式的音频(mp3由于版权问题默认不支持)。最特别的地方是他可以播放原始音乐文件(raw),通过以下选项来控制播放参数:
-r 抽样数,单位赫兹
-c channels,通道数
-b 每个抽样的比特数
-e 指定音频文件的编码方式,可用的编码方式如下
signed-integer
unsigned-integer
floating-point
a-law
u-law, mu-law
oki-adpcm
ima-adpcm
ms-adpcm
gsm-full-rate
关于编码的说明见man play。

sox可以用于各种音频格式间的变化,最简单的如
sox music.wav music.raw去掉wave文件的头,只剩下原始音乐信息。
sox支持多种文件格式,原始音频文件格式包括.raw .f32 .f64 .s8 .s16 .s24 .s32 .u8 .u16 .u24等等,更多的文件格式见man soxformat。这些原始文件格式已经说明了上面提到的比特数,编码方式,例如.s16(等同于.sw),是指signed-integer,16比特。通道数如果不指定默认为1,抽样率默认为8kHz。
上例sox music.wav music.raw之所以可以不用指定参数,是因为wave文件头中已经包括了这些参数,可以用soxi music.wav来查看wave文件头中包含的信息。


Input File : 'stop.wav'

Channels : 2

Sample Rate : 44100

Precision : 16-bit

Duration : 00:03:48.38 = 10071407

samples = 17128.2 CDDA sectors

File Size : 40.3M

Bit Rate : 1.41M

Sample Encoding: 16-bit Signed Integer PCM

先记录这么多~~
阅读(3403) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~