• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

pi_player: an application that extends the use of camilladsp to a fully functional preamp/streamer

itsikhefez

Member
Joined
Mar 20, 2019
Messages
39
Likes
40
Location
Greater Seattle Area
Posted originally in the RPi4 + CamillaDSP Tutorial.
Thanks so much again to @mdsimon2 for starting that thread and providing detailed instructions on setting up an RPI with CamillaDSP.

I have been working on a similar python app to what is discussed there, but with some additional features.
It supports any remote control with a basic TSOP38238 IR receiver, in additional to a physical knob with a rotary encoder.
If you're using Squeezelite, you can change tracks and display album art or song info on the display.

Given that the app waits on events from squeezelite, a remote control and encoder, it leverages multithreading and asyncio to be as performant as possible.
The UI is very responsive to all inputs.
Another nice feature is the ability to toggle between multiple EQ options, so that you can A/B the effects of your filters/room correction etc.
I've only been testing with an IPS LCD with luma.lcd package, but it should be easy enough to swap that out for luma.oled.

The code is available publicly on github: https://github.com/itsikhefez/pi_player/

Full list of features:
  • Supports any remote control
    • Key mapping defined in config file
  • Inputs
    • User-defined inputs (e.g TV, streamer, analog)
    • Direct input selection
    • Scroll through inputs
    • 3 modes per input -- direct, EQ and EQ alt.
    • EQ can be turned on or off (direct)
  • Volume Control
    • Coarse (3.0dB) or fine (0.5dB) steps.
    • Volume dim (20dB)
    • Events throttling to control adjustment speed
    • Via remote control or rotary encoder
    • Volume level displayed on screen during adjustment
  • Squeezelite
    • Play, pause, stop, prev track, next track.
    • Multiple display options, such as album art image or track info (album, artist, title, bitrate)
    • Continuously updates display with up-to-date information
Click to expand...
 
OP
I

itsikhefez

Member
Joined
Mar 20, 2019
Messages
39
Likes
40
Location
Greater Seattle Area
A few pics and basic demo.

I bought this remote off eBay since it had most buttons I was interested in, and it is what "inspired" the labels of the remote key mapping.

Tentative front panel, intention is to match aesthetics on top of the RME UCX-II
1711032292068.png


And quick video of changing songs, changing volume with encoder and remote (coarse + fine), and swapping display modes (text info vs album art)
 

Attachments

  • 2024-03-21 07.03.46.jpg
    2024-03-21 07.03.46.jpg
    297.4 KB · Views: 40

sarieri

Senior Member
Forum Donor
Joined
Mar 1, 2023
Messages
333
Likes
216
Awesome. ALU case could be made under $40 CNC drilled in China. And last time I asked, one could add script engraves if quantity>20. Maybe there’s some potential here that we could come up some modular design case and people can pick what ever I/O they want.
 
OP
I

itsikhefez

Member
Joined
Mar 20, 2019
Messages
39
Likes
40
Location
Greater Seattle Area
I made a case with Front Panel Express at exact dimensions of the RME half-rack units.
It is unfortunately very expensive so your option seems good if there is broader interest.
 

Attachments

  • 2024-03-21 07.56.43.jpg
    2024-03-21 07.56.43.jpg
    245.9 KB · Views: 72
  • 2024-03-21 07.56.52.jpg
    2024-03-21 07.56.52.jpg
    125.9 KB · Views: 73

sarieri

Senior Member
Forum Donor
Joined
Mar 1, 2023
Messages
333
Likes
216
I made this case half a year ago. It was like $30. And I only made one so it should be even cheaper if make more. There are detachable sockets like the one attached and that seems good.
 

Attachments

  • IMG_0610.jpeg
    IMG_0610.jpeg
    103.5 KB · Views: 63
  • IMG_0613.jpeg
    IMG_0613.jpeg
    239.2 KB · Views: 64
  • IMG_0612.jpeg
    IMG_0612.jpeg
    200 KB · Views: 64
  • IMG_0611.jpeg
    IMG_0611.jpeg
    205.4 KB · Views: 60

melomane13

Member
Joined
Jul 24, 2023
Messages
99
Likes
70
Location
France
I made this case half a year ago. It was like $30. And I only made one so it should be even cheaper if make more. There are detachable sockets like the one attached and that seems good.
incredible low price! where you have made it?
 
OP
I

itsikhefez

Member
Joined
Mar 20, 2019
Messages
39
Likes
40
Location
Greater Seattle Area
I've been testing a few displays because I can't order the front panel without finalizing which one.

This was the first one: https://www.ebay.com/itm/224197366222
Its a 1.77" LCD with 160x128 pixels. I chose it because it is almost identical to the RME unit. It works well overall, only complaint was that the viewing angles are pretty poor on it.

Next, I tried this "IPS" display: https://www.ebay.com/itm/296152617715
Its a 1.54" LCD so slightly smaller but has 240x240 pixels so much higher PPI (pixels per inch)
I didn't expect 240x240 to be such a difference, but it improves album art and text clarity substantially. Viewing angles are also excellent on this unit.
The only issue I had was that it had longer latency to refresh the screen, leading to noticeable delay when rotating the volume knob quickly.
Adding a queue for the display mitigated this issue.

I was still curious about how an OLED would work, so tried this one: https://www.ebay.com/itm/386515309814
This is similarly sized at 1.5" but only 128x128.
The OLED obviously has better blacks due to no backlight, but other than that is a significant step down to the 2nd unit.
Small text is barely legible, and album art can be blurry. It's color accuracy is also much worse than the second unit.

To summarize, I can recommend the second option and will be ordering a front panel soon based on its dimensions.
Some pictures to compare unit 2 and 3. They are a bit brighter and more washed out than in person, though.
 

Attachments

  • 2024-03-23 15.23.23.jpg
    2024-03-23 15.23.23.jpg
    136.4 KB · Views: 21
  • 2024-03-23 15.47.32.jpg
    2024-03-23 15.47.32.jpg
    163.6 KB · Views: 23
  • 2024-03-23 15.47.22.jpg
    2024-03-23 15.47.22.jpg
    118.6 KB · Views: 18
  • 2024-03-23 15.25.24.jpg
    2024-03-23 15.25.24.jpg
    114.6 KB · Views: 23
  • 2024-03-23 15.25.11.jpg
    2024-03-23 15.25.11.jpg
    95.4 KB · Views: 26
  • 2024-03-23 15.24.20.jpg
    2024-03-23 15.24.20.jpg
    152.2 KB · Views: 23
  • 2024-03-23 15.48.51.jpg
    2024-03-23 15.48.51.jpg
    92.3 KB · Views: 22
  • 2024-03-23 15.48.59.jpg
    2024-03-23 15.48.59.jpg
    94.3 KB · Views: 22
  • 2024-03-23 15.51.59.jpg
    2024-03-23 15.51.59.jpg
    139.4 KB · Views: 22
  • 2024-03-23 15.52.07.jpg
    2024-03-23 15.52.07.jpg
    146.6 KB · Views: 22
  • 2024-03-23 15.48.28.jpg
    2024-03-23 15.48.28.jpg
    154.3 KB · Views: 20
  • 2024-03-23 15.48.03.jpg
    2024-03-23 15.48.03.jpg
    169.9 KB · Views: 23

Frunse

Active Member
Joined
Feb 21, 2024
Messages
132
Likes
20
I've been testing a few displays because I can't order the front panel without finalizing which one.

This was the first one: https://www.ebay.com/itm/224197366222
Its a 1.77" LCD with 160x128 pixels. I chose it because it is almost identical to the RME unit. It works well overall, only complaint was that the viewing angles are pretty poor on it.

Next, I tried this "IPS" display: https://www.ebay.com/itm/296152617715
Its a 1.54" LCD so slightly smaller but has 240x240 pixels so much higher PPI (pixels per inch)
I didn't expect 240x240 to be such a difference, but it improves album art and text clarity substantially. Viewing angles are also excellent on this unit.
The only issue I had was that it had longer latency to refresh the screen, leading to noticeable delay when rotating the volume knob quickly.
Adding a queue for the display mitigated this issue.

I was still curious about how an OLED would work, so tried this one: https://www.ebay.com/itm/386515309814
This is similarly sized at 1.5" but only 128x128.
The OLED obviously has better blacks due to no backlight, but other than that is a significant step down to the 2nd unit.
Small text is barely legible, and album art can be blurry. It's color accuracy is also much worse than the second unit.

To summarize, I can recommend the second option and will be ordering a front panel soon based on its dimensions.
Some pictures to compare unit 2 and 3. They are a bit brighter and more washed out than in person, though.
Hello all,

I am on neare the same Adventure since this Year, but in the Direction of Streamer witch CamillaDSP, 2x MOTU UL mk5 and full aktiv Surround with 16 Analogue Outs for 7.1 Possibility. 2.0 as well with an 4 channel I2S Switch in front of one RPI5 (CamillaDSP) and an second RPI4 as an Player, conected thrue I2S Out (right now i use HDMI Out on that and it works already with PICoreplayer on it) The Logitech Mediaserver is installed on that PI5 with Camilla. This could Changed also at the end to install Logitech Media Server on that PI4 with Squeezelite and Camilla alone on PI5 or may be using an second PI5 instead of PI4.

But for now the most Streaming Distros are made for PI4 and i wand to have Flexibility to use different Distros without changing my Camilla Setup every time.

My Camilla Config for 7.1 use around 20% Processing Power already for 16 Channel Out (Only Mainspeaker have Roomcorrection right now) but it works great so far on Prototype
And only the Stereo Main Speaker with Amps are Ready so far, ethe Surround Speaker are done but the Amps need to build the Enclousures first.

So may be youre Files would help me to get an Idea how to get the Software Configured to work all together. Probably without using an Arduino UNO

I use Flirc for Remote and i need to use an Arduino Uno for configuration or switching the I2S but may be i get it done with PI Gpio's any Day
but i am new in Raspberry and Linux so i stay at the beginning for this Journy.

I Collect all Files around this Hardware Software Stuff i could learn from ;).

And by sure i will provide all what i could get done. So other People could use it too this way.

My main Hobby is building Speaker.
I cant get anything in this direction that i could buy, so i need to build it by my self for this Journey \o/.

Before, i used Najda DSP and Foobar on an Passiv cooled INUC but this worked only Stereo now i need to go an Step ahead to Surround to.

On the Serch i found this Forum with all the nice Threads and People about CamillaDSP and Streamin and got fixed by it :)

No need to buy Minidsp Stuff anymore that didnt give you more than 2048 Taps per Channel and only 32Bit Processing with 8 Analogue Channels only
Now you get so much more Processing freedom to Settup Speaker Crossovers with an such incredible good Precission (96db LR Filter with Lineare Phase at 96kHz even at Low Frequenzies) thats Insane.
Before you could get such stuff only from Companies that builds his own full aktiv Digital Speaker or probably Studio Speaker for much Money.

But i gues only without Surround Possebilitys

I didn't know an Surround full digital aktiv System right now.
All Multichannel Amp Passiv systems i heared for now, wasn't neare to an good Stereo Setup sounding for Music listening.
Denon, Harman Kardon, Onkyo 5007 TX (my own), Pioneer and Marantz, i heared some already but they never comes close to an Time aligned (Roomcorected) full aktiv Stereo system.

So i will try it now with Camilla and let see how far we can come :)

Here i Provided my Journey and used Hardware so far, and will keep going / share it.

https://www.audiosciencereview.com/...amilladsp-tutorial.29656/page-86#post-1936092
https://www.audiosciencereview.com/...easier-and-cheaper.48233/page-17#post-1931055

I try to use an waveshare 7.9" HDMI Display on my Setup but not sure how to use it with Picoreplayer for now, on Volumio it works with Plugin but not sure how i will integrade it for use with Logitech Media Server and an Flirc + skip Remote combo
Todo List becomes longer and longer ;)

Robert
 
Last edited:
Top Bottom