question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Griffin-Lim for CQT

See original GitHub issue

Description

The GL implementation added in 0.7 #843 operates on linear spectrograms. At some point in the discussion, we raised the idea of having it work on CQT as well, but dropped the idea to keep things simple.

I just prototyped a CQT-based GL offline and it sounds pretty good. It seems like a useful kind of thing to have in the library. The only question for me is whether we wrap it into the existing implementation, or just have a separate function that’s nearly identical, but with different arguments and calls cqt/icqt instead of stft/istft. I’m leaning toward the latter, since the method is simple enough that a little duplication of code won’t be catastrophic to maintain.

What do folks think?

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:12 (11 by maintainers)

github_iconTop GitHub Comments

1reaction
bmcfeecommented, Jul 2, 2019

This works for a very narrow value of hop lengths and Q’s, no?

It’s subject to all the limitations of our icqt implementation, so yes.

The latter appears at every iteration of Griffin-Lim. Is there a way to make the UserWarning print only once?

A user can always filterwarnings to 'once': https://docs.python.org/3/library/warnings.html#warnings.filterwarnings

I don’t think we should do that from within the library though, since a warning can pop up from different sources within a session, and only showing the first one would obscure that.

0reactions
bmcfeecommented, May 29, 2020

I don’t think this is an issue for us, except maybe documentation. You may need to reset your warning filters before applying a new filter, but this depends on your environment (jupyter/ipython/spyder/python interpreter may all behave differently).

Read more comments on GitHub >

github_iconTop Results From Across the Web

librosa.griffinlim_cqt — librosa 0.10.0.dev0 documentation
This implementation is based on the (fast) Griffin-Lim method for Short-time ... Sparsify the CQT basis by discarding up to sparsity fraction of...
Read more >
nnAudio.Spectrogram.Griffin_Lim — 0.2.0 - Kin Wai Cheuk
Converting Magnitude spectrograms back to waveforms based on the “fast Griffin-Lim”[1]. This Griffin Lim is a direct clone from librosa.griffinlim.
Read more >
Non-Griffin–Lim Type Signal Recovery from Magnitude ...
Abstract: Speech and audio signal processing frequently requires to recover a time-domain signal from the magnitude of a spectrogram.
Read more >
librosa.griffinlim Example - Program Talk
python code examples for librosa.griffinlim. Learn how to use python api librosa.griffinlim. ... librosa.cqt · librosa.core · librosa.chirp.
Read more >
TimbreTron: A WaveNet(CycleGAN(CQT(Audio))) Pipeline for ...
We propose TimbreTron, a pipeline that performs CQT-based timbre transfer with ... STFT magnitude is the Griffin-Lim algorithm (Griffin and Lim, 1984) ....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found