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