Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can this library do the inverse CWT? #23

Open
robclouth opened this issue Feb 12, 2023 · 10 comments
Open

Can this library do the inverse CWT? #23

robclouth opened this issue Feb 12, 2023 · 10 comments

Comments

@robclouth
Copy link

This would be super handy for audio processing

@fastlib
Copy link
Owner

fastlib commented Mar 15, 2023

Not yet, will add it to the list. Are there more people that need this feature?

@aphoffmann
Copy link

An ICWT would be very helpful for my research!

@filefolder
Copy link

yes would be very handy

@fastlib
Copy link
Owner

fastlib commented Jun 29, 2023

I see there is great interest in a fast inverse CWT. In #36, I mentioned the difficulties with implementing an inverse CWT, however I will put it on my list for the next major update. Thank you for showing your interest.

@nicolasvair
Copy link

Yes it would also help me very much !

Side note, do any of you know any sound processing in the wavelet domain ?
If existing in python, it would be fontastic to use with neutone AI audio plugin.

@InitusNovus
Copy link

It will be very helpful!

My research is ML which makes CWT data(image)
If the fast ICWT exists, I will be able to put it in the learning loop, so I will have a chance to step further.

@GUIMINLONG
Copy link

inverse fcwt will be very helpful ~~~~l

@Sean-M-Devlin
Copy link

Agreed, I'm also interested in performing the inverse too! Thanks for this great tool!

@vctrbrtn
Copy link

Likewise, would be interested in the implementation of inverse fCWT.

@fastlib
Copy link
Owner

fastlib commented Aug 14, 2024

I've been tinkering a bit to see whether an inverse fCWT was possible and it is actually very easy! I'm still planning to implement this in the next version, but due to other priorities in my PhD, this update is being postponed constantly.

For now, you can sum all real valued rows of the time frequency matrix (wavelet coefficient matrix):

signal = np.real(tfm).sum(axis=0)

Note that we are not normalizing anything yet, so this is not correct if you are really interested in the absolute amplitudes of the signal. However, if you are planning to normalize the signal anyway, this could be a straightforward solution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants