defaults.pcm.rate_converter not respected?

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

 



Hi,
I've got Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) 
sound card which support most of sample rates used in my music library so I 
have set my sw players to send audio streams straight to the "hw:0,0" device 
(or to one of virtual devices containing chain of ladspa plugins I've added to 
asound.conf) to prevent pointless and counterproductive resampling of dmix or 
pulseaudio. Only one of my albums is recorded at a weird frequency: 88200Hz 
which has to be resampled to the nearest 96000Hz to be able to be accepted by 
my sound card. Allegedly Alsa uses poor resampler by default so I've put 
"defaults.pcm.rate_converter "speexrate_best"" line to asound.conf. Now If I 
play a 882000Hz track in mpd I can see in a performance monitor it uses 
significantly more CPU when "speexrate_best" is set in comparison with the 
bare "speexrate" so I guess mpd respects my "defaults.pcm.rate_converter" 
value. But when played the same track in mplayer the CPU load is the same 
regardless of the "defaults.pcm.rate_converter" value used. Moreover when 
mplayer is started with "-af-adv force=3" parameter to disable internal 
resampling playing of such a track is stopped with an error even though "alsa" 
or "alsa:device=hw=0.0" is set as the audio output. Could it be a wrong setup 
of asound.conf? Maybe I need to specify a specific sample rate to be streams 
converted to but I prefer leave most of sampling frequencies being intact 
(since the sound card supports them) and resample only the problematic one 
which is 88200Hz - how do I do that in asound.conf? Or Is it a bug in mplayer?
My asound.conf:
pcm.!default { 
type hw 
card 0 
} 
ctl.!default { 
type hw 
card 0 
}

defaults.pcm.rate_converter "speexrate_best"

pcm.loudspeakers {
    type plug
    slave.pcm "ladcomp_compressor";
    hint {
        show on
        description "Loudspeakers"
    }
}

pcm.ladcomp_compressor {
    type ladspa
    slave.pcm "ladcomp_limiter";
    path "/usr/lib/ladspa";
    plugins [{
        label dysonCompress
        input {
            controls [ -30 0.25 0.5 0.5 ]
        }
    }]
}

pcm.ladcomp_limiter {
    type ladspa
    slave.pcm "plughw:0,0";
    path "/usr/lib/ladspa";
    plugins [{
        label fastLookaheadLimiter
        input {
            controls [ 0 0 0.01 ]
        }
    }]
}

pcm.earspeakers {
    type plug
    slave.pcm "ladcomp_binaural";
    hint {
        show on
        description "Earspeakers"
    }
}

pcm.ladcomp_binaural {
    type ladspa
    slave.pcm "ladcomp_limiter2";
    path "/usr/lib/ladspa";
    plugins [{
        label bs2b
        input {
            #1) 700 Hz, 4.5 dB - default.
            #   This setting is closest to the virtual speaker placement with 
azimuth 30 degrees and the removal of about 3 meters, while listening by 
headphones.
            #2) 700 Hz, 6 dB - most popular.
            #   This setting is close to the parameters of a Chu Moy's [3] 
crossfeeder.
            #3) 650 Hz, 9.5 dB - making the smallest changes in the original 
signal only for relaxing listening by headphones.
            #   This setting is close to the parameters of a crossfeeder 
implemented in Jan Meier's CORDA amplifiers.
            controls [ 700 10 ]
        }
    }]
}

pcm.ladcomp_limiter2 {
    type ladspa
    slave.pcm "plughw:0,0";
    path "/usr/lib/ladspa";
    plugins [{
        label fastLookaheadLimiter
        input {
            controls [ 0 0 0.01 ]
        }
    }]
}

OS: Arch Linux x64

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: Conexant Digital [Conexant Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

MPlayer error:
[AO_ALSA] 0 channels are not supported.
[AO_ALSA] Format ?? is not supported by hardware, trying default.
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
ID_AUDIO_CODEC=ffflac
[Mixer] No hardware mixing, inserting volume filter.
[libaf] Automatic filter insertion disabled but formats do not match. Giving 
up.
Video: no video
Starting playback...
MPlayer interrupted by signal 11 in module: decode_audio
ID_SIGNAL=11
- MPlayer crashed by bad usage of CPU/FPU/RAM.
  Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and
  disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
- MPlayer crashed. This shouldn't happen.
  It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
  gcc version. If you think it's MPlayer's fault, please read
  DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
  won't help unless you provide this information when reporting a possible 
bug.

Thanks!

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
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