praganj wrote: > I am experimenting with Squeezelite on Raspberry PI - piCorePlayer - > 1.1, squeezelite 1.5 > > Sound quality is phantastic, IHMO better than with SBT/Edo ,but > squeezelite is causing very high CPU load. > > I did some research, what is causing so much squeezelite CPU load on pi > with WaveIO. > > I was changing paramaters step by step. > > 1. Original settings, using built pi soundcard: 2-5% > 2. Changing different settings (-p 70, alsa 32:4:24:1 etc) when using > built in card is causing very little load changes. > 2. Using WaveIO USB instead of pi soundcard: jump up to ~42% > 3. Changing different alsa settings like alsa buffer, period count and > bit depth IS not causing any additional load when using WaveIO. With > alsa 32:4:24:0 it is still 42% > 4. Turning on alsa memory management (better sound) - jump up to 90% > 5. setting max. sampling frequency to 96000 - drop to 80%. > 6. turning off alsa mmap 32:4:24:0 - drop to ~42% load > > So i suppose, that when we are connecting WaveIO/BII, than squeezelite > is discovering WaveIO/BII as 24/192 DAC and is probably sending 24/192 ? > into dac, when i set sampling frequency to 96, than it is sending 24/96, > thats why the cpu load is going from 90 to ~80%. > > Hmm, strange, i was hoping that squeezelite when playing 44.1 is sending > 44.1 to DAC, but it looks liks it sending 24/192, or 24/96 when i am > setting max. frequency to 96, but i would like to have original values > going into my DAC and leave DAC doing the rest ... > > I want 24 bit depth to have better volume control, but automatic > upsampling is causing a load and playing 24/88.2 waves with alsa mm=1 > causes 95-96% load, because it is probaly converting 88.2 into 96 (or > 192) on the fly. > > Here the minimal startparameter: > squeezelite-armv6hf -o sysdefault:CARD=L20 -n PI > > and debug output: > > squeezelite-armv6hf -o sysdefault:CARD=L20 -n PI -d output=debug > [17:39:19.860255] output_init_alsa:636 init output > [17:39:19.861544] output_init_alsa:658 requested alsa_buffer: 40 > alsa_period: 4 format: any mmap: 1 > [17:39:19.862455] output_init_common:334 outputbuf size: 3528000 > [17:39:19.918002] output_init_common:394 supported rates: 384000 352800 > 192000 176400 96000 88200 48000 44100 32000 24000 22500 16000 12000 > 11025 8000 > [17:39:19.919019] output_init_alsa:668 unable to lock memory: No such > file or directory > [17:39:19.924865] output_init_alsa:691 unable to set output sched fifo: > No such file or directory > [17:39:19.935521] output_thread:465 open output device: > sysdefault:CARD=L20 > [17:39:19.962331] alsa_open:234 opened device sysdefault:CARD=L20 using > format: S32_LE sample rate: 44100 mmap: 1 > [17:39:19.967472] alsa_open:313 buffer: 40 period: 4 -> buffer size: > 3763 period size: 940 > [17:39:20.345931] _output_frames:59 start buffer frames: 114688 > [17:39:20.347228] _output_frames:140 track start sample rate: 44100 > replay_gain: 0 > [17:39:56.016636] output_close_alsa:698 close output > > > > And thi is top output when playing 44.1 wave: > > Mem: 78636K used, 401336K free, 0K shrd, 9424K buff, 40588K cached > CPU: 48.9% usr 28.8% sys 0.0% nic 17.0% idle 0.0% io 0.0% irq 5.1% > sirq > Load average: 0.20 0.34 0.84 2/83 3254 > PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND > 3251 3215 tc S 26008 5.4 0 82.0 > /mnt/mmcblk0p2/tce/squeezelite-armv6hf -o sysdefault:CARD=L20 -n PI > 3166 3111 tc R 3016 0.6 0 0.6 top > > squeezelite process with 82% ? > > :)
Do you get anything different with "-o hw:CARD=L20" I don't see where the high cpu is coming from as there's no resampling within squeezelite here, any that is being done will be in the alsa library. ------------------------------------------------------------------------ Triode's Profile: http://forums.slimdevices.com/member.php?userid=17 View this thread: http://forums.slimdevices.com/showthread.php?t=97803 _______________________________________________ unix mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/unix
