If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Research ... capture EQ curve
Re: Research ... capture EQ curve
No ... RIAA has no concern here.
This concept also applies to mixing as well. Plenty of chains to balance.
My 'question' area is dealing with compression. THRESHOLD's and GR could present a special challenge that may not yield to a solution as I've described. That too could be aided with a 'book-end' approach on pre-monitor and post gain deviation. This is a similar application of PERCEPTION [level-match] plug-in.
As to 'captured filter' accuracy. I still need to determine this. More bands = better curve level resolution ... probably
I have my 'bread-board' design going, but I'm still posting details to help everyone better understand. Programming technique and FlowStone capability, let alone MY ability are still in question. Personally, I feel the ME liability to be the most concern
Please save me
This concept also applies to mixing as well. Plenty of chains to balance.
My 'question' area is dealing with compression. THRESHOLD's and GR could present a special challenge that may not yield to a solution as I've described. That too could be aided with a 'book-end' approach on pre-monitor and post gain deviation. This is a similar application of PERCEPTION [level-match] plug-in.
As to 'captured filter' accuracy. I still need to determine this. More bands = better curve level resolution ... probably
I have my 'bread-board' design going, but I'm still posting details to help everyone better understand. Programming technique and FlowStone capability, let alone MY ability are still in question. Personally, I feel the ME liability to be the most concern
Please save me
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: Research ... capture EQ curve
I believe I may understand what you're trying to do now, so thanks for taking the time to explain once again.
Am I right in assuming that the EQ plugins you're using respond non-linearly to input level? Like an analog emulation? Or they are actually analog hardware EQ's? I'm used to not having to worry about gain staging and just adjusting the final output level, or pre-compression, since it's the nature of 32 bit digital audio systems that you can do that without penalty.
Am I right in assuming that the EQ plugins you're using respond non-linearly to input level? Like an analog emulation? Or they are actually analog hardware EQ's? I'm used to not having to worry about gain staging and just adjusting the final output level, or pre-compression, since it's the nature of 32 bit digital audio systems that you can do that without penalty.
In practice, each of these, say, 8 EQ bands will affect the signal output, so gain staging is required at each instance.
- Perfect Human Interface
- Posts: 643
- Joined: Sun Mar 10, 2013 7:32 pm
Re: Research ... capture EQ curve
correct PHI.
The EQ's I use respond [and are designed] to run like the hardware they are sampled from. From the digital world, this is -18dB [some use -16 others -20 ... ].
I don't want to distract, but the 32-bit depth has no impact in this area. That is a misnomer, and has confused the issue. But like I say ... that would be a whole new topic, and I wouldn't want to lose anymore viewers of this thread
Thanks for taking the time to read my posting, and I'm glad that it was better understood.
I really do appreciate hearing ideas, comments ... need all the help !
Sincerely.
The EQ's I use respond [and are designed] to run like the hardware they are sampled from. From the digital world, this is -18dB [some use -16 others -20 ... ].
I don't want to distract, but the 32-bit depth has no impact in this area. That is a misnomer, and has confused the issue. But like I say ... that would be a whole new topic, and I wouldn't want to lose anymore viewers of this thread
Thanks for taking the time to read my posting, and I'm glad that it was better understood.
I really do appreciate hearing ideas, comments ... need all the help !
Sincerely.
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: Research ... capture EQ curve
martinvicanek wrote:Thanks for the feedback, guys. Here is a variant with offline processing. Processing is done in blocks and results are cumulated, so the final readings are RMS values. Unfortunately it takes some time to process an entire track: on my computer it is about the time you would need to stream it. May be there is a smarter way to do it?
Oh, and I added a color input to the Ruby display code.
Well ... I've tried a few times to analyze this example. I was hoping to find key tie in points to identify what the
various sections are doing ... but not really getting to far.
The 40-band design looks great ... yet, I also was then going to look at maybe a 20-band design. I think that may be
plenty of band resolutions. When I use FabFilter 'MATCH', I use ~20 bands.
Anyway ... like many 'Martin' designs, they tend to the 'brilliant' side of design ... and well advanced of my layman's
abilities.
I do like the 'high-speed' ripper section that plays the track at full-speed. Maybe I can bring that into my project.
Part of the goal:
1. Analyzer a track.
2. Save a 'text' file of the spectral content.
3. In session ... load that text file into the EQ version to set the spectral envelop.
As I think of how to do this, I'm working on a couple of additional mini-projects that tie into this.
As I read up on the topic of 'spectrum analyzers', there seems often mention of Frequency-domain measurements with a fast-Fourier transform (FFT).
A link to some info:
http://electronicdesign.com/test-amp-measurement/fundamentals-spectrum-analysis#2
so much to learn ... one badly abused, but stubborn, brain cell to do it with.
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: Research ... capture EQ curve
RJHollins: Not sure if this is of any interest but I had a similar idea except I wanted to capture the frequency response of guitar amps and cabinets and use the data with a EQ and filter to simulate them in my guitar amp project here: viewtopic.php?f=2&t=2189&hilit=guitar+amp#p10054.
However, my approach was going to to be a lot more manual. First, locate frequency spectrum of amps and cabinets, examples:
http://www.aikenamps.com/index.php/freq ... 12-cabinet
http://www.hexeguitar.com/diy/techinfo/cabsims
http://www.gmarts.org/index.php?go=212
Use a graph capture software like Engauge (http://digitizer.sourceforge.net/) to digitize the frequency response. Take the text file and parse the frequency and db values, then somehow import these into an EQ module.
I only got as far as parsing the data and trying to import into a modified Flowstone EQ module.
However, my approach was going to to be a lot more manual. First, locate frequency spectrum of amps and cabinets, examples:
http://www.aikenamps.com/index.php/freq ... 12-cabinet
http://www.hexeguitar.com/diy/techinfo/cabsims
http://www.gmarts.org/index.php?go=212
Use a graph capture software like Engauge (http://digitizer.sourceforge.net/) to digitize the frequency response. Take the text file and parse the frequency and db values, then somehow import these into an EQ module.
I only got as far as parsing the data and trying to import into a modified Flowstone EQ module.
- acg2010
- Posts: 80
- Joined: Tue Oct 05, 2010 3:18 am
Re: Research ... capture EQ curve
Hi ACG,
Hey ... I remember following your thread. Even with SM gone, there is good info links. Thanks.
Gonna read up on Hilbert transform and Z-transform that KG mentioned. These are the kinda clues I've been searching for.
THX
Hey ... I remember following your thread. Even with SM gone, there is good info links. Thanks.
Gonna read up on Hilbert transform and Z-transform that KG mentioned. These are the kinda clues I've been searching for.
THX
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: Research ... capture EQ curve
Back looking at Martin's 'Spectral Envelope' post.
Was wondering ...
I can see some data alterations to the output ARRAY. They seem to be for display consideration only.
Inside the schematic I can get to the direct ARRAY output in the '10 Octaves, 40 bands' module.
Here's the question ... can that ARRAY be used as INPUT values into the very first module to set each of the 40 bands?
That module is followed by another module that preps data prior to the ARRY BUILDER primitive. [no names on these modules]
Basically looking to make a static eq from the analysis portion.
Thanks for any detail on this !
Was wondering ...
I can see some data alterations to the output ARRAY. They seem to be for display consideration only.
Inside the schematic I can get to the direct ARRAY output in the '10 Octaves, 40 bands' module.
Here's the question ... can that ARRAY be used as INPUT values into the very first module to set each of the 40 bands?
That module is followed by another module that preps data prior to the ARRY BUILDER primitive. [no names on these modules]
Basically looking to make a static eq from the analysis portion.
Thanks for any detail on this !
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: Research ... capture EQ curve
I'm not sure if this is relevant, but here's my humble contribution. Least-squares-method-based filter fitter.
As you might probably know, recursive filters are based on implementing following equation:
y0= in0*b0 + in1*b1 + ... - y1*a1 - y2*a2 - ...
It is a linear functions where in0...yn may be treated as independent variables. If you have known input (as series of samples) and known output (as series of samples) you can reconstruct the coefficients b0...an via least squares method.
My implementation also contains de-factorization into series of biquads (because high order filters tend to be unstable) - an old project of mine.
Known problems:
1.the algorithm actually does not "fit" the spectra, but instead it fits the shape of the waves. The result might not be ideal...
2.It is IIR equivalent of impulse response, instead of EQ match. The provided dry and wet signals must be real input and output of the filter.
3.Algorithm is particularly sensitive to latency. The signals should be latency-compensated perfectly. Even a few samples off will result in fail.
4.The algorithm relies on solving matrix of linear equations. Currently it implements Gaussian elimination, which is prone to rounding errors. Not quite ideal for the task, but I wasn't able to implement other methods, because the matrix tends to be singular (which I solve by making problematic variables (coefficients) zero and solving smaller matrices onwards).
5.It is not real time system. The calculations are quite CPU expensive, not to mention the precision of the output depends on number of analysed samples.
Advantages:
1.it can easily be modified to take non-linearities into account. For example original filter may have "tanh(out1)" (saturation in the feedback loop) which can simply be treated as another input variable.
2.Resulting IIR is basically just series of biquads, with basically any EQ curve possible. Unlike with FIR filter, resolution in the low-end of the spectrum is not dependent of length of IR (with FIR, to double resolution in low end, you need to double the IR size and thus double the CPU-load). It might be particularly useful in bass cabinet simulators.
3. Resulting matched filter is quite CPU-light (it's just a few biquads after all).
Perhaps it is a topic for another thread... I would appreciate some insight...
As you might probably know, recursive filters are based on implementing following equation:
y0= in0*b0 + in1*b1 + ... - y1*a1 - y2*a2 - ...
It is a linear functions where in0...yn may be treated as independent variables. If you have known input (as series of samples) and known output (as series of samples) you can reconstruct the coefficients b0...an via least squares method.
My implementation also contains de-factorization into series of biquads (because high order filters tend to be unstable) - an old project of mine.
Known problems:
1.the algorithm actually does not "fit" the spectra, but instead it fits the shape of the waves. The result might not be ideal...
2.It is IIR equivalent of impulse response, instead of EQ match. The provided dry and wet signals must be real input and output of the filter.
3.Algorithm is particularly sensitive to latency. The signals should be latency-compensated perfectly. Even a few samples off will result in fail.
4.The algorithm relies on solving matrix of linear equations. Currently it implements Gaussian elimination, which is prone to rounding errors. Not quite ideal for the task, but I wasn't able to implement other methods, because the matrix tends to be singular (which I solve by making problematic variables (coefficients) zero and solving smaller matrices onwards).
5.It is not real time system. The calculations are quite CPU expensive, not to mention the precision of the output depends on number of analysed samples.
Advantages:
1.it can easily be modified to take non-linearities into account. For example original filter may have "tanh(out1)" (saturation in the feedback loop) which can simply be treated as another input variable.
2.Resulting IIR is basically just series of biquads, with basically any EQ curve possible. Unlike with FIR filter, resolution in the low-end of the spectrum is not dependent of length of IR (with FIR, to double resolution in low end, you need to double the IR size and thus double the CPU-load). It might be particularly useful in bass cabinet simulators.
3. Resulting matched filter is quite CPU-light (it's just a few biquads after all).
Perhaps it is a topic for another thread... I would appreciate some insight...
- Attachments
-
- EQmatch.fsm
- (8.77 KiB) Downloaded 1272 times
- KG_is_back
- Posts: 1196
- Joined: Tue Oct 22, 2013 5:43 pm
- Location: Slovakia
Re: Research ... capture EQ curve
First ...
Thanks for looking in KG !!
2nd ... know of a site that I can look up some of this terminology Something like a 'Beginner's' site for Filter Dummies
I need to spend some serious time re-reading your post here. I get the gist of some some of the info, most I can only say ... Uhh Huh, ... ok This is my fault as I've never been exposed to these aspects of filters [as much as I use them ... for long time]. I'm realizing that this project idea is maybe not a beginners/starter project
Until I can get much more time looking and experimenting with your example, I can't comment on if this is the technique toward the solution ... might been exactly it [or just another good approach that would do it] ... just don't know yet. I also don't want to tick off those offering help, when dealing with one not experience on the details. The 'cool idea, but clueless' syndrome
... off to Google-Land ....
Thanks for looking in KG !!
2nd ... know of a site that I can look up some of this terminology Something like a 'Beginner's' site for Filter Dummies
I need to spend some serious time re-reading your post here. I get the gist of some some of the info, most I can only say ... Uhh Huh, ... ok This is my fault as I've never been exposed to these aspects of filters [as much as I use them ... for long time]. I'm realizing that this project idea is maybe not a beginners/starter project
Until I can get much more time looking and experimenting with your example, I can't comment on if this is the technique toward the solution ... might been exactly it [or just another good approach that would do it] ... just don't know yet. I also don't want to tick off those offering help, when dealing with one not experience on the details. The 'cool idea, but clueless' syndrome
... off to Google-Land ....
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: Research ... capture EQ curve
Wow, KG, that looks huge. Reminds me of Linear Predictive Coding, which may also me viewed as an error minimization task. In that case, however, the resulting IIR filter is all poles no zeros. One good thing about LPC is its O(N^2) efficiency, whereas straight matrix inversion is O(N^3). In fact I had considered warped LPC for this purpose but discarded it for not being linear phase.
Sorry I can't be more helpful at the moment, too busy.
Sorry I can't be more helpful at the moment, too busy.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Who is online
Users browsing this forum: No registered users and 101 guests