Jump to content

Turing Piano (Julio Herrlein)

Recommended Posts

Dear Friends,


I'd like to share a composition all made in Opusmodus.

The composition is part of the Portfolio of my Doctoral Dissertation.

I'd like to thank you so much, Opusmodus and the support of you

 here in this forum was amazing !!

Love you all !!


TURING PIANO (Julio Herrlein)



Here is the commented code for the First Section:


;PITCHES – The pitch structure are based on "chevron-like" patterns. This can be related to some

 Xenakis ideas: the arborescences, the music as a plot idea.


(setf patpit (integer-to-pitch (gen-integer-step 0 68 '(1 -2 3 -4 5 -6 7 -8 9 -10 11))))
(setf patpit2 (integer-to-pitch (gen-integer-step 0 68 '(11 -10 9 -8 7 -6 5 -4 3 -2 1))))


;;; This interval pattern leads to an infinite ascending movement, like the picture below:



;;; After that, I decided to restrict the ambitus of the pattern, otherwise it goes ascending forever. I did the restriction

 thinking  in the hands of the pianist, in a way to not collide or crossing the hands.



;;;After the ambitus restriction, the next step was find some partitions to make some chords for the piece, so

each hand have a diferent partition of the chevron-like pattern, like below


(setf pitpartition (ambitus '(g3 c6)(chordize-list (gen-divide '(1 1 1 3 1 1 1 2) patpit))))
(setf pitpartition2 (ambitus '(g1 g3)(chordize-list (gen-divide '(2 1 1 1 1 2 1 1 1 1 1 1 1 1) patpit2))))

;;; Next, i decided on the Rhythms to use. The rhythms are complementary, i.e., each hand plays on the

silence of the other, using the following pattern:




DIGRESSION: The FORTE NUMBERS are part of my dissertation that makes the conversion of the entire

 Forte sets onto Rhythms modulo 12.

The dissertation (in portuguese) can be downloaded HERE:

Das alturas ao ritmo : teoria dos conjuntos rítmicos como ferramenta composicional

From pitches to rhythm: rhythmic set theory as a compositional tool.


This doctoral dissertation is divided into two parts: the first deals a rhythmic set theory, and the second contains the portfolio of compositions developed during this period of studies. This dissertation presents a system of rhythmic organization parallel to the musical set theory pitch class organization FORTE (1973), as well as an adaptation of the time-point-system (BABBITT, 1962). From the standpoint of the traditional set theory, and also from the diatonic set theory, this unified approach allows to estabilish a connecting tissue of basic aspects: from the harmony and chords symbols to the rhythmic organization. At one time, in a complete catalog, the families of pitch class sets and chord symbols are related to their respective rhythmic counterparts. The musical motivation for this research came from my interest in the swinging and groovy repetitive rhythms called timelines (TOUSSAINT, 2013), commonly used in popular music. These dancing timelines have properties similar to those of the diatonic sets, and for this reason, this dissertation presents some properties of the diatonic pitch class sets, drawing a parallel with their rhythmic counterparts. These relationships also appear in the portfolio of compositions, characterizing some procedures used. The portfolio of compositions, which includes a composition for symphony orchestra, is presented form the standpoint of a duality between transparency and opacity. This duality address the essential differences in the audibility of the results from various composition techniques. This study of Rhythmic Set Theory will serve as an analytical approach of my compositional output in popular music, with a systematic way to understant and to extrapolate some aspects already used in my practice as composer and improviser.


Here is the rhythm used in Turing Piano (with Forte numbers and rotations)




(setf ritmo1 (gen-repeat 10 '(s s -s s s -s -s -s s -s -s s -s s -s -s s -s s -s -s -s s -s)))
(setf ritmo1b (length-invert ritmo1 :omn t))

; DINAMICS: Following the parametric stuff, I decided to set the dynamics, according to the harmonic density, i.e.

the more notes, the more louder.




(setf din1 (span pitpartition '(p p p ff p mf pp ff)))
(setf din2 (span pitpartition2 '(f p p p p ff p p ff pp pp f mf mf)))

;ASSEMBLING of the materials


(setf lhmat1
       :length ritmo1
       :pitch (pitch-transpose 4 pitpartition)
       :velocity din1))
(setf rhmat1
       :length ritmo1b
       :pitch (pitch-transpose 4 pitpartition2)
       :velocity din2))

;MONTAGE of music blocks (assemblage)


(setf pianoassemblerh (assemble-seq lhmat1))
(setf pianoassemblelh (assemble-seq rhmat1))

;;;SCORE- Layout


(def-score Miniatura-pno1
           (:key-signature 'atonal
            :time-signature '(3 4)
            :tempo 85
            :octave-shift '(c2 c6)
            :layout (grand-layout 'pno :all-accidentals 'all))
  (pno :omn (merge-voices lhmat1 rhmat1)
       :channel 1
       :sound 'gm
       :program 0)







Link to post
Share on other sites

Fantastic,very insightful....thanks for sharing! Visual patterns as compositional approach are one of my interests, as is the idea of organizing rhythm into 'scales' ;-)


Please inform if an English translation of main dissertation becomes available (though the excellent illustrations and footnotes in English in current version provide plenty of food for thought as it is, especially as many of your references are on already on my bookshelf ;-))

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Topics

    • By Stephane Boussuge
      Here's a new piece made in Opusmodus.
      The pdf itself is raw output of Opusmodus, I've just added Title, name etc... with PdfExpert software.
    • By JulioHerrlein
      Dear All,
      I'm trying to find a suitable workflow to make my choices easier.
      One idea was to compose over a piano reduction, for easier manipulation.
      Here's a way of doing that, with comments.
      The MIDI FILE output is like this. I did NO EDITIONS at all in Musescore.This is the video of the MIDI output.
      The XML output is the piano reduction.
      Very convenient !

      str_4tet_opusmodus.mov ;;;SEV CHORDS Basic Functions ;;;Harmonic Functions/Sets List (setf Srm7 (pcs-transpose 9 (pcs '4-26) :pitch)) (setf S7M (pcs-transpose 4 (pcs '4-20) :pitch)) (setf Trm7 (pcs-transpose 4 (pcs '4-26) :pitch)) (setf T7M (pcs-transpose -1 (pcs '4-20) :pitch)) (setf Tam7 (pcs-transpose 11 (pcs '4-26) :pitch)) (setf D7 (pcs-transpose 11 (pcs '4-27b) :pitch)) (setf hd (pcs-transpose 9 (pcs '4-27) :pitch)) ;;;Estabilishing a Basic Progressions (setf chordprog (chordize (list Srm7 S7M Trm7 T7M Tam7 S7M))) ;;;Repeating and transposing the progression (setf chordtrp-rpt (pitch-transpose-repeat '((0 3 5 4) (0 2 -2 -1) (0 5 1 -2) (7 12 10 -3)) chordprog)) ;;; Making suitable voicings to the progression (setf chordprogdrop (chordize-list (pitch-transpose-n '(0 -12 0 0) (pitch-melodize chordtrp-rpt)))) ;;;Using these dropped chords as the source (setf chordprgtrp chordprogdrop) ;;;Opcionally with more Voice-Leading, with a smooth transition between the chords ;(setf chordprgtrp (chord-closest-path (car chordprogdrop) (gen-divide 4 chordprogdrop))) ;;;Counting the number of chords to make rhythm repetitions ;(setf times (get-count (get-count chordprgtrp))) ;;;Optionally setting manually the repetitions (setf times 24) ;;;Eachnote assigned to a voice (setf voz1 (flatten (pitch-demix 1 chordprgtrp))) (setf voz2 (flatten (pitch-demix 2 chordprgtrp))) (setf voz3 (flatten (pitch-demix 3 chordprgtrp))) (setf voz4 (flatten (pitch-demix 4 chordprgtrp))) ;;;optionally processing the ambitus of the voices ;(setf vozamb1 (ambitus '(c4 c5) voz1) vozamb2 (ambitus '(f3 c5) voz2) vozamb3 (ambitus '(g3 g4) voz3) vozamb4 (ambitus '(c2 e3) voz4)) ;;; Or setting to instrument's ranges ;(setf vozamb1 (ambitus (ambitus-instrument 'flute) voz1)vozamb2 (ambitus (ambitus-instrument 'oboe) voz2) vozamb3 (ambitus (ambitus-instrument 'clarinet) voz3) vozamb4 (ambitus (ambitus-instrument 'bassoon) voz4)) ;;;or just using the resulting drops as given (setf vozamb1 voz1 vozamb2 voz2 vozamb3 voz3 vozamb4 voz4) ;;;RIT ;;;one rhythm to all (for checking the "chorale" writing) ;(setf r1 (gen-repeat times '(q)) r2 (gen-repeat times '(q)) r3 (gen-repeat times '(q)) r4 (gen-repeat times '(q))) ;;;Doing an homorhythmic section (all instruments play the same rhythms (setf homorhy (gen-repeat times '(q -q e q e h h -s s s s)) r1 homorhy r2 homorhy r3 homorhy r4 homorhy) ;;; Articulation for the homorhytm (setf arthomo '(ten stacc ord stacc ord ord leg leg ord)) ;;;OMN ASSEMBLAGE of the Lines (setf vozomn1 (make-omn :length r1 :pitch vozamb1 :articulation arthomo :velocity (rnd-order'(p)))) (setf vozomn2 (make-omn :length r2 :pitch vozamb2 :articulation arthomo :velocity (rnd-order'(p)))) (setf vozomn3 (make-omn :length r3 :pitch vozamb3 :articulation arthomo :velocity (rnd-order'(pp)))) (setf vozomn4 (make-omn :length r4 :pitch vozamb4 :articulation arthomo :velocity (rnd-order'(pp)))) ;;;--------------------------------------------------------- ;;; SCORE ;;;---------------------------------------------------------- (def-score voices (:title "Piano-Red-4-Voices" :subtitle "Estudos Polifônicos" :composer "Julio-Herrlein" :key-signature 'atonal :time-signature '(4 4) :tempo '("Meditativo" q 60) :layout (piano-solo-layout '(pno-rh1 pno-rh2) '(pno-lh pno-lh2))) (pno-rh1 :omn vozomn1 :channel 1 :sound 'gm :program 'Violin :volume 100) (pno-rh2 :omn vozomn2 :channel 2 :sound 'gm :program 'Violin :volume 70) (pno-lh :omn vozomn3 :channel 3 :sound 'gm :program 'Viola :volume 80) (pno-lh2 :omn vozomn4 :channel 4 :sound 'gm :program 'Cello :volume 80))  
    • By Stephane Boussuge
      A short study about some harmonic procedures and unfold set simple usage.
  • Create New...