[Alsa-user] Audigy 2 NX configuration
Brought to you by:
perex
From: Chris <ch...@mo...> - 2005-05-30 17:12:44
|
(warning: long/involved message) I'm hoping some kind soul can help me get this device working. It's really close - I went through the ML archives but didn't see anything in there that had a good/valid asound.conf or other discussion. I haven't been able to pluck out the relevant bits from the wiki to make this beastie work either. I'm at the point where I've been trying to make this work for too long and am not seeing the solution. :( System is Gentoo Linux, kernel 2.6.11-gentoo-r9, alsa 1.0.8 built into the kernel. I've got both the via82xx (onboard VIA EPIA mobo audio) and snd-usb-audio (Audigy 2 NX) "working" and am planning on using both. // // cat /etc/make.conf | grep ALSA // ALSA_CARDS="via82xx,emu10k1,usb-audio" // // cat /etc/modules.d/alsa // # ALSA portion alias char-major-116 snd alias snd-card-0 snd-usb-audio alias snd-card-1 snd-via82xx options snd-usb-audio index=0 id="audigy" options snd-via82xx index=1 dxs_support=3 id="via" # OSS/Free portion alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-slot-1 snd-card-1 # OSS/Free portion - card #1 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 # OSS/Free portion - card #2 alias sound-service-1-0 snd-mixer-oss alias sound-service-1-1 snd-seq-oss alias sound-service-1-3 snd-pcm-oss alias sound-service-1-8 snd-seq-oss alias sound-service-1-12 snd-pcm-oss alias /dev/sound/mixer snd-mixer-oss alias /dev/sound/dsp snd-pcm-oss alias /dev/sound/midi snd-seq-oss # Set this to the correct number of cards. options snd cards_limit=2 // // lsmod // Module Size Used by snd_pcm_oss 54304 0 snd_mixer_oss 20512 1 snd_pcm_oss snd_seq_oss 36064 0 snd_seq_midi_event 7904 1 snd_seq_oss snd_seq 55760 4 snd_seq_oss,snd_seq_midi_event snd_via82xx 27936 0 snd_ac97_codec 78840 1 snd_via82xx snd_mpu401_uart 8192 1 snd_via82xx snd_usb_audio 67904 0 snd_pcm 96872 4 snd_pcm_oss,snd_via82xx,snd_ac97_codec,snd_usb_audio snd_timer 26596 2 snd_seq,snd_pcm snd_page_alloc 10020 2 snd_via82xx,snd_pcm snd_usb_lib 13440 1 snd_usb_audio snd_rawmidi 25536 2 snd_mpu401_uart,snd_usb_lib snd_seq_device 8652 3 snd_seq_oss,snd_seq,snd_rawmidi snd 56068 12 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_via82xx,snd_ac97_codec ,snd_mpu401_uart,snd_usb_audio,snd_pcm,snd_timer,snd_rawmidi,snd_seq_dev ice soundcore 10528 1 snd vt1211 23220 0 via686a 20184 0 i2c_sensor 3520 2 vt1211,via686a // // ls -l /dev/sound /dev/snd // /dev/snd: total 0 crw-rw---- 1 root audio 116, 0 May 30 12:42 controlC0 crw-rw---- 1 root audio 116, 32 May 30 12:42 controlC1 crw-rw---- 1 root audio 116, 24 May 30 12:42 pcmC0D0c crw-rw---- 1 root audio 116, 16 May 30 12:42 pcmC0D0p crw-rw---- 1 root audio 116, 56 May 30 12:42 pcmC1D0c crw-rw---- 1 root audio 116, 48 May 30 12:42 pcmC1D0p crw-rw---- 1 root audio 116, 57 May 30 12:42 pcmC1D1c crw-rw---- 1 root audio 116, 49 May 30 12:42 pcmC1D1p crw-rw---- 1 root audio 116, 1 May 30 12:42 seq crw-rw---- 1 root audio 116, 33 May 30 12:42 timer /dev/sound: total 0 crw-rw---- 1 root audio 14, 28 May 30 12:42 adsp1 crw-rw---- 1 root audio 14, 4 May 30 12:42 audio crw-rw---- 1 root audio 14, 20 May 30 12:42 audio1 crw-rw---- 1 root audio 14, 3 May 30 12:42 dsp crw-rw---- 1 root audio 14, 19 May 30 12:42 dsp1 crw-rw---- 1 root audio 14, 0 May 30 12:42 mixer crw-rw---- 1 root audio 14, 16 May 30 12:42 mixer1 crw-rw---- 1 root audio 14, 1 May 30 12:42 sequencer crw-rw---- 1 root audio 14, 8 May 30 12:42 sequencer2 How do I make the device work with 4.0 sound? This is going into a car so I only need balance (left-right) and fader (front-back) and a master volume/mute. I also have another sound card input to the NX2 but can't figure out how to control that volume level properly. If I put the second card into the NX Mic in port the volume from that is really loud. If I put it in the NX's line in it is really quiet. Is there a way to "tune" this? The input is line out from an onboard chipset so it should really go into the line in on the NX. Is there something I can stick in asound.conf to make this work? I've been plugging away at the stuff at the alsa wiki. I've tried making/tweaking examples from the wiki but nothing seems to have an effect. Here is my aplay -l output: // // aplay -l // **** List of PLAYBACK Hardware Devices **** card 0: audigy [SB Audigy 2 NX], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: via [VIA 8235], device 0: VIA 8235 [VIA 8235] Subdevices: 4/4 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 card 1: via [VIA 8235], device 1: VIA 8235 [VIA 8235] Subdevices: 1/1 Subdevice #0: subdevice #0 // // aplay -L // PCM list: hw { @args.0 CARD @args.1 DEV @args.2 SUBDEV @args.CARD { type string default { @func getenv vars { 0 ALSA_PCM_CARD 1 ALSA_CARD } default { @func refer name 'defaults.pcm.card' } } } @args.DEV { type integer default { @func igetenv vars { 0 ALSA_PCM_DEVICE } default { @func refer name 'defaults.pcm.device' } } } @args.SUBDEV { type integer default { @func refer name 'defaults.pcm.subdevice' } } type hw card $CARD device $DEV subdevice $SUBDEV } plughw { @args.0 CARD @args.1 DEV @args.2 SUBDEV @args.CARD { type string default { @func getenv vars { 0 ALSA_PCM_CARD 1 ALSA_CARD } default { @func refer name 'defaults.pcm.card' } } } @args.DEV { type integer default { @func igetenv vars { 0 ALSA_PCM_DEVICE } default { @func refer name 'defaults.pcm.device' } } } @args.SUBDEV { type integer default { @func refer name 'defaults.pcm.subdevice' } } type plug slave.pcm { type hw card $CARD device $DEV subdevice $SUBDEV } } plug { @args.0 SLAVE @args.SLAVE { type string } type plug slave.pcm $SLAVE } dmix { @args.0 SLAVE @args.1 FORMAT @args.2 RATE @args.SLAVE { type string default 'hw:0,0' } @args.FORMAT { type string default S16_LE } @args.RATE { type integer default 48000 } type dmix ipc_key 5678293 ipc_key_add_uid yes slave { pcm $SLAVE format $FORMAT rate $RATE } } dsnoop { @args.0 SLAVE @args.1 FORMAT @args.2 RATE @args.SLAVE { type string default 'hw:0,0' } @args.FORMAT { type string default S16_LE } @args.RATE { type integer default 48000 } type dsnoop ipc_key 5778293 ipc_key_add_uid yes slave { pcm $SLAVE format $FORMAT rate $RATE } } shm { @args.0 SOCKET @args.1 PCM @args.SOCKET { type string } @args.PCM { type string } type shm server $SOCKET pcm $PCM } tee { @args.0 SLAVE @args.1 FILE @args.2 FORMAT @args.SLAVE { type string } @args.FILE { type string } @args.FORMAT { type string default raw } type file slave.pcm $SLAVE file $FILE format $FORMAT } file { @args.0 FILE @args.1 FORMAT @args.FILE { type string } @args.FORMAT { type string default raw } type file slave.pcm null file $FILE format $FORMAT } null { type null } cards 'cards.pcm' front 'cards.pcm.front' rear 'cards.pcm.rear' center_lfe 'cards.pcm.center_lfe' side 'cards.pcm.side' surround40 'cards.pcm.surround40' surround41 'cards.pcm.surround41' surround50 'cards.pcm.surround50' surround51 'cards.pcm.surround51' surround71 'cards.pcm.surround71' iec958 'cards.pcm.iec958' spdif 'cards.pcm.iec958' modem 'cards.pcm.modem' default 'cards.pcm.default' (note: surround40 and friends don't do anything, invoke a null plugin) I tried this in the asound.conf and am getting some useful results. But I can't seem to be able to apply the device I created called S40 to /dev/sound/dsp. If I do something like "aplayer -DS40 /home/MP3/Trainspotting/2/10 nightclubbing (iggy pop).mp3" I get output over the front and rear channels. I can't figure out how to get it to be used in gqmpeg though (gqmpeg needs a /dev/sound/device style interface). Using aoss to play the mp3 bears this out also. // // /etc/asound.conf // dshare { type dmix ipc_key 2048 slave { pcm hw:0 rate 48000 period_time 0 period_size 1024 buffer_size 8192 channels 4 } bindings { 0 0 1 1 2 2 3 3 } } frontx { type plug slave { pcm dshare channels 4 } ttable.0.0 1 ttable.1.1 1 } rearx { type plug slave { pcm dshare channels 4 } ttable.0.2 1 ttable.1.3 1 } S40 { type plug slave { pcm dshare channels 4 } ttable.0.0 1 ttable.0.2 1 ttable.1.1 1 ttable.1.3 1 } Can some one give some pointers? I guess I need to map S40 to /dev/sound/dsp somehow? A pointer about the input and master volume would be appreciated as well. -- http://moose.ca |