Posted July 15, 2024Jul 15 Here is a small question for the gurus of Opusmodus. I am developing sketch materials for some piano music (a solo work and also a work for three pianos). I am generating material as 'rh and 'lh using the piano-solo-layout. What I am trying to figure out is how to make the layout three staves and to place the music by register into the three staves, so that the pianist can work out the fingering and hand-crossing more easily and effectively during the sketching and feedback process. Can anyone point me in a good direction? With thanks!
July 16, 2024Jul 16 ;;; LAYOUT DESIGN EXAMPLE ;;; HOW TO DESIGN YOUR OWN LAYOUT IN OM. ;;; TRIPLE PIANO LAYOUT EXAMPLE: (defun piano-triple-layout (line1 line2 line3) (list (brace-group `(:treble ,line1) `(:treble ,line2) `(:bass ,line3) :name "Piano"))) ;;; Test (setf line1 (make-omn :pitch (rnd-sample 32 (make-scale 'g4 16)) :length (gen-loop 8 (fit-to-span 4/4 (rnd-sample 16 '(s s -s q e e -q h h q q -e e e)))) )) (setf line2 (make-omn :pitch (rnd-sample 32 (make-scale 'a3 16)) :length (gen-loop 8 (fit-to-span 4/4 (rnd-sample 16 '(s s -s q e e -q h h q q -e e e)))) )) (setf line3 (make-omn :pitch (rnd-sample 32 (make-scale 'c2 16)) :length (gen-loop 8 (fit-to-span 4/4 (rnd-sample 16 '(-q h h q )))) )) (def-score temp ( :key-signature 'chromatic :time-signature '(4 4) :composer "Stéphane Boussuge" :copyright "Copyright © 2017 s.boussuge" :tempo 71 :layout (piano-triple-layout 'p1 'p2 'p3) ) (p1 :omn line1 :port "bus 6" :channel 1 :sound 'gm :program 'acoustic-grand-piano ) (p2 :omn line2 :port "bus 6" :channel 1 :sound 'gm :program 'acoustic-grand-piano ) (p3 :omn line3 :port "bus 6" :channel 1 :sound 'gm :program 'acoustic-grand-piano ) )
July 16, 2024Jul 16 Author This will be helpful to many! Thanks Stephane! What is still puzzling me is how to make the following transformation: 1) two streams of omn data (formatted length, pitch, velocity) as 'rh 'lh (perhaps merged into one stream using merge-voices) - and then transform to: 2) three streams of omn data for the three staves such that the data is parsed and separated as to register: high-middle-low. What has me stumped at the moment is how to parse the data according to the pitch register after formatting as an omn stream while keeping intended length parameter intact. I think I am getting close. Your helpful comment re-invigorates my problem-solving and I am grateful for that!
December 30, 2024Dec 30 Start by defining the pitch ranges for each stave—decide what constitutes "high," "middle," and "low" for your piece. Once you have that, you can apply ambitus-filter or a similar function to your rh and lh streams. If you're new to handling these transformations, looking into resources like https://www.artmaster.com can be really helpful. They offer lessons and guidance on working with composition tools and notation techniques, which could give you more clarity and control as you refine your layout.
Create an account or sign in to comment