I think I found something I could use.
In the adau1452.cpp the filter block parameters are written to the ADAU memory with the ADAU1452_WRITE_BLOCK( addr, val, len ) function. I could use this to "hard code" the parameters in the code.
For example for the right tweeter one of the EQ blocks have these entries in the .params file.
Cell Name = RT_EQ
Parameter Name = EQGenFilterDPS300Alg8B2_1
Parameter Address = 20272
Parameter Value = 0.489808320999146
Parameter Data :
0x00 , 0x7D , 0x64 , 0x14 ,
So basically I would send the Parameter Data shown above to the 20272 address. Length would be 4. Am I on the right track, or overthinking this all?
Thanks.
In the adau1452.cpp the filter block parameters are written to the ADAU memory with the ADAU1452_WRITE_BLOCK( addr, val, len ) function. I could use this to "hard code" the parameters in the code.
For example for the right tweeter one of the EQ blocks have these entries in the .params file.
Cell Name = RT_EQ
Parameter Name = EQGenFilterDPS300Alg8B2_1
Parameter Address = 20272
Parameter Value = 0.489808320999146
Parameter Data :
0x00 , 0x7D , 0x64 , 0x14 ,
So basically I would send the Parameter Data shown above to the 20272 address. Length would be 4. Am I on the right track, or overthinking this all?
Thanks.
tomik,
I think the most easiest way for you is: Comment out the call of uploadUserParam() in aurora.ino. Then make you custom plugin with the right settings in SigmaStudio and convert it to a dsp.fw with sigma2aurora.
Please note: I am currently finishing the release 2.2.0. This will come with a much easier way for creating custom plugins. If you want, check out the release branch. But I will still need some time to prepare everything, documentation is eating a lot of time...
I think the most easiest way for you is: Comment out the call of uploadUserParam() in aurora.ino. Then make you custom plugin with the right settings in SigmaStudio and convert it to a dsp.fw with sigma2aurora.
Please note: I am currently finishing the release 2.2.0. This will come with a much easier way for creating custom plugins. If you want, check out the release branch. But I will still need some time to prepare everything, documentation is eating a lot of time...
Thanks Raphael, I’ll try and also look into the new release!
I just got the OLED display, IR sensor, and rotary encoder working. I modified the IRreceiver code for the 3.x libraries I had installed to arduino IDE and added necessary commands for the remote control I’m using.
Tried also OTA fw update and that was working as well. Although now that I still have everything just wired together on my desk and not in enclosure, I find using the FT232 serial interface for the update more straightforward.
I just need now proper test setup (full duplex soundcard) to measure the frequency/phase response of the minidsp LX521.4 filters and then replicate to freedsp aurora. I just might pick up Focusrite Scarlett for testing.
I got the AKM chips from Aliexpress, hopefully they are genuine and not just empty packages 🙂
I just got the OLED display, IR sensor, and rotary encoder working. I modified the IRreceiver code for the 3.x libraries I had installed to arduino IDE and added necessary commands for the remote control I’m using.
Tried also OTA fw update and that was working as well. Although now that I still have everything just wired together on my desk and not in enclosure, I find using the FT232 serial interface for the update more straightforward.
I just need now proper test setup (full duplex soundcard) to measure the frequency/phase response of the minidsp LX521.4 filters and then replicate to freedsp aurora. I just might pick up Focusrite Scarlett for testing.
I got the AKM chips from Aliexpress, hopefully they are genuine and not just empty packages 🙂
I have been looking at the 2.2.0 release files. I can see the SigmaStudio project is updated and the plugin has been moved to separate sheet. Changes also in the input routing and channel names as well as json file. But in the plugins folder the fw files and jgz are the same, and also the .ini file addresses seem to be the same as in the old release? Am I missing something? Or will it just need updating those in the plugin folder?
But I will still need some time to prepare everything, documentation is eating a lot of time...
More progress on this. I'm now using the 2.2.0 release. Compiled everything based on the latest sources, copied over my custom plugin to the new style SigmaStudio files (where plugin is in separate page), modified the dsp.html file to match my custom plugin and then updated the plugin.ini addresses based on the .params file.
I'm just waiting now for proper soundcard to hook up everything and measure frequency responses etc with ARTA or REW.
I also need to build case for the whole system. I'm contemplating whether to just order bare case and drill/machine all the cutouts myself, or go with something like https://www.schaeffer-ag.de/en/ who can CNC machine the front/rear panels...
Screenshot of the dsp.html attached.
I'm just waiting now for proper soundcard to hook up everything and measure frequency responses etc with ARTA or REW.
I also need to build case for the whole system. I'm contemplating whether to just order bare case and drill/machine all the cutouts myself, or go with something like https://www.schaeffer-ag.de/en/ who can CNC machine the front/rear panels...
Screenshot of the dsp.html attached.
Attachments
Great, thanks! I’m just looking at the changes you have done in last few days in github. You have been busy 🙂
I got the normal 8 channel plugin to work (in the sense signal goes from correct input to correct output). But my custom plugin did not work straight away, needs some debugging. I need to update to the latest files first.
I got the normal 8 channel plugin to work (in the sense signal goes from correct input to correct output). But my custom plugin did not work straight away, needs some debugging. I need to update to the latest files first.
Also have a look at the SigmaStudio files for the naming conventions of the DSP blocks. It is really straightforward and self-explaining.
I have tried to run the python script but I'm failing miserably. I cannot figure out the parameters. First I thought it is matter of / vs \ when running it in Windows. Modified the script replacing some of the / with \ and got it processing some of the files but not all the way. Then realized \ is a special character in python so I should escape every instance.. I switched to Mac and thought maybe it runs better there, but no.. It asks for the SigmaStudio project file, but I don't see the script using the .dspproj file. So I'm not quite sure what should I enter there and in which format (relative path, full path, / or \ etc..)?
I had a look at the Python script, it's definitively not ready for cross-platform.
I modified it for portable paths, but I couldn't test it: freeDSP-aurora/sigma2aurora.py at f617840dcf9e2d491727736ba6088baec89f661a * zas/freeDSP-aurora * GitHub
If it works for you, I'll submit a PR.
EDIT: as is, I don't think it works, see my comment Rework sigma2aurora.py script by zas * Pull Request #92 * freeDSP/freeDSP-aurora * GitHub
I modified it for portable paths, but I couldn't test it: freeDSP-aurora/sigma2aurora.py at f617840dcf9e2d491727736ba6088baec89f661a * zas/freeDSP-aurora * GitHub
If it works for you, I'll submit a PR.
EDIT: as is, I don't think it works, see my comment Rework sigma2aurora.py script by zas * Pull Request #92 * freeDSP/freeDSP-aurora * GitHub
Last edited:
I actually got it to work in windows by editing the script and basically deleted any path definitions and having all the necessary files in the same folder as the python script. Quick and dirty 🙂
With the updated python script I got the paths to work as is, thanks for the update!
However when I compare the resulting plugin.ini file I could see there were rows missing. The "port" addresses are missing, while in the plugin.ini that is included in the release package there are 8 port addresses? I'm working on the 8channel plugin. I'm not sure are they needed, or am I doing something wrong?
However when I compare the resulting plugin.ini file I could see there were rows missing. The "port" addresses are missing, while in the plugin.ini that is included in the release package there are 8 port addresses? I'm working on the 8channel plugin. I'm not sure are they needed, or am I doing something wrong?
The official tutorial for custom plugin building is now available on the github wiki:
Create a Custom Plugin * freeDSP/freeDSP-aurora Wiki * GitHub
Have fun!
Raphael
Create a Custom Plugin * freeDSP/freeDSP-aurora Wiki * GitHub
Have fun!
Raphael
Did you use the SigmaStudio template for your plugin?
Yes I'm using the template. For some reason even for the 8channel sigmastudio files I downloaded from github I have problems with the port addresses. I did not look any further since it is just couple of values that can be copied from the .params file.
Good news on the tutorial! It seems that I have been doing it correctly 🙂
I have the custom LX521.4 filters now done and response looks correct. I'm using Motu M2 and REW for measuring the frequency response/THD etc. I also got bigger SSD1309 display to replace the small SH1106 display I had earlier.
While I was testing the custom plugin I noticed that for some reason the order of the XLR outputs did not match what I was thinking. I have the addon B. It seems that the outputs are in following order from left to right 8 7 4 6 5 3 2 1. I noticed it on my custom plugin first, and then tried with the released 8channel plugin and same thing there. I did not yet check the schematic/layout is it just how it is routed, or is there something in the SW definition where the outputs gets mixed up? I can correct it in the sigmastudio no problem, but just wondering have anyone else noticed it?
- Home
- Source & Line
- Digital Line Level
- freeDSP-aurora - DSP with 8 I/Os, USB Audio, S/P-DIF, ADAT, Bluetooth and Wifi contro