A simple and very lightweight cd player written in python (using vlc) made for raspberry pi (in my case Rpi 3b+, but it uses ~1.5% Cpu) with 1602 lcd and six buttons. I highly recommend using it inside a venv!
Some time ago i made an amplifier using tpa3116 (i will put the shematic someday) to replace my cheap Panasonic. As i was suprised with change of quality event with same speakers i thought that it would also be nice if i made an cd player (i mostly play music from my cd collection). For ~1.5 year i was using either Volumio and Raudio. Why either? Each one has some problems, so i was changing from time to time. On Volumio cd playback is behind a paywall, nanomesher cd plugin runs cd drive too fast (its very loud). Raudio on the other hand tends to lag and interrupt cd playback. So i thought that maybe i would be able to make one. Yes, without a web interface, but lcd and buttons are even better for me.
- add webui
- make display refresh only if something changed
- Pip
- requirements.txt
- Apt
libiso9660-dev- libcdio-dev
libcdio-utils- swig
- cython
- libdiscid0-dev
- python3-pip
- py3-gpiozero
- vlc
- gcc
- python3.11-dev
- libcairo2-dev
- python3.11-venv
- libxt-dev
- libgirepository1.0-dev
- Useful links
Recently I switched from raspbian to Alpine to reduce boot time. Tools like this really make it simpler to setup.
However I was still struggling with gpio permision problems ( solution ), and needed to compile lgpio from source (script), but libiso9660 and libcdio-utils installation wasn't nessesary. Also idk why but I needed to change vlc.Instance()
to vlc.Instance('--aout=alsa', '--alsa-audio-device=plughw:0,0')
, because otherways it would play audio to dummy.
Apart from that, everything works as it should.