Re: asoundrc ttable: integer only, no floating math?

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

 



> On Tue, Oct 29, 2013 at 04:11:38PM -0800, Roger wrote:
>> On Tue, Oct 29, 2013 at 08:01:35AM +0100, Clemens Ladisch wrote:
>>Roger wrote:
>>> On Mon, Oct 28, 2013 at 12:53:34PM +0100, Clemens Ladisch wrote:
>>>> Roger wrote:
>>>>> Trying to reduce my left and right channels to 0.5, but am noticing ALSA is
>>>>> only reading values specified as floating as "0".
>>>>>
>>>>> The below should reduce the volume slightly on channels left (0) and right (0),
>>>>> but it's obvious I'm getting the channel set to zero (0) or off.
>>>>>
>>>>> pcm.myHDMI {
>>>>>         type route slave {
>>>>>             pcm "hw:1,7"
>>>>>             format S32_LE
>>>>>             channels 6 }
>>>>>         ttable {
>>>>>             0.0= 0.9
>>>>>             1.1= 0.9
>>>>>             2.4= 1
>>>>>             3.5= 1
>>>>>             4.2= 1
>>>>>             5.3= 1
>>>>>         }
>>>>> }
>>>>
>>>> The ttable entries are floating-point numbers, except when alsa-lib was
>>>> configured --with-softfloat.
>>>
>>> configure:12281: checking for softfloat
>>> configure:12299: result: no
>>
>>What is the output of "aplay -v -D myHDMI something.wav"?
>
>
>$ aplay-hdmi -v -D myHDMIX Music/Mozart/Essential_Mozart-1/01._Allegro_\(from_Eine_kleine_Nachtmusik\,_K525\).wav 
>Playing WAVE 'Music/Mozart/Essential_Mozart-1/01._Allegro_(from_Eine_kleine_Nachtmusik,_K525).wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
>Route conversion PCM (sformat=S32_LE)
>  Transformation table:
>    0 <- 0*0.9
>    1 <- 1*0.9
>    2 <- 4
>    3 <- 5
>    4 <- 2
>    5 <- 3


NOTE: I've renamed the ttable transformation profile for reducing front left 
and front right channels to myHDMIX within my asounrc file.

A little more testing shows two channel stereo mixes using the transformation 
table as expected, and I do hear the reduced front left and front right 
channels when setting the values to other decimal values such as 0.1 to 0.9.

And, this problem of treating 0.9 (or any decimal value below 1.0) as 0 occurs 
when playing back PCM 5.1 wav streams and not two channel stereo streams!

The below execution definitely displays output of both front left and front 
right channels being completely omitted from playback when using any decimal 
value within ttable.  Setting the channels to 1 or even "1.0", the channel(s) 
can obviously be heard.  Also, ALSA is apparently properly storing the proper 
decimal (ie. 0.9 or 1.0) value within it's variables.


$ aplay-hdmi -v -D myHDMIX Music/Led_Zeppelin/Celegration_Day/PCM51-24bit/01.Good_Times_Bad_Times.wav 
Playing WAVE 'Music/Led_Zeppelin/Celegration_Day/PCM51-24bit/01.Good_Times_Bad_Times.wav' : Signed 24 bit Little Endian in 3bytes, Rate 48000 Hz, Channels 6
Route conversion PCM (sformat=S32_LE)
  Transformation table:
    0 <- 0*0.9
    1 <- 1*0.9
    2 <- 4
    3 <- 5
    4 <- 2
    5 <- 3
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S24_3LE
  subformat    : STD
  channels     : 6
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 24
  buffer_size  : 24000
  period_size  : 6000
  period_time  : 125000
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 6000
  period_event : 0
  start_threshold  : 24000
  stop_threshold   : 24000
  silence_threshold: 0
  silence_size : 0
  boundary     : 6755399441055744000
Slave: Hardware PCM card 1 'HDA NVidia' device 7 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 6
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 32
  buffer_size  : 24000
  period_size  : 6000
  period_time  : 125000
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 6000
  period_event : 0
  start_threshold  : 24000
  stop_threshold   : 24000
  silence_threshold: 0
  silence_size : 0
  boundary     : 6755399441055744000
  appl_ptr     : 0
  hw_ptr       : 0

-- 
Roger
http://rogerx.freeshell.org/

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user




[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux