前のページ 次のページ 目次

6. FAQへの回答

ここでは、Usenetニュースグループやメーリングリストでよく聞かれる質問への 答を示します。

6.1 いろいろなサウンドデバイスファイルの意味を教えて下さい。

以下に示すのは「標準」のデバイスファイル名ですが、 Linux パッケージによっては少し違った名前を使っていることもあります。

/dev/audio

通常は /dev/audio0 へのリンク

/dev/audio0

Sun ワークステーション互換のオーディオデバイス (部分的にしか実装されておらず、Sun ioctl インターフェースはサポートされて いません。u-law エンコーディングだけのサポートです)

/dev/audio1

2番目のオーディオデバイス(サウンドカードでサポート されている場合)

/dev/dsp

通常は /dev/dsp0 へのリンク

/dev/dsp0

最初のディジタルサンプリングデバイス

/dev/dsp1

2番目のディジタルサンプリングデバイス

/dev/mixer

サウンドミキサー

/dev/mixer1

2番目のサウンドミキサー

/dev/music

ハイレベルシーケンサーインターフェース

/dev/patmgr0

パッチマネージャ

/dev/patmgr1

パッチマネージャ

/dev/sequencer

ローレベルの MIDI や FM、それに GUS へのアクセス

/dev/sequencer2

通常は /dev/music へのリンク

/dev/midi00

最初の raw MIDI ポート

/dev/midi01

2番目の raw MIDI ポート

/dev/midi02

3番目の raw MIDI ポート

/dev/midi03

4番目の raw MIDI ポート

/dev/sndstat

読み出すとサウンドデバイスの状態を表示する

PCスピーカドライバは以下のデバイスを提供します。

/dev/pcaudio

/dev/audio と同じ

/dev/pcsp

/dev/dsp と同じ

/dev/pcmixer

/dev/mixer と同じ

6.2 サウンドサンプルを再生する方法を教えて下さい。

Sun ワークステーションのサウンドファイル(.au)は、/dev/audio デバイスに 送れば再生できます。raw サンプルは/dev/dspに送ることができます。 再生には play などのプログラムを使った方がいいでしょう。 大部分のファイルタイプを認識してサウンドカードのサンプリングレートなどを 正しく設定してくれるからです。

6.3 録音の方法を教えて下さい。

/dev/audio または /dev/dsp を読むと、サンプリングされた データが返されるので、これをファイルにリダイレクトすることができます。 vrec などのプログラムを使えば、サンプリングレートや録音時間を 簡単にコントロールすることができます。適当な入力デバイスを選択するためには、 ミキサープログラムが必要かもしれません。

6.4 2つ以上のサウンドカードを使うことができますか。

2つまでのサウンドカードがサポートされています。Gravis UltraSound か MPU-401 は SoundBlaster や SoundBlaster Pro や SoundBlaster 16 または ProAudioSpectrum16 と共に同時にインストールできます。 ProAudioSpectrum16 と SoundBlaster を同時に使うことはできません (PAS16は SB エミュレーション機能を持っています)。 同じタイプのカードを同時に2つ以上インストールすることもできません。 例えば、GUS の2枚挿しは不可能です。

LILOなどのブートローダでコマンドラインオプションを使うことによって、 サウンドカードの設定パラメタをブート時に変更することができます。 詳しくは、カーネルサウンドドライバファイル Readme.linux を見て下さい。

6.5 サウンドデバイスへのアクセスが、No such file or directory というエラーになります。

サウンドドライバデバイスファイルを作成する必要があります。デバイスファイルの 作成に関するセクションを参照して下さい。デバイスファイルが存在する場合には、 メジャーデバイス番号とマイナーデバイス番号が間違っていないことを確かめて ください(古い CD-ROM Linux パッケージには、インストール時に正しいデバイス ファイルが作成されないものがあります)。

6.6 サウンドデバイスへのアクセスが、No such device というエラーになります。

サウンドドライバを組み込んでいないカーネルでブートしたか、 I/O アドレスの設定がハードウェアと一致していません。 新しくコンパイルしたカーネルを使っているか、カーネルの設定時に入力した 設定値がハードウエアの設定と一致しているかどうかをチェックして下さい。

6.7 サウンドデバイスへのアクセスが、No space left on device というエラーになります。

このエラーは、必要なデバイスファイルを作成せずに /dev/audio または /dev/dsp にデータを送った時に起こります。 データはサウンドデバイスではなくて通常のファイルに送られ、ディスクが いっぱいになってしまったのです。 この文書のサウンドデバイスファイルの作成セクションで説明した スクリプトを走らせる必要があります。

6.8 サウンドデバイスへのアクセスが、device busy というエラーになります。

一つのサウンドデバイスを同時にオープンできるのは一つのプロセスだけです。 他のプロセスが問題のデバイスを使っているのでしょう。 fuser コマンドを使ってこれを確かめることができます。

% fuser -v /dev/dsp
/dev/dsp:             USER       PID ACCESS COMMAND
                      tranter    265 f....  tracker

上の例では、fuser コマンドはプロセス265が/dev/dspデバイスを オープンしていることを示しています。 このプロセスが終了するのを待つか、kill すれば、このサウンドデバイスを アクセスできるようになります。

6.9 まだ device busy エラーが発生します!

Brian Gough 氏によれば、DMAチャネル1を使っている SoundBlaster カードは、同じく DMA1を使っている QIC-02 テープドライバと競合を起こして「device busy」エラーを 発生する可能性があるとのことです。 FTAPE を使っている場合、このドライバをイネーブルにしているかもしれません。 FTAPE-HOWTO によれば、FTAPE を使うために必要なのは QIC-117 ドライバだけで、 QIC-02 ドライバは本質的に必要なわけではないとのことです。 QIC-117 を使うが QIC-02 を使わないようにカーネルを再設定すれば、FTAPE と サウンドドライバが共存できるようになります。

(次の説明はHarald Albrecht氏 albrecht@igpm.rwth-aachen.de に よるものです)

いくつかのサウンドカードはDMAチャネル0をサポートしています。サウンドドライバ 設定プログラムはこれを許しますし、カーネルも正しくコンパイルされますが、 サウンドデバイスへのアクセスは「device busy」エラーを引き起こします。

理由は、Linux カーネルが DMA チャネル0を DRAM リフレッシュのために予約している ためです。最近の 386 や 486 のボードでは独立したリフレッシュ回路を使っている ため、もうその必要はありません。/usr/src/linux/kernel/dma.c ファイルの 以下の行を変更することによって、この問題を解決することができます。

static volatile unsigned int dma_chan_busy[MAX_DMA_CHANNELS] = {
                1, 0, 0, 0, 1, 0, 0, 0
};

最初の1を0に書き換えてください。これでDMAチャネル0がイネーブルされます。 DMAチャネル4は DMA のカスケードのために使われているので、書き換えないで ください。書き換えても動きません! 書き換えた後のコードは次のようになります。

static volatile unsigned int dma_chan_busy[MAX_DMA_CHANNELS] = {
                0, 0, 0, 0, 1, 0, 0, 0
};

カーネルを再コンパイルしてリブートして下さい。

6.10 ディジタイズされたサウンドファイルが部分的にしか再生されません。

通常これは1秒程度サウンドが再生された後停止してしまうか、「missing IRQ」とか「DMA timeout」というエラーメッセージを表示するという症状です。 もっとも疑わしいのは、IRQ や DMA の設定の間違いです。カーネルの設定と サウンドカードのジャンパ設定が合っていて、他のカードと衝突していないことを 確認して下さい。

サウンドが「ループ」してしまうという症状が現れることもあります。これは 通常 IRQ の衝突が原因です。

6.11 MOD ファイルの再生時に音が途切れる

MOD ファイルの再生には、かなりの CPU パワーが必要です。実行中のプロセスが 多過ぎるか、コンピュータのスピードが遅過ぎてリアルタイム再生ができない のでしょう。次のような解決策があります。

