Skip to main content
I would like to play HD Radio on my Sonos speakers. However, there doesn't appear to be a way to directly integrate a local music source into the desktop app.



Currently, it is possible to play HD Radio on your computer using a $25 RTL-SDR USB adapter and the NRSC5 library.

See: https://github.com/theori-io/nrsc5



I describe how to use this library along with Airfoil on my Mac in order to stream a radio station to networked speakers using Airplay or Google Cast here:

http://freetime.mikeconnelly.com/archives/5052



Unfortunately, I cannot currently fling music to my new Sonos One speakers.



There seem three possible options:



1) Wait for Google Assistant integration for the Sonos One speakers and anticipate that they will support Google Cast then.



2a) Create a Icecast music server. Pipe music from NSRC5 library to that. Then create a local Internet radio station on my Mac that "tunes" to the Icecast server.



2b) There might be a similar solution using UPNP rather than Icecast.



3) Create a plugin to the Mac desktop app that wraps around the NSRC5 library. But I don't see any details in Sonos Labs about how to do this. (they seem focused on creating cloud-based music services)



Any feedback is welcome!
I think you're overthinking this a bit... Most stations available over the air are also streaming on the internet, so why would you go to such great lengths just to get an OTA HD Radio signal when you could listen to the internet stream provided by the station? The online streams are probably just as good as the HD Radio version of the station.



In fact, many times the internet stations can be higher quality than HD Radio. For stations that are hybrid analog-digital (most of them, for backwards compatibility reasons), there is only 100-150 Kbps of digital data that can be sent. That means for a station that has their primary digital station and one sub-station, they're getting between 50-75 Kbps of audio data per station. The numbers are even lower if there are two digital sub-channels in addition to the primary station. Many online streams are 64-96 Kbps AAC-HE, some even up to 128 Kbps (though those are more likely use AAC-LC or MP3).



Why make it more complex than it needs to be? Just search for the station in TuneIn or iHeartRadio and enjoy! And yes, many stations' HD sub-channels are also available over the internet too.
Thanks, MikeV. I enjoy Internet radio stations too. I have a list of Google Cast-enabled, high bit rate stations here:

http://radio.mikeconnelly.com



Of course, HD Radio stations only work for local radio stations. But some local stations, especially the NPR / college radio stations that I like, are better bit rate+audio codec than their Internet streams. And, it doesn't consume any Internet data.



The broader question is whether there is a means of flinging audio from an application on a computer to a Sonos player? Clearly, it's possible to do this via Airplay / Google Cast.
Nope, at this time there's no way to "fling" audio to Sonos. Airplay 2 has been said to be coming... Google Assistant has been said to be coming in 2018... but it's unknown if Google Assistant functionality will also bring Casting functionality with it.
The little Sony XDR-F1HD is the finest HD tuner ever made. They sold for $99 new, generally sell for more now. RCA outputs into a Connect. Done.




But some local stations, especially the NPR / college radio stations that I like, are better bit rate+audio codec than their Internet streams. And, it doesn't consume any Internet data.

Just to comment on this briefly, which I thought about doing in my previous post but didn't...



Obviously if the station doesn't have any digital sub-channels they can allocate all of their digital bandwidth to the primary station and run a nice high 100-150 Kbps digital stream. Otherwise, sub-channels will be using some of that digital bandwidth, reducing the bit rate of the primary station.



As far as the codec though, HD Radio requires the use of one particular codec called HDC (Hybrid Digital Coding), which is a proprietary codec found to be based largely on AAC-HE. So whether or not it's a better audio codec than internet streams could depend on the codec they're using for their internet streams.
I use TuneIn Internet Radio on my Sonos system. TuneIn supports many HD Radio stations around the world as well as local. It's easy to add your favorite stations to the Sonos Favorites for quick access.