counter(Since july, 6, 1998)

Advanced Linux Sound Architecture をつかってみる

ftp://ftp.mew.org/pub/linux/alsa/ のalsaのftpのミラーは近々閉めます。
ftp://ftp.jaist.ac.jp/os/linux/alsa/を使うようにしてください。

ひさしぶりに更新。0.30に対応させた。

OSSなんかいらねえぜ。ってぺえじでし。 下に書いた川口氏のとこにalsa-0.20のことがあるぞ。 ま、方法はかわらないんだけどね。

おしながき

  1. ALSAって?
  2. つかいかた
  3. 音量の設定amixerを使った方法に修正。(7/12)

freeampと組めば無敵かも。 ALSAなページが川口くんのとこにもできたので参考にしませう。

ALSA

Linuxで音を出すときに、カーネルに含まれるOSS/Freeをつかってサウンドカードを ドライブするわけですがこれは古い。そうなると
  1. OSS/うりもの or ふりーを使う
  2. ALSAを使う
ってのがあります。 まあOSSのほうが一般的ですが、つまらない、ってのとCPUを食うのがあるので 新らしもの好きなひとはALSAを使いませう。

http://alsa.jcu.cz/が本拠地。

まあ、OSSより何が良いかといえば、

  1. GPL2だぜ
  2. カーネル2.1でも使えるぜ(ときどき使えないときもあるけど、それは開発カーネルなんでしょうがないよね。
  3. /procに反映されるぜ
  4. DMAバッファが128KBもつかえるので、音が切れないぜ!
  5. full dulplexだぜ
  6. OSSよりも音がよい。
ってなわけで、使わない理由はないのだ。

つかいかた

コンパイルのしかたなど。
  1. 自分のカーネルにOSSなどのサウンドのコンパイルがされていたら はずす。必要ならカーネルを作りなおそう。
  2. ftp://alsa.jcu.cz/pub/driverから ドライバを持ってくる
  3. 展開して、 ./configure && make && make install && ./snddevices でおわり。
  4. /etc/conf.modulesの設定をする。 例えば、私の東芝Equium(Pentium MMX 200なデスクトップ)なら サウンドブラスタ16互換みたいなので、
    alsa-0.3では snd-pcm-ossではなく、snd-pcm1-ossになる
    alias char-major-14 off
    alias snd-minor-oss-0 snd-mixer
    alias snd-minor-oss-3 snd-pcm-oss
    alias snd-minor-oss-4 snd-pcm-oss
    alias snd-minor-oss-5 snd-pcm-oss
    alias snd-card-0 snd-sb16
    options snd snd_major=14 snd_cards_limit=2
    options snd-sb16 snd_index=1 snd_port=0x220 snd_irq=10 snd_dma8=1 snd_dma8_size=
    16 snd_dma16=5
    
    とした。リソースは適当にいじるようにする。
  5. /etc/modules で、起動時に組まれるように、
    snd-sb16
    
    の一行を加えるだけ。

音量の設定

例によって、asmixerとかの音量をコントロールするツールを使えばよい。

ま、alsaネイティブのツールもある。以下紹介。

まずは、ライブラリのインストール
ftp://alsa.jcu.cz/pub/lib からとってきて、 ./onfigure && make && make install
ツールのインストール
ftp://alsa.jcu.cz/pub/utils からとってきて、 ./onfigure && make && make install する。
alsamixer
ncursesをつかったミキサ。
amixer
ただのミキサ。
何にしてもミキサをつかって調整すると、/proc/sound/なんばー/mixer0 に (なんばー:サウンドカードの数字。1まい目なら0)
 0 31 15 15
Channel 'Bass' 0 15 0 0
Channel 'Treble' 0 15 0 0
Channel 'Synth' 0 31 6 6
Channel 'PCM' 0 31 23 23
Channel 'Line-In' 0 31 0 0
Channel 'MIC' 0 31 0 0
Channel 'CD' 0 31 7 7
Channel 'In-Gain' 0 3 0 0
Channel 'Out-Gain' 0 3 0 0
Channel 'PC Speaker' 0 3 1 1
のようになる。

amixerを使うと、、

washu:~$ amixer 
CLI ALSA Mixer v0.1 (c) 1998 Adnans

Master          65 % (-22.00dB) : 65 % (-22.00dB)         
Bass            0  % (-14.00dB) : 0  % (-14.00dB)         
Treble          0  % (-14.00dB) : 0  % (-14.00dB)         
Synth           0  % (-62.00dB) : 0  % (-62.00dB)         
PCM             63 % (-22.00dB) : 63 % (-22.00dB)         
Line-In         0  % (-62.00dB) : 0  % (-62.00dB)         
MIC             0  % (-62.00dB) : 0  % (-62.00dB)         
CD              52 % (-30.00dB) : 52 % (-30.00dB)         
In-Gain         0  % (-18.00dB) : 0  % (-18.00dB)         
Out-Gain        0  % (-18.00dB) : 0  % (-18.00dB)         
PC Speaker      0  % (-18.00dB) : 0  % (-18.00dB)         
が、これでよかったら、 amixer -w をすると、~/.amixerrc に書かれる。で、 自分の起動スクリプトあたりに、 amixer -rを書いておけば、よんでくれる。
ホームページへ /