The Linux Sound Playing HOWTO 中译版 <author>作者:Yoo C. Chung, <tt/wacko@laplace.snu.ac.kr/<newline> 译者: J.S. Lin, <tt/r6921068@ms.cc.ntu.edu.tw/</author> <date>v1.6, 11 August 1998</date> <abstract> 本文件列出 Linux 上播放各式声音格式的应用程式. </abstract> <toc> <sect>介绍</heading> <p> 这份文件是 Sound Playing HOWTO (如何播放声音). 它列出很多声音格式以及用来播放它们的应用程式. 它也列出一些使用在这程式应用程式的工作[hacks]和设备. 还有一些其他与声音有关,但与播放没有直接有关的应用程式. 然而,此文件就 <em/没有/ 描述如何架设支援声音的 Linux 系统. 请参考 Jeff Tranter 的 Linux Sound HOWTO, 取得安装支援声音的 Linux 系统之步骤以及所支援的硬体. 在这儿只处理正常使用者的声音应用程式.换话说, 它只关心一般使用者在声音的应用上所需要知道的事情, 而非奇特的要素像是语音合成,或在 Sound HOWTO 所处理的硬体要素. <sect1>本文件的版权</heading> <p> 只要版权宣告保留下,本文件是可以自由地散播与修改 (如果任何的修改都能通我的话,我会很感激的.) 然而,它不得被摆在任何更进一步的限制下, 而且,修改的文件必须是跟这篇一样的版权. 再者,作者及提供者的来源的附注也必须明确的指出. [Also, credit must be given where due.] <sect1>所列出应用程式的版权</heading> <p> 如果没有任何版权的提及, 那麽该应用程式是在 GNU General Public License 的保护下. <sect1>哪□可以取得本文件</heading> <p> 本文件最近的官方版本可取得在 <url name="Linux Documentation Project" url="http://sunsite.unc.edu/LDP/">. 本文件最近的非官方版本可取得在 <url url="http://laplace.snu.ac.kr/˜wacko/howto/">. 本文件(已经过时)的韩文版可取得在 <url url= "http://laplace.snu.ac.kr/˜wacko/howto/Sound-Playing-HOWTO.ks">. 本文件的日文版可取得在 <url url= "http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Sound-Playing-HOWTO.euc">. <sect1>回函</heading> <p> 我不是无所不知的,而且在此我并没有使用过所有这些应该程式 (有些甚至我还没试) 所以若有些错误是免不了的.再者程式通常持续在发展中, 因此,文件很容易就会过时. 因此,如果你发现任何错误,请来信给予指教. 建议或其他与本文件有关事情也都很欢迎. <sect1>感谢</heading> <p> 在这HOWTO文件中提及的所有应用程式作者,还有, 提供声音驱动程式的Hannu Savolainen , 及提供作业系统最根本的Linus Torvalds. 我还要感谢 Raymond Nijssen (<tt/raymond@es.ele.tue.nl/), Jeroen Rutten (<tt/jeroen@es.ele.tue.nl/), Antonio Perez (<tt/aperez@arrakis.es/), Ian Jackson (<tt/ijackson@gnu.org/), 以及 Peter Amstutz (<tt/amstpi@freenet.tlh.fl.us/) 所提供的资讯及协助. <sect>播放各种声音格式</heading> <p> 声音格式有很多种(WAV,MIDI, MPEG 等). 以下我们列出各种格式与可播放其格式的应用程式. <sect1><idx/MIDI/</heading> <p> MIDI 就是 Musical Instrument Device Interface的缩写. MIDI档案通常有延伸档名 <tt/.mid/. 它们包含编排的讯息, 也就是何时用什麽乐器以何种方式来播放...等的讯息. 根据你的硬体(也许与你用来播放的软体也有关), 播放出来的声音可能很震撼,也可能彻底令人失望. <sect2><cdx/adagio/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 此包装包含 <tt/mp/ (命令列下的MIDI档播放程式)和 <tt/xmp/ (XView 介面下的 MIDI 档播放程式), 不要与所谓的模组[module]播放程式混淆 <tt/xmp/). 你将需要 SlingShot 延伸来使用 <tt/xmp/). 它包含其他程式来播放<idx/Adagio scores/. <!-- 关於 Adagio scores 我知道的不是很多. --> 如果你有 GUS, <tt/mp/ 能够播放MOD档 ( 看章节 <ref id="sec-modules" name="Modules"> , 得到更多与模组有关的资讯). 有些扰人的臭□[bug](当 0.5 版在些硬体上)是声音中断在终端. 也就是,没有照原本 MIDI 档记录的中断声音方式, 而是中断播放音符在最後音符还有一段音程之前. 它已不阻止我使用 <tt/mp/, 它可能阻止某人使用它在 '即时'[real]工作. 它的安装也相对地较慢. 这包装中并没有提到版权(至少我没找到), 所以我假设它能够自由的再散布与修改. (藉由著作权法的严格解释, 没有东西可以给一个人有权利去做这样的事情, 但我有点疑惑这会是原作者的用意吗.) 它是由 Greg Lee 将 CMU MIDI Toolkit 移植到 Linux 的. (though there was enough added to make this questionable) (<tt/lee@uhunix.uhcc.hawaii.edu/). 它可以取於 <url url= "ftp://tsx-11.mit.edu/pub/linux/packages/sound/adagio05.tar.gz">. 这样所包含的二元档是以 a.out 格式 (连结到以前的程式函式库), 而在二元码的档 <tt/xmp/ 设定在 X11R6 环境 (XFree86 3.1.1, libc 4.7.2). <tt/mp/ 的二元码的档在 <tt/a.out/ 环境可以工作很好. 你将需要费点牛力来编译它. 事实上,那也不需要费太多力气啦. 你所要作的就是在 Makefile 内的 <tt/SHROBJ/ 和 <tt/XMPOBJ/ 的尾端加上 <tt/-lfl/. 这是连结到 <tt/flex/ 程式函式库, 其并不是预先就连结的.然後照安装步骤作.若你想编译 <tt/xmp/, 不要忘了要有安装 XView 和 SlingShot extensions . <sect2><idx/TiMidity/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 有些人建议这种 <em/实验性的/ 程式,因为有好的音质 (这是真的,在 Sound Blaster 16上,它比起 <tt/mp 好多了, 而且大概不会与具有波形合成器[wavetable]的音效卡像是 GUS 相差太多.) 然而它面临高 CPU 负载. 它播放 MIDI 是藉由将 MIDI 转换成 WAV, 然後再播放 WAV (你也能够转换 MIDI 档成 WAV 档,而不播放它, 如果你想要的话.) 这就是 CPU 如此重要的理由. 它也有可选择性的 ncurses, SLang, Tcl/Tk or Motif 介面. 你需要有 Gravis Ultrasound patch files 来使用这个程式. 检视 TiMidity 包含的 FAQ , 获取更多资讯. 作者是 Tuukka Toivonen (<tt/tt@cgs.fi/). 最新的 TiMidity 版本可取得在 <url name="TiMidity home page" url="http://www.cgs.fi/˜tt/timidity/">. 此首页也有连结到小程式库的地方含有 GUS patches. <sect2><cdx/playmidi/</heading> <!-- 大概没有过时 - 我使用它 --> <p> 这是一个 MIDI 播放程式,可用来播放 FM, GUS, 及外接 MIDI. 与其它 MIDI 播放程相较下,它应该有较快的安装时间. 它也能够播放 Creative Music Files 格式, Microsoft RIFF files格式, 以及从像 Ultima 7 游戏来的较大之档案. 它有 X 介面和 SVGA 介面. 它也有选项即时播放藉由追纵每个通道 [channel]的所有附注以及目前播放的时刻 (自动的被内含在 <tt/xplaymidi/ 和 <tt/splaymidi/). 你应该做以下动作 <tscreen> <verb> $ splaymidi foo.mid; stty sane </verb> </tscreen> 若你要使用 SVGA 介面时. 因为它不适当地重置[reset]终端 tty 模式. SVGA 介面在不久将来可能会被去除. 它的作者是 Nathan Laredo (<tt/laredo@gnu.org/ 或 <tt/laredo@ix.netcom.com/). 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tar.gz">. <sect1><idx/Modules/<label id="sec-modules"></heading> <p> Modules (在电脑音乐中)是数位音乐档, 由一组样本及序列资讯组成, 告知何时播放样本(乐器)在哪个轨调什麽音,可自由选择地表现效果, 举例像是 振动音[vibrato]. 它超越 MIDI 的好处是它几乎能包含任何声音(包括人类的语音). 另一好处是它在各平台上听起来都一样,因为取样是在模组中. 缺点是跟 MIDI 比起来档案较大.另一缺点是它没有真正的标准格式 (唯一的真正标准是 ProTracker,而又很多模组并不与其相容). 它起源在 Amiga. 最普通的格式是有副档名为 <tt/.mod/. 还有很多其它种副档名, 与它们所属的格式有关. <sect2><cdx/tracker/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 这是可携带程式(它已经被移植[port]到各种平台) 播放音轨[Soundtracker]和前轨[Protracker]音乐模组. 它使用 16 bit 的立体输出[stereo],而我认为音质很棒. 若你需要一个简单方式减少 CPU 负担,可使用 <tt/-mono/ 选项. 这是可作为礼物的[giftware]程式(引用自原作者). 作者为 Marc Espie (<tt/Marc.Espie@ens.fr/). 含 Makefile 档的版本已经用力转[tweaked]到 Linux, 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz">. <sect2><cdx/gmod/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 这是 Gravis Ultrasound 卡的音乐模组播放程式. 4/6/8 channel MOD, 8 channel 669, MultiTracker ScreamTracker III (S3M) 都是被支援的格式. 它要求 3.0 版以後的声音驱动程式. 而且当然是 GUS. 你可以需要修改核心来使音量控制成为你所要的. 这是 X 介面.它使用 QT toolkit (需要 0.99 版以後). 查询一下 <url name="QT toolkit homepage" url="http://www.troll.no/"> 取得更多有关 QT 的资讯. 这是可以自由的散布. 它是由 Hannu Savolainen 所作, 和目前维护是由 Andrew J. Robinson (<tt/robinson@cnj.digex.net/). 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod-3.1.tar.gz">. <sect2><idx/MikMod/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 这个可携带模组播放程式可以播放 XM, ULT, STM, S3M, MTM, MOD 和UNI 格式.( UNI 格式是被 MikMod 的内部格式.) 它有支援 尖啸声[zipped]的模组档. 它使用 16 bit 立体声音输出. 若你要减低 CPU 负担,可加上 <tt/-m/ 选项(单端输出). Unix 版本使用 ncurses 或 Tcl/Tk 作为其介面. 它可能使用成程式函式库[library],不仅是独立程式而已. 它的原始作者是 Jean-Paul Mikkers (<tt/mikmak@via.nl/). 它目前是由 Jake Stine (<tt/dracoirs@epix.net/)来维护. 这是共享软体, 如果你要使用在商业上,那麽你必须注册. 你也必须取得允许才可在商业上的再散布 (非商业上的再散布不需要取得允许). 这可以取得在 <url url="http://www.freenet.tlh.fl.us/˜amstpi/mikmod.html" name="MikMod home page">. <sect2><cdx/xmp/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 这是个 模组播放程式 (不要与 Adagio's <tt/xmp/ 混淆), 它可以播放 MOD, S3M, MTM, PTR, STM, 669, 和 XM 模组 (其他格式也被支援,但仍在实验阶段或未完成). 如果你有 具有波形合成器[wavetable synthesis]的音效卡 (GUS 或 SoundBloaster 32AWE), 那麽你可使用这类音效卡来降低 CPU 的负载. 它也支援压缩模组. <tt/xmp/ 的 X 前端程式也可以取得了. 作者是 Claudio Matsuoka (<tt/claudio@pos.inf.ufpr.br/) 和 Hipolito Carraro Jr. 这可取得在 <url name="xmp home page" url="http://xmp.home.ml.org/">. <sect2><cdx/s3mod/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 这程式播放 4/6/8 轨的模组和 Scream Tracker 3 模组. 它藉由内定的 22000 Hz 取样频率的使用 8 bit 单端输出[mono]. 你可以使用 <tt/-s/ 选项来驱动立体音[stereo], <tt/-b/ 来驱动 16 bit 输出, 和 <tt/-f/ 来设定取频率.然而,声音输出比 tracker 糟 (有点杂讯), 所以我建议使用 <tt/tracker/ 取代 <tt/s3mod/ 来播放原始 MOD 档 (除非你有不够力的机器).它相较於 tracker 有远小於 CPU 负载. 该版权为Daniel Marks 和 David Jeske (<tt/jeske@uiuc.edu/) 所有, 但你能对它做任何处理 (除了你不能宣称你所写外). 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/s3mod-v1.09.tar.gz">. <sect2><cdx/mod/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 这个 <em/beta/ 程式播放 MODs (15/31-乐器,到 32 种声音), MTMs, ULTs 和 S3Ms 在 Gravis Ultrasound 卡上.它也能用来包装模组, 若你有安装 <tt/gzip/, <tt/lharc/, <tt/unzip/, 和 <tt/unarj/ . 它不能播放 Powerpacked 模组或某些 Amiga 作曲者包装的模组 ["PACK" signature]. 这要求至少 3.0 版的声音驱动程式. 它在 2.90-2 版以前的声音驱动程式 <em/不会/ 正常工作. 文字介面要求 ncurses. 还有包含使用 Tcl/Tk 的 X 介面. 作者是 Mikael Nordqvist (<tt/mech@df.lth.se/ or <tt/d91mn@efd.lth.se/). 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz">. <sect2><cdx/nspmod/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 这是 <em/alpha/ 模组播放程式,它可以播放 MTM, S3M, 和 MOD 模组. 它是企图成为模组播放程式在音效卡上没有 DSP 下. (不要与 Creative Labs 公司宣称的 DSP 相混淆.) 它稍微占用 CPU 负担, 和 <tt/tracker/ 比较起来相似. <!-- 我希望我没有过分的注目有关 DSP 的部分. 而且我不确定 nspmod 有哪些好处胜过 tracker. --> 它有项特色是可让你自己想要的模组重覆[modules loop]. 重覆次数能够藉由使用 <tt/-l/ 选项来限制. 它只使用 8 bit 声音输出(当在 0.1 版时). 作者是 This was written by Toru Egashira (<tt/toru@jms.jeton.or.jp/). 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz">. <sect2><cdx/yampmod/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 这个 <em/alpha/ 程式是被设计使用最小 CPU 资源,来播放 4-channel 模组. 它 <em/不是/ 被设计产生高音质. 所以产生的唯一声音输出是 22 kHz 单端输出[mono]. 再者,这输出并未达它应有的清淅程度,表现出它是 alpha 版. 作者是 David Groves (<tt/djg@djghome.demon.co.uk/). 这可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz">. <sect1><idx/MPEG 音流/</heading> <p> MPEG 是标准解读在数位储存设备上之影像及相关声音编码. MPEG 通常就会联想到影像,而该标准的声音部分可被分开来使用. 该标准的声音部分定义成三种层次, layer I, II, 与 III. 能够解码较高层次的播放程式也能解码较低层次. (举例,layer III 的播放程式能够播放 layer II的档. 而 layer I MPEG 声音档通常有副档名 <tt/.mpg/ (所以若有一个档是这样的副档名,其不能被 MPEG 影像播放程式来播映, 它大概是音流[audio stream].), layer II 通常有副档名 <tt/.mp2/, 而 layer III 通常有副档名 <tt/.mp3/. 这种声音压缩非常好. 一个 2 megabytes 的 layer II MPEG 声音档大概能绷紧自一个 25 megabytes 的自然 PCM 取样档, 且保有一样的品质. <sect2><idx/mpg123/</heading> <!-- 大概过时 - 我使用它 --> <p> 这个 <em/beta/ 程式是播放 MPEG 音流很有效率, 它支援 layers I, II, and III.它是从很多原始程式所建立的程式码. 它可以直接播放及时的由 HTTP 读到的音流. (换句话说,某人可以直接透过全球资讯网来播放 MPEG 音流.) 主要作者是 Michael Hipp (<tt/Michael.Hipp@student.uni-tuebingen.de/). 它的未修改的形式可以免费的使用,散布於非商业用余. 包含免费软体的收录 (像 FTP 伺服器的 CD-ROM 档案资料拷贝[images] 明确地的允许. 它的最新版本可取於 <url name="mpg123 homepage" url="http://mpg.123.org/">. <sect2><cdx/maplay 1.2/</heading> <!-- 大概没有过时 - 我使用它 --> <p> 此 MPEG 声音流播放程式只支援 layer I 和 layer II 音流, 而缺少支援 layer III 音流. 在 Linux,它只支援 16 bit 的音效. 它很强烈要好的 CPU, 它花了 55% 的 CPU time 在 60MHz Pentium. 在 66MHz 486上,它的输出会令人无法忍受的,因为 CPU 无法赶上声音. 若这发生在你那,你设法播放以只用音流的单边播放 (使用 <tt/-l/ 或 <tt/-r/ 选项)取代内定的立体音质. 为了要顺利编译,在其档案中有些改变是需要的. 换句话说,你需要加以下几行到 <tt/configuration.sh/ 所起始的档案中. <tscreen> <verb> #! /bin/sh </verb> </tscreen> 作者是 Tobias Bading (<tt/bading@cs.tu-berlin.de/). <tt/maplay/ 1.2 可取於 <url url= "ftp://ftp.cs.tu-berlin.de/pub/misc/maplay1.2/maplay1_2.tar">. <sect2><cdx/maplay 1.3b/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 这是非官方版版本(换句话说,不是原作者所作的 <tt/maplay/ 1.2, 所以它能跑比较低 CPU 负载. 它主要藉由使用事实上工作在 SPARC 以外的其他平台上的 u-law output 来达成. 注意的是它内定使用 u-law output, 所以声音品质是比较差的. 此改修改版是 Orlando Andico 所作 (<tt/orly@gibson.eee.upd.edu.ph/). 这可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay-1.3b-Linux.tar.gz">. <sect2><cdx/maplay3/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 这播放程式是从 <tt/maplay/ 1.2 改编来的. 它加入支援 MPEG Layer 3 声音流.目前它似乎有些臭□在播放时 (你可以听到一些刺耳的杂讯). 你可以调整[twid.dle]选项来解决这个问题. 此修改版是 Timo Jantunen 所作. (<tt/timo.jantunen@hut.fi/ 或 <tt/jeti@cc.hut.fi/). 它是可以免费的使用,但用来赚钱则不被允许. 然而,我完全不确定这版权的有效性,因为原有的 <tt/maplay/ 是在 GNU General Public License 下,而 GNU General Public License 是不许改编版本能有不同的版权宣告. 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay3.tar.gz"> <sect2><cdx/splay/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 这 <em/beta/ 播放程式是另一个从 <tt/maplay/ 1.2 改编来的 (事实上,它是 <tt/maplay/ 1.2+ 所改编的. 而 <tt/maplay/ 1.2+ 是从 <tt/maplay/ 改编到 MS Windows 上唯一的版本.) 它加入支援 MPEG Layer 3 音流. 它也能够播放 WAV 档. 它还能够跨过 HTTP 连线接收来播放音流. <tt/splay/ 的另一项特色是它能被使用成一程式函数库 (在LGPL下), 所以它可以让其他程式使用. 它也设法改善表现,藉由使用绪[threading](如果你需要 <tt/pthread/ 来使用这个特色) 和一些协调整合[inline assembly]. <tt/splay/ 使用命令列介面和选择性的 X 介面 (它使用 QT). 若在编译後,它没有正常工作 (e.g. 它发生 segmentation faults), 试著不用绪来编译它. 作者是 Jung Woo-jae (<tt/jwj95@eve.kaist.ac.kr/). 它可取得在 <url name="splay's home page" url="http://adam.kaist.ac.kr/˜jwj95/">. <sect2><cdx/Sajber Jukebox/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 这个程式是 MPEG 图形介面的声音播放程式.它是建设在 <tt/splay/ 上, 它包含支援 MPEG audio layers 到 III. 它也能播放及时从 HTTP 上读取的 MPEG 声音流.它也很容易设定. 它使用 QT toolkit (至少 1.2版以上是需要的). 它也使用 LinuxThreads 程式函数库 (此二元码档只正常运作在 0.5版). 作者是 Joel Lindholm (<tt/wizball@kewl.campus.luth.se/). 最新版可取之於 <url url= "ftp://kewl.campus.luth.se/pub/jukebox">. <sect2><cdx/amp/</heading> <!-- 大概过时 - 我没有使用它 --> <p> 此 <em/beta/ MPEG 声音播放程式只支援 MPEG Layer 3 音流. 它能够直接播放在音效卡上,而且它能输出到自然的 PCM 或 WAV 档. 这也占相当大的 CPU 负载 (大约在 133MHz Pentium 上要 60% ). 作者是 Tomislav Uzelac (<tt/tuzelac@rasip.fer.hr/). 它可以免费的使用,散布, 只要它不要在未经允许下商业上贩售(虽然如此, 将其包含在含有免费软的 CD-ROM 上,明确的被允许的). 它可取於 <url url= "ftp://ftp.rasip.fer.hr/pub/mpeg/amp-0.7.3.tgz">. <sect2><cdx/XAudio/</heading> <!-- 大概过期了 - 我没有使用它 --> <p> 这个 <em/alpha/ 程式函式库是被写成快速完成 MPEG 音流解码程式函式库到各种 GUI 前端程式. 它支援 MPEG audio layers I, II, 和 III.它能够随机存取位元流[bitstreams]. 命令列介面被涵括进来. 而 Motif (Lesstif) 前端程式也被涵括在 Linux 的版本中. 这是由 Gilles Boccon-Gibod, Alain Jobart 和其他人所作的. 连接到此函式库的前端程式也可免费的下载. 而函式库本身必须要被授权使用 (原始码和二元码程式的授权是可以取得的). 连接到此函式库的前端程式可以取得在 <url url="http://www.mpeg.org/xaudio/" name="XAudio home page">. <sect2><idx>Layer 3 Shareware Encoder/Decoder</idx></heading> <!-- 大概没有过时 - 我没有使用它 --> <!-- 第一项的程式原始码无法取得. --> <p> 事实上,这是种转换器,它能转换 MPEG Layer 3 音流到 WAV, AIFF, SND, AIFC, 或是自然的 PCM 取样档. Linux版本并没有直接输出声音到音效卡上. 某人必须先将其转成其他格式. 然而,当你设法去播放使用 <tt/sox/ 的转换档,你大概将会有杂讯, 因为在 PCM取样上,字的顺序并不正确 (至少在 Intel 平台上是这样). 你必须给予 <tt/sox/ 这个选项 <tt/-x/ 来解决这个问题. 但有些播放程式无法被告知字顺序是错的,所以你可能不必去担心这个问题. 若你有比较快的电脑 (大概至少要 100Mhz Pentium), 那麽你能试试直接播放 MPEG Layer 3 音流, 而不需要先转成其他格式声音档,像以下例子(这例子假设你正使用 <tt/sox/ 且播放 44.1kHz 立体取样.) <tscreen> <verb> $ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 - </verb> </tscreen> <tt/-r/ 之後的数字是音流的取样率,而在 <tt/-c/ 之後数字则是与它是 mono 或 stereo (甚至或 quad)有关. 若这看起来太复杂,你能够使用像 shell script 或 alias 的东西. 这是共享软体,版权属於 Fraunhofer-IIS. 在 x86 系统的Linux上之展示版可取於 <url url="ftp://ftp.fhg.de/pub/layer3">. 展示版只能转换 layer III 音流. <sect2><idx/X11Amp/</heading> <!-- 大概过期了 - 我没有使用它 --> <p> 这个 <em/beta/ 软体是图形介面的 MPEG音流播放程式, <!-- supposedly --> 很像是 Windows 程式 <tt/winamp/. 没有看到任何的版权说明 (我假设它是可以供个人自由的使用). 它是由 Mikael Alm (<tt/psy@x11amp.bz.nu/), Thomas Nilsson (<tt/fatal@x11amp.bz.nu/), 和 Olle Hallnas (<tt/crocodile@x11amp.bz.nu/) 所维护. 它可以取得於 <url url="http://www.x11amp.bz.nu/" name="X11Amp's homepage">. 目前只有提供给 Intel Linux 和 FreeBSD 用的二元码档. <sect1><idx/WAV/</heading> <p> 从 <tt/sox/ 手册页上引述: <quote> 这出现非常相似 IFF档,但不完全一样. 它们是原生的 Windows 3.1 上音乐档. 明显地, Windows 3.1 是如此令人难以相信它的重要性, 对於电脑工业上,它明确的必须要有它自己拥有的声音格式. </quote> 它通常有副档名 <tt/.wav/. 也请看章节 <ref id="sec-sox" name="sox"> 和 <ref id="sec-bplay" name="bplay"> 以取得更多除了这样所列之外的 WAV 播放程式. <sect2><cdx/wavplay/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 这程式支援播放和录制 WAV 格式. 它使用锁定[locking]所以一次中只能有一声音被播放. 它的锁定能力也能够使用在分离於声音的播放能力. 除了 command-line 介面,它也有 Motif 介面,其可与 Lesstif 来配合使用. 原始作者是 Andre Fuechsel (<tt/af1@irz.inf.tu-dresden.de/), 但再被发展至成形的作者 Warren W. Gay (<tt/bx249@freenet.toronto.on.ca/ or <tt/wwg@ica.net/). 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay-1.0.tar.gz">. <sect1>其它东西</heading> <p> 这节列出播放声音格式的东西,其不值得各自独立成一节 (换句话说,唯一播放程式可取得的格式), 或是一个播放程式就能播放比较多的格式. <sect2><cdx/sox/<label id="sec-sox"></heading> <!-- 大概过时 - 我使用它 --> <p> 这程式事实上是个转换器,也就是它转换一种声音格式到另一种. 然而有些版本的 <tt/sox/, 当采用 <tt/play/, 来播放声音 ( 在 Sound HOWTO 中的 <tt/play/ 应用程式大概会参照到这). 它支援自然[raw]的 (没有标头的)二元吗及文字的资料, IRCAM Sound Files, Sound Blaster <tt/.voc/, SPARC <tt/.au/ (w/header), Mac HCOM, PC/DOS <tt/.sou/, Sndtool, 和 Sounder, NeXT <tt/.snd/, Windows 3.1 RIFF/WAV, Turtle Beach <tt/.smp/, CD-R, 以及 Apple/SGI AIFF 和 8SVX 格式. <!-- 很多这些格式我并没有处理的经验,我只是从它们的手册取出. --> 在1.3.6x kernels的某些地方, 你可能必须做一些改变在某个档中, 使得它能直接播放声音.换句话说,你必须改变 <tt/sbdsp.c/ 的 179 行,从 <tscreen> <verb> if (abuf_size < 4096 || abuf_size > 65536) { </verb> </tscreen> 变到 <tscreen> <verb> if (abuf_size < 1 || abuf_size > 65536) { </verb> </tscreen> 但然後再做一次.你可以不必这样做.这样做将不会断掉任何东西. <!-- 至少在 1.3.92 它可在没有修正下正常工作. --> 著作与版权属很多人, 而且可用在各种用途. 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/Lsox-linux.tar.gz">. 较近的版本是由 Chris Bagwell 所作 (tt/cbagwell@sprynet.com/) (建立在原始 <tt/sox/ 的最新 gamma 版本, 而且包含以上修正) 可取於 <url url= "http://home.sprynet.com/sprynet/cbagwell/projects.html">. 此外,这版支援 MS ADPCM 和 IMA ADPCM WAV formats.<nidx/ADPCM/ <sect2><cdx/bplay/<label id="sec-bplay"></heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 这是 <em/beta/ 程式可以播放自然的[raw]声音, WAV, and VOC 档. 它也可以录制这些档.它使用各种技巧以取得尽可能的最高速, 使得既使在慢机器上能让吾人尚可接受的执行. 其中一项技巧是要求安装的程式是setuid root. 偏执狂的希望使用这程式可以想去使用 Ian Jackson (<tt/ijackson@gnu.ai.mit.edu/)所做的 Debian package , 其关闭需要设 setuid bit 的这种特色. 作者为 David Monro (<tt/davidm@gh.cs.usyd.edu.au/). 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/bplay-0.96.tar.gz">. <sect2><idx/SIDPLAY/</heading> <!-- 也许过期 - 我没有使用它 --> <p> 这程式模拟 <idx/Commodore 64/ 的<idx/声音介面设备/晶片 [Sound Interface Device chip] (MOS 6581,一般叫它 SID) 和 微处理器单元 (<idx/MOS 6510/). 所以它可以载入与执行 C64 机械码的程式,它产生音乐或声音. 一般而言,这些是独立码和资料片断,它已经是从游戏和宣传程式抓取[ripped] 下来的,和已经被直接从 C64 转过来的. 它内定使用命令列介面. 也有 Tk 和 QT 介面可分别取得在主要的包装[package]内. 它是由 Michael Schwendt (<tt/sidplay@geocities.com/) 所维护. 它可以取得在 <url name="SIDPLAY's home page" url="http://www.geocities.com/SiliconValley/Lakes/5147/">. <sect2><idx/RealAudio Player/</heading> <!-- 也许过时 - 我没有使用它 --> <p> 这程式让你听到一种专有格式的声音,其能够即时跨过网际网路, 而不需要先下传整首声音档.它能够单独使用, 但它事实上是想要搭配浏览器(最清楚支援的是 Mosaic 和 Netscape)使用. 在没有 X 下,它不能使用(你不能用它来搭配文字操作模式下的 Lynx 使用). 然而,存在一种□试方法(hack)可以在文字模式的主控台下能够跑 RealAudio 播放程式. 它要有 X virtual frame buffer (Xvfb) server 才可以运作. 它可以取得在 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/traplayer-0.5.tar.gz">.<ncdx/traplayer/ 这程式是由 Progressive Networks, Inc. 所作. 它不可以再散布,修改...等. 看一下其版权,就会正确详尽知道你能做什麽. 它可以免费被取得在 <url name="RealAudio home page" url="http://www.realaudio.com/">. <sect2>cat</heading> <!-- 不会过时 - How can I possibly NOT use this? --> <p> 某人也许会想说 <tt/cat/ ,有点滥用的连结工具,是怎麽处理播放声音. 我将透通一个例子,来展示它的用途. <tscreen> <verb> $ cat sample.voc > /dev/dsp $ cat sample.wav > /dev/dsp $ cat sample.au > /dev/audio </verb> </tscreen> 处理一个 <tt/.au/ 档的 <tt/cat/ 到 <tt>/dev/audio</tt> 通常将会正常工作,而且若够幸运的使一个档(在你的平台上) 有正确的位元组顺序...等,使用 PCM 取样(像是 <tt/.wav/ or <tt/.voc/) 到 <tt>/dev/dsp</tt> 之声音档的 <tt/cat/ 甚至可能听起来正确. 那不是 <tt/cat/ 的完全没什用的用途.它可能是有用的,举例来说, 如果有一个声音档,而你的所有程式没有一个认得它,而你知道它使用 PCM 取样,那麽你也许能得到一个非常接近的想法在其听起来像是这种方式 (如果你很幸运的话). <sect>其他实用处理声音的应用工具</heading> <p> 这节并没有实际处理播放声音档的事.而是,收集一些处理声音的工具, 你将会发现蛮有用的. <sect1><cdx/volume/</heading> <!-- 大概没有过时 - 我使用它 --> <p> 这是一个简单命令列介面来控制音量(它还能做什麽?) 在包装中,它还有一个分开的程式,拥有 Tcl/Tk 介面, 来控制音量和播放 <tt/.au/ 声音档. 一个非常简单的 Tcl/Tk CD 播放程式也包含进去. 这是免费软体,是 Sam Lantinga 所写的. (<tt/slouken@cs.ucdavis.edu/). 它能取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/soundcard/volume-2.1.tar.gz">. <sect1><idx/Sound Studio/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 这是 Tcl/Tk 写的应用程式,可支援播放,录制, 以及编辑使用 <tt/sox/ 的数位声音.它在发行版本中就包含有 <tt/sox/ 避免相容性的问题. 作者为 Paul Sharpe and N. J. Bailey (<tt/N.J.Bailey@leeds.ac.uk/). 它可以免费使用及再散布,若你有寄张明信卡的话. <!-- 我不确定 N. J. Bailey 是目前的作者之一. (至少我知道他不是原始作者). --> 它可在 <url name="Sound Studio's home page" url= "http://www.elec-eng.leeds.ac.uk/staff/een6njb/Software/Studio/screens.html"> 找到. <sect1><idx/Tickle Music/</heading> <!-- 大概没有过时 - 我没有使用它 --> <p> 这 <em/beta/ Tcl/Tk 程式是一个音乐档浏览程式, 它允许你播放各种声音格式,只要你系统中有适当程式可以播放的. 内定的 <tt/gmod/ 是用来播放 MOD 档,及 <tt/mp/ 则是播放 MIDI 档 (你可以改变程式原始码来使用其他程式). 作者及版权归属是 Shannon Hendrix (<tt/shendrix@pcs.cnu.edu/ or <tt/shendrix@escape.widomaker.com/). 它可取於 <url url= "ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tmusic-1.0.tar.gz"> <sect>参考资料</heading> <p> <enum> <item>本文件中提到的应用程式所内附文件. <item>Linux Sound HOWTO文件. 它能在 <url name="Linux Documentation Project" url="http://sunsite.unc.edu/LDP/">找到. <item><url name="Linux MIDI and Sound Applications" url="http://www.bright.net/~dlphilp/linux_soundapps.html"> <item><url name="Programmer's Guide to OSS" url="http://www.4front-tech.com/pguide/"> <item><url name="SoX home page" url="http://www.spies.com/Sox/"> </enum> </article>