Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Solved: Updated to 9.2.4 - CamillaDSP problems
#21
I reflashed the card with 9.2.4

Trying to build a config from scratch and still having problems.  I used to put filters in the coeffs file and the system would default to looking there for them.  Now I do the same e.g. L-F1-Fwb19.wav but when I load the config it is looking for the files in /usr/share/camilladsp/configs

I checked the camillagui.yml and it looks correct

---
camilla_host: "0.0.0.0"
camilla_port: 1234
bind_address: "0.0.0.0"
port: 15000
gui_config_file: /opt/camillagui/config/camillagui.yml
config_dir: "/usr/share/camilladsp/configs"
coeff_dir: "/usr/share/camilladsp/coeffs"
default_config: "/usr/share/camilladsp/working_config.yml"
active_config: "/usr/share/camilladsp/working_config.yml"
backup_camilla_path: "/usr/local/bin/camilladsp"
backup_camilla_port: 1235
log_file: "/var/log/mpd/log"
active_config_txt: "/usr/share/camilladsp/active_config.txt"
statefile_path: "/var/lib/cdsp/statefile.yml"
on_set_active_config: /var/www/util/moode_selectactivecdspconfig.py set {}
on_get_active_config: /var/www/util/moode_selectactivecdspconfig.py get

Something is overriding the coeffs path. I try using /usr/share/camilladsp/coeffs/L-F1-Dec19.wav but that doesnt work either.
Note that the pathname for the config file is /opt/camillagui/config/camillagui.yml which is the same name as this file.

I looked on the moode website but couldnt find a link to download the previous release.  Is anyone able to point me to where I can get that to re-install?

Many thanks
Reply
#22
(02-21-2025, 08:02 PM)tonywsea Wrote: I reflashed the card with 9.2.4

Trying to build a config from scratch and still having problems.  I used to put filters in the coeffs file and the system would default to looking there for them.  Now I do the same e.g. L-F1-Fwb19.wav but when I load the config it is looking for the files in /usr/share/camilladsp/configs

I checked the camillagui.yml and it looks correct

---
camilla_host: "0.0.0.0"
camilla_port: 1234
bind_address: "0.0.0.0"
port: 15000
gui_config_file: /opt/camillagui/config/camillagui.yml
config_dir: "/usr/share/camilladsp/configs"
coeff_dir: "/usr/share/camilladsp/coeffs"
default_config: "/usr/share/camilladsp/working_config.yml"
active_config: "/usr/share/camilladsp/working_config.yml"
backup_camilla_path: "/usr/local/bin/camilladsp"
backup_camilla_port: 1235
log_file: "/var/log/mpd/log"
active_config_txt: "/usr/share/camilladsp/active_config.txt"
statefile_path: "/var/lib/cdsp/statefile.yml"
on_set_active_config: /var/www/util/moode_selectactivecdspconfig.py set {}
on_get_active_config: /var/www/util/moode_selectactivecdspconfig.py get

Something is overriding the coeffs path. I try using /usr/share/camilladsp/coeffs/L-F1-Dec19.wav but that doesnt work either.
Note that the pathname for the config file is /opt/camillagui/config/camillagui.yml which is the same name as this file.

I looked on the moode website but couldnt find a link to download the previous release.  Is anyone able to point me to where I can get that to re-install?

Many thanks

Go to the github repo and look for the Releases entry in the right column.

Regards,
Kent
Reply
#23
(02-21-2025, 08:02 PM)tonywsea Wrote: I reflashed the card with 9.2.4

Trying to build a config from scratch and still having problems.  I used to put filters in the coeffs file and the system would default to looking there for them.  Now I do the same e.g. L-F1-Fwb19.wav but when I load the config it is looking for the files in /usr/share/camilladsp/configs

I checked the camillagui.yml and it looks correct

---
camilla_host: "0.0.0.0"
camilla_port: 1234
bind_address: "0.0.0.0"
port: 15000
gui_config_file: /opt/camillagui/config/camillagui.yml
config_dir: "/usr/share/camilladsp/configs"
coeff_dir: "/usr/share/camilladsp/coeffs"
default_config: "/usr/share/camilladsp/working_config.yml"
active_config: "/usr/share/camilladsp/working_config.yml"
backup_camilla_path: "/usr/local/bin/camilladsp"
backup_camilla_port: 1235
log_file: "/var/log/mpd/log"
active_config_txt: "/usr/share/camilladsp/active_config.txt"
statefile_path: "/var/lib/cdsp/statefile.yml"
on_set_active_config: /var/www/util/moode_selectactivecdspconfig.py set {}
on_get_active_config: /var/www/util/moode_selectactivecdspconfig.py get

