various ircam free software jmax and openmusic
play

Various IRCAM free software: jMax and OpenMusic Francois Dechelle - PowerPoint PPT Presentation

Various IRCAM free software: jMax and OpenMusic Francois Dechelle dechelle@ircam.fr, IRCAM, Paris, France LAD Meeting - ZKM - March 15 2003 p.1/15 Free software at IRCAM jMax, OpenMusic, SDIF jMax GPLed in 1999 (first IRCAM free


  1. Various IRCAM free software: jMax and OpenMusic Francois Dechelle dechelle@ircam.fr, IRCAM, Paris, France LAD Meeting - ZKM - March 15 2003 – p.1/15

  2. Free software at IRCAM • jMax, OpenMusic, SDIF • jMax GPL’ed in 1999 (first IRCAM free software) • “Free software” team since mid-2002 • Partner of the AGNULA project LAD Meeting - ZKM - March 15 2003 – p.2/15

  3. jMax • yet another implementation of MAX: PD, MAX/MSP • but uses a different architectural approach • full separation between GUI (JAVA) and FTS audio engine (C) • FTS is a library LAD Meeting - ZKM - March 15 2003 – p.3/15

  4. jMax + JACK • FTS scheduler runs inside the JACK callback • callback is not yet RT safe: does a select() :-( • configuration panel allows to connect to already running applications LAD Meeting - ZKM - March 15 2003 – p.4/15

  5. jMax ladspa object • use a LADSPA plugin as a patch object • plugin ports (audio and control) are inlets/outlets • plugin is given ala applyplugin • no GUI for plugin LAD Meeting - ZKM - March 15 2003 – p.5/15

  6. jMax LADSPA plugin • run a patch as a LADSPA plugin • audio input/output are audio ports • controls ports are not implemented yet • loads the patch in plugin instantiate() • runs the FTS scheduler in plugin run() LAD Meeting - ZKM - March 15 2003 – p.6/15

  7. jMax Python/GTK GUI • pre-alpha state • motivations: • Java is not free, so it is not packaged in AGNULA, so replace it • Python is better for prototyping GUIs LAD Meeting - ZKM - March 15 2003 – p.7/15

  8. jMax client/server IPC • simple protocol: int, float, string, object • efficient w.r.t. memory allocation (Java/GC, real time...) • uses either a socket or a pipe as transport layer LAD Meeting - ZKM - March 15 2003 – p.8/15

  9. jMax client library • provides a simple API on top of the protocol • implemented in Java, C++ and Python • Python code: fts = Fts( "/usr/bin/fts") cnt = FtsSocketConnection() obj = FtsObject(cnt, None, "osc~") obj.send( "frequency", 440.0) LAD Meeting - ZKM - March 15 2003 – p.9/15

  10. OpenMusic • a visual programming language based on CommonLisp/CLOS • icon oriented, uses extensively drag&drop • built-in visual control structures • classes and libraries for music composition LAD Meeting - ZKM - March 15 2003 – p.10/15

  11. OpenMusic concepts • patches : programmation units • classes : prototypes for objects • once in a patch, a class becomes a factory • instances often associated with an editor • functions and methods : LISP • maquettes : a special kind of patch with a time dimension LAD Meeting - ZKM - March 15 2003 – p.11/15

  12. OM Linux • OM development base platform: Macintosh + Digitool MCL • Linux port by Gerardo Sarria and Jose Diago (Universidad Javeriana, Cali, Columbia) • based on OpenMusic version 3.5 • uses CMUCL LAD Meeting - ZKM - March 15 2003 – p.12/15

  13. OpenMusic graphical layer • implementation of MCL graphical toolkit on top of GTK • uses CMUCL GTK bindings • not complete yet: editors are missing • license issue ? LAD Meeting - ZKM - March 15 2003 – p.13/15

  14. OpenMusic TODO • merge with Macintosh code (version 4.7) • audio layer: play sound files • precise scheduling for maquettes • MIDI layer: record and play MIDI sequences • on Macintosh, uses MidiShare (GRAME) LAD Meeting - ZKM - March 15 2003 – p.14/15

  15. URLs • jMax: http://www.ircam.fr/jmax • jMax sourceforge: http://sourceforge.net/projects/jmax • OpenMusic: http://www.ircam.fr/openmusic • OpenMusic sourceforge: http://sourceforge.net/projects/ircam-openmusic LAD Meeting - ZKM - March 15 2003 – p.15/15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend