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.

Announcements

News and announcements only

  1. Started by opmo,

    What’s New in Opusmodus The latest Opusmodus update brings a set of practical additions and workflow improvements across composition, analysis, synthesis, and navigation. MIDI Player: Dynamic Display Modes The MIDI Player now includes new velocity-based display modes. In addition to the original instrument-colour view, you can now display MIDI data using velocity colour mapping. Available modes include None, Mono, Plasma, Viridis, Magma, and Blue Ice. This makes it easier to read dynamics directly in the piano-roll display and compare expressive detail across passages. New CLM Generators A new collection of CLM generators has been added, expanding the available synt…

  2. Started by opmo,

    New: append-library The append-library function combines multiple def-library forms into a single library definition with multiple :section blocks. This is useful when library material is generated in separate stages, but should be collected into one named library. A common pattern is to build each section with *create-library** and then append the resulting definitions into a single def-library form. All appended sections must belong to the same library name. Section names must be unique within the combined result. (append-library (create-library 'binary-rhythmics '3-bit-binary 'bin (combination2 3 '(1 0 0))) (create-library 'binary-rhythmics '4-bit…

  3. Started by opmo,

    New: bind-indexThis function was inspired by the Arrows library. The bind-index implementation in our system provides additional flexibility and greater control over its behavior. (bind-index index-name [&key start] form*) The macro bind-index evaluates a sequence of forms and assigns each result to a consecutively numbered variable. This is useful in compositional workflows where intermediate results need to remain available, but explicit setf forms would make the source unnecessarily repetitive. The generated variable names follow the pattern index-name1, index-name2, index-name3, and so on. Each form can refer to variables created by the preceding forms. The mac…

  4. Started by opmo,

    Important note for macOS usersWe have updated Opusmodus for macOS to LispWorks 8.1.2. If you use CLM instruments, please delete the contents of the following directories before launching the new version of Opusmodus: ~/Opusmodus/CLM/binand ~/Opusmodus/CLM/libclm Once the contents of these directories have been removed, start the Opusmodus application. The CLM instruments will then be recompiled automatically using the new LispWorks version. Best wishes, Janusz P.S. Windows users do not need to take any action.

  5. Started by opmo,

    New Opusmodus Documentation FormatThe Opusmodus documentation is now being delivered in a new Markdown-based interactive format. The updated system introduces a more consistent directory structure, improved cross-linking between related documents, cleaner function pages, and better-organized overview documents. This makes the documentation easier to navigate, easier to maintain, and more effective as a reference environment for functions, examples, and category-based exploration. Example: New Opusmodus Analysis Tools open a new way of exploring music from inside the composition environment itself. Instead of treating analysis as a separate stage, Opusmodus brings rhyt…

  6. Started by opmo,

    Update: Wave Functions, Monophonic Analysis, and Harmonics The wave-function system has been substantially revised and extended. Wave generators now support a clearer and more complete modulation model: :fm for frequency modulation :am for amplitude modulation :phase-scaling for per-sample phase scaling This replaces the earlier :modulation keyword. :phase-distortion for phase remapping within the waveform cycle These controls are now available consistently across the main wave families, including the generator, additive, modulatory, and half-wave functions. The Pulse family has also been completed and brought into line with the rest of the system. The Monophonic Ana…

  7. Started by opmo,

    Small change to CLM instrument loading. After installing version 4.0.30980, follow the instructions below: Installation To use the new CLM implementation: 1. Delete the old CLM directory from your ~/Opusmodus folder. 2. Replace it with the new CLM directory supplied with this update. 3. Open ~/Opusmodus/User Source/Extensions. 4. Replace Load CLM Instruments.lisp with the updated version. 5. In Load CLM Instruments.lisp, you can then uncomment the loading expression from within the Opusmodus application in the Navigator pane (L). 6. Start the Opusmodus application. This new installation simplifies the load of the CLM instruments. CLM.zip Load CLM Instruments.lisp

  8. Started by opmo,

    Improvements to the display of tuplet notation (e.g., 6-, 10-, 14-tuplets). Best wishes, Janusz

  9. Started by opmo,

    Additional Ncode functionality (Ncode Manual): 2.2.4 SETF mode, templates, and pages NCODE provides a template-driven mode for constructing structured values via SETF pages. This mode is used when the Function field is SETF and a template is selected. Rather than entering a single expression, the user fills a set of pages; NCODE then reconstructs a quoted value and evaluates a (setf …) form. Figure 3 SETF mode, templates and pages. SETF pages provide a UI method for building complex, repeatable list structures (collections of labelled items) without manual list syntax. This is particularly useful when the value is naturally expressed as multiple items that must be o…

  10. Started by opmo,

    I am happy to announce a new tool called NCODE – Interactive Function Exploration and Score Assembly for Opusmodus (NCODE). It is designed for users who want to explore algorithmic composition workflows in Opusmodus without writing Lisp code directly. The release of NCODE is just the beginning of developing many Build add-ons that will help users create complex music without direct coding. More information about NCODE you find here: https://opusmodus.com/forums/ncode/ Best wishes, and happy holidays and New Year, Janusz

  11. Started by opmo,

    New:Spectral Analysis and Audio tools are now fully implemented on Windows. MIDI Clock and MIDI Time Code are available for both Mac and Windows. Best wishes, Janusz

  12. Started by opmo,

    The new Spectral Analysis Tool and Audio Engine functions are currently available only on macOS. The Windows version will be available shortly. Spectral Analysis Tool OverviewThe Spectral Analysis window provides a real-time visualisation and control interface for frequency-domain analysis of audio signals. It combines Fast Fourier Transform (FFT) processing with a configurable analysis environment, supporting in-depth inspection of frequency components over time. The display includes magnitude spectra and peak detection, facilitating detailed timbral and structural audio analysis. In addition to its analytical capabilities, the environment supports direct integration …

  13. Started by opmo,

    New: open-file filename Arguments and Values: filename - A pathname designator. May be a bare name (no type) or include an extension. Description: Opens the file resolved by (get-file-path FILENAME) in the Opusmodus application. Signals an error if the file cannot be resolved or does not exist. The function does not write to or modify the file; it only displays it in the appropriate Opusmodus panel. This function allows you to open series of files at once. Examples: .lisp / .opmo → Assistant editor panel (open-file "Load CL-Collider.lisp") MusicXML (.xml) → Notation viewer (open-file "Giant-Steps.xml") PDF → Assistant panel (open-file "IMSLP03959-Pierrot_LunaireOp21…

  14. Started by opmo,

    New utility function: get-file-path filename Arguments and Values: filename - A pathname designator. May be a bare name (no type) or include an extension. Description: Resolves a file designator to a physical pathname under the Opusmodus root, searching recursively through all subdirectories. If the designator lacks a type, the function will fall back to a list (internal) of given types. On success it returns a namestring of the resolved file. On miss it signals a warning and returns NIL. Examples: (get-file-path "Load CL-Collider") => "/Users/opmo/Opusmodus/User Source/Extensions/Load CL-Collider.lisp" (get-file-path "Giant-Steps.xml") => "/Users/opmo/Opusmodu…

  15. Started by opmo,

    I have added a few new commands to the Last Score menu: Length Graph Pitch Graph Velocity Graph PPrint Score PPrint Instruments I have also made improvements to PPrint Expression. Best wishes, Janusz

  16. Started by opmo,

    Fix to dynamic symbols (< >) that stop at the rests.

  17. Started by opmo,

    Autocompletion improvement. How to Use: Type an open parenthesis followed by a letter. Example: (r Press Tab to display a list of functions. Continue typing or select a function from the list.

  18. Started by opmo,

    Enhancements and additionsOpen in External Editor - direct export of snippets and scores to dedicated notation editor. By default, Opusmodus uses MuseScore 4 as the notation editor: (defparameter *default-notation-editor* "MuseScore 4.app") To set a different editor, replace the string with your preferred application’s name and place the expression in your User Function.lisp file (located at ~/Opusmodus/User Source/Extensions directory). Examples: (defparameter *default-notation-editor* "Dorico 6.app")(defparameter *default-notation-editor* "Sibelius.app") MusicXML to Score - conversion of musixml file to def-score instants. The output file is automatically create…

  19. Started by opmo,

    Fixed length symbol conversion in omn notation. This nasty bug was introduced in the last update.

  20. Started by opmo,

    Improvements to the notation (SeeScore) display. Best wishes, Janusz

  21. Started by opmo,

    All three MusicXML file formats, .xml, .musicxml, and .mxl (compressed) are supported on macOS and Windows. Small improvements to notation display.

  22. Started by opmo,

    The use of Slim/Swank is back in version 4.0. Here are the instructions (file) on how to use it. Emacs-Slime Setup.lisp This file needs to be placed in the ~/Opusmodus/User Source/Extensions directory. This functionality is mainly designed for developers and users who enjoy working with the power of Emacs.

  23. Started by opmo,

    MusicXML to Opusmodus NotationComposing • Analysing • Studying • TeachingThe newly added functionality allows users to import compositions created in standard notation software, such as Finale, Sibelius, Dorico, or MuseScore, directly into Opusmodus. Imported MusicXML files are automatically devoiced, meaning each notated voice is separated into its own instrument part. This enables detailed computational and analytical work by allowing independent manipulation and examination of individual musical lines. Once imported, users can take full advantage of Opusmodus’s powerful tools to further transform, develop, and vary their scores. For musicologists, the advanced analytic…

  24. Started by opmo,

    Just a reminder about the new functions I added in the last few updates: respell find-chord find-root find-scale chromatic-scale filter-chromaticBest wishes, Janusz

  25. Started by opmo,

    Improved the RESPELL function and fixed the Opusmodus GPT display issue on macOS. RESPELL The RESPELL function is used to change the pitch names of chords to prevent the occurrence of identical note names and to avoid enharmonic duplication that could lead to notation display conflicts. This is especially useful in complex harmonic textures or clustered chord voicings, where multiple notes may share the same pitch class but require distinct enharmonic spellings for clarity. By adjusting the spelling of pitches (e.g., converting a cs4 to db4), the function ensures more readable and accurate notation.


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.