Skip to content
View in the app

A better way to browse. Learn more.

Opusmodus

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Live for LiveCoding in Opusmodus

Featured Replies

Hello everyone,

I’d like to share a first experimental version of a small project I’ve been developing around Opusmodus: Livecode.

GitHub: https://github.com/Nanotk303/Livecode

Livecode is a Common Lisp live-coding prototype for Opusmodus / LispWorks. The idea is to evaluate Lisp/OMN expressions on the fly, in a pattern-based live-coding spirit, while keeping an idiomatic Lisp syntax and a direct connection with the Opusmodus workflow.

This is an alternative directly accessible by code to the Opusmodus Livecoding Instrument.

Minimal example:

(load "/path/to/Livecode/load.lisp")

(setf p1 '((q c4 e d4 e e4 q g4)))

(live '((inst1 :omn p1 :port "Bus 1" :channel 1))
      :tempo 90)

You can then modify p1 and re-evaluate the (live ...) form without stopping the global clock.

Example with several tracks:

(live '((synth1 :omn p1   :port "Bus 1" :channel 1)
        (synth2 :omn pad1 :port "Bus 1" :channel 2)
        (kick   :omn kick :port "Bus 1" :channel 3))
      :tempo 120
      :midi-clock-port "Bus 2")

Current features include:

  • live evaluation of (live ...) forms

  • replacing musical material without stopping the clock

  • direct MIDI output to IAC / CoreMIDI ports

  • timestamped MIDI scheduling for improved timing stability

  • optional MIDI Clock output

  • MTS support for microtonal pitches

  • reading Opusmodus def-sound-set files

  • OMN articulations mapped to soundset keyswitches / CCs / program changes

  • named soundset controllers such as expression, velocity-xf, etc.

For Opusmodus soundsets, Livecode automatically tries to find:

~/Opusmodus/User Source/Libraries/Def-Sound-Sets/
~/Documents/Opusmodus/User Source/Libraries/Def-Sound-Sets/

If your Opusmodus installation is located elsewhere:

(livecode:set-livecode-soundset-directory
 "/path/to/Opusmodus/User Source/Libraries/Def-Sound-Sets/")

Then check the loaded soundsets with:

(livecode:live-soundset-status)

Example with OMN articulations and a soundset:

(setf vln
      '((s d4 p< leg
          e4 <  leg
          f4 <  leg
          g4 <  def
          q a4 f marc
          h b4 ff trem+ponte)))

(live '((violin :omn vln
                :port "Bus 1"
                :channel 1
                :sound 'vsl-studio-solo-violin1
                :program '(def)))
      :tempo 120)

The project is still a prototype, so there will certainly be limitations depending on OMN syntax and soundset conventions. But it is already working well enough here for experiments with Opusmodus, Vienna Ensemble Pro, Synchron Player, IAC buses, MIDI Clock and MTS.

The project is released under the MIT License.

I’d be very happy to hear feedback, ideas, tests or suggestions, especially regarding:

  • timing stability in different setups

  • compatibility with various soundsets

GitHub: https://github.com/Nanotk303/Livecode

Thank you!

  • Author

Just added today, Ableton Link Synchronisation, so now you can synchronize Opusmodus with Ableton Live or any other Opusmodus Live coding session allowing Opusmodus Jam sessions with different people, all in sync, yeah !

Disclaimer: For Mac OS only, sorry.

Stéphane

  • 4 weeks later...

Wonderful work Stephane, thank you for this!
I took the liberty to extend Livecode with an OSC sender (requires the AbletonOSC remote script).
It's still in an early phase but perhaps when you have time we can take a look at it together? As you know with OSC we can do many cool things related to automation, program changes, controlling device racks etc. Small demo here, just showing the clip launcher

Create an account or sign in to comment


Copyright © 2014-2026 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.