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):

GAMuT: Granular Audio Musaicing Toolkit


GAMuT is a high-level, user-friendly granular audio musaicing toolkit implemented in Python. It was developed for the creation of some of the electro-acoustic sounds in «Simulacra» (2022) [re]presentations for large ensemble and electronics.

Here are some audio musaicing examples of an excerpt from Ángel González' poem, Muerto en el olvido, using GAMuT:

00 Target
00:00 / 00:15
01 Female singer corpus [1221 files]
00:00 / 00:15
02 Cmaj7 corpus [340 files]
00:00 / 00:16
03 Bowed strings corpus [1234 files]
00:00 / 00:16
04 Tamtam_corpus [2878 files]
00:00 / 00:16

To install GAMuT, run the pip install gamut command in the terminal. To read the documentation, click here.

[stringnode] sampler + sequencer

[stringnode] is a computer-assisted composition tool, specifically developed for the writing of «...como la pólvora...» (2022) attractors for amplified string quartet. It consists of two parts, a MaxMSP patch/app and M4L audio device, for sequencing and playback of undulating, harmonic-touch fingering patterns. The pattern sequencing is done through .bell scripts containing the instructions for how to build each pattern sequence.

To download [stringnode], click here.




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 currently 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.

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: