在纯字符界面下听歌

利用 play 命令可以在命令行中播放音频文件,在纯字符界面下也没问题!

------------------------------------------------------------------------------------------- 
我们可以用 man 命令先查看一下 play 的手册页:“play 和 rec 命令分别用于播放和录制音频文件”

好,先来听一听 *.wav 格式的音频文件:

# play /usr/share/sounds/KDE_Startup.wav 
或者 
# play /usr/share/sounds/KDE_Startup_new.wav

这两个好像是KDE的登录音乐

------------------------------------------------------------------------------------------- 
但是现在播放 mp3 文件还是有问题,我们需要下载相关的编、解码器:

libmp3lame 和 libmp3lame-devel (这两个是编码器)

mad (这是解码器)

我们可以从 rpmfind.net 网站上搜索并下载这三个包;

我搜索并安装的是:(注:我的系统为 redhat AS4 ) 
libmp3lame-3.95.1-1.i386.rpm 
libmp3lame-devel-3.95.1-1.i386.rpm 
mad-0.14.2b-1.i386.rpm

安装之后就可以 play 命令播放 mp3 文件了!

但是用此命令播放的音乐效果比较差,只能凑合着听 :(

------------------------------------------------------------------------------------------- 
------------------------------------------------------------------------------------------- 
一个简单的 play 命令为什么就能播放音频文件呢?

我们可以看一下此命令的源代码:# vi /usr/bin/play

会发现它其实调用的是 sox 命令!

(看 man 手册页也会发现 play 和 rec 是 sox 命令的前端程序)

sox 是什么呢?它是一个功能强大的音频处理程序,可以用于播放、录制音频文件、转换音频格式、添加特殊音效;

------------------------------------------------------------------------------------------- 
sox 全称为:Sound eXchange

是一个命令行下的音频处理程序,可以用来将音频文件在各种不同的格式间相互转换,例如 mp3 转 wav,

或者 wav 转 mp3 等等;可以对音频文件长短进行裁剪;还可以为音频文件添加各种特殊音效。

sox 支持的音频格式有:

RAW sound data in various data styles 
RAW textual sound data 
Amiga 8svx files 
Apple/SGI AIFF files 
SUN .au files 
PCM, U-law, A-law, G7xx ADPCM files 
mutant DEC .au files 
NeXT .snd files 
AVR files 
CD-R data (music CD format) 
CVS and VMS files (continous variable slope) 
GSM raw data (with optional library) 
Macintosh HCOM files 
Amiga MAUD files 
MP3 files (with optional external library) 
Psion Record.app files 
IRCAM SoundFile files 
NIST SPHERE files 
Turtle beach SampleVision files 
Soundtool (DOS) files 
Yamaha TX-16W sampler files 
Sound Blaster .VOC files 
Dialogic/OKI ADPCM .VOX files 
Ogg Vorbis files 
Microsoft .WAV files 
PCM, U-law, A-law, MS ADPCM, IMA ADPCM, GSM (optional), RIFX (big endian) 
Psion (palmtop) A-law .WVE files 
Record and Play from OSS or ALSA /dev/dsp and Sun /dev/audio. 
nul file type that reads and writes from/to nothing.

对音频文件可设置的音效有:

Channel averaging, duplication, and removal 
Band-pass filter 
Band-reject filter 
Compress and Expand (compand) the dynamic range of samples 
Chorus effect 
DCShift audio 
Deemphases filter 
Move soundstage to front of listener. 
Add an echo or sequence of echos 
Fade in or out 
Apply a flanger effect 
Apply a high-pass filter 
Apply a low-pass filter 
Display a list of loops in a file 
Add masking noise to a signal 
Multi-band Compander 
Pan sound between channels 
Apply a phaser effect 
Change the pitch of a sound file without affecting its speed. 
Change sampling rates using several different algorithms. 
Repeat audio data 
Apply a reverb effect 
Reverse sound samples (to search for Satanic messages
Detect periods of silence and start and stop processing based on it 
Change the speed of samples being played (without affecting pitch) 
Display general stats on sound samples 
Stretch/shorten the duration of a sound file. 
Swap stereo channels 
Create sounds with a simple synthesizer 
Trim audio data from beginning and end of file. 
Add the world-famous Fender Vibro-Champ effect 
Adjust volume of samples.

在我们的 Linux 发行版中一般会默认安装了 sox 程序包,可以用 rpm -qa sox 查看;

如果没有安装,那么可以从 http://sox.sourceforge.net/ 网站下载最新的源码包:

sox-12.18.2.tar.gz

解压后编译安装即可;

------------------------------------------------------------------------------------------- 
下面我们举几个简单的例子,来看一下如何使用 sox 来处理音频文件:

(1) 转换音频格式:

# sox file.mp3 new.wav

(2) 查看音频文件的信息:

# sox file.mp3 -e stat

(3) 裁剪音频文件:

# sox file.mp3 new.mp3 trim 5 40 (注:选项 trim 用于裁剪文件)

执行此命令后生成的 new.mp3 文件是 file.mp3 文件的 5 秒至 40 秒之间的数据;

(4) 设置“淡入淡出”效果:

# sox file.mp3 faded.mp3 fade 5 240 5 (注:选项 fade 用于设置淡入淡出)

生成的 faded.mp3 的前 5 秒和最后 5 秒为渐强和减弱音;(240 是整个音频文件的播放时间)

(5) 设置“颤音”效果:

格式:sox file.mp3 new.mp3 vibro [speed] [depth] 
(注:speed 值应小于 30,depth 值应在 0.5 到 1 之间)

# sox file.mp3 new.mp3 vibro 10 0.5

自己听听效果吧

(6) 设置快速播放效果:

# sox file.mp3 new.mp3 speed 2 (注:选项 speed 用于设置加速效果)

生成的 new.mp3 的播放速度是原文件的 2 倍。

------------------------------------------------------------------------------------------- 
其他功能还有很多,我就不一一列举了。

详细内容可以参照 man 手册页:# man sox

虽然 play 命令可以在纯字符界面下播放音乐,但音效比较差,所以还是建议大家用 xmms 在图形界面下听吧

 
 
 

做一只勇往直前的小企鹅~~

命令行听歌http://www.linuxsir.org/bbs/thread280142.html?pageon=1#1584689的更多相关文章

  1. 如何用命令行执行loadrunner的脚本

    SET M_ROOT=D:\Mercury Interactive\Mercury LoadRunner\bin cd %M_ROOT% wlrun.exe -TestPath D:\ceshi10\ ...

  2. MellPlayer, 基于网易云歌单的命令行播放器

    MellPlayer 前言 我写代码时非常喜欢听音乐,最近在网易云歌单中听到了许多入耳惊艳的歌,觉得非常不错.但是歌单的随机播放以及快速切换是个软肋,于是开发了MellPlayer,可以按照分类随机听 ...

  3. Ubantu下面命令听歌(豆瓣fm)

    在Linux下一直是不太方便的事情,下面推荐一个方法: 终端中输入以下命令安装豆瓣fm: >> sudo pip install douban.fm >> sudo apt-g ...

  4. Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)

    8.1.常用命令 启动ZK服务 bin/zkServer.sh start 查看ZK服务状态 bin/zkServer.sh status 停止ZK服务 bin/zkServer.sh stop 重启 ...

  5. TensorFlow-谷歌深度学习库 命令行参数

    程序的入口: tf.app.run tf.app.run( main=None, argv=None ) 运行程序,可以提供'main'函数以及函数参数列表.处理flag解析然后执行main函数. 什 ...

  6. 从零开始,做一个NodeJS博客(三):API实现-加载网易云音乐听歌排行

    标签: NodeJS 0 研究了一天,翻遍了GitHub上各种网易云API库,也没有找到我想要的听歌排行API,可能这功能比较小众吧.但收获也不是没有,在 这里 明白了云音乐API加密的凶险,我等蒟蒻 ...

  7. 推荐一个高大上的网易云音乐命令行播放工具:musicbox

    网易云音乐上有很多适合程序猿的歌单,但是今天文章介绍的不是这些适合程序员工作时听的歌,而是一个用Python开发的开源播放器,专门适用于网易云音乐的播放.这个播放器的名称为MusicBox, 特色是用 ...

  8. 基于c开发的全命令行音频播放器

    cmus是一个内置了音频播放器的强大的音乐文件管理器.用它的基于ncurses的命令行界面,你可以浏览你的音乐库,并从播放列表或队列中播放音乐,这一切都是在命令行下. Linux上安装cmus 首先, ...

  9. 用其他音乐源帮帮网易云,Windows听歌利器

    镜像文章 1.用其他音乐源帮帮网易云,Ubuntu听歌利器 2.用其他音乐源帮帮网易云,Android听歌利器 只剩下Windows端了,一并送上. 1.Windows懒人版 1.1第一种懒人方法 下 ...

随机推荐

  1. 判断是否滚动加载结束 用一个公共变量isScroll来控制

    如果还没达到最大页数,isScroll就一直是不变,ajax正常进行.如果达到最大页数,就不执行ajax操作了...

  2. (转载)intellj idea 如何设置类头注释和方法注释

    原文地址:http://www.cnblogs.com/wvqusrtg/p/5459327.html           intellj idea的强大之处就不多说了,相信每个用过它的人都会体会到, ...

  3. Mac下编译android4.0.4遇到的问题

    这里总结下自己遇到的问题 jdk6安装,这个去苹果官网有 这里下载10.5的sdk https://github.com/phracker/MacOSX-SDKs/releases

  4. 重写select样式

    select {/*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/border: solid 1px #000; /*很关键:将默认的select选择框样式清除*/appeara ...

  5. Sitecore Aliases

    Sitecore别名 出于各种原因,有时您希望页面URL简短且易于记忆.例如,如果您在网站上运行任何广告系列或某些广告,则需要轻松记住该网址.在Sitecore中,有一种方法可以为名为Sitecore ...

  6. c++: internal compiler error: Killed

    原因:内存不足,SWAP不足 创建分区文件,大小 4G [root@dbmspreapp205 ~]# dd if=/dev/zero of=/data/swapfile bs=1k count=40 ...

  7. 获取从库Seconds_Behind_Master监控主从同步

    #!/bin/bash now_date=`date "+%Y-%m-%d,%H:%M:%S"` flag_old=`cat /home/oracle/scripts/flag.t ...

  8. C#使用NPOI导出Excel

    当记录数超出65536时,有两种方式处理: 一是调用WriteToDownLoad65536方法建立多个Excel. 二是调用WriteToDownLoad方法在同一个Excel中建多个Sheet. ...

  9. opencv学习之路(30)、分水岭算法及图像修补

    一.简介 二.分水岭算法 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat srcImg = ...

  10. Bugku-CTF之变量1

    Day9 变量1 http://123.206.87.240:8004/index1.php