動作確認環境:RedHatLinux9

ALSAサウンドドライバ(Ver0.9.x)


以下は、ALSAドライバのVer0.9.4の場合の説明です。Ver0.5.9の場合はこちらです。

ALSAサウンドドライバについて

  • ALSAサウンドドライバは、ALSA(Advanced Linux Sound Architecture)プロジェクトが開発しているサウンドドライバです。
  • Red Hat Linuxに組み込まれている標準ドライバ(OSS/Freeドライバ)でもサウンド再生は出来ますが、コマンドラインから利用できるALSAユーティリティを使用するのが目的です。


ALSAサウンドドライバ(Ver0.9.x)のインストール

  • まず、ALSA(Advanced Linux Sound Architecture)プロジェクトのページから以下のファイルをダウンロードします。ここでは、/tmpディレクトリにダウンロードするものとします。

    ・alsa-driver-0.9.4.tar.bz2
    ・alsa-lib-0.9.4.tar.bz2
    ・alsa-utils-0.9.4.tar.bz2

  • それぞれのファイルを展開します。
    $ cd /tmp
    $ bzcat alsa-driver-0.9.4.tar.bz2 | tar xvf -
    $ bzcat alsa-lib-0.9.4.tar.bz2 | tar xvf -
    $ bzcat alsa-utils-0.9.4.tar.bz2 | tar xvf -
    

  • driver->lib->utilsの順番にインストールします。
    $ cd /tmp/alsa-driver-0.9.4
    $ ./configure
    $ make
    $ su
    # make install
    
    ....
    
    WARNING!!! The mixer channels for the ALSA driver are muted by default!!!
    **************************************************************************
    You would use some ALSA or OSS mixer to set the appropriate volume.
    
    $ cd /tmp/alsa-lib-0.9.4
    $ ./configure
    $ make
    $ su
    # make install
    
    $ cd /tmp/alsa-utils-0.9.4
    $ ./configure
    $ make
    $ su
    # make install
    

  • 次に、デバイスファイルを作成します。
    # cd /tmp/alsa-driver-0.9.4
    # ./snddevices
    Creating /dev/mixer?... done
    Creating /dev/sequencer... done
    Creating /dev/midi?... done
    Creating /dev/dsp?... done
    Creating /dev/audio?... done
    Creating /dev/sndstat... done
    Creating /dev/music... done
    Creating /dev/dmmidi?... done
    Creating /dev/dmfm?... done
    Creating /dev/amixer?... done
    Creating /dev/adsp?... done
    Creating /dev/amidi?... done
    Creating /dev/admmidi?... done
    create symbolic link `/dev/mixer' to `/dev/mixer0'
    create symbolic link `/dev/midi' to `/dev/midi0'
    create symbolic link `/dev/dsp' to `/dev/dsp0'
    create symbolic link `/dev/audio' to `/dev/audio0'
    create symbolic link `/dev/sequencer2' to `/dev/music'
    create symbolic link `/dev/adsp' to `/dev/adsp0'
    create symbolic link `/dev/amidi' to `/dev/amidi0'
    rm: cannot remove `/dev/snd': ディレクトリです
    Creating /dev/snd/control?... done
    Creating /dev/snd/seq... done
    Creating /dev/snd/timer... done
    Creating /dev/snd/hw??... done
    Creating /dev/snd/midi??... done
    Creating /dev/snd/pcm??p... done
    Creating /dev/snd/pcm??c... done
    ALSA loader devices
    Creating /dev/aload?... done
    Creating /dev/aloadSEQ... done
    


設定ファイル(/etc/modules.conf)の作成(初回インストール時のみ)

  • 以下の作業は、初めてALSAをインストールする際に必要なもので、ドライバの更新のみであれば不要です。
  • ドライバに含まれるalsaconfを起動します。
    # cd /tmp/alsa-driver-0.9.0rc6/utils
    # ./alsaconf
    
  • 「ALSA CONFIGRATOR v0.9.0」が起動されます。<了解>を選択し、RETします。
  • カードがサーチされ、「Soundcard Selection画面」が表示されます。「emu10k1」と「legacy」の2つが表示されるので、「emu10k1」を選択しRETします。
  • 最後に、「etc/modules.conf」変更するか聞かれるので、<はい>を選択しRETします。
  • 以下の様にドライバがロードされます。
    Loading driver..
    Starting sound driver: snd-emu10k1 done
    No mixer config in /etc/asound.state, you have to unmute your card!
    Setting default volumes..
    Saving the mixer setup used for this in /etc/asound.state.
    ALSA lib conf.c:1564:(snd_config_load1) _toplevel_:6:8:Unexpected char
    ALSA lib conf.c:2820:(snd_config_hook_load) /etc/asound.conf may be old or corrupted: consider to remove or fix it
    ALSA lib conf.c:2666:(snd_config_hooks_call) function snd_config_hook_load returned error: Unknown error
    ALSA lib conf.c:3066:(snd_config_update_r) hooks failed, removing configuration
    /usr/sbin/alsactl: get_controls:486: snd_ctl_open error: Unknown error
    ===============================================================================
    
     Now ALSA is ready to use.
     For adjustment of volumes, please use alsamixer or gamix.
    
     Have a lot of fun!
    

  • 上記の途中でエラーが出ています。「/etc/asound.conf」が古いかまたは壊れているので、削除するか修復しなさいとのメッセージがあるので、ここでは「/etc/asound.conf.old」にリネームして再度実行しました。今度はOKでした。
    Loading driver..
    Starting sound driver: snd-emu10k1 done
    Setting default volumes..
    ===============================================================================
    
     Now ALSA is ready to use.
     For adjustment of volumes, please use alsamixer or gamix.
    
     Have a lot of fun!
    

  • 生成された「modules.conf」は、以下の様になりました。「# --- BEGIN: Generated by ALSACONF, do not edit. ---」より上の部分は、今までの設定がそのまま使われています。

    【/etc/modules.conf】
    alias scsi_hostadapter ncr53c8xx
    alias eth0 ne2k-pci
    alias parport_lowlevel parport_pc
    #alias sound-slot-0 emu10k1
    alias usb-controller usb-uhci
    
    # 2001.7.18 add
    # video capture card
    # i2c
    alias char-major-89		i2c-dev
    options i2c-core		i2c_debug=1
    options i2c-algo-bit	bit_test=1
    # bttv
    alias char-major-81		videodev
    alias char-major-81-0	bttv
    pre-install bttv		modprobe -k msp3400; modprobe -k tuner
    options bttv	card=49
    options tuner	type=15
    # --- BEGIN: Generated by ALSACONF, do not edit. ---
    # --- ALSACONF verion 0.9.0 ---
    alias char-major-116 snd
    alias snd-card-0 snd-emu10k1
    alias char-major-14 soundcore
    alias sound-slot-0 snd-card-0
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
    options snd major=116 cards_limit=1 device_mode=0666
    options snd-emu10k1 index=0
    # --- END: Generated by ALSACONF, do not edit. ---
    


インストール後の確認

  • 再起動後、lsmodコマンドでモジュールがロードされている事を確認します。

    # /sbin/lsmod
    Module                  Size  Used by    Not tainted
    snd-pcm-oss            44420   0  (autoclean)
    snd-mixer-oss          15480   0  (autoclean) [snd-pcm-oss]
    snd-emu10k1            80848   0  (autoclean)
    snd-pcm                83328   0  (autoclean) [snd-pcm-oss snd-emu10k1]
    snd-timer              15304   0  (autoclean) [snd-pcm]
    snd-hwdep               5888   0  (autoclean) [snd-emu10k1]
    snd-rawmidi            18400   0  (autoclean) [snd-emu10k1]
    snd-util-mem            3032   0  (autoclean) [snd-emu10k1]
    snd-seq-device          6176   0  (autoclean) [snd-emu10k1 snd-rawmidi]
    snd-ac97-codec         36100   0  (autoclean) [snd-emu10k1]
    snd                    39404   0  (autoclean) [snd-pcm-oss snd-mixer-oss snd-emu10k1 snd-pcm snd-timer snd-hwdep snd-rawmidi snd-util-mem snd-seq-device snd-ac97-codec]
    
    以下省略
    

  • デフォルト状態では、音量が0になっているので、ミキサを起動してボリュームを設定します。

  • alsa-utilsに含まれるaplayコマンドでサンプルの音声が再生される事を確認します。

    # aplay /usr/share/sndconfig/sample.au
    Playing Sparc Audio '/usr/share/sndconfig/sample.au' : Mu-Law, Rate 8000 Hz, Mono
    


トップへもどる


Copyright (c) 2002-2003 Hiroshi Nakamura. All rights reserved.