Website optimised for Firefox 3.6


WoMax (OMax without OpenMusic) is a experimental version of the virtual improviser OMax, freed from the non real time Lisp part of it and adding an interactive visualisation.

OMax, designed and developed by G. Assayag, G. Bloch, M. Chemillier in collaboration with S. Dubnov, combines two computer music environments: Max/MSP (real time graphical programming environment) and OpenMusic (composition graphical programming environment based on a Lisp core) to learn style features and co-improvise with a musician. Recently, the team has issued MoMax, a modular version of OMax.

WoMax is the result of a research on visualising OMax carried out by Benjamin Levy. Based on MoMax to be modular, WoMax introduces two main changes:

  • Factor Oracle, the core of OMax knowledge is directly included in the Max/MSP environment with external objects.
  • A new visualisation of the internal knowledge is provided using Jitter which allows a feedback on its functioning.

Thanks to the unity of the programming environment (Max/MSP/Jitter exclusively), WoMax has also been made more reactive compared to OMax and MoMax and refines the interaction possibilites with the virtual improviser.

Here is an diagram of the current WoMax architecture:

WoMax development, improvement and usage study is now funded by L'Agence Nationale de la Recherche (ANR) through the Improtech project


To port Factor Oracle into Max/MSP, 9 external objects have been developed for Max5. Two of them implement structures to hold the data sequence (Data object) and the graph of Factor Oracle (Oracle object). The other objects are meant to write, read and browse both structures as shown in the following diagram:
A full documentation of the C/C++ code can be found here.


With extensive use of Jitter, WoMax adds a visualisation of Factor Oracle. Based on a growing linear timeline representing the input sequence, bezier curves and arc diagrams show and allow to explore Factor Oracle. It strongly highlight pattern repetitions and high level structures giving an orientation map to drive the improviser.

Here is an example of the visualisation:

Bezier and Arcs example


MoMax is a modular version of OMax recently developed. It uses the same (Max/MSP) patches and (Lisp) code as the original OMax but it is organised with consistent modules which order follows the conceptual workflow of the improviser. Aiming to be a development version, it voluntary drops some advance features of OMax for the sake of clarity. But its modular structure allows to test some changes in chosen modules or try new knowledge models without rebuilding the whole software.

Therefore aside from the visualisation, WoMax includes the audio modules of MoMax and replaces the call to the Lisp code of OMax with new Max/MSP patches using the Factor Oracle externals

Here is a capture of MoMax main patch:



You can download here a .zip archive containing the current beta version of WoMax. This download includes all externals & patches for Max5 (MacIntel) as well as the documentation and source code.

If you don't own Max5 you can as well download here a standalone application encapsulating the current beta version of WoMax.