torstenanders Posted August 21, 2020 Share Posted August 21, 2020 Apologies, this is a lengthy message, but I want to provide all the relevant technical details to demonstrate the problem. I would like to control piano pedalling (e.g., with Pianoteq). Many things seemingly work out of the box once the predefined pianoteq sound set is specified (nice!), but some things I would like to refine. The PDF document 4th Element Attributes lists the attributes related to pedalling: ped1 ped half-ped1 half-ped sost-ped1 sost-ped una-corda1 una-corda First a question (could not find the in the docs): the attributes ending in 1 (e.g., ped1) denote a pedalling that is always released (or re-pedalled) at the end of a note, while the other attributes (e.g., ped) can continue to the following note. Yes? While some of these attributes work as expected, a few do not. For example, ped1 results in MIDI CC messages as expected (:damper-pedal pressed before the note start and then released again before its end). Note the two lines with the :damper-pedal controller events in the result below. Also, the music notation includes some standard piano pedalling notation. (show-midi-events '(q c4 p ped1)) => (#<meta-event :sequence/track-name delta: 0 len: 10 "INSTRUMENT"> #<midi-event :controller time: 0 delta: 0, chan: 1, (:reset-all-controllers): 0> #<midi-event :program-change time: 0 delta: 0, chan: 1, program number: 0> #<midi-event :controller time: 0 delta: 0, chan: 1, (:main-volume :msb): 92> #<midi-event :controller time: 0 delta: 0, chan: 1, (:pan :msb): 64> #<midi-event :pitch-bend time: 0 delta: 0, chan: 1, pitch value (LSB): 0, pitch value (MSB): 64> #<midi-event :controller time: 0 delta: 0, chan: 1, (:damper-pedal): 127> #<midi-event :note-on time: 0 delta: 0, chan: 1, note number: 60 (c4), velocity: 47> #<midi-event :controller time: 256 delta: 256, chan: 1, (:damper-pedal): 0> #<midi-event :note-off time: 256 delta: 0, chan: 1, note number: 60 (c4), velocity: 0> #<meta-event :end-of-track delta: 0 len: 0 #()>) Problem 1 (Fixed) In contrast to ped1, the attribute ped is completely ignored in the MIDI output. There are no :damper-pedal controller events in the result below. This is true for both using this attribute for individual notes and for a group of notes. This is true for both the gm or the pianoteq sound set specified for snippets. It is also true for both snippets and scores. Also, in music notation this attribute does *not* result in a standard piano pedalling notation, but instead in some textual technique Ped above the stave -- this may help to pinpoint the problem. How can I get the attribute ped working? (show-midi-events '(q c4 p ped)) => (#<meta-event :sequence/track-name delta: 0 len: 10 "INSTRUMENT"> #<midi-event :controller time: 0 delta: 0, chan: 1, (:reset-all-controllers): 0> #<midi-event :program-change time: 0 delta: 0, chan: 1, program number: 0> #<midi-event :controller time: 0 delta: 0, chan: 1, (:main-volume :msb): 92> #<midi-event :controller time: 0 delta: 0, chan: 1, (:pan :msb): 64> #<midi-event :pitch-bend time: 0 delta: 0, chan: 1, pitch value (LSB): 0, pitch value (MSB): 64> #<midi-event :note-on time: 0 delta: 0, chan: 1, note number: 60 (c4), velocity: 47> #<midi-event :note-off time: 256 delta: 256, chan: 1, note number: 60 (c4), velocity: 0> #<meta-event :end-of-track delta: 0 len: 0 #()>) (show-midi-events '((ped q c4 p c4 c4))) => (#<meta-event :sequence/track-name delta: 0 len: 10 "INSTRUMENT"> #<midi-event :controller time: 0 delta: 0, chan: 1, (:reset-all-controllers): 0> #<midi-event :program-change time: 0 delta: 0, chan: 1, program number: 0> #<midi-event :controller time: 0 delta: 0, chan: 1, (:main-volume :msb): 92> #<midi-event :controller time: 0 delta: 0, chan: 1, (:pan :msb): 64> #<midi-event :pitch-bend time: 0 delta: 0, chan: 1, pitch value (LSB): 0, pitch value (MSB): 64> #<midi-event :note-on time: 0 delta: 0, chan: 1, note number: 60 (c4), velocity: 47> #<midi-event :note-off time: 256 delta: 256, chan: 1, note number: 60 (c4), velocity: 0> #<midi-event :note-on time: 256 delta: 0, chan: 1, note number: 60 (c4), velocity: 47> #<midi-event :note-off time: 512 delta: 256, chan: 1, note number: 60 (c4), velocity: 0> #<midi-event :note-on time: 512 delta: 0, chan: 1, note number: 60 (c4), velocity: 47> #<midi-event :note-off time: 768 delta: 256, chan: 1, note number: 60 (c4), velocity: 0> #<meta-event :end-of-track delta: 0 len: 0 #()>) Problem 2 (Still open) It would be nice if half-ped would actually result in a half-depressed pedal. Instruments like Pianoteq support that. However, the :damper-pedal is also fully depressed with that technique (see the first :damper-pedal controller event in the result below). Can I perhaps somehow change a def-sound-set definition so that the damper pedal is only depressed half for the attribute half-ped? (show-midi-events '(q c4 p half-ped1)) => (#<meta-event :sequence/track-name delta: 0 len: 10 "INSTRUMENT"> #<midi-event :controller time: 0 delta: 0, chan: 1, (:reset-all-controllers): 0> #<midi-event :program-change time: 0 delta: 0, chan: 1, program number: 0> #<midi-event :controller time: 0 delta: 0, chan: 1, (:main-volume :msb): 92> #<midi-event :controller time: 0 delta: 0, chan: 1, (:pan :msb): 64> #<midi-event :pitch-bend time: 0 delta: 0, chan: 1, pitch value (LSB): 0, pitch value (MSB): 64> #<midi-event :controller time: 0 delta: 0, chan: 1, (:damper-pedal): 127> #<midi-event :note-on time: 0 delta: 0, chan: 1, note number: 60 (c4), velocity: 47> #<midi-event :controller time: 256 delta: 256, chan: 1, (:damper-pedal): 0> #<midi-event :note-off time: 256 delta: 0, chan: 1, note number: 60 (c4), velocity: 0> #<meta-event :end-of-track delta: 0 len: 0 #()>) Quote Link to comment Share on other sites More sharing options...
torstenanders Posted August 22, 2020 Author Share Posted August 22, 2020 Apologies. Found the reason for problem 1 in my own setup and fixed it. I had defined a custom articulation ped (expressing a coupler for the organ), which interfered. I renamed that coupler articulation. Anyway, I still would be grateful for a response to the following: Is it correct that the attributes ending in 1 (e.g., ped1) denote a pedalling that is always released (or re-pedalled) at the end of a note, while the other attributes (e.g., ped) can continue to the following note? Can I perhaps somehow change a def-sound-set definition so that the damper pedal is only depressed half for the attribute half-ped? Quote Link to comment Share on other sites More sharing options...
opmo Posted August 22, 2020 Share Posted August 22, 2020 half-ped was not a part of the musicxml, therefore is not implemented in OM. ped1 is sustain for one event only. torstenanders 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.