I spent a weekend writing a small and simple software program that performs most of the DSP features in the RME ADI-2 DAC/Pro, mainly for using it personally on a laptop when travelling without the device.
The program applies DSP system wide based on CamillaDSP, and has identical output compared to the RME ADI-2 DAC/Pro, with various features including volume adjustments, software muting, RMS and PEAK volume calculations before and after DSP, Width, M/S Proc, Phase calculation, 5 levels of crossfeed, EQ for headphones or room corrections, Loudness, De- or Pre-Emphasis, and DC Protection. It also has Digicheck's 30 bands spectral analyzer for left and right channels, and can give identical results as the ADI-2 does.
The implementation follows ADI-2's pipeline as much as possible, sometimes exceeding the hardware limitation of the original device. For instance, user can have as many EQ bands as possible. On the other hand, it has longer latency and higher CPU usage, as the processing is not done in hardware.
I believe the software program could be useful for many people so I decide to make it open source.
Here's the github link: https://github.com/Wang-Yue/CamillaDSP-Monitor
Please play around with these features, discover the usefulness, and have fun!
Bear in mind this is alpha quality software. It works well in my setup, but whether or not it will burn down your house is unknown, and I hold no responsibility for that. With that said, all the bugs or glitches are due to my sloppiness, not CamillaDSP or RME.
The program applies DSP system wide based on CamillaDSP, and has identical output compared to the RME ADI-2 DAC/Pro, with various features including volume adjustments, software muting, RMS and PEAK volume calculations before and after DSP, Width, M/S Proc, Phase calculation, 5 levels of crossfeed, EQ for headphones or room corrections, Loudness, De- or Pre-Emphasis, and DC Protection. It also has Digicheck's 30 bands spectral analyzer for left and right channels, and can give identical results as the ADI-2 does.
The implementation follows ADI-2's pipeline as much as possible, sometimes exceeding the hardware limitation of the original device. For instance, user can have as many EQ bands as possible. On the other hand, it has longer latency and higher CPU usage, as the processing is not done in hardware.
I believe the software program could be useful for many people so I decide to make it open source.
Here's the github link: https://github.com/Wang-Yue/CamillaDSP-Monitor
Please play around with these features, discover the usefulness, and have fun!
Bear in mind this is alpha quality software. It works well in my setup, but whether or not it will burn down your house is unknown, and I hold no responsibility for that. With that said, all the bugs or glitches are due to my sloppiness, not CamillaDSP or RME.
Currently the program is console only. A web based GUI would be nice but I don't have time for it.

Nice ! what would I need to change to use this with an RME-AIO ?
https://www.rme-audio.de/hdspe-aio.html
https://en.wikipedia.org/wiki/The_Three_Little_Pigs
My house is made of wood..:-( would (wood) your code work ? 🙂
Your disclaimer is sweet !
https://www.rme-audio.de/hdspe-aio.html
lol !whether or not it will burn down your house is unknown,
https://en.wikipedia.org/wiki/The_Three_Little_Pigs
My house is made of wood..:-( would (wood) your code work ? 🙂
Your disclaimer is sweet !
Last edited:
Nice ! what would I need to change to use this with an RME-AIO ?
https://www.rme-audio.de/hdspe-aio.html
The CamillaDSP program can use any audio I/O that can be accessed by your operating system so using HDSPe is certainly no problem.
To use your sound card with the script, you just need to modify the capture/playback device in
settings.yml
and spetrum.yml
You can refer to the official CamillaDSP doc on how to set it up.
If you run into issues with CamillaDSP, you can ask HenrikEnquist in the dedicated CamillaDSP thread:
https://www.diyaudio.com/community/...ne-for-crossovers-room-correction-etc.349818/
A user interface to select the soundcard would be nice to have but that cannot be done until HenrikEnquist addresses this issue https://github.com/HEnquist/camilladsp/issues/153
Thank you for the wonderful explanation and information. I am looking forward to trying this over our upcoming weekend and will report results !
Your weekend of coding is very much appreciated...👍
Your weekend of coding is very much appreciated...👍
Thnx for the effort to write a sub programm for the already wonderfull software from Henrik.
I am trying to run it from a windows machine. The first error was about the missing module curses. I think a replace the with a
windows pip install windows-curses.
No i am getting a error with the following traceback;
C:\Users\Marcel\CamillaDSP-Monitor-main\CamillaDSP-Monitor-main>python processing.py
Traceback (most recent call last):
File "processing.py", line 12, in <module>
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
File "C:\Users\Marcel\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 709, in init
restore_signals, start_new_session)
File "C:\Users\Marcel\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] Het systeem kan het opgegeven bestand niet vinden
Do you have any clue?
Thanks, Marcello
I am trying to run it from a windows machine. The first error was about the missing module curses. I think a replace the with a
windows pip install windows-curses.
No i am getting a error with the following traceback;
C:\Users\Marcel\CamillaDSP-Monitor-main\CamillaDSP-Monitor-main>python processing.py
Traceback (most recent call last):
File "processing.py", line 12, in <module>
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
File "C:\Users\Marcel\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 709, in init
restore_signals, start_new_session)
File "C:\Users\Marcel\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] Het systeem kan het opgegeven bestand niet vinden
Do you have any clue?
Thanks, Marcello
Thnx for the effort to write a sub programm for the already wonderfull software from Henrik.
I am trying to run it from a windows machine. The first error was about the missing module curses. I think a replace the with a
windows pip install windows-curses.
No i am getting a error with the following traceback;
C:\Users\Marcel\CamillaDSP-Monitor-main\CamillaDSP-Monitor-main>python processing.py
Traceback (most recent call last):
File "processing.py", line 12, in <module>
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
File "C:\Users\Marcel\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 709, in init
restore_signals, start_new_session)
File "C:\Users\Marcel\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 997, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] Het systeem kan het opgegeven bestand niet vinden
Do you have any clue?
Thanks, Marcello
Thank you for trying!
I don't know Dutch but seems the error is related to subprocess.
You need to replace this line with the actual command on Windows.
So on windows it it not "./camilladsp" but something like "camilladsp.exe".
After all my script assumes a Unix-like environment (I developed it on Mac. Some user reported it works nicely on Linux), and to make it runs on Windows requires some (minor) tweaking.
Hi i managed to get the wright screen.
I had to reply it with camilladsp and using a double backslashes in the line.
When it is starting up, it is showing websocket not connect and with the following error.
I suppose i dont have to manually start a websocket .py programm and that camilladsp i automatically started
by your script? Maybe i am wrong.
I had to reply it with camilladsp and using a double backslashes in the line.
When it is starting up, it is showing websocket not connect and with the following error.
I suppose i dont have to manually start a websocket .py programm and that camilladsp i automatically started
by your script? Maybe i am wrong.
Did you setup your audio device correctly? If you run "camilladsp.exe setting.yml" and "camilladsp.exe spectrum.yml", what happens?Hi i managed to get the wright screen.
I had to reply it with camilladsp and using a double backslashes in the line.
When it is starting up, it is showing websocket not connect and with the following error.
I suppose i dont have to manually start a websocket .py programm and that camilladsp i automatically started
by your script? Maybe i am wrong.
View attachment 1028843
Remember you have to set up input/output device in those two files --- the readme mentioned that step.
To learn how to setup camilladsp input out device, refer to official docs (links in the readme as well).
Once you can successfully run those two files, You should be able to run the program. If it still has issues, follow the following steps:
1. in task manager make sure you don't have camilladsp running when running the script
2. execute the script, and check if you see two camilladsp tasks in the task manager
3. check and see if your windows firewall block the network connection of camilladsp or the script. unblock them if that's the case.
The camilladsp author is active on the forum in this thread:
If you have difficulties setting up the device, he is always happy to help🙂
We now have a sister project, CamillaDSP-Gadget, available from https://github.com/Wang-Yue/CamillaDSP-Gadget.
You can now turn your Raspberry Pi 4 as a UAC2 gadget, and use it as a DSP processor. When connecting your Raspberry Pi to your computer, it shows itself as a USB audio device. You can then play your music from your computer through the Raspberry Pi, who processes the audio, and sends it to your DAC finally. The RPi4 is powerful enough to be fully able to process audio realtime in 768kHz/64bits!
Both projects also include a new GUI program!
Now you can watch the spectrum bar dancing for hours while appreciating your music!
See how it runs with a RME ADI-2 side by side:
You can now turn your Raspberry Pi 4 as a UAC2 gadget, and use it as a DSP processor. When connecting your Raspberry Pi to your computer, it shows itself as a USB audio device. You can then play your music from your computer through the Raspberry Pi, who processes the audio, and sends it to your DAC finally. The RPi4 is powerful enough to be fully able to process audio realtime in 768kHz/64bits!
Both projects also include a new GUI program!
Now you can watch the spectrum bar dancing for hours while appreciating your music!
See how it runs with a RME ADI-2 side by side:
- Home
- Source & Line
- PC Based
- CamillaDSP-Monitor, a RME ADI-2 DAC like DSP flow