Machine improvisation with Variable Markov Oracle: Toward guided and structured improvisation

Cheng I. Wang, Jennifer Hsu, Shlomo Dubnov

Research output: Contribution to journalArticlepeer-review

4 Scopus citations


In this article, we describe the Variable Markov Oracle and how it can be used in stylistic machine music improvisation scenarios. A Variable Markov Oracle is a data structure capable of identifying repeated subsequences within a multivariate time series. A Variable Markov Oracle symbolizes a time series by maximizing an information theoretic measure. After symbolizing the time series, repetitive structures can be extracted and used for music improvisation. We present a machine improvisation framework, using a Variable Markov Oracle, that is capable of generating novel audio content for either real-time or stored audio input. This work focuses on guided improvisation and structured improvisation.

Original languageEnglish
Article number4
JournalComputers in Entertainment
Issue number3
StatePublished - 1 Dec 2016
Externally publishedYes


  • Dynamic programming
  • Factor oracle
  • Machine improvisation
  • Sound synthesis
  • Variable Markov oracle

ASJC Scopus subject areas

  • Computer Science Applications


Dive into the research topics of 'Machine improvisation with Variable Markov Oracle: Toward guided and structured improvisation'. Together they form a unique fingerprint.

Cite this