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.

Some questions about Opusmodus

Featured Replies

I've been following this project with great interest! A few questions about the operation and future of the programme:

1. How does one deal with sending things like controller values to things like 'filter cutoff' in a synthesiser, for example? I assume just MIDI CC, but how is this represented in code and in notation? If I wanted to control things like 'effects switching', is there some way that this is displayed?

2. Is there a way to process MIDI input? For example, if I wanted to have a programme like Csound or SuperCollider tracking the pitch of live instrument and send it as MIDI to Opusmodus for the language to respond to live, is this possible?

3. Is it possible to associate different variables across the program? For example if one pitch goes up, another dynamic goes down, and a third pitch goes down in response?

4. Are there any plans to implements OSC?

Thank you for reading, looking forward to having more time with this programme, it looks very inspiring! 

This is an example from the Opusmodus 'How To' documentation library:

(def-score reaktor
           (:key-signature 'chromatic
            :time-signature '(4 4)
            :tempo 120
            :start 1 :end 16)
  
  (inst
   :omn elec
   :port 0
   :channel 1
   :sound 'reaktor
   :program 8
   :pan '((:desc-asc 127 0 1/32 5)
          (:asc 34 127 1/32 5) (127 1) (0 1))
   :volume 127
   :controllers (9 '((4 1) (3 1/2) (65 1/2))
                   12 '((0 2) (80 1/2) (65 1/2))
                   45 '((78 1/2) (3 3) (32 1/2))
                   46 '((54 1) (87 1/2) (88 1/2))
                   13 '((:desc-asc 76 23 1/32 3)
                        (:asc 34 127 1/32 2) (127 1) (0 1))
                   52 (rnd-sample 100 '(23 45 12 89 94 2 57 21))
                   53 (rnd-sample 100 '(23 45 12 89 94 2 57 21))
                   54 (rnd-sample 100 (gen-integer 12 99))
                   55 (rnd-sample 100 (gen-integer 45 99))
                   51 '((:desc-asc 127 0 1/32 3)
                        (:asc 34 127 1/32 5) (127 1) (0 1))
                   73 '((67 1) (7 1/2) (64 1/2))
                   75 '((2 1) (67 1/2) (65 1/2))
                   70 '((98 1) (3 1/2) (99 1/2))))
  )
This example speaks to the software modular synthesiser / sampler Reaktor.
 
In DEF-SCORE there is an important keyword :controllers. On Reaktor you can link the sound controls of the SteamPipe patch to a particular Midi controller number, one of the many unassigned controllers in the midi specification. This might be to control filter amplitude or envelope time, in this way Opusmodus is able to orchestrate and control sounds with flexibility and precision. All kinds of algorithmic and parametric processes can be applied to sound control in this way.
 
Opusmodus does not have live input yet, but you can import any MIDI file into OMN language.
OSC and MIDI input will be implemented in version 2.0.
 
There are many functions in Opusmodus which allows you to substitute or map different parameters.
 
For example DEF-CASE function is defined as a function name and list of clauses.
(def-case strings
  ((c4 1/2)  'tasto)
  ((cs5 1/4) 'ponte)
  ((d6 1/8)  'trem)
  (otherwise 'ord))

(strings
 (gen-combine '(c4 cs5 f5 e6 ds4 d6 c4 d4 cs4 f5 ds4 d6)
              '(1/2 1/4 1/4 1/4 1/2 1/8 1/4 1/2 1/8 1/4)))
=> (tasto ponte ord ord ord trem ord ord ord ord)
  • Author

Thank you very much for your reply - very pleased to know that OSC and MIDI input are planned for future releases. Going to download a trial and have a play!

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

Important Information

Terms of Use Privacy Policy

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.