I replaced Spotify with a homemade FM radio station

90 points - today at 3:25 PM

Source

Comments

tombert today at 5:23 PM
I did something similar about a year ago, when I was unemployed.

I made an Icecast-compatible streaming server in Erlang, and an Icecast-compatible stream in Rust. Between songs, I would phone out to the cheapest GPT model and a local TTS model to get unfunny DJ banter, with an infinite stream.

I thought it would be very funny to call it "KUMM -- Playing all stickiest white-hot hits!" because I have the maturity level of a fourteen year old, only to find out that there actually is a KUMM station [1] in real life.

All the songs were from CD rips from my very large collection, and it was pretty fun to write. It was my primary music solution until I eventually got a job, it broke, and I didn't prioritize fixing it.

[1] https://en.wikipedia.org/wiki/KUMM

EvanAnderson today at 4:01 PM
Did something like this for janky whole-venue music at my wedding reception back in '07. We had a low power FM transmitter connected to a laptop playing the music. We borrowed a bunch of old "boom boxes" with FM radios from friends, tuned them to our "station", and arrayed them throughout the event space. We kept the volume fairly low on each radio so we didn't have to worry about echoes.
dredmorbius today at 5:32 PM
What I really like about this concept is that it runs a mix of podcasts, news updates, and music, which is something I've been considering for a while. Playing the same mix over a number of tuned-in sets throughout a house or establishment could also work nicely.

TFA uses bluetooth, which may incur different lags on different playback devices. Another option several people have already mentioned is low-power local-only FM (or apparently AM) transmitters. These are sometimes used for in-car playback without Bluetooth from a device (phone, tablet, laptop) over a non-Bluetooth sound system, and could work within a small house. Bands and transmission power are specifically licenced for this in some locations, though of course local regs will vary.

I particularly like the idea of curating my own set of podcasts to play as I want to schedule them, adding in top-of-the-hour news (BBC, CBC, NPR, Deutschlandfunk), or a daily news programme (BBC World, PBS News Hour, The World out of WBUR/Boston), with music filling in between slots either streamed or selected from a (very large, physical media-backed) collection.

Another thought, for a commercial venue which would otherwise be subject to, e.g., ASCAP / Harry Fox performance rights organisation licencing (<https://en.wikipedia.org/wiki/Performance_rights_organisatio...>), would be to use only public-domain / freely-licenced works.

Also very much appreciating others' similar takes on this.

(Submitter, FWIW.)

jklinger410 today at 4:00 PM
Shilling for an old employer. This is a neat super simple device that takes incoming headphone and converts to FM.

Whole House FM Transmitter (https://wholehousefmtransmitter.com/)

pmontra today at 5:01 PM
That solves the problem of keeping all the speakers in sync.

I did something similar with IP tech. I put all my MP3s on a SSD connected to a 3 W ARM SoC at home. The software stack is deefuzzer + icecast + a number of different players according to the device I'm using. A web UI to skip to the next song or to search a string and create a playlist with the result. I setup a few channels by genre. I'm listening to my radio right now. The advantage compared to a FM station is that I don't have to care about interference (I would be the bad guy) and I can listen to it wherever I am.

Zigurd today at 5:42 PM
As an avid user of a handful of Chromecast audio devices, I endorse this solution. I also advocate adding "swearing at your Chromecast devices" to the definition of the word "castigate."
kanbankaren today at 3:45 PM
You don't even need a Raspberry PI.

You can simplify it even further. List of things you need.

1. Smartphone or DAP.

2. Car Bluetooth FM Transmitter (~$20)

3. USB to 12 V car adapter(~$10)

4. Existing FM radio.

You can set this up in 5 minutes. Connect the smartphone/DAP using BT or AUX cable. Select a free FM channel and you are ready to go.

Also, in the photos, the FM antenna is fully extended which is unnecessary as these FM transmitters put out plenty of RF power.

P.S. On AliExpress, you can buy both for < $15 while on Amazon it is around $30.

P.P.S. Just the USB FM transmitter is only $5 on AE. For the cost of a cup of Coffee!

dredmorbius today at 3:31 PM
For those looking for technical details, Github, "Pi FM Kitchen Radio Station" <https://github.com/trwmato/pi-fm-kitchen-radio>.

NB: Not my project, but it tickles an interest.

sandreas today at 3:53 PM
Here in Germany you have to be careful when setting up a homemade radio signal - it might be illegal depending on frequency and transmit power.

I personally prefer a combination of

  duckdns.org
  Beets
  Navidrome
  Audiobookshelf
  Substreamer / DSub 
  PaulWoitaschek/Voice / Audiobookshelf
  Wireguard
You can even make a script do download smart playlists to usb-sticks for kitchen radios without wifi or old car USB.
josefritzishere today at 3:38 PM
This is rad.
tamimio today at 4:33 PM
I have something similar, but cleaner setup, an old iPhone connected to a speaker through lightning, and it had FM radio app and also connected to my navidrome server, works very well. If I want local FM radio however, I have an FM receiver that can be plugged into that speaker too.
gosub100 today at 4:30 PM
They make low power AM transmitters as well. I bought one for my dad so he could "stream" old music from the Internet to his old tube radios.
toomuchtodo today at 3:32 PM
elzbardico today at 3:56 PM
I miss the experience of having career professionals 100% dedicated to the music world curating a list of what I would hear. Of course, it was not perfect, there were ads, most stations played pop slop, but most of the time there was a few stations for your taste, your knew your preferred DJs times and there was a certain sense of community in being a regular fan of a show.