anyone else?? some clue about how to approach this problem? best regards Dinesh On Mon, Nov 9, 2015 at 4:29 PM, Caleb Crome <caleb@xxxxxxxxx> wrote: > On Fri, Nov 6, 2015 at 9:27 AM, Dinesh Ravindran <rite2dinesh@xxxxxxxxx> > wrote: > > The USB soundcard natively supports the sampling rate of 8kHz. We tried > with > > all three options of the kernel preemption model, and it doesn't make any > > difference. The CPU utilization is almost zero, and interestingly when > the > > CPU consumption is high the audio sounds better(we notice when we copy a > > file via ssh, cpu consumption goes upto 33%). > > > > The default premption model is set to none, however we tried with both > > voluntary and Low-Latency Desktop, it doesn't make any difference. > > > > One thing we noticed was that even though from our application(or aplay) > we > > set the access to SND_PCM_ACCESS_RW_INTERLEAVED, > > /proc/asound/card0/pcm0p/sub0/hw_params shows it as MMAP_INTERLEAVED, > we're > > not sure why it is so and what the impact could be. > > > > Does it has to do with the low level USB transfer, where it it waiting > for > > more data to transfer it in one shot, because, at higher sampling rate > we > > have more data to transfer. But it still doesn't explain why printing > some > > debug statements or having a larger alsa buffer works. > > > > > > That is certainly strange. Sorry I don't know how to help. Perhaps > somebody else can shed some light. > > -Caleb > > > > > > > > > best regards > > Dinesh > > > > On Fri, Nov 6, 2015 at 5:37 PM, Caleb Crome <caleb@xxxxxxxxx> wrote: > >> > >> On Fri, Nov 6, 2015 at 1:59 AM, Dinesh Ravindran <rite2dinesh@xxxxxxxxx > > > >> 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@xxxxxxxxxxxxxxxx > >> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > > > > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel