Smart Audio for the Smart Home
computer.rip
computer.rip
After all of that, the only format that worked on both of them was MPEG2 in a transport stream main-profile at 480p with MP3 audio. They both would play high-def content but there was no combination I found that would do high-def and worked on both of them.
Meanwhile just about any H.264 muxed with just about any audio (even Vorbis) worked just fine on both on a USB stick.
I do sometimes pirate music, but I have found that buying used CDs at thrift-shops and at Discogs is cheap (and much more fun!) and lets me rip to FLAC with my own preferences.
It feels like there has to be a prosumer/low-end-professional product I can shoehorn into my house, kind of like how I've moved up from awful home network products to Ubiquiti gear over which I feel like I have some actual control (though their more recent UniFi products seem like a step backwards in that regard...)
* Install the Iris plugin for UI [2] on server
* Install snapcast [3] server on the audio server and snapcast client on raspberry pi's near all stereos you want to pipe audio into
* Put bookmarks to the Iris page on all family member's phone home screens.
* Add the snapdroid app [4] to each phone so people can adjust volume of each stereo and also play audio on their phone (or anything it's bluetoothed into)
[2] https://mopidy.com/ext/iris/
One big question, can you cast audio to this system from a phone and then redirect it to different outputs? Or just cast directly to outputs?
Almost all the installable-box systems assume the first: you want the same music in your office, the living room, your bedroom simultaneously, and if your husband picks up a controller and changes it to what he likes, that's what everybody gets.
If you want the second, you need a music server that makes a filesystem full of FLAC and MP3 available via NFS or CIFS or DLNA, and a bunch of clients with speakers around that house that can be used to select music and play it. Those clients can be Raspberry Pi based units that look as good as you're willing to pay for, and the whole thing will take you one afternoon.
Syncs perfectly on multiroom setup, supports Spotify, works with Home Assistant and has at least enough device choices for playback.
Funny and nice feature is that I can play different tracks on different squeezeboxes via one Spotify account.
Running server on Ubuntu 20.04.
- Sony audio receivers for each room
- Chromecasts
- HDMI to RCA adapters
- Harmony Pro IR controller
- Raspberry PI with Home Assistant
I set up the Chromecasts with audio groups for the whole house and different areas. I configured the Home Assistant to control power for the receivers through the IR controller when they are cast to. (You could probably skip the IR setup and adapters with more expensive HDMI receivers, the stereo receivers were only $150 each)
Anyone on the WiFi can easily cast audio from any music app to any room, area or the whole house without having to install or configure anything. Works with Android and iOS. Whole set up cost less than $2k.
The Pi runs gmediarender-resurrect (a DLNA receiver) so I can fling audio from my laptop (pulseaudio-dlna) or phone (bubble upnp).
It’s a bummer Google discontinued Chromecast Audio. I still have three of them and love them.
The new Nest Speakers don’t have audio out, so there no integration with nicer audio equipment.
But I'd still be afraid that it'd be fiddly and require too much maintenance. I really don't think there's anything commercial you can get that isn't kinda expensive, and almost certainly nothing that's open source / open hardware / open anything.
I wrote a python script to listen to state changes of a multi select option in Home Assist, that then calls the snapcast control API to switch between different configurations.
This allows me to map different input sources of snapcast (e.g. two separate instances of librespot, two instances of mopidy) to be routed either just my living room, just the kitchen, or both at the same time.
[0] https://www.theverge.com/2021/12/9/22824559/matter-tv-stream...
This is the key for me. There are plenty of ways to play audio over bluetooth, but not enough ways to control which speakers are active from my phone.
Otherwise for the sync there's stuff built around snapcast. It has the fundamental limitation that it's a dumb pipe. You can control the volume and mute it, but a pause only happens when the snapcast gets to the silent "paused" part of the buffer. The sync does work very well though.
Maybe something will be possible with pipewire?
https://www.amazon.com/Retekess-Transmitter-Microphone-Trans...
This extremely low-tech solution would give you 10 room audio from a single source (like MPD, but it could be anything at all since you just plug a line-in - your old turntable for example). If the transmitter isn't up to snuff for your huge abode, you could get a slightly larger transmitter that does about 900ft.
With 3 transmitters on different frequencies and say 5 receivers dotted throughout the house, you could tune a room to "Dad FM" or "WTF is that racket FM"
I seriously considered this for laughs but didn't follow through.
Or if you go with bookshelfs that are independently powered, well, there were a bunch of options described here
One thing I've considered is getting several cheap mini receivers and hooking each one up to a Belkin AirPlay adapter. There also seem to be some $50-ish bluetooth-enabled receivers, which would allow for the same functionality, except without the ability to play in multiple rooms simultaneously.
Has anyone dealt with a similar situation?
your best bet dax88 or dax66 (older) if you want flexibility.
alternative is passive speaker selector like Pyle PSPVC6 and Pyle PDA20 mini amp/bt receiver hooked up to audio source. alternatively you can try instead of PDA20 Amazon Link Amp (it weaker, not sure if it can drive speakers in 4 rooms)
you can try to look through monoprice/pyle sites, they may have something different for 4 rooms - there are more options than for 6 rooms. But in general, if you want some remote control (volume, select inputs/output), it quickly jumps ~1k.
There are diy solutions, but I don't have time to play anymore, I just want it to work. I also want it to look finished, not like a rats nest of wires.
Except it's not open.
Raspotify is a wrapper for librespot, which enables Spotify Connect to "cast" from my (Android) mobile app to each Raspberry Pi (which are connected to speakers of course).
The Snapclient instances connect to a central Snapserver instance that also runs librespot (again to enable Spotify Connect).
So now I can cast to an individual Raspberry Pi (powered by Raspotify) to play music in a specific room, or I can cast to the central Raspberry Pi that runs Snapserver to get the same music in every connected room.
While Spotify Connect is not open, librespot is open source, and it has been working fairly well for me for several years now.
One thing to note is that librespot requires Spotify Premium.
The integrations on the hardware were buggy (at that time Netgear outsourced the software for these boxes to firms in southeast Asia, so we didn't have all that much control over the quality), Windows MCE was buggy, everything was buggy (the whole power management stuff mentioned in the article rang a bell; it was distinctly hard for our devices to reliably wake up a sleeping MCE box despite following the spec exactly). And the user experience was just terrible; it was hard to understand what you needed to do to get things set up properly, and the software was pretty clunky.
[0] Basically you and your competitors would go stay at a hotel where a bunch of Intel and MS reps (and all your competitors) had booked a bunch of rooms, and you'd bring your hardware to a few different hotel rooms each day, hook things up, and make sure everything worked with each other. It was funny because this all took place in regular hotel rooms with beds and everything; they usually didn't book conference rooms or anything like that. They always scheduled a full week of this, but it would usually end up only taking 3 days or so, so I'd turn it into a long-weekend vacation in Paris, Berlin, Venice, etc.
The media server is a Debian x86 box with a big RAID on it. It has MP3 and FLAC rips of all the discs. That filesystem can be accessed via read-only NFS or CIFS or AFP. It is running:
Owntone - MPD compatible, web interface, can stream to any client that can handle ChromeCast or AirPlay, including machines running shairport-sync. That's how you get multiroom party audio.
minidlna - DLNA server, no interface, makes the library available to clients that only speak DLNA. That's a way of getting local play.
Various devices around the house speak DLNA or mount the filesystem and present a local player.
That's odd about the choppiness of shairport-sync; my setup is an old thin client running archlinux and shairport-sync. I have it hooked up via Ethernet and connected to my receiver with a cheap AliExpress USB>SPDIF adapter. I have shairport-sync configured to use ALSA directly. I've never had any issues with this setup.
This could be pandemics related.
Slimp3 was out in 2001 and Squeezebox in 2003.
I agree with the author: the state of consumer a/v tech is kind of sad. It is unfortunate that there really isn't a universally-supported open standard for _easily_ casting audio or video to a renderer (TV, projector) from a phone.
Miracast is cool and works great but isn't built into iOS or Android and is a non-starter for non-technical folks. And the only affordable wireless multi-speaker tech is offered by Amazon (Echo) and Apple (AirPlay/HomePod) as loss-leaders to push more home assistants and collect more data. Sonos isn't exactly cheap and it also locks you into their system.
Ideally, I'd like to buy wireless speakers from, say, Anker (okay, not great quality, but good enough to stash around the house) and drive them with Alexa or stream Spotify/Apple Music/$MEDIA_PLAYER through Miracast or whatever. But there's no money in that.
“Some of you may remember installing an IDE CD drive and having to connect the three-wire analogue audio output from the CD drive to the sound card.”
And until today, I never knew the real “why”. Fascinating
https://www.max2play.com/ (commercial)
https://github.com/tuarrep/sounddrop
https://github.com/mariolukas/HydraPlay
https://github.com/beejones/ZonePlayer
https://github.com/jaecksch/snapcastbox
https://github.com/navidrome/navidrome
https://github.com/MiczFlor/RPi-Jukebox-RFID
https://github.com/skalavala/Multi-Room-Audio-Centralized-Au...
https://blog.platypush.tech/article/Build-your-open-source-m...
http://www.mysqueezebox.com/download
As DAC for Raspberry the IQaudio DAC Pro seems to be highly recommended. I personally own a Hifiberry.
Great detail, great writing. Thanks for sharing.