Posted by dredmorbius 2 hours ago
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.
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.)
Whole House FM Transmitter (https://wholehousefmtransmitter.com/)
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.
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!
FM broadcasts do a high pass at 50 Hz and stop at 15 kHz. The best SNR is only ~50 dB which is already achieved by plain old SBC. There is no need for higher fidelity audio codecs like AAC/aptX/aptX HD/LDAC besides the fact that most smartphones don't support aptX or aptX HD.
Along with the ability to blacklist and add new songs, I hope that I will eventually end up with a huge collection of only the best songs (for my taste)
NB: Not my project, but it tickles an interest.
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.In Germany and everywhere else. The difference is how much it's enforced.
Note that this project isn't using that horrible Raspberry Pi GPIO PWM hack that shits all over RF but an off-the-shelf low power car FM transmitter product. I guess if someone knocks on your door you can point your finger to whoever in Germany sold you that.
You'll want to be "kind" to the extant spectrum and do a responsible frequency sweep to select the "quietest band" prior to broadcasting. And you'll only want to broadcast during the event itself.
The FCC has better things to do than to try and track down an ephemeral milliwatt infringer.