[LAD] FIxed alsa-tools' envy24control missing peak level meters and "Reset Peaks"

Ralf Mardorf ralf.mardorf at alice-dsl.net
Tue Jul 27 09:11:01 UTC 2010


On Mon, 2010-07-26 at 20:15 -0400, Tim E. Real wrote:
> On July 16, 2010 10:10:48 pm Tim E. Real wrote:
> > > Here we go!   snd_mixer_selem_get_playback_dB(  )
> > >
> > > Problem solved? Accurate or not?
> Not accurate with AK4524 chip. Read on...

I've got two Terratec EWX 24/96, a while ago I checked the chips for the
older one of those cards and it has got a AK4524VF.

If more testers are needed, you may want to explain how to do a test.

> 
> >
> > Slider markings still not possible with this - it is only a 'current'
> > value.
> >
> > But that's OK, I'm now thinking markings on every slider would be clutter.
> > Instead, let's have a dB label below the integer value label, and use
> >  snd_mixer_selem_get_playback_dB() to fill it.
> >
> > I think that might be reasonable. dB markings may be impossible here...
> >
> 
> {snip}
> > I don't remember why I didn't try to take care of it,
> > if there was some difficulty in the actual dB numbers or
> > something, or probably just never got around to it.
> 
> {Much discussion elsewhere...}
> 
> Yikes! It's all coming back to me now, this can of worms.
> In my case the Delta101LT card has the AK4524 ADCs.
> The dB step of the IPGA stage is constant at 0.5dB, but the 
>  dB step of the DATT stage is not - anywhere from 6dB to 0.28dB !
> And remember the IPGA and DATT controls were combined, complicating things.
> Meanwhile, other AK chips' DATT stages are constant step.
> 
> ----------------
> Hey look what I found: A bunch of other dB related funcs like:
> 
> snd_mixer_selem_get_playback_dB_range (snd_mixer_elem_t *elem, 
>  long *min, long *max)
> "Get range in dB for playback volume of a mixer simple element. "
> 
> Now, this would certainly help with markings - if the dB step were constant.
> We would know by the number of integer steps where the 0dB point was etc.
> 
> But even better, look at this one! : 
> 
> snd_mixer_selem_ask_playback_vol_dB (snd_mixer_elem_t *elem, long value, 
>  long *dBvalue)
> "Return corresponding dB value to an integer playback volume for a 
>  mixer simple element. "
> 
> The thing is, for the AK4524, ALSA reports only a single constant 
>  step of 0.5, and says the minimum is -63.5dB, with 163 integer steps
>  and a max of +18.5dB. 
> It does kinda sorta all work out, but in a average step sort of way...
> ALSA would need to use a dB table (exists?) to be accurate here. 
> 
> So, we're basing our scales on somewhat dubious info.
> But no doubt these dB functions should be very helpful in drawing
>  scales for all ADC chips on ice1712 cards, no?
> 
> The "impossible" is possible?
> 
> Hope this helps. Tim.
> 
> _______________________________________________
> Linux-audio-dev mailing list
> Linux-audio-dev at lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-dev





More information about the Linux-audio-dev mailing list