在纯字符界面下听歌

利用 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. qt 安装包生成

    (Qt Installer Framework)程序简易打包教程 2017年06月19日 14:38:47 carman_风 阅读数:3559 标签: installerqt框架 更多 个人分类: 软 ...

  2. Python str byte 互相转换

  3. spring AOP自定义注解方式实现日志管理

    今天继续实现AOP,到这里我个人认为是最灵活,可扩展的方式了,就拿日志管理来说,用Spring AOP 自定义注解形式实现日志管理.废话不多说,直接开始!!! 关于配置我还是的再说一遍. 在appli ...

  4. 从数据库取出两个同样的字符串用equals比较返回false

    1. 从网上搜索原因,大概总结为三点 1.1 取数据的两个数据库编码不一样,需要统一编码 1.2 字符类型不一样,可能一个为nchar一个为varchar 1.3 从数据库取出的数据有空格,需要tri ...

  5. daily start

    2019/4/26 1. to summerize the merge experience, about makefile, about compile error analysis. 2. loo ...

  6. Java正则表达式草稿程序*2

    1.成绩统计. 输入文件input.txt: 张三 语文12 数学31 英语11 李四 语文22 数学22 英语22 王五 语文33 数学33 英语33 期待输出output.txt: 张三 语文12 ...

  7. Consul 介绍

    Consul 介绍 Consul是一个分布式.高可用性,在基础设施中发现和配置服务的工具. 主要功能 服务发现 通过DNS或HTTP接口使得消费者发现服务,应用程序可以轻松找到所依赖的服务. 健康检查 ...

  8. 【问题解决:信息提示】SpringBoot启动时提示The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

    问题描述 springboot程序在启动时提示信息 [2018-10-24 21:59:05.214] - 440 信息 [restartedMain] --- org.apache.catalina ...

  9. centos6.5换yum源

    centos换yum源要借助wget,要先安装wget 输入yum -y install wget命令以安装wget 若安装wget失败或卡死, ctrl+z,ps -ef | grep yum,之后 ...

  10. OceanBase 2.0让百万支付不是梦?

    小蚂蚁说: 你们都很关心的 “OB双11大促实战分享” 专题来啦!本系列将为你系统性的介绍OceanBase支撑蚂蚁双11背后的技术原理和实战分享.从平台到架构,再到实现,一起来探索蚂蚁双11这场神秘 ...