EEVblog Electronics Community Forum
Products => Computers => Programming => Topic started by: noreply on June 09, 2020, 08:07:24 pm
-
Not sure if this is the best sub forum topic in eevblog to post this request .. but here goes anyway …
A colleague is developing some audio projects using the Ti TAS5825M and is looking for some open source base code to help implement a DSP EQ control function and a UI front end.
Has anyone come across a suitable base code package for this - as its been difficult to find something suitable :-\
A little background might be useful …
They are trying to provide a graphics equalizer for their customers
– but to do this they need to calculate the EQ coefficients external to the TAS5825M device and send the data back to it.
There are two challenges here, first is to have the correct formula(s) for calculating the BQ coefficients from existing frequency, gain and Q values.
The second is to have a nice UI with graphics which will perform the calculations for the Ti device.
Obviously they don’t want to reinvent the wheel – so to speak – and write the whole UI code themselves – so any public domain open source is the preferred route.
If you have any experience with DSP EQ control function software – a point in the right direction would be most welcome :-+
They are working to a tight schedule and are mindful that going down the wrong path will waste lots of time |O
Any help with this would great :)
-
I have done it for a commercial project:
www.zoudio.com/product/aio4ch (http://www.zoudio.com/product/aio4ch)
Its done with a serial parser which sends the DSP settings in string format over serial to a micro which saves it on EEPROM.
The GUI is developed in JavaFX / Scenebuilder. You can download it and have a look, it does not require a board to be connected.
Essentially the only thing the micro does is write the stored I2C commands.
The whole structure is very efficient, relies on readily available components and does not require PurePathConsole.
The software is not open-source but I am available for freelancing to help implement the DSP structure and GUI.
Send me a DM if you are interested.
-
Thanks for your feedback
- your implementation for your project looks interesting :)
I will pass on the information.
-
Except for getting some inspiration from existing software's GUI, I'm not sure any general information on DSP will really help here, as the chip you mention seems to already handle all the dirty job. Just read the datasheet thoroughly (or maybe some additional application note). I have just taken a very *quick* look so I can't tell exactly what the chip expects as far as coefficients go, but I'm sure there is some more details provided by TI out there?
-
Except for getting some inspiration from existing software's GUI, I'm not sure any general information on DSP will really help here, as the chip you mention seems to already handle all the dirty job. Just read the datasheet thoroughly (or maybe some additional application note). I have just taken a very *quick* look so I can't tell exactly what the chip expects as far as coefficients go, but I'm sure there is some more details provided by TI out there?
Yeah ..
There appears to be sufficient information for this out there ..
I found an Application report from Ti (will be fowarding) - albiit not directly for the device in question - but a good example of how to move foward (attached if interes to others)
I think the issue my colleauge is finding difficult (time constraints) - is to implement the base code for the UI - hence the desire to access some open source to speed up the development of 'their own' variant for their enduser.
Thank you for your input :)
-
What kind of GUI does he want to use and how does he want to connect it to the amplifier hardware-wise?
The EQ biquads are Q5.27 formatted and split into 4 bytes per coefficient (32 bits total).
Most processing flows and their memory format are described here: http://www.ti.com/lit/an/slaa786a/slaa786a.pdf (http://www.ti.com/lit/an/slaa786a/slaa786a.pdf)
The GUI can calculate the coefficients using the standard biquad formula's: https://www.w3.org/2011/audio/audio-eq-cookbook.html (https://www.w3.org/2011/audio/audio-eq-cookbook.html)
Standard procedure would be:
-Let user enter their desired filter properties
-Calculate and normalize biquad coefficients
-Convert to Q5.27 format and split in 4 bytes
-Send them to non-volatile memory on the PCB
-Write them directly (biquads can be updated while running) and also make sure they are written at every startup (chip memory is volatile)
-
What kind of GUI does he want to use and how does he want to connect it to the amplifier hardware-wise?
I should have qualified from the start, my colleague is a non English speaking, I have some difficulty in communicating with him - but offered to get some feedback from eevblog forum members.
I will try to point him in this direction - and perhaps the information received already will be sufficient for getting them started.
At best I hope he engages in the forum :P
Despite having online language translation services , with technical translations - you can loose a great deal as some stuff simply does not translate :-\