在纯字符界面下听歌

利用 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. shmdt() 与 shmctl() 的区别?

    操作共享内存,我们用到了下面的函数 ============================================== #include <sys/types.h> #inclu ...

  2. nuxtjs中修改head及vuex的使用

    1.在之前vue项目中,我们如果需要改变每个页面的title,是需要在路由里配置meta然后通过路由守卫将每个页面的title替换掉,但是在nuxtjs中他提供了一个方法,直接在每个.vue的文件中使 ...

  3. make pycaffe时候报错:Makefile:501: recipe for target 'python/caffe/_caffe.so' failed

    安装caffe-ssd编译环境的时候报错: python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: No such file ...

  4. chm开源文档制作

    作为开发人员,API文档是非常关键的^_^,但是很多时候官方提供的文档是html的docs,不方便于携带查询,本章主要介绍chm文档的制作方法. 使用jd2chm制作chm文档 安装之前必须先安装 h ...

  5. MongoDB集群单mongos的问题总结

    问题发现 在使用过程中,通过spark访问集群的效率不是很令人满意,80核心同时运行的速度比单核心也就快了20倍左右,预测瓶颈在mongodb读写上.当然,此时没遇到其他问题暂时没进行问题梳理. 在数 ...

  6. vue条件语句v-if、v-else、v-else-if用法

    vue条件语句v-if.v-else.v-else-if用法 v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建.v-if 也是惰性的:如果在初始渲 ...

  7. nginx-负载均衡相关配置 第五章

    一.负载均衡: 通过反向代理客户端的请求到一个服务器群组,通过某种算法,将客户端的请求按照自定义的有规律的一种调度调度给后端服务器. Nginx的负载均衡使用upstream定义服务器组,后面跟着组名 ...

  8. JavaScript Dom 绑定事件

    JavaScript  Dom 绑定事件 // 先获取Dom对象,然后进行绑定 document.getElementById('xx').onclick document.getElementByI ...

  9. Vim Tricks

    Vim Tricks operations replace :$s/from/to/g 全文替换 :10,20s/from/to/g 从第10行开始,替换至第20行 :10,20s/from/to/g ...

  10. CSS粘住固定底部的5种方法

    本文主要介绍一个Footer元素如何粘住底部,使其无论内容多或者少,Footer元素始终紧靠在浏览器的底部.我们知道,当内容足够多可以撑开底部到达浏览器的底部,如果内容不够多,不足以撑开元素到达浏览器 ...