-
Posts
875 -
Joined
-
Last visited
Content Type
Forums
Events
Store
Video Gallery
Everything posted by JulioHerrlein
-
Thanks again, Stephane ! Yes, this is the way I was thinking: preparing the notes beforehand and use the counterpoint function to have a more flexible way to control the harmony. I was doing everything manually, using mechanisms and processes to control the things, but this way can be easier. For harmony control is just a matter of distributing the chord tones on the harmony lists. The rest is finding appropriate textures. Stephane, if you permit, I have one more question: How the :global-methods "dyn" works (setf sec-b (counterpoint patterns dictum-b :global-methods '((dyn fl) (dyn cl) (t-12 dyn hn) (t-12 dyn vc)) :global-polyphony '((10 p) (1 13)) :iterate t)) I see expressions like that in counterpoint examples, but I don´t how "dyn" is defined. I found something like this, in example 4 (setf globals '((q12345 dyn fl) (q12345 dyn ob) (q12345 t-12 dyn bcl) (q12345 dyn hp))) Thanks a lot ! Julio
-
Thanks a lot, Stephane ! This is interesting ! I´m trying to just provide some general countour in a series of patterns and then manipulate the pitches using this harmony keyword. Sometimes., looks like providing just the general contour in the motives in the patters (or even the rhythms with repeated notes) is enough, because the notes are rounded to the harmony proovided. I just wanted to know how the notes of the patterns are rounded to the harmonic-path in the counterpoint. It´s rounded around the closest path ? Best and thanks again ! PS Maybe this is the best way for composing stuff in Opusmodus (specially longer and structured music). Julio
-
Hello, Friends I´m exploring this interesting counterpoint function. When I write the parameter for the keyword :harmony note for note everything works fine, but when I substitute the chords of the :harmony keyword with the content of the variable setf harmony 2 it won´t work, giving the following error: > Error: (harmony2) is not a tonality or a chord. > While executing: %make-tonality, in process Listener-1(7). > Type cmd-. to abort, cmd-\ for a list of available restarts. > Type :? for other options. I´d like to use the :harmony keyword in a way that I can process the chords in other place (by MIDI Entry or generating arrays or pitch-demixing a chorale, etc) and just changing the variable harmony2 to applying different harmonies to the same contrapuntal texture or different texture to the same harmony, etc. Best, Julio Here is the whole thing, for easy debugging (progn ;; Global SEED (init-seed 15342) ;; Patterns (setf ;p1 '((-s c1 p g2 cs3) (3q fs3 - bb3) (-3q eb4 mf a4) (-s b4 d5 f5) ; (-5q gs5 e6 c1 mp g2) (-3q cs3 fs3 mf) (s bb3 - eb4 p a4) (s b4 mp d5 f5 -)) ;p2 '((5q bb2 mf g3 c4 e3 a3) (5q d4 mp fs4 gs4 b4 p cs5) (s f5 eb6 bb3 g3)) ;p3 '((5q fs4 p - bb3 f3 e4) (-3q g4 c5) (s eb5 a5 mf cs6 gs6) ; (5q gs6 pp cs6 mf a5 eb5 -) (-s c5 g4 e4)) ;p4 '((5q bb3 p a4 c6 cs6 cs6) (s g7 mp a6 c6 e5 - d4 cs4 g3 3h fs3 eb3 -) ; (-3q b6 pp a6 5q c6 - d5 bb4 b3 -s gs3 f1 eb3)) p5 '((5q c2 mf g2 e2 a2 b2) (5q fs5 p gs5 bb5 b5 cs5 mp) (s f5 eb6 c6 p g6)) p6 '(s a4 p e b5 s gs3 3h f3 3q e2 5h eb4 5q g5 fs2 f4) p7 '(5q cs5 mf d5 5h eb5 5q f5 fs5 gs5 5h a5 f 5q bb5 5h b5 5q cs6 5h) p8 '(t bb4 mp cs6 c5 b5 bb4 cs6 a3 gs2 3q a2 gs5 fs4) ) (setf p1 '(e d7 d7 d7 d7 d7 d7 d7 d7 s d6 d6 d6 d6 d6 d6 d6 d6 h)) (setf p2 '(e d5 d5 d5 d5 d5 d5 d5 d5 s d4 d4 d4 d4 d4 d4 d4 d4 h)) (setf p3 '(e d4 d4 d4 d4 d4 d4 d4 d4 s s s s s s s s h d3)) (setf p4 '(e d2 d2 d2 d2 d2 d2 d2 d2 s s s s s s s s h d1)) ;(pitch-transpose 2 p4) (setf patterns (list p1 p2 p3 p4 p5 p6 p7 p8)) (setf harmony2 '((a3b3e4gs4) (b3e4gs4a3) (e4gs4a3b3)(gs4a3b3e4))) (setf dictum-a '(((1 2 3 4) :harmony harmony2 :tempo 72) ((1 2 3 4) :harmony ((a3b3e4gs4) (b3e4gs4a3) (e4gs4a3b3)(gs4a3b3e4)) :tempo 72) ((2 1 3 4) :harmony ((a3b3e4gs4) (b3e4gs4a3) (e4gs4a3b3)(gs4a3b3e4)):methods (- ri - -) :tempo 72) ((3 2 1 4) :harmony ((a3b3e4gs4) (b3e4gs4a3) (e4gs4a3b3)(gs4a3b3e4)):methods (a d2 r -) :tempo 72) ((4 3 2 1) :harmony ((a3b3e4gs4) (b3e4gs4a3) (e4gs4a3b3)(gs4a3b3e4)) :tempo 72) ((4 2 1 4):harmony a3b3e4gs4) ((2 3 1 4):harmony a3b3e4gs4) ((3 2 1 4):harmony a3b3e4gs4) ((- - - -) :span 1/4 :harmony a3b3e4gs4)) dictum-b '(((- 5 2 -) :span 3/4 :methods (- ri - -) :tempo 64) ((- 2 2 6) :span 3/4 :methods (- d d3 -) :tempo (:rit 80 56 1/64)) ((4 6 6 8) :span 2/4 :methods (a d2 r -) :tempo 88) ((- - - -) :span 1/4)) dictum-c '(((7 4 - 5) :methods (a d i ?) :extend (s - s -) :tempo 64) ((1 2 2 3) :methods (a d i -) :extend (s - s -))) dictum-d '(((- 3 - -) :methods (- - - -) :tempo 80) ((- 2 - -) :methods (- - - -)) ((- 4 - -) :methods (< - - -)) ;((1 1 1 1) :methods (da ad (r d5) (i d2)) :polyphony (7 o) :tempo 72) ) ) ;; Sections (setf sec-a (counterpoint patterns dictum-a :global-methods '((dyn fl) - - -))) (setf sec-b (counterpoint patterns dictum-b :global-methods '((dyn fl) (dyn cl) (t-12 dyn hn) (t-12 dyn vc)) :global-polyphony '((10 p) (1 13)) :iterate t)) (setf sec-c (counterpoint patterns dictum-c :global-methods '((dyn fl) (dyn cl) (t-12 dyn hn) (t-12 dyn vc)) :global-polyphony '((7 p) (1 13)) :iterate t)) (setf sec-d (counterpoint patterns dictum-d :global-methods '((dyn fl) (dyn cl) (dyn hn) (dyn vc)))) ;; Assemble Voices (assemble-voices 'voice sec-a sec-b sec-c sec-d) (ps 'gm :sq ;(list (pitch-transpose 12 vh1-2) vh2-2 vh3-2 vh4-2) (list (pitch-transpose 0 voice1) (pitch-transpose 0 voice2) (pitch-transpose 0 voice3) (pitch-transpose 0 voice4) #| (pitch-transpose 0 (ambitus 'violin voice1)) (pitch-transpose 0 (ambitus 'violin voice2)) (pitch-transpose 0 (ambitus 'viola voice3)) (pitch-transpose -12 (ambitus 'cello voice4)) |# ) :key-signature 'atonal ;;;obs:it´s possible to bypass the time signature we did before opening the time signature here ;;time-signature timesig-proc are processed lists of time-signatures ;:time-signature timesig ;:tempo 90 :flexible-clef nil :title ;:flexible-clef nil "Quartet Harmony Control - JULIO HERRLEIN" :display :window) ;; Global SEED back to NIL (init-seed nil) )
-
Good idea ! Thanks
-
Dear All, Is there some way to play a score in "preview score" (ps) function with all 4-instruments playing (sounding), but displaying in the score just one (or just a few) chosen instruments ? This can be good for pedagogic purpose or for "debugging" a composition. Best, Julio
-
Dear All, Sometimes you are working on a very cluttered file with many setf variables that you need to evalate before starting. Is there a way to put a shortcut inside and .opmo score to evaluate a set of code in a different .opmo score, without having to move to the other document to evaluate it ? Best, Julio
-
Hey, people ! I´m doing a function to extract the complementary set of notes. For example: 1) Specify a set of notes, like a chord, Dm7 (setf note-list '(d5 f5 a5 c6)) Specify a tonality, like Cmajor or D dorian (same notes) (expand-tonality '(c5 major)) Now, I want a function that gives me all the other available notes from the mode, except the chord tones (the first set of notes). So, this function gives me exactly what I need (for ONE tonality at a time and ONE chord at a time): (let ((rem (expand-tonality '(c5 major))) (super (ambitus '(c5 b5) note-list))) (loop for i in super do (setf rem (remove i rem)) finally (return rem))) Ok, this give me the right result, I.E., the complementary set of notes of C major in relation to Dm7 => (e5 g5 b5) The question is simple: How can I do it for a list with many tonalities and many chords. How to do this recursively in nested lists, like (setf note-list '((d5 f5 a5 c6)(eb4 gb4 bb4 db4)(fs4 as4 cs4))) to sucessive tonalities, like: (expand-tonality '((c5 major) (db4 major) (gb4 major))) Since this WON´T work (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 i in super do (setf rem (remove i rem)) finally (return rem))) The expected result, if the above worked would be: ((e5 g5 b5) (f5 ab5 c5) (gs4 cb5 ds5)) Thanks in advance !! Best ! Julio
-
Function to count positive rhythm values of an OMN list
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
Thanks a lot, Stephane ! This is interesting for getting lists ordered ! Best ! Julio -
Dear Friends, I think a good companion to the gen-divide option to count rests would be a function that counts the positive rhythm items (the positive value attacks, excluding the pauses). It would be great to calculate the size and to align rhythms and its groupings for later span processing of lists related to pitches (or any other use you might think). Is there already a function like this: GET-COUNT-ATTACKS (get-count-attacks '((1/8 7/8) (1/8 7/8) (1/4 1/12 1/12 1/12 3/16 5/16) (-3/8 1/8 1/4 -1/8 1/8))) would return: (2)(2)(7)(3) or maybe (2 2 7 3) in flatten version Best, Julio I think (get-count omnseq :length :note) do the job... Best
-
A.S. Mailbox (three serial miniatures for string quartet) dur: circa 4´30 Composer: Julio HERRLEIN Porto Alegre - Jun/2021 I. Email from Anton II. [SPAM] Re: Hauer III. Letter from Alban A.S. (Arnold Schoenberg) Mailbox are a set of three miniatures for string quartet using 12-tone serial techniques and parametric composition processes. The idea is a imaginary mailbox of Schoenberg dialogues with his main disciples Webern and Berg, and also Hauer, his rival in the creation of a 12-tone composition method. All the pieces are (loosely) based in the same all interval 12-tone row: c4 eb4 a4 db4 b4 ab4 g4 d4 e4 f4 bb4 gb4 PERFORMANCE NOTE: The score and parts accidentals favor the FLATS (b) for easier enharmonic reading. Some of the uses of the tone row are also related to the rhythmic span of the orchestration and the algorithmic method for spreading the tones through the lisp lists in the Opusmodus software. The first miniature “Email from Anton” are inspired by the pointilistic textures used by Webern in his op. 28. In a later section, the textures are intensified by melodic figures and tremolos across the instruments of the quartet. The second miniature “[SPAM] Re: Hauer” is an imaginary email from Hauer (lost in “Arnie´s” spam box…) where he shows to A.S. his klangreihen method (as actually described by Dominik SEDIVÝ, 2011, pp. 25-30) to harmonize and make a smooth parsimonious voice-leading of a 12-tone row. The last piece “Letter from Alban” set up some 6-attack melodic motifs based on the hexachords of the basic row, combined with rhythmic ostinato textures of accompaniment and sweet chords derived from retrograde version of the row. All the best !! Thanks to everyone in this forum who have patience with me ! Julio Herrlein, 2021/JUNE
-
OM 2.2 is "damaged", won't launch after installation
JulioHerrlein replied to Stoney's topic in Support & Troubleshooting
Just installed the last file with NO PROBLEMS at all ! Thanks ! -
OM 2.2 is "damaged", won't launch after installation
JulioHerrlein replied to Stoney's topic in Support & Troubleshooting
I had the same problem in EL CAPITAN 10.11 TRY THIS: 1) Download 2) Copy to a desktop folder like "Opusmodus_22" 3) unzip inside this folder 4) Right-Click Copy "opusmodus.app" 5) Go to applications folder in finder 6) Right-click paste opusmodus 7) Choose "replace" the old opusmodus 8.) THIS IS THE THING DID NOT HAPPENED BEFORE: OSX ask for your admin password. For some reason it did not asked before... Probably this was causing the permission problems... It´s very important that OSX ask your admin password !! 8.) After pasting it to applications folder, delete the de.iproj folder inside resources 9) empty the trash 10) Right-click OPEN over opusmodus 11) Put the serial 12) DONE ! -
audio "Covid" for String quartet
JulioHerrlein replied to Stephane Boussuge's topic in Made In Opusmodus
Dear Stephane, Thanks ! Hope you stay well and healthy ! Congrats for the music ! Best, Julio -
Any templates for Garritan Jazz and Big band 3 ?
JulioHerrlein replied to JulioHerrlein's topic in Library Setup
Yes, I will. Just checking if somebody already did. Thanks ! -
Dear Friends, Is there any templates for Garritan Jazz and Big Band 3 ? Some lisp files with correct keyswitches for this ? Best, Julio
-
Inspiring Idea For Rhythm (with Nested Tuplets)
JulioHerrlein replied to JulioHerrlein's topic in Function Examples
Thanks !! Best ! But, NESTUP is cool/fun and works in real time. OpenMusic is kinda laggy stuff -
INSPIRING IDEA FOR RHYTHM (Nested Tuplets) Nestup [[]_[]] NESTUP.CUTELAB.NYC Nestup, a Language for Musical Rhythms
-
One remark, It´s important, in the midi export, to filter things by TRACK and not only BY instrument. The only reason I need midi files is to take the articulation keyswitches. A string quartet midi file opens in Musescore like four piano staves. The upper stave are the notes and the lower are the keyswitches. I just delete the treble clef notes and get the bass clef keyswitches to paste onto my xml version of the same snippet / score, etc. I have a blank template with the staves for voices and staves for keyswitches. I paste the keyswitches slightly earlier (like a 64th or 32nd note earlier) to activate the keyswitches before the note attacks. It´s kind of weird and labourious but the playback is magnific and worth the effort. So, something like this would be cool (musicxml-to-editor :track (2 4 6 8)) Even cooler with an option of playing a little earlier (like a 64th note earlier (musicxml-to-editor :track (2 4 6 8) :offset -1/64) Best ! Julio
-
Very nice idea, Daniel !! Nice to see more people from Brasil, here ! (specially a student from our University !! ) All the best ! Julio