Group Admins

  • Profile picture of Karim
  • Profile picture of Jean

OpenMusic

Public Group active 4 days, 7 hours ago

User group for OpenMusic and computer-aided composition. Visit the Forum for discussions.

"Streamsep", a new Stream Separation library for OM

Author 1 Subscribed Users |
Profile photo of anders
anders

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

April 27, 2017 at 15:06 #22206

You must be logged in to reply to this topic.

Log in now