Sample rate switcher for CamillaDSP

When building the binary on a RaspiPI 4 with Ubuntu Server 23.10 it cannot connect to the CamillaDSP web port.
maybe the problem is related with the websockect library which is libwebsocket.so.19, instead of the .17 version the included binary is built against.
When installing the older release of the websockets library in parallel to the stock one the binary file included in the GIT repository runs without problems.
 
When building the binary on a RaspiPI 4 with Ubuntu Server 23.10 it cannot connect to the CamillaDSP web port.
maybe the problem is related with the websockect library which is libwebsocket.so.19, instead of the .17 version the included binary is built against.
When installing the older release of the websockets library in parallel to the stock one the binary file included in the GIT repository runs without problems.
Thank you for spotting this issue. Unfortunately, I use Dietpi instead of Ubuntu. On Dietpi the latest stable release is libwebsockets17 (version 4.1.6-3). Thus I have no means of conducting tests. When Dietpi one day upgrades to libwebsockets19, I will do so.
In any case, I understand from the changelog that there are no relevant differences between the two versions with regard to the basic use camilladsp-setrate makes of the library.
 
I installed everything, but when I check the service (systemctl status camilladsp-setrate), I get this error:
Mar 03 22:51:14 DietPi systemd[1]: Started camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP.
Mar 03 22:51:14 DietPi set_samplerate[7169]: ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for UAC2Gadget
Mar 03 22:51:14 DietPi camilladsp-setrate[7169]: Fatal error: Cannot open alsa control for the device hw:UAC2Gadget: No such device
Mar 03 22:51:14 DietPi systemd[1]: camilladsp-setrate.service: Main process exited, code=exited, status=255/EXCEPTION
Mar 03 22:51:14 DietPi systemd[1]: camilladsp-setrate.service: Failed with result 'exit-code'.

When I check the capture cards, I see the UAC2Gadget and I see it also in alsamixer.

Below is the result of the command arecord -l
** List of CAPTURE Hardware Devices **
card 0: UAC2Gadget [UAC2_Gadget], device 0: UAC2 PCM [UAC2 PCM]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 7/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 2: Audio [SA9227 USB Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

I do not understand what is wrong...
 
@Nicosia
I would suggest you to test the UAC2Gadget capture device directly with the arecord command:
arecord -D hw:UAC2Gadget --dump-hw-params -d1 > /dev/null

If you get the "Cannot get card index" error, then try with:
arecord -D hw:0,0 --dump-hw-params -d1 > /dev/null
(but please check the card and device numbers, as those may change on reboot)

In both cases, if you get the error, then something went wrong with the configuration of the gadget device. In this case, please have a look at the guides on this topic you can find on this forum.

If the above commands dump the capture device capabilities with no errors, then there is something wrong with camilladsp-setrate or with its use. In this case please:
1) Let me know the command line options you used
2) Enable logging at the highest level of detail (--loglevel notice) and report back to me the log lines concerning the issue.
 
@Nicosia
I would suggest you to test the UAC2Gadget capture device directly with the arecord command:
arecord -D hw:UAC2Gadget --dump-hw-params -d1 > /dev/null

If you get the "Cannot get card index" error, then try with:
arecord -D hw:0,0 --dump-hw-params -d1 > /dev/null
(but please check the card and device numbers, as those may change on reboot)

In both cases, if you get the error, then something went wrong with the configuration of the gadget device. In this case, please have a look at the guides on this topic you can find on this forum.

If the above commands dump the capture device capabilities with no errors, then there is something wrong with camilladsp-setrate or with its use. In this case please:
1) Let me know the command line options you used
2) Enable logging at the highest level of detail (--loglevel notice) and report back to me the log lines concerning the issue.

Below what I get with the first suggested command line:
Warning: Some sources (like microphones) may produce inaudible results
with 8-bit sampling. Use '-f' argument to increase resolution
e.g. '-f S16_LE'.
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:UAC2Gadget":
--------------------
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S32_LE
SUBFORMAT: STD
SAMPLE_BITS: 32
FRAME_BITS: 64
CHANNELS: 2
RATE: 48000
PERIOD_TIME: (1333 10667)
PERIOD_SIZE: [64 512]
PERIOD_BYTES: [512 4096]
PERIODS: [4 16]
BUFFER_TIME: (5333 170667)
BUFFER_SIZE: [256 8192]
BUFFER_BYTES: [2048 65536]
TICK_TIME: ALL
--------------------
arecord: set_params:1352: Sample format non available
Available formats:
- S32_LE

I think usb gadget is properly setup, it works, I can hear music from my iPhone when connected directly to the Pi4 by USN cable, providing that I use the proper configuration.yml to match frequency of the song (44.1Khz, 48K etc.)

Below the camilladsp-setrate.service --loglevel notice
[Unit]
Description=Automatic Sample Rate Changer Daemon for CamillaDSP
After=camilladsp.service

[Service]
ExecStart=/usr/local/bin/camilladsp-setrate --err --warn --user --syslog
Restart=no
RestartSec=1
StandardOutput=journal
StandardError=journal
SyslogIdentifier=set_samplerate
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=10
User=dietpi
Group=dietpi

[Install]
WantedBy=camilladsp.service

Below the error with the
× camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP
Loaded: loaded (/etc/systemd/system/camilladsp-setrate.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Mon 2024-03-04 16:58:27 CET; 2s ago
Duration: 20ms
Process: 45011 ExecStart=/usr/local/bin/camilladsp-setrate --err --warn --user --syslog --loglevel notice (code=exited, status=255/EXCEPTION)
Main PID: 45011 (code=exited, status=255/EXCEPTION)
CPU: 18ms

Mar 04 16:58:27 DietPi camilladsp-setrate[45011]: /usr/local/bin/camilladsp-setrate 2.0.0
Mar 04 16:58:27 DietPi camilladsp-setrate[45011]: An automatic sample rate switcher for CamillaDSP
Mar 04 16:58:27 DietPi camilladsp-setrate[45011]: Finite-state machine initialised
Mar 04 16:58:27 DietPi camilladsp-setrate[45011]: LWS: 4.1.6-, loglevel 1031
Mar 04 16:58:27 DietPi camilladsp-setrate[45011]: NET CLI SRV H1 H2 WS IPV6-on
Mar 04 16:58:27 DietPi camilladsp-setrate[45011]: START: Websocket environment initialised
Mar 04 16:58:27 DietPi set_samplerate[45011]: ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for UAC2Gadget
Mar 04 16:58:27 DietPi camilladsp-setrate[45011]: Fatal error: Cannot open alsa control for the device hw:UAC2Gadget: No such device
Mar 04 16:58:27 DietPi systemd[1]: camilladsp-setrate.service: Main process exited, code=exited, status=255/EXCEPTION
Mar 04 16:58:27 DietPi systemd[1]: camilladsp-setrate.service: Failed with result 'exit-code'.
Still not working...
 
Still not working...
Ok, it seems that the UAC2Gadget works.
Probably occurs what @phofman suspects, i.e. camilladsp-setrate tries to open the gadget device before it is ready. You could check this in the syslog.
Also, redirect to a file the lines written by camilladsp-setrate to the syslog, as follows:
sudo journalctl | grep camilladsp-setrate > camilladsp-setrate.log

and then attach the camilladsp-setrate.log file to your reply.

What method do you use to launch the gadget configuration procedure? Do you use a systemd service?

Please also check if camilladsp is up and running and if camilladsp logfile reports any errors concerning the capture device.

NOTE: if you use the "--loglevel notice" option, you don't need to add the "--err", "--warn" and "--user" flags.
 
Last edited:
If I put "Restartr=always", I get the following checking twice the status of the service:
root@DietPi:/etc/systemd/system# systemctl status camilladsp-setrate
camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP
Loaded: loaded (/etc/systemd/system/camilladsp-setrate.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/camilladsp-setrate.service.d
└─dietpi-services_edit.conf

Active: active (running) since Mon 2024-03-04 22:48:56 CET; 7ms ago
Main PID: 67800 (camilladsp-setr)
Tasks: 1 (limit: 2197)
Memory: 284.0K
CPU: 3ms
CGroup: /system.slice/camilladsp-setrate.service
└─67800 /usr/local/bin/camilladsp-setrate --syslog --loglevel notice

Mar 04 22:48:56 DietPi systemd[1]: Started camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP.
root@DietPi:/etc/systemd/system# systemctl status camilladsp-setrate

× camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP
Loaded: loaded (/etc/systemd/system/camilladsp-setrate.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/camilladsp-setrate.service.d
└─dietpi-services_edit.conf

Active: failed (Result: exit-code) since Mon 2024-03-04 22:49:00 CET; 6s ago
Duration: 24ms
Process: 67805 ExecStart=/usr/local/bin/camilladsp-setrate --syslog --loglevel notice (code=exited, status=255/EXCEPTION)
Main PID: 67805 (code=exited, status=255/EXCEPTION)
CPU: 23ms
Mar 04 22:49:00 DietPi systemd[1]: camilladsp-setrate.service: Scheduled restart job, restart counter is at 5.
Mar 04 22:49:00 DietPi systemd[1]: Stopped camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP.
Mar 04 22:49:00 DietPi systemd[1]: camilladsp-setrate.service: Start request repeated too quickly.
Mar 04 22:49:00 DietPi systemd[1]: camilladsp-setrate.service: Failed with result 'exit-code'.
Mar 04 22:49:00 DietPi systemd[1]: Failed to start camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP.

I attached the log file.

Below the message for camillaDSP service (while I am listening without any problem music from my iPhone to USB connection):
root@DietPi:/etc/systemd/system# systemctl status camilladsp
camilladsp.service
Loaded: loaded (/etc/systemd/system/camilladsp.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/camilladsp.service.d
└─dietpi-process_tool.conf, dietpi-services_edit.conf

Active: active (running) since Mon 2024-03-04 22:37:22 CET; 19min ago
Main PID: 66266 (camilladsp)
Tasks: 9 (limit: 2197)
Memory: 1.9M
CPU: 48.256s
CGroup: /system.slice/camilladsp.service
└─66266 camilladsp -p 1234 -a 0.0.0.0 /root/camilladsp/configs/USB_HD660S_cross3.yml

Mar 04 22:37:22 DietPi systemd[1]: Started camilladsp.service.
Mar 04 22:37:22 DietPi camilladsp[66266]: 2024-03-04 22:37:22.033403 INFO [src/bin.rs:683] CamillaDSP version 2.0.0
Mar 04 22:37:22 DietPi camilladsp[66266]: 2024-03-04 22:37:22.033463 INFO [src/bin.rs:684] Running on linux, aarch64
Mar 04 22:37:22 DietPi camilladsp[66266]: 2024-03-04 22:37:22.049590 INFO [src/alsadevice.rs:648] Capture device supports rate adjust
Mar 04 22:37:22 DietPi camilladsp[66266]: 2024-03-04 22:37:22.141928 INFO [src/alsadevice.rs:799] Capture device is stalled, processing is stalled
Mar 04 22:45:16 DietPi camilladsp[66266]: 2024-03-04 22:45:16.485655 INFO [src/alsadevice.rs:142] PB: Starting playback from Prepared state

Below the camilladsp.service:
[Unit]
After=syslog.target
StartLimitIntervalSec=10
StartLimitBurst=10

[Service]
Type=simple
User=root
WorkingDirectory=~
ExecStart=camilladsp -p 1234 -a 0.0.0.0 /root/camilladsp/configs/USB_HD660S_cross3.yml
Restart=always
RestartSec=1
StandardOutput=journal
StandardError=journal
SyslogIdentifier=camilladsp
CPUSchedulingPolicy=fifo
IOSchedulingClass=realtime
CPUSchedulingPriority=50

[Install]
WantedBy=multi-user.target
The USB_HD660S_cross3.yml is the camilla configuration I use to start the service and as the USB gadget as source.
 

Attachments

  • camilladsp-setrate.log.txt
    70 KB · Views: 12
Last edited:
If I put "Restartr=always", I get the following:
camilladsp-setrate failed 5 times, 1 second between restarts. Thus it seems that the capture device is unavailable after at least 5 seconds after the first attempt to access it (if the issue is a timing issue).

What method do you use to setup the gadget capture device? If you use a systemd service, please post the related .service file.

Please do the checks I suggested in my posts #49,50.
 
Log output attached in previous (edited message #51), below the camilladsp.service:

[Unit]
After=syslog.target
StartLimitIntervalSec=10
StartLimitBurst=10

[Service]
Type=simple
User=root
WorkingDirectory=~
ExecStart=camilladsp -p 1234 -a 0.0.0.0 /root/camilladsp/configs/USB_HD660S_cross3.yml
Restart=always
RestartSec=1
StandardOutput=journal
StandardError=journal
SyslogIdentifier=camilladsp
CPUSchedulingPolicy=fifo
IOSchedulingClass=realtime
CPUSchedulingPriority=50

[Install]
WantedBy=multi-user.target
 
The log file you attached confirms that the gadget capture device is unavailable to camilladsp-setrate.

IMPORTANT:
Make sure the dietpi user is a member of the audio group. To get the list of groups to which dietpi belongs:
groups dietpi

If not a member, add dietpi to the audio group:
sudo usermod -a dietpi -G audio

Then reboot and see if camilladsp-setrate works.

If the issue persists, please start camilladsp-setrate manually and report the status of the service:
sudo systemctl start camilladsp-setrate sudo systemctl status camilladsp-setrate

Please also report the status of camilladsp:
sudo systemctl status camilladsp

below the camilladsp.service
I asked you for the .service file that starts the gadget device setup.
 
Last edited:
The log file you attached confirms that the gadget capture device is unavailable to camilladsp-setrate.

IMPORTANT:
Make sure the dietpi user is a member of the audio group. To get the list of groups to which dietpi belongs:
groups dietpi

If not a member, add dietpi to the audio group:
sudo usermod -a dietpi -G audio

Then reboot and see if camilladsp-setrate works.

If the issue persists, please start camilladsp-setrate manually and report the status of the service:
sudo systemctl start camilladsp-setrate sudo systemctl status camilladsp-setrate

Please also report the status of camilladsp:
sudo systemctl status camilladsp


I asked you for the .service file that starts the gadget device setup.
I did this:
groups dietpi

Now the service is running!
root@DietPi:~# sudo systemctl status camilladsp-setrate.service
camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP
Loaded: loaded (/etc/systemd/system/camilladsp-setrate.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/camilladsp-setrate.service.d
└─dietpi-services_edit.conf

Active: active (running) since Tue 2024-03-05 21:06:12 CET; 42s ago
Process: 5216 ExecStartPre=sleep 0.5 (code=exited, status=0/SUCCESS)
Main PID: 5218 (camilladsp-setr)
Tasks: 1 (limit: 2197)
Memory: 872.0K
CPU: 28ms
CGroup: /system.slice/camilladsp-setrate.service
└─5218 /usr/local/bin/camilladsp-setrate --loglevel=err --syslog

Mar 05 21:06:12 DietPi systemd[1]: Starting camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP...
Mar 05 21:06:12 DietPi systemd[1]: Started camilladsp-setrate.service - Automatic Sample Rate Changer Daemon for CamillaDSP.

But it does not change the frequency, unless I restart manually the camilladsp.service, every time a song has a different frequency compared to the previous one.
Below camilladsp.service status:
root@DietPi:~# sudo systemctl status camilladsp.service
camilladsp.service
Loaded: loaded (/etc/systemd/system/camilladsp.service; enabled; preset: enabled)
Drop-In: /etc/systemd/system/camilladsp.service.d
└─dietpi-process_tool.conf, dietpi-services_edit.conf

Active: active (running) since Tue 2024-03-05 21:06:31 CET; 4min 8s ago
Main PID: 5229 (camilladsp)
Tasks: 10 (limit: 2197)
Memory: 1.5M
CPU: 3.297s
CGroup: /system.slice/camilladsp.service
└─5229 camilladsp -p 1234 -a 0.0.0.0 /root/camilladsp/configs/USB_HD660S_cross3.yml

Mar 05 21:07:08 DietPi camilladsp[5229]: 2024-03-05 21:07:08.569682 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 40489.417014374645 Hz
Mar 05 21:07:09 DietPi camilladsp[5229]: 2024-03-05 21:07:09.581664 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 40475.0348912637 Hz
Mar 05 21:07:10 DietPi camilladsp[5229]: 2024-03-05 21:07:10.593167 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 40494.22197427596 Hz
Mar 05 21:07:11 DietPi camilladsp[5229]: 2024-03-05 21:07:11.614146 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 40118.39482889876 Hz
Mar 05 21:07:12 DietPi camilladsp[5229]: 2024-03-05 21:07:12.625677 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 40493.09441533705 Hz
Mar 05 21:07:13 DietPi camilladsp[5229]: 2024-03-05 21:07:13.637231 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 40492.14701173006 Hz
Mar 05 21:07:14 DietPi camilladsp[5229]: 2024-03-05 21:07:14.006513 ERROR [src/socketserver.rs:1127] Error validating config: capture_samplerate must match samplerate when resampling is disabled
Mar 05 21:07:14 DietPi camilladsp[5229]: 2024-03-05 21:07:14.144292 ERROR [src/socketserver.rs:1127] Error validating config: capture_samplerate must match samplerate when resampling is disabled
Mar 05 21:07:14 DietPi camilladsp[5229]: 2024-03-05 21:07:14.650699 WARN [src/alsadevice.rs:779] sample rate change detected, last rate was 38394.892633076575 Hz
Mar 05 21:07:16 DietPi camilladsp[5229]: 2024-03-05 21:07:16.071243 INFO [src/alsadevice.rs:799] Capture device is stalled, processing is stalled

Maybe something wrong with the first part of the camilladsp configuration I use? Here it is:
GNU nano 7.2 /root/camilladsp/configs/USB_HD660S_cross3.yml *
description: null
devices:
adjust_period: null
capture:
channels: 2
device: plughw:0,0
format: S32LE
type: Alsa
capture_samplerate: 44100
chunksize: 1024
enable_rate_adjust: null
playback:
channels: 2
device: plughw:3,0
format: S32LE
type: Alsa
queuelimit: null
rate_measure_interval: null
resampler: null
samplerate: 44100
silence_threshold: null
silence_timeout: null
stop_on_rate_change: null
target_level: null
volume_ramp_time: null

I do not have any .service to start the I asked the gadget device setup.
I followed the instructions on this page: Using a Raspberry Pi as equaliser in between an USB Source and USB DAC
but I stopped at the gaudio_ctl section.

On another Pi4, everything works fine with the gaudio_ctl as per the instructions in the link above, but I need several configurations for each frequency. If you want to use different headphones, you need more configurations and a script to run different execution commands in the camilladsp.service. It could be more handy.

Your script is much more elegant and handy because I need only one configuration for each pair of headphones I can select from the Camilla GUI. Your script will change the frequency when needed.
 
I did this:
groups dietpi
I can imagine that you also ran the command to add dietpi to the audio group.
Now the service is running!
Glad to hear that!
Below camilladsp.service status:
An error is reported in the configuration file of CamillaDSP. It is probably what prevents the overall system from working properly.
Maybe something wrong with the first part of the camilladsp configuration I use? Here it is:
Please remove the capture_samplerate specification.
I would also suggest using names instead of card and device numbers (numbers may change on reboot), and using the "hw" device type instead of "plughw", as follows:
YAML:
..........
devices:
  ..........
  capture:
    ..........
    device: "hw:UAC2Gadget"
    ..........
  playback:
    ..........
    device: "hw:<name of your playback device>"
  ..........
  capture_samplerate: null  
  samplerate: 44100
  ..........

Please pay attention to the indentation of the configuration file.
The syslog traces all the steps in the procedure by which camilladsp-setrate updates the samplerate and communicates it to camilladsp.
Any issues should as well be reported in the syslog.
sudo journalctl | grep camilladsp-setrate
 
Last edited:
  • Like
Reactions: 1 user
I removed the capture_samplerate specification:
capture_samplerate: null
and… now it works like a charm!

Thank you so much for the wonderful support and the great plugin!
Hopefully all the lessons learnt above will help the community also :)

Maybe collecting the tips about audio group and capture_samplerate null in a FAQ or paragraph in GitHub could be useful?

Many thanks again! Grazie di cuore!
 
and… now it works like a charm!
Great!
I now suggest you to set --loglevel=err

Hopefully all the lessons learnt above will help the community also :)

Maybe collecting the tips about audio group and capture_samplerate null in a FAQ or paragraph in GitHub could be useful?
I updated the .service file and the README.md file, based on the contribuitions posted in this thread. In particular look at step 4. in the installing instructions and the fifth of the endnotes.

Thank you all for pointing out the need for these improvements to my little tool.
 
Last edited:
  • Like
Reactions: 1 user
Hello I am new with CamillaDSP and use it now for a week or so and it works already great but one thing i need for the whole Projekt i build up,

Is to detect the Input Samplerate on an RPI'S 5 I2S Input (Multichannel) I got already an HDMI (1.4) to I2S Board running but for now i need to switch the Incomming samplerates Manualy on CDSP. And this isn't realy funn to do.

Look at the Attached Picture. That is my Plan to build up an nice complete DSP Solution (waiting for the Boards i ordered already) for an 7.2 full aktiv Surround Setup with CamillaDSP as the Heart of all.
Outputdevice for now is an MOTU UL mk5 but i need at all 16 Channels with Volumecontroll on all Channels, so i need to switch it any day to may be an MOTU Ao 24 or A16.

At minimum all Channels on Motu need to run at 96kHz

For the Capturdevice i use this:

hw:CARD=GenericStereoAu,DEV=0 (I2S Input on RPI5)

Would be the camilladsp-saterate the right tool to switch automaticly to any incomming samplefrequenz on I2S ???
Than i would give it an try.

Other Option would be to use an SRC Like that Chip "AK4128A 8 Channel Asyncronous SRC" but i cant find an DIY Board with it or an aviable Evaluationboard with this Chip

Damm this is EOL, now Ti has only an 4 CHannel SRC4194 and EVAL Board with one of them cost 300€ :(
Dont think that anyone will have an DIY Board with 2 of them for 8 Channels.(Digi-key Price is 19,17€)... ;)

I use UBUNTU 23.1 on the RPI5 for camilladsp with Squezzeliteserver on it and on my second RPI 4 is the Picoreplayer, with for now, HDMI Out to HDMI IN Board to I2S on RPI5 later i will use also I2S Out instead of HDMI Out on RPI4 with Picoreplayer.

I am not an Linux Expert so any advice will help me ;)

Robert
 

Attachments

  • CDSP with i2S Switch.jpg
    CDSP with i2S Switch.jpg
    283.7 KB · Views: 24
Last edited: