The Linux Sound Playing HOWTO Yoo C. Chung, v1.6, 11 August 1998 藤原輝嘉 16 August 1998 本文書では,Linux 上で各種フォーマットの音声ファイルを再生する ためのアプリケーションを紹介します. はじめに

本文書は Sound Playing HOWTO です.本文書は各種の音声フォーマットと, これらを再生できるアプリケーションを紹介します.これらのアプリケーショ ンを使う上でのアドバイスや動作させるために必要な修正も紹介します.また 再生には直接の関係はなくても,サウンド関係の便利なアプリケーションもい くつか紹介します.しかし,本文書では Linux システムでサウンドを利用す るための設定方法については 本文書が扱うのは,普通のサウンド用アプリケーションです.つまり,一般的 なユーザがサウンド用アプリケーションについて知っておく必要があることだ けを対象にしています.音声解析のような特殊な用途や Sound HOWTO で説明 されるハードウェア関係の事柄については説明しません. 本文書の著作権について

この著作権表示の部分を変更しない限り,本文書は自由に配布・改変してかま いません(できれば改変を加えた場合には筆者に知らせてください).しかし, 新たに制限事項を加えてはいけませんし,文書に変更を加えた場合も本文書と 同じ配布条件にしなくてはいけません.また,クレジットは相応のものを記述 しなければなりません. 本文書で紹介するアプリケーションの著作権

著作権について特に記述がない場合には,そのアプリケーションは GNU General Public License に従っているものとします. 本文書の入手方法

本文書の最新の公式版は で入手できます.非公式の最新版は で入手できます. 本文書の韓国語版(非常に古いです)は, で入手できます.本文書の日本語版は, で入手できます. フィードバック

私は何もかもを知っているわけではありませんし,文中で挙げている全てのア プリケーションを使っているわけでもありません(試したことさえないものも 少しあります)ので,おそらく間違いもあるかと思います.また,アプリケー ションは絶えず進歩していますから,文書の内容はどうしても古くなってしま います.ですから,もしあなたが誤りを見つけた場合には筆者までお知らせく ださい.本文書に対する意見や追加事項も歓迎します. 謝辞

