Notochord: a Flexible Probabilistic Model for Real-Time MIDI Performance

Victor Shepardson, Jack Armitage, Thor Magnusson
3/18/2024
cs.SDcs.AIeess.AS

No official code found. Best implementation: Intelligent-Instruments-Lab/iil-python-tools (35 stars, MIT, last commit 2023-11-23).

Abstract

Deep learning-based probabilistic models of musical data are producing increasingly realistic results and promise to enter creative workflows of many kinds. Yet they have been little-studied in a performance setting, where the results of user actions typically ought to feel instantaneous. To enable such study, we designed Notochord, a deep probabilistic model for sequences of structured events, and trained an instance of it on the Lakh MIDI dataset. Our probabilistic formulation allows interpretable interventions at a sub-event level, which enables one model to act as a backbone for diverse interactive musical functions including steerable generation, harmonization, machine improvisation, and likelihood-based interfaces. Notochord can generate polyphonic and multi-track MIDI, and respond to inputs with latency below ten milliseconds. Training code, model checkpoints and interactive examples are provided as open source software.

View on arXivView PDF

Code Implementations(1)

MIT

Central repo for python projects including: iipyper (easy OSC and MIDI handling) and notochord (a probabilistic model for real-time MIDI performance built in pytorch)

354CSS, ShellFeb 18, 20222 years agoMIT

Similar Papers

Cite this paper

@article{shepardson2024notochord,
  title  = {Notochord: a Flexible Probabilistic Model for Real-Time MIDI Performance},
  author = {Victor Shepardson and Jack Armitage and Thor Magnusson},
  year   = {2024},
  eprint = {2403.12000},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2403.12000v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2403.12000.svg)](https://codeofpaper.com/paper/2403.12000)

Discussion