Re: [music-dsp] FIR blog post & interactive demo

2020-03-19 Thread STEFFAN DIEDRICHSEN
Like many other things …. Steffan > On 19.03.2020|KW12, at 17:01, Ethan Fenn wrote: > > So interestingly those two #define's together would have no effect! > ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu

Re: [music-dsp] FIR blog post & interactive demo

2020-03-19 Thread Ethan Fenn
As long as we're going off the rails... This provoked me into learning something new: https://stackoverflow.com/questions/24177503/how-does-the-c-preprocessor-handle-circular-dependencies So interestingly those two #define's together would have no effect! -Ethan On Thu, Mar 19, 2020 at 7:34

Re: [music-dsp] FIR blog post & interactive demo

2020-03-19 Thread STEFFAN DIEDRICHSEN
#define analog digital #define digital analog and now read again …. Best, Steffan > On 19.03.2020|KW12, at 12:31, Theo Verelst wrote: > > Maybe a side remark, interesting nevertheless: the filtering in digital > domain, as > compared with the analog good ol' electronics filters isn't the

Re: [music-dsp] FIR blog post & interactive demo

2020-03-18 Thread Ethan Duni
Hi Eric I'm sure your filterbank EQ sounds fine. Aliasing should be contained to a very low level if appropriate windows/overlap are used and the filter response isn't pushed to any extremes. But, zero-phase (offline) processing is straightforward to achieve with FIR. You just do a linear-phase

Re: [music-dsp] FIR blog post & interactive demo

2020-03-15 Thread Zhiguang Eric Zhang
Hi Ethan, It's been a few years since I've ran or heard this FFT filterbank EQ. I do remember it being quite clean, indeed, I chose to work on it precisely because I realized that it could be designed to be zero-phase (meaning no phase distortion like you get from traditional FIR/IIR eqs). The

Re: [music-dsp] FIR blog post & interactive demo

2020-03-13 Thread Ethan Duni
On Thu, Mar 12, 2020 at 9:35 PM robert bristow-johnson < r...@audioimagination.com> wrote: > i am not always persuaded that the analysis window is preserved in the > frequency-domain modification operation. It definitely is *not* preserved under modification, generally. The Perfect

Re: [music-dsp] FIR blog post & interactive demo

2020-03-12 Thread robert bristow-johnson
> On March 12, 2020 5:35 PM Ethan Duni wrote: > > > Hi Robert > > > On Wed, Mar 11, 2020 at 4:19 PM robert bristow-johnson > wrote: > > > > i don't think it's too generic for "STFT processing". step #4 is pretty > > generic. > > I think the part that chafes my intuition is more that

Re: [music-dsp] FIR blog post & interactive demo

2020-03-12 Thread Ethan Duni
Hi Robert On Wed, Mar 11, 2020 at 4:19 PM robert bristow-johnson < r...@audioimagination.com> wrote: > > i don't think it's too generic for "STFT processing". step #4 is pretty > generic. > I think the part that chafes my intuition is more that the windows in steps #2 and #6 should "match" in

Re: [music-dsp] FIR blog post & interactive demo

2020-03-11 Thread robert bristow-johnson
> On March 11, 2020 6:53 PM Ethan Duni wrote: > > > On Tue, Mar 10, 2020 at 8:36 AM Spencer Russell wrote: > > > > The point I'm making here is that overlap-add fast FIR is a special case > > of STFT-domain multiplication and resynthesis. I'm defining the standard > > STFT pipeline here

Re: [music-dsp] FIR blog post & interactive demo

2020-03-11 Thread Ethan Duni
On Tue, Mar 10, 2020 at 8:36 AM Spencer Russell wrote: > > The point I'm making here is that overlap-add fast FIR is a special case > of STFT-domain multiplication and resynthesis. I'm defining the standard > STFT pipeline here as: > > 1. slice your signal into frames > 2. pointwise-multiply an

Re: [music-dsp] FIR blog post & interactive demo

