⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sound-playing-howto-2.html

📁 Linux初学者最好的老师就是howto了。相当于函数man。
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>The Linux Sound Playing HOWTO 中译版       : 播放各种声音格式</TITLE>
 <LINK HREF="Sound-Playing-HOWTO-3.html" REL=next>
 <LINK HREF="Sound-Playing-HOWTO-1.html" REL=previous>
 <LINK HREF="Sound-Playing-HOWTO.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="Sound-Playing-HOWTO-3.html">Next</A>
<A HREF="Sound-Playing-HOWTO-1.html">Previous</A>
<A HREF="Sound-Playing-HOWTO.html#toc2">Contents</A>
<HR>
<H2><A NAME="s2">2. 播放各种声音格式</A></H2>

<P>声音格式有很多种(WAV,MIDI, MPEG 等).
以下我们列出各种格式与可播放其格式的应用程式. 
<P>
<P>
<H2><A NAME="ss2.1">2.1 MIDI</A>
</H2>

<P>MIDI 就是 Musical Instrument Device Interface的缩写.
MIDI档案通常有延伸档名 <CODE>.mid</CODE>.  它们包含编排的讯息,
也就是何时用什麽乐器以何种方式来播放...等的讯息.
根据你的硬体(也许与你用来播放的软体也有关),
播放出来的声音可能很震撼,也可能彻底令人失望.     
<P>
<P>
<H3>adagio</H3>

<P>此包装包含 <CODE>mp</CODE> (命令列下的MIDI档播放程式)和 <CODE>xmp</CODE>
(XView 介面下的 MIDI 档播放程式),
不要与所谓的模组[module]播放程式混淆 <CODE>xmp</CODE>).
你将需要 SlingShot 延伸来使用 <CODE>xmp</CODE>).
它包含其他程式来播放Adagio scores.             
<P>
<P>如果你有 GUS, <CODE>mp</CODE> 能够播放MOD档
( 看章节 
<A HREF="#sec-modules">Modules</A> ,
得到更多与模组有关的资讯).           
<P>有些扰人的臭□[bug](当 0.5 版在些硬体上)是声音中断在终端.
也就是,没有照原本 MIDI 档记录的中断声音方式,
而是中断播放音符在最後音符还有一段音程之前.
它已不阻止我使用 <CODE>mp</CODE>, 它可能阻止某人使用它在 '即时'[real]工作.
它的安装也相对地较慢.  
<P>这包装中并没有提到版权(至少我没找到),
所以我假设它能够自由的再散布与修改. (藉由著作权法的严格解释,
没有东西可以给一个人有权利去做这样的事情,
但我有点疑惑这会是原作者的用意吗.)
<P>它是由 Greg Lee 将 CMU MIDI Toolkit 移植到 Linux 的.
(though there was enough added to make this questionable)
(<CODE>lee@uhunix.uhcc.hawaii.edu</CODE>).
<P>它可以取於 
<A HREF="ftp://tsx-11.mit.edu/pub/linux/packages/sound/adagio05.tar.gz">ftp://tsx-11.mit.edu/pub/linux/packages/sound/adagio05.tar.gz</A>.
这样所包含的二元档是以 a.out 格式 (连结到以前的程式函式库),
而在二元码的档 <CODE>xmp</CODE> 设定在 X11R6 环境 
(XFree86 3.1.1, libc 4.7.2).
<CODE>mp</CODE> 的二元码的档在 <CODE>a.out</CODE> 环境可以工作很好.
<P>你将需要费点牛力来编译它.
事实上,那也不需要费太多力气啦.
你所要作的就是在 Makefile 内的 <CODE>SHROBJ</CODE> 和 <CODE>XMPOBJ</CODE>
的尾端加上 <CODE>-lfl</CODE>. 这是连结到 <CODE>flex</CODE> 程式函式库,
其并不是预先就连结的.然後照安装步骤作.若你想编译 <CODE>xmp</CODE>,
不要忘了要有安装 XView 和 SlingShot extensions .         
<P>
<P>
<H3>TiMidity</H3>

