Announcements
News and announcements only
260 topics in this forum
-
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…
-
- 0 replies
- 300 views
- 1 follower
-
-
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…
-
- 0 replies
- 54 views
- 1 follower
-
-
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…
-
- 0 replies
- 90 views
- 1 follower
-
-
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.
-
- 0 replies
- 81 views
- 1 follower
-
-
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…
-
- 0 replies
- 258 views
- 1 follower
-
-
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…
-
- 0 replies
- 260 views
- 1 follower
-
-
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
-
- 0 replies
- 212 views
- 1 follower
-
-
Improvements to the display of tuplet notation (e.g., 6-, 10-, 14-tuplets). Best wishes, Janusz
-
- 0 replies
- 293 views
- 1 follower
-
-
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…
-
- 0 replies
- 260 views
- 1 follower
-
-
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
-
- 0 replies
- 291 views
- 1 follower
-
-
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
-
- 0 replies
- 284 views
- 1 follower
-
-
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 …
-
- 0 replies
- 714 views
- 1 follower
-
-
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…
-
- 0 replies
- 456 views
- 1 follower
-
-
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…
-
- 0 replies
- 298 views
- 1 follower
-
-
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
-
- 0 replies
- 304 views
- 1 follower
-
-
Fix to dynamic symbols (< >) that stop at the rests.
-
- 0 replies
- 330 views
- 1 follower
-
-
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.
-
- 0 replies
- 341 views
- 1 follower
-
-
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…
-
- 0 replies
- 510 views
- 1 follower
-
-
Fixed length symbol conversion in omn notation. This nasty bug was introduced in the last update.
-
- 0 replies
- 300 views
- 1 follower
-
-
Improvements to the notation (SeeScore) display. Best wishes, Janusz
-
- 0 replies
- 261 views
- 1 follower
-
-
All three MusicXML file formats, .xml, .musicxml, and .mxl (compressed) are supported on macOS and Windows. Small improvements to notation display.
-
- 0 replies
- 345 views
- 1 follower
-
-
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.
-
- 0 replies
- 486 views
- 1 follower
-
-
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…
-
- 0 replies
- 890 views
- 1 follower
-
-
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
-
- 0 replies
- 538 views
- 1 follower
-
-
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.
-
- 0 replies
- 393 views
- 1 follower
-