Hpss using pre-seeded harmonic dictionaries

Using nmf to get specific components from a sound seems useful to me. Can someone more versed in these techniques (@groma perhaps ;)) have a peek at this? It seems like something that could be explored by pre-seeding dicts in the current object.

1 Like

Is that a link to a file?

If so, can it not be behind a uni login wall? All I get is a login screen when following the link.

Ugh yeah, forgot I was on the uni wifi when I came across it. What is the protocol for hard linking to an article @tremblap?

if it’s behind a paywall, find the free copy on the author’s institution website. Just stay legal on this forum.

I made a link to a publically available version sourced via google scholar.


That’s interesting.

Would definitely like to see something like this.

The whole point of this project is to empower you, to allow you to read the paper, understand what you can, and use the tools you have to try to implement it, and see where it leads you. So have a go at it and share your results!

Any good places to become more accustomed to the math notation? A book or perhaps some infinite kernel of wisdom on how to start?

I meant to read the abstract only - but it is true it is quite obscure so I’ll see if I can use that as a homework with my teacher (@weefuzzy) later in the project - for now we are busy at other things :wink:

Hehe yeah. The math shit gets heavy real quick in that paper.

1 Like

Hi, this article is really interesting. I have not read it fully, but sparse NMF formulations is something really to look at in the future. However they use it for HPSS, for which we already have an algorithm, with 3 modes and lots of paramrters. I think between this and pre-trained NMF you should be able to do interestign things. For example you could pre-train NMF with the components resulting from HPSS, then re-train with the mixed signal…

Hmm, that’s quite interesting. And may apply nicely to the approach I’m using (in the other thread) of using fluid.buftransientslice~ to find the transient then analyzing 30ms of time before it.

Sorry, I didn’t meant to suggest a new object should be made. I thought it was interesting for the general reason you gave, that nmf could be used to dissect components of a sound more generally.

Also a follow up question:

When you want to compare nmf filter envelopes derived from isolated sources is it usually 1-2 rank NMF’s that we want to be using? I know in Rodrigo’s case he worked with averaging out a number of percussive hits to get a more generalised analysis.

The thing is there are many variations on the NMF theme, we have only implemented the most basic. We should possibly consider some of them in the future, but I just wanted to point that we already have something for HPSS, and we can combine it with NMF!
How to decide the rank is not an easy question, even for a single source, it depends on its complexity. Think of the number of distinct “static” spectra that it would have (its activation will control the level). This is why it is much easier with percussive instruments like drums or piano, where you normally do not actively vary the spectrum during a note, the intuition is to model the envelope in time-frequency. We may try to introduce an automatic way of determining the rank, but even so it would not be very magic IMHO.