New BBC Radio 3 streams
TL;DR -- Plug http://lstn.lv/bbc.m3u8?station=bbc_radio_three&bitrate=320000 into the streaming player of your choice. Be happy!
For audio streaming, I use Volumio running on a RaspberryPi 4 with a HiFiBerry DAC. Set up was simple and there's a smart phone ap for remote control. The reminder of my set up is a Dayton Audio DTA-1 "T Amp", driving a pair of Wharfedale Diamond 5 loudspeakers (designed by my friend and coauthor, Richard Lee). Great sound for about $250. I use Volumio's DSP plug in to add a couple of dB of bass below 80 Hz, and 2.5 dB of treble above 4 kHz.
This setup worked well with the BBC's legacy 128 kbit/sec MP3 Shoutcast streams, but the BBC shut them down about a year ago. A couple of months before the MP3 streams ended, I found a GitHub "gist" with the URLs of their new MPEG-4 DASH streams [1]. For listeners outside the UK, the highest bit rate available was 96 kbit/sec. With MPEG-4 Advanced Audio Coding (AAC) that bitrate provides pretty good sound, but the Beeb is using the AAC-HE ("High Efficiency") profile, which uses spectral band replication (SBR). That means that the top octave (in this case, 12-24 kHz) is not transmitted, but generated from the lower octaves using "hints" about the shape of the spectrum. I can hear it in action on KCSM's 48 kbps AAC-HE stream, where the shimmer of a close mic'ed cymbal turns in to a frying sound.% ffprobe -i "http://lstn.lv/bbc.m3u8?station=bbc_radio_three&bitrate=320000"
[...]
Input #0, hls, from 'http://lstn.lv/bbc.m3u8?station=bbc_radio_three&bitrate=320000':
Duration: N/A, start: 4846.664889, bitrate: N/A
Program 0
Metadata:
variant_bitrate : 339200
Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Metadata:
My second favorite BBC Radio stream is Radio 6 Music:
- http://lstn.lv/bbc.m3u8?station=bbc_6music&bitrate=320000 (high)
- http://lstn.lv/bbc.m3u8?station=bbc_6music&bitrate=96000 (low)
- https://apps.apple.com/gb/app/bbc-sounds/id1380676511
- https://play.google.com/store/apps/details?id=com.bbc.sounds
[1] DASH stands for "Dynamic Adaptive Streaming over HTTP." The main advantage for broadcasters like the BBC is that it lets them leverage HTTP Content Delivery Networks (CDNs), like Akamai, instead of every connection going back to a server in the UK, as was the case with Shoutcast. For example, my BBC radio feed is from an Akamai server near San Jose. At the protocol level, it looks like a series of short MPEG transport streams, about 5 to 10 seconds each, that your player fetches with an HTTP client.
Comments
https://www.youtube.com/watch?v=CxHa5KaMBcM