OM-Data is a library of elementary functions, partially aimed at data modelling and analysis in OpenMusic. The library includes functions for data metrics, classification, and processing, as well as some higher-level functions for specific musical operations. These include K-means, DTW, NNS, KDTree, KNN, Markov-build, Markov-run, Segment-seq, Score-filter, Get-transients, Chroma-count, IC-vector, among many others.

A list of example patches are included, demonstrating possible musical applications for some of these functions.

OM-Data is still in development.

For info on how to install external libraries in OM visit:

Once the library is installed and loaded into the OM workspace, the example patches will be available in /Help/Import Tutorial Patches/Libraries/OM-Data 

To download the latest version of OM-Data, click here.



exquisitecorpus is a pair of Max for Live devices for corpus-based sampling and analysis — EC-sampler and EC-analyzer, respectively.

EC-analyzer performs off-line pitch detection, segmentation and labeling of a given audio file, for easy construction of audio corpora. Conversely, EC-sampler is a corpus-based and MIDI-controlled sampling device, that allows for absolute pitch transposition over a selection of multiple audio files — i.e the corpus. 

To download exquisitecorpus, click here. To see the full documentation, click here.



light.void~ is a handmade digital photo-controller, consisting of sixteen light sensors, each of which sends data to the computer through an Arduino MEGA. The design itself can be considered an ‘inferred replica’ of the more popular light thing interface by British artist Leafcutter John.  In other words, it's an approximate reproduction of the same design, based on assumptions about how it was built/programmed.

How it works:

Each sensor sends 10-bit data values to MaxMSP, where these are normalized to floating point numbers between 0 and 1, after being independently calibrated according to perceived levels of ambient light in order to avoid noisy data. The greater the intensity of the light perceived by each sensor, the greater the value is. This results in sixteen independent data streams available for user-defined mappings.

light.void~ is used in my work «Umbra» (2019):

RTcmix function library


An on-going collection of user-defined RTcmix functions — most of them for easy handling of lists and, soon, will include machine learning capabilities. NOTE: documentation is minimal at the moment.


Access the Github repository here.

RTcmix YouTube tutorials


RTcmix is an open-source and text-based programming environment for electronic and computer music. This is an on-going series of YouTube tutorials, mainly targeted at musicians and no prior experience in programming is required.

For more info about RTcmix, go to:


miniOMsynth is a user-friendly synthesizer app made in MaxMSP, to facilitate OSC playback from OpenMusic in macOS and Windows.

Given that some of the existing external applications for OM playback may present compatibility issues — e.g. outdated dependencies — this is meant to be an easy-to-use alternative for OM users. 

miniOMsynth has microtonal playback support for up to 16 MIDI channels, via OSC or MIDI. When the application is launched, each channel is assigned a randomly generated waveform and envelope to provide instant timbral contrast between channels. The generated waveforms and envelopes can also be edited, saved, and loaded, via the synth editor, as a way to provide timbral consistency from session to session.

The saved files will consist of 16 sound files in .aiff format and a .JSON file. To load a saved synth palette, simply select the corresponding .JSON file and miniOMsynth will take care of the rest.

miniOMsynth also contains a mixer window to individually control panning and volume for each channel.

To enable OSC communication between OM and miniOMsynth, go to OpenMusic Preferences and make sure that:

1) The default score player is set to osc-scoreplayer.

2) The Force score player option is checked.

To download miniOMsynth, click here.