Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
yes i wholeheartedly agree. ripple/ringing/Gibbs is part of the definition of bandlimited filtering, from the LPF to the ADC/DAC to even contributing to the sound of the piece of gear On Wed, Jun 24, 2020 at 5:03 PM Greg Maxwell wrote: > On Wed, Jun 24, 2020 at 8:56 PM Zhiguang Zhang > wrote:

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Greg Maxwell
On Wed, Jun 24, 2020 at 8:56 PM Zhiguang Zhang wrote: > the Gibbs "nastiness' is ever present in both hardware and software > implementations. It's just there in the underlying physics of sampling > theory, even in the analog domain it seems :) It's not really related to sampling. A

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
it was Alan Wolfe's thread? i don't want to argue and/or discuss the intricacies of sampling theory, but this is the DSP forum, no? isn't this a place to discuss such technical things? even a plug-in? i'm rather confused lol On Wed, Jun 24, 2020 at 5:00 PM robert bristow-johnson <

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread robert bristow-johnson
> On June 24, 2020 4:53 PM Zhiguang Zhang wrote: > > > I don't think there's any issue - I just posted about the TrackSpacer plugin > and the thread started up again. Actually what I've been trying to get across > is that the Gibbs "nastiness' is ever present in both hardware and software

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Zhang
I don't think there's any issue - I just posted about the TrackSpacer plugin and the thread started up again. Actually what I've been trying to get across is that the Gibbs "nastiness' is ever present in both hardware and software implementations. It's just there in the underlying physics of

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread robert bristow-johnson
is this the same thing we were discussing in March? wasn't that three months ago? what, exactly, is the issue? there *are* some things in common between OLA phase vocoder and OLA fast convolution. in fact, if you're willing to make your fast convolution less fast than optimal, you can use

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
hi Greg, yes but taking circuit depth to mean circuit path and assumptively related to window size, a smaller window almost certainly equals more ripple distortion -ez On Wed, Jun 24, 2020 at 3:57 PM Greg Maxwell wrote: > On Wed, Jun 24, 2020 at 7:46 PM Russell Wedelich > wrote: > >>

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Greg Maxwell
On Wed, Jun 24, 2020 at 7:46 PM Russell Wedelich wrote: > Respectively Eric, I think you may be confusing two different use cases > for windows. Your recent reference is referring to constructing FIR filters > via the Windowing method of ideal brickwall filters. This is different from > a

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Zhang
Hi Russ, Yes. In the previous reference, there is no example for overlap-add. A sine/cosine framework is a relatively simple one for OLA and fulfills the necessary requirements. In the case of audio coding, various filterbanks with different types of windows have been designed for 'perfect

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Russell Wedelich
Respectively Eric, I think you may be confusing two different use cases for windows. Your recent reference is referring to constructing FIR filters via the Windowing method of ideal brickwall filters. This is different from a frequency domain convolution implementation of an FIR filter (which may

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread STEFFAN DIEDRICHSEN
Phew, thank you for confirming that! We use it in several products. Cheers, Steffan > On 24.06.2020|KW26, at 17:07, Corey K wrote: > > But the end result is that we can perform filtering using STFT filterbanks > just fine, there are no artifacts.

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread STEFFAN DIEDRICHSEN
Here’s the beef from that paper: (The reader should realize that an appropriate change must be made to the analysis-i.e., padding the windowed in- put signal with a sufficient number of zero valued samples-to prevent time aliasing when implementing the analysis and syn- thesis operations with

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
not to beat a dead horse but you get more stats here: https://www.dspguide.com/ch16/1.htm (c) shows that the Blackman has a better *stopband attenuation*. To be exact, the stopband attenuation for the Blackman is -74dB (∼0.02%), while the Hamming is only -53dB (∼0.2%). Although it cannot be seen

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
https://community.sw.siemens.com/s/article/the-gibbs-phenomenon "*Addendum #2: Analog to Digital Converters* Sometimes there is confusion about a Successive Approximation Register (SAR) versus Sigma-Delta analog to digital converters and Gibbs phenomenon. Many Sigma-Delta converters have sharp

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
here: https://community.sw.siemens.com/s/article/the-gibbs-phenomenon "*The Gibbs Phenomenon* [image: User-added image] To describe a signal with a discontinuity in the time domain requires infinite frequency content. In practice, it is not possible to sample infinite frequency content. The

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
You don't have to sample the STFT that often. In fact block based FFT convolution uses non-overlapping blocks on the input (although the output windows do overlap). Anyway, I digress... On Wed., Jun. 24, 2020, 1:06 p.m. Zhiguang Eric Zhang, wrote: > It's not just about zero-padding. Say you

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
It's not just about zero-padding. Say you could sample the signal and window at, say, fs, but why the hell would you want to window at fs? At any rate, if you look at the Hamming window, the ringing artifact is rather negligible. On Wed, Jun 24, 2020, 11:15 AM STEFFAN DIEDRICHSEN wrote: >

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
(when I say satisfy the left hand side, I mean make the sum of shifted windows add up to a constant) On Wed, Jun 24, 2020 at 12:37 PM Corey K wrote: > Regarding e.q 4.5 it is easy to satisfy the left hand side of that > equation exactly (which is all that is needed) -- any COLA window will do >

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
Regarding e.q 4.5 it is easy to satisfy the left hand side of that equation exactly (which is all that is needed) -- any COLA window will do it. Steffan's point is critically important. The FFT has to be appropriately zero-padded so the convolution is linear rather than circular. But the end

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
" The term Zmw(m-n)of (4.4)isseen to be the sum of the window shifted by m samples. By recognizing that the ex- pression&,w(m-n)issimplyasumofthevaluesofalow- passwindow,itcanbeshown[8]thatifw(n)issampledata sufficiently dense rate, then w(m-n)= w(ejo) (4.5) m

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
Ok, if Allen can't convince you, how about Julius Smith: https://ccrma.stanford.edu/~jos/sasp/FFT_Filter_Banks.html ? On Wed, Jun 24, 2020 at 12:13 PM Zhiguang Eric Zhang wrote: > Thank you. Yes it seems very theoretical and math heavy. In practice you > will get this frequency response

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
Thank you. Yes it seems very theoretical and math heavy. In practice you will get this frequency response artifact no matter how small. It should factor into the math in some way, perhaps they are not looking at the laplacian On Wed, Jun 24, 2020, 10:41 AM Corey K wrote: > It's a classic

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
It's a classic paper. Google scholar shows it has been cited over 1000 times. There's a link to it here here: https://jontalle.web.engr.illinois.edu/uploads/537/Papers/Public/AllenRabiner77-ProcIEEE.pdf On Wed, Jun 24, 2020 at 11:56 AM Zhiguang Eric Zhang wrote: > unfortunately, i'm not

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
unfortunately, i'm not familiar with that paper. could you please attach it or provide a link for reference? the Gibbs phenomenon is actually a very well-known and thoroughly characterized signal processing artifact that has been approached from a variety of angles as far as trying to find a

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
I think you're mistaken, unfortunately. Block FFT convolution has been around for 30+ years. In 1977 (43 years ago now), Jont Allen showed in his paper "A Unified Approach to Short-Time Fourier Analysis" how you can perform FIR filtering perfectly with the FFT, of COLA windows are used. See

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
that's not true. with FFT/COLA you will necessarily have the Gibbs phenomenon / ringing / ripple artifacts. certain window types will minimize this but you will get this phenomenon nonetheless. On Wed, Jun 24, 2020 at 9:44 AM Corey K wrote: > I see what you're getting at, I suppose. However,

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
I see what you're getting at, I suppose. However, in the context of FIR filtering I wouldn't refer to this as an artifact. Let's say you gave me an FIR filter with N-taps and asked me to write a program to implement that filter. I could implement this using a direct form structure (in the

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
ripple is just a known artifactual component of a windowing operation. it's also known as the Gibbs phenomenon http://matlab.izmiran.ru/help/toolbox/signal/filterd8.html i'm not referring to any equivalency between time/freq domain filtering On Wed, Jun 24, 2020 at 9:21 AM Corey K wrote: >

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
Not totally understanding you, unfortunately. But if what you are describing is part of the normal filter response/ringing I guess I wouldn't refer to it as "artifacts"? FIR filtering can be performed equivalently in the time or frequency domain. Do you disagree with that statement? On Wed, Jun

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Zhiguang Eric Zhang
yes but any windowing operation is akin to taking a dirac delta function on X number of samples and thus you will get ringing/ripple artifacts as a necessary part of the filter response On Wed, Jun 24, 2020 at 6:30 AM Corey K wrote: > > of course it won't have the ripple artifacts associated

Re: [music-dsp] Sliding Phase Vocoder (was FIR blog post & interactive demo)

2020-06-24 Thread Corey K
> of course it won't have the ripple artifacts associated with FFT overlap > windowing > What is the ripple artifact you are talking about? When using constant overlap add (COLA) windows the STFT is a perfect reconstruction filterbank. Likewise block FFT convolution can be used to implement any