Support & Troubleshooting
Discuss anything related to Opusmodus that doesn't fit in another sub-forum here!
470 topics in this forum
-
I've been working in a scratch file, and setting a bunch of variables and defining functions. Now I want to tidy things up by extracting those parts to a separate file. However, because I've evaluated the code, it's all still valid. So I can easily make a new file that doesn't have the necessary definitions. Is there a way to reset the lisp environment so I can test whether a file works from a clean slate? Obviously I can restart the application entirely - I'm just wondering if there's some way to not do that. Note: My experiments with built-in GPT are short-lived. Here's a summary of when I inquired with it: Use the clear-all function. This command is not found directl…
- 4 replies
- 637 views
- 2 followers
-
Hello Opusmodus team and community, I'm working on a simple live-coded techno drum loop using live-coding-midi, and while the loop plays and repeats, it's not looping seamlessly — the playback seems to stutter or lose sync at the loop boundary. Despite matching total durations across parts (kick = 16 quarter notes, snare = 4 hits, hats = 64 sixteenths), something isn't syncing correctly at the loop point. I suspect it's an issue with the alignment of the final bar or a nuance in how live-coding-midi handles timing across instruments. Is there something I'm missing in how Opusmodus expects score lengths to be structured for seamless looping? Do I need to pad rests or exp…
- 10 replies
- 1k views
- 3 followers
-
a simple small function I had to write for a project: it generates a kind of accelerando towards the value 1 (defun gen-acc (alist) (loop while (not (equal alist (gen-repeat (length alist) 1))) collect (setf alist (loop for i in alist when (> i 1) collect (- i 1) else collect i)))) (gen-acc (rnd-order (primes 11))) => ((30 2 6 12 10 18 28 1 4 16 22) (29 1 5 11 9 17 27 1 3 15 21) (28 1 4 10 8 16 26 1 2 14 20) (27 1 3 9 7 15 25 1 1 13 19) (26 1 2 8 6 14 24 1 1 12 18) (25 1 1 7 5 13 23 1 1 11 17) (24 1 1 6 4 12 22 1 1 10 16) (23 1 1 5 3 11 21 1 1 9 15) (22…
-
- 0 replies
- 285 views
- 1 follower
-
-
Using the GM instruments in OM ( I'm on a MacBook), I'd like to reduce the reverb on the Flute for example. Do I add something to the below or change that elsewhere? (flute :omn omn :channel 1 :volume 127 :sound 'gm :program 'flute) Also, what is the easiest way to record the OM audio output to a wav? In Supercollider for example, you can record the audio from a running script. In Dorico, you can export the notation output as audio/wav. Is there something like that in OM or would I have to use some sort of loopback tool to record the OM General Midi audio output to Audacity or Cubase? Thanks for any info!
-
- 2 replies
- 388 views
- 1 follower
-
-
I wrote a script to reproduce Steve Reich's "Clapping Music" by brute forcing a list of rhythm permutations. Is there a single command that would do the same? ;; --------------------------------------------------------- ;; Welcome to the Composer panel. ;; This is the space where you write your score. ;; --------------------------------------------------------- (setf Clap1 '(e g4 e e -e e e -e e -e e e -e )) (setf Clap2 '( ( e c4 e e -e e e -e e -e e e -e ) ( e e -e e e -e e -e e e -e e ) ( e -e e e -e e -e e e -e e e ) ( -e e e -e e -e e e -e e e e ) ( e e -e e -e e e -e e e e -e ) ( e -e e -e e e -…
- 5 replies
- 642 views
- 1 follower
-
I have a simple question. In the attached pic, how do I write the two 16th note triplets in OM notation? I'm not sure how to write it if one of the notes is an 8th note like in the example ( something like '(3e d5 b4) )?
- 4 replies
- 502 views
- 2 followers
-
I take the the unified window layout you see in "100 seconds" videos is not available in Opusmodus 3?
- 8 replies
- 802 views
- 3 followers
-
Hi, OM2 had a dark mode, but I can't find it in OM3... Isn't there a dark mode in OM3? If there is, where do I find it? All the best, António
- 16 replies
- 2.5k views
- 2 followers
-
Hi, As shown in the picture below: the output of gen-dictum doesn't contain tonality information, I would appreciate some help on this matter. Thanks gen-dictum- tonality.pdf
-
- 2 replies
- 393 views
- 2 followers
-
-
Hi, i have a problem with pitch melodize (setf i22 (harmonic-progression '(1 2 3 4 5 6 7 8 9 10 11) scale :base 1 :size 4 :step '((4 4 5 )(4 4 5)(4 4 5)(4 5 4)(4 5 4)(4 4 5)(4 5 4)(5 4 4)(5 4 4)(4 5 5)(5 4 5)))) my tenth chord is good. (setf m (pitch-melodize i22)) bar 10 chord ten is not good, could someone explain what is going on? thanks for your help several problems as well bar 6
-
- 2 replies
- 393 views
- 1 follower
-
-
Hello, I'm searching for a way to split a chord back into its pitches (so basically the reverse of "chordize"). Is there a function to do that (not "dechord" or "dissolve"...)? Thanks & cheers, Alex
-
- 3 replies
- 442 views
- 3 followers
-
-
Hello! I haven't had any luck in creating connection between OM and Emacs. (start-swank) from OM Listener gives error: "The file #P"OM-SRC:SWAML-LOADER.LISP.NEWEST" does not exist". If I try (start-swank) with path to a Slime on Quicklisp path (I have both 2.28 and 2.24 versions of Slime, result is the same), compilation starts but gets stuck and must be aborted. Help appreciated Henry
- 15 replies
- 2.8k views
- 3 followers
-
I'm trying to figure out what might be wrong with this script: (setf melody '(q c4 mp q db4 q eb4 q e4 q fs4 q bb4 q a4 q d4)) ; Melody (setf melody-pairs (gen-divide 2 melody)) ; Group melody into pairs (setf chords '( h c4db4e4g4 p ; Cdim7 h e4gs4b4d5 p ; E7 h fs4a4c5eb5 p ; F#7b9 h d4f4a4c5 p ; Dmin9 )) ; Chord progression (setf seq-melody melody-pairs) ; Separate melody for staff (setf seq-chords chords) ; Separate chords for staff (setf len1 (omn-length seq-chords)) (midi-destinations) (def-score test (:title "Score Test" :composer "JBM" :time-signature '(4 4) :tempo 72) (part1 :omn seq-melody …
-
- 7 replies
- 708 views
- 2 followers
-
-
Is there perhaps still an HTML version around of the full and up-to-date Opusmodus documentation? Context I am currently playing around with multiple AI coders (so far, I used Github Copilot, aider and Cursor at work). I am still exploring, but they definitely are helpful, in particular for popular programming languages and libraries. Not so much for more niche environments like Opusmodus yet. However, this is something that we can change, e.g., by using RAG (retrieval augmented generation, i.e. letting some system automatically extract user query-relevant information from project-relevant sources and then automatically complement the query w…
- 5 replies
- 1k views
- 2 followers
-
Hi, Where is this file ? (defparameter *default-notation-editor* "MuseScore 4.app")
-
- 5 replies
- 558 views
- 2 followers
-
-
Is there a command to move the cursor to the end of a line of code? In word processors etc a standard shortcut is [cmd+arrow] to move between start/end of line, and [option+arrow] to move between words. In OM only the latter seems to work. Thanks!
- 5 replies
- 733 views
- 3 followers
-
In the video "Mapping Velocity to Pitch - How To in 100 Seconds", it is demonstrated how to apply MIDI velocities to a composition. However, one might just want to apply a certain velocity curve purely for a playback effect, without getting that many visually excessive dynamic markings in the actual score. I hope that is possible to achieve right now? Of course, one could later manually remove excessive markings in their preferred notation program. However, this is an inconvenience; moreover, during the compositional process within Opusmodus, you can see how it is an inconvenience to constantly see all those markings.
-
- 4 replies
- 526 views
- 1 follower
-
-
I am trying to add a new text attribute for half pedalling (later in my scoring application Dorico I can translate that into the proper pedalling notation) and then specify for playback the MIDI CC messages it would need to send (e.g., the new attribute half-pedal sets the damper-pedal CC set to 64). Naively, a simple solution seems to be to complement this half pedalling with a text attribute for releasing the pedal (rel-pedal sets damper-pedal to 0) as shown below. So, I added the following to my pianoteq sound set (besides defining these text attributes). :group omn full-pedal (Ped 127) half-pedal (Ped 64) rel-pedal (Ped 0) This is partially already …
-
- 5 replies
- 3.6k views
- 1 follower
-
-
I'm stuck. Why does the first example work but not the second? Thanks! (setf v1 '((-w h a4 d4) (h f4 e4 d4 q a4 g4) (q f4 g4 e a4 bb4 c5 a4 q bb4 h a4 q g4) (h a4 bb4 w a4))) First example: (loop for n from 1 to 4 collect (get-events '(1 2 (2..4)) v1)) ;; "works" Second example: (loop for n from 1 to 4 collect (get-events '(1 n (2..4)) v1)) ;; doesn't work, why? This is the error message: Error: In 1- of (n) arguments should be of type number. 1 (continue) Return a value to use. 2 Supply a new argument. 3 (abort) Return to top loop level 0.
- 7 replies
- 839 views
-
To start over with the program I've uninstalled the program. Now I can't download it. Attached error message. Itching to get started. @opmo let me know.
-
- 1 reply
- 284 views
- 1 follower
-
-
Hi there, How do you do a tonal transposition to stay in the same key? e.g. '(c4 d4 e4) => '(d4 e4 f4) Thanks.
- 1 reply
- 416 views
-
Hi, could someone help me? it seems to me that there is a problem bar 7, third beat. with the keyword step (2 1) (B should be cs5) (setf scale '(b3 cs4 d4 e4 fs4 g4 gs4 as4 b4)) (gen-divide 3 (pitch-melodize (harmonic-progression '(1 2 3 4 5 6 7 8 9) scale :base 1 :size 3 :step '((2 1))))) here is the output : OM 82 > harmonic-progression pitch-melodize :seed 368992 gen-divide ((b3 d4 e4) (cs4 e4 fs4) (d4 fs4 g4) (e4 g4 gs4) (fs4 gs4 bb4) (g4 bb4 b4) (gs4 b4 b4) (bb4 b4 cs5) (b4 cs5 d5)) it should be ((b3 d4 e4) (cs4 e4 fs4) (d4 fs4 g4) (e4 g4 gs4) (fs4 gs4 bb4) (g4 bb4 b4) (gs4 b4 cs5) (bb4 b…
-
- 2 replies
- 392 views
- 1 follower
-
-
Hello. I'm a blind composer who has taken an interest in your software. I want to test general accessibility, but I can't seem to download the thing. The download appears to be a text field, and pressing enter on the text field does nothing. Any help would be greatly appreciated. Actually, something I didn't try but it worked. For screen reader users, you must more directly immitate a mouse click. For NVDA users, use NVDA key+numpad enter to get it to work.
-
- 1 reply
- 365 views
- 1 follower
-
-
I would like to change with dictum the first event in the first bar ( or whatever) to a rest of the same length. I tried several things but could not do it. (setf omn2 '((5q fs4 p - bb3 f3 e4 -3q g4 c5 s eb5 mf a5 cs6 gs6) (5q gs6 f cs6 a5 eb5 - -s c5 g4 e4))) (dictum '( :do -5q :bar 1 :event 1 ) omn2) ;does not work. The length and not the rest is set. ;=>((5q fs4 p - bb3 f3 e4 -3q g4 c5 s eb5 mf a5 cs6 gs6) (5q gs6 f cs6 a5 eb5 - -s c5 g4 e4)) (dictum '( :do -q :bar 1 :event 1 ) omn2) ;same here ;=> ((q fs4 p -5q bb3 f3 e4 -3q g4 c5 s eb5 mf a5 cs6 gs6) (5q gs6 f cs6 a5 eb5 - -s c5 g4 e4)) A f…
- 3 replies
- 642 views
-
Hi, why the function doesn't work with 3 note chords? (setf mat'(c4e4g4 e4g4c5 g4c5e5)) (tapis de drop-voicing :type '(0)) → (c4e4g4 e4g4c5 g4c5e5) ?? (tapis de voicing drop :type '(1)) → (c4e4g4 e4g4c5 g4c5e5) ?? (tapis de drop-voicing :type '(2)) → (c4e4g4 e4g4c5 g4c5e5) ?? we can drop 3-note chords. (setf mat'(c4e4g4b4 e4g4b4c5 g4b4c5e5)) (tapis de drop-voicing :type '(0)) → (c4e4g4b4 e4g4b4c5 g4b4c5e5) ok (tapis de drop-voicing :type '(1)) → (e3c4g4b4 g3e4b4c5 b3g4c5e5) ok (tapis de drop-voicing :type '(2)) → (g3c4e4b4 b3e4g4c5 c4g4b4e5) ok (tapis de drop-voicing :type '(3)) → (c3g3e4b4 e3b3g4…
-
- 0 replies
- 240 views
- 1 follower
-