Something is overriding the coeffs path. I try using /usr/share/camilladsp/coeffs/L-F1-Dec19.wav but that doesnt work either.
Note that the pathname for the config file is /opt/camillagui/config/camillagui.yml which is the same name as this file.

I looked on the moode website but couldnt find a link to download the previous release.  Is anyone able to point me to where I can get that to re-install?

Many thanks

Very odd.

Nothing overrides the paths. For example here is one of the bundled configs in /usr/share/camilladsp/configs. You can see the coeffs files are referenced via ../coeffs/

Code:
description: Binaural Room Impulse Response R02 Control Room from the ASH-IR dataset
 (without HpCF).
devices:
 adjust_period: 3
 capture:
   type: Stdin
   channels: 2
   extra_samples: null
   format: S24LE
   read_bytes: null
   skip_bytes: null
 capture_samplerate: 44100
 chunksize: 4096
 enable_rate_adjust: false
 playback:
   type: Alsa
   channels: 2
   device: hw:0,0
   format: S24LE
 queuelimit: 1
 rate_measure_interval: 1
 samplerate: 44100
 silence_threshold: 0
 silence_timeout: 0
 stop_on_rate_change: false
 target_level: 1024
 volume_ramp_time: 150
filters:
 ir_hpcf:
   description: null
   parameters:
     channel: 0
     filename: ../coeffs/V3-Sennheiser_HD800S_HpCF_A.wav
     type: Wav
   type: Conv
 ir_l_input_l_ear:
   description: null
   parameters:
     channel: 0
     filename: ../coeffs/V3-BRIR_R02_P1_E0_A-30.wav
     type: Wav
   type: Conv
 ir_l_input_r_ear:
   description: null
   parameters:
     channel: 1
     filename: ../coeffs/V3-BRIR_R02_P1_E0_A-30.wav
     type: Wav
   type: Conv
 ir_r_input_l_ear:
   description: null
   parameters:
     channel: 0
     filename: ../coeffs/V3-BRIR_R02_P1_E0_A+30.wav
     type: Wav
   type: Conv
 ir_r_input_r_ear:
   description: null
   parameters:
     channel: 1
     filename: ../coeffs/V3-BRIR_R02_P1_E0_A+30.wav
     type: Wav
   type: Conv
 mastergain:
   description: null
   parameters:
     gain: -18
     inverted: false
     mute: false
     scale: null
   type: Gain
mixers:
 XF_IN:
   channels:
     in: 2
     out: 4
   description: null
   mapping:
   - dest: 0
     mute: false
     sources:
     - channel: 0
       gain: -6
       inverted: false
       mute: false
       scale: null
   - dest: 1
     mute: false
     sources:
     - channel: 0
       gain: -6
       inverted: false
       mute: false
       scale: null
   - dest: 2
     mute: false
     sources:
     - channel: 1
       gain: -6
       inverted: false
       mute: false
       scale: null
   - dest: 3
     mute: false
     sources:
     - channel: 1
       gain: -6
       inverted: false
       mute: false
       scale: null
 XF_OUT:
   channels:
     in: 4
     out: 2
   description: null
   mapping:
   - dest: 0
     mute: false
     sources:
     - channel: 1
       gain: 0
       inverted: false
       mute: false
       scale: null
     - channel: 3
       gain: 0
       inverted: false
       mute: false
       scale: null
   - dest: 1
     mute: false
     sources:
     - channel: 2
       gain: 0
       inverted: false
       mute: false
       scale: null
     - channel: 0
       gain: 0
       inverted: false
       mute: false
       scale: null
pipeline:
- bypassed: null
 description: null
 name: XF_IN
 type: Mixer
- bypassed: null
 channels:
 - 0
 description: null
 names:
 - ir_l_input_r_ear
 type: Filter
- bypassed: null
 channels:
 - 1
 description: null
 names:
 - ir_l_input_l_ear
 type: Filter
- bypassed: null
 channels:
 - 2
 description: null
 names:
 - ir_r_input_r_ear
 type: Filter
- bypassed: null
 channels:
 - 3
 description: null
 names:
 - ir_r_input_l_ear
 type: Filter
- bypassed: null
 description: null
 name: XF_OUT
 type: Mixer