2020-03-10 Thread Richard Dobson
On 10/03/2020 19:45, Ethan Duni wrote: On Mar 10, 2020, at 3:38 AM, Richard Dobson wrote: You can have windows when hop size is 1 sample (as used in the sliding phase vocoder (SPV) proposed by Andy Moorer exactly 20 years ago, and the focus of a research project I was part of around

Re: [music-dsp] FIR blog post & interactive demo

2020-03-10 Thread Ethan Duni
> On Mar 10, 2020, at 3:38 AM, Richard Dobson wrote: > > You can have windows when hop size is 1 sample (as used in the sliding phase > vocoder (SPV) proposed by Andy Moorer exactly 20 years ago, and the focus of > a research project I was part of around 2007). So long as the window is based

Re: [music-dsp] FIR blog post & interactive demo

2020-03-10 Thread robert bristow-johnson
> On March 10, 2020 11:34 AM Spencer Russell wrote: > > > Thanks for your expanded notes, RBJ. I haven't found anything that I disagree > with or that contradicts what I was saying earlier - I'm not sure if they > were intended as expanded context or if there was something you were >

Re: [music-dsp] FIR blog post & interactive demo

2020-03-10 Thread Spencer Russell
Thanks for your expanded notes, RBJ. I haven't found anything that I disagree with or that contradicts what I was saying earlier - I'm not sure if they were intended as expanded context or if there was something you were disagreeing with. On March 8, 2020 7:55 PM Ethan Duni wrote: > > Fast

Re: [music-dsp] FIR blog post & interactive demo

2020-03-10 Thread Richard Dobson
On 10/03/2020 00:41, Ethan Duni wrote: ... Right, but if you are using length K FFT and zero-padding by K-1, then the hop size is 1 sample and there are no windows. You can have windows when hop size is 1 sample (as used in the sliding phase vocoder (SPV) proposed by Andy Moorer exactly

Re: [music-dsp] FIR blog post & interactive demo

2020-03-09 Thread Ethan Duni
It is certainly possible to combine STFT with fast convolution in various ways. But doing so imposes significant overhead costs and constrains the overall design in strong ways. For example, this approach: > On Mar 9, 2020, at 7:16 AM, Spencer Russell wrote: > >  > if you have an KxN STFT

Re: [music-dsp] FIR blog post & interactive demo

2020-03-09 Thread robert bristow-johnson
> On March 8, 2020 7:55 PM Ethan Duni wrote: > > Fast FIR is a different thing than an FFT filter bank. > > You can combine the two approaches but I don’t think that’s what is being > done here? > On March 9, 2020 10:15 AM Spencer Russell wrote: > > > I think we're mostly on the same

Re: [music-dsp] FIR blog post & interactive demo

2020-03-09 Thread Spencer Russell
I think we're mostly on the same page, Ethan. Though even with STFT-domain time-variant filtering (such as with noise reduction, or mask-based source separation) it would seem you could still zero-pad each input frame to eliminate any issues due to time-aliasing. As you mention (paraphrasing),

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Ethan Duni
On Sun, Mar 8, 2020 at 8:02 PM Spencer Russell wrote: > In fact, the the standard STFT analysis/synthesis pipeline is the same > thing as overlap-add "fast convolution" if you: > > 1. Use a rectangular window with a length equal to your hop size > 2. zero-pad each input frame by the length of

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread zhiguang zhang
Nowhere was it mentioned that there was an across the frame multiplication with a scalar as far as manipulating the transform coefficients. That might make it time variant. My concept was in the domain of audio engineering which reads a side-chain signal to obtain attenuation factors in the

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Spencer Russell
On Sun, Mar 8, 2020, at 7:41 PM, Ethan Duni wrote: > FFT filterbanks are time variant due to framing effects and the circular > convolution property. They exhibit “perfect reconstruction” if you design the > windows correctly, but this only applies if the FFT coefficients are not > altered

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread zhiguang zhang
so Ethan, what is your definition of time invariance? because you say it's not time invariant because of time domain aliasing but then you say there is delay due to compute time. delay due to window and compute time is unavoidable and not to be factored into time invariance / variance. coding

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Ethan Duni
> > If the system is suitably designed (e.g. correct window and overlap), > you can filter using an FFT and get identical results to a time domain > FIR filter (up-to rounding/precision limits, of course). The > appropriate window and overlap process will cause all circular > convolution

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Greg Maxwell
On Sun, Mar 8, 2020 at 11:41 PM Ethan Duni wrote: > FFT filterbanks are time variant due to framing effects and the circular > convolution property. They exhibit “perfect reconstruction” if you design the > windows correctly, but this only applies if the FFT coefficients are not > altered

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Ethan Duni
No, MDCT TDAC is the same. Perfect reconstruction only obtains if the coefficients are not changed at all. Coding noise causes (uncancelled) time domain aliasing that is shaped according to the window design. Limiting this effect is a primary aspect of MDCT codec design. Ethan > On Mar 8,

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread zhiguang zhang
Audio compression by definition 'alters' the transform coefficients and they get perfect reconstruction with no aliasing due to the transform alone. In fact 'TDAC' or time domain aliasing cancellation is a hallmark of the MDCT or DCT type IV which is ubiquitous in audio codecs. On Sun, Mar 8,

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Ethan Duni
FFT filterbanks are time variant due to framing effects and the circular convolution property. They exhibit “perfect reconstruction” if you design the windows correctly, but this only applies if the FFT coefficients are not altered between analysis and synthesis. If you alter the FFT

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread zhiguang zhang
The system is memoryless just because it is based on the DFT and nothing else, which is also why it's time-invariant. unless you alter certain parameters in real-time like the window size or hop size or windowing function, etc, any input gives you the same output at any given time, which is the

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread zhiguang zhang
Well I believe the system is LTI just because the DFT is LTI by definition. The impulse response of a rectangular window I believe is that of a sinc function, which has ripple artifacts. Actually, the overlap-add method (sorry I don't have time to dig into the differences between overlap-add and

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread robert bristow-johnson
> On March 8, 2020 2:00 PM Zhiguang Eric Zhang wrote: > > it is not causal because the zero-phase system does not depend on past samples > > > On Sun, Mar 8, 2020 at 1:58 PM Zhiguang Eric Zhang wrote: > > the frequency response is a function of the windowing function > > > > what

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Zhiguang Eric Zhang
it is not causal because the zero-phase system does not depend on past samples On Sun, Mar 8, 2020 at 1:58 PM Zhiguang Eric Zhang wrote: > the frequency response is a function of the windowing function > > On Sun, Mar 8, 2020 at 10:34 AM robert bristow-johnson < > r...@audioimagination.com>

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Zhiguang Eric Zhang
the frequency response is a function of the windowing function On Sun, Mar 8, 2020 at 10:34 AM robert bristow-johnson < r...@audioimagination.com> wrote: > > > > On March 8, 2020 10:05 AM Ethan Duni wrote: > > > > > > It is physically impossible to build a causal, zero-phase system with >

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread robert bristow-johnson
> On March 8, 2020 10:05 AM Ethan Duni wrote: > > > It is physically impossible to build a causal, zero-phase system with > non-trivial frequency response. a system that operates in real time. when processing sound files you can pretend that you're looking at some "future" samples. i

Re: [music-dsp] FIR blog post & interactive demo

2020-03-08 Thread Ethan Duni
It is physically impossible to build a causal, zero-phase system with non-trivial frequency response. Ethan > On Mar 7, 2020, at 7:42 PM, Zhiguang Eric Zhang wrote: > >  > Not to threadjack from Alan Wolfe, but the FFT EQ was responsive written in C > and running on a previous gen MacBook

Re: [music-dsp] FIR blog post & interactive demo

2020-03-07 Thread robert bristow-johnson
if you are implementing an FIR filter using "fast convolution" which uses an FFT and overlap-add or overlap-scrap (often the latter is called "overlap-save"), then the window is *rectangular*, but if you do this right, there is no ripple artifact from the windowing of the time-domain data.

Re: [music-dsp] FIR blog post & interactive demo

2020-03-07 Thread Zhiguang Eric Zhang
Not to threadjack from Alan Wolfe, but the FFT EQ was responsive written in C and running on a previous gen MacBook Pro from 2011. It wouldn't have been usable in a DAW even without any UI. It was running FFTW. As far as linear / zero-phase, I didn't think about the impulse response but what

Re: [music-dsp] FIR blog post & interactive demo

2020-03-07 Thread robert bristow-johnson
> On March 7, 2020 6:43 PM zhiguang zhang wrote: > > > Yes, essentially you do have the inherent delay involving a window of samples > in addition to the compute time. yes. but the compute time is really something to consider as a binary decision of whether or not the process can be real

Re: [music-dsp] FIR blog post & interactive demo

2020-03-07 Thread zhiguang zhang
Yes, essentially you do have the inherent delay involving a window of samples in addition to the compute time. On Sat, Mar 7, 2020, 5:40 PM Spencer Russell wrote: > On Sat, Mar 7, 2020, at 6:00 AM, Zhiguang Eric Zhang wrote: > > Traditional FIR/IIR filtering is ubiquitous but actually does

Re: [music-dsp] FIR blog post & interactive demo

2020-03-07 Thread Spencer Russell
On Sat, Mar 7, 2020, at 6:00 AM, Zhiguang Eric Zhang wrote: > Traditional FIR/IIR filtering is ubiquitous but actually does suffer from > drawbacks such as phase distortion and the inherent delay involved. FFT > filtering is essentially zero-phase, but instead of delays due to samples, > you

Re: [music-dsp] FIR blog post & interactive demo

2020-03-07 Thread Zhiguang Eric Zhang
Sorry I meant Alan :) On Wed, Jan 15, 2020, 11:20 PM Alan Wolfe wrote: > probably pretty basic stuff for most people here but wanted to share a > writeup and demo i made about FIRs. > > Post: https://blog.demofox.org/2020/01/14/fir-audio-data-filters/ >

Re: [music-dsp] FIR blog post & interactive demo

2020-03-07 Thread Zhiguang Eric Zhang
This is a very cool blog, I need to spend some time with it. It's also interesting to draw parallels between the graphics stuff that Alex writes about to the audio realm. Traditional FIR/IIR filtering is ubiquitous but actually does suffer from drawbacks such as phase distortion and the inherent

Re: [music-dsp] FIR blog post & interactive demo

2020-03-04 Thread Spencer Russell
On Tue, Mar 3, 2020, at 4:21 PM, robert bristow-johnson wrote: > > Like a lotta things, sometimes people use the same term to mean something > different. A "phase vocoder" (an STFT thing a la Portnoff) is not the same as > a "channel vocoder" (which is a filter bank thing). It’s maybe worth

Re: [music-dsp] FIR blog post & interactive demo

2020-03-03 Thread Zhiguang Eric Zhang
r...@audioimagination.com >>> >>> "Imagination is more important than knowledge." >>> >>> >>> >>> >>> >>> Original message >>> From: Alan Wolfe >>> Date: 3/3/2020 16:10

Re: [music-dsp] FIR blog post & interactive demo

2020-03-03 Thread Zhiguang Eric Zhang
gt; -- >> r b-j r...@audioimagination.com >> >> "Imagination is more important than knowledge." >> >> >> >> >> >> ---- Original message >> From: Alan Wolfe >> Date: 3/3/2020 16:10 (GMT-05:00)

Re: [music-dsp] FIR blog post & interactive demo

2020-03-03 Thread Zhiguang Eric Zhang
more important than knowledge." > > > > > > Original message > From: Alan Wolfe > Date: 3/3/2020 16:10 (GMT-05:00) > To: A discussion list for music-related DSP > > Subject: Re: [music-dsp] FIR blog post & interactive demo > >

Re: [music-dsp] FIR blog post & interactive demo

2020-03-03 Thread robert bristow-johnson
ination is more important than knowledge." Original message From: Alan Wolfe Date: 3/3/2020 16:10 (GMT-05:00) To: A discussion list for music-related DSP Subject: Re: [music-dsp] FIR blog post & interactive demo Man that's neat. I've been wondering how a v

Re: [music-dsp] FIR blog post & interactive demo

2020-03-03 Thread Alan Wolfe
Man that's neat. I've been wondering how a vocoder worked. I'm looking forward to reading through your work. BTW, there is also an IIR demo and blog post now. http://demofox.org/DSPIIR/IIR.html On Tue, Mar 3, 2020 at 1:04 PM Zhiguang Eric Zhang wrote: > this is cool, i can't believe I

Re: [music-dsp] FIR blog post & interactive demo

2020-03-03 Thread Zhiguang Eric Zhang
this is cool, i can't believe I actually worked on FFT filtering (via phase vocoder) before learning FIR/IIR filters ... ? if anyone's interested in that source code it's here: https://www.github.com/kardashevian On Wed, Jan 15, 2020 at 11:20 PM Alan Wolfe wrote: > probably pretty basic stuff