[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Support articulations, slurs and breaths in MIDI (issue 26470047)
From: |
Dan Eble |
Subject: |
Re: Support articulations, slurs and breaths in MIDI (issue 26470047) |
Date: |
Sat, 16 Nov 2013 01:20:39 -0500 |
On Nov 15, 2013, at 19:18 , Devon Schudy <address@hidden> wrote:
> Dan Eble wrote:
>> Fermata performance is not necessarily uniform.
>> . . .
>
> This is why articulation performance needs to be customizable.
> . . .
OK, simply I misinterpreted the text of your message to mean that you
implemented fermata performance as a tempo change.
>> [Uh oh, here comes the urge to rant about pianists arranging cello
>> parts. Must... resist...]
>
> I'm actually a wind player, not a pianist
> . . .
I didn’t mean you specifically. :)
> Design questions:
> * Should it return a gap or a duration? I think the latter is
> convenient a little more often.
> * Should slurs use a different duration function or should it take
> slur status be a parameter? The latter saves a context property,
> and covers the staccato-under-slur notation for portato.
> * Should it take chords or individual notes? The latter is easier to
> use, and supports partially tied chords. Does the gap between notes
> ever depend on other notes in the chord?
> * If it takes individual notes, should it take NoteEvents or just
> pitch and duration? The latter is more convenient but less general.
Well, since you’re asking -- I certainly wouldn’t bother to go this far if I
were implementing it for my own use -- I think the you’d end up with more
realistic output by maintaining a model of the current articulation state (hand
position, fingering, etc.) and use a knowledge of the nature of the instrument
(limited polyphony, sustain by rolling, crook changes, etc.) to search for
optimal ways to change the articulation state from event to event, looking
ahead to future events, and constrained by
* the explicit articulations expressed in the ly
(fingerings, bowings, breath marks, page turns, etc.)
* the configured ability of the players (span of the hand,
pulmonary function, number of fingers and thumbs, etc.)
But seriously: No matter how much Lilypond improves its MIDI output, I think
that MIDI playback of anything other than keyboard and percussion instruments
will always cause various parts of my body to clench.
For my own use, I wouldn’t consider look-ahead beyond the next pitch worth the
increased complexity. I do think it would make some difference if there were a
rest between the current and next pitch.
For strings, I would think that the way that chords of 3 or more notes are
broken (it’s hard to play more than 2 strings at a time) has more bearing on
realism than minute adjustments of overlap/gap due to fingering. (That seems
like a much different problem though.)
>> Also, is overlap defined in units that are independent of tempo?
>> . . .
>
> It isn't independent of tempo but it probably should be.
> . . .
> (lambda (pitch next-pitch duration slur?)
> (ly:milliseconds (if (< (ly:pitch-octave pitch) -1) 40 30))))
Or (ly:seconds (... 0.04 0.03))?
—
Dan
- Support articulations, slurs and breaths in MIDI (issue 26470047), dschudy, 2013/11/15
- Re: Support articulations, slurs and breaths in MIDI (issue 26470047), Dan Eble, 2013/11/15
- Re: Support articulations, slurs and breaths in MIDI (issue 26470047), Devon Schudy, 2013/11/15
- Re: Support articulations, slurs and breaths in MIDI (issue 26470047),
Dan Eble <=
- Re: Support articulations, slurs and breaths in MIDI (issue 26470047), David Kastrup, 2013/11/16
- Message not available
- Message not available
- Re: Support articulations, slurs and breaths in MIDI (issue 26470047), Dan Eble, 2013/11/17
- Re: Support articulations, slurs and breaths in MIDI (issue 26470047), David Kastrup, 2013/11/17
- Re: Support articulations, slurs and breaths in MIDI (issue 26470047), Dan Eble, 2013/11/17