Jump to content

Featured Replies

Posted

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

 

piano-layout + merge-voices

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

 

 

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

  • Author

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 > 

 

  • Author
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

  • Author
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 !

Create an account or sign in to comment


Copyright © 2014-2025 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy