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
Freely Configurable Filter
22 posts
• Page 2 of 3 • 1, 2, 3
Re: Freely Configurable Filter
martinvicanek wrote:Julius O. Smith is a good source:
https://www.dsprelated.com/freebooks/sa ... esign.html
OMFG! It has never occurred to me that ln(frequency domain)=ln(magnitude)+i*phase
Cepstrum always seemed like just an "engineering" solution to pitch detection. It has never occurred to me that it could actually be a "mathematical" solution to something... I think I'm having the biggest nerdgasm since I discovered orbital rings.
- KG_is_back
- Posts: 1196
- Joined: Tue Oct 22, 2013 5:43 pm
- Location: Slovakia
Re: Freely Configurable Filter
martinvicanek wrote:Spogg wrote:I’m wondering if this could be used to accurately match a spectral profile for mastering somehow. Spogg
Like this?
viewtopic.php?f=2&t=3972&start=50#p22927
Well, yes! I now recall seeing this before
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: Freely Configurable Filter
I have hella ideas for this. For one - it would be great to hold a button when creating another dot that locks the y-axis (to the next closest dot?) so that one can create flat tops to curves super quick, I don't know if it should lock y axis to the closest, the highest, the lowest, or different key functions for each option, but that would make it more intuitive to use. I've experimented with spline EQs before, and the unique sound of the filter shapes you can create are amazing - but as a mix artist, they are not the most "emotional" way of eq-ing a sound, it's less musical and intuitive to use, really guess and check.
maybe even generate two points simultaneously... like draw point A, and hold key functions to generate point B... x distance away along the freq/x axis... to the left or tight.. and drag and hold while holding key function to increase and decrease distance.. to raise entire regions along the spline/x axis... super helpful when eqing...
In addition to easy flat top segments, it would be great to have intuitive peaking. Imagine this... you have to points (A & B), and create a third (C) in the middle, it draws straight lines from each outer dot to the inner (AC & CB) - BUT when you hold a key stroke function, TWO MORE dots appear (D & E) along AC and CB. D & E are y axis locked with A & B, but the distance is adjustable from A C & B, while maintaining relativity. this basically allows for somthing comparable for Q width to be manages while editing C's gain between A & B. like straight lined peak filters... i Dunno sounds hella cool... maybe impractical.....
maybe even generate two points simultaneously... like draw point A, and hold key functions to generate point B... x distance away along the freq/x axis... to the left or tight.. and drag and hold while holding key function to increase and decrease distance.. to raise entire regions along the spline/x axis... super helpful when eqing...
In addition to easy flat top segments, it would be great to have intuitive peaking. Imagine this... you have to points (A & B), and create a third (C) in the middle, it draws straight lines from each outer dot to the inner (AC & CB) - BUT when you hold a key stroke function, TWO MORE dots appear (D & E) along AC and CB. D & E are y axis locked with A & B, but the distance is adjustable from A C & B, while maintaining relativity. this basically allows for somthing comparable for Q width to be manages while editing C's gain between A & B. like straight lined peak filters... i Dunno sounds hella cool... maybe impractical.....
-
guyman - Posts: 207
- Joined: Fri Mar 02, 2018 8:27 pm
Re: Freely Configurable Filter
Maybe even solo spline segments to listen while eqing.....
-
guyman - Posts: 207
- Joined: Fri Mar 02, 2018 8:27 pm
Re: Freely Configurable Filter
anyway to get a hz and db readout on the filter points???
Also an extended range of where to place point would be awesome.... Say 13.5hz to 27648..
Also is Zero phase possible ? If not... why?
Thank you King Martin !!
Also an extended range of where to place point would be awesome.... Say 13.5hz to 27648..
Also is Zero phase possible ? If not... why?
Thank you King Martin !!
-
guyman - Posts: 207
- Joined: Fri Mar 02, 2018 8:27 pm
Re: Freely Configurable Filter
This is an amazing tool. After some testing, here are my comments and questions. Thanks for any response.
1. In linear mode, the group delay should be constant and (as far as I know) be equal to (N-1)/2, where N = number of taps. In a DSP algorithm involving recursive feedback with a particular delay (some samples) on the feedback, involving a IIR HP filter, this filter was replaced by Martin's FIR module. The reference is no filter, which by audible inspection has such and such result. The HP filter limits the working area of the feedback loop. (Has to do with acoustic cross talk "elimination", done in the digital domain.
Thus, the main signal was delayed (N-1)/2 samples, however, then the algorithm collapses, i.e., this delay was not correct, i.e. the main signal and the feedback signal is not in a mandatory "time sync".
Therefore, the normal delay module was replaced with Martin Vicanek's module ALSO on the main signal, but without any filtering, i.e. the purpose was to cause a correct delay.
Result? Now the algoritm works, but by comparing via audible inspection to a variant with no filter on the feedback loop, the result is more mediocre. The most likely reason I have found, would be that Vicaneks module does not result in a constant group delay, there must be some phase shift involved. (Based on my experience on how phase shifts impact (diminish) the algorithm.
Questions:
a) What is the actual delay in samples through this FIR module? (Stating 1024 taps).
b) How linear is the linear version. Is there an inaccuracy here, but perhaps not larger than it could still be called "linear phase"?
2. Would it be much work to enhance the FIR filter with a user defined number of taps? Because I would like the option to test a "brickwall-ish" HP filter at lower frequencies, e.g. between 100 and 200 Hz, requiring more taps.
3. Not only is this FIR module brilliant in itself, but it also has a proper BODE diagram with logaritmic X scale on "de facto" format. This is very good when comparing results with other software packages, e.g. REW; Room Eq Wisard.
Has someone released such a bode diagram for others to use?
4. Has someone released a tool that is good for studying phase and samples delay?
5. I also mention that my (only) problem with Flowstone (latest beta but has been so always) is that as soon as you connect in a plot diagram, then CPU usages raises to unheard levels (+10% cpu on a i7 processor). So if anyone has made (perhaps in Ruby) a plot diagram that does not eat CPU, I would be happy to hear about it. Example: The resulting plot diagram in Martin Vicaneks FIR module is causing +10% cpu, but when removed so that only the "drawing the filter" diagram is left, the cpu drops to 0.5% for a mono signal.
Again, thanks for any response!
1. In linear mode, the group delay should be constant and (as far as I know) be equal to (N-1)/2, where N = number of taps. In a DSP algorithm involving recursive feedback with a particular delay (some samples) on the feedback, involving a IIR HP filter, this filter was replaced by Martin's FIR module. The reference is no filter, which by audible inspection has such and such result. The HP filter limits the working area of the feedback loop. (Has to do with acoustic cross talk "elimination", done in the digital domain.
Thus, the main signal was delayed (N-1)/2 samples, however, then the algorithm collapses, i.e., this delay was not correct, i.e. the main signal and the feedback signal is not in a mandatory "time sync".
Therefore, the normal delay module was replaced with Martin Vicanek's module ALSO on the main signal, but without any filtering, i.e. the purpose was to cause a correct delay.
Result? Now the algoritm works, but by comparing via audible inspection to a variant with no filter on the feedback loop, the result is more mediocre. The most likely reason I have found, would be that Vicaneks module does not result in a constant group delay, there must be some phase shift involved. (Based on my experience on how phase shifts impact (diminish) the algorithm.
Questions:
a) What is the actual delay in samples through this FIR module? (Stating 1024 taps).
b) How linear is the linear version. Is there an inaccuracy here, but perhaps not larger than it could still be called "linear phase"?
2. Would it be much work to enhance the FIR filter with a user defined number of taps? Because I would like the option to test a "brickwall-ish" HP filter at lower frequencies, e.g. between 100 and 200 Hz, requiring more taps.
3. Not only is this FIR module brilliant in itself, but it also has a proper BODE diagram with logaritmic X scale on "de facto" format. This is very good when comparing results with other software packages, e.g. REW; Room Eq Wisard.
Has someone released such a bode diagram for others to use?
4. Has someone released a tool that is good for studying phase and samples delay?
5. I also mention that my (only) problem with Flowstone (latest beta but has been so always) is that as soon as you connect in a plot diagram, then CPU usages raises to unheard levels (+10% cpu on a i7 processor). So if anyone has made (perhaps in Ruby) a plot diagram that does not eat CPU, I would be happy to hear about it. Example: The resulting plot diagram in Martin Vicaneks FIR module is causing +10% cpu, but when removed so that only the "drawing the filter" diagram is left, the cpu drops to 0.5% for a mono signal.
Again, thanks for any response!
- chjan
- Posts: 30
- Joined: Wed Oct 22, 2008 3:15 pm
Re: Freely Configurable Filter
That`s correct in principle, however the implementation in my schematic has a larger delay (1536 samples) because it uses a straight blockwise convolution. With some extra effort (and CP load) the 1024 samples extra latency may be removed (so-called partitioned convolution).chjan wrote:In linear mode, the group delay should be constant and (as far as I know) be equal to (N-1)/2, where N = number of taps.
Unfortunately I don't understand what your goal is there. Is that some known DSP algorithm? Perhaps you have a reference?In a DSP algorithm involving recursive feedback with a particular delay (some samples) on the feedback, involving a IIR HP filter, this filter was replaced by Martin's FIR module. The reference is no filter, which by audible inspection has such and such result. The HP filter limits the working area of the feedback loop. (Has to do with acoustic cross talk "elimination", done in the digital domain.
[...]
1536 samplesQuestions:
a) What is the actual delay in samples through this FIR module? (Stating 1024 taps).
I would say it is linear phase within the limits of single precision. You can check by feeding the filter with a single pulse and see that the impulse response is symmetric.b) How linear is the linear version. Is there an inaccuracy here, but perhaps not larger than it could still be called "linear phase"?
I can offer 1024, 2048, 4092 taps etc. User defined filter length would be more work, yes.2. Would it be much work to enhance the FIR filter with a user defined number of taps? Because I would like the option to test a "brickwall-ish" HP filter at lower frequencies, e.g. between 100 and 200 Hz, requiring more taps.
There are Bode diagrams (even including phase) from various sources burried in the forum posts.3. Not only is this FIR module brilliant in itself, but it also has a proper BODE diagram with logaritmic X scale on "de facto" format. This is very good when comparing results with other software packages, e.g. REW; Room Eq Wisard.
Has someone released such a bode diagram for others to use?
4. Has someone released a tool that is good for studying phase and samples delay?
5. I also mention that my (only) problem with Flowstone (latest beta but has been so always) is that as soon as you connect in a plot diagram, then CPU usages raises to unheard levels (+10% cpu on a i7 processor). So if anyone has made (perhaps in Ruby) a plot diagram that does not eat CPU, I would be happy to hear about it. Example: The resulting plot diagram in Martin Vicaneks FIR module is causing +10% cpu, but when removed so that only the "drawing the filter" diagram is left, the cpu drops to 0.5% for a mono signal.
Again, thanks for any response!
Drawing tends to be CPU heavy in FS, but with some care one can often bring it down to acceptable levels. First thing to do is avoid trigger avalanches. Then be reasonable about resolution: how many points do you need? It may help to work with log spaced data. Finally, folks around here can optimize Ruby code. (The FFT analyzer in my schematic is NOT optimized for fast drawing at all).
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Freely Configurable Filter
1. I tested with 1536 samples delay and now it works, confirmative. Not expecting any free lunch I am very interested in discussing how to enable a set of alternative taps according to your suggested alternatives. I will spend a few days with a fir program and try to create conclusions on minimum taps needed for my case.
2. Your "draw a filter" display, could it be generalized to be a general low cpu tool for displaying SPL and phase? Perhaps others in this forum could contribute...? FS is such a great tool, if it wasnt for the CPU intensive GUI solutions.
3. The DSP is a cross talk removal algorithm, not unlike general Ambiophonics. I wrote the first ever software for Ambiophonics some 12-13 years ago, originally using SynthMaker. Later moved to Java for cross platform compliance. See soundpimp.com and let me know if you want a copy of it.
SoundPimp uses a java wrapper on native code for audio, JasioHost. It means Java is performing equal to native code regarding e.g. Latency. JasioHost was an open source initiative of mine and is today used in e.g. REW, a very popular measurement kit for speaker developement (which I also do) and room correction. I anticipate it is well known here as well.
4. Soundpimp (will be renamed to AudioBloomer) is going into a box, based on the AURORA DSP card, a kickstarter project we were involved in. But I am using FS for prototyping in software, of this and that feature that shall be added. AudioBloomer uses a 4ch system with the DSP error corrective signal in back channel. This is a revelation compared to normal 2channel crosstalk solutions. You get a full 180 degree soundstage if the recording says so.
2. Your "draw a filter" display, could it be generalized to be a general low cpu tool for displaying SPL and phase? Perhaps others in this forum could contribute...? FS is such a great tool, if it wasnt for the CPU intensive GUI solutions.
3. The DSP is a cross talk removal algorithm, not unlike general Ambiophonics. I wrote the first ever software for Ambiophonics some 12-13 years ago, originally using SynthMaker. Later moved to Java for cross platform compliance. See soundpimp.com and let me know if you want a copy of it.
SoundPimp uses a java wrapper on native code for audio, JasioHost. It means Java is performing equal to native code regarding e.g. Latency. JasioHost was an open source initiative of mine and is today used in e.g. REW, a very popular measurement kit for speaker developement (which I also do) and room correction. I anticipate it is well known here as well.
4. Soundpimp (will be renamed to AudioBloomer) is going into a box, based on the AURORA DSP card, a kickstarter project we were involved in. But I am using FS for prototyping in software, of this and that feature that shall be added. AudioBloomer uses a 4ch system with the DSP error corrective signal in back channel. This is a revelation compared to normal 2channel crosstalk solutions. You get a full 180 degree soundstage if the recording says so.
- chjan
- Posts: 30
- Joined: Wed Oct 22, 2008 3:15 pm
Re: Freely Configurable Filter
.
Last edited by MichaelBenjamin on Mon Sep 21, 2020 10:56 am, edited 1 time in total.
- MichaelBenjamin
- Posts: 275
- Joined: Tue Jul 13, 2010 1:32 pm
Re: Freely Configurable Filter
Sorry, please enlighten me, what is fcf?
- chjan
- Posts: 30
- Joined: Wed Oct 22, 2008 3:15 pm
22 posts
• Page 2 of 3 • 1, 2, 3
Who is online
Users browsing this forum: No registered users and 56 guests