• 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!

RPi4 + CamillaDSP Tutorial

OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
Thanks Michael, impressive summary, as usual.

As a bit of background, while waiting for the minidsp flex to be in stock again i decided instead to go all in with a Motu M4 + camilladsp using your instructions including the flirc remone and the display :D

I also decided that i dont want to have a black box anymore on sight and this is something that the Motu allows me to do: I can put everything in a cabinet and hide a little display with the volume and the flirc receptor behind a little panel of dark glass. The only "problem" is that i find the display you use a little bit too big and the glass pannel solution would not be that small anymore and i am afraid it ends up looking like a DIY Frankenstein.

btw, to my surprise, i found someone here in ASR that did exactly the same i want to do (+ the flirc receptor). I would like mine to be even smaller.


index.php


My problem is that i cannot program anything, and the moment i need to change anything to troubleshoot or modify something, it becomes a no go for me, so i guess i will go for your solution as i dont think i will find what i wanted. I have searched a lot and i could find some other displays with the same specs and a bit smaller, but just a bit (2.8" instead of 3.2")

I have also found that Audiophonics sells one that seems to match the requirements, ships from France and is cheaper, so this will be what i will probably order:


When i set it up and see in real how it looks like, i might ask you how to "erase" some of the info your code makes it show (i.e. sample rate).

Lets see how it ends up :D

That display looks pretty much identical as the buydisplay.com (has same exact dimensions of 100.5 x 33.50 x 6.30). Only thing I am somewhat unsure on is SPI vs 6800 8 bit. On the New Haven Display switching between them was just a matter of pulling certain pins high / low, however with the buydisplay.com display they have you select whether you want SPI or 6800 8 bit when you order. The Audiophonics says that it is SPI, probably worth inquiring if it is possible to switch to 6800 8 bit.

At this point modifying what the display shows is pretty easy with a bit of guidance. Let me know what you want to change and we can work through. Will be a good addition to the tutorial for others that may be interested in a modified display.

Michael
 

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,652
Likes
2,259
however with the buydisplay.com display they have you select whether you want SPI or 6800 8 bit when you order. The Audiophonics says that it is SPI, probably worth inquiring if it is possible to switch to 6800 8 bit.

oh! thanks for pointing that out, i didnt know it was one OR the other reading Audiophonics description:

1650832161242.png


hm, bummer, i dont feel like ordering from overseas....
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
oh! thanks for pointing that out, i didnt know it was one OR the other reading Audiophonics description:

View attachment 202122

hm, bummer, i dont feel like ordering from overseas....

I would check with Audiophonics, they have really good tech support and should be able to guide you on how to switch if possible.

Michael
 

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,652
Likes
2,259
yeah, will do so. Thanks again, you have save me some head scratching
 
Last edited:

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,652
Likes
2,259
In case someone is interested. I already have an answer from Audiophonics (like 3 minutes after i sent them the quesion):
Yes, it is possible to switch between:

CN1 (8080 Parallel Interface)
CN1 (6800 Parallel Interface)
CN1 (4-SPI Interface)
CN1 (3-SPI Interface)
CN2 (4-SPI Interface)
CN3 (4-SPI Interface)

Changing the resistors in these positions:
1650902953976.png


They dont don the change, i need to do it myself.
I asked back if those are actually contacts (0 ohm) or i need to use the same SMD resistors, i cannot read well the picture, but seems it says "0R" what would suit better my poor soldering skills :D
 
Last edited:
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
De-soldering SMD resistors with an iron is pretty easy, I use the technique in this video:


Basically add some solder to each side of the component, alternate the iron between each side and then pull off with the iron while the solder is molten.

For making a new connection you do not need to use zero-ohm resistors, bridging the pads with solder is fine. Not sure what size components those are but they look close enough that a solder bridge should work well.

Good luck!

Michael
 

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,652
Likes
2,259
Thanks for sharing, seems easy enough. And yes, a solder bridge is my strategy if I can confirm the resistor is indeed "0R".
 

Nabussan

Member
Joined
Mar 25, 2020
Messages
42
Likes
32
Location
Bonn, Germany
Step 15
15) Try starting GUI

