I had build an Internet Radio with an ESP32 and a VS1051 MP3 decoder, but I was not happy with the sound quality. So I am now trying it with a Orange PI Zero board and an USB DAC.
Currently I have an USB headphone connected to the PI, but I have ordered a Lusya SA9023A + ES9018K2M USB Portable DAC HIFI External Audio Card Decoder from Aliexpress.
On the Orange PI Zero I installed MPD and MPC for the sound deamon and the controller.
apt install mpd mpc
I also installed apache2 and php to run the web based front end from.
apt install apache2 php
The Orange PI Zero is an Older SOC with WiFi and an USB port, just the things you need for this project. You can buy it for around 18 Euro from Aliexpress.
Plug your USB DAC in the Orange PI Zero and check the card id.
aplay -l **** List of PLAYBACK Hardware Devices **** card 1: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0
Here it shows that your hardware card ID = 1.
Use this number to edit /etc/mpd.conf and scroll down to the audio_output section. Here you can change the line with device from hw:0,0 to the below :
audio_output { type "alsa" name "My ALSA Device" device "hw:1,0" }
After making changes to mpd.conf you will need to restart mpd
service mpd stop service mpd start
To add Internet Radio station use the following command:
mpc add http://airspectrum.cdnstream1.com:8114/1648_128
You can add as many stations you want with the above command.
mpc -f "%file%" playlist
To list all the radio stations you added with the mpc add command.
For the web frontend I combined two setups into my setup.
The two sources are:
http://www.suppertime.co.uk/blogmywiki/2014/10/raspberry-pi-internet-radio-with-web-interface/ https://github.com/Edzelf/ESP32-Radio
I added below radio stations with mpc
mpc add http://109.206.96.34:8100 #1 NAXI LOVE RADIO mpc add http://airspectrum.cdnstream1.com:8114/1648_128 #2 Easy Hits Florida mpc add http://21263.live.streamtheworld.com/RADIO10.mp3 #3 Radio 10 mpc add http://airspectrum.cdnstream1.com:8000/1261_192 #4 Magic Oldies Florida mpc add http://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_nonstop_96.mp3 #5 Qmusic Pop mpc add http://23603.live.streamtheworld.com/SRGSTR09.mp3 #6 Veronica Pop Nonstop mpc add http://icecast.omroep.nl:80/radio1-bb-mp3 #7 Radio 1, NL mpc add http://21223.live.streamtheworld.com/SRGSTR05.mp3 #8 Sky Radio mpc add http://23543.live.streamtheworld.com/SRGSTR10.mp3 #9 Veronica Top 1000 mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/TLPSTR11.mp3 #10 538 Hitzone mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/TLPSTR09.mp3 #11 538 Non Stop mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/TLPSTR16.mp3 #12 538 Party mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/TLPSTR21.mp3 #13 538 Verrückte Stunde mpc add http://ice.cr6.streamzilla.xlcdn.com:8000/sz%3Dnhnieuws%3DNHRadio_mp3 #14 Radio Noord Holland mpc add http://icecast.omroep.nl/funx-reggae-bb-mp3 #15 Reggae 1 mpc add http://node-19.zeno.fm:80/2sk4vqhtknruv #16 Reggae 2 mpc add http://direct.fipradio.fr/live/fip-webradio6.mp3 #17 Reggea 3 mpc add http://generations-caraibes.ice.infomaniak.ch/generations-caraibes-high.mp3 #18 Reggae 4 mpc add http://ganja.stream.ouifm.fr/ouifmganja-128.mp3 #19 Reggae 5 mpc add http://streams.bigfm.de/bigfm-reggaevibes-128-mp3 #20 Reggae 6 mpc add http://node-01.zeno.fm/8mrdsxfk8neuv #21 Reggae 7 mpc add http://radio.alloldieschannel.com:8000/stream #22 Oldies mpc add http://21233.live.streamtheworld.com/CANDLELIGHT.mp3 #23 Candlelight mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/TLPSTR18.mp3 #24 Radio 10 60' 70' Hits mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/TLPSTR20.mp3 #25 Radio 10 80' Hits mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/TLPSTR22.mp3 #26 Radio 10 90' Hits mpc add http://classichits106.stream.laut.fm/classichits106 #27 Classic Hits mpc add http://21253.live.streamtheworld.com/TLPNET06.mp3 #28 JUKE Nederpop mpc add http://21253.live.streamtheworld.com/TLPNET11.mp3 #29 Juke Cafe Genee Nederlands Muziek mpc add http://21253.live.streamtheworld.com/TLPNET12.mp3 #30 Juke Levenslied Nederlands mpc add http://21253.live.streamtheworld.com/TLPNET05.mp3 #31 Juke Zomer Lounge mpc add http://icecast-qmusicnl-cdp.triple-it.nl/Joe_nl_1_96.mp3 #32 greatest hits a la Joe mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/TLPNET03.mp3 #33 Cabaret mpc add http://saw-de-hz-fal-stream04-cluster01.radiohost.de/saw-deutsch_128 #34 Deutsche Hits mpc add http://mp3.ffh.de/radioffh/hqlivestream.mp3 #35 Hit Radio FFH mpc add http://pool.radiopaloma.de/RADIOPALOMA.mp3 #36 Radio Paloma Deutch mpc add http://radiostreamserver.de/wunschradio-70er.mp3 #37 Wunschradio FM mpc add http://stream.antenne.com/deutsch/mp3-128/radioplayer/ #38 Antenne Niedersachsen Deutsch mpc add http://streambbr.ir-media-tec.com/live/mp3-128/web/play.mp3 #39 BB Radio mpc add http://dieneuewelle.cast.addradio.de/dieneuewelle/simulcast/high/stream.mp3 #40 Neue Welle mpc add http://stream.radiobrocken.de/bestof/mp3-128/radioplayerhp/ #41 Radio Brocken mpc add http://pool.radiopaloma.de/RP-Kultschlager.mp3 #42 Radio Paloma Kultschlager mpc add http://streams.greenhost.nl:8080/klassiek #43 Concertzender Klassieke Muziek mpc add http://playerservices.streamtheworld.com/api/livestream-redirect/SRGSTR25.mp3 #44 Classic FM
Download here the radio.css file for the web frontend
And here the actual web page index.php
Unzip the above two files and put them in your apache web directory.
Hi Rob
I am a beginner to the Orange Pi.
Before I only worked with Arduino.
I plan to make an WiFi SIP client.
Not sure what OS to choose as i looks like the WiFi chip on the Orange Pi is not supported so well.
Could you point me in the right direction.
Thanks a lot.
Greetings from Amsterdam / The Netherlands.
Remko van Dokkum.