<P>有些人建议这种 <EM>实验性的</EM> 程式,因为有好的音质
(这是真的,在 Sound Blaster 16上,它比起 <CODE>mp 好多了,
而且大概不会与具有波形合成器[wavetable]的音效卡像是 GUS 相差太多.)
然而它面临高 CPU 负载. 它播放 MIDI 是藉由将 MIDI 转换成 WAV,
然後再播放 WAV (你也能够转换 MIDI 档成 WAV 档,而不播放它,
如果你想要的话.) 这就是 CPU 如此重要的理由.
它也有可选择性的 ncurses, SLang, Tcl</CODE>Tk or Motif 介面.
<P>你需要有 Gravis Ultrasound patch files 来使用这个程式. 
检视 TiMidity 包含的 FAQ , 获取更多资讯. 
<P>作者是 Tuukka Toivonen (<CODE>tt@cgs.fi</CODE>).
<P>最新的 TiMidity 版本可取得在 
<A HREF="http://www.cgs.fi/~tt/timidity/">TiMidity home page</A>.  
此首页也有连结到小程式库的地方含有 GUS patches.
<P>
<P>
<H3>playmidi</H3>

<P>这是一个 MIDI 播放程式,可用来播放 FM, GUS, 及外接 MIDI.
与其它 MIDI 播放程相较下,它应该有较快的安装时间.
它也能够播放 Creative Music Files 格式, Microsoft RIFF files格式,
以及从像 Ultima 7 游戏来的较大之档案.
<P>它有 X 介面和 SVGA 介面. 它也有选项即时播放藉由追纵每个通道
[channel]的所有附注以及目前播放的时刻
(自动的被内含在 <CODE>xplaymidi</CODE> 和 <CODE>splaymidi</CODE>).
<P>你应该做以下动作           
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ splaymidi foo.mid; stty sane
              
</PRE>
</CODE></BLOCKQUOTE>
<P>若你要使用 SVGA 介面时. 因为它不适当地重置[reset]终端 tty 模式.
SVGA 介面在不久将来可能会被去除. 
<P>它的作者是 Nathan Laredo
(<CODE>laredo@gnu.org</CODE> 或 <CODE>laredo@ix.netcom.com</CODE>).
<P>它可取於 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tar.gz">ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tar.gz</A>.
<P>
<P>
<H2><A NAME="sec-modules"></A> <A NAME="ss2.2">2.2 Modules</A>
</H2>

<P>Modules (在电脑音乐中)是数位音乐档, 由一组样本及序列资讯组成,
告知何时播放样本(乐器)在哪个轨调什麽音,可自由选择地表现效果,
举例像是 振动音[vibrato].
<P>它超越 MIDI 的好处是它几乎能包含任何声音(包括人类的语音).
另一好处是它在各平台上听起来都一样,因为取样是在模组中.
缺点是跟 MIDI 比起来档案较大.另一缺点是它没有真正的标准格式
(唯一的真正标准是 ProTracker,而又很多模组并不与其相容).
它起源在 Amiga.
<P>最普通的格式是有副档名为 <CODE>.mod</CODE>. 还有很多其它种副档名,
与它们所属的格式有关. 
<P>
<P>
<H3>tracker</H3>

<P>这是可携带程式(它已经被移植[port]到各种平台)
播放音轨[Soundtracker]和前轨[Protracker]音乐模组.
它使用 16 bit 的立体输出[stereo],而我认为音质很棒.
若你需要一个简单方式减少 CPU 负担,可使用 <CODE>-mono</CODE> 选项.
<P>这是可作为礼物的[giftware]程式(引用自原作者).
作者为 Marc Espie (<CODE>Marc.Espie@ens.fr</CODE>).
<P>含 Makefile 档的版本已经用力转[tweaked]到 Linux,
它可取於 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz">ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz</A>.
<P>
<H3>gmod</H3>

<P>这是 Gravis Ultrasound 卡的音乐模组播放程式.
4/6/8 channel MOD, 8 channel 669, MultiTracker
ScreamTracker III (S3M) 都是被支援的格式.
<P>它要求 3.0 版以後的声音驱动程式.
而且当然是 GUS. 你可以需要修改核心来使音量控制成为你所要的.     
<P>这是 X 介面.它使用 QT toolkit (需要 0.99 版以後).
查询一下 
<A HREF="http://www.troll.no/">QT toolkit homepage</A>  取得更多有关
QT 的资讯.
<P>这是可以自由的散布. 它是由
Hannu Savolainen 所作, 和目前维护是由 Andrew
J. Robinson (<CODE>robinson@cnj.digex.net</CODE>).
<P>它可取於 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod-3.1.tar.gz">ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod-3.1.tar.gz</A>.
<P>
<P>
<H3>MikMod</H3>

<P>这个可携带模组播放程式可以播放 XM, ULT, STM, S3M, MTM,
MOD 和UNI 格式.( UNI 格式是被 MikMod 的内部格式.)
它有支援 尖啸声[zipped]的模组档. 它使用 16 bit 立体声音输出.
若你要减低 CPU 负担,可加上 <CODE>-m</CODE> 选项(单端输出).  
<P>Unix 版本使用 ncurses 或 Tcl/Tk 作为其介面.
它可能使用成程式函式库[library],不仅是独立程式而已.
<P>它的原始作者是 Jean-Paul Mikkers
(<CODE>mikmak@via.nl</CODE>).  它目前是由 Jake Stine
(<CODE>dracoirs@epix.net</CODE>)来维护.  这是共享软体,
如果你要使用在商业上,那麽你必须注册.
你也必须取得允许才可在商业上的再散布
(非商业上的再散布不需要取得允许).
<P>这可以取得在 
<A HREF="http://www.freenet.tlh.fl.us/~amstpi/mikmod.html">MikMod home page</A>.
<P>
<P>
<H3>xmp</H3>

<P>这是个 模组播放程式 (不要与 Adagio's <CODE>xmp</CODE> 混淆),
它可以播放  MOD, S3M, MTM, PTR, STM, 669, 和 XM 模组
(其他格式也被支援,但仍在实验阶段或未完成). 如果你有 
具有波形合成器[wavetable synthesis]的音效卡
(GUS 或 SoundBloaster 32AWE), 
那麽你可使用这类音效卡来降低 CPU 的负载.
它也支援压缩模组.
<P><CODE>xmp</CODE> 的 X 前端程式也可以取得了.
<P>作者是 Claudio Matsuoka
(<CODE>claudio@pos.inf.ufpr.br</CODE>) 和 Hipolito Carraro Jr. 
<P>这可取得在 
<A HREF="http://xmp.home.ml.org/">xmp home page</A>. 
<P>
<H3>s3mod</H3>

<P>这程式播放 4/6/8 轨的模组和 Scream Tracker 3 模组.
它藉由内定的 22000 Hz 取样频率的使用 8 bit 单端输出[mono].
你可以使用 <CODE>-s</CODE> 选项来驱动立体音[stereo],
<CODE>-b</CODE> 来驱动 16 bit 输出,
和 <CODE>-f</CODE> 来设定取频率.然而,声音输出比 tracker 糟 (有点杂讯),
所以我建议使用 <CODE>tracker</CODE> 取代 <CODE>s3mod</CODE> 来播放原始 MOD 档
(除非你有不够力的机器).它相较於 tracker 有远小於 CPU 负载.
<P>该版权为Daniel Marks 和 David Jeske
(<CODE>jeske@uiuc.edu</CODE>) 所有, 但你能对它做任何处理
(除了你不能宣称你所写外).
<P>它可取於 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/s3mod-v1.09.tar.gz">ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/s3mod-v1.09.tar.gz</A>.
<P>
<P>
<H3>mod</H3>

<P>这个 <EM>beta</EM> 程式播放 MODs (15/31-乐器,到 32 种声音),
MTMs, ULTs 和 S3Ms 在 Gravis Ultrasound 卡上.它也能用来包装模组,
若你有安装 <CODE>gzip</CODE>, <CODE>lharc</CODE>, <CODE>unzip</CODE>, 和 <CODE>unarj</CODE> .
它不能播放 Powerpacked 模组或某些 Amiga 作曲者包装的模组
["PACK" signature].
<P>这要求至少 3.0 版的声音驱动程式.
它在 2.90-2 版以前的声音驱动程式 <EM>不会</EM> 正常工作.
文字介面要求 ncurses. 还有包含使用 Tcl/Tk 的 X 介面.
<P>作者是 Mikael Nordqvist (<CODE>mech@df.lth.se</CODE> or
<CODE>d91mn@efd.lth.se</CODE>).
<P>它可取於 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz">ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz</A>.
<P>
<P>
<H3>nspmod</H3>

<P>这是 <EM>alpha</EM> 模组播放程式,它可以播放 MTM, S3M, 和 MOD 模组.
它是企图成为模组播放程式在音效卡上没有 DSP 下.
(不要与 Creative Labs 公司宣称的 DSP 相混淆.)
它稍微占用 CPU 负担, 和 <CODE>tracker</CODE> 比较起来相似.
<P>
<P>它有项特色是可让你自己想要的模组重覆[modules loop].
重覆次数能够藉由使用 <CODE>-l</CODE> 选项来限制.
它只使用 8 bit 声音输出(当在 0.1 版时).
<P>作者是 This was written by Toru Egashira
(<CODE>toru@jms.jeton.or.jp</CODE>).
<P>它可取於 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz">ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz</A>.
<P>
<P>
<H3>yampmod</H3>

<P>这个 <EM>alpha</EM> 程式是被设计使用最小 CPU 资源,来播放 4-channel 
模组. 它
<EM>不是</EM> 被设计产生高音质.
所以产生的唯一声音输出是 22 kHz 单端输出[mono].
再者,这输出并未达它应有的清淅程度,表现出它是 alpha 版.
<P>作者是 David Groves
(<CODE>djg@djghome.demon.co.uk</CODE>).
<P>这可取於 
<A HREF="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz">ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz</A>.
<P>
<P>
<H2><A NAME="ss2.3">2.3 MPEG 音流</A>
</H2>

<P>MPEG 是标准解读在数位储存设备上之影像及相关声音编码.
MPEG 通常就会联想到影像,而该标准的声音部分可被分开来使用.
该标准的声音部分定义成三种层次, layer I, II, 与 III.
能够解码较高层次的播放程式也能解码较低层次.
(举例,layer III 的播放程式能够播放 layer II的档.
而 layer I MPEG 声音档通常有副档名 <CODE>.mpg</CODE>
(所以若有一个档是这样的副档名,其不能被 MPEG 影像播放程式来播映,
它大概是音流[audio stream].), layer II
通常有副档名 <CODE>.mp2</CODE>, 而 layer III
通常有副档名 <CODE>.mp3</CODE>. 这种声音压缩非常好.
一个 2 megabytes 的 layer II MPEG
声音档大概能绷紧自一个 25 megabytes 的自然 PCM 取样档,
且保有一样的品质.                
<P>
<P>
<H3>mpg123</H3>

<P>这个 <EM>beta</EM> 程式是播放 MPEG 音流很有效率,
它支援 layers I, II, and III.它是从很多原始程式所建立的程式码.
它可以直接播放及时的由 HTTP 读到的音流.
(换句话说,某人可以直接透过全球资讯网来播放 MPEG 音流.)
<P>主要作者是 Michael Hipp
(<CODE>Michael.Hipp@student.uni-tuebingen.de</CODE>).
它的未修改的形式可以免费的使用,散布於非商业用余.
包含免费软体的收录 (像 FTP 伺服器的 CD-ROM 档案资料拷贝[images]
明确地的允许.                       
<P>它的最新版本可取於 
<A HREF="http://mpg.123.org/">mpg123 homepage</A>.
<P>
<P>
<H3>maplay 1.2</H3>

<P>此 MPEG 声音流播放程式只支援 layer I 和 layer II 音流,
而缺少支援 layer III 音流. 在 Linux,它只支援 16 bit 的音效.
<P>它很强烈要好的 CPU, 它花了 55% 的 CPU time 在 60MHz Pentium.
在 66MHz 486上,它的输出会令人无法忍受的,因为 CPU 无法赶上声音.
若这发生在你那,你设法播放以只用音流的单边播放
(使用 <CODE>-l</CODE> 或 <CODE>-r</CODE> 选项)取代内定的立体音质.
<P>为了要顺利编译,在其档案中有些改变是需要的.
换句话说,你需要加以下几行到 <CODE>configuration.sh</CODE>
所起始的档案中.
<P>
<BLOCKQUOTE><CODE>
<PRE>
#! /bin/sh
              
</PRE>
</CODE></BLOCKQUOTE>
<P>作者是 Tobias Bading (<CODE>bading@cs.tu-berlin.de</CODE>).
<CODE>maplay</CODE> 1.2 可取於  
<A HREF="ftp://ftp.cs.tu-berlin.de/pub/misc/maplay1.2/maplay1_2.tar">ftp://ftp.cs.tu-berlin.de/pub/misc/maplay1.2/maplay1_2.tar</A>.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -