Universal Patch Finder

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
Post Reply New Topic
RELATED
PRODUCTS
Universal Patch Finder

Post

So what you're saying is you have lots of free time
ahah! in a way yes...
Once you've created the spectrograms, is there any way to automatically analyze and categorize them?
that's exactly what I'm planing to do. As you said, kontak patches have nothing to do with that. It's only for audio files.

you have very good ideas, I note all of them. For now I'm in the core feature: compute the spectrogram has fast as possible. Actually it is to slow because it is in unoptimized C# (indexing a WAV lib take 20 minutes)
We could imagine a kind of slider that define a frequency range, then the software could show you only the sounds that use mostly this range. It could be superusefull to place elements in the whole spectrum of a song.

Post

Hey droopy6,

I found your tool yesterday and its amazing ! I spent the last 6 weeks looking for a sample browser. I worked my way through your tool last night, which leaves one question:
Is it possible to skip forward/seek loops & acapella? I got loops and uplifter which are 30 seconds long. I would like to listen at their end. Is there a shortcut? Neither I could find something in the manual nor by pressing a lot of key combinations.

cheers

Post

hello astey, unfortunately seek is not available actually. it is intended to start when the DAW start a new bar.

Post

droopy6 wrote:
you have very good ideas, I note all of them. For now I'm in the core feature: compute the spectrogram has fast as possible. Actually it is to slow because it is in unoptimized C# (indexing a WAV lib take 20 minutes)
We could imagine a kind of slider that define a frequency range, then the software could show you only the sounds that use mostly this range. It could be super useful to place elements in the whole spectrum of a song.
Thanks - you have a great application, so it's pretty inspiring. :clap:

Post

droopy6 wrote:hello astey, unfortunately seek is not available actually. it is intended to start when the DAW start a new bar.
Thanks a lot for clarification! Would be amazing if you could add it in a future release.

Great app!

Cheers

Post

Here's an idea that's close to what I was thinking for comparing spectrograms in C#:

http://stackoverflow.com/questions/3515 ... in-c-sharp

Presumably most bass samples/kicks/hihats etc would have similar enough spectrograms. This could also find anything with rhythmic/pulsing qualities, near a given frequency. A simple "Find samples like this sample" button would run the search/compare process.

But your "Find by frequency" would also be amazing!

Post

mmh, I see, but I'm not sure this is a good idea to work on spectrograms image whereas I have all the audio frequencies in my hands. It will be certainly more accurate to work directly with frequencies with the output of the FFT.

the "Find samples like this sample" feature, is my ultimate goal, using machine learning. But that's not for now. The way it works consist in extracting audio features from an audio file, and do this for all of them. Then all sounds can be seen as a giant multidimensional cloud of points. each feature is a dimension. each point is an audio file. "Find samples like this sample" mean find points near this point.
Here is a list of well known audio features: http://yaafe.sourceforge.net/olddocs/v0 ... tures.html
UPF actually extract only ZCR and do nothing with it :-)

Post

mmh, I see, but I'm not sure this is a good idea to work on spectrograms image whereas I have all the audio frequencies in my hands. It will be certainly more accurate to work directly with frequencies with the output of the FFT.
You're absolutely right, as usual.

Post

Hey droopy6,

I spend some time with the tagbypath script.
after 4 hours I knew which tags are useful and need to be added to the script.

Unfortunately the script seems to be inconsistent with other attributes than "Style".

I would like to populate
Style = Instrument
Genre = funk, house, techno, live, indian, afro, latin, etc
Sample type = Loops, Multis, etc

Code: Select all

            if (ctx.PatchPath.ToLower().IndexOf("bass") != -1)
            {
                host.CreateTagWithoutType("Style", "Bass");
            }
            else if (ctx.PatchPath.ToLower().IndexOf("piano") != -1)
            {
                host.CreateTagWithoutType("Style", "Piano");
            }
            else if (ctx.PatchPath.ToLower().IndexOf("ambient") != -1)
            {
                host.CreateTagWithoutType("Genre", "Ambient");
            }
            else if (ctx.PatchPath.ToLower().IndexOf("loop") != -1)
            {
                host.CreateTagWithoutType("Sample Type", "Loops");
            }
however
- The attribute "Genre" gets some files tagged only. I name the folder indian, but only 2/10 files get the indian tag
- "Sample type" doesn't work at all. UPF doesn't even create this attribute.

Can you help please and have a look at this?
This is created with 1.7rc1

Anybody can download the file, maybe it helps somebody :)
Its a long list

Cheers
You do not have the required permissions to view the files attached to this post.

Post

I haven't worked on the scripts for a long time, I will take a look on this issue this weekend.
Thanks for the info!

Post

droopy6 wrote:I haven't worked on the scripts for a long time, I will take a look on this issue this weekend.
Thanks for the info!
Cool! Thanks a lot !

Cheers

Post

The RC4 is here: http://hypercube-softwares.duckdns.org/beta/
give it a try! :D

@astey:
- You should rename your script to prevent override by the setup.
- Your pb may be due to the fact that UPF did not reload the script you modified. I bet that restarting UPF will take into account your script. Anyway, I fixed that.
- I also updated TagByPath to show you how to do what you did in a more compact way:

Code: Select all

String[,] map = {
      {"bass","Style","Bass" },
      {"guitar","Style","Guitars" },
      {"drum","Style","Drum" }
};
for (int i=0;i<map.GetLength(0);i++)
{
      String filter = map[i,0];
      String key = map[i, 1];
      String value = map[i, 2];
      if (ctx.PatchPath.ToLower().IndexOf(filter) != -1)
      {
            host.CreateTagWithoutType(key, value);
      }
}

Post

You are insane man! You make me happy, a lot
Lightning fast progress!
I'll give it a shot on the spot! and report back

Post

I inserted the tags into the more compact script. As a consequence UPF doesn't read the script anymore. tagbypath.cs disappears from the plugins list too.
As soon as I add one additional filter word to the script it disappears from the menu of rc4.

If i load the old long list, the script doesn't work correctly too
Just a few tags are added to the database it seems by rescan files.
The script doesn't create more than one tag in inside a single attribute too?

Post

If the script disapear from the plugins list, it means you made a typo, UPF can't compile it (there should be an error in the logs).
May be we can continue in PM, to figure out your PB. Send me your script.

Post Reply

Return to “Samplers, Sampling & Sample Libraries”