Hi again, a few more comments: 1. changes via amixer do not show up in hdspmixer. You have to rely on your ears. 2. as I guessed before the output attenuation is only on the software side. I looked at the hdspmixer-code, and there it is: //--HDSPMixerWindow.cxx---------------------------------------------------------- attenuation_l = (double)(outputs->strips[dst*2]->fader->posToInt(outputs->strips[dst*2]->fader->pos[0]))/65535.0; attenuation_r = (double)(outputs->strips[dst*2+1]->fader->posToInt(outputs->strips[dst*2+1]->fader->pos[0]))/65535.0; left_val = attenuation_l* vol * (1.0 - pan); right_val = attenuation_r* vol * pan; muted: snd_ctl_elem_value_set_integer(ctl, 0, src*cards[current_card]->playbacks_offset+cards[current_card]->channel_map[idx-1]); snd_ctl_elem_value_set_integer(ctl, 1, cards[current_card]->dest_map[dst]); snd_ctl_elem_value_set_integer(ctl, 2, (int)left_val); if ((err = snd_ctl_elem_write(handle, ctl)) < 0) { //--HDSPMixerWindow.cxx---------------------------------------------------------- 3. hdspmixer and amixer use the same underlying API, thus if your card works with hdspmixer it definitely also will with amixer. It is just a matter of finding the correct settings. I would suggest simply to try out all possibilities (for a single software output, let's say channel 0), this is a maximum of 26 trials; with a steady software output signal you can do that in less than a minute. 4. The factory default of ALSA drivers is to mute everything, and the factory default for hdspmixer is a direct routing of software channels to hardware channels (maybe with exceptions). -- Giso Klaus Schulz wrote: > If you read the thread at alsa-devel - you refered to below - it seems > that more people were facing this issue already in 2003. > > It seems that the whole thing works only, if you use the default > setting/routing. > > Currently at factory default HDSPmixer routes the first playback > channel to the first Adat output, which happens to sit right below > playback out1/out2 in the HDSPmixer graphics. > > > Correspondingly this would mean I need to use an Alsaplayback channel > out 13/14 to get to AN3+4. I think it is worth a try. > But - how do I output data to alsa-playback channel 13/14 on my device 0 > ? I am using ecasound and alsaoutput 0,0 right now for out1/out2. No > idea how to assign 13/14. > > Since the earlier discussed amixer method won't work -- at least in my > case - I am wondering if the commands > > /usr/bin/amixer -c 0 cset numid=5 26,2,32768 > /usr/bin/amixer -c 0 cset numid=5 27,3,32768 > > reflect the HDSP logic: > > The logic in HDSPmixer to setup the route from Alsa Out1/Out2 to my > AN3+4 output: > > 1. Assign playback channels Out1/Out2 to AN3+4 output channels. This > will automatically mute playback channels out1/out2 . Now you need to > unmute the playback channels. > Only this action will activate the new outputs. ( This you'll see if you > look in the HW-output selection field) > > The output channels AN3+AN4 themselves run at 100% or 0db at factory > default. No need to touch them. However would be nice to know how to > control these with amixer. > > (Note: What's strange though playback output 15/16 is muted by default!?!) > > Were not yet ready: > > To get rid of a connection e.g. the default Adat routing, since now > traffic is routed to AN3+4 AND Adat A1+2 you: > > 2. Select the Adat channels A1/A2 on playback channel Out1/Out2. Now you > mute and then unmute manually playback channels Out1/Out2. Without this > manual action nothing will change. > No idea how to do that with amixer. > > The mute/unmute of playback outputs seem to play fundamental role in the > routing process. Perhaps something in this area goes wrong. Again: Is > there a way to explicitely control channel > volume with amixer? > > ( Beside that I figured that "mute" on MASTER and Playback Outs, does > not work at all with HDSPmixer) > > Cheers > \Klaus > > > > > > > > On Fri, Oct 23, 2009 at 9:16 AM, Giso Grimm <gg3137@xxxxxxxxx > <mailto:gg3137@xxxxxxxxx>> wrote: > > Hi Klaus, > > I hope you don't mind that I copy the reply to LAU (there are a lot RME > hdsp-users who probably know more about it that I do). > > > Klaus Schulz wrote: > > 1. Could you please share your .asoundrc. I guess it is the .asoundrc > > where you set "DSP". > > It is not defined in the .asoundrc, but on ALSA itself: Try "cat > /proc/asound/cards" and find out the ALSA-name of your card, e.g. here > on my office PC it is: > > 0 [PAD ]: Digi96 - RME Digi96/8 PAD > RME Digi96/8 PAD at 0xfd000000, irq 21 > 1 [DSP ]: H-DSP - Hammerfall DSP > RME Hammerfall HDSP 9632 at 0xfeae0000, irq 21 > 2 [ICH5 ]: ICH4 - Intel ICH5 > Intel ICH5 with AD1985 at irq 17 > > (the hdsp9652 is at home). > > > 2. 32768=0db refers to the playback controls, They run at 0db@32768 > > and +6db@64k > > However this seems to be somewhat different on the ouptuts. > 0db=max > > position. I'd guess this should be 64k by default. > > Question: What do I actually control with below commands? I guess > > the playback-inputs only. How do I control the output channels? > > Probably I need to set it to 0db to. > > The mixer in the hdsp cards can control routing from hardware inputs to > hardware outputs (for 'zero' latency monitoring) and the software output > to hardware outputs. > > Hardware inputs are channels 0-25, software outputs 26-51, hardware > outputs 0-25. I don't think you can control the playback attenuation > with amixer. It might be (but that is a guess) that hdspmixer attenuates > the output channels only in software (by adding the output attenuation > to all relevant input/playback channels); When controlling only via > amixer I do not have to configure the output attenuation. > > The channel mapping is also discussed here: > > http://www.mail-archive.com/alsa-devel@xxxxxxxxxxxxxxxxxxxxx/msg06019.html > > > 3. I tried without success: > > > > /usr/bin/amixer -c 0 cset numid=5 26,2,32768 #first > playbackchannel to > > first output of analog extension board (ch2) > > /usr/bin/amixer -c 0 cset numid=5 27,3,32768 #first > playbackchannel to > > first output of analog extension board (ch3) > > The channel numbering starts with zero. I do not know if the extension > board uses the same channels as ADAT out, maybe try also channels 8-15. > > > Cheers! > > Giso > > _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user