Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Spotify Box (evanhailey.com)
354 points by belter on Sept 22, 2021 | hide | past | favorite | 154 comments


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.


I use a raspberry pi running https://ropieee.org connected to a USB dac. I can play to it with Roon or Spotify. It's fairly plug-n-play


The Chromecast Audio had one, but Google discontinued it.


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.


A hack is to use a regular chromecast and a hdmi to rca/spdif adapter/splitter. Works pretty well and you can get them pretty cheap (in the ballpark of $20). But it will be more expensive than the chromecast audio unfortunatley


A lot of those are really iffy in terms of quality - I had one which when run through my HiFi sounded like it was completely unshielded.


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!


And a nicely detailed writeup.


I don't understand why they didn't just use a pi; it would have been cheaper and easier. It already has ethernet and analog audio out.


Because they wanted to make something.


It would have been even easier to plug an aux cable into an old phone and use that

Not as interesting though. Not as fun


Raspberry Pi's analog audio out is not very high quality either. I run a HiFiBerry on a Raspberry Pi, and while it's really delicious to use (good sound, good app, good ergonomics), it's just mount, flash and play. It's not something you make from scratch.

I'd love to have time to work on something similar. My targets would be different audio-quality wise, but it's a very nice project. Kudos to its maker.


I use a cheap USB audio device with my Pi. I got a constant buzz through my CRT with the built-in analog output. The USB device fixed that and all other audio issues I had.


These generally work well enough. My requirement was to drive a pair of HiFi speakers with minimum hardware, so I went for HifiBerry.


I also imagine if this device is on close to 24/7, reduced electricity costs will more than make up for any cost savings in the end.


> Raspberry Pi's analog audio out is not very high quality either.

On this point, can't you use some USB DAC ? I know nothing on this topic but there must be something that sits between "Raspberry Pi sound quality" and "multi thousands $ DAC".


You can, but I’m not very knowledgeable about USB DACs which works on Linux.

The HiFiBerry amplifier I use is $50, has great software and enough power and top notch DACs from TI. On top of that it’s a hat, has a dedicated steel enclosure and everything is powered by a laptop brick.

It’s unbeatable at that price point IMHO.


I'm not sure about the specifics of the protocol but I've used tens of DACs and only ever run Linux, and I've never had a problem with compatibility. I'm pretty sure the USB audio standard is pervasive enough so that basically any DAC you buy will be compatible. On all the DACs I own I also have no trouble configuring the protocol to higher bandwidth settings like 24-bit 192 kHz signals.


That's good to hear. It's not that I believe that they won't work, but because I didn't need such setup. I use a desktop PC as my main battlestation and I use a Xonar D2X on that (over PCIe), and it works beautifully, so I didn't need anything else.

For the Raspberry Pi, I needed something tidy, like this box. My father gave his HiFi system to me due to space constraints, but kept a nice set of speakers, so I needed something comparable in clarity, in absolute smallest and sturdiest package. HiFiBerry allows me to do that.

Moreover the software is co-developed with Bang & Olufsen, and it's extremely polished, like the hardware itself. My setup is pretty lean, but HiFiBerry can do some serious stuff like B&O self-tuning and custom DSP filters for sound shaping (for room, for taste, for fun).

My setup is as follows:

- Raspberry Pi 4/2GB.

- HiFiBerry AMP2 [https://www.hifiberry.com/shop/boards/hifiberry-amp2/]

- Steel case for Pi4 + AMP2 [https://www.hifiberry.com/shop/cases/steel-case-for-hifiberr...]

The result is a literal black box with power in and speakers out. I added a SanDisk Fit USB drive for local music storage. It can run spotifyd, AirPlay 2, direct BT, local files and more. It packs a decent punch, runs cool, can be used from anywhere (runs a webapp on a server, advertised with mDNS). If there's an update, it installs and reboots automatically.

Set & Forget, at its finest.


That's interesting, thank you !


For anyone else who wants to do this, just set up the absolutely amazing Volumio on your RPi or any other computer.

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.


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.

https://www.hifiberry.com/


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.


I have been using spotifyd on my media box until now but seems like Volumio might have a bit more features. Will give it a try.


I wonder if there's something like this that supports Plex?


Give Rasplex a shot - http://www.rasplex.com/


I don't mean just a lightweight plex client, but a headless plex audio sink. Plex supports , "passing" your stream session over to another client on the local network now, I'm not sure what protocol it is exactly but my Tcl Roku tv is compatible with this and its quite handy to be able to queue some stuff up on the mobile app them send it over there to play rather than fumbling with the remote and the handicapped Roku app.


What kind of audio output does a raspberry pi support?


Something like this goes on top

https://elmwoodelectronics.ca/products/hifiberry-dac-rca?var...

For powered speakers you can get a DAC or you can use unpowered / passive speaker if you get a amp hat


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).


Sure. But we’ll need some sort of centralized market or exchange on which to discover these artists and send them funds.

Oh wait….



I'm using my app Tracknack for discovery and staying up to date with releases by artists and record labels I like. This app, of course, is very much integrated with Spotify and does not really work as a way of cutting Spotify out of the picture. It does, however, allow me to support lesser known artists via Spotify streams.

https://tracknack.com


Thanks I just tried rateyourmusic. Interesting but so many ads…


what about last.fm. Got an account like 10y ago, connected to my stream. Looks alive and well, probably selling my data but is there anything to know from last 5y ?


It's called Bandcamp


Did this for years. Finally gave up last year. It’s so much work, discovery is a huge pain, listening on all devices is a pain. None of it was worth it.

Now I just use Spotify and don’t care. I don’t need the extra work in my life.


Just wanna throw this out there: Plex now has an app for accessing music in a way better way than their movie/series-app, called Plexamp. [1]

I dont see it solving discoverability yet, but it worked completely fine on my Android devices. It also does some automatic tagging of your music to generate dynamic playlists.

it is limited to plex pass subscribers for now though. i'd say it's worth trying a free trial at least.

1: https://plexamp.com/


One method that has worked for me is following other users that actively buy music on Bandcamp that I like. I get an email digest when they buy new music. That's a strong signal to me: I already know they have similar tastes by seeing what they have purchased in the past, and I can conclude that they really like the music they are willing to spend money on.


all my friends use spotify and everytime i am with them i hear the same music. sure its the music they like, but its the same over and over and over again with no variation. They tell me spotify is great at discovery but i havnt heard it.

i listen to djs, radio stations and other internet channels that mix the music i like into new and exciting compositions.


Yeah, I used to use Spotify for discovery when the radio function acted like...radio. Now it's just a 30 track playlist on loop generated based on things you have liked. So absolutely fucking pointless for discovery.

I am SCREAMING OUT for a service that was like the old Spotify radio.

Currently just going to gigs again and finding bands through bandcamp the organic way is what I'm doing.

Also, here is a script I wrote to download and extract a Bandcamp download link and import it with the beet CLI music library manager:

https://github.com/radiosilence/dotfiles/blob/master/.zsh.d/...

I then use Navidrome (modern Subsonic replacement) to serve it up:

https://www.navidrome.org/


Curated playlists should be your jam then, find an artist/DJ you like the taste and follow their curations.

The radio also generate different playlists over time, the tracks in a song's/artist's radio will change and not be a static 30-odd tracks forever.


Try this app I made for fun a while back: https://www.tuneful.app

It uses Spotify under the hood, similar to how the radio used to work.


Yeah, many people just don't care as much about discovering new music. I don't think it says much about Spotify though.


imo it tells that spotify has a conflict of interest were it sells "access to all music" and on the other hand has the means to steer customers towards economically advantageous consumption.


I find many wrongs with Spotify, but this isn't one of them. My Spotify Discover Weekly is usually great, up to 50% great discoveries, and they're completely different in both genres and time periods to friends' lists.

I guess you just have musically eclectically challenged friends.


I was with Google Music for years, until the YouTube music fiasco then I jumped ship to Spotify.

I found discovery excellent in Google but Spotify is horrible, it thinks I want to listen to Pop because I put a playlist of "top" or "charts" on while I work, when really I want rock/metal albums and can't discover them for the life of me.


Doesn't it have those made for you thingies that change weekly or so? In my case it makes em for the varying genres i listen to so even tho i listen to some techno at work i can pick a metal playlist with new stuff.


I noticed some mixes it makes but it has talk shows, podcasts etc thrown in and I'm really not into that.

Also, because it has basically ruined my music preferences, despite me telling it what I want to be recommended, it makes recommendations for "Dua Lipa" and "Doja Cat". Nothing against either of them, but not really what I was looking for.


Hmmm it doesn't have any of that thrown in for me. Feels like we're having a completely different experience for some reason


Spotify's discovery sucks. I can never ever find a favorite song in Spotify's suggestions. The experience is very similar to Youtube's echo chamber.


Yes Spotify is great at discovery. I've discovered plenty of music thanks to it during the years – lately, for example, tens of Japanese jazz recordings.


This is true; I do reluctantly pay for Spotify. But that'll always be the case with more equitable, less profitable, ergo less well-funded alternatives. And it has been consistently (slowly) improving over the years. Worth supporting imo


Bandcamp really is a fantastic company. There are some barriers to listening to music on it directly (some intentional) but I've found so much great music through their recommendations.

I still pay for streaming due to the convenience of typing most songs and playing it instantly... but if I like something enough to click the heart button I'll often hop over to Bandcamp to see if I can pay the artist more than the $.0001 they get for the stream. Even dropping someone a dollar is literally 10,000 times more support.


This is the way. I also use Spotify because it makes most of my music available instantly on all of my devices and the discovery is good enough.

But that $150 for Spotify is only a small fraction of my yearly music spend. With most of it going to concert tickets, merch at concerts and merch/downloads on Bandcamp to support the artists I like.

Spotify and Bandcamp are not mutually exclusive


Yeah exactly, and with covid making concerts uncomfortable for me for the foreseeable future I've just been doubling down on bandcamp and merch purchases (but wow I miss live music).


I dropped Spotify after that Facebook fiasco, now I just listen to my local college radio. The website does a good job of telling me what music they’re playing, and it ranges throughout the day from old-school jazz to techno or new age. The radio is nonprofit with no ads, and I’m close enough to get both HD1 and HD2 channels, So if I’m not digging what’s on one channel, I’ll just switch to the second.


> now I just listen to my local college radio.

Hear, hear for college radio! The local college radio station is one of my favorite places to listen. They've got great variety. Depending on when you tune in, you might hear 'indie', folk, metal, electronic, or something completely different.


it's a matter of cut


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.


Well for one, if Spotify ends up being the only way musicians get paid, the pool of new and interesting artists is going to end up way, way smaller. I actively try to help independent artists succeed by giving them money directly, even though it ends up being somewhat inconvenient to me. Even the biggest-name independent musicians talk about how laughably little money they make from Spotify streaming compared to actually selling albums and tracks.

For another, pure streaming means you're locked into the streaming service's player, having internet access, and having a device you can run a client on. Just having the audio files is vastly preferable to me.


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)

But they are easy to forget, easy to delete etc.

CDs are harder to throw out accidently.


You are just old ;)

I have not lost a file in 10years. I have a NAS with backup to the cloud, nothing fancy just a single drive NAS with automatic rolling backups. Important files go to multiple clouds.


yupp. Both old and stubborn admit it.

There does seem to be an increasing interest in physical mediums. Or perhaps that fad has faded already.

I know some of the younger guys at work have started collecting vinyl. For a short period, it seemed like cassettes were hip too. I have no idea if that ever got going.


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 use to be autistic about downl.. buying albums before, and listening in foobar or whatever

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


Audius.co uses blockchain and ipfs to host files.

Also Royal by 3LAU is pretty interesting.


At least as of a couple years ago, Audius was teeming with piracy: https://www.theverge.com/2019/10/9/20905384/audius-blockchai...


Audius as an idea is really interesting. I hope something like a decentralized streaming service really takes off


Decentralised pirating service.


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.


Bluetooth is terrible for music streaming.

- 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.


I'm no fan of bluetooth for music, but wouldn't an internet connected speaker also drain battery? And are you really wanting to simultaneously take a call and listen to music? Will the person on the other end appreciate that? Seems like an inconsequential limitation to me.

Fully agree with your other points. And they're enough on their own.


> And are you really wanting to simultaneously take a call and listen to music? Will the person on the other end appreciate that? Seems like an inconsequential limitation to me.

You could be hosting a party, for example, and want to leave the room to take a call without interrupting the music.


It saves battery by streaming the music from Spotify directly over the internet, rather than through your phone.


It would not drain your phone battery. The speaker is almost always going to be plugged in anyways. And stepping into another room to take a call while others are listening to music isn't all that uncommon.


A single use speaker is not a game changer, it's just Spotify selling you useless gadgets. But if you're interested, I've got a mouse to sell to you that can only work on Word, and a keyboard that can only type the words "game changer".

In practice, this is just a terrible speaker that can only ever play Spotify. It's a waste of energy and resources that you will throw away within a year.


You have no idea what you are talking about


Sure, be happy about buying an overpriced raspberry pi with a DAC that only plays Spotify.


I think to be honest a project like this is not just about practical advantages.

It's fun, and it's an amazing learning exercise.


It also means your phone's battery is not draining while you're playing music. I use spotifyd on a Raspberry Pi and it's pretty wonderful.


It's Chromecast Audio, but for Spotify.


Still can't believe they stopped manufacturing these. Such a perfect and cheap solution to the same problem as OP: streaming audio over WiFi to a "dumb" speaker.


Exactly what it looks like, pretty cool. My Denon receiver has this built in. AVR-3600H, I love it and can send music from my phone, and still use the remote for the reciever. Song and title is displayed on the tv, it I turn it on.


The tradeoff seems to be that

* 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.


Change your password.


Also, music doesn't stop if you visit a webpage with an autoplaying video or open an app that plays audio.


That seemingly small advantage is great for me. Bluetooth is too short range.


I use a Miccus RTX Home on my non-Bluetooth home receiver. I can routinely get a few hundred feet of range from it at my house. Granted I don't have a ton of 2.4GHz noise, but it's noticeably much better range than any other Bluetooth device I've used.

https://miccus.com/products/miccus-home-rtx-2-0


and an Ethernet jack for even more reliability :)


This is very similar to the OtterCast, which is an open source and open hardware Chromecast replacement.

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.


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.


Before I got the Topping E30 DAC, I was using the Apple USB-C headphone jack adaptor, which is a great and cheap little DAC. You can read the review with measurements on Audio Science Review. If you want SPDIF output, you should consider the Topping D10s, also reviewed on ASR.


I know somebody who got the spdif output working on the Quartz64 [1] with a minimally patched mainline Linux kernel. They needed some custom add on board, but it was cheap from what I understand (~$15).

Here is a pic of their design: https://0x0.st/-wXP.png

You can ping CounterPillow in the quartz64 room on libera.chat if you want more info. They mentioned that they might be open to shipping boards to people.

[1] https://wiki.pine64.org/wiki/Quartz64


I’ve been using a HifiBerry DAC (DAC+ DSP) with a RBP and their HifiBerry OS which comes with a bunch of streaming services built in, the DSP DAC also allows you to upload a profile to adjust for room acoustics.


Slick, thank you!


If you want digital out like SPDIF--as opposed to a DAC (i.e., digital-to-analog converter)--try the HifiBerry Digi line, any of which should do the job just fine. Prices start at ~$25.


You can use the DAC on the pi itself; you will not be able to tell the audio quality difference on any equipment you own (your ears included).

There is a stereo mini jack audio output on the pi. Just use that and don't waste your money on audio woo.

(This is also a standing bet of $5000 to anyone who can pass an ABX in front of me to discern the difference between the two in headphones of their own choosing. You pay if you lose.)


