-
Posts
875 -
Joined
-
Last visited
Contact Methods
- Website URL
Profile Information
-
Location
Brasil
Recent Profile Visitors
11,349 profile views
-
JulioHerrlein reacted to a post in a topic: Opusmodus 3.0.29550 (Update)
-
JulioHerrlein reacted to a post in a topic: Opusmodus 3.0.29546 (Update)
-
Opusmodus workflow - MIDI Guitar and MIDI ENTRY
JulioHerrlein commented on JulioHerrlein's video in Workflow
Dear Erka, I tryed some older version of Jam origin software. The advantage of the 13 pin is to have one string in each midi channel. This is good for multitimbral stuff and also for input tablature in Finale with its channel filter. Each string goes directly to its right place. Thanks for the message ! All the best and Happy 2025 ! -
JulioHerrlein reacted to a comment: Opusmodus workflow - MIDI Guitar and MIDI ENTRY
-
JulioHerrlein reacted to a post in a topic: dictum and length to rest
-
JulioHerrlein reacted to a post in a topic: Lisp function
-
jon reacted to a post in a topic: Function to get complementary diatonic notes (or any type of set) in relation to a chord
-
Stephane Boussuge reacted to a post in a topic: Function to get complementary diatonic notes (or any type of set) in relation to a chord
-
Tablature (guitar) in Opusmodus ?
JulioHerrlein replied to JulioHerrlein's topic in Score and Notation
Hello, I didn´t try it. I need some explanation of the system about the tab layout option and how to find tablature clefs in the integrated MusicXML environment. Best, Julio -
I had this question before: Here is the answer by Janusz , back in 2021. Thanks, Janusz ! I´m obssessed by the same problems over and over. Best ! (let ((rem (ambitus '(c5 b5) (expand-tonality '((c5 major) (db5 major) (gb5 major))))) (super (ambitus '(c5 b5) '((d5 f5 a5 c6) (eb4 gb4 bb4 db4) (fs4 as4 cs4))))) (loop for s in super for r in rem collect (loop for i in s do (setf r (remove i r)) finally (return r))))
-
AM reacted to a post in a topic: Function to get complementary diatonic notes (or any type of set) in relation to a chord
-
Dear Friends, I´m trying to make a function to get the complementary diatonic set for a diatonic chord. For example, if you relate the key of C major (C D E F G A B) with the chord Cmaj7 (C E G B), the complementary set is (D F A). Elliott Carter did this a lot in his Harmony Book, making all kinds of complementarities. This works for comparing stuff. Is there something easier in the system ? For comparing a sequence of chords in relation to a sequence of tonalities for getting the difference ? (defun compare-list-pairs (list-pairs) (loop for (list1 list2) in list-pairs collect (set-difference list1 list2 :test 'equal))) (compare-list-pairs '(((c4 d4 e4) (c4 e4)) ((5 6 7 8 9) (5 7 8)))) ;> ((d4) (9 6)) If you want to work to the diatonic scales as integers, this can be useful, but maybe would be easier with embbeded tonality functions. (position-filter (pitch-to-integer '(e4 eb4 e4 eb4 b4 gb4 e4 db4)) '((0 2 4 5 7 9 11) (1 3 5 6 8 10 0) (2 4 6 7 9 11 1) (4 6 8 9 11 1 3) (5 7 9 10 0 2 4) (6 8 10 11 1 3 5) (7 9 11 0 2 4 6) (8 10 0 1 3 5 7) (9 11 1 2 4 6 (10 0 2 3 5 7 9) (11 1 3 4 6 8 10))) Any idea ? Thanks !
-
JulioHerrlein reacted to an event: LIMINA – Contemporary Music Festival Salzburg
-
opmo reacted to a post in a topic: Length-map keyword :repeat not working anymore...
-
JulioHerrlein reacted to a post in a topic: Length-map keyword :repeat not working anymore...
-
Yes, you are correct, I always try to make sure that the fault is not mine. However, there are many hidden little "secrets" that are not evident for me. In this I was interpreting :otherwise as an optional argument. I´ll never understand Opusmodus as good as you, but I like it a lot. Thanks a lot, Best Julio
-
JulioHerrlein reacted to a post in a topic: Length-map keyword :repeat not working anymore...
-
Now looks good. Thanks, Janusz (make-omn :length rv2 :pitch repitch2 :span :length :velocity (length-map len-map2 rv2 :otherwise '(mp) ) :articulation (length-map len-map1 rv2 :otherwise '(ord) )) result ((e e4 f stacc s g4 mf ord c5 ord) (s db4 mf ord cs5 ord gs4 ord f4 ord) (q fs4 mp ord) (-q) (-q) (s ab4 mf ord bb4 ord g4 ord gs4 ord) (s b3 mf ord d5 ord e fs4 f stacc) (-e s eb4 mf ord bb4 ord) (w d4 p<f>p long) (-q) (s c4 mf ord a4 ord d5 ord b4 ord) (h b3 p<f long) (-q) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (e bb3 f stacc c5 stacc) (s e4 mf ord e g4 f stacc s c5 mf ord) (s db4 mf ord cs5 ord e gs4 f stacc) (e fs4 f stacc s mf ord fs4 ord) (s ab4 mf ord e bb4 f stacc s g4 mf ord) (e b3 f stacc d5 stacc) (s eb4 mf ord e bb4 f stacc s eb4 mf ord) (s d4 mf ord d4 ord e f stacc) (e c4 f stacc s a4 mf ord d5 ord) (s b3 mf ord e. ord) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (s bb3 mf ord e. c5 ord) (q e4 mp ord) (q db4 mp ord) (e fs4 f stacc fs4 stacc) (q ab4 mp ord) (q b3 mp ord) (q eb4 mp ord) (e d4 f stacc d4 stacc) (e c4 f stacc a4 stacc) (s b3 mf ord e f stacc s mf ord) (s a3 mf ord a3 ord e f stacc) (e d4 f stacc s mf ord d4 ord) (s fs4 mf ord e f stacc s mf ord) (e bb3 f stacc c5 stacc) (s e4 mf ord e g4 f stacc s c5 mf ord) (s db4 mf ord cs5 ord e gs4 f stacc) (e fs4 f stacc s mf ord fs4 ord) (q ab4 mp ord) (q b3 mp ord) (s eb4 mf ord e bb4 f stacc s eb4 mf ord) (q d4 mp ord) (q c4 mp ord) (q b3 mp ord) (e. a3 mf ord s ord) (s d4 mf ord e f stacc s mf ord) (s fs4 mf ord fs4 ord e f stacc) (e bb3 f stacc s c5 mf ord bb3 ord) (s e4 mf ord e g4 f stacc s c5 mf ord) (e db4 f stacc cs5 stacc) (s fs4 mf ord e f stacc s mf ord) (s ab4 mf ord bb4 ord e g4 f stacc) (e b3 f stacc s d5 mf ord fs4 ord) (q eb4 mp ord) (-q) (-q))
-
I though otherwise was optional. Now it´s alternating mf and mp for the 16th notes... It should be all mf for 16th notes. And the time signature is changed for the breaking of the lists (in can be solved with omn to time signature. (make-omn :length rv2 :pitch repitch2 :span :length :velocity (length-map len-map2 rv2 :otherwise '(mp) ) :articulation (length-map len-map1 rv2 :otherwise '(mp) )) ((e e4 f stacc s g4 mf mp c5 mp) (s db4 mf mp cs5 mp gs4 mp f4 mp) (q fs4 mp ord) (-q) (-q) (s ab4 mf mp bb4 mp g4 mp gs4 mp) (s b3 mf mp d5 mp e fs4 f stacc) (-e s eb4 mf mp bb4 mp) (w d4 p<f>p long) (-q) (s c4 mf mp a4 mp d5 mp b4 mp) (h b3 p<f long) (-q) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (e bb3 f stacc c5 stacc) (s e4 mf mp e g4 f stacc s c5 mf mp) (s db4 mf mp cs5 mp e gs4 f stacc) (e fs4 f stacc s mf mp fs4 mp) (s ab4 mf mp e bb4 f stacc s g4 mf mp) (e b3 f stacc d5 stacc) (s eb4 mf mp e bb4 f stacc s eb4 mf mp) (s d4 mf mp d4 mp e f stacc) (e c4 f stacc s a4 mf mp d5 mp) (s b3 mf mp e. mp) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (s bb3 mf mp e. c5 mp) (q e4 mp ord) (q db4 mp ord) (e fs4 f stacc fs4 stacc) (q ab4 mp ord) (q b3 mp ord) (q eb4 mp ord) (e d4 f stacc d4 stacc) (e c4 f stacc a4 stacc) (s b3 mf mp e f stacc s mf mp) (s a3 mf mp a3 mp e f stacc) (e d4 f stacc s mf mp d4 mp) (s fs4 mf mp e f stacc s mf mp) (e bb3 f stacc c5 stacc) (s e4 mf mp e g4 f stacc s c5 mf mp) (s db4 mf mp cs5 mp e gs4 f stacc) (e fs4 f stacc s mf mp fs4 mp) (q ab4 mp ord) (q b3 mp ord) (s eb4 mf mp e bb4 f stacc s eb4 mf mp) (q d4 mp ord) (q c4 mp ord) (q b3 mp ord) (e. a3 mf mp s mp) (s d4 mf mp e f stacc s mf mp) (s fs4 mf mp fs4 mp e f stacc) (e bb3 f stacc s c5 mf mp bb3 mp) (s e4 mf mp e g4 f stacc s c5 mf mp) (e db4 f stacc cs5 stacc) (s fs4 mf mp e f stacc s mf mp) (s ab4 mf mp bb4 mp e g4 f stacc) (e b3 f stacc s d5 mf mp fs4 mp) (q eb4 mp ord) (-q) (-q)) No nils in this list, I put the optional otherwise but still getting sometimes mf and mp in the 16th notes... (progn (setf rv2 '((1/8 1/16 1/16) (1/16 1/16 1/16 1/16) (1/4) (-1/4) (-1/4) (1/16 1/16 1/16 1/16) (1/16 1/16 1/8) (-1/8 1/16 1/16) (1) (-1/4) (1/16 1/16 1/16 1/16) (1/2) (-1/4) (1/4) (1/4) (1/4) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/16 1/8 1/16) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/16 3/16) (1/4) (1/4) (1/4) (1/16 3/16) (1/4) (1/4) (1/8 1/8) (1/4) (1/4) (1/4) (1/8 1/8) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/16 1/8 1/16) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/4) (1/4) (1/16 1/8 1/16) (1/4) (1/4) (1/4) (3/16 1/16) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/16 1/8 1/16) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/4) (-1/4) (-1/4))) (setf repitch2 '((e4 g4 c5) (db4 cs5 gs4 f4) (fs4) (ab4 bb4 g4 gs4) (b3 d5 fs4) (eb4 bb4) (d4) (c4 a4 d5 b4) (b3) (a3) (d4) (fs4) (bb3 c5))) (setf len-map2 '((e f) (s mf) (e. mf) (h p<f) (h. p<f) (w p<f>p) (wq p<f>p) (wh p<f>p) (wh. p<f>p) (ww p<f>p))) (setf len-map1 '((e (stacc)) (q (ord)) (h (long)) (h. (long)) (w (long)))) (make-omn :length rv2 :pitch repitch2 :span :length :velocity (length-map len-map2 rv2 :otherwise '(mp) ) :articulation (length-map len-map1 rv2 :otherwise '(mp) )) ) result ((e e4 f stacc s g4 mf mp c5 mp) (s db4 mf mp cs5 mp gs4 mp f4 mp) (q fs4 mp ord) (-q) (-q) (s ab4 mf mp bb4 mp g4 mp gs4 mp) (s b3 mf mp d5 mp e fs4 f stacc) (-e s eb4 mf mp bb4 mp) (w d4 p<f>p long) (-q) (s c4 mf mp a4 mp d5 mp b4 mp) (h b3 p<f long) (-q) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (e bb3 f stacc c5 stacc) (s e4 mf mp e g4 f stacc s c5 mf mp) (s db4 mf mp cs5 mp e gs4 f stacc) (e fs4 f stacc s mf mp fs4 mp) (s ab4 mf mp e bb4 f stacc s g4 mf mp) (e b3 f stacc d5 stacc) (s eb4 mf mp e bb4 f stacc s eb4 mf mp) (s d4 mf mp d4 mp e f stacc) (e c4 f stacc s a4 mf mp d5 mp) (s b3 mf mp e. mp) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (s bb3 mf mp e. c5 mp) (q e4 mp ord) (q db4 mp ord) (e fs4 f stacc fs4 stacc) (q ab4 mp ord) (q b3 mp ord) (q eb4 mp ord) (e d4 f stacc d4 stacc) (e c4 f stacc a4 stacc) (s b3 mf mp e f stacc s mf mp) (s a3 mf mp a3 mp e f stacc) (e d4 f stacc s mf mp d4 mp) (s fs4 mf mp e f stacc s mf mp) (e bb3 f stacc c5 stacc) (s e4 mf mp e g4 f stacc s c5 mf mp) (s db4 mf mp cs5 mp e gs4 f stacc) (e fs4 f stacc s mf mp fs4 mp) (q ab4 mp ord) (q b3 mp ord) (s eb4 mf mp e bb4 f stacc s eb4 mf mp) (q d4 mp ord) (q c4 mp ord) (q b3 mp ord) (e. a3 mf mp s mp) (s d4 mf mp e f stacc s mf mp) (s fs4 mf mp fs4 mp e f stacc) (e bb3 f stacc s c5 mf mp bb3 mp) (s e4 mf mp e g4 f stacc s c5 mf mp) (e db4 f stacc cs5 stacc) (s fs4 mf mp e f stacc s mf mp) (s ab4 mf mp bb4 mp e g4 f stacc) (e b3 f stacc s d5 mf mp fs4 mp) (q eb4 mp ord) (-q) (-q))
-
JulioHerrlein reacted to a post in a topic: Length-map keyword :repeat not working anymore...
-
JulioHerrlein reacted to a post in a topic: Length-map keyword :repeat not working anymore...
-
Dear Friends, I'm back to this topic again and revising the docs. There is an example that called my attention due to the results. Here it is (from length-map docs): (setf omn '((e c4 fff cs5 f q d4 f ds5 p s f4 p fs5 p c5 p pp) (s cs4 p f d4 f e eb5 p f4 p eb4 f h d3 p ff))) (length-map '(((s e) (stacc det)) (h (tr1 tasto+trem))) omn :otherwise 'ord :rnd t :group t) ;; First evaluation ((e c4 fff stacc cs5 f stacc q d4 ord ds5 p ord s f4 stacc fs5 stacc c5 stacc c5 pp stacc) (s cs4 p stacc f stacc d4 stacc e eb5 p stacc f4 stacc eb4 f stacc h d3 p tasto+trem ff tasto+trem)) ;; Second evaluation - completely mess the lengths ((w c4 fff tie) (wet c4 fff q.t cs5 f ord+tie) (whs cs5 f tie) (e. cs5 f wq. d4 tie) (h.t d4 ds5 p stacc+tie) (wq. ds5 p e. f4 tie) (whs f4 tie) (q.t f4 wet fs5 tie) (w fs5 hs c5 tie) (whs c5 tie) (t c5 wht pp tie) (he c5 pp h... cs4 p tie) (we.. cs4 p qs. f tie) (whs cs4 f tie) (q cs4 f wqs d4 tie) (h.s. d4 he.. eb5 p tie) (wqe. eb5 p e f4 tie) (whs f4 tie) (q... f4 ws. eb4 f tr1+tie) (ws eb4 f h d3 p tie) (whs d3 p tie) (s. d3 p wq... mf tie) (he. d3 mf)) Sometimes the evalaution returns the second example, messing with the lengths. All the best ! Julio
-
Pitch-class search function from ChatGPT
JulioHerrlein replied to HenryT's topic in Function Examples
Have you tried the pcs-sub-relation function ? -
Yes, just having the notes played (with a GM piano sound) while pressing the keys for hearing and choosing the notes. In this way, the composer can use only Opusmodus while composing. Just the sound of pitches in real time (while pressing the keys), with on-off option and maybe option to choose the sound used to monitor. In my case, for hearing the notes, I have to setup Reaper (or other DAW) with a VST piano and route the midi output via virtual midi port (loopmidi) to Opusmodus. Best !
-
Dear Friends, I have a simple suggestion: - An option for assigning some sound for live playing in the midi entry option. Just a sound like a piano, for monitoring the midi input from the midi controller. To make this, I usually have to open a DAW, put a VST sound, redirect to Opusmodus via virtual port. - Sometimes is nice to work only with Opusmodus gm midi simple sounds just to sketch and reserving a better surprise of hearing with better libraries for later in the process. Best Julio
-
Stephane Boussuge reacted to a comment: Epic Action Game Live Coding session with OM
-
Epic Action Game Live Coding session with OM
JulioHerrlein commented on Stephane Boussuge's video in Live Coding
Very nice idea for generating sketches for movies and games ! -
Dear friends, I found this today. The red playback bar in the snippet does not follow the repeats and end1 and end2 in this example. The sound and score is right, just the red playback bar of the notation engine does not follow correctly. '((-h. q b5) (repeat (q g5 a5 e. g5 s fs5 e. e5 s fs5) (s g5 a5 g5 a5 e. tr2-x t g5 a5 q b5 e. b5 s c6) (q d6 s c6 e b5 s a5 q g5 e a5 b5) (end1 (qs c6 t d6 e6 s c6 b5 q b5 comma b5)) (end2 (qs c6 t d6 e6 s c6 b5 q b5 comma d6))) (q e6 e d6 t c6 b5 s c6 e b5 a5 g5 a5) (q b5 a5 g5 b5) (q b5 b5 a5 g5) (h fs5 e5) (q g5 fs5 h e5) (h. d5 q d5) (q g5 g5 a5 a5) (h. b5 q c6) (q b5 a5 g5 e. e5 s fs5) (q g5 fs5 e5)) REPEAT_BUG.mp4
-
AM reacted to a post in a topic: Opusmodus / A musical reflection tool
-
Opusmodus / A musical reflection tool
JulioHerrlein replied to AM's topic in Strategies and Methods to Control Complexity
Dear André, Thanks for sharing your thougths and methods ! All the best ! Julio Herrlein -
Aligning Pitches with a Rhythm Across 12 Bars
JulioHerrlein replied to david's topic in Function Examples
Hi, David Please, try this (setf alice-chord4 '((s fs4 g4 b4 d5)(s bb4 b4 d5 fs5)(s cs5 d5 fs5 a5)(s f5 fs5 a5 cs6);GM7 (s f4 fs4 a4 c5) (s ab4 a4 c5 e5)(s bb4 b4 eb5 fs5)(s d5 eb5 fs5 a5);F#m7b5/B7 (s eb5 e5 g5 b5) (s fs4 g4 b4 d5) (s gs4 a4 cs5 e5)(s c5 cs5 e5 g5);Em7/A7 (s cs5 d5 f5 a5)(s e5 f5 a5 c6)(s fs5 g5 b5 d6)(s bb4 b4 d5 f5);Dm7/G7 (s b4 c5 e5 g5)(s eb5 e5 g5 bb5)(s fs4 g4 bb4 d5)(s a4 bb4 d5 fs5);C7 (s b4 c5 eb5 g5)(s d5 eb5 g5 bb5)(s e5 f5 a5 c6)(s ab5 a5 c6 eb6);Cm7/F7 (s bb4 b4 d5 fs5)(s cs5 d5 fs5 a5)(s eb5 e5 gs5 b5)(s g5 gs5 b5 d6);Bm7/E7 (s a4 bb4 cs5 f5)(s c5 db5 f5 ab5)(s d5 eb5 g5 bb5)(s fs5 g5 bb5 db6);Bbm7/Eb7 (s gs4 a4 c5 e5)(s b4 c5 e5 g5)(s eb5 e5 g5 b5)(s fs5 g5 b5 d6);Am7 (s cs5 d5 fs5 a5)(s f5 fs5 a5 c6)(s gs5 a5 c6 e6)(s b4 c5 e5 gs5);D7 (s fs5 g5 b5 d6)(s bb4 b4 d5 fs5)(s eb5 e5 gs5 b5)(s g5 gs5 b5 d6);GM7/E7 (s gs4 a4 c5 e5)(s b4 c5 e5 g5)(s cs5 d5 fs5 a5)(s f5 fs5 a5 c6)));Am7/D7 (make-omn :pitch (find-bar '(1 4 8 12 16 20 24 28 32 36 40 44) (omn :pitch alice-chord4)) :length (omn-to-time-signature (gen-repeat 12 '(e. s -q -q e. s -q -q e. s -q -q e. s -q -q)) '(4 4)) ) Best, Julio