[PD] nearest neighbour matching?

Ed Kelly morph_2016 at yahoo.co.uk
Fri Oct 5 11:20:57 CEST 2012


> Hi Claude,

> 
> On 5 Oct 2012, at 09:47, Claude Heiland-Allen <claude at mathr.co.uk> wrote:
> 
>>  Hi list,
>> 
>>  I have a -batch patch that randomly samples the parameter space of control 
> signals to (some black box)* and uses [sigmund~] to detect pitched-ness vs 
> unpitchedness, keeping the pitch info and then a notch filter to detect 
> distortion:
>> 
>>  http://mathr.co.uk/softrockiii/2012-10-05_probe-puredata.png
>> 
>>  So I end up with gnuplots that look something like this:
>> 
>>  http://mathr.co.uk/softrockiii/2012-10-05_pitching-distortion.png
>> 
>>  Now I want to find the best match for a given pitch and distortion and get 
> back the corresponding parameters that approximately reconstruct the desired 
> sound.
>> 
>>  What's the best way to go about this?
>> 
>>  I might end up just hand-rolling some Lua for this kind of matching if no 
> one has any better ideas.
> 
> You may be interested in the [knn] external, which implements the k's 
> nearest neighbour algorithm.
> 
> It can be found in svn in postlude/knn.
> 
> The classic paper on its use can be found here: 
> http://www.music.mcgill.ca/~ich/research/icmc00/icmc00.timbre.pdf
> 
> best,
> 
> Jamie
> 
> --
> http://jamiebullock.com
> 


There may be a way to use the simile algorithm (from ekext) that gives the matched-ness of two numbers based on an arbitrary window size, but it still might involve rolling your own. I have a feeling KNN is very efficient...
Ed




More information about the Pd-list mailing list