j111 Posted January 21 Share Posted January 21 I've downloaded the trial version of Opusmodus, and it looks like exactly what I'm looking for. I'm having trouble running almost all of the code examples though. (M1 MacBook, Ventura 13.1) For example, I copied the score on this page and pasted it into a new opmo file. (setf pitches '(c4 cs4 fs4 g4 c5)) (setf p-transp (pitch-transpose (pitch-to-integer pitches) (gen-repeat 5 (list pitches)))) (setf r-transp (gen-retrograde p-transp :flatten t)) (setf c-ambitus (ambitus '(c2 c3) p-transp)) (setf p-ambitus (ambitus '(c2 c3) p-transp :type :flat-invert)) (setf s-ambitus (ambitus '((c2 c3) (b2 f3) (g3 cs4) (fs4 g5) (c4 c5)) p-transp)) (setf lengths (span p-transp '(1/8))) (setf interlude (span s-ambitus '(1/16))) (setf dynamics (mclist '(p mp mf f ff))) (setq r-dynamics (mclist '(ff f mf mp p))) (setf p-rh1 (make-omn :length lengths :pitch p-transp :velocity dynamics)) (setf p-lh1 (make-omn :length lengths :pitch c-ambitus :velocity dynamics)) (setf p-rh2 (make-omn :length interlude :pitch s-ambitus :velocity r-dynamics)) (setf p-lh2 (gen-pause p-rh2 :section '(0 1 2 3 4))) (setf p-rh3 (make-omn :length lengths :pitch r-transp :velocity dynamics)) (setf p-lh3 (make-omn :length lengths :pitch p-ambitus :velocity dynamics)) (setf rh-1 (assemble-seq p-rh1 p-rh2 p-rh3)) (setf lh-1 (assemble-seq p-lh1 p-lh2 p-lh3)) (setf timesigs (get-time-signature rh-1 :group '((5)))) (def-score lesson-16 (:key-signature 'chromatic :time-signature timesigs :flexible-clef t :tempo 80 :layout (piano-layout 'piano-rh 'piano-lh)) (piano-rh :omn rh-1 :channel 1 :sound 'gm :program 'acoustic-grand-piano) (piano-lh :omn lh-1) ) Then I save the file and run it with Tools -> Evaluate Score -> Notation. That produces an error like this: Maybe some functions were removed from the software since the tutorials were written? It looks like a function there rnd-range doesn't exist. If I change rnd-range to gen-integer it gets me past that point in the code, but then it doesn't recognize the variable line-rnd which was defined in the line above where it's used. In this screenshot, I've defined line-rnd in the REPL, but then when I try to use it, the variable says that it's unbound. I can define and use other variables though: Most of the code examples I've tried don't run. Am I doing something wrong? I'm not very familiar with lisps, but I do a bit of computer programming in other languages. Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.