本 HOWTO で紹介したアプリケーション全ての作者の皆さん,素晴らしいサウ ンドドライバを書かれた Hannu Savolainen 氏,そして全ての土台となる OS を書かれた Linus Torvalds 氏に感謝します. また,情報提供や援助をしてくださった Raymond Nijssen 氏(各種音声フォーマットの再生

音声のフォーマットにはたくさんの種類があります(WAV,MIDI,MPEG など). これから各種フォーマットと,それを再生することができるアプリケーション について解説します.

MIDI は Musical Instrument Device Interface の頭文字を取ったものです. MIDI ファイルには普通,拡張子

このパッケージには もしあなたが GUS を持っていれば, の章を参照のこと). (一部のハードウェアで起こる,バージョン0.5の)ちょっと困ったバグは音が 最後で切れてしまうことです.つまり,MIDIファイルで指定されている通りに 曲が終わるのではなく,長い休止の後の最後の音を演奏する前に,休止の前の 音符で曲を終えてしまいます.私にとっては,このバグは このパッケージには著作権表示が全くありません(少なくとも私は見つけられ ませんでした).ですから,私はこのパッケージは自由に配布・改変して良い ものだと考えています.(著作権法を厳密に解釈すれば,このようなことをす る権利は誰にも与えられないのですが,それは作者の意図とは違うと私は思っ ています.) このパッケージは Greg Lee 氏(. The binaries included here are in a.out format (linked with ancient libraries), and the このパッケージは で入手することができます.パッケージに含まれているバイナリは a.out 版 (昔のライブラリとリンクされている)であり, 自分でコンパイルするには少しだけ改造が必要です.実際にはたいしたことで はありません.しなければならないのは Makefile の

このプログラムは ncurses,SLang,Tcl/Tk,Motif のインタフェースも利用 できます. timidity を利用するためには Gravis Ultrasound パッチファイルが必要です. ここで言うパッチとは diff コマンドで生成するパッチではなくて,楽器等の 音情報が入っているファイルのこと(*.pat)です.従ってサウンドカードの種 類によらず,GUS パッチは必要となります.詳しくは,TiMidity に付属する FAQ を参照してください. 作者は Tuukka Toivonen 氏(. This page also contains a link to a small library of GUS patches. --> timidity の最新版は で入手できます.このページ には,GUS パッチのライブラリへのリンクもあります.

これは FM, GUS, 外部 MIDI を使って MIDI ファイルを演奏するプレイヤーで す.他の MIDI プレイヤーより起動は速いようです.また,CMF 形式 (Creative Music Files),マイクロソフト RIFF 形式,さらに Ultima 7 のよ うなゲームに含まれている大量の MIDI アーカイブも演奏することができます. playmidi には X 版と SVGA 版のインタフェースがあります.また,各チャン ネルの音符全てを追跡表示したり,現在の演奏時間を表示しながらリアルタイ ム演奏するオプション機能を持っています( SVGAインタフェースを使う場合には,以下のように実行しなければなりません. $ splaymidi foo.mid; stty sane これは,端末の tty モードが正しくリセットされないからです.SVGA インタ フェースは近いうちになくなるかもしれません. 作者は Nathan Laredo 氏(. --> playmidi は で入手することができます.

(コンピュータ・ミュージックの世界では) module 形式というのはサンプリン グした音とシーケンス情報からなる音楽ファイルです.どのサンプル音(楽器) が,どのトラックに,どのピッチで,(オプションとして)どのような効果(ビ ブラート等)を加えて鳴らされるかをプレイヤーに指示します. MIDI 形式に対する優位性としては,(人間の声などを含む)どんな音でも利用 できる点があります.また,プラットフォームにかかわらずほぼ同じ音が鳴る という利点もあります.これは module 形式にはサンプリングした音が含まれ ているからです.欠点は MIDI と比較してファイルサイズが大きくなってしま うことです.もう一つの欠点として,きちんとした標準フォーマットがないと いう点もあります.(「本当の」標準形式は ProTracker のものだけなのです が,多くの module ファイルは ProTracker 形式と互換ではありません.)こ のファイル形式は元は Amiga で使われていたものです. 最も一般的なフォーマットのファイルは

これは非常に移植性の高い(たくさんのプラットフォームへ移植されている)プ ログラムで,Soundtracker と Protracker の module ファイルを演奏できま す.16ビットのステレオ出力を用いており,音質は非常に良いです.もし,手 軽に CPU の負荷を減らしたいならば, これは(作者によれば) giftware プログラムです.作者は Marc Espie氏 (. --> 既に Linux 用に Makefile を変更してあるものを から入手することができます.

これは 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 ツールキッ トについての詳しい情報は, を参照してください. このプログラムは自由に配布できます.オリジナルは Hannu Savolainen 氏が 書いたものですが,現在は Andrew J. Robinson 氏 (. --> このプログラムは, から入手できます.

これは,XM,ULT,STM,S3M,MTM,MOD,UNI形式の module ファイルを演奏す ることができる移植性の高いプレイヤーです.(UNI形式は MikMod が内部的に 使っているフォーマットです.) zip によって圧縮された module ファイルも サポートしています.出力は 16bit ステレオです.CPU への負荷を手軽に抑 える必要があるなら, Unix 版は ncurses か Tck/TK のインタフェースを使います.また,独立のプ ログラムとしてだけではなく,ライブラリとしても利用できます. 元々の作者は Jean-Paul Mikkers 氏 (. --> このプログラムは で入手できます.

これは module 形式のプレイヤーで(Adagio パッケージに含まれる 作者は Claudio Matsuoka 氏(. --> このプログラムは で入手することができます.

このプログラムは 4/6/8 トラックの MOD module ファイルと Scream Tracker 3 の module ファイルを演奏することができます.このプログラムはデフォル トではサンプリングレート 22kHz の 8bit モノラル出力を使用します.ステ レオ出力を使うためには このプログラムは Daniel Marks 氏と David Jeske氏 (. --> このプログラムは から入手できます.

この このプログラムを使うには少なくともバージョン 3.0 以降のサウンドドライ バが必要です.バージョン 2.90-2 以前のサウンドドライバでは 作者は Mikael Nordqvist 氏 (. --> このプログラムは から入手することができます.

この このプログラムは module ファイルの繰り返し演奏機能を持っています.繰り 返し回数は 作者は Toru Egashira 氏(. --> プログラムは から入手できます.

この 作者は David Groves 氏(. --> プログラムは から入手することができます.

MPEG は映像とそれに付随する音声をデジタル情報として保持するための符号 化の規格です.普通は MPEG と言えば映像のことですが,MPEG 規格の音声の 部分を映像とは別に利用することもできます.MPEG 規格では音声について3つ のレイヤーを定義しています(レイヤー I, II, III).数字の大きいレイヤー のファイルを展開できるプレイヤーは数字の小さいレイヤーのファイルも再生 できます(例えば,レイヤー III のプレイヤーはレイヤー II の音声ファイル を再生できます).レイヤー I の MPEG 音声には,動画の場合と同じ拡張子

この 主な作者は Michael Hipp 氏(. --> 最新バージョンはで入手できます.

この MPEG 音声ストリームプレイヤーはレイヤーIとIIのストリームしかサポー トしておらず,レイヤーIIIはサポートされていません.16bit サウンドカー ドを載せた Linux システム上で利用できます. このプログラムは CPU への負荷がかなり高く,60MHz の Pentium では 55% もの CPU 時間を消費します.66MHz の 486 だと音声処理が間に合わず,聞く に耐えない演奏になってしまいます.このような状況になってしまったら,標 準のステレオ出力はあきらめて,オーディオ出力のどちらか片方だけを再生す ることにしてください( このプログラムをコンパイルするためにはファイルの1つを少し変更する必要 があります.具体的には #! /bin/sh 作者は Tobias Bading 氏( から入手できます.

これは 修正は Orlando Andico 氏(. --> このプログラムは から入手できます.

これも 修正は Timo Jantunen 氏(. --> このプログラムは から入手できます.

これはさらに別の コンパイルの後(Segmentation fault 等のエラーで)うまく動かない場合には, スレッドを利用しない設定で再コンパイルしてみてください. 作者は Jung Woo-jae 氏(. --> このプログラムは から入手できます.

このプログラムは GUI を持っている MPEG 音声プレイヤーです.これは このプログラムは QT ツールキット を用いています(少なくともバージョン 1.2 が必要です).また,LinuxThreads ライブラリも用いています(パッケー ジに含まれる実行ファイルはバージョン 0.5 でしか動作しません). 作者は Joel Lindholm 氏(. --> 最新バージョンは か ら入手できます.

これはレイヤーIII の MPEG 音声ストリームのみをサポートした 作者は Tomislav Uzelac 氏(. --> このプログラムは から入手できます.

この このライブラリは Gilles Boccon-Gibod と Alain Jobart 等のメンバーが作 成したものです.ライブラリの各種フロントエンドは自由に入手することがで きます.ライブラリそのものを使用するにはライセンスが必要です(ソースラ イセンスとバイナリライセンスがあります). ライブラリのフロントエンドは で入手することができます. シェアウェアの レイヤーIII エンコーダ/デコーダ

これはプレイヤーではなく,MPEG のレイヤーIII音声ストリームを WAV,AIFF, SND,AIFC,非圧縮 PCM 形式ファイルに変換するプログラムです.Linux 版は 音声を直接再生することができないので,音声をまず他のファイル形式に変換 してから再生しなければいけません. しかし,変換したファイルを 高速なコンピュータ上(少なくとも Pentium 100MHz 以上)では,以下の例のよ うにすれば レイヤーIII MPEG 音声ストリームを一度他のファイル形式に変換 することなく直接再生できるので試してみてください.(この例では $ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 - . The demo version only converts layer III audio streams. --> このプログラムは Fraunhofer-IIS 社の著作物であるシェアウェアです.x86 用 Linux 上で動作するデモ版は から入手することができます.デモ版の制限はレイヤー III の音声ストリー ムしか変換できないことです.

この Windows の 著作権表示はどこにもありません.(筆者は個人使用ならば自由に利用できる ものと考えています.)このプログラムは Mikael Alm 氏 (. Only binaries for Intel Linux and FreeBSD are made available here. --> このプログラムは から入手できます.Intel 版 Linux と FreeBSD 用のバイナリはここから入手できます.

このデータ形式はIFF形式ファイルに非常によく似ていますが,同じものでは ありません.これは Windows 3.1 の基本サウンドファイル形式です.Windows 3.1 はコンピュータ産業で非常に重要な位置を占めているので,専用のサウン ドファイル形式を持たなければいけなかったのでしょう. WAV 形式のファイルは普通は拡張子 and for other WAV players besides the ones listed here. --> ここで挙げない WAV プレイヤーとして の章も見てください.

このプログラムは WAV 形式のファイルの録音と再生をすることができます. このプログラムは同時に一つの音声しか再生されないようロッキングを行いま す.このロッキングの機能は,音声再生とは別に使うこともできます. コマンドラインのインタフェースに加えて,Motif のインタフェースも利用で きます.Motif は Lesstif で代用することもできます. このプログラムの元々の作者は Andre Fuechsel 氏 (. --> このプログラムは から入手できます. その他のツールなど

この章では(プレイヤーがたった1つしかない音声フォーマットなど)単独の章 にできない音声フォーマットのプレイヤーや,複数の音声フォーマットを扱え るプレイヤーについて説明します.

このプログラムは実はコンバータで,ある形式のサウンドファイルを他の形式 に変換するものです.しかし,一部のバージョンの バージョン1.3.6xあたりのカーネルを使っている場合は,直接音声を再生でき るようにするために少し変更を行う必要があるかもしれません.その場合は if (abuf_size < 4096 || abuf_size > 65536) { から if (abuf_size < 1 || abuf_size > 65536) { とします.繰り返しますが,変更する必要はないかもしれません.しかし,変 更して問題が起こることもないと思います. このプログラムは多くの人達の著作物であり,任意の目的に利用できます. このプログラムは から入手できます. Chris Bagwell 氏 ( から入手 できます.このバージョンでは更に,MS ADPCM 形式と IMA ADPCM WAV 形式を サポートしています.

これは 作者は David Monro 氏(. --> このプログラムは から入手することができます.

このプログラムは デフォルトではコマンドラインのインタフェースを使うようになっています. パッケージ本体とは別に Tk や QT のインタフェースも利用できます. このプログラムは Michael Schwendt 氏(. --> このプログラムは で入手することができます.

これは,専用のフォーマットを用い,最初に音声ファイル全体をダウンロード することなく,インターネット上でリアルタイムの音声再生を実現します.ス タンドアロンでも使うことができますが,ウェブブラウザとともに使うことが 主目的です(Mosaic と Netscape で公式にサポートされています).X 無しで は利用できません(コンソールで Lynx と一緒に使うことはできないでしょう). しかし,コンソールから RealAudio Player を実行する方法も存在します.こ れには X の仮想フレームバッファ(Xvfb)サーバが動作していることが必要で す.実行を可能にするプログラムは から入手できます.. --> RealAudio Player は Progressive Networks, Inc. 社の製品で,再配布や改 変などはできません.利用範囲についての詳細はライセンスを参照してくださ い. で登録すれば,無料で入手できます. cat

$ cat sample.voc > /dev/dsp $ cat sample.wav > /dev/dsp $ cat sample.au > /dev/audio /dev/audio に送ると普通 はきちんと再生できます.もしファイルが(あなたのプラットホームに対して) たまたまバイトオーダなどが正しければ,/dev/dspに送ってもうまく再生できるかもしれ ません. これは その他の便利なユーティリティ

この章の内容は実際の音声ファイルの再生とは関係ありません.便利であると 思われるサウンド関係のユーティリティをいくつか挙げます.

これは音量を調節するためのコマンドラインで使う簡単なプログラムです(名 前の通りです).このパッケージには Tcl/Tk インタフェースを使った別のプ ログラムが含まれており,これを使えば音量の調節と このフリーウェアの作者は Sam Lantinga 氏(. --> このプログラムは から入手できます.

これは 作者は Paul Sharpe 氏と N. J. Bailey 氏( このプログラムは で入手できます.

これは現在 これは作者である Shannon Hendrix 氏(. --> このプログラムは から入手できます. 参考文献

本文書で紹介している各アプリケーションに含まれるドキュメント The Linux Sound HOWTO.これは で入手できます.