Top / Old / etch / Software / ALSA

ALSA の FAQ

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

対応してるかどうかは ALSA Soundcard MatrixSound devices supported by Open Sound System を見て、自分で調べてください。

sarge のオフィシャルツリーにある ALSA のバージョンは 1.0.8 です。

ドライバの導入はどうすればいいですか?

ドライバ は kernel 2.6 には既に取り込まれています。
kernel 2.4 については alsa-modules-2.4-386 など、マシンに合ったパッケージが提供されています。(今のところ、i386 アーキテクチャのみ)
i386 以外もしくは、自前でビルドしたい場合は alsa-source をインストールして、外部カーネルモジュールを再構築したい に従ってビルドして下さい。

音が鳴らないんです

以下をチェック

  • そもそもサウンドカードの設定ができてるのか
$ echo a > /dev/dsp

とかして "no such device" と出るようなら設定できてない可能性大。 alsaconf で再設定してみれ。 もし "permission denied" と出るなら自分を audio グループに入れてみるべし。 もしプロンプトに戻らなかったら、そのデバイスは今現在使われてる。 プロンプトに戻るには Ctrl+c。

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

alsa なら

$ alsamixer

でボリュームに MM がついてたら m キーを押して外せ。

  • サウンドサーバがサウンドデバイスを握っていないか

多分 GNOME なら esd、KDE なら arts が使われている。 何がサウンドデバイスを握っているかは

$ lsof /dev/snd/*

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

sarge で alsa が使えないんだけど

alsa を使うには

  • alsa-base
  • alsa-utils
  • alsa-modules-2.4.XXX (2.4 系カーネルの場合)

が必要です。 なお alsa-modules-2.4.XXX は、インストールされている kernel-image-2.4.XXX とバージョンが同じものを入れましょう。

oss と alsa が両方入っていると oss 優先され、alsa が使えません。 oss モジュールを読み込まないよう、/etc/discover.conf に

skip (oss のモジュール)

と書きましょう。

dmix の設定がよくわからない

alsa 1.0.9以降ではデフォルトで有効になっています。 それ以前のバージョンで dmix プラグインを使うには

pcm.dmixer {
  type dmix
  ipc_key 8243931931
  ipc_key_add_uid true
  slave {
    pcm "hw:0,0"
    period_time 0
    period_size 1024
    buffer_size 8192
    rate 44100
  }
  bindings {
    0 0
    1 1
  }
}

pcm.!default {
  type plug
  slave.pcm "dmixer"
}

pcm.dsp0 {
  type plug
  slave.pcm "dmixer"
}

ctl.mixer0 {
  type hw
  card 0
}

のよう感じで /etc/asound.conf もしくは ~/.asoundrc に保存。 これで alsa を使うアプリではミキシングしてくれるようになるはず。 もしノイズが乗るようなら rate を調整すれば直るかも。

1.0.9以降で dmix を無効にするには

pcm.!dmix {
        type hw
        card 0
}

とかかな。

OSS にしか対応してないアプリにはラッパーを使うといいかも。

# aptitude install alsa-oss
$ aoss mozilla

一部のデバイスを指定できるアプリでは、個別に指定する事もできます。 SDL アプリの場合は

$ AUDIODEV=plug:dmix hoge

EsounD の場合は

$ esd -d plug:dmix

参考:
http://alsa.opensrc.org/index.php?page=DmixPlugin

alsa のボリューム設定が勝手に保存されるのを止めたい

/etc/default/alsa の

alsactl_store_on_shutdown="always autosave"

alsactl_store_on_shutdown="never autosave"

に書き替えましょう。 shutdown 時に alsactl store を実行しなくなります。

もしくは

# dpkg-reconfigure alsa-base

で設定できる。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-12-12 (金) 22:58:00 (3171d)