Raspberry Pi 3B+ vs. 4B for DAC Streaming

Hey, I‘m planning on building a Spotify streamer using a raspberry pi with DAC Pro HAT.
I want to only use it as a receiver, letting me stream via spotify connect and eventually bluetooth but mainly spotify.

I came across a great package deal: RPi 3B+, DAC Pro HAT, Case, SD-Card and Power Adapter for 50 bucks.

I asked ChatGPT if the 3B+ would be sufficient and it said that the 4B would be way better as the 3 has noticable latency, especially when skipping songs. It also said that there would eventually be stops in music as the 3‘s wifi isn‘t so stable. For bluetooth, it told me the 3 would be too unreliable for smooth streaming.

I wanted to ask if anyone of you has experience with both pis and can maybe enlighten me if I should take the offer or if I should rather opt for a 4B.

Smooth streaming like on a Sonos Speaker is important to me for a smooth experience. Thanks for any advice in advance :slight_smile:

The rPi3 might become less stable and start lagging, especially with Bookworm around the corner, which demands more from the rPi3.
If you plan to use WiFi in combination with either Spotify Connect and Play music from your phone over Bluetooth, I would advice a rPi4.

1 Like

Obviously, a somewhat different setup, but you may take my experidnce into consideration.
In my Pro-Ject Streambox Ultra, I tried to substitute the rpi 3 it was ‘born with’ with a rpi 4 (both computer modules).
It sort of worked (with the most recent verdion of Volumio) - at least for a while after booting the device.
Then it stopped playing when changing source…
So now the rpi 4 is just sitting waiting for another idea;-)
The Pro-Ject is designed specifically to use the rpi cm3, so it’s not too surprising, that the 4 did not work that well.
I may give it another try, a few updates down the road.
I may even try to install the Pro-Ject version of Volumio to it, although that’s rather outdated and lacks support for Tidal Connect.
Getting Tidal Connect was one of the reasons to install ‘real’ Volumio. Another was to continue getting updates - it seems like Pro-Ject have given up on that, entirely:-(
Upgrading to the rpi 4, I was hoping both for better performance (especially in the future) and to prolong the time where the hardware supported the latest version of Volumio.
So far not too successful, though.

Yeah, I tried to give Pro-Ject digital products a chance… and they ghosted me harder than my New Year’s fitness goals when asking for support and their crap product. Bought the Pre Box S2 Digital with high hopes, now it’s more like Pre Box S.O.S.

Support? Apparently that’s just a myth told by optimistic audiophiles. I regret it daily, like that time I thought I could pull off bangs.

The CM4 is more then capable running Volumio, but the HW of the streambox was not designed for it.

Running exactly that here - 3B+ with IQAudio DAC PRO. I can’t see any concerns with the performance.

Spotify, changes tracks quickly:

top - 13:01:21 up 12 days,  8:27,  1 user,  load average: 0.24, 0.07, 0.02
Tasks: 157 total,   1 running, 156 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.0 us,  0.5 sy,  0.0 ni, 96.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :    869.8 total,    107.2 free,    251.7 used,    510.9 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    546.4 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                           
14516 volumio   20   0  645780  47868  15744 S  10.2   5.4  26:02.21 go-librespot                                                                                                                      
10984 volumio   20   0    8072   2816   2304 R   0.7   0.3   0:00.50 top                                                                                                                               
  382 root       0 -20       0      0      0 I   0.3   0.0   8:55.48 kworker/u13:2-brcmf_wq/mmc1:0001:1                                                                                                
  699 nqptp     20   0    2208   1536   1536 S   0.3   0.2  25:20.02 nqptp                                                                                                                             
  981 volumio   20   0  255024 125876  39040 S   0.3  14.1   7:48.44 node                                                                                                                              
 1217 shairpo+  20   0  176844  19328  16128 S   0.3   2.2  41:12.26 shairport-sync                                                                                                                    
10906 volumio   20   0   12396   4240   3456 S   0.3   0.5   0:00.06 sshd                                                                                                                              
    1 root      20   0   33964   8240   6476 S   0.0   0.9   0:16.89 systemd                                                                                                                           
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.40 kthreadd                                                                                                                          
    3 root      20   0       0      0      0 S   0.0   0.0   0:00.00 pool_workqueue_release

Airplay2 (I upgraded shairport-sync), around 2 seconds of delay changing tracks:

top - 13:05:05 up 12 days,  8:30,  1 user,  load average: 0.07, 0.06, 0.02
Tasks: 157 total,   2 running, 155 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.1 us,  1.3 sy,  0.0 ni, 97.5 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
MiB Mem :    869.8 total,     94.2 free,    264.7 used,    510.9 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    533.4 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                           
 1217 shairpo+  20   0  221436  23680  17536 S   7.6   2.7  41:15.89 shairport-sync                                                                                                                    
  382 root       0 -20       0      0      0 I   1.3   0.0   8:56.43 kworker/u13:2-brcmf_wq/mmc1:0001:1                                                                                                
  699 nqptp     20   0    2208   1536   1536 S   0.7   0.2  25:20.75 nqptp                                                                                                                             
 8681 root      20   0       0      0      0 I   0.7   0.0   0:00.78 kworker/0:0-events                                                                                                                
10984 volumio   20   0    8072   2816   2304 R   0.7   0.3   0:02.10 top                                                                                                                               
    1 root      20   0   33964   8240   6476 S   0.0   0.9   0:16.89 systemd                                                                                                                           
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.40 kthreadd                                                                                                                          
    3 root      20   0       0      0      0 S   0.0   0.0   0:00.00 pool_workqueue_release                                                                                                            
    4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_g                                                                                                                   
    5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-rcu_p                                                                                                                   
    6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/R-slub_                                      

I might be able to lower the track change delay by tuning buffering parameters, but haven’t tried.

It is a bit less reliable as an Airplay destination for some reason - sometimes it doesn’t show, sometimes it shows but doesn’t connect, and then it finally connects. Then it just works.

HTH,
Pedro