Linux命令行下播放音乐SOX

筅森魡賤 提交于 2020-01-16 00:02:02

1.下载SOX

sox-14.4.1.tar.gz

2.安装sox文件

  1)解压  tar -zxvf sox-14.4.1.tar.gz

  2)进入sox14.4.1目录中执行./configure

  3)执行 make命令

  4)执行make install命令

3.播放音频文件

  paly qq.wav

4其他用法

play 杨望.wav mixer 0.3,0.5,0.8,0.6
上式采用了mixer效果器,它通过混合或者减少音轨从而减少音轨数,或者通过复制音轨而增加音
轨数。上面几个数字的意思是:0.3是从输入声道的左边到输出声道左边的音量值,0.5是从输入声
道的左边到输出声道右边的音量值,0.8是从输入声道的右边到输出声道左边的音量值,0.6是从输
入声道的右边到输出声道右边的音量值。用字母表示是:假设l是左,r是右,b是后面,f是前面,则
对于两声道是:l → l, l → r, r → l,r →r,意思是左-->左,左-->右,右-->左,右-->右。这是两
声道情况,四声道则是:首先四个数字给出左-前输出声道lf → lf, rf → lf,lb →  lf,随后是右-前声道rb  → lf;lf-->rf,lb-->rf,rf-->rf,rb-->rf;再随后是左-后声道输出lf-->lb,rf-->lb,
lb-->lb,rb-->lb;再次是右后声道输出lf-->rb,lb-->rb,rf-->rb,rb-->rb。这就是私生到的情
况。所以四声道的数字可达16个之多。

下面例子则应用了tempo(节拍)效果器:
play *.wav tempo -q 0.8 82 20  16

在上面例子中,0.8设置新节拍相对于老节拍的比率,82设置所选算法要划分音频的片段大小,单位
毫秒,20是音频长度,依靠它来搜索以寻找重叠点,16是重叠长度。

下面给出一个颤动(tremolo)效果器的例子:
play file.wav tremolo 3.5 60
3.5是颤音频率,,单位是赫兹Hz,60是深度百分比,具体来说就是"颤"到多长或深。

在电影中,有一种效果叫淡入淡出,在音乐中也有这种效果:
play file.wav fade t 00:00:100.09
上面例子中,fade是效果器名字,t是声波包络线形式,t是线性斜坡,选q则意味着是正弦波的四
分之一,h表示正弦波一半,l为对数,p为倒置抛物线。默认是线性斜坡。00:00:100.09是以hh:mm:
ss.fraq形式表示的时间,也可用采样数来算,如设为8000s则为8000个样本。

上面是淡入效果,那么要设置淡出效果又怎么办,再看下例:
play *.wav fade t 00:00:50.09 00:01:00 00:00:06

上例中t上面已讲,00:00:50.09是从0开始算起,到淡入结束所花费的时间;00:01:00是开始淡出的
时间点,00:00:06是开始淡出到结束所花费的时间。也就是说,从00:01:00开始淡出,花费6秒即00
:00:06的时间就结束了。上面的时间都可以选择以样本数量为单位,如上所述。

不知道大家有没有这样的感觉,就是有时候在用耳机听cd音乐时,耳朵时间长了会嗡嗡的响,感觉
音乐就象从耳朵扩散到外面一样,那是因为立体声效应,在SoX软件包内,有一过效果器可以消除这
种现象,它就是earwax,举个例子:

play file.mp3 earwax

就是这样简单,就可以消除立体声效应了。

有时候采样次寸小于24字节的话,会发生可听到的量化效应,应用dither(高频颤动)效果器可消除
这种现象,它实际是故意地在信号里加入白噪声,举例如下:

play file.wav dither 100

上式中100是抖动深度(depth)值。

在自然界中,回声处处可见,比如站在高山上,向周围的山喊话,就会引起回声,在喊和回声之间的
时间间隔就是延迟,它的响度就是衰减值,下面给出一个回响例子:

play file.xxx echo 0.8 0.88 60 0.4

上式听起来就象用两个乐器演奏同一个样本一样,0.8是输入音量,0.88是输出音量,60是延迟,单
位是毫秒,0.4是相对于输入音量的衰减值。

如果延迟时间变长,听起来更象在山顶上的露天演唱会:

play file.wav echo 0.8 0.88 1000 0.4

衰减值最好不要大于0.5,否则可能引起输出饱和。

假如延迟很短,听起来象(金属的)机器人的表演。

play file.wav 0.8 0.88 6 0.4

想要更多回响也可以实现:

play file.wav echo 0.8 0.9 1000 0.3 1800 0.25

如果是站在群山之间,还可能会引起连续回响,即回响本身有碰到邻近山峰,反弹回来,又弹回去,
这种效果就是回声,它是连续回响的意思,如果是单独应用一次回声,效果和回响是一样的,下面看
一个两次回声例子:

play file.wav echos 0.8 0.7 700 0.25 700 0.3

在上式中,echos就是回声效果器,应用这个效果器,回响将被弹回来两次,因为两次延迟时间相同,
都是700,这种回响叫对称回声,来一个不对称的回声:

play file.xxx echos 0.8 0.7 700 0.25 900 0.3

下面这个例子听起来就象在汽车里演奏一样:

play file.wav echos 0.8 0.7 40 0.25 63 0.3

上式由于延迟时间短,听起来感觉有点沉闷,不是吗?

在乐理中有和声这样一种效果,它指的是两个以上不同的音按一定的法则同时发声而构成的音响
组合。它包含:①和弦,是和声的基本素材,由3个或3个以上不同的音,根据三度叠置或其他方法
同时结合构成,这是和声的纵向结构。②和声进行,指各和弦的先后连接,这是和声的横向运动
。补充一句。和声有明显的浓,淡,厚,薄的色彩作用;还有构成分句,分乐段和终止乐曲的作
用。SoX中也有这样一种和声效果效果器,名字叫chorus,就是英文和声的意思,它工作起来就象
'echo'一样',有一短的延迟。但是延迟不连续.延迟变化用正弦或者三角函数调制过。调制深度
定义了延迟之前或之后的调制范围。因而延迟过的声音听起来忽快忽慢,这就是对原始文件得延
迟声音进行过调制,在和声里听起来人的声音好像有点变调,看下例:

play file.wav chorus 0.7 0.9 55 0.4 0.25 2 -t

上式中,55是延迟,0.4是衰减,0.25是调制速度,单位Hz,2是调制深度,典型的延迟在40毫秒(40ms)
到60毫秒(60ms),调制速度最好在0.25Hz附近,调制深度2毫秒左右(2ms)。-t使用三角函数调制,
上式延迟时间有点短,输出有点过载。再看一个两部和声例子:

play 杨望.wav chorus 0.6 0.9 50 0.4 0.25 2 -t 60 0.32  0.4  1.3 -s

上式中采用了-s,表示正弦波调制。

下面例子采用了三部和声:

play file.xxx chorus 0.5 0.9 50 0.4 0.25 2 -t 60 0.32 0.4 2.3 -t 40 0.3 0.3 1.3 -s

在看恐怖电影时,人在和鬼魂遇到之前,往往会放一些音乐来渲染一下,在SoX中也有类似的效果器
叫flanger,意思是翻边,或者回吹的意思。它将对等的两个声音混合在一起,但是其中一个时间上
有些延迟,并随着时间不断变化,但是变化小于20ms.听起来就象风吹过,速度变得忽快忽慢。fla-
nger广泛用在恐怖和灵魂音乐中,那样吉他频率听起来时快时慢。先看一个简单的例子:

play 杨望.wav flanger

仔细听经过正弦和三角波调制过得声音之间的不同:

默认正弦波调制,再仔细听经过正弦和三角波调制过得声音之间的不同:

play 杨望.wav flanger triangle

再来一个采用平方内插法的:

play 杨望.wav flanger quadratic

下面给出一个采用不同扫描波形状和不同内插法的例子:

play 杨望.wav flanger quadratic flanger lin flanger sine flanger triangle

最后给出一个全部参数的,并且对每一个参数给出解释:

play 杨望.wav flanger 8 5 90 90 8  triangle 80 quadratic

上式中,8代表基本延迟,范围在0 - 10之间,默认是0(单位毫秒ms).5代表附加扫描延迟,范围在0
- 10之间,默认是2(单位毫秒ms).90是再生百分率即是延迟信号反馈的百分率,范围在-95 - 95
之间,默认是0。第二个90是延迟信号和原始信号混合的百分比,范围在0-100之间,默认是71。8是
扫描频率,范围在0.1-10之间,默认是0.5。triangle采用三角波调制,可选sin即正弦波调制。80
是扫描波相位移动百分比,0 = 100 = 对每个频道同样相位,范围在0 - 100,默认是25。quadrat-ic平方内插法,可选线性内插法lin。实际当中用不着指定这么多参数,很多默认的。但是有特别
需要另当別论。

下面简单介绍另外一个效果器,余响reverb。余响(reverb)效果经常用在小演奏厅,那种场合人很
多,对声音反射到墙上形成干扰。reverb使得声音感觉就象在一个大演奏厅似的。你可以在浴室
或车上或健身馆里大喊一些话语,体验一下余响效果,你将听到话从墙上反射回来,举例如下:

play 杨望.wav reverb 1 600 180

上式中,1是输出音量,600是余响时间,180是延迟时间,延迟时间最好是余响时间的1/4到1/2。上
面只考虑了一面墙的情形,如果还要考虑在多加一面墙,上式应为:play 杨望.wav reverb 1 600 
180 200。以此类推。

在音乐处理过程中,经常要对声音进行移相处理,此时可用SoX中的phaser效果器进行处理,phaser
效果器就象flanger特效,但是用reverb替换echo,并做相序迁移。它支持多种乐器。看下例:

play file.wav phaser 0.8 0.74 3 0.4 0.5 -t

3是延迟时间,它必须小于5ms,0.4是衰减值,推荐小于0.5,0.5是扫描频率,必须小于2Hz,-t采用
三角调制,如果要采用正弦函数调制用-s。再听下面例子有什么不一样:

再听下面例子有什么不一样,看有什么在耳朵里弹跳:

play 杨望.wav phaser 0.6 0.66 3 0.6 2 -t

如果调制普通的声音则如下:

play file.wav phaser 0.89 0.85 1 0.24 2 -t

假如你要重复播放音频,那么可以通过repeat来干这事:

play file.wav repeat 2

表示重复播放音频两次,为0表示无限次。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!