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

2020-06-26 Thread Zhiguang Zhang
Here's a Fourier joke about Joseph Fourier that you might not like, i heard he rode a bike! On Thu, Jun 25, 2020, 6:59 PM Emanuel Landeholm wrote: > Sorry for being a slowpoke! Is this an efficient implementation of STFT > (short time fourier transform)? > > On Thu, Jun 25, 2020 at 8:49 AM

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

2020-06-25 Thread Emanuel Landeholm
Sorry for being a slowpoke! Is this an efficient implementation of STFT (short time fourier transform)? On Thu, Jun 25, 2020 at 8:49 AM STEFFAN DIEDRICHSEN wrote: > I think, Robert had its morning coffee after his reply …. ;-) > > Steffan > > On 24.06.2020|KW26, at 23:03, Zhiguang Eric Zhang >

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

2020-06-25 Thread STEFFAN DIEDRICHSEN
I think, Robert had its morning coffee after his reply …. ;-) Steffan > On 24.06.2020|KW26, at 23:03, Zhiguang Eric Zhang > wrote: > > 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

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

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

2020-06-23 Thread Zhiguang Eric Zhang
hi again, just wanted to chime in that this piece of software was released some time ago and is the traditional FIR/IIR equivalent of what's being discussed here, and is quite a breeze to use in the studio https://www.wavesfactory.com/trackspacer/ of course it won't have the ripple artifacts

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

2020-04-13 Thread Andreas Gustafsson
Hello Spencer, You wrote: > A while ago I read through some the literature [1] on implementing > an invertible CQT as a special case of the Nonstationary Gabor > Transform. It's implemented by the essentia library [2] among other > places probably. > > The main idea is that you take the FFT of

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

2020-04-13 Thread Spencer Russell
On Mon, Apr 13, 2020, at 1:36 PM, Spencer Russell wrote: > > Andreas - is this the general approach you use for Gaborator? > Whoops, just clicked through to the documentation and it looks like this is the track you're on also. I'm curious if you have any insight into the window-selection

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

2020-04-13 Thread Spencer Russell
On Fri, Mar 20, 2020, at 4:58 PM, Andreas Gustafsson wrote: > robert bristow-johnson wrote: but i would be excited to see a good > > implementation of constant Q filterbank that is very close to > > perfect reconstruction if the modification in the frequency domain > > is null. > > Isn't this

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

2020-03-29 Thread zhiguang zhang
hi music-dsp, just a disclosure that I worked on this whilst studying for my master's degree at NYU, and was also a summer intern at Eventide. incidentally, one of the founders at Eventide, John Agnello, has a patent that is similar to what is being discussed here.

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

2020-03-21 Thread Andreas Gustafsson
robert bristow-johnson wrote: > i've also fiddled with Gaussian windows and STFT around the turn of > the century. i like that the Fourier Transform of a Gaussian is > another Gaussian, so each frequency component will generate a > Gaussian pulse in the frequency domain. Yes. The Gaussian also

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

2020-03-20 Thread robert bristow-johnson
> On March 20, 2020 4:58 PM Andreas Gustafsson wrote: > > > robert bristow-johnson wrote: > > anyway, while i have done this sliding Hann window before, i haven't > > done it for a sliding DFT. but i would be excited to see a good > > implementation of constant Q filterbank that is very

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

2020-03-20 Thread Andreas Gustafsson
robert bristow-johnson wrote: > anyway, while i have done this sliding Hann window before, i haven't > done it for a sliding DFT. but i would be excited to see a good > implementation of constant Q filterbank that is very close to > perfect reconstruction if the modification in the frequency

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

2020-03-20 Thread zhiguang zhang
So RBJ thinks by himself and drinks by himself from '98 until. Let them know it's real son if it's really real, understandable, self-explainable On Fri, Mar 20, 2020, 3:47 PM robert bristow-johnson < r...@audioimagination.com> wrote: > > > > On March 20, 2020 2:45 PM STEFFAN DIEDRICHSEN >

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

2020-03-20 Thread robert bristow-johnson
> On March 20, 2020 2:45 PM STEFFAN DIEDRICHSEN wrote: > > > Actually, you can do a window size per bin and an arbitrary spacing of the > frequencies and create a “true” constant Q SDFT. Somehow, it reminds me on > the modal synthesis stuff, which can be used to create weird processing.

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

2020-03-20 Thread STEFFAN DIEDRICHSEN
Actually, you can do a window size per bin and an arbitrary spacing of the frequencies and create a “true” constant Q SDFT. Somehow, it reminds me on the modal synthesis stuff, which can be used to create weird processing. Regarding Corona: I’m doing home office with a view on my garden.

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

2020-03-20 Thread robert bristow-johnson
so the "implicit" sliding rectangular window has just as much mathematical meaning as if it were explicit. as Steffan points out, this implicit sliding rectangular window used in the sliding DFT is essentially the same implicit sliding rectangular window used in the efficient method of

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

2020-03-20 Thread john
I thought I would join in a little. I was the PI for the short time we were funded to research this area. Richard was the initial idea man and did much of the work. Russell Bradford did the complex mathematics. In total there were 5 papers on this topic(BibTeX entries below). The basic

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

2020-03-20 Thread STEFFAN DIEDRICHSEN
Hello Richard, Sure the window  has a meaning. The window is pulled into the integration and exists there as its differentiated form.If you rewrite formula [1] of your paper: PastedGraphic-2.pdf Description: Adobe PDF document or plain text: Ft+1(n)=(Ft(n) + (-1.)*f(t) + (1.)*ft+N)you have the 1

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

2020-03-19 Thread Eric Brombaugh
Thanks for the clarification. Sorry for the confusion re twiddle factors - I meant the per-bin complex rotations, so I believe we're on the same page. It's good to know that you found single precision floating pt to be insufficient for long-term stability. The low-resolution fixed point

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

2020-03-19 Thread Richard Dobson
(caveat - 13 years since I worked on this) This is a real single-sample update Sliding DFT, not a block-based method. The sample comes in, and used to perform a complex rotation to each bin, followed by the frequency-domain convolution. There are no twiddle factors as such. So the rectangular

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

2020-03-19 Thread Eric Brombaugh
Wow - interesting discussion. I've implemented a real-time SDFT on an FPGA for use in carrier acquisition of communications signals. It was surprisingly easy to do and didn't require particularly massive resources, although FPGAs naturally facilitate a degree of low-level parallelism that you

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

2020-03-19 Thread Richard Dobson
sorry for the repeats - don't know how that happened! ___ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp

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

2020-03-19 Thread Richard Dobson
In my original C programs it was all implemented in double precision f/p, and the results were pretty clean (but we never assessed it formally at the time), but as the computational burden was substantial on a standard PC, there was no way to run them in real time to perform a soak test.