grrrr / nsgt

Non Stationary Gabor Transform (NSGT), Python implementation
http://grrrr.org/research/software/nsgt
Artistic License 2.0
95 stars 28 forks source link

What's the easiest way to scale along time? #9

Closed smallnamespace closed 8 years ago

smallnamespace commented 8 years ago

Let's say I have a signal and want to scale 2x along time (make it last twice as long).

Should I just zero-pad the input to double the input length, then take the NSGT coefficients and fill and then inverse, or is there a smarter way to go about this?

grrrr commented 8 years ago

It's the question what "scaling" means in that context. Since it is unrelated to the NSGT toolbox i am closing this issue.

smallnamespace commented 8 years ago

@grrrr

Well, I am no expert on the math behind how NSGT works (I have read several of the papers but only at a high level).

Would you do me the favor of explaining how different ways of time-scaling would have different results, or would they practically speaking (to the ear) be very similar?

For example: if I zero-pad to double length, then take coefficients and fill in transformed space before inverting -- does it make a practical difference how the zero-padding is done (e.g. before, after, or on both sides of the actual signal)?

grrrr commented 8 years ago

Hi, the reason i closed this issue is that the issue tracking is for features or defects of the software, not for questions pertaining to the underlying algorithm which was not even developed by me. You should have a look at phase vocoders which work in usual STFT space. It is certainly possible to extrapolate this to NSGT. I guess it should work in polar coordinates by interpolating the magnitudes and phases according to the new time instances and then convert back to cartesian complex coefficients.

smallnamespace commented 8 years ago

Thanks for pointing me in that direction, I will take a look.

Out of curiosity, do you have a forum you would recommend for questions about the underlying methodology (e.g. is http://www.univie.ac.at/nonstatgab/authors.php a good place to start)?

I'm a software engineer by trade, and can think of a lot of interesting, immediate applications for time-frequency techniques, but I don't know if you or your co-authors would have time or interest for collaboration.

grrrr commented 8 years ago

Yes i think you should start there. It's our hub of info about the NSGT. Concerning cooperation, it really depends on the topic. We are mostly in fundamental research, but also with some excursions into applied research. We do have industry cooperations where we prepare and license out prototypical implementations of our algorithms which are used in services or products.