Search the Community
Showing results for tags 'jazz studies'.
-
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) )
- 8 replies
-
- harmonic path
- coltrane
-
(and 2 more)
Tagged with:
-
implemented HELP needed on Jazz Lines from fragments
JulioHerrlein posted a topic in Score and Notation
Dear All I'm studying some 4-note cells for Coltrane like jazz patterns from a video lesson of saxophonist Chad Lefkowitz-Brown. The idea is to use a limited number of cells (no more than 10, some diatonic and some chromatic) to create longer lines, like the line below. 1) The idea is to connect the same fragments with different transpositions, adjusting the transpositions according to the construction of the line. I need a code where I can experiment the order and the transpositions of the fragments to create a longer line. Sometimes I can have two times the same pattern with different transposition. 2) The possibility to rotate fragments would be interesting also. 3) Lastly: a random assembling that automatically adjust the transpositions, in a way that each new fragment starts exactly a semitone up or down the preceeding fragment, making a cohesive line. Any help is welcome !! Looking forward to PLAY this patterns on the guitar and record some Videos (where I can mention Opusmodus, of course !) Best ! Julio I tried the form below, but I'm not very happy with that. (setf xa (pitch-fragment 1 4 '(g4 gb4 f4 g4) :transpose '(0)) xb (pitch-fragment 2 3 '(c4 cs4 fs4) :transpose '(0 1 2 1)) xc (pitch-fragment 2 3 '(c4 cs4 fs4) :transpose '(0 1 2 1)) xd (pitch-fragment 2 3 '(c4 cs4 fs4) :transpose '(0 1 2 1)) xe (pitch-fragment 1 3 '(g4 g4 g4) :transpose '(0 1 2 1)) xf (pitch-fragment 4 3 '(c4 c4 c4) :transpose '(0 0 7 2))) (setf seq '(f a e)) (assemble-section 'x seq) (setf jazzline (flatten (assemble-section 'x seq))) (setf rhyjazz (gen-repeat 50 '(s))) (make-omn :length rhyjazz :pitch jazzline) These are not the actual fragments, just some ideas do debug the code...- 18 replies
-
- jazz
- jazz studies
-
(and 2 more)
Tagged with: