Jump to content
Sign in to follow this  
JulioHerrlein

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

Recommended Posts

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

 

Share this post


Link to post
Share on other sites

piano-layout + merge-voices

(no idea about the stems, use notation software for layouting?)

 

 

Share this post


Link to post
Share on other sites

Quite simple to do:

 

(setf soprano
      '((-h. q g4) (q g4 a4 bb4 c5) (h. d5 fermata q d5)
        (q d5 c5 bb4 c5) (h. a4 fermata q a4) (q bb4 c5 d5 d5)
        (h c5 q d5 fermata d5) (q bb4 c5 d5 d5) (h c5 q bb4 fermata d5)
        (q f5 d5 d5 d5) (h c5 q c5 fermata c5) (q d5 c5 bb4 c5)
        (h a4 q g4 fermata)))

(setf alto
      '((-h. q d4) (q eb4 e e4 gb4 q g4 g4) (h. gb4 fermata q gb4)
        (q g4 e g4 gb4 q g4 a4) (h. gb4 fermata q gb4)
        (q g4 a4 bb4 bb4) (q bb4 e a4 g4 q a4 fermata gb4)
        (q d4 c4 f4 g4) (q g4 e f4 eb4 q d4 fermata f4)
        (q f4 e f4 g4 q a4 g4) (e g4 f4 g4 e4 q f4 fermata e f4 eb4)
        (q d4 e e4 gb4 q g4 g4) (q g4 gb4 d4 fermata)))

(setf tenor
      '((-h. q bb3) (q c4 c4 d4 eb4) (h. a3 fermata q a3)
        (q bb3 c4 d4 eb4) (h. d4 fermata q d4) (q d4 eb4 f4 f4)
        (q g4 e f4 eb4 q d4 fermata a3) (q bb3 e f4 eb4 d4 c4 q bb3)
        (q bb3 a3 f3 fermata bb3) (q c4 d4 e d4 c4 q bb3)
        (e bb3 a3 bb3 g3 q a3 fermata a3) (q bb3 a3 e g3 bb3 q eb4)
        (e d4 s c4 bb3 q c4 b3 fermata)))

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

(def-score bach-bwv-0005
           (:title "Bach, BWV-0005"
            :composer "J. S. Bach"
            :key-signature '(g min)
            :time-signature '(4 4)
            :tempo 96
            :layout (piano-layout '(soprano alto) '(tenor bass)))
  
  (soprano :omn soprano :channel 1 :sound 'gm :program 0)
  (alto :omn alto :channel 2)
  (tenor :omn tenor :channel 3)
  (bass :omn bass :channel 4)
  )

 

2nd possibility:

;;;---------------------------------------------------------
;;; Bach, BWV 0005
;;;---------------------------------------------------------

(setf soprano
      '((-h. q g4) (q g4 a4 bb4 c5) (h. d5 fermata q d5)
        (q d5 c5 bb4 c5) (h. a4 fermata q a4) (q bb4 c5 d5 d5)
        (h c5 q d5 fermata d5) (q bb4 c5 d5 d5) (h c5 q bb4 fermata d5)
        (q f5 d5 d5 d5) (h c5 q c5 fermata c5) (q d5 c5 bb4 c5)
        (h a4 q g4 fermata)))

(setf alto
      '((-h. q d4) (q eb4 e e4 gb4 q g4 g4) (h. gb4 fermata q gb4)
        (q g4 e g4 gb4 q g4 a4) (h. gb4 fermata q gb4)
        (q g4 a4 bb4 bb4) (q bb4 e a4 g4 q a4 fermata gb4)
        (q d4 c4 f4 g4) (q g4 e f4 eb4 q d4 fermata f4)
        (q f4 e f4 g4 q a4 g4) (e g4 f4 g4 e4 q f4 fermata e f4 eb4)
        (q d4 e e4 gb4 q g4 g4) (q g4 gb4 d4 fermata)))

(setf tenor
      '((-h. q bb3) (q c4 c4 d4 eb4) (h. a3 fermata q a3)
        (q bb3 c4 d4 eb4) (h. d4 fermata q d4) (q d4 eb4 f4 f4)
        (q g4 e f4 eb4 q d4 fermata a3) (q bb3 e f4 eb4 d4 c4 q bb3)
        (q bb3 a3 f3 fermata bb3) (q c4 d4 e d4 c4 q bb3)
        (e bb3 a3 bb3 g3 q a3 fermata a3) (q bb3 a3 e g3 bb3 q eb4)
        (e d4 s c4 bb3 q c4 b3 fermata)))

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

(def-score bach-bwv-0005
           (:title "Bach, BWV-0005"
            :composer "J. S. Bach"
            :key-signature '(g min)
            :time-signature '(4 4)
            :tempo 96
            :layout (piano-layout 'lh 'rh))
  
  (lh :omn (dissolve-voices (merge-voices soprano alto)) :channel 1 :sound 'gm :program 0)
  (rh :omn (dissolve-voices (merge-voices tenor bass)) :channel 2)
  )

Best, JP

Share this post


Link to post
Share on other sites

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 > 

 

Share this post


Link to post
Share on other sites
9 hours ago, AM said:

piano-layout + merge-voices

(no idea about the stems, use notation software for layouting?)

 

 

Thanks, André !

It works, but looks ugly. The absense of stems up and down make it illegible.

8 hours ago, opmo said:

Quite simple to do:

Thanks a lot, Janusz but I don't know what happened, I got a lot of errors.

Best,

Julio

Share this post


Link to post
Share on other sites

The error is a known problem when you copy and past from html pages.

Go to documents and use the original score file.

No errors here.

Share this post


Link to post
Share on other sites
6 hours ago, opmo said:

The error is a known problem when you copy and past from html pages.

Go to documents and use the original score file.

No errors here.

Thanks, Janusz !!

It worked  !!

Thank you !

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  

  • Similar Topics

    • By o_e
      Hi,
      I have a simple question, is it possible to display multiple scores in the workspace. Now, the old score gets overwritten with the new one which make things difficult to compare (I always make a screenshot as a workaround)?
       
      thanks!
       
      ole

    • By JulioHerrlein
      Dear Friends
       
      In my Doctoral Dissertation, I converted every FORTE number in a modulo 12 Rhythm via time-point-system.
      There is a complete catalog included (see the link below). It's in portuguese.
       
      After Janusz adjusted the Forte numbers to have the inversion, using "a" and "b" to differentiate the
       prime forms from the inversions, it was easy to convert using codes like this:
      (setf ch0 (time-point-system (pcs '5-11b :pitch)'s :start 0)) (setf ch1 (time-point-system (pcs '6-33 :pitch)'s :start 1)) (setf ch2 (time-point-system (pcs '7-11b :pitch)'s :start 2)) (setf ch3 (time-point-system (pcs '3-11b :pitch)'s :start 3)) (setf ch4 (time-point-system (pcs '3-11b :pitch)'s :start 0))  
      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.
      http://hdl.handle.net/10183/179457
      Abstract
      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 an analysis of a Wayne Krantz improvisation, using the rhythmic set theory system.   Hope you enjoy !!   Best, Julio  
    • 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 !
       
      Best,
      Julio
       

      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))  
×
×
  • Create New...