Gravis UltraSound カードを使っている場合には、GUS 専用に書かれた MOD ファイル プレイヤ(例えば gmod)を使う必要があります。

6.12 サウンドアプリケーションのコンパイル時にエラーが発生します。

1.0c やそれ以前のサウンドドライバの ioctl() スキームは、現在のものとは 違っていて互換性がありません。新しいソースコードを入手するか、ソースコードを 書き換えて新しいサウンドドライバに適合するようにして下さい。 詳しくはサウンドドライバの Readme ファイルを参照して下さい。

また、アプリケーションをコンパイルする時に最新バージョンの soundcard.hultrasound.h を使っていることを確認して下さい。この文書の最初の方に ある、インストールの指示を読んで下さい。

6.13 以前動いていたサウンドバイナリを実行するとSEGVエラーが発生します。

おそらく上の質問と同じ問題でしょう。

6.14 サウンドドライバの既知のバグや制限を教えて下さい。

サウンドドライバのカーネルソースに含まれる ReadmeCHANGELOG ファイルを読んで下さい。

6.15 サウンドドライバの ioctl() などに関する文書はどこにありますか。

部分的には、現在ドラフト版として入手可能な Hacker's Guide to VoxWare に文書化されています。 最新バージョンはドラフト2で、 ftp://nic.funet.fi/pub/OS/Linux/ALPHA/sound にあります。 このディレクトリは隠されていて、ディレクトリリストには現れないことに注意して ください。このディレクトリに「cd」してFTPの「dir」コマンドを使えば、ファイルを 表示することができます。

この文章を書いている時点では、新しい文書が 4Front Technologies のウェブ サイトから入手可能になる予定です。

もう一つの情報ソースは、参考文献の章で説明する「The Linux Multimedia Guide」 です。

6.16 途切れなく再生や録音を行なうためには、どのくらいのCPU資源が必要ですか。

この質問には簡単な回答はありません。以下のような要素に依存するからです。

一般的に言って、386 マシンであればサンプリングデータや FM 合成された音楽を 8ビットサウンドカードで無理なく再生できるはずです。

しかし、MODファイルの再生には、かなりの CPU 資源が必要です。実験的な測定では、 44KHz での再生は 486/50 の 40% 以上の CPU パワーを必要とし、386/25 では 22KHz 以上での再生はまず無理だということです(SoundBlaster のような8ビット サウンドカードの場合です)。Gravis UltraSound などのカードではハードウェアで より多くの機能を実行するので、必要な CPU リソースは少なくなります。

以上に述べたことは、コンピュータが他に CPU に負荷をかけるタスクを実行していない ことを仮定しています。

Sox などのユーティリティを使ってサウンドファイルの変換やエフェクトの付加を 行なう場合には、数値演算コプロセッサがあればかなり高速になります。 ただしカーネルドライバ自体は浮動小数点演算は一切行ないません。

6.17 PAS16 と Adaptec 1542 SCSI ホストアダプタの問題

(以下の説明は seeker@indirect.com 氏によるものです)

Linux はアドレス 330(デフォルト)または 334 でしか 1542 を認識しません。一方、 PAS は MPU-401 エミュレーションのアドレスとして 330 しか受け付けません。 MPU-401 インターフェースをソフトウェアでディセーブルしても、1542 を デフォルトアドレスに設定していると、アドレスの競合が発生します。 1542 をアドレス 334 に移動するのが、すべてを丸く収める方法です。

また、1542 と PAS-16 はどちらも16ビット DMA を使うため、16ビット 44KHz ステレオでサンプリングしたデータを SCSI ドライブにセーブすると 1542 が ハングするというトラブルが起こることがあります。 DMA が重なっていて RAM のリフレッシュに必要な時間が確保できない場合、 恐怖の「PARITY ERROR - SYSTEM HALTED」メッセージが表示され、 しかもなぜそれが起きたのかという手がかりは全く得られないのです。 QIC-117 テープドライブのセカンドソースメーカーの中には 1542 のバス オン/オフタイムを設定して通常よりも長い時間オンになるように勧めている メーカーもあって、問題はいっそう深刻になっています。 Adaptec の BBS あるいはインターネットのいくつかのサイトから入手できる SCSISEL.EXE プログラムを使って、問題が解決するまでバスオンタイムを 減らすかバスオフタイムを増やし、さらにもう一つ進めた設定にしてください。 SCSISEL は EEPROM の設定を変更するので、CONFIG.SYS 中の DOS ドライバ行を パッチするよりも効果が長続きしますし、DOS パッチと違って直接 Linux を ブートする場合にも有効です。これでこの問題も解決しました。

最後の問題は、古い Symphony チップセットがバスアクセスを高速化するために I/O サイクルのウェイトを大幅に減らしているということです。 私が試したいろいろなボードの中で、これによって問題が生じたのは PAS-16 だけでした。Media Vision の BBS にある SYMPFIX.EXE という プログラムが、Symphony のバスコントローラの診断ビットをいじることによって この問題を解決するとのことですが、保証の限りではありません。 以下のようなことをする必要があるかもしれません。

Young Microsystems は、ここで輸入したボードであれば30ドルでアップグレード してくれます。 マザーボードのメーカーや輸入業者を突き止めることができれば(幸運を祈ります)、 他のベンダーも同様のサービスをしてくれるかもしれません。 この問題は、私の知る限りでは、ProAudio のバスインターフェースチップが原因です。 120 ドルのサウンドカードを買って 6MHz の AT で使おうという人はいないでしょう。 普通は 25〜40MHz の386 や 486 マシンで使うでしょうし、チップが正しく設計 されていれば、少なくとも12MHz のバスクロックで動作するはずです。 これにて弁士退場。

最初の問題は、マザーボード上で使われているチップセットやバスクロック、 およびその他の BIOS 設定、そして月齢に依存します。(訳注: つまり同じ 条件でも起こったり起こらなかったりすることがあるということです。) 2番目の問題は、リフレッシュオプションの設定(hidden か synchronous か)、 1542 の DMA レート、それに(おそらく)バス I/O レートに依存します。 三番目の問題は、Media Vision に電話して、どの Symphony チップが Media Vision の遅い設計と互換でないのかを質問すればわかるでしょう。 しかし注意して下さい。私が話した技術者4人のうち、3人は大馬鹿野郎でした。 彼らは自分たちのハードウェアすらよく分かっていないので、他社のハードウェアに ついて言っていることは何一つ信じる気になれません。

6.18 サンプリングの読み書きを同時に行なうことは可能ですか。

ハードウェアの制限により、ほとんどのサウンドカードでは不可能ですが、 新しいカードではサポートされているものもあります。 詳しくは、Hacker's Guide to Voxwareの「双方向モード」の項を 参照して下さい。

6.19 SB16 を IRQ 2 にセットしているのですが、設定プログラムがこの値を受け付けてくれません。

286 以降のマシンでは、IRQ2 は2番目の割り込みコントローラへカスケードされて います。IRQ2 は IRQ9 と同じです。

6.20 SoundBlaster AWE32 や SoundBlaster16 ASP はサポートされていますか。

これらのカードは、波形合成などの追加機能をサポートする特殊なチップ (ASP および Emu)を使っていますが、Creative Labs はプログラミング情報の 公開を渋っています。彼らがポリシーを変えない限り、Linux ではこれらの特殊 ハードウェアのサポートはありません。 これらのカードは、Linux では通常の SoundBlaster 16 カードとしてサポート されます。

Gravis UltraSound は AWE32 と同様な機能を持っていて、こちらは Linux で サポートされています。Analog Devices ADSP-21xx などの DSP をベースにした 他のカードは、将来サポートされる可能性があります。

6.21 Linux を使った後に DOS をブートすると、エラーメッセージが出力されたり、サウンドアプリケーションが正常に動作しなかったりします。

これらの問題はDOSをソフトリブートした後に発生します。 CONFIG.SYS に問題があるという間違ったエラーメッセージが表示されることも あります。

現在のサウンドカードの多くは IRQ と DMA の設定ががソフトウェアでプログラム 可能になっています。Linux と MS-DOS/Windows とで異なった設定を使っている 場合、これが原因かもしれません。 サウンドカードによっては、完全にリセット(つまり電源をオン/オフするか、 ハードウェアリセットボタンを押す)しないと、新しいパラメタを受け付けない ものもあります。

簡易な解決法は、ソフトリブート(Ctrl-Alt-Del)ではなく、 リセットボタンまたは電源のオン/オフによってフルリブートすることです。

正しい解決法は、MS-DOS と Linux とで同じ IRQ と DMA の設定を使うこと (あるいは DOS を使わないこと :-)です。

6.22 Linux で DOOM をする時の問題

ID softwareのゲーム、DOOM の Linux 版のユーザーは、この問題に興味がある ことでしょう。

正しいサウンド出力を得るためには、バージョン 2.90 またはそれ以降のサウンド ドライバが必要です。このバージョンはリアルタイムの「DOOMモード」をサポート しています。

サウンドは16ビットでサンプリングされています。8ビットサウンドカードを 使っている場合でも、 ftp://sunsite.unc/edu/pub/Linux/games/doomで 入手可能なプログラムを使えば、サウンドを聞くことができます。

DOOMのパフォーマンスが良くない場合、(sndserver ファイルの名前を 変えて)サウンドをディセーブルすると、改善されることがあります。

初期設定では DOOM は音楽をサポートしていません(DOS バージョンと同じです)。 musserver プログラムを使って、Linux 版の DOOM に音楽サポートを 追加することができます。このプログラムは ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz にあります。

(最新のニュースです。カーネル 2.0.x では、DOOM のサウンドは使えなく なってしまったようです。/dev/sequencer に関するエラーが発生するのです。)

6.23 サウンドカードが拾う雑音を減らすにはどうしたらよいでしょう。

品質の良いシールドケーブルを使ったり、サウンドカードを別のスロットに 挿してみると、雑音が減ることがあります。サウンドカードでボリュームが 制御できる場合、設定を変えてみることもできます(おそらく最大音量が 最良でしょう)。

ミキサープログラムを使って、望まない入力(例えばマイクロフォン)のボリュームが ゼロになっていることを確認して下さい。

サウンドカードの中には、シールドや接地が不完全なため、雑音を拾いやすいものも あります。

最後に、私のシステムではカーネルコマンドラインオプション no-hlt に よって雑音レベルが減少することが分かりました。このオプションは、カーネルが アイドルプロセスループを回っている時に halt 命令を使わないように 指示するものです。このオプションはブート時にマニュアルで指定することも できますし、LILO の設定ファイルに append = "no-hlt" と書いて 設定することもできます。

6.24 サウンドの再生はできますが、録音ができません。

再生はできるが録音ができない場合、以下の手順を試してみて下さい。

6.25 MS-DOSで一度初期化しないと「互換」カードが動かない

クローンのサウンドカードの中には、本物と 100% レジスタ互換ではないものも あります。ミキサーなどの追加回路を持っていることもあります。 最初に MS-DOS で初期化し、その後 Linux をソフトブート(つまり Ctrl-Alt-Delete)することで、このようなカードを使えるかもしれません。

あるユーザーは、MS-DOS で初期化した後で Linux をブートする際、LILO よりも LOADLIN を使った方が良い結果が得られたと報告してきました(このカードは Diamond製でした)。

このような方法は、信頼性が保証されているわけではありません。 まともな解決法は、メーカーからどこが違っているのかを聞き出して、サウンド ドライバにそのカードのサポートを追加してもらうことです。 この種のことは、例えばSound Galaxy NX Proについて行なわれました。

6.26 16ビット SoundBlaster「互換」カードが、Linux 上では8ビットモードでしか動かない。

SoundBlaster 互換と銘打たれている16ビットサウンドカードは、実は8ビット SoundBlaster Pro との互換性しかないのです。この種のカードは通常 SoundBlaster 16 とも Linux サウンドドライバとも互換性のない16ビットモードを 持っています。

カードが Microsoft Windows Sound System とも互換性がある場合、Linux サウンド ドライバで WSS サポートをイネーブルすれば16ビットモードで動かせるかもしれま せん。おそらくDOSで初期化するという手を使わないといけないでしょう。

6.27 Linux上のサウンドアプリケーションはどこにありますか。

Linuxのサウンドアプリケーションを探すのに適したサイトを以下に示します。

6.28 サウンドドライバをローダブルモジュールとしてコンパイルすることはできますか。

最近のカーネルでは、サウンドドライバはカーネルローダブルモジュールとして サポートされています。

詳しくは、 /usr/src/linux/drivers/sound/Readme.modules/usr/src/linux/Documentation/modules.txt(または /usr/src/linux/README)を参照して下さい。

6.29 システムコンソールのビープ音の代わりにサウンドカードを使うことができますか。

ftp://sunsite.unc.edu/pub/Linux/apps/sound/oplbeep-alpha.tar.gz にある、oplbeep プログラムを試してみて下さい。

もう一つ、beep というプログラムもあって、これは ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgzにあります。

modutilsパッケージには、カーネルから要求があった時に任意の外部 プログラムを呼んでサウンドを発生させるためのプログラム例とカーネルパッチが 入っています。

その他の方法として、PCスピーカの出力をサウンドカードにつなぎ、すべての サウンドをサウンドカードのスピーカから出力させるようにできる場合もあります。

6.30 VoxWareとは何ですか。

各種の Intel ベースの Unix 互換オペレーティングシステムををサポートする カーネルサウンドドライバで、Linux カーネルとは別のパッケージとして 入手することができます。1996年2月までは、作者はこのソフトウェアを 「VoxWare」と呼んでいました。残念なことにこの名前は VoxWare Incorporated によって 登録されてしまいましたので、使うことができなくなってしまいました。 Hannu Savolainen は 1996年3月29日に、 Unix Sound System (USS) Lite という 新しい名前を発表しました。

Unix Sound System (USS) は、各種 Unix システムのための商用 カーネルサウンドドライバとして、4Front Technologies から発売されています。 フリーのバージョンは USS/Lite と呼ばれ、Linux システムのために引続き無料で 利用できます。

訳注: USS はまた名前が変わって、現在は OSS (Open Sound System) と呼ばれて います。USS/Lite は OSS/Free という名前になっています。

詳しくは、4Front Technologies の Web ページ、 http://www.4front-tech.com/ を参照して下さい。

6.31 Plug and Play サウンドカードはサポートされていますか。

Plug and Play 機能は Linux バージョン 2.1 で完全にサポートされる予定です。 それまでの間、Plug and Play カードを動かすためにはいくつかの方法があります。

最近の Plug and Play BIOS が載った Pentium システムを使っているならば、 システムがあなたの代わりにカードの設定の面倒を見てくれるはずです。 BIOS と同じ I/O アドレスや IRQ、それに DMA チャネルの設定を Linux サウンド ドライバが使うようにコンフィギュレーションを行なって下さい。

Linux 用の Plug and Play ツールのパッケージを使ってカードの設定を行なう こともできます。このパッケージは http://www.redhat.com/pnp/ にあります。

Windows 95 でサウンドカードを使っている場合、デバイスマネージャでカードの 設定を行なってから LOADLIN を使って Linux をソフトブートするという手もあり ます。Windows 95 と Linux でカードの設定パラメタが一致するように気をつけて ください。

DOS でサウンドカードを使っている場合、SB16 PnP カードについてくる ICU ユーティリティを使って DOS 上で設定を行ない、LOADLIN を使って Linux を ソフトブートするという手もあります。この場合も DOS と Linux でカードの 設定パラメタが一致するように気をつけてください。

商用の USS/Linux サウンドドライバは SB16 PnP をサポートしています。 このドライバは 4Front Technologies から購入することができます。

訳注: USS/Linux は現在 OSS/Linux という名前になっています。

6.32 Sox/Play/Vplayが「invalid block size 1024」というエラーを報告する。

サウンドドライバのバージョン 1.3.67 で行なわれた変更によって、 SNDCTL_DSP_GETBLKSIZE ioctl の結果が 4096 よりも大きいことを (間違って)チェックしていたプログラムが動作しなくなりました。 新しいバージョンのプログラム(もしあれば)を入手するか、自分で 手直しする必要があります。 Sox プログラムについては、次のパッチで私はうまく行きました。

--- sbdsp.c.orig        Thu Feb 22 22:46:00 1996
+++ sbdsp.c     Thu Feb 22 22:51:18 1996
@@ -176,7 +176,7 @@
        }
 
        ioctl (dspfd, SNDCTL_DSP_GETBLKSIZE, &abuf_size);
-       if (abuf_size < 4096 || abuf_size > 65536) {
+       if (abuf_size < 1) {
                if (abuf_size == -1)
                perror (dspname);
                else

6.33 なぜサウンドドライバはそれ自身の設定プログラムを持っているのですか。

サウンドドライバは、たくさんの異なった設定パラメタをサポートしています。 サウンドドライバに含まれる設定プログラムは、多くのパラメタ間の 依存関係をチェックしています。カーネル設定に使われるツールは、このレベルの 機能をサポートしていないのです。

最近のカーネル 1.3.x では、オプションとしてサウンドドライバの設定に 標準のカーネル設定ツールを使うことができます。サウンドドライバの CHANGELOG ファイル中のノートを参照してください。 これは実験中であり、いくつかのオプションはこの方法では設定できない ことに注意して下さい。

6.34 サウンドドライバモジュールをロードした時に、ミキサーの設定がリセットされてしまう。

サウンドドライバをローダブルモジュールとして構築し、kerneldを 使って自動的にロードしたり、アンロードしたりする際に、一つ問題が あります。モジュールが再ロードされるたびに、ミキサーの設定が デフォルトの値に戻ってしまうのです。 サウンドカードによってはデフォルト値は(例えば SB16 のように)大き過ぎたり、 小さ過ぎたりします。 Markus Gutschke (gutschk@uni-muenster.de) 氏は、 次のような行を/etc/conf.modulesファイルに追加するという 解決法を発見しました。

options sound dma_buffsize=65536 && /usr/bin/setmixer igain 0 ogain 0 vol 75

これで、サウンドドライバがロードされた直後にミキサープログラム (上の例ではsetmixer)が起動されるようになります。 dma_buffsizeパラメタは単なるダミーの値ですが必要です。 オプションコマンドはコマンドラインオプションを要求するからです。 必要に応じてミキサープログラムとゲイン設定を書き換えて下さい。

サウンドドライバをコンパイルしてカーネルに組み込んでおり、ブート時に ミキサーゲインを設定したい場合には、/etc/rc.d/rc.localのような システムスタートアップファイルからミキサープログラムを呼び出すように すれば良いのです。

6.35 root しかサウンドの録音ができない。

デフォルトでは Readme.linux 中のスクリプトは、rootにしか 読み出せないサウンドデバイスファイルを作成します。 これは、潜在的なセキュリティホールを塞ぐためです。 ネットワーク環境では、外部のユーザーがサウンドカードとマイクロフォンが 接続された Linux PC にリモートログインし、周りの物音を盗聴することが 考えられます。 このようなおそれがなければ、スクリプト中のパーミッションを変えても 構いません。

デフォルトの設定でも、一般ユーザーがサウンドファイルを再生することはできます。 これはセキュリティ上危険ではありませんが、周りの迷惑になるおそれはあります。


前のページ 次のページ 目次