After a lot of experimenting with esp devices to build an internet radio, i thought that maybe a Raspberry PI would be a better choiche. The esp devices seem not to be powerfull enough for the job.
I had an old Raspberry to experiment with so... why not?
To play a radio stream with the Raspberry appeared to be easy enough. There are several mediaplayers for linux available. I needed one that can be controlled from the command-line and that is capable of outputting meta data. The control via a webpage was less easy. I had to dive into the world of scripting language. Java-script, PhP, Perl, Bash, Python, i applied them all in this project.
The result is very good. The radio can play a stream from icecast servers without any stability problems. It can display the artist and songtitle on the webpage and on the LCD display. Also it can play mp3 from an usb drive.
I found that it can be made with a very cheap RPI zero W and an i2s dac. So i concentrated my further investigations on the RPI Zero W to make this project work.
I developped a version with an led matrix display. This opens new possibilities. It has a news ticker and a BME280 sensor.