At Wed, 23 Aug 2006 19:22:37 +0100, James Courtier-Dutton wrote: > > Takashi Iwai wrote: > > At Wed, 23 Aug 2006 17:31:10 +0200, > > I wrote: > > > >>> So, 0 dB is when (volume - rec->min) / (max - min) == 1 > >>> So, for +6 dB gain, the volume will need to be higher than max? > >>> Does this sound right? In that case, maybe "max" is not a good name for > >>> it because volume can be greater than max. > >>> > >> Hm, right, I didn't think of overload case with a linear volume > >> codec. By min and max, I thought of a "segment" between mute and > >> 0dB (although not implemented rightly in alsa-lib). > >> > >> Maybe min and max should be in (0.01) dB expressions since the min and > >> max "values" are known from snd_ctl_elem_info. The only problem is > >> that we have no standard definition of "mute" in dB expression. > >> In alsa-lib, -9999999 indicates mute. But it should be defined as a > >> constant in a public header. > >> > > > > It turned out that minimal dB makes the computation too complicated, > > and chips are very likely from mute to a certain dB. So, I decided to > > drop the min dB there. > > > > The below are the revised patches. > > > > > > Takashi > > > I think you will find that your second approach is still wrong. > You need to first identify the 0dB point, and then the scale factor and > offset value for the linear component before the log10 conversion. > So, linear to log should be something like: > 20log10 ((linear / scale) - offset) What is linear and scale here? In my case, the calculation is so simple as below. The value y at x [0,max] is y = (x / max) * maxVal where maxVal = 10^(maxdB/20) so, in dB expression, Y = 20 * log10(y) = 20 * log10((x / max) * 10^(maxdB/20)) = 20 * log10(x/max) + maxdB Takashi ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel