Jump to content

JulioHerrlein

Members
  • Posts

    809
  • Joined

  • Last visited

Posts posted by JulioHerrlein

  1. Thank you, guys !!

    You are amazing !!

     

    But I got some errors...

    Janusz, on your 1st possibility I got this error:

    80 > 
    80 > 
    80 > 
    > Error: Unbound variable: 
    > While executing: ccl::toplevel-eval, in process Listener-1(7).
    > Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
    > If continued: Retry getting the value of .
    > Type :? for other options.
    81 > 

    On the 2nd possibility I got this error:

     

    78 > 
    78 > 
    78 > 
    > Error: Unbound variable: 
    > While executing: ccl::toplevel-eval, in process Listener-1(7).
    > Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
    > If continued: Retry getting the value of .
    > Type :? for other options.
    79 > 

    I don't know what happened

     

    Thanks again !!

    Best,

    Julio

    One thing

     

    COMMAND+E in the  expression below works ok

     

    (setf bass
          '((-h. q g3) (e c4 bb3 q a3 e g3 f3 q eb3) (h. d3 fermata q c3)
            (q bb2 a2 g2 c3) (h. d3 fermata q d3)
            (q g3 e f3 eb3 d3 c3 q bb2) (q eb3 f3 gb3 fermata d3)
            (q g3 a3 e bb3 a3 g3 f3) (q eb3 f3 bb2 fermata bb3)
            (q a3 bb3 gb3 e g3 f3) (q e3 c3 f3 fermata f3)
            (q bb2 e c3 d3 q eb3 e d3 c3) (h d3 q g2 fermata)))

    BUT......

    COMMAND + 1 (to make a snippet) give me this error:

     

    > Error: OMN Parse Error: fail
    > While executing: omn-to-ast, in process Listener-1(7).
    > Type cmd-. to abort, cmd-\ for a list of available restarts.
    > Type :? for other options.
    83 > 

     

    So, I copied the tenor part and trasposed it -7 (just for test...)

     

    and got this error:

    85 > 
    85 > 
    85 > 
    > Error: Unbound variable: 
    > While executing: ccl::toplevel-eval, in process Listener-1(7).
    > Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts.
    > If continued: Retry getting the value of .
    > Type :? for other options.
    86 > 

     

  2. Dear All,

     

    Very clear question:

     

    HOW to make a piano reduction with multiple voices and rhythms ?

    Like a reduction of a string quartet poliphonic material with 4 voices:

    ALL RHTYHMS INDEPENDENT with their own pauses.

    With the typical arrangement of stems for voice separation:

     

    TREBLE CLEF - voice 1 stems up

    TREBLE CLEF - voice 2 stems down

    BASS CLEF - voice 3 stems up

    BASS CLEF - voice 4 stems down

     

    Any help ?

    Please, help !

     

    I

     

  3. This is for generating some jazz licks in the style of the LINEAR EXPRESSIONS, by jazz guitarist PAT MARTINO.

    The rhythm slots of the example contain the same 16th value, but it can be worked out as Rhythmic Cells. I was testing straight 16th lines.

     

    https://www.amazon.com/Linear-Expressions-Pat-Martino/dp/1423460898/ref=sr_1_1?ie=UTF8&qid=1539901867&sr=8-1&keywords=linear+expression+martino

     

    ;;; PAT MARTINO LINEAR Expressions Lick Generator JAZZ IDIOMS
    
       (setf r0 '(s)
    	      r1 '(s s s s)
    	      r2 '(s s s s s s s s)
                  r3 '(s s s s)
                  r4 '(s s s s)
                  r5 '(s s s s s s s s)
                  r6 '(s s s s s s s s)
                  r7 '(s s s s s s s s)
                  r8 '(s s s s s s s s)
                  r9 '(s s s s s s s s)
                  r10 '(s s s s s s s s))
    	(setf p0 '(g3 a3 bb3 c4 cs4 d4 f4 d4)
    	      p1 '(e4 fs4 g4 a4 c5 a4 bb4 d5)
    	      p2 '(f5 a5 ab5 e5 g5 f5 e5 d5)
     	      p3 '(c5 a4 bb4 d5 a4 bb4 a4 g4)
                  p4 '(a3 bb3 d4 f4 a4 bb4 a4 ab4)
                  p5 '(g4 a4 bb4 c5 d5 f5 a5 c6)
                  p6 '(bb5 d5 f5 a5 g5 gb5 f5 g5)
                  p7 '(e5 f5 e5 d5 c5 a4 g4 a4)
                  p8 '(d4 e4 fs4 a4 fs4 g4 a4 c5)
                  p9 '(a4 bb4 d5 f5 a5 bb5 a5 ab5)
                  p10 '(g5 f5 d5 ds5 e5 g5 bb5 d6))
    	(setf v0 '(f)
    	      v1 '(mp)
    	      v2 '(f)
    	      v3 '(pp)
    	      v4 '(p f mf)
    	      v5 '(fff)
                  v6 '(fff)
                  v7 '(mf)
                  v8 '(p)
                  v9 '(f)
                  v10 '(ff))
    	(setf sec (gen-repeat 10 (rnd-unique 12 '(0 1 2 3 4 5 6 7 8 9 10) 
                  )))
    	(setf r-list (assemble-section 'r sec))
    	(setf p-list (assemble-section 'p sec))
    	(setf v-list (assemble-section 'v sec))
    	(setf phrases
    	      (make-omn 
    	       :length r-list
    	       :pitch p-list
    	       :velocity v-list))
    	(def-score collage         
    	            (:key-signature 'atonal
    	             :time-signature '(2 4)
    	             :tempo 144
    	             :layout (piano-grand-layout 'piano))
    	  (piano
    	   :omn phrases
    	   :channel 1
    	   :sound 'gm
    	   :program 0)
    	  )
    

     

  4. Maybe a Kind of Substitute map function could be useful

    something like

    I did it to interval substitution, to transform interval ( 0 - 11) to interval classes (0 - 6)

    (replace-map '((-11 1) (-10 2) (-9 3) (-8 4) (-7 5) (7 -5) (8 -4) (9 -3)(10 -2)(11 -1)) '(1 2 3 4 5 6 7 8 9 10 11 12 13))

    Maybe a kind of mapping to tonalities could be useful.

    Respell to tonality function

    or

    respell-to-collection '( pitch list)

  5. Hello, All

     

    The idea is to generate some improvised lines over the Giant Steps progression.

    Every time the code is evaluated, a different comping and improvisation is generated.

    In this first effort, the improvisation is generated by the arpeggios resultating from the voice-leading of the progression.

    After that, I want to code some superimpositions of other chord substitutions.

     

    This is something I came with after studying the Harmonic-Path Function ( through some example by Stephane Boussuge)

    I also got some Drums from Jazz Trio, by Janusz Podrazik.

    Below is the commented code and an mp3 showing the result.

     

    All the best,

     

    Julio

     

    gsteps_GEN2.mp3

     

    ;; Giant Steps Progression provided as Harmonic Path.
    ;; Some chords are repeated (the chords that last more time).
    
    (setf 
    harmpath '((h (b3 maj7) (d3 7))
      (h (g3 maj7) (bb3 7))
      (h (eb3 maj7) (eb3 maj7))
      (h (a3 m7) (d3 7))
      (h (g3 maj7) (bb3 7))
      (h (eb3 maj7) (gb3 7))
      (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7))
      (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7))
      (h (g3 maj7) (g3 maj7)) (h (cs3 m7) (fs3 7))
      (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7))
      (h (eb maj7) (eb maj7)) (h (cs3 m7) (fs3 7)))
    
    ;; Just the Roots from the chord progression: for building the bassline later.
    
    basshpath (pitch-demix 4 harmpath)
    
    ;; Taking out the rhythm information of the bassline OMN,
    ;; organizing sublist of 1 element for repeating the tones twice,
    ;; preparing for another rhythm purposes.
    
    basspitches (gen-repeat 6 (flatten (gen-repeat '(2) (gen-divide 1 (flatten (omn :pitch (ambitus '(e1 g2) basshpath)))))))
    
    ;; Using the same harmonic path as a voice leading comping and repeating it
    ;; in the same way I did with the bass line (twice each chord).
    ;; Bass line and comping will have the same rhythm kicks.
    
    comping (gen-repeat '(2) (gen-divide 1 (flatten (omn :pitch (chord-closest-path '(b3c4e4g4) '((h (b3 maj7) (d3 7))
      (h (g3 maj7) (bb3 7))
      (h (eb3 maj7) (eb3 maj7))
      (h (a3 m7) (d3 7))
      (h (g3 maj7) (bb3 7))
      (h (eb3 maj7) (gb3 7))
      (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7))
      (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7))
      (h (g3 maj7) (g3 maj7)) (h (cs3 m7) (fs3 7))
      (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7))
      (h (eb maj7) (eb maj7)) (h (cs3 m7) (fs3 7))))))))
    
    ;; MELODIZANDO HAR-PATH. Melodizing the same voice-leading of the comping
    ;; to get the arpeggios for soloing.
    
    melodia (flatten (pitch-melodize (chord-closest-path '(b3c4e4g4) '((h (b3 maj7) (d3 7))
      (h (g3 maj7) (bb3 7))
      (h (eb3 maj7) (eb3 maj7))
      (h (a3 m7) (d3 7))
      (h (g3 maj7) (bb3 7))
      (h (eb3 maj7) (gb3 7))
      (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7))
      (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7))
      (h (g3 maj7) (g3 maj7)) (h (cs3 m7) (fs3 7))
      (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7))
      (h (eb maj7) (eb maj7)) (h (cs3 m7) (fs3 7))))))
    
    ;; Repeating the melody list some times.
    
    gstepspitches (gen-repeat 6 (flatten (omn :pitch melodia)))
    )
    
    ;; Defining and randomizing rhythms.
    
    (setf r1 (rnd-order
           '((s s s s -s -s -s -s)))
          r2 (rnd-order
           '((s s s s -s -s -s -s)))
          r3 (rnd-order
           '((s s s s -s -s -s -s)))
          r4 (rnd-order
           '((s s s s -s -s -s -s)))
          r5 (rnd-order
           '((s s s s -s -s -s -s)))
          r6 (rnd-order
           '((s s s s -s -s -s -s)))
          r7 (rnd-order
           '((s s s s -s -s -s -s)))
          r8 (rnd-order
           '((s s s s -s -s -s -s)))
          r9 (rnd-order
           '((s -s -s -s)))
          r9b (rnd-order
           '((s -s -s -s)))
          r10 '(s -s -s -s)
          r11 (rnd-order
           '((s s s -s)))
          r12 '(-s -s -s -s)
          rhy2 (flatten (apply-eval (rnd-order
           '((r1 r2 r3 r4 r5 r6 r7 r8 r1 r2 r3 r4 r5 r6 r7 r8 r1 r2 r3 r4 r5 r6 r7 r8
              r1 r2 r3 r4 r5 r6 r7 r8 r1 r2 r3 r4 r5 r6 r7 r8 r1 r2 r3 r4 r5 r6 r7 r8)))))
          rhyinv (length-invert rhy2)
          bdbsch (gen-repeat 6 (flatten (apply-eval (rnd-order
           '((r10 r9 r10 r9b r9 r10 r9 r10 r9b r9 r10 r9 r10 r9b r9 r10 r9 r10 r9b r9 r10 r9 r10
              r9b r9 r10 r9 r10 r9b r9 r10 r9 r10 r9b r9 r10 r9 r10 r9b r9 r10 r9 r10 r9b r9)))))))
    
    ;; Setting Up OMN for each instrument.
    
    (setf gssolo
    (make-omn
     :length rhy2
     :pitch gstepspitches
     :velocity (rnd-order'(mf p f p ff mf)))
    
    bassline
    (make-omn
     :length bdbsch
     :pitch basspitches
     :velocity (rnd-order'(mf p f p ff mf)))
    
    pnocomp
    (make-omn
     :length bdbsch
     :pitch comping
     :velocity (rnd-order'(mf p f p ff mf)))
    )
    
    ;;---------------------------------------------------------
    ;; Some Drums 
    ;; (From Janusz Jazz Trio, with some tweaks in the hats)
    ;;---------------------------------------------------------
    (setf hh1 (length-span 8/4 '(-s gs2 ff)))
    ;(setf oh1 (length-span 8/4 '(-s - bb2 ff -)))
    ;(setf ch1 (length-span 8/4 '(s fs2 ff -)))
    (setf sn1 (length-span 8/4 '(-e d2 - - a2 - - s = q f2 e)))
    (setf bd1 (length-span 8/4 '(-s b1 ff e c2 = -e. e = -e. -s)))
    
    (setf hh (rnd-order (gen-repeat 18 (list hh1))))
    ;(setf oh (rnd-order (gen-repeat 18 (list oh1))))
    ;(setf ch (rnd-order (gen-repeat 18 (list ch1))))
    
    (setf sn (pitch-figurate '(3 2) (rnd-order (gen-repeat 18 (list sn1)))
                             :interval '(-1 -2 14)))
    
    (setf bd (rnd-order (gen-repeat 18 (list bd1))))
    
    ;; ------- SCORE (adapted from Harmonic Path Study, Boussuge)
    (def-score giant-steps-vl-improv
               (:title "giant-steps-vl-improv"
                :composer "Julio Herrlein"
                :copyright "Copyright © 2018 HERRLEIN"
                :key-signature '(c maj)
                :time-signature '(4 4)
                :tempo 124
                :ignore-velocity t
                :layout (list
                         (xylophone-single-layout 'i1)
                         (guitar-layout 'i2)
                         (contrabass-layout 'i3)))
    
      (i1
       :omn gssolo
       :channel 1
       :sound 'gm
       :program 'Clarinet
       :volume 100)
      
      (i2
       :omn pnocomp
       :channel 2
       :sound 'gm
       :program 'Electric-Piano-1
       :volume 80)
      
      (i3
       :omn bassline
       :channel 4
       :sound 'gm
       :program 'Electric-Bass-Finger
       :volume 100)
      
      (hh :omn hh :channel 10 :sound 'gm :program 0 :volume 70)
      ;(oh :omn oh)
      ;(ch :omn oh)
      (sn :omn sn)
      (bd :omn bd)
    )

     

  6. Dear Janusz,

     

    It would be great to have this function in the core functions of version 1.3

     

    Best,

    Julio

     

    Dear Stephane,

     

    Can we use this function to add more than one interval to each note ?

    This can add one  interval, but I'm refering to add also two intervals, forming a trichord.

    1) So the interval list would look like this, for adding intervals:

     

    (add-interval-if-length '((q c4 d4 e4 f4 e g4 a4) (e f4 e4 q d4 c4 a4 g4 f4)) :interval-list '(5 4))

    2) And like this, to alternate beetween a major triad and a perfect fourth:

    (add-interval-if-length '((q c4 d4 e4 f4 e g4 a4) (e f4 e4 q d4 c4 a4 g4 f4)) :interval-list '((4 3) 5))

    Is it possible ?

    Any suggestion ?

     

    Best,

    Julio

  7.  

    I think the best idea is to test musical ideias from annotated scores. Here are an example of a parametric composition  with  step by step decisions documented. Hope it can help you. 

    The Nigel Morgan book is also very useful as well as the tutoriais by Janusz  here in the fórum. 

    The best is read the book testing the code in Opusmodus at the same time. 

    Best Julio 

  8. Yes,  the learning curve is high, but there are a lot of benefits in this way of thinking music, specially if You work with notated music. This is where Opusmodus fill the gap, making  a Bridge between code, algorhythms and notation in a desktop work flow, where you can organize all your files and stuff without distractions. 

    Best, 

    Julio 

  9. 9 hours ago, Stephane Boussuge said:

    I don't know because i am on the beta of the future Opusmodus version and on this one, i can change the background color in real time, ie. move the color cursor and color changes immediately.

    May be try to use the Toggle dark option in preference to see if it works.

     

    SB.

    Wow!!!! 

    The future version!!!  This is cool! 

    Best 

    Julio 

  10. Dear All,

     

    Stephane did this amazing and clear example (code below) of how to spread an harmonic progression over a predefined texture.

    This can be altered to any harmonic idiom. I did some test, using a chorale texture originated from a 12-tone row and also

     a more jazz-oriented chorale.

     

    THE QUESTION IS (For Stephane Boussuge)

     

    1) How the harmonic rhythm is controlled here? In the example, the chord changes every half note.

    2) How can I make the harmony changes at every quarter note ?

    3) Can I use different rates of harmonic rhythms ?

     

    Best,

    Julio

     

     

    ;;; Classical Accompaniment Exemple
    ;;;---------------------------------------------------------
    ;;; Parameters
    ;;;---------------------------------------------------------
    ;;; Motif definition
    (setf mtf1 '((s c5 leg g5 leg e6 leg g5 c5 leg g5 leg e6 leg g5)))
    (setf mtf2 (pitch-transpose 4 mtf1))
    (setf mtf3 '((-q e5)))
    (setf mtf4 '((-q g4c5)))
    (setf mtf5 '((q c2 -)))
    
    ;;; Chords definition
    (setf chords (library 'harmoprog1 'minor-4vx 'prog1))
    
    ;;; Ostinati
    (setf ost1 (gen-repeat (length chords) mtf1))
    (setf ost2 (gen-repeat (length chords) mtf2))
    (setf ost3 (gen-repeat (length chords) mtf3))
    (setf ost4 (gen-repeat (length chords) mtf4))
    (setf ost5 (gen-repeat (length chords) mtf5))
    
    ;;; Tonality-map series
    (setf tm-path (tonality-series chords))
    
    ;;; Here we apply the map 'tm-path' into arpegio sequence.
    (setf ost1.map (tonality-map tm-path ost1))
    (setf ost2.map (tonality-map tm-path ost2))
    
    ;;; Here we apply our library chords into chord sequence.
    ;;; The harmonic-path preserves the voice leading. 
    (setf ost3.map (harmonic-path chords ost3))
    (setf ost4.map (harmonic-path chords ost4))
    (setf ost5.map (harmonic-path chords ost5))
    
    (setf violin1 (ambitus '(g3 c7) ost2.map))
    (setf violin2 (ambitus '(g3 c6) ost1.map))
    (setf viola  (ambitus '(c3 e4) ost3.map))
    (setf violoncello (ambitus-chord 12 (pitch-transpose -12 ost4.map)))
    (setf bass ost5.map)
    
    ;;;---------------------------------------------------------
    ;;; Score and Layout
    ;;;---------------------------------------------------------
    (def-score Classical-accomp
               (:title "Classical accompaniment example"
                       :composer "S.Boussuge"
                       :copyright "Copyright © 2018 s.boussuge"
                       :key-signature 'chromatic
                       :time-signature '((1 1 1 1) 4)
                       :tempo 80
                       :layout (bracket-group
                                (violin-layout 'violin1 :name "Violin-1")
                                (violin-layout 'violin2 :name "Violin-2")
                                (viola-layout 'viola)
                                (violoncello-layout 'violoncello)
                                (contrabass-layout 'bass)
                                )
                       )
      
      (violin1
       :omn violin1
       :channel 1
       :sound 'gm
       :program 'String-Ensemble-1
       :volume 100
       :pan 48
       :controllers (91 '(68))
       )
      
      (violin2
       :omn violin2
       :channel 2
       :sound 'gm
       :program 'String-Ensemble-1
       :volume 100
       :pan 48
       :controllers (91 '(68))
       )
      
      (viola
       :omn viola
       :channel 3
       :sound 'gm
       :program 'String-Ensemble-1
       :volume 90
       :pan 64
       :controllers (91 '(68))
       )
      
      (violoncello
       :omn violoncello
       :channel 4
       :sound 'gm
       :program 'String-Ensemble-1
       :volume 90
       :pan 80
       :controllers (91 '(68))
       )
      
      (bass
       :omn bass
       :channel 5
       :sound 'gm
       :program 'String-Ensemble-1
       :volume 90
       :pan 80
       :controllers (91 '(68))
       )
      )

     

  11. The chords are also derived from the slonimsky patterns?  Do you remember  wich slonimsky pattern you used?  Im teaching slonimsky patterns to my students and using opusmodus in the class. This is Great! Best Julio 

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy