Top / Software / ALSA

ALSA の FAQ

このサウンドカードで音は鳴りますか?

対応してるかどうかは

を見てください。

ドライバのインストールとロードはどうすればいいですか?

sarge 以降の v2.6 カーネルならば特に何もせずとも ALSA ドライバがインストールされています。
その際、udev がインストールされているはずであり、

$ lspci | grep -e 'audio' -e 'sound'

で認識できるサウンドデバイスならば適切な ALSA ドライバがロードされているはずです。

$ lsmod | grep -e 'snd' -e 'sound'
snd_intel8x0           22251  4 
snd_intel8x0m           9115  0 
snd_ac97_codec         87314  2 snd_intel8x0,snd_intel8x0m
ac97_bus                 902  1 snd_ac97_codec
snd_pcm                59391  4 snd_intel8x0,snd_intel8x0m,snd_ac97_codec
snd_seq                39656  0 
snd_timer              15131  3 snd_pcm,snd_seq
snd_seq_device          5078  1 snd_seq
snd                    45934  14   snd_intel8x0,snd_intel8x0m,snd_ac97_codec,snd_pcm,thinkpad_acpi,snd_seq,snd_timer,snd_seq_device
soundcore               5525  1 snd
snd_page_alloc          6344  3 snd_intel8x0,snd_intel8x0m,snd_pcm
$ cat /proc/asound/version 
Advanced Linux Sound Architecture Driver Version 1.0.23.

外部モジュールとして自前でビルドしたい場合は alsa-source をインストールして、 外部カーネルモジュールを再構築したい に従ってビルドして下さい。

音が鳴らないんです

そもそもサウンドカードを認識できてるのか

alsa-utils をインストール。

続いて

$ speaker-test

を実行して "no such device" と出るようなら認識できてない可能性大。 H/W が 対応しているか、ALSA のドライバがロードされているか再確認。
もし "permission denied" と出るならユーザが audio グループに入っているか確かめる。

$ id (ユーザー名)

uid=xxxxx(ユーザー名) gid=yyyyy(ユーザーグループ) 所属グループ=yyyyy(ユーザーグループ),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),107(nvram)

入っていなければユーザを audio グループに入れてみるべし。

# adduser (ユーザー名) audio

外部ファームウェアが必要ないか

一部のサウンドカードは外部ファームウェアを用意する必要があります。 Debian のパッケージにはファームウェアが用意されていない場合があるので、 ftp://ftp.alsa-project.org/pub/firmware/ からファームウェアを取ってきてビルドし、 /usr/local/lib/firmware 配下あるいは /lib/firmware 配下の適切な所にインストールしてください。

音がミュートになっていないか

ALSA なら

$ alsamixer

でボリュームに MM がついてたら m キーを押して解除。 (うまくいくと MM → 00 という表示になります)

統合デスクトップ環境を使用中ならば、 "mixer" などと名の付くパッケージがあるので、インストールすると GUI で操作できます。

音声入出力はどうなっている?

サウンドサーバがサウンドデバイスを握っていないか、またはちゃんと ALSA 直叩きになっているか調査してみましょう。

  • サウンドサーバはデバイスに依存しない設定が可能であり、音声合成や入出力先を変えることができるという利点がありますが、 システム負荷が若干高かったり、サウンドサーバが万が一ダウンした場合は、出来の悪いサーバだと、 サウンドサーバを再起動しても一切の音声入出力ができないということに陥ることがあるので注意が必要です。

多分 GNOME なら esound か PulseAudio、KDE なら aRts か Phonon が使われている。 何がサウンドデバイスを握っているかは lsof をインストールして、

$ lsof /dev/snd/*

などでチェックできる。 鳴らないアプリがあったらサウンドサーバを使わせれ。

KDE や GNOME, Xfce, LXDE 等統合デスクトップ環境ならば、インストール後 X を再起動すればサウンドサーバが使用できます。
動いていない場合は各デスクトップ環境の音声設定 (概ね、システム設定関連のアプリに設定項目があります。) で設定を行うか、 $HOME/.xsession 等に

jackd &

などと書くといいでしょう。

  • KDE4 について

KDE4 ならば、"KDE システム設定" をクリックし、
「一般」タブ・ウィンドウ内の「コンピュータの管理」・「マルチメディア」をクリック。
「音と映像の設定」ウィンドウに遷移するので、
「デバイスの優先順位」タブ・ウィンドウにて、「音声出力」・「音声キャプチャ」等の項目の優先度を適切に設定する。
「音声デバイス」 (すなわち ALSA 直叩き) または「各サウンドサーバ」のどれを優先するかを設定する。
通常は「音声デバイス」を高い優先度にすれば問題ない。
続いて「バックエンド」タブ・ウィンドウにて、Phonon バックエンドの優先度を設定する。
「Phonon バックエンド」パッケージは phonon-backend-* で検索すると出てくる。

kde4_snd_cfg_0001.png kde4_snd_cfg_0002.png

alsactl が正常に動作していない?

ミュートされていない事が確認できても、音声が鳴らない場合があります。
alsa-utils をインストールしている場合、alsactl が悪さしていることがあります。
以下のコマンドを実行して /var/lib/alsa/asound.state ファイルを更新すると直る場合があります。

# service alsa-utils stop
# mv /var/lib/alsa/asound.state /var/lib/alsa/asound.state.bak
# service alsa-utils start

/var/lib/alsa/asound.state ファイルはシステム停止前に音量設定やミュート等デバイスの状態を保存するファイルです。 次回再起動時にロードされ、再起動前の音声デバイスの状態を復元します。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-01-16 (火) 16:32:42 (3930d)