Thanks a lot! Maybe it's time now for an own thread for this so not to interrupt this fine organised discussion... here we go....If you decide to go down this path
Hi!
Continuing from the "main thread" I wish to discuss and get help of implementing an infrared (?) remote control that can do:
Platform Pi5 and pCP picoreplayer with CamillaDSP.
As I understand it, I need:
I can hook up the IR to the Pi but then its get foggy ;-)
Please help!?
//
Continuing from the "main thread" I wish to discuss and get help of implementing an infrared (?) remote control that can do:
- Volume + / -
- Mute
- Play, Next, Pause
- Change config
- Tweak a PEQ parameter
Platform Pi5 and pCP picoreplayer with CamillaDSP.
As I understand it, I need:
- Pi5
- Power
- An IR receiver eye
- A remote - preferable the small metal Apple remote or the like.
I can hook up the IR to the Pi but then its get foggy ;-)
Please help!?
//
- TNT
- Replies: 59
- Forum: Digital Line Level
//
Henrik, I'm trying to get camilladsp-controller going on an RPi5 set up as per mdsimon2 instructions, however all the python stuff is now under venv and https://github.com/HEnquist/camilladsp-controller won't install saying something like it is not a python project. Are you planning on making a pycamilla-controller anytime soon ?
Installing it and running the old way comes up with module not found.
Installing it and running the old way comes up with module not found.
camilladsp-controller isn't a library, you just need to download it, and then install the dependencies for it, preferably in a new virtual env. I didn't describe this in the readme yet. On Linux it needs the official python alsa binding, which isn't available on pypi. You'll need to install it from the system repos with apt, and let the virtual env use system packages with the --system-site-packages option, see https://docs.python.org/3/library/venv.html
As Henrik said getting the controller to work is all about dependencies. I am going to basically repeat everything he said above but translate it a bit to those of us that are less familar with python / venv.
First, in order to access system packages in venv, we need to add --system-site-packages when installing venv. This changes the install command to "python -m venv --system-site-packages ~/camilladsp/.venv", I've updated my tutorial to reflect.
A system package is something you install with a command like "sudo apt install python3-xyz". So to install the pyalsa system package run "sudo apt install python3-pyalsa".
A basic concept when using venv is that you activate / deactivate it. If you see the command "source ~/camilladsp/.venv/bin/activate" this means you are activating venv. venv should be used to install anything with pip, at this point the only things we need to install like this are pycamilladsp and pycamilladsp-plot. Below is a screenshot of what it looks like to activate venv, run pip (in my case pycamillasdp was already installed) and deactivate.
Previously I had some other stuff installed like this (aiohttp, lgpio, evdev) but that was before I learned about the --system-site-packages thing which allows them to be installed as system packages.
Install the controller by running "git clone https://github.com/HEnquist/camilladsp-controller ~/camilladsp/camilladsp-controller". The controller itself is just a python routine called "controller.py".
If you follow the instructions in the tutorial the venv python binary is installed in /home/username/camilladsp/.venv/bin/python3. If you look at the oled, flirc and camillagui services you will see they all run python from this location. For the controller you need to do the same, so running it will look something like "/home/michael1/camilladsp/.venv/bin/python3 /home/michael1/camilladsp/camilladsp-controller/controller.py -p 1234 -s "/home/michael1/camilladsp/configs/ultralitemk5_gadget_44c_44p.yml" -r 44100".
Good luck!
Michael
First, in order to access system packages in venv, we need to add --system-site-packages when installing venv. This changes the install command to "python -m venv --system-site-packages ~/camilladsp/.venv", I've updated my tutorial to reflect.
A system package is something you install with a command like "sudo apt install python3-xyz". So to install the pyalsa system package run "sudo apt install python3-pyalsa".
A basic concept when using venv is that you activate / deactivate it. If you see the command "source ~/camilladsp/.venv/bin/activate" this means you are activating venv. venv should be used to install anything with pip, at this point the only things we need to install like this are pycamilladsp and pycamilladsp-plot. Below is a screenshot of what it looks like to activate venv, run pip (in my case pycamillasdp was already installed) and deactivate.
Previously I had some other stuff installed like this (aiohttp, lgpio, evdev) but that was before I learned about the --system-site-packages thing which allows them to be installed as system packages.
Install the controller by running "git clone https://github.com/HEnquist/camilladsp-controller ~/camilladsp/camilladsp-controller". The controller itself is just a python routine called "controller.py".
If you follow the instructions in the tutorial the venv python binary is installed in /home/username/camilladsp/.venv/bin/python3. If you look at the oled, flirc and camillagui services you will see they all run python from this location. For the controller you need to do the same, so running it will look something like "/home/michael1/camilladsp/.venv/bin/python3 /home/michael1/camilladsp/camilladsp-controller/controller.py -p 1234 -s "/home/michael1/camilladsp/configs/ultralitemk5_gadget_44c_44p.yml" -r 44100".
Good luck!
Michael
When in time can we have the glorious advantage of having an install script for camilla 3 for mac do we think? 🙂
//
//
If you follow the instructions in the tutorial the venv python binary is installed in /home/username/camilladsp/.venv/bin/python3. If you look at the oled, flirc and camillagui services you will see they all run python from this location. For the controller you need to do the same, so running it will look something like "/home/michael1/camilladsp/.venv/bin/python3 /home/michael1/camilladsp/camilladsp-controller/controller.py -p 1234 -s "/home/michael1/camilladsp/configs/ultralitemk5_gadget_44c_44p.yml" -r 44100".
This is probably obvious to someone that understands camilladsp-controller, but the above command should actually be something like "/home/michael1/camilladsp/.venv/bin/python3 /home/michael1/camilladsp/camilladsp-controller/controller.py -p 1234 -s "/home/michael1/camilladsp/configs/gadget_{samplerate}.yml" -r 44100".
You would have configurations for each sample rate, gadget_44100.yml, gadget_48000.yml, gadget_88200.yml, gadget_96000.yml, etc. I have found that you need to specify some rate to start with (i.e -r 44100), otherwise it doesn't work. In this case as I am using the USB gadget as capture device, any time I change the sample rate on my USB host the controller will apply the correct configuration for that sample rate.
One other thing that was not immediately obvious to me is you want to leave your normal camilladsp instance that points to the statefile running (in my case my service runs "camilladsp -s camilladsp/statefile.yml -w -g-40 -o camilladsp/camilladsp.log -p 1234") while also running the controller.
Overall, the controller seems to work very nicely for switching sample rates with the USB gadget.
Michael
Coming, preparing the scripts is pretty quick but then it takes some time to test them all properly.When in time can we have the glorious advantage of having an install script for camilla 3 for mac do we think? 🙂
//
Thanks for testing! I think the code is in pretty good shape but the documentation needs a lot more attention. Did you also try the --adapt option btw?Overall, the controller seems to work very nicely for switching sample rates with the USB gadget.
I just tried the adapt option, seems like all you need to do is replace "-s" with "-a", is that correct? And with that option you just need one configuration?It seems to work well, it would be great for IIR only configurations where you do not need different filters based on sample rate.
I think the only confusing thing to me with the controller is how it interacts with the GUI. Can you still change configurations in the GUI while the controller is running? It seems like this is possible and you can switch back the controller "controlled" configuration.
It would be nice if the GUI gave an indication that the controller was in action and/or if the configuration being controlled was re-load automatically (i.e fetch from DSP) when the controller made a change.
Michael
I think the only confusing thing to me with the controller is how it interacts with the GUI. Can you still change configurations in the GUI while the controller is running? It seems like this is possible and you can switch back the controller "controlled" configuration.
It would be nice if the GUI gave an indication that the controller was in action and/or if the configuration being controlled was re-load automatically (i.e fetch from DSP) when the controller made a change.
Michael
Yes, and you don't need to provide the initial rate etc, that is taken from the config. If the config has a resampler, it modifies that and keeps the rate of the config, so then also FIR filters work. Or you can use tokens in the filename of the fir coefficients to let a single config file work at many sample rates.I just tried the adapt option, seems like all you need to do is replace "-s" with "-a", is that correct? And with that option you just need one configuration?It seems to work well, it would be great for IIR only configurations where you do not need different filters based on sample rate.
Yes you can, but if something triggers a change of sample rate for example, then the controller will change it back.I think the only confusing thing to me with the controller is how it interacts with the GUI. Can you still change configurations in the GUI while the controller is running?
I would like to integrate the controller with the gui somehow, but I haven't figured out how the integration should work. I'll probably start simple with just displaying the status of the controller.It would be nice if the GUI gave an indication that the controller was in action and/or if the configuration being controlled was re-load automatically
First off, the controller will only work with configs that have _{samplerate} appended to their name.I would like to integrate the controller with the gui somehow, but I haven't figured out how the integration should work. I'll probably start simple with just displaying the status of the controller.
So, in the device config tab, have a box like the Multithreaded processing box called Sample Rate controller, and you then ask for the path to python, python name (e.g. python, python3), and path to controller.py . Then when this config is applied to the DSP , fire up the controller in ADAPT mode. If the paths are not present, do not fire up the controller.
What happens if another config is applied to the DSP when the controller is running? maybe shutdown the controller if the config doesn't have _{samplerate} in the name, otherwise reload the controller with the new device details.
Logging could just be to the existing log file, maybe with a prefix identifying that it is a controller message.
Lets see, how did one do this agin... so full install - save configs etc... delete everything, create new CamillaDSP folder... place the .sh script in folder, change to executable.. launch...
OK?
//
OK?
//
I want to try this but I am stymied as many are by the fact that the assumption is made that those attempting to do this have more than the usual dilettante's knowledge of LINUX.
I certainly understand that Mr. Enquist has done massive work on this and do not expect him to do EVERYTHING - but one would hope there is a charitable soul out there who understands there are many who would like to try this but do not have the LINUX skills but are willing to learn them but need guidance. If there is something like this out there please direct me to them.
I use LINUX but what is needed here is beyond me and I do not find the answers I am looking for on search engines.
I spent most of the day yesterday attempting to figure this out using a small ASROCK motherboard and DIETPI. I installed the ALSA stuff along with python, git, and openSSH with the install since I had seen these mentioned. I did not install mpd figuring what is needed would be in the ALSA stuff. Easy enough to install that if needed.
If there were explanations of the basics needed for this somewhere on the thread - but at 217 pages I have to admit I have not looked at them all.
Would it be helpful for a complete list of dependencies?
I see there is a Linux version called GENTOO that looks like it may make for an easier install and wondered if Mr. Enquist or anyone else know whether this is actually true?
I have to use an X86 machine to be able to use dante - there is lots of help for rpi but almost nothing for X86.
Has anyone done a more hand holding install guide for those using X86? I look for repository in the search engines and I read definitions but nowhere does it tell me how to make or use this. I have usually found it easy to try things in LINUX based on searching. I compiled a kernel using Blitz's instructions for his music player version of DIETPI - but that was simple compared to this.
When I see as part of a command: --release - is that literal or should something be inserted where it says release?
(I have no need for sample rate conversion so I think this makes it somewhat simpler)
I do not have the dante soundcard yet since I need to make sure I can install this before investing in an expensive pci-e card. Can I install without a sound card installed?
My dante setup is using four dacs - I am assuming this should not be a problem for camilladsp using dante or am I wrong?
This is not a complaint, more like a plaint, a lamentation. I really want to use this but I do not know what to do to get it to work.
I installed FEDORA 41 but it is much murkier than DIETPI - at least with DIETPI you can easily access folders/files in the operating system so I am back to DIETPI. I have no idea how to access the usr files with FEDORA - it is simplicity with DIETPI.
I downloaded all of the stuff in the GITHUB guide but I do not know how to put it together in the machine.
Sorry for the flurry of questions.
I certainly understand that Mr. Enquist has done massive work on this and do not expect him to do EVERYTHING - but one would hope there is a charitable soul out there who understands there are many who would like to try this but do not have the LINUX skills but are willing to learn them but need guidance. If there is something like this out there please direct me to them.
I use LINUX but what is needed here is beyond me and I do not find the answers I am looking for on search engines.
I spent most of the day yesterday attempting to figure this out using a small ASROCK motherboard and DIETPI. I installed the ALSA stuff along with python, git, and openSSH with the install since I had seen these mentioned. I did not install mpd figuring what is needed would be in the ALSA stuff. Easy enough to install that if needed.
If there were explanations of the basics needed for this somewhere on the thread - but at 217 pages I have to admit I have not looked at them all.
Would it be helpful for a complete list of dependencies?
I see there is a Linux version called GENTOO that looks like it may make for an easier install and wondered if Mr. Enquist or anyone else know whether this is actually true?
I have to use an X86 machine to be able to use dante - there is lots of help for rpi but almost nothing for X86.
Has anyone done a more hand holding install guide for those using X86? I look for repository in the search engines and I read definitions but nowhere does it tell me how to make or use this. I have usually found it easy to try things in LINUX based on searching. I compiled a kernel using Blitz's instructions for his music player version of DIETPI - but that was simple compared to this.
When I see as part of a command: --release - is that literal or should something be inserted where it says release?
(I have no need for sample rate conversion so I think this makes it somewhat simpler)
I do not have the dante soundcard yet since I need to make sure I can install this before investing in an expensive pci-e card. Can I install without a sound card installed?
My dante setup is using four dacs - I am assuming this should not be a problem for camilladsp using dante or am I wrong?
This is not a complaint, more like a plaint, a lamentation. I really want to use this but I do not know what to do to get it to work.
I installed FEDORA 41 but it is much murkier than DIETPI - at least with DIETPI you can easily access folders/files in the operating system so I am back to DIETPI. I have no idea how to access the usr files with FEDORA - it is simplicity with DIETPI.
I downloaded all of the stuff in the GITHUB guide but I do not know how to put it together in the machine.
Sorry for the flurry of questions.
If you’re new to Linux, I’d start out with a ‘full’ Linux install like Fedora or Ubuntu. Dietpi has the advantage of cutting out a lot of overhead, but will need proper configuration, which can be frustrating if you’re unfamiliar with the process.
I’m not sure why you’re having problems with Fedora, you can access the command line just like any other version of Linux:
https://www.oreilly.com/library/view/fedora-linux/0596526822/ch04s01 .
It would be better to start with the standard setup scripts and if that fails, post describing what errors you’re getting.
I’m not sure why you’re having problems with Fedora, you can access the command line just like any other version of Linux:
https://www.oreilly.com/library/view/fedora-linux/0596526822/ch04s01 .
It would be better to start with the standard setup scripts and if that fails, post describing what errors you’re getting.
Hi,
I know, this is not a Linux forum, but it’s related to Camilla, because I would like to use a RME digiface USB.
There is now a Kernel, which gives basic support for Linux:
https://forum.rme-audio.de/viewtopic.php?id=40531
Because I am a complete Linux dummie, I need to ask: can I use any Linux distribution and exchange the kernel?
I know, this is not a Linux forum, but it’s related to Camilla, because I would like to use a RME digiface USB.
There is now a Kernel, which gives basic support for Linux:
https://forum.rme-audio.de/viewtopic.php?id=40531
Because I am a complete Linux dummie, I need to ask: can I use any Linux distribution and exchange the kernel?
Last edited:
Kernel 6.12 is the new long-term support kernel, so all the major distros will have support for upgrading to it.
Wow!There is now a Kernel, which gives basic support for Linux:
//
Thx a lot! As soon i have some spare time, I will try!Kernel 6.12 is the new long-term support kernel, so all the major distros will have support for upgrading to it.
- Home
- Source & Line
- PC Based
- CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc