Separating the internet-connected (and therefore low life-expectancy) bits from the analog sound-reproduction (and therefore expensive and high life-expectancy) bits is a great way to build a solid system that can grow and adapt over time.
This is a super cool and gratifying way to deliver the internet-connected bit at low cost (at least for those with hardware inclination, and access to means of production). For those without, Sonos' Port product does a great job filling the same niche. Though at $450 its a ... multiple ... of the cost of the project presented here!
Thing is, cool as this box is, this outputs analog and has DAC inside it. One of the key reasons that people wouldn't use Alexa input, Muso Cobblestone (these were pretty great in all fairness), etcetera long term is that the internal DACs were not even remotely "audiophile" quality.
If these devices had some sort of digital output so we could attach our own DACs, it would be much nicer.
For similar reasons, I think the future of mobile connectivity is a screenless device that handles your WiFi/cellular connectivity, CPU, and storage, while connecting wirelessly to speakers and displays around you as needed. Including an earbud or screen device you can carry when you so choose.
I don't really know why they stopped selling chromecast audio (outside of wanting to sell more speakers I guess), but I have (and had) a bunch of those and bookshelf speakers with Lepai T Amps. It worked great.
I've though since replaced most of them with Nest Audios, mostly for the WAF.
Wow this is a super impressive project. I was originally expecting a device built around a Raspberry Pi, but this is a completely custom designed linux board!
The web app is great for use in your house, the Spotify plugin is first class - it's supported as a target in your Spotify app, or you can browse straight from the webapp, which means even a guest on your wifi can easily pop on and help pick the music.
Another great alternative is HiFiBerry which produce their own DACs and cases that you can add a Raspberry Pi to.
Personally I have a RPi4 with the DAC2 HD and a steel case which I’m very happy with.
I think you can run Volumio on these too, but I prefer the simpler HiFiBerry OS distribution. You get AirPlay 2, Spotify and many more ways to play music. All connected to your analog hi-if equipment.
Volumio is great, but I am now using moOde audio player (http://moodeaudio.org/) which is similar, but has much better DSP, in the form of CamillaDSP (it actually works..), also I find the GUI more intuitive.
We should just be cutting out the middlemen like Spotify, and buying music directly from musicians. Then, we can just use standards compliant hardware, of our choosing, to play the music in any format we want (many modern musicians release as flac, old school musicians still sell CDs; either play as lossless, or recompress to chosen target).
Why should we? You can do that if that's what you want. I prefer using Spotify because I can listen new and random artists without knowing their names and explicitly buying their music. Spotify provides me with a service I'm happy to pay for and I'm happy they take a cut from.
I prefer buying physical media.
I am partial to CDs but that might just be my age.
When CDs were everywhere, getting them was easy and
prices more competitive.
The last CD I wanted I had to order from Germany and the company really took far too much for the shipping.
(€ 15)
Once it arrived in Norway (ECC, not EU) I had to pay taxes on top of it.
Media downloads from the artist is good in that I get to direct the money directly (or at least a direct as I can) to the artist (I guess most companies in that space take a cut)
Many musicians already sell their music directly in unencrypted/no-drm formats*, mainly because of how widespread streaming is. The advent of music piracy is long over and the ones that still do it weren't going to use a music streaming service or purchase the record anyways.
* Obviously, not all of them, but i've purchased 'digital download' versions of albums from artists signed with UMG many times.
I was wondering what the advantage is to building something like this, compared to just using a bluetooth adapter that connects via RCA cables (like this box does).
I suppose one advantage is that if you walk far away from your stereo, you can loose bluetooth connection and drop audio, where this device has it's own WiFi connection and pulls Spotify audio directly, and is just manually controlled via your phone.
Bluetooth is inherently lossy/compressed, whereas Spotify Connect directly streams 320kbps to the client device. I’m not sure how much that advantage is negated on a device with such a cheap DAC, but cheap DACs can be good. Bluetooth audio is always going to have some quality compromises, and it looks like this device is intended for a component stereo setup where quality matters.
Worth noting streaming Spotify over Chromecast (like on a chromecast audio) is oddly enough limited to 256 kbps AAC. The TV chromecast devices support Spotify Connect, I guess because they boot the full app GUI.
- You have to manually disconnect/reconnect it every time
- You can't take calls while playing music
- Only one person/phone can connect to the speaker at a time
- It drains battery
Having the speaker stream directly from the internet while having your phone (or multiple phones, or web browser, or voice etc.) acting as a remote is a game changer.
* Bluetooth offers limited range and uses more battery, and is usually interrupted if someone calls, but supports any application that can play sound.
* Spotify Connect is its own Spotify client and downloads the audio stream from Spotify which allows freedom to roam. But the implementation is indeed limited to Spotify and doesn't support niceties like volume normalization or nerdy details like crossfade (and perhaps not gapless playback)
Scary anecdote: I was at the Verizon store, and the clerk attending to me was getting really hung up on some stupid allegory about L Ron Hubbard and phone salesmanship, so I started reading the news until he tired himself out. I swiped down into my status bar and saw my Spotify widget was playing something, so I paused it assuming that it was just me leaving it on at home. A few moments later, it was playing again, and someone on the other end repeatedly fought me for it. I ended up ditching our friendly salesman and resetting my password in the parking lot, but it's still one of those Orwellian moments that reminds me of the scale of the internet.
There's also a version with a built-in class D amplifier and color display. On the software side it's neatly packaged with a web UI for configuration, as well as support for snapcast (multiroom), airplay and pulseaudio besides spotify.
I'm not affiliated with them, just very tempted to build one.
A $30 Raspberry Pi with free Volumio serves the same purpose for me, and I can attach a DAC hat to the top of the Pi for high fidelity audio - but this looks so much better with it's beautiful wood finish.
Any recommendations for the DAC? I'm using a USB sound card right now on my Volumio Pi but haven't been thrilled about it. What I really want is SPDIF coaxial or optical output, on the cheap.
If you are in the apple ecosystem an airport express provides a similar feature set (airplay to analog stero line out) and can output to multiple airports (in different rooms) simultaneously.
Granted its not as headless. a iDevice (or airplay compatible source) needs to be running.
I have analog stereos in a few rooms and the airport express provides a nice way for anyone in the house to cast music from whatever app they like. and with modern iOS you can even output to different zones for different apps.
The airport expresses are roughly $50 a pop, less if you are patient.
> Connecting to a Wi-Fi network is simple enough. Just download the Spotify Box app and give the pushbutton a press to start searching for networks. Then you can choose your Wi-Fi network through my app to get connected.
This is the same process that iRobot does to connect their Roomba cleaners. Is it done over Bluetooth maybe?
There are a few methods for unknown device connections, but it's usually one of, or a combination of:
- a special qr code format that informs an app about the wifi network/wifi password (and other setup info)
- an app scans your wifi networks and joins the one that starts with the device's prefix (not supported on iOS except via a special api[0])
- app requests bluetooth permission, connects to the bluetooth accessory, and from there it exchanges temporary wifi AP info or does the entire setup over BLE
I see this trend continue: "Bring Your Own Client" from examples like this to pure software like the apollo reddit client or youtube client featured a few days ago.
If you want to do something like this at home, I fully encourage you to try it out! It's an afternoon project if you've got an old laptop laying around, bonus points if you know your way around Unix. The key software component here is spotifyd, a Spotify daemon for any Linux boxes. So if you have a spare Raspberry Pi/Laptop/Smart Fridge that you'd like to bless with Spotify superpowers, it's really only a few keystrokes to set up!
I dove down this road and was going to build something like this to pair Spotify Connect with my new Focal Solo6 Be's, but ended up settling on a Cambridge Audio CXNv2 network streamer instead.
Cool project! I might venture down here again in the future, is a great thing to write about.
As someone who is working on an embedded project - I just want to say, this is very impressive. I didn’t understand half of it, but you’ve given me enough to research.
Not sure if this helps, but I’m paying $75 per hour to do bits of what you’ve have done here.
Not the author, and I'm also not sure I fully understand your question, but am assuming 'cast or airplay' refers to the method used by mobile devices to redirect AV streams to different devices.
Both those solutions still require a spotify client somewhere to interact with the spotify api. The spotify client is still ultimately responsible for determining what to play, where to play from, and what stream URL then needs to be 'cast' to the device.
The box therefore running it's own client independently means you can still control it remotely, but it no longer hijacks control of all audio output on your mobile (or other) device.
spotifyd also implements the Spotify Connect protocol, which enables you to control it through the Spotify app (mobile, desktop, or web), while still retaining independent audio output for other apps on your devices.
[+] [-] kristjansson|4 years ago|reply
This is a super cool and gratifying way to deliver the internet-connected bit at low cost (at least for those with hardware inclination, and access to means of production). For those without, Sonos' Port product does a great job filling the same niche. Though at $450 its a ... multiple ... of the cost of the project presented here!
[+] [-] antihero|4 years ago|reply
If these devices had some sort of digital output so we could attach our own DACs, it would be much nicer.
[+] [-] darkerside|4 years ago|reply
[+] [-] croon|4 years ago|reply
I've though since replaced most of them with Nest Audios, mostly for the WAF.
[+] [-] DenseComet|4 years ago|reply
[+] [-] NGRhodes|4 years ago|reply
[+] [-] sneak|4 years ago|reply
[+] [-] mikewave|4 years ago|reply
https://volumio.org/
The web app is great for use in your house, the Spotify plugin is first class - it's supported as a target in your Spotify app, or you can browse straight from the webapp, which means even a guest on your wifi can easily pop on and help pick the music.
[+] [-] e_proxus|4 years ago|reply
Personally I have a RPi4 with the DAC2 HD and a steel case which I’m very happy with.
I think you can run Volumio on these too, but I prefer the simpler HiFiBerry OS distribution. You get AirPlay 2, Spotify and many more ways to play music. All connected to your analog hi-if equipment.
https://www.hifiberry.com/
[+] [-] jensgk|4 years ago|reply
[+] [-] Jnr|4 years ago|reply
[+] [-] ghostly_s|4 years ago|reply
[+] [-] luxurytent|4 years ago|reply
[+] [-] DiabloD3|4 years ago|reply
[+] [-] wussboy|4 years ago|reply
Oh wait….
[+] [-] santialbo|4 years ago|reply
[+] [-] ThinkBeat|4 years ago|reply
When CDs were everywhere, getting them was easy and prices more competitive.
The last CD I wanted I had to order from Germany and the company really took far too much for the shipping. (€ 15)
Once it arrived in Norway (ECC, not EU) I had to pay taxes on top of it.
Media downloads from the artist is good in that I get to direct the money directly (or at least a direct as I can) to the artist (I guess most companies in that space take a cut)
But they are easy to forget, easy to delete etc.
CDs are harder to throw out accidently.
[+] [-] judge2020|4 years ago|reply
* Obviously, not all of them, but i've purchased 'digital download' versions of albums from artists signed with UMG many times.
[+] [-] sarasasa28|4 years ago|reply
Spotify simplified my life in this regard so much, and the best is the random suggestions and music discovery. I won't be looking back
Netflix, Amazon prime and video services suck, and it's better indeed to download movies. Spotify is irreplaceable
[+] [-] kangaroozach|4 years ago|reply
Also Royal by 3LAU is pretty interesting.
[+] [-] briandoll|4 years ago|reply
I suppose one advantage is that if you walk far away from your stereo, you can loose bluetooth connection and drop audio, where this device has it's own WiFi connection and pulls Spotify audio directly, and is just manually controlled via your phone.
[+] [-] mustacheemperor|4 years ago|reply
Worth noting streaming Spotify over Chromecast (like on a chromecast audio) is oddly enough limited to 256 kbps AAC. The TV chromecast devices support Spotify Connect, I guess because they boot the full app GUI.
[+] [-] paxys|4 years ago|reply
- Your phone has to be connected the entire time
- Quality is flaky
- It has to stay in range
- You have to manually disconnect/reconnect it every time
- You can't take calls while playing music
- Only one person/phone can connect to the speaker at a time
- It drains battery
Having the speaker stream directly from the internet while having your phone (or multiple phones, or web browser, or voice etc.) acting as a remote is a game changer.
[+] [-] minimaul|4 years ago|reply
It's fun, and it's an amazing learning exercise.
[+] [-] polpo|4 years ago|reply
[+] [-] hammock|4 years ago|reply
[+] [-] apecat|4 years ago|reply
* Bluetooth offers limited range and uses more battery, and is usually interrupted if someone calls, but supports any application that can play sound.
* Spotify Connect is its own Spotify client and downloads the audio stream from Spotify which allows freedom to roam. But the implementation is indeed limited to Spotify and doesn't support niceties like volume normalization or nerdy details like crossfade (and perhaps not gapless playback)
[+] [-] smoldesu|4 years ago|reply
[+] [-] wodenokoto|4 years ago|reply
[+] [-] bjelkeman-again|4 years ago|reply
[+] [-] jareklupinski|4 years ago|reply
[+] [-] k0ngo|4 years ago|reply
Overview: https://cast.otter.jetzt/ Sources: https://github.com/Ottercast
There's also a version with a built-in class D amplifier and color display. On the software side it's neatly packaged with a web UI for configuration, as well as support for snapcast (multiroom), airplay and pulseaudio besides spotify.
I'm not affiliated with them, just very tempted to build one.
[+] [-] bigtones|4 years ago|reply
[+] [-] mikewave|4 years ago|reply
[+] [-] wikibob|4 years ago|reply
Belkin has a dongle to turn Apple AirPlay 2 into 3.5mm or optical.
https://www.belkin.com/us/speakers-headphones/speakers/sound...
[+] [-] deeblering4|4 years ago|reply
Granted its not as headless. a iDevice (or airplay compatible source) needs to be running.
I have analog stereos in a few rooms and the airport express provides a nice way for anyone in the house to cast music from whatever app they like. and with modern iOS you can even output to different zones for different apps.
The airport expresses are roughly $50 a pop, less if you are patient.
[+] [-] gtirloni|4 years ago|reply
This is the same process that iRobot does to connect their Roomba cleaners. Is it done over Bluetooth maybe?
[+] [-] judge2020|4 years ago|reply
- a special qr code format that informs an app about the wifi network/wifi password (and other setup info)
- an app scans your wifi networks and joins the one that starts with the device's prefix (not supported on iOS except via a special api[0])
- app requests bluetooth permission, connects to the bluetooth accessory, and from there it exchanges temporary wifi AP info or does the entire setup over BLE
0: https://developer.apple.com/library/archive/qa/qa1942/_index...
[+] [-] LukeShu|4 years ago|reply
[+] [-] rawoke083600|4 years ago|reply
I see this trend continue: "Bring Your Own Client" from examples like this to pure software like the apollo reddit client or youtube client featured a few days ago.
[+] [-] smoldesu|4 years ago|reply
[+] [-] palijer|4 years ago|reply
Cool project! I might venture down here again in the future, is a great thing to write about.
[+] [-] Klonoar|4 years ago|reply
Very cool project otherwise, love the end result.
[+] [-] rubyist5eva|4 years ago|reply
https://hub.balena.io/balenalabs/balenasound
[+] [-] yepthatsreality|4 years ago|reply
[0] https://6xq.net/pianobar/
[+] [-] bjacobt|4 years ago|reply
Not sure if this helps, but I’m paying $75 per hour to do bits of what you’ve have done here.
[+] [-] chrisjc|4 years ago|reply
Surely cast and airplay work with Spotify while delivering equal sound?
Either way, amazing work and looks fantastic in wood.
[+] [-] oarsinsync|4 years ago|reply
Both those solutions still require a spotify client somewhere to interact with the spotify api. The spotify client is still ultimately responsible for determining what to play, where to play from, and what stream URL then needs to be 'cast' to the device.
The box therefore running it's own client independently means you can still control it remotely, but it no longer hijacks control of all audio output on your mobile (or other) device.
spotifyd also implements the Spotify Connect protocol, which enables you to control it through the Spotify app (mobile, desktop, or web), while still retaining independent audio output for other apps on your devices.
[+] [-] lostgame|4 years ago|reply
That’s neat!
[+] [-] amelius|4 years ago|reply
[1] https://dilbert.com/strip/1999-02-17