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>哪�堨i以取得本文件</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>