Sorry, but I did try this, and it sounds absolutely awful. There's a ton of noise. I don't know if my Pis (and I've tried 3 of them) are different from yours, but a cheapo $20 USB sound adapter already has a much better noise floor than the built-in one. This is regardless of what I connect them to.

There's "audio woo" where you spend $1000 for a USB to SPDIF adapter that literally does almost nothing, and spending $50-100 for a decent DAC that doesn't have an audible hiss.


I've never heard the pi DAC... I wonder how good it is. I have some great headphones and great ears. But yeah I agree the built in DAC should be fine for what people seem to be using this for (playing music in a group setting, or while doing chores).


If you plug headphones into the Pi's minijack and turn the volume down to a comfortable listening level, the noise floor on the Pi DAC is very, very obvious. It sounds like hell. Try it yourself before you lose your $5000. :)


Where can you buy a $30 Pi?? The 4 is about €120 on Amazon, and I can't find the 3B for less than €60...


The 3A+ can be found for around €30


CanaKit sells the 3B for $35. Not sure if they'll ship to Europe though.


Fun project!

Belkin has a dongle to turn Apple AirPlay 2 into 3.5mm or optical.

https://www.belkin.com/us/speakers-headphones/speakers/sound...


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.


One major issue is that Spotify for Mac doesn't work with AirPlay. It's confounding. They refuse to build it.

Spotify has also refused to integrate with HomePod. The options are either stream all audio output, download something like AirFoil to stream only a single app (inconvenient, not friendly for non-technical users), or switch to Apple Music.


That's true, although for my purposes AirFoil has been worth the (admittedly too high) price. It also can output audio to bluetooth speakers and airplay devices at the same time, and has quite nice latency compensation built in.

Wish it was free, or better yet built into the OS, but it's a very useful piece of software.


Huh. I never knew it never worked with AirPlay, as I rarely ever use Spotify.

Being in the ecosystem already, Apple Music just makes sense. Does Spotify even have an Apple Watch app yet that allows on-device downloads for running, the way Apple Music does?


Shame they don’t sell Airport Express anymore.


They are often sold used for 10$ to 30$ on ebay and other sites.


> 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

0: https://developer.apple.com/library/archive/qa/qa1942/_index...


The Roomba setup procedure, at least for the 600 series, has the Roomba broadcast a WiFi network that the app has your phone temporarily join.


Very well done !

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.


Since it uses spotifyd, this only works with Premium accounts right?

Very cool project otherwise, love the end result.


You can use a raspberry Pi amd Balena Sound to make one of these. Bonus feature: it also support Air Play.

https://hub.balena.io/balenalabs/balenasound


I wish Pandora's APIs were more open. There's a library for their radio feature[0] but no API for their music subscription service.

[0] https://6xq.net/pianobar/


If you are in the US you may not know but years ago Pandora closed down in most other countries, so I wouldn't be surprised if their API are geographically locked as well.


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.


Just curious: which bits? If you're hemmed up on the sysops side, I've got you covered ;)


PCB design. Sorry what is sysops?


Sysops would be relating specifically to the software/OS side of things, answering questions like "how can we deploy a lightweight software experience that compliments our hardware experience?"

Only reason I bring this up is because I recently did a similar project for my family. You can salvage basically any old x86 board (or brand new, Linux-running ARM chip for that matter) and install a couple Linux daemons that enables it to act as a hyper-thin (total memory footprint under 250mb) Spotify client.

Lord knows how viable it would be to run on embedded hardware, but the current state of the Rust-based Spotify infrastructure looks very well maintained. In it's current state, I'd say the outlook is very good.


I don't think it's explained in the article, but why was spotifyd chosen instead of cast or airplay "middleware"?

Surely cast and airplay work with Spotify while delivering equal sound?

Either way, amazing work and looks fantastic in wood.


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.


This is true for AirPlay, but not really for Google Cast: While a Cast-capable device is required to initially launch Spotify, the Spotify Cast app is a full-featured Spotify Connect client.

For example, you can launch Spotify on a Google Home and control it from any device logged in to the same account, regardless of whether it understands the Cast protocol, is on the same network etc.

I suspect that once Spotify offers HomePod support, the situation might look somewhat similar for AirPlay (since being able to continue streaming with your phone out of battery etc. is possible on Apple Music on a HomePod already).


Very interesting...

I kinda knew this since I think the feature you described is also available through Alexa/Echo, but I never really took the time to think about what was going on behind the scenes.

However, I'm still struggling to understand what is going on in your example.

When you control Spotify from your phone (volume++, next, new song, etc), how does Google Home know to do something?

When you tell Google Home "google play never gonna give you up", how does the Spotify app on your phone know how to reflect what's playing on the Spotify app?

Technically I can imagine that there is a shadow state of your Spotify instance sitting out in the cloud somewhere, but what are the mechanisms that make all this work together? Is this part of the "cast" protocol/architecture? Is this Spotify specific IP/tech that they can push on Google and Alexa to include on their IOT/smart services since they have the clout and pull?

Do you have any good links (not too technical, not too lite) on how this works?


> but am assuming 'cast or airplay' refers to the method used by mobile devices to redirect AV streams to different devices.

Yes, thank you for phrasing it better.

I don't think what you said is 100% true. I have an old chromecast that is capable of playing Spotify without the "spotify client" (i assume you mean spodifyd).

From what I understand about chromecast is that it uses a "cast protocol" (?) and therefore doesn't require "clients" (xyzd) for each media service integration.

Unsure about airplay though.

I imagine the reason they chose to use this spotifyd approach might be

- There is no "cast client" or "airplay client" available

- Audio properties of the Spotifyd client are superior to the alternatives

- They only use spotify

- just because they wanted to

Yup, i understand the idea behind these clients and why they're superior to bluetooth.


I was not aware there was an OSS Spotify client before reading this article.

That’s neat!


The opening picture is a reference to [1], I suppose?

[1] https://dilbert.com/strip/1999-02-17


Would a chrome cast audio work? Or is it not high fidelity enough


If you can buy one. I think they stopped making them a year or so ago.

I've heard the DACs on the Chromecast audios are pretty good, so should be plenty hi-fidelity for most people's needs.


It should work. I have one outputting digital to my hi-fi via TOSLINK.


Possibly off topic, but does anyone experience major issues with Spotify Connect? Maybe its just Sonos devices but it rarely works well.


I am experiencing some issues, especially when starting a session. It can help to have all the speakers connected via ethernet cable.


Very cool! For those looking for a commercial solution Echo Input (~$25) supports this as well – albeit with an Amazon-sized middleman.


Disadvantage of this is that the DAC in the echo dot is quite low quality. On a quality HiFi it doesn't sound very good. I started with this, and then moved to an Echo Link, which allowed me to output digital and then use the DAC in my amplifier, I may upgrade to an external DAC at some point, though I suspect I may have diminishing returns here, given the source is Spotify.


What a great project! I just wish we could get the Chromecast Audio back, it does Spotify as well.


Can it do multiroom? I'd look at snapcast if not. Both look like a bit of work though


I just make do with a Bluetooth to RCA dongle. The upside is it plays any bluetooth audio, not just Spotify. I can even connect it via my phone then control Spotify on my phone through my PC. Also no other apps or software required. It "just works" as far as bluetooth "just works".


The big problem with just plain Bluetooth to me is that “as far as Bluetooth ‘just works’” is “not very well” in my experience. The usual problems with connects and disconnects are annoying, but I’ve also grown impatient with this notion that we can just use our phone for everything. It drives me bonkers, for example, to have my music rudely interrupted by a text message sound instead of just having a subtle ding come from my pocket while the music continues to come from my stereo. Or that I can’t make a phone call while the music continues. Or to have my phone ring at stereo volume. I just want my music to be separate, I guess, which is totally possible through software, but none of our devices actually seem to have features that allow that. So a dedicated device is ideal, IMO.


A similar issue with Bluetooth for me is that that if my phone is on my pocket, my body is readily blocking the signal, as it turns out water is great at absorbing 2.4ghz. Standing phone pocket away from my Bluetooth speaker is enough to interrupt the music.


Any tips for optimizing a Spotify Connect home audio system in 2021?


Now we just need a nice multi-room audio setup.


So…Sonos?


Awesome.


If you have a computer why bother streaming it from the phone and just use the computer to stream it? This is why i have a blueos device at home




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: