The Linux Sound Playing HOWTO Yoo C. Chung, wacko@laplace.snu.ac.kr v1.6, 11 August 1998 藤原輝嘉 fjwr@mtj.biglobe.ne.jp 16 August 1998 本文書では,Linux 上で各種フォーマットの音声ファイルを再生するためのア プリケーションを紹介します. 1. はじめに 本文書は Sound Playing HOWTO です.本文書は各種の音声フォーマットと, これらを再生できるアプリケーションを紹介します.これらのアプリケーショ ンを使う上でのアドバイスや動作させるために必要な修正も紹介します.また 再生には直接の関係はなくても,サウンド関係の便利なアプリケーションもい くつか紹介します.しかし,本文書では Linux システムでサウンドを利用す るための設定方法については説明しません.Linux でサウンドを使うための設 定方法及びサポートされているサウンド用ハードウェアに関する説明について は, Jeff Tranter 氏の書かれた Linux Sound HOWTO を参照してください. 本文書が扱うのは,普通のサウンド用アプリケーションです.つまり,一般的 なユーザがサウンド用アプリケーションについて知っておく必要があることだ けを対象にしています.音声解析のような特殊な用途や Sound HOWTO で説明 されるハードウェア関係の事柄については説明しません. 1.1. 本文書の著作権について この著作権表示の部分を変更しない限り,本文書は自由に配布・改変してかま いません(できれば改変を加えた場合には筆者に知らせてください).しかし, 新たに制限事項を加えてはいけませんし,文書に変更を加えた場合も本文書と 同じ配布条件にしなくてはいけません.また,クレジットは相応のものを記述 しなければなりません. 1.2. 本文書で紹介するアプリケーションの著作権 著作権について特に記述がない場合には,そのアプリケーションは GNU General Public License に従っているものとします. 1.3. 本文書の入手方法 本文書の最新の公式版は Linux Documentation Project ホームペー ジ で入手できます.非公式の最新版は で入手できます.本文書の韓国語 版(非常に古いです)は, で入手できます.本文書の日本語版は, で 入手できます. 1.4. フィードバック 私は何もかもを知っているわけではありませんし,文中で挙げている全てのア プリケーションを使っているわけでもありません(試したことさえないものも 少しあります)ので,おそらく間違いもあるかと思います.また,アプリケー ションは絶えず進歩していますから,文書の内容はどうしても古くなってしま います.ですから,もしあなたが誤りを見つけた場合には筆者までお知らせく ださい.本文書に対する意見や追加事項も歓迎します. 1.5. 謝辞 本 HOWTO で紹介したアプリケーション全ての作者の皆さん,素晴らしいサウ ンドドライバを書かれた Hannu Savolainen 氏,そして全ての土台となる OS を書かれた 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 が付いています.MIDI ファイルは,ど の楽器をいつ,どのように鳴らすかなどのシーケンス情報の形で保存されてい ます.再生される音楽は演奏するハードウェア(おそらく演奏するソフトウェ アにも)依存し,同じファイルでも素晴らしい音になったり,ひどい音になっ たりします. 2.1.1. adagio このパッケージには mp (コマンドライン操作の MIDI ファイルプレイヤー) と xmp (XView ベースのプレイヤー)が含まれています.xmp を使うためには SlingShot 拡張が必要です.このパッケージには Adagio 形式の楽譜を演奏す るプログラムも入っています. もしあなたが GUS を持っていれば,mp で MOD 形式のファイルも演奏できま す(MOD 形式についての詳細は ``module 形式'' の章を参照のこと). (一部のハードウェアで起こる,バージョン0.5の)ちょっと困ったバグは音が 最後で切れてしまうことです.つまり,MIDIファイルで指定されている通りに 曲が終わるのではなく,長い休止の後の最後の音を演奏する前に,休止の前の 音符で曲を終えてしまいます.私にとっては,このバグは mp を使うのをやめ るほどではありませんが,本格的に使う人にとってはそうはいかないかもしれ ません.このプログラムの起動は比較的遅めです. このパッケージには著作権表示が全くありません(少なくとも私は見つけられ ませんでした).ですから,私はこのパッケージは自由に配布・改変して良い ものだと考えています.(著作権法を厳密に解釈すれば,このようなことをす る権利は誰にも与えられないのですが,それは作者の意図とは違うと私は思っ ています.) このパッケージは Greg Lee 氏(lee@uhunix.uhcc.hawaii.edu)が CMU MIDI Toolkit を Linux へ移植したものです(ですが,そうとも言い切れなくなるく らい変更されています). このパッケージは で入手 することができます.パッケージに含まれているバイナリは a.out 版 (昔の ライブラリとリンクされている)であり,xmp の実行ファイルは X11R6 環 境(XFree86 3.1.1, libc 4.7.2) では Segmentation fault で終了してしまい ます.mp は,a.out 環境では正しく動くようです. 自分でコンパイルするには少しだけ改造が必要です.実際にはたいしたことで はありません.しなければならないのは Makefile の SHROBJ と XMPOBJ の定 義の最後の部分にそれぞれ -lfl を追加することだけです.これは,標準では リンクされない flex ライブラリをリンクさせるためです.それ以外はドキュ メントの指示通りにインストールしてください.もし xmp をコンパイルする なら XView と SlingShot 拡張をあらかじめインストールしておくことを忘れ ないでください. 2.1.2. TiMidity 開発途中の プログラムですが,音質が良いので,このプログラムを勧める人 もいます.(GUS 等の wavetable synthesis を持つサウンドカードではあまり 差は出ませんが,Sound Blaster 16 では mp よりもずっと良い音質です.)し かし,このプログラムは CPU を酷使します.このプログラムは,まず MIDI を WAV に変換し,それから WAV を演奏します(演奏せずに変換だけすること もできます).これが CPU への負荷が高い理由です. このプログラムは ncurses,SLang,Tcl/Tk,Motif のインタフェースも利用 できます. timidity を利用するためには Gravis Ultrasound パッチファイルが必要で す.ここで言うパッチとは diff コマンドで生成するパッチではなくて,楽器 等の音情報が入っているファイルのこと(*.pat)です.従ってサウンドカード の種類によらず,GUS パッチは必要となります.詳しくは,TiMidity に付属 する FAQ を参照してください. 作者は Tuukka Toivonen 氏(tt@cgs.fi)です. timidity の最新版は TiMidity のホームページ で入手できます.このページには,GUS パッチのライブラリへのリンクもあります. 2.1.3. playmidi これは FM, GUS, 外部 MIDI を使って MIDI ファイルを演奏するプレイヤーで す.他の MIDI プレイヤーより起動は速いようです.また,CMF 形式 (Creative Music Files),マイクロソフト RIFF 形式,さらに Ultima 7 のよ うなゲームに含まれている大量の MIDI アーカイブも演奏することができま す. playmidi には X 版と SVGA 版のインタフェースがあります.また,各チャン ネルの音符全てを追跡表示したり,現在の演奏時間を表示しながらリアルタイ ム演奏するオプション機能を持っています(xplaymidi と splaymidi には標準 で含まれています). SVGAインタフェースを使う場合には,以下のように実行しなければなりませ ん. $ splaymidi foo.mid; stty sane これは,端末の tty モードが正しくリセットされないからです.SVGA インタ フェースは近いうちになくなるかもしれません. 作者は Nathan Laredo 氏(laredo@gnu.org または laredo@ix.netcom.com)で す. playmidi は で入手することができます. 2.2. module 形式 (コンピュータ・ミュージックの世界では) module 形式というのはサンプリン グした音とシーケンス情報からなる音楽ファイルです.どのサンプル音(楽器) が,どのトラックに,どのピッチで,(オプションとして)どのような効果(ビ ブラート等)を加えて鳴らされるかをプレイヤーに指示します. MIDI 形式に対する優位性としては,(人間の声などを含む)どんな音でも利用 できる点があります.また,プラットフォームにかかわらずほぼ同じ音が鳴る という利点もあります.これは module 形式にはサンプリングした音が含まれ ているからです.欠点は MIDI と比較してファイルサイズが大きくなってしま うことです.もう一つの欠点として,きちんとした標準フォーマットがないと いう点もあります.(「本当の」標準形式は ProTracker のものだけなのです が,多くの module ファイルは ProTracker 形式と互換ではありません.)こ のファイル形式は元は Amiga で使われていたものです. 最も一般的なフォーマットのファイルは .mod という拡張子を持っています. これ以外にもそのファイルが準拠しているフォーマットに従って,いろいろな 拡張子が使われます. 2.2.1. tracker これは非常に移植性の高い(たくさんのプラットフォームへ移植されている)プ ログラムで,Soundtracker と Protracker の module ファイルを演奏できま す.16ビットのステレオ出力を用いており,音質は非常に良いです.もし,手 軽に CPU の負荷を減らしたいならば,-mono オプションを使うことができま す. これは(作者によれば) giftware プログラムです.作者は Marc Espie氏 (Marc.Espie@ens.fr)です. 既に Linux 用に Makefile を変更してあるものを から入手することができます. 2.2.2. gmod これは Gravis Ultrasound カード用の module プレイヤーです. 4/6/8 チャ ンネルの MOD 形式,8チャンネルの 669 形式,MultiTracker(MIM) 形式, UltraTracker (ULT) 形式,FastTracker (XM) 形式,ScreamTracker III (S3M)形式のフォーマットをそれぞれサポートしています. このプログラムはバージョン 3.0 以降のサウンドドライバを必要とします. また,当然ながら GUS も必要です.自由な音量調整をできるようにするため にはカーネルを少し変更する必要があるかもしれません. このプログラムには X 版のインタフェースが用意されています.これは,QT ツールキット(バージョン 0.99 以降が必要)を使うものです.QT ツールキッ トについての詳しい情報は,QT ツールキットホームページ を参照してください. このプログラムは自由に配布できます.オリジナルは Hannu Savolainen 氏が 書いたものですが,現在は Andrew J. Robinson 氏 (robinson@cnj.digex.net)がメンテナンスしています. このプログラムは, から入手できます. 2.2.3. MikMod これは,XM,ULT,STM,S3M,MTM,MOD,UNI形式の module ファイルを演奏す ることができる移植性の高いプレイヤーです.(UNI形式は MikMod が内部的に 使っているフォーマットです.) zip によって圧縮された module ファイルも サポートしています.出力は 16bit ステレオです.CPU への負荷を手軽に抑 える必要があるなら,-m オプションを指定してモノラル出力を使いましょ う. Unix 版は ncurses か Tck/TK のインタフェースを使います.また,独立のプ ログラムとしてだけではなく,ライブラリとしても利用できます. 元々の作者は Jean-Paul Mikkers 氏 (mikmak@via.nl)です.現在は Jake Stine 氏(dracoirs@epix.net)がメンテナンスしています.このプログラムは 商用利用の場合には登録が必要なシェアウェアです.また,商用目的で配布を 行なう場合にも許可が必要です(非商用の配布の場合には許可は不要です). このプログラムは MikMod ホームページ で入手できます. 2.2.4. xmp これは module 形式のプレイヤーで(Adagio パッケージに含まれる xmp と混 同しないでください),MOD, S3M, MTM, PTM, PTR, STM, 669, XM 各形式の module ファイルを演奏することができます(これ以外にもサポートされている フォーマットはありますが,まだ実験中かサポートが不完全です). wavetable synthesis のついているサウンドカード(GUS や SoundBlaster 32AWE)があれば,この機能を使って,CPU の負荷を小さくすることができま す.また,圧縮された module ファイルもサポートしています. xmp には X を用いたフロントエンドもあります. 作者は Claudio Matsuoka 氏(claudio@brasil.enemy.org) と H. Carraro Jr. 氏です. このプログラムは xmp ホームページ で入手する ことができます. 2.2.5. s3mod このプログラムは 4/6/8 トラックの MOD module ファイルと Scream Tracker 3 の module ファイルを演奏することができます.このプログラムはデフォル トではサンプリングレート 22kHz の 8bit モノラル出力を使用します.ステ レオ出力を使うためには -s オプション,16bit出力を得るためには -b オプ ションを,サンプリング周波数を設定するためには -f オプションを使用しま す.しかし,出力の音質は tracker よりも悪い(ノイズが乗ります)ので,普 通の MOD ファイルの出力には s3mod よりも tracker を使うことをお勧めし ます(マシンの性能が低くない限り).このプログラムは tracker よりもずっ と CPU への負荷は低いです. このプログラムは Daniel Marks 氏と David Jeske氏 (jeske@uiuc.edu) の著 作物ですが,(あなたがこのプログラムを作ったと主張するようなことをしな ければ)自由に扱ってかまいません. このプログラムは から入手できます. 2.2.6. mod このベータ版プログラムは Gravis Ultrasound カードを使って MOD (15/31 楽器,32声まで),MTM,ULT,S3M 形式のファイルを演奏することができま す.gzip,lharc, unzip,unarj がインストールされていれば,圧縮されて いる module ファイルを演奏することもできます. Powerpacked module ファ イルや一部の Amiga の作曲ソフトで圧縮された module ファイル(データの先 頭に "PACK" と書かれているもの)は演奏できません. このプログラムを使うには少なくともバージョン 3.0 以降のサウンドドライ バが必要です.バージョン 2.90-2 以前のサウンドドライバではうまく動きま せん.テキスト版のインタフェースを使うには ncurses が必要です. Tcl/Tkを使うX版のインタフェースもあります. 作者は Mikael Nordqvist 氏 (mech@df.lth.se あるいは d91mn@efd.lth.se)です. このプログラムは か ら入手することができます. 2.2.7. nspmod このアルファ版のプログラムは MTM,S3M,MOD形式の module ファイルを演奏 することができます.このプログラムは DSP(Creative Lab 社が DSP と読ん でいるものと混同しないでください)の無いサウンドカードを特に意識してい る module プレイヤーです.このプログラムは tracker 並に CPU への負荷が 高いです. このプログラムは module ファイルの繰り返し演奏機能を持っています.繰り 返し回数は -l オプションで指定することができます.現在(バージョン 0.1)は 8bit の出力のみ可能です. 作者は Toru Egashira 氏(toru@jms.jeton.or.jp)です. プログラムは から入手できます. 2.2.8. yampmod このアルファ版のプログラムは,最小の CPU 資源で 4チャンネルの module ファイルを演奏できるよう設計されています.高音質の演奏は目的ではありま せん.ですから,22kHz のモノラル出力だけが可能です.また,再生の音質も アルファ版の状態を反映していて,クリアではありません. 作者は David Groves 氏(djg@djghome.demon.co.uk)です. プログラムは から入手することができます. 2.3. MPEG 音声ストリーム MPEG は映像とそれに付随する音声をデジタル情報として保持するための符号 化の規格です.普通は MPEG と言えば映像のことですが,MPEG 規格の音声の 部分を映像とは別に利用することもできます.MPEG 規格では音声について3つ のレイヤーを定義しています(レイヤー I, II, III).数字の大きいレイヤー のファイルを展開できるプレイヤーは数字の小さいレイヤーのファイルも再生 できます(例えば,レイヤー III のプレイヤーはレイヤー II の音声ファイル を再生できます).レイヤー I の MPEG 音声には,動画の場合と同じ拡張子 .mpg が付いているのが一般的です.(ですから,拡張子が .mpg なのに MPEG の動画プレイヤーで表示できない場合は,たぶんレイヤー I の音声ストリー ムです).レイヤー II とレイヤー III の拡張子はそれぞれ .mp2 と .mp3 で す.また,MPEG の音声圧縮はかなり強力です. MPEGレイヤー II形式の 2MB の音声ファイルは,同程度の音質の非圧縮 PCM ファイル 25MB に相当しま す. 2.3.1. mpg123 このβ版のプログラムは,効率の良い MPEG 音声ストリームのプレイヤーで, レイヤー I, II, III をサポートしています.このプログラムはいろいろなソ ースから集められたコードを元にしています.このプレイヤーは,HTTP で読 み込んだストリームをリアルタイムで再生することができます. (つまり, ウェブ上で直接 MPEG 音声を再生することができます.) 主な作者は Michael Hipp 氏(Michael.Hipp@student.uni-tuebingen.de) で す.非商用目的の場合には,改変をしなければ自由に利用および配布すること ができます.(CD-ROM や FTP サーバ等の)フリーソフトウェアのコレクション に含めることは明示的に許可されています. 最新バージョンはmpg123 ホームページ で入手できま す. 2.3.2. maplay 1.2 この MPEG 音声ストリームプレイヤーはレイヤーIとIIのストリームしかサポ ートしておらず,レイヤーIIIはサポートされていません.16bit サウンドカ ードを載せた Linux システム上で利用できます. このプログラムは CPU への負荷がかなり高く,60MHz の Pentium では 55% もの CPU 時間を消費します.66MHz の 486 だと音声処理が間に合わず,聞く に耐えない演奏になってしまいます.このような状況になってしまったら,標 準のステレオ出力はあきらめて,オーディオ出力のどちらか片方だけを再生す ることにしてください(-l か -r オプションを使います.) このプログラムをコンパイルするためにはファイルの1つを少し変更する必要 があります.具体的には configuration.sh ファイルの先頭に以下の行を追加 します. #! /bin/sh 作者は Tobias Bading 氏(bading@cs.tu-berlin.de)です.maplay 1.2 は から入手 できます. 2.3.3. maplay 1.3b これは maplay 1.2 の非公式な(つまり元の作者によるものではない)修正版 で,ずっと低い CPU 負荷で動作するようにしたものです.これは SPARC 以外 のプラットホームでも u-law 出力を実際に動くようにすることで実現されて います.標準で u-law 出力を用いるため,音質は比較的低い点に注意してく ださい. 修正は Orlando Andico 氏(orly@gibson.eee.upd.edu.ph)によるものです. このプログラムは から入手できます. 2.3.4. maplay3 これも maplay 1.2 から派生したソフトウェアで,レイヤーIIIの音声ストリ ームのサポートが追加されています.現在は再生に問題があるようです (金切 り声のようなノイズが乗ります).これを避けるためにオプションを色々いじ らなければならないかもしれません. 修正は Timo Jantunen 氏(timo.jantunen@hut.fi あるいは jeti@cc.hut.fi)によるものです.利用は自由ですが,販売することは許され ていません.しかし,筆者はこの著作権表示の正当性に疑問を持っています. オリジナルの maplay は GNU General Public License に従っていますが,こ のライセンスにおいては,派生ソフトウェアが元のソフトウェアと異なる著作 権表示を持つことを認めていないからです. このプログラムは か ら入手できます. 2.3.5. splay これはさらに別の maplay 1.2のβ版派生ソフトウェアです(実際は MS Windows 専用の派生ソフトウェアである maplay 1.2+ から派生したもので す).これには MPEG レイヤーIIIの音声ストリーム再生機能が追加されてお り, WAV ファイルの演奏も可能です.また,HTTP 経由で受け取った音声スト リームを演奏することもできます. splay の他の特徴として,(LGPL の下で)ライブラリとして利用可能であるこ とが挙げられます.ですから,このライブラリは他のプログラムから利用する ことができます.また,インラインアセンブリとスレッドを利用することで性 能を向上させる試みがなされています(この機能を使うには pthread が必要と なります). splay にはコマンドラインインタフェースと,オプションの X インタフェー ス(QT ツールキットを利用)があります. コンパイルの後(Segmentation fault 等のエラーで)うまく動かない場合に は,スレッドを利用しない設定で再コンパイルしてみてください. 作者は Jung Woo-jae 氏(jwj95@eve.kaist.ac.kr)です. このプログラムは splay のホームページ から入手できます. 2.3.6. Sajber Jukebox このプログラムは GUI を持っている MPEG 音声プレイヤーです.これは splay をベースにしており,レイヤーIII までの MPEG 音声をサポートしてい ます.また,HTTP 経由で送られてくる MPEG 音声ストリームをリアルタイム で再生することができます.このプログラムの設定は簡単です. このプログラムは QT ツールキット を用いています(少なくともバージョン 1.2 が必要です).また,LinuxThreads ライブラリも用いています(パッケー ジに含まれる実行ファイルはバージョン 0.5 でしか動作しません). 作者は Joel Lindholm 氏(wizball@kewl.campus.luth.se)です. 最新バージョンは から入手でき ます. 2.3.7. amp これはレイヤーIII の MPEG 音声ストリームのみをサポートしたβ版のプレイ ヤーです.直接サウンドカードで再生させることと,非圧縮 PCM や WAV ファ イルへ出力することができます.CPUへの負荷は大きいです(133MHz の Pentium で約60%). 作者は Tomislav Uzelac 氏(tuzelac@rasip.fer.hr)です.許可無しに販売し ない限り(しかし,フリーソフトウェアを集めた CD-ROM に含めることは明示 的に許可されています),自由に利用および配布することができます. このプログラムは から 入手できます. 2.3.8. XAudio このα版のライブラリは,色々な GUI のフロントエンドから利用される高速 な MPEG 音声デコードライブラリの実装として作られました.このライブラリ は MPEG レイヤーI, II, III に対応しています.ビットストリームへのラン ダムアクセスも可能です.インタフェースはコマンドラインのものが付いてい ます.Linux 版には Motif(Lesstif)を使ったフロントエンドも付属していま す. このライブラリは Gilles Boccon-Gibod と Alain Jobart 等のメンバーが作 成したものです.ライブラリの各種フロントエンドは自由に入手することがで きます.ライブラリそのものを使用するにはライセンスが必要です(ソースラ イセンスとバイナリライセンスがあります). ライブラリのフロントエンドは XAudio ホームページ で入手することができます. 2.3.9. シェアウェアの レイヤーIII エンコーダ/デコーダ これはプレイヤーではなく,MPEG のレイヤーIII音声ストリームを WAV,AIFF, SND,AIFC,非圧縮 PCM 形式ファイルに変換するプログラムで す.Linux 版は音声を直接再生することができないので,音声をまず他のファ イル形式に変換してから再生しなければいけません. しかし,変換したファイルを sox を使って再生すると,(少なくとも Intel プラットホームでは) PCM サンプル音のワードオーダーが正しくないためにノ イズしか再生されません.これを避けるためには sox に -x オプションをつ けて実行する必要があります.しかし,ワードオーダーがおかしいことを教え てやる必要のないプレイヤーもあるので,この問題について心配する必要はな いかもしれません. 高速なコンピュータ上(少なくとも Pentium 100MHz 以上)では,以下の例のよ うにすれば レイヤーIII MPEG 音声ストリームを一度他のファイル形式に変換 することなく直接再生できるので試してみてください.(この例では sox を 使って 44.1kHz のステレオ音声を再生しているものとします.) $ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 - -r の後の数字では音声ストリームのサンプリングレート,-c の後の数字では モノラルかステレオ(あるいは4重音声)を指定します.この指定が面倒であれ ば,シェルスクリプトかエイリアスなどを利用すればいいでしょう. このプログラムは Fraunhofer-IIS 社の著作物であるシェアウェアです.x86 用 Linux 上で動作するデモ版は から入手 することができます.デモ版の制限はレイヤー III の音声ストリームしか変 換できないことです. 2.3.10. X11Amp この β版 のソフトウェアは, Windows の winamp に似た GUI を持つ MPEG 音声ストリームのプレイヤーです. 著作権表示はどこにもありません.(筆者は個人使用ならば自由に利用できる ものと考えています.)このプログラムは Mikael Alm 氏 (psy@x11amp.bz.nu), Thomas Nilsson 氏(fatal@x11amp.bz.nu), Olle Hallnas 氏 (crocodile@x11amp.bz.nu)がメンテナンスしています. このプログラムは X11Amp のホームページ から 入手できます.Intel 版 Linux と FreeBSD 用のバイナリはここから入手でき ます. 2.4. WAV sox のオンラインマニュアルより引用: このデータ形式はIFF形式ファイルに非常によく似ていますが,同 じものではありません.これは Windows 3.1 の基本サウンドファ イル形式です.Windows 3.1 はコンピュータ産業で非常に重要な位 置を占めているので,専用のサウンドファイル形式を持たなければ いけなかったのでしょう. WAV 形式のファイルは普通は拡張子 .wav を持っています. ここで挙げない WAV プレイヤーとして ``sox'' と ``bplay'' の章も見てく ださい. 2.4.1. wavplay このプログラムは WAV 形式のファイルの録音と再生をすることができます. このプログラムは同時に一つの音声しか再生されないようロッキングを行いま す.このロッキングの機能は,音声再生とは別に使うこともできます. コマンドラインのインタフェースに加えて,Motif のインタフェースも利用で きます.Motif は Lesstif で代用することもできます. このプログラムの元々の作者は Andre Fuechsel 氏 (af1@irz.inf.tu-dresden.de)ですが,Warren W. Gay 氏 (bx249@freenet.toronto.on.ca あるいは wwg@ica.net) によってほとんど書 き直されています. このプログラムは から入手できます. 2.5. その他のツールなど この章では(プレイヤーがたった1つしかない音声フォーマットなど)単独の章 にできない音声フォーマットのプレイヤーや,複数の音声フォーマットを扱え るプレイヤーについて説明します. 2.5.1. sox このプログラムは実はコンバータで,ある形式のサウンドファイルを他の形式 に変換するものです.しかし,一部のバージョンの sox は play の名前で起 動された場合には,サウンドを再生します.(Sound HOWTO に記述されている アプリケーション play とはたぶんこれのことです.)このプログラムは非圧 縮(ヘッダ無しの)バイナリ,textual data, IRCAM 音声ファイル, 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あたりのカーネルを使っている場合は,直接音声を再生でき るようにするために少し変更を行う必要があるかもしれません.その場合は sbdsp.c の179行目を if (abuf_size < 4096 || abuf_size > 65536) { から if (abuf_size < 1 || abuf_size > 65536) { とします.繰り返しますが,変更する必要はないかもしれません.しかし,変 更して問題が起こることもないと思います. このプログラムは多くの人達の著作物であり,任意の目的に利用できます. このプログラムは から入手できます. Chris Bagwell 氏 (cbagwell@sprynet.com) による更に新しいバージョン (オ リジナル sox の最新γバージョンを元にし,上記の修正も含んでいます)は から入手でき ます.このバージョンでは更に,MS ADPCM 形式と IMA ADPCM WAV 形式をサポ ートしています. 2.5.2. bplay これはβ版のプログラムで,raw audio,WAV,VOC 形式のファイルを再生及び 録音することができます.このプログラムは遅いマシンでも十分な速度が得ら れるよう,さまざまな高速化の技術を用いています.このような高速化技術の うちの1つは root に setuid してインストールすることを要求します.これ がとても気になる人は,Ian Jackson 氏(ijackson@gnu.ai.mit.edu) のまとめ ている Debian パッケージを使うと良いかもしれません.このパッケージで は,setuid を必要とする機能を使えなくしています. 作者は David Monro 氏(davidm@gh.cs.usyd.edu.au)です. このプログラムは から入手することができます. 2.5.3. SIDPLAY このプログラムはコモドール64の Sound Interface Device(MOS 6581, 一般に SID と呼ばれます)チップと MPU(MOS 6510)をエミュレートします.従って, このプログラムで音楽や効果音を出すコモドール64用のプログラムを実行する ことができます.一般的には,これらはゲームやデモのプログラムから取り出 されたコードとデータの独立した集まりで,コモドール64 から直接転送され ます. デフォルトではコマンドラインのインタフェースを使うようになっています. パッケージ本体とは別に Tk や QT のインタフェースも利用できます. このプログラムは Michael Schwendt 氏(sidplay@geocities.com)が管理して います. このプログラムは SIDPLAY のホームページ で入手することが できます. 2.5.4. RealAudio Player これは,専用のフォーマットを用い,最初に音声ファイル全体をダウンロード することなく,インターネット上でリアルタイムの音声再生を実現します.ス タンドアロンでも使うことができますが,ウェブブラウザとともに使うことが 主目的です(Mosaic と Netscape で公式にサポートされています).X 無しで は利用できません(コンソールで Lynx と一緒に使うことはできないでしょ う). しかし,コンソールから RealAudio Player を実行する方法も存在します.こ れには X の仮想フレームバッファ(Xvfb)サーバが動作していることが必要で す.実行を可能にするプログラムは から入手できます. RealAudio Player は Progressive Networks, Inc. 社の製品で,再配布や改 変などはできません.利用範囲についての詳細はライセンスを参照してくださ い.RealAudio home page で登録すれば,無料 で入手できます. 2.5.5. cat cat はファイル連結のためのユーティリティとしてばかり使われがちですが, サウンド再生のためのツールとしても利用できます.使い方を例で示しましょ う. $ cat sample.voc > /dev/dsp $ cat sample.wav > /dev/dsp $ cat sample.au > /dev/audio cat で .au 形式のファイルを /dev/audio に送ると普通はきちんと再生でき ます.もしファイルが(あなたのプラットホームに対して) たまたまバイトオ ーダなどが正しければ,cat で PCM 音声(.wav, .voc など)を /dev/dspに 送ってもうまく再生できるかもしれません. これは cat が全く役に立たないと言うことではありません.例えば,ある音 声ファイルがあり,どのプログラムでも認識できないけれど,これが PCM サ ンプリング音であると分かっている場合を考えます.この時(運が良ければ) このファイルがどのように鳴るかで,だいたいの見当を付けることができ, cat も役に立つかもしれません. 3. その他の便利なユーティリティ この章の内容は実際の音声ファイルの再生とは関係ありません.便利であると 思われるサウンド関係のユーティリティをいくつか挙げます. 3.1. volume これは音量を調節するためのコマンドラインで使う簡単なプログラムです(名 前の通りです).このパッケージには Tcl/Tk インタフェースを使った別のプ ログラムが含まれており,これを使えば音量の調節と .au 形式のファイルの 再生ができます.Tcl/TK を使った非常に簡単な CD プレイヤーも含まれてい ます. このフリーウェアの作者は Sam Lantinga 氏(slouken@cs.ucdavis.edu) で す. このプログラムは から入手できます. 3.2. Sound Studio これは sox を使ってデジタル音声の再生,録音,編集をサポートするための Tcl/Tk アプリケーションです.互換性の問題を避けるため,パッケージには sox も含まれています. 作者は Paul Sharpe 氏と N. J. Bailey 氏(N.J.Bailey@leeds.ac.uk) です. ハガキを送れば,自由に利用及び再配布できるようになります. このプログラムは Sound Studio のホームページ で入手でき ます. 3.3. Tickle Music これは現在β版の Tcl/Tk のプログラムで,音声ファイルのブラウザです.シ ステムに適当な再生プログラムがインストールされていれば,その音声ファイ ルを再生することができます.標準では MOD 形式のファイルを再生するため に gmod を,MIDIファイルを再生するために mp を使うようになっていま す.(ソースを変更すれば他のプログラムを使うようにできます.) これは作者である Shannon Hendrix 氏(shendrix@pcs.cnu.edu または shendrix@escape.widomaker.com)の著作物です. このプログラムは から入手できます. 4. 参考文献 1. 本文書で紹介している各アプリケーションに含まれるドキュメント 2. The Linux Sound HOWTO.これは Linux Documentation Project で入手できます. 3. Linux MIDI and Sound Applications 4. Programmer's Guide to OSS 5. SoX home page