< Back to IRCAM Forum

"Streamsep", a new Stream Separation library for OM

Hi.

I’ve packaged some algorithms i’ve been using for voice separation into an OM library, hopefully providing some generally useful stuff:

https://forge.ircam.fr/p/omlibraries/downloads/

It’s a stream separation algorithm (aka. voice-following, polyphonic stream segregation…) using ML techniques (“Single link agglomerative clustering”) to trace out voices in uncategorized input data. The most obviously useful thing to do with this is separate voices in polyphonic input.

In the lib input is a chord-seq, and output is a list of chord-seqs, one for each voice found.

There’s also a subclass of ‘analysis’ together with tools to extract analysed data, to be able to work interactively on smaller segments of input data. Two utility functions to grab results from the segmented analysis’ are included: #'stream-seg-segments and #'stream-seg-to-multi-seq. (The latter will need the next release of OM to work properly, where some work is done on a misfeature in #'concat of multi-seqs with differing numbers of voices.)

The current algorithm has 3 tuneables: weightings for time and pitch resp., and an ‘overlap tolerance’ to allow for not too precise input. Example patches are included.

I hope to optimize further along the way, and provide more of the standard variations on distance metrics for clustering etc. Stay tuned for updates.

The README is attached. Thanks for all bug reports.

-anders

README.txt (1.72 KB)

The voice separation library “Streamsep” is updated to v. 0.2.
News is a function #'stream-seg-to-maquette to output two values, a list of onset times and list of objects, obviously to pass to the two inputs of a maquette.

Various bug-fixes, most importantly the output data is ordered by ascending time (scrambled input used to hit a bug in the rq-lib, fixed at the forge now).

Find the new version of “Streamsep” (along with the other libs) here:

https://forge.ircam.fr/p/omlibraries/downloads/get/Streamsep_0.2.zip

Thanks for all bug-reports.

-anders