Jump to content
Sign in to follow this  
JulioHerrlein

Composing with Piano Reductions

Recommended Posts

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 !

 

Best,

Julio

 


;;;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))
  

 

Share this post


Link to post
Share on other sites

Dear Janusz,

 

I was looking back to this textural method and I noticed that "chord-closest-path" function no longer exists.

What the name of the new correspondent replacement function ?

Best,

Julio

 

Share this post


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.

Guest
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.

Sign in to follow this  

×
×
  • Create New...