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 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))  
    • By Stephane Boussuge
      Hi,
       
      A short study about some harmonic procedures and unfold set simple usage.
       
      SB.
       
       
      MelodieFltPia280819.mp3
      MelodieFlutePiano280819GM.opmo
    • By Stephane Boussuge
      Hi, here's a new piece with score.
       
         
       
      All the best to all of the Opusmodus users !
      S.B.
       
      18/07/19 => Small update, missing function added.
       
      PolygonsV1-05-Forum.opmo
      Polygons1-05.mp3
×
×
  • Create New...