As with CamillaDSP itself it is good practice to start the GUI directly from terminal before proceeding to creating service.

Code:
python3 /home/michael3/camilladsp/camillagui/main.py
doesn't go so well for me.

I get the following:

ubuntu@ubuntu:~$ python3 /home/ubuntu/camilladsp/camillagui/main.py Traceback (most recent call last): File "/home/ubuntu/camilladsp/camillagui/main.py", line 5, in <module> from backend.routes import setup_routes, setup_static_routes File "/home/ubuntu/camilladsp/camillagui/backend/routes.py", line 1, in <module> from .settings import BASEPATH File "/home/ubuntu/camilladsp/camillagui/backend/settings.py", line 54, in <module> config = get_config(CONFIG_PATH) File "/home/ubuntu/camilladsp/camillagui/backend/settings.py", line 19, in get_config config = yaml.safe_load(f) File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 162, in safe_load return load(stream, SafeLoader) File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 114, in load return loader.get_single_data() File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 49, in get_single_data node = self.get_single_node() File "/usr/lib/python3/dist-packages/yaml/composer.py", line 36, in get_single_node document = self.compose_document() File "/usr/lib/python3/dist-packages/yaml/composer.py", line 58, in compose_document self.get_event() File "/usr/lib/python3/dist-packages/yaml/parser.py", line 118, in get_event self.current_event = self.state() File "/usr/lib/python3/dist-packages/yaml/parser.py", line 193, in parse_document_end token = self.peek_token() File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 129, in peek_token self.fetch_more_tokens() File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 223, in fetch_more_tokens return self.fetch_value() File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 577, in fetch_value raise ScannerError(None, None, yaml.scanner.ScannerError: mapping values are not allowed here in "/home/ubuntu/camilladsp/camillagui/config/camillagui.yml", line 2, column 13

@HenrikEnquist seems to have provided a solution (https://www.diyaudio.com/community/...overs-room-correction-etc.349818/post-6332185). But unfortunately I'm unable to understand or apply it.

At least installing Pillow newly (python3 -m pip install --upgrade Pillow) doesn't work.

Does anyone have a clue?
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
Step 15

doesn't go so well for me.

I get the following:

ubuntu@ubuntu:~$ python3 /home/ubuntu/camilladsp/camillagui/main.py Traceback (most recent call last): File "/home/ubuntu/camilladsp/camillagui/main.py", line 5, in <module> from backend.routes import setup_routes, setup_static_routes File "/home/ubuntu/camilladsp/camillagui/backend/routes.py", line 1, in <module> from .settings import BASEPATH File "/home/ubuntu/camilladsp/camillagui/backend/settings.py", line 54, in <module> config = get_config(CONFIG_PATH) File "/home/ubuntu/camilladsp/camillagui/backend/settings.py", line 19, in get_config config = yaml.safe_load(f) File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 162, in safe_load return load(stream, SafeLoader) File "/usr/lib/python3/dist-packages/yaml/__init__.py", line 114, in load return loader.get_single_data() File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 49, in get_single_data node = self.get_single_node() File "/usr/lib/python3/dist-packages/yaml/composer.py", line 36, in get_single_node document = self.compose_document() File "/usr/lib/python3/dist-packages/yaml/composer.py", line 58, in compose_document self.get_event() File "/usr/lib/python3/dist-packages/yaml/parser.py", line 118, in get_event self.current_event = self.state() File "/usr/lib/python3/dist-packages/yaml/parser.py", line 193, in parse_document_end token = self.peek_token() File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 129, in peek_token self.fetch_more_tokens() File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 223, in fetch_more_tokens return self.fetch_value() File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 577, in fetch_value raise ScannerError(None, None, yaml.scanner.ScannerError: mapping values are not allowed here in "/home/ubuntu/camilladsp/camillagui/config/camillagui.yml", line 2, column 13

@HenrikEnquist seems to have provided a solution (https://www.diyaudio.com/community/...overs-room-correction-etc.349818/post-6332185). But unfortunately I'm unable to understand or apply it.

At least installing Pillow newly (python3 -m pip install --upgrade Pillow) doesn't work.

Does anyone have a clue?

Are you using Ubuntu Server 22.04 64 bit on a Raspberry Pi?

The error in that thread is different from the error you are getting so I am not surprised that upgrading Pillow does not solve it.

Can you post the contents of /home/ubuntu/camilladsp/camillagui/config/camillagui.yml?

Michael
 

Nabussan

Member
Joined
Mar 25, 2020
Messages
42
Likes
32
Location
Bonn, Germany
Are you using Ubuntu Server 22.04 64 bit on a Raspberry Pi?

The error in that thread is different from the error you are getting so I am not surprised that upgrading Pillow does not solve it.

Can you post the contents of /home/ubuntu/camilladsp/camillagui/config/camillagui.yml?

Michael

Hi Michael, yes, I'm using Ubuntu Server 22.04 64 bit on a Raspberry Pi 4 (Ubuntu 22.04 LTS (GNU/Linux 5.15.0-1005-raspi aarch64)).
This is in /home/ubuntu/camilladsp/camillagui/config/camillagui.yml:
-- camilla_host: "0.0.0.0" camilla_port: 1234 port: 5000 config_dir: "~/camilladsp/configs" coeff_dir: "~/camilladsp/coeffs" default_config: "~/camilladsp/configs/camilladsp.yml" active_config: "~/camilladsp/configs/camilladsp.yml" update_symlink: true on_set_active_config: null on_get_active_config: null supported_capture_types: null supported_playback_types: null-- camilla_host: "0.0.0.0" camilla_port: 1234 port: 5000 config_dir: "~/camilladsp/configs" coeff_dir: "~/camilladsp/coeffs" default_config: "~/camilladsp/configs/camilladsp.yml"
 
Last edited:
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
Hi Michael, yes, I'm using Ubuntu Server 22.04 64 bit on a Raspberry Pi
This is in /home/ubuntu/camilladsp/camillagui/config/camillagui.yml:
-- camilla_host: "0.0.0.0" camilla_port: 1234 port: 5000 config_dir: "~/camilladsp/configs" coeff_dir: "~/camilladsp/coeffs" default_config: "~/camilladsp/configs/camilladsp.yml" active_config: "~/camilladsp/configs/camilladsp.yml" update_symlink: true on_set_active_config: null on_get_active_config: null supported_capture_types: null supported_playback_types: null-- camilla_host: "0.0.0.0" camilla_port: 1234 port: 5000 config_dir: "~/camilladsp/configs" coeff_dir: "~/camilladsp/coeffs" default_config: "~/camilladsp/configs/camilladsp.yml"

You are missing a "-" in your camillagui.yml. First few lines should read (note the three "-"):

---
camilla_host: "0.0.0.0"
camilla_port: 1234

Michael
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
Michael, I need to know this. Are you human?

Haha, it wasn't that difficult. :)

The last line of the error log was indicating there was a bad value in camillagui.yml which is why I asked for it. Once camillagui.yml was posted I noticed that it looked like it was missing a "-" on the first line. Tried removing a "-" from my camillagui.yml and got the same exact error message, put it back in and the GUI started as expected.

Michael
 

Nabussan

Member
Joined
Mar 25, 2020
Messages
42
Likes
32
Location
Bonn, Germany
Haha, it wasn't that difficult. :)

The last line of the error log was indicating there was a bad value in camillagui.yml which is why I asked for it. Once camillagui.yml was posted I noticed that it looked like it was missing a "-" on the first line. Tried removing a "-" from my camillagui.yml and got the same exact error message, put it back in and the GUI started as expected.

Michael
Probably you are at least a demi-god, so thanks for your tireless efforts, Herkules!
 

Wirrunna

Member
Joined
May 27, 2021
Messages
93
Likes
45
Location
South Coast, NSW, Australia
Michael,
I read your post
about the new release.
I look forward to either an upgrade howto or updated install steps (probably more simple -
https://github.com/HEnquist/camillagui-backend/releases/tag/v1.0.0-rc1 and
https://github.com/HEnquist/camilladsp/releases/download/v1.0.0/camilladsp-linux-aarch64.tar.gz )

Although ongoing it would be good to have upgrade instructions.

Edit : It appears that the new release is evolving quickly and so we should wait a few days for a stable version.
 
Last edited:
Top Bottom