Sound solution for a home 2025?

Have you tried headphones with ANC (Active Noise Cancellation)? They are supposedly good for people with tinnitus, since they allow you to listen at a lower volume.

FWIW, I think you are overcomplicating this. I would just get a reasonable D-class amplifier with bluetooth input in every room, and connect to that with a phone. I got a couple from SMSL, but there are other great options.

This assumes that if you are listening to music in a room, you are there already, and so if your phone.

Your phone can serve music from your home server, using a FOSS stack, from your home or cloud server, or whatever you want.

If you are centralizing this, you will be spending a lot more time on hacking Linux than listening to music.

2 Likes

I have a Raspberry Pi with an SSD attached. I run miniDLNA on it, and this serves music to wherever I want it.

The files on the Pi mainly came from CDs I ripped with K3B. I rip them in FLAC format, which most devices seem to be able to play.

1 Like

I have not. But I did order the $25 pair of IEMs yesterday :sunglasses:

1 Like

Very likely!

Well actually the playing music part was solved real quickly as described above. Was surprised that connecting new devices required zero config!

Now the “last mile” of getting Kodi to output to those devices I may skip.

Our household appears to have unconventional AV requirements. We live in a small flat and there are four people that output stuff from what seems a million devices to a variety of targets located on various rooms. It’s not just straight music and movies in dedicated rooms.

1 Like

So I thought I’d sum up how I set things up.

The ambition was to get synced sound playing throughout the flat and ensure that most devices could output to this shared sound system. We’re a family of four. The stuff to configure was this.

  1. TV: spdif coax out audio to 21. smsl dac with active speakers
  2. Rpi 3 running Kodi: librespot + snapclient addons - hdmi to 1. TV
  3. Xbox - hdmi to 1. TV
  4. Nintendo Switch - hdmi to 3. Xbox running app to pass on signal to tv
  5. Iphone: Spotify and airplay, snapcast app
  6. Iphone: Spotify and airplay, snapcast app
  7. Android phone: Spotify, snapcast app
  8. Ipad: Spotify and airplay, snapcast app
  9. Thinkpad X1 laptop: Pipewire configured for airplay, tricks to ouput sound to 1. via hdmi (old philips tv misannounces specs)
  10. Thinkpad X1 laptop: Pipewire configured for airplay, tricks to ouput sound to 1. via hdmi (old philips tv misannounces specs)
  11. Imac hardware running Debian: pipewire airplay config + snapcast web app bookmark in web browser. Connected to active speakers
  12. Imac hardware running Debian: pipewire airplay config + snapcast web app bookmark in web browser. Connected to active speakers
  13. Workstation computer running Debian: pipewire airplay config + snapcast web app bookmark in web browser
  14. Apple laptop (partners work computer): Airplay, spotify
  15. “server” rpi 4 hosting restic backups, running some other services and sharing some files: raspotify | A Spotify Connect client that mostly Just Works™ + GitHub - badaix/snapcast: Synchronous multiroom audio player server + GitHub - mikebrady/shairport-sync: AirPlay and AirPlay 2 audio player
  16. Old projector located in room with workstation. Occasionally used for watching films.
  17. Radio in the kitchen: stuck 18. on the back and connected line in.
  18. [added] rpi 3 i found in a box: snapclient + raspotify
  19. [new] rpi zero 2: attached 20. innomaker/boss dac and installed snapclient + raspotify, connected to active speakers.
  20. [new] Innomaker mini dac for rpi zero
  21. [new] S.M.S.L ds100 dac/headphone amp (the amp is just to have a volume control on the dac. headphones will rarely be used from this, tv remove wont change volume on spdif)

I’m very much a lo-fi guy but my partner is a bit picky about audio. She used to work with sound and has a bit of studio gear laying about. This meant i had to up the gear a tiny bit but also that we use active speakers that were previously used in studio settings. This simplifies a fair bit.

So this means that the mobile devices can play audio to 2, 17, 18 separately via spotify/airplay or output to the entire home via 15. This latter snapcast network can be controlled via app to change volume or mute individual devices. All desktops and laptops can join this network as snapclients to output shared audio. (I’ve not tried all at the same time it may flake out at that load). You have to set the snapserver to broadcast spotify or airplay from the app, easy forget and be confused why no sound is coming out.

It’s working suprisingly smooth. The Kodi addons are a bit more flaky though and when provoked it has switched to the wrong audio output requiring restart and a few clicks to reconfigure.

The biggest issue was figuring out the bug with the TV preventing us from hooking up laptops to the tv. We occasionally do this to view video that for whatever reason is coming from the laptop.

The TV setup is a bit strange to me. Basically it reroutes audio from several devices via hdmi. It feels wrong to stream from the kodi rpi via hdmi to tv then out again via spdif to the dac.

3 Likes

Wow, @nosle that is an impressive amount of work. What does the family think about it?

Can you provide some links for the “pipewire configured to airplay”?

Perhaps a misleading shorthand. It’s actually using the snap protocol I guess, but it casts on the airplay “network”.

I know basically nothing about this stuff and just cobbled it together from some web searches and the pipwire docs. As you can see the snapcast stuff is just the defaults with most lines commented out.

/home/user/.config/pipewire/pipewire.conf.d/

10-zeroconf.conf

context.modules = [
{   name = libpipewire-module-zeroconf-discover
    args = { }
}
]

20-raop-discover.conf

context.modules = [
{   name = libpipewire-module-raop-discover
    args = {
        stream.rules = [
            {   matches = [
                    {    raop.ip = "~.*"
                    }
                ]
                actions = {
                    create-stream = {
                        stream.props = {
                        }
                    }
                }
            }
        ]
    }
}
]

30-snapcast-discover.conf

context.modules = [
{   name = libpipewire-module-snapcast-discover
    args = {
        stream.rules = [
            {   matches = [
                    {    snapcast.ip = "~.*"
                         #snapcast.ifindex = 1
                         #snapcast.ifname = eth0
                         #snapcast.port = 1000
                         #snapcast.name = ""
                         #snapcast.hostname = ""
                         #snapcast.domain = ""
                    }
                ]
                actions = {
                    create-stream = {
                        #audio.rate = 44100
                        #audio.format = S16LE   # S16LE, S24_32LE, S32LE
                        #audio.channels = 2
                        #audio.position = [ FL FR ]
                        #
                        snapcast.stream-name = "beefcast"
                        #
                        #capture = true
                        #capture.props = {
                            #target.object = ""
                            #media.class = "Audio/Sink"
                        #}
                    }
                }
            }
        ]
    }
}
]

At first it didn’t reach the high requirements of my partner as I dechiphered her reactions, so I had to buy a dac and rewire the tv setup. I was using tv headphone out due to missing gear and cables, this apparently wasn’t good enough! :slight_smile: She’s happy now thought!

3 Likes

Oh you can use avahi/zeroconf for pipewire, I didn’t know that; that’s super cool. I haven’t delved into pipewire at all, I got it working on my laptop and have just left it.

Awesome!

Impressive setup!

Somehow, that’s even more impressive to me.

4 Likes

There’s an even cheaper one now:

1 Like

Sigh… Another chi-fi IEM for me to practice consumerism on :grin: I have one of the Zero’s they made in partnership with Crinacle and it’s a very good IEM.

The best thing about these Chinese brands, mostly when it comes to DACs (Topping, SMSL) is that they are creating technically perfect products and that hopefully stops people from constantly buying crap in search for a better sound.

Recently acquired a pair of Kali Audio LP-6 V2 for my office and the quality is outstanding. Whilst they are not an Asian brand, the quality you can get with cheap powered speakers nowadays is incredible. DSP and good class D amps have changed the game.

Edit: That said I am not one to judge… I built myself a 5f1 guitar amp just for the sake of it and to experience the valve amp sound

1 Like

My suspicion is that, along with cheap Chinese lenses, the eventual return on investment from some these products must be minimal to negative. Consumers are benefiting, though.

2 Likes

I’ve had a bit of an odd Hi-Fi moment a few months ago. My dad had remodeled his living room, and when he came to visit, we had made appointments with two Hi-Fi stores in the area. Because, you see, I studied hearing technology, and have a history of frivolous audio gear purchases. And spending some time with my dad is always fun.

The goal was to find a pair of wireless speakers, compatible with AirPlay, and possibly a playback device. The speakers were supposed to be used for music, and the occasional movie. The budget was unspecified, but reasonably well within four figures.

The first store offered essentially only one speaker, the Devialet Phantom. These spaceship-shaped audio sculptures raised my skepticism, as you’re clearly paying for design here, not engineering. But my dad liked the sound, and who am I to spoil the fun? The second store was a KEF salesman, apparently, and only offered KEF loudspeakers. They were pretty things, with the same ~5k pricetag. They sounded better to my ears, but my dad didn’t like them as much.

So he was ready to order the Phantoms. But just to make sure, I test-bought a single HomePod Pro at the local electronics store, and set them up for quick switching between my own setup and the HomePod. To be frank, the HomePod sounded awesome. For music, there really wasn’t any obvious benefit to my NAD T777/Nubert NuLine 35 that cost many-fold more than the Apple device. To say nothing of the entire lack of cabling and anachronistic remote-controlled switchology.

So in the end, predictably, my dad went home with two HomePods Pros, and left the fancy Hi-Fi sculptures to more/less discerning customers.

1 Like