kefferb / squeezelite

Automatically exported from code.google.com/p/squeezelite
Other
0 stars 0 forks source link

Automatic upsampling inside squezelite causing high cpu load ? #59

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Used Picoreplayer on Pi
2. connect WaveIO with Buffalo 2 DAC
3. play 16/44.1 and 24/96

What is the expected output? What do you see instead?

very high CPU load caused by squeezelite with connected WaveIO

What version of the product are you using? On what operating system?

piCorePlayer 1.1, squeezelite 1.5

Please provide any additional information below.

First - thank for Your great player :)

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.

Many greetings, T. :) 

Original issue reported on code.google.com by 108to...@gmail.com on 19 Jan 2014 at 12:49

GoogleCodeExporter commented 8 years ago
Suggest we answer this on the forums as it sounds rather than treat as a bug.

Original comment by trio...@btinternet.com on 19 Jan 2014 at 5:53