• 対象とするUbuntuのバージョン

    • 10.04 Lucid Lynx
    • 9.10 Karmic Koara

UbuntuをPCにインストール後、音がでなかった場合に確認するべき項目と手順の一例を示します。$で始まる行はコマンドを表します。端末を開いてコマンドを入力して下さい。

サウンドデバイスがPCに認識されているかの確認

$ lspci | egrep -i multimedia\|audio 

と入力し、サウンドデバイスが表示されるか確認します。

(出力例)

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) 

さらに、

lspci -v | less 

として詳細の確認もできます(jで1行下に、kで1行上にスクロール。SPCで1ページ下、bで1ページ上にスクロール。/に続いて検索文字列入力し、エンターで検索、qで終了)。 もしくは下記のコードを端末で実行して下さい。

lspci -v -s `lspci | grep -i audio | sed -e 's/\(\w*\)\s.*/\1/'` 

(出力例)

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
         Subsystem: ASRock Incorporation Device 2888
         Flags: bus master, slow devsel, latency 32, IRQ 16
         Memory at fe8f4000 (64-bit, non-prefetchable) [size=16K]
         Capabilities: <access denied>
         Kernel driver in use: HDA Intel
         Kernel modules: snd-hda-intel 

この場合、Kernel driver in use:の項目を見ると、HDA Intelドライバが使用されており、そのKernel module名がsnd-hda-intelであることが判ります。

ALSAレベルでサウンドデバイスが認識されているかの確認

$ cat /proc/asound/cards 

として、デバイス名とチップ名が表示されるか確認します。

(出力例)

0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfe8f4000 irq 16

この場合、SBがalsaの認識するデバイス名です。最初の数字がデバイスの番号を示します。0番目のサウンドデバイスで使用されているCodecを調べるには、下記を実行して下さい。

$ cat /proc/asound/card0/codec*  | grep -i codec 

(出力例)

Codec: Realtek ALC888 

この場合、CodecがRealtek ALC888となります。

cat: /proc/asound/card0/codec97#0: Is a directory 

のようにエラーとなる場合は、codec97をディレクトリ名に含むものに対し(上記例では/proc/asound/card0/codec97#0)

$ cat /proc/asound/card0/codec97#0/* | head -n1 

を実行して下さい。

(出力例)

0-0/0: Realtek ALC655 rev 0 

この場合、CodecがRealtek ALC655となります。

これらの情報が使用しているH/Wに合致していることを確認して下さい。

PulseAudioを使う設定になっているか確認

$ aplay -L 

として、出力に、

pulse     Playback/recording through the PulseAudio sound server 

のような行が含まれているかを確認します。

出力の設定、ボリュームの確認

システム -> 設定 -> サウンドを開き、出力のタブから音声の出力に使いたいデバイスを選択します。同じウィンドウにマスターボリュームの設定があります。また、アプリケーションタブに、アプリケーション毎のボリューム設定があります(再生中しか表示されません)。適切な音量に設定し、ミュートにチェックがついていれば、外して下さい。

接続の確認

「出力の設定、ボリュームの確認」で指定したデバイスと、スピーカーが接続されているか確認します。M/Bにサウンドチップが搭載されていて、かつ、別体のサウンドカードを追加している場合は要注意です。 ここまでで、通常は音が出るようになるかと思います。

解決策の適用

上記までの手順で原因が判明しなかった場合、サウンドデバイスを誤認識して間違った設定でドライバが読み込まれている可能性があります。ALSAのサイトでチップ名から検索をかけたり、PCの型式(主にノートパソコンやネットブックの場合)や、M/Bの型式(主に自作デスクトップの場合)とalsaのドライバ名でgoogleなどの検索エンジンで検索すると、解決策が見つかることが多いです。あなたのUbuntuシステムの/usr/share/doc/alsa-base/以下にも有用なドキュメントが入っているはずですので、そちらも参照下さい。 また、ALSAのバージョンを調べておくと、既知の問題でないか、より新しいバージョンのALSAで修正されていたりしないかなど調べる助けとなるでしょう。

$ cat /proc/asound/version 

とすることでALSAのバージョンが調べられます。

(出力例)

Advanced Linux Sound Architecture Driver Version 1.0.21. 

この場合、1.0.21がALSAのバージョンです。

必要な追加オプションなどが見つかったら、

$ gksu gedit /etc/modprobe.d/alsa-base.conf 

として、管理者権限で設定ファイルを開き、追加オプションを書き加えます。 また、より新しいバージョンのALSAが必要であることが判った場合、バックポートのALSAを導入することで解決できるかも知れません。

Warning /!\ backportsの意味合いについては関連サイトの項目よりUbuntuBackportsを参照し、理解した上で適用するかどうかを判断して下さい。generic kernelの場合、

  • linux-backports-modules-alsa-lucid-generic
  • linux-backports-modules-alsa-karmic-generic

などがバックポートのALSAのパッケージ名です。

設定変更の反映

modprobe.d以下のファイルを編集したり、ALSAのバージョンアップをした場合は、システムを再起動して下さい。

関連サイト

UbuntuJapaneseWiki: UbuntuTips/Hardware/SoundTroubleshooting (最終更新日時 2012-01-10 11:49:23 更新者 匿名)