[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:23777] intel8x0 + alsa + multichannel mixing



----+----1----+----2----+----3----+----4----+----5----+----6----+----7

MOUE です.忘備録も兼ねて長くなります...すいません.

plamo-4.01 でサウンドカード intel8x0 を alsa ( 初期設定のままで
何も手をいれていません.) で使っています.
ソフト側の volume コントロールは効きません.これは別問題のよう
なのでふれません.

$ /sbin/lspci | grep audio
00:1f.5 Multimedia audio controller: 
Intel Corp. 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)

ac97 は CMedia です.( oss に変えた時の dmesg から )

$ /sbin/lsmod | grep snd
snd-seq-oss            22624   0
snd-seq-midi-event      3424   0 [snd-seq-oss]
snd-seq                34672   2 [snd-seq-oss snd-seq-midi-event]
snd-pcm-oss            36168   0
snd-mixer-oss          11832   0 [snd-pcm-oss]
snd-intel8x0           18284   0
snd-ac97-codec         47612   0 [snd-intel8x0]
snd-pcm                56100   0 [snd-pcm-oss snd-intel8x0]
snd-timer              13316   0 [snd-seq snd-pcm]
snd-page-alloc          5656   0 [snd-intel8x0 snd-pcm]
gameport                1548   0 [snd-intel8x0]
snd-mpu401-uart         3024   0 [snd-intel8x0]
snd-rawmidi            12512   0 [snd-mpu401-uart]
snd-seq-device          3696   0 [snd-seq-oss snd-seq snd-rawmidi]
snd                    30276   0 [snd-seq-oss snd-seq-midi-event snd-seq snd-pcm-oss snd-mixer-oss snd-intel8x0 snd-ac97-codec snd-pcm snd-timer snd-mpu401-uart snd-rawmidi snd-seq-device]
soundcore               3524   6 [snd]

$ /sbin/lsmod | grep agp
agpgart                42276  11 (autoclean)

-- 症状 --
4.01 を入れてから,あるプログラム(例えば xmms で mp3 を再生) を使って
いる時に,同時に別なサウンドイベント(例えば some.wav を鳴らす) を発生
させても先に掴んでいる xmmsしか鳴らない状態でしたので,esound が効かな
いのかな? などと思ったりしてました.
時報を鳴らしたりしているので,何とか解決したかったのです.

3.x では使えていた esdplay もダンマリなので,4.x では aplay で wav
や au を鳴らしています.

-- 解決法 --
いろいろ調べてみましたら,どうやら alsa + multichannel mixing に
関する問題のようでした.

[ intel8x0 での Troubleshooting -- multichannel mixing ]
http://opensrc.org/alsa/index.php?page=intel8x0
&
http://opensrc.org/alsa/index.php?page=DmixPlugin

ここの解決法に従って,~/.asoundrc を以下の内容で作成.

---- ~/.asoundrc -------------------

pcm.amix {
    type dmix
    ipc_key 50557
    slave {
        pcm "hw:0,0"
        period_time 0
        period_size 1024
        buffer_size 8192
    }
    bindings {
        0 0
        1 1
    }
}
pcm.!default { # route ALSA software through pcm.amix
    type plug
    slave.pcm "amix"
}

-----------------------

試しに,
$ mplayer -ao alsa:device=amix foobar.mp3
これで mp3 を再生中に,
$ /usr/bin/aplay some.wav 
を実行,問題なく鳴りました.

事後の対処:

[ mplayer ]

$ cat .mplayer/config 
# Write your default config options here!
ao=alsa:device=amix

[ gmplayer ]

$ grep ao .mplayer/gui.conf 
ao_driver = "alsa"
ao_volnorm = "no"
ao_surround = "no"
ao_extra_stereo = "no"
ao_extra_stereo_coefficient = "1.000000"
ao_oss_mixer = "/dev/mixer"
ao_oss_device = "amix"

一応同時に音がでるようには鳴りましたが,相変わらず 「/dev/mixer
が無いよ」,というエラーがうるさく出ます.
$ ls -l /dev/mixer
lrwxrwxrwx    1 root  root   6 Sep 18 18:47 /dev/mixer -> mixer0

[ xine & gxine ]

$ grep audio.driver .xine/config 
# audio driver to use
#audio.driver:auto

default の auto のままで,なにもしなくても multi 再生可能でした.

[ xmms ]

contrib の xmms をインストールしていたので,
$ grep output .xmms/config 
output_plugin=/usr/lib/xmms/Output/libALSA.so

このように変更しても,「設定を見直せ」と言われます.
そこで,xmms-1.2.10.tar.bz2 を取ってきて入れ直し.

~/.xmms/config に以下が追加され,multi 再生ができました.

[ALSA]
buffer_time=500
period_time=50
mmap=TRUE
pcm_device=default
mixer_card=0
mixer_device=PCM
soft_volume=FALSE
volume_left=100
volume_right=100

( soft_volume=TRUE にしてみても,これはやはりダメでした.)

-- 
+----------+----------+----------+----------+----------+
MOUE

Follow-Ups
[plamo:23778] Re: plamo4.01_1 alsa, Chie Nakatani

[検索ページ] [メール一覧]
Plamo ML 公開システム