[alsa-devel] Alsa Crackling Noise

Caleb Crome caleb at crome.org
Fri Nov 6 17:37:25 CET 2015


On Fri, Nov 6, 2015 at 1:59 AM, Dinesh Ravindran <rite2dinesh at gmail.com> wrote:
> We have been facing a weird issue with Alsa recently. Sometimes the audio
> plays out with out any noise and sometimes it has lot of cracking noise,
> really a lot. The weird situation is when another application is printing
> out some debug statements to a console it sounds good. The behavior is same
> with a custom developed alsa application and also with aplay. Any thoughts?
> If we have a really big buffer size of around 2sec it works somehow, but we
> really want to analyze why alsa exhibits this strange behavior. Is it the
> alsa itself or is it just a symptom of a bigger issue at system level?
>
> All the test we are carrying out it at 8KHz, at higher sampling rate(48k)
> we do not see this behaviour.
>
>
> These are the scenarios in which it sounds good:
> 1. If any application is printing to the console while audio is being
> played out or even just holding the return button on the console helps.
> 2. If we enable xrun debug with echo 29 >
> /proc/asound/card0/pcm0p/xrun_debug it sounds good.
> 3. If we have really big buffer size around 2 seconds.
> 4. Or sometimes on fresh start of the machine until it enters xrun state
> once.
>
>
>
> We have the following setup:
>
> Processor: ARM926EJ-S

What's your CPU utilization when playing 8kHz?  It's interesting that
48kHz has no problem, but 8kHz does.  My first guess would be that
alsa is forced to resample in software, causing the cpu load to go up.
   Do you know what rates your actual codec can run at?

Others on this list are infinitely more likely to know the true answer :-)

Another question: what's the preemption model in your kernel config?
under kernel features->Preemption model?  You can also check your
.config for CONFIG_PREEMPT=y

-Caleb

> Kernel: 3.14.53
> Alsa-lib: 1.0.29
> Alsa-Util: 1.0.29
> Audio Chip: CONEXANT USB AUDIO
>
>> aplay -Dplughw:0,0 8kz_8000.wav  #to play file
>
>
> cat /proc/asound/card0/stream0
> ----------------------------------------
>
> Playback:
>   Status: Stop
>   Interface 2
>     Altset 1
>     Format: S16_LE
>     Channels: 2
>     Endpoint: 1 OUT (ADAPTIVE)
>     Rates: 8000, 16000, 24000, 32000, 44100, 48000
>
> Hw params:
> --------------
>
> access: MMAP_INTERLEAVED
> format: S16_LE
> subformat: STD
> channels: 2
> rate: 8000 (8000/1)
> period_size: 1000
> buffer_size: 4000
>
> sw params:
> -------------
>
> tstamp_mode: NONE
> period_step: 1
> avail_min: 1000
> start_threshold: 4000
> stop_threshold: 4000
> silence_threshold: 0
> silence_size: 0
> boundary: 2097152000
>
> status:
> --------
>
> state: RUNNING
> owner_pid   : 1852
> trigger_time: 3667.436640852
> tstamp      : 3756.680343977
> delay       : 3296
> avail       : 720
> avail_max   : 1000
> -----
> hw_ptr      : 712720
> appl_ptr    : 716000
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


More information about the Alsa-devel mailing list