- bypassed: null
 channels:
 - 0
 description: null
 names:
 - ir_hpcf
 type: Filter
- bypassed: null
 channels:
 - 1
 description: null
 names:
 - ir_hpcf
 type: Filter
processors: null
title: ASH-IR R02 Control Room

Maybe post the config yml file you are working on.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#24
@tonywsea using convolution files all the time without problems.

Lets see where it goes wrong by checking if the default stuff still works:
  1. Does the quick convolution from the moode camilladsp config page work?
  2. Does the standard supplied V3-ASH-IR R02 Control Room config work?

Did you use the pipeline editor to create the files or made the configs by hand?
Can you post those?
Reply
#25
(02-21-2025, 09:06 PM)bitlab Wrote: @tonywsea using convolution files all the time without problems.

Lets see where it goes wrong by checking if the default stuff still works:
  1. Does the quick convolution from the moode camilladsp config page work?
  2. Does the standard supplied V3-ASH-IR R02 Control Room config work?

Did you use the pipeline editor to create the files or made the configs by hand?
Can you post those?

Hi there,

I did create them by hand.  On one of them I ran teh converter to V3 and it did create a new one, but that still had problems.

If I roll things back, the problems may have started when one of the these bad configs was loaded.  I started seeing issues including:

- the config selector icon in Moode home page e.g. Browse by radio stations no longer visible
- weird behaviour in camilldsp gui e.g. filters editor conv filenames looking for files in /usr/share/camilladsp/configsi nstead of coeffs. When I load a config into the gui, pipeline has no errors, but filters do have this - even if  had entered them through the gui.
- rebooting Moode does not fix these issues.
- I has some similar behaviour on 9.2.3 a while back.  What might be happening is that due to config file errors, its impairing the gui servcie, and some state information is being persisted, preventing some aspect of the service being restarted properly, even from reboot.
- I have done a new install of Moode from the Raspberry Pi sd card flasher but probably is has been corrupted following use of configs as well.

I'm certainly willing to investiage further.  What I would need is all the services that run related to camilladsp, and all the config files it uses and their locations, and ideally their correct content.  I know that camilladsp has a config file checker available through the api and I do plan to use this as part of a config builder.  I'm suspecting there may be one or two edge cases where config problems are not being detected and rejected properly.  If I disable camilladsp processsing from Moode, songs will play "flat" so all is not lost!
I have created a config file generator in Python, which is on hold until I get an understanding of what is going on.  Is there a definitive document for the yaml rules pertaining to camilladsp config?  That would be helpful.  I guess  could access the github for the config file checker.  Its a question of where to spend time.

In summary,  I do think that 99% of configs are built with the gui and thats where all the errors are caught, and that generating a config file is not as much used and I'm on the bleeding edge, but I know this can be solved. Attached is one of the configs that loads and has no errors in pipeline but has the weird bahaviour in the filters editor e.g. looking for files in configs directory

Many thanks for your help
Reply
#26
The system wont allow me to attach a config file.  I can email it if you wish.
Reply
#27
(02-26-2025, 10:10 AM)tonywsea Wrote: The system wont allow me to attach a config file.  I can email it if you wish.

Just paste it in a code box. The code box button is on the right hand side of the toolbar when composing or editing a post.

All the documentation for camilla is in their Git repo.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#28
Code:
description: Discrete filter test
devices:
 adjust_period: 3
 capture:
   channels: 2
   extra_samples: null
   format: S32LE
   labels: null
   read_bytes: null
   skip_bytes: null
   type: Stdin
 capture_samplerate: 44100
 chunksize: 4096
 enable_rate_adjust: false
 multithreaded: null
 playback:
   channels: 2
   device: hw:0,0
   format: S32LE
   type: Alsa
 queuelimit: 1
 rate_measure_interval: 1
 samplerate: 44100
 silence_threshold: 0
 silence_timeout: 0
 stop_on_rate_change: false
 target_level: 1024
 volume_limit: null
 volume_ramp_time: 150
 worker_threads: null
filters:
 l-f1:
   description: null
   parameters:
     channel: 0
     filename: L-F1-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f10:
   description: null
   parameters:
     channel: 0
     filename: L-F10-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f11:
   description: null
   parameters:
     channel: 0
     filename: L-F11-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f12:
   description: null
   parameters:
     channel: 0
     filename: L-F12-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f13:
   description: null
   parameters:
     channel: 0
     filename: L-F13-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f14:
   description: null
   parameters:
     channel: 0
     filename: L-F14-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f15:
   description: null
   parameters:
     channel: 0
     filename: L-F15-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f2:
   description: null
   parameters:
     channel: 0
     filename: L-F2-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f3:
   description: null
   parameters:
     channel: 0
     filename: L-F3-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f4:
   description: null
   parameters:
     channel: 0
     filename: L-F4-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f5:
   description: null
   parameters:
     channel: 0
     filename: L-F5-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f6:
   description: null
   parameters:
     channel: 0
     filename: L-F6-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f7:
   description: null
   parameters:
     channel: 0
     filename: L-F7-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f8:
   description: null
   parameters:
     channel: 0
     filename: L-F8-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 l-f9:
   description: null
   parameters:
     channel: 0
     filename: L-F9-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 mastergain:
   description: null
   parameters:
     gain: -6
     inverted: false
     mute: false
     scale: null
   type: Gain
 r-f1:
   description: null
   parameters:
     channel: 0
     filename: R-F1-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f10:
   description: null
   parameters:
     channel: 0
     filename: R-F10-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f11:
   description: null
   parameters:
     channel: 0
     filename: R-F11-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f12:
   description: null
   parameters:
     channel: 0
     filename: R-F12-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f13:
   description: null
   parameters:
     channel: 0
     filename: R-F13-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f14:
   description: null
   parameters:
     channel: 0
     filename: R-F14-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f15:
   description: null
   parameters:
     channel: 0
     filename: R-F15-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f16:
   description: null
   parameters:
     channel: 0
     filename: R-F1-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f2:
   description: null
   parameters:
     channel: 0
     filename: R-F2-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f3:
   description: null
   parameters:
     channel: 0
     filename: R-F3-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f4:
   description: null
   parameters:
     channel: 0
     filename: R-F4-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f5:
   description: null
   parameters:
     channel: 0
     filename: R-F5-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f6:
   description: null
   parameters:
     channel: 0
     filename: R-F6-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f7:
   description: null
   parameters:
     channel: 0
     filename: R-F7-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f8:
   description: null
   parameters:
     channel: 0
     filename: R-F8-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
 r-f9:
   description: null
   parameters:
     channel: 0
     filename: R-F9-Feb19-$samplerate$.wav
     type: Wav
   type: Conv
mixers: null
pipeline:
- bypassed: null
 description: null
 names:
 - l-f1
 - l-f2
 - l-f3
 - l-f4
 - l-f5
 - l-f6
 - l-f7
 - l-f8
 - l-f9
 - l-f10
 - l-f11
 - l-f12
 - l-f13
 - l-f14
 - l-f15
 type: Filter
- bypassed: null
 description: null
 names:
 - r-f1
 - r-f2
 - r-f3
 - r-f4
 - r-f5
 - r-f6
 - r-f7
 - r-f8
 - r-f9
 - r-f10
 - r-f11
 - r-f12
 - r-f13
 - r-f14
 - r-f15
 - r-f16
 type: Filter
processors: null
title: Feb19-2
Reply
#29
Are you sure the coeffs file can be found by camilla?

Code:
filename: L-F1-Feb19-$samplerate$.wav
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#30
yes and no. When I add them using the filter editor, the file selector allows me to pick it.  Then I change it to $samplerate$ and that is accepted. Then when I save the config that i sok.  But when I load it I see filter errors and that is where I see it looking for the files in ..../configs and cant find them.
I would prefer to have sub-directories where I can store all the filters assocuiated with a config file but I'm wary to go that step until this is solved.

But I frame all this with the thought that once a config file load fails - which had already happened - other strange things such as config selector in Moode disappears and nothing will reset things - even re-boot.

I suspect what is happening is that once my faulty config file failed previous to this sequence, it shuts down some camilladsp gui service and is writing some state information into a config file.  That seems to me the only way it can't recover even on a re-boot.

I am gong to re-flash the sdcard with 9.2.5 tonight and run the convert config function on it and then see if it loads.  If the gui fails again, I guess we have a faulty config that is not being properly converted.  If it runs then yaay!

I am generating the configs from Python based on designing sets of filters.  Once I find what the problems are, I can make any changes required.  I believe I saw a function in pycamilladsp to be able to check a config.  I might try that as a part of this investigation.  Its a question of time as it is for all of us.

Thanks so much.
Reply


Forum Jump: