Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(9456)

Issue 26470047: Support articulations, slurs and breaths in MIDI

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 5 months ago by Devon Schudy
Modified:
10 years, 4 months ago
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Support articulations, slurs and breaths in MIDI. Articulations and breaths can alter the length and volume of the note. (Breaths affect the previous chord.) This is controlled by their perform-length and perform-volume properties. The standard articulations now have these properties where appropriate. Notes in a slur overlap slightly in MIDI output. This approximates how they're played on keyboards, and triggers the legato mode of many synthesizers. The degree of overlap is controlled by the slurOverlap context property. Shorthand articulations indirect to their long versions. Previously a shorthand (e.g. -.) looked up its name (dashDot) to get an articulation name (staccato), and then created a new ArticulationEvent with that name, ignoring the existing global (staccato). This meant changes to the long names (such as adding properties) didn't affect the shorthand. Now it looks up the articulation name to get the existing ArticulationEvent. This makes c-. behave exactly like c\staccato.

Patch Set 1 #

Patch Set 2 : Fix warning in Midi_note. #

Patch Set 3 : Copy articulations in case they're modified. Declare properties. #

Patch Set 4 : No more slurs. Use absolute times so time signature doesn't affect output. #

Patch Set 5 : Property names with midi-; extra-velocity adds instead of multiplying; breaths don't shorten notes … #

Total comments: 1

Patch Set 6 : Allow articulation shorthands to be any post-event. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+5 lines, -5 lines) Patch
M lily/parser.yy View 1 2 3 4 5 1 chunk +5 lines, -5 lines 0 comments Download

Messages

Total messages: 39
Devon Schudy
Shouldn't Lilypond's MIDI output be as beautiful as its engraving output? This patch is a ...
10 years, 5 months ago (2013-11-15 09:30:11 UTC) #1
Devon Schudy
Fix warning in Midi_note.
10 years, 5 months ago (2013-11-15 09:31:55 UTC) #2
dan_faithful.be
I am thankful for MIDI improvements in general, and for these features in particular. I’m ...
10 years, 5 months ago (2013-11-15 14:08:29 UTC) #3
dak
Dan Eble <dan@faithful.be> writes: > [Uh oh, here comes the urge to rant about pianists ...
10 years, 5 months ago (2013-11-15 14:37:16 UTC) #4
dan_faithful.be
On Nov 15, 2013, at 09:37 , David Kastrup <dak@gnu.org> wrote: > I would expect ...
10 years, 5 months ago (2013-11-15 15:26:06 UTC) #5
dak
Dan Eble <dan@faithful.be> writes: > On Nov 15, 2013, at 09:37 , David Kastrup <dak@gnu.org> ...
10 years, 5 months ago (2013-11-15 15:39:07 UTC) #6
Devon Schudy
Dan Eble wrote: > Fermata performance is not necessarily uniform. In some music it > ...
10 years, 5 months ago (2013-11-16 00:18:40 UTC) #7
dan_faithful.be
On Nov 15, 2013, at 19:18 , Devon Schudy <dschudy@gmail.com> wrote: > Dan Eble wrote: ...
10 years, 5 months ago (2013-11-16 06:20:45 UTC) #8
dak
Dan Eble <dan@faithful.be> writes: > But seriously: No matter how much Lilypond improves its MIDI ...
10 years, 5 months ago (2013-11-16 07:52:28 UTC) #9
dan_faithful.be
[Taking the message public again after a previous reply-to-sender.] On Nov 16, 2013, at 12:57, ...
10 years, 5 months ago (2013-11-17 05:43:10 UTC) #10
dak
Dan Eble <dan@faithful.be> writes: > I think I understand what you are saying; but if ...
10 years, 5 months ago (2013-11-17 06:31:21 UTC) #11
dak
Just that Devon does not get a wrong impression: I applaud every effort to make ...
10 years, 5 months ago (2013-11-17 06:41:06 UTC) #12
dak
On 2013/11/16 00:18:40, Devon Schudy wrote: > Dan Eble wrote: > I'm actually a wind ...
10 years, 5 months ago (2013-11-17 07:18:04 UTC) #13
dan_faithful.be
On Nov 17, 2013, at 01:30 , David Kastrup <dak@gnu.org> wrote: > It can serve ...
10 years, 5 months ago (2013-11-17 14:42:56 UTC) #14
dan_faithful.be
On Nov 17, 2013, at 01:50 , Werner LEMBERG <wl@gnu.org> wrote: > >> And that's ...
10 years, 5 months ago (2013-11-17 14:45:40 UTC) #15
Ian Hulin (gmail)
Hi Devon, Like some other posters, I have not yet reviewed your changes in detail, ...
10 years, 5 months ago (2013-11-18 00:17:14 UTC) #16
Devon Schudy
Copy articulations in case they're modified. Declare properties.
10 years, 5 months ago (2013-11-18 10:01:20 UTC) #17
Devon Schudy
dak@gnu.org wrote: > If you say "overlap is the one synthesizers recognize": does that > ...
10 years, 5 months ago (2013-11-18 13:34:33 UTC) #18
dak
On 2013/11/18 13:34:33, Devon Schudy wrote: > mailto:dak@gnu.org wrote: > > If you say "overlap ...
10 years, 5 months ago (2013-11-19 08:37:59 UTC) #19
Devon Schudy
No more slurs. Use absolute times so time signature doesn't affect output.
10 years, 5 months ago (2013-11-20 09:23:19 UTC) #20
Keith
Looks good, as far as I have time to review. I might propose a follow-up ...
10 years, 5 months ago (2013-11-23 06:10:10 UTC) #21
benko.pal
> I would need, however, an appropriate new name for the property, and the best ...
10 years, 5 months ago (2013-11-23 07:25:31 UTC) #22
dak
On 2013/11/23 07:25:31, benko.pal wrote: > > I would need, however, an appropriate new name ...
10 years, 5 months ago (2013-11-23 07:29:45 UTC) #23
Devon Schudy
k-ohara5a5a@oco.net wrote: > I might propose a follow-up patch, to clarify in > define-music-properties.scm that ...
10 years, 5 months ago (2013-11-23 16:31:39 UTC) #24
Keith
On Sat, 23 Nov 2013 08:31:17 -0800, Devon Schudy <dschudy@gmail.com> wrote: > Is “relative-volume” clearer? ...
10 years, 5 months ago (2013-11-23 22:26:34 UTC) #25
dak
"Keith OHara" <k-ohara5a5a@oco.net> writes: > Using the word 'velocity' in the name of the property ...
10 years, 5 months ago (2013-11-23 22:40:31 UTC) #26
Devon Schudy
David Kastrup wrote: > So it would be extra-velocity. That makes it sound like it's ...
10 years, 5 months ago (2013-11-24 15:11:38 UTC) #27
Devon Schudy
Property names with midi-; extra-velocity adds instead of multiplying; breaths don't shorten notes before rests.
10 years, 5 months ago (2013-11-24 15:15:24 UTC) #28
dak
On 2013/11/24 15:11:38, Devon Schudy wrote: > David Kastrup wrote: > > > the next ...
10 years, 5 months ago (2013-11-24 15:23:02 UTC) #29
janek
2013/11/24 <dak@gnu.org>: > On 2013/11/24 15:11:38, Devon Schudy wrote: > >> David Kastrup wrote: >> ...
10 years, 5 months ago (2013-11-24 15:40:01 UTC) #30
Ian Hulin (gmail)
On 2013/11/24 15:40:01, janek wrote: > 2013/11/24 <dak@gnu.org>: > > On 2013/11/24 15:11:38, Devon Schudy ...
10 years, 5 months ago (2013-11-26 17:54:57 UTC) #31
janek
2013/11/26 <ianhulin44@gmail.com>: > Thinking about the context property David suggested, (if it were called > ...
10 years, 5 months ago (2013-11-26 18:01:42 UTC) #32
dak
On 2013/11/26 17:54:57, Ian Hulin (gmail) wrote: > On 2013/11/24 15:40:01, janek wrote: > > ...
10 years, 5 months ago (2013-11-26 18:12:08 UTC) #33
dan_faithful.be
On Nov 26, 2013, at 13:12 , dak@gnu.org wrote: > On 2013/11/26 17:54:57, Ian Hulin ...
10 years, 5 months ago (2013-11-27 03:23:07 UTC) #34
dan_faithful.be
On Nov 26, 2013, at 13:12 , dak@gnu.org wrote: > I don't see why this ...
10 years, 5 months ago (2013-11-27 03:38:52 UTC) #35
janek
It seems that the patches were somehow overlooked, but i've pushed them now. I apologize ...
10 years, 4 months ago (2013-12-05 21:05:58 UTC) #36
dak
It took me until reading the commit message to figure out that this is actually ...
10 years, 4 months ago (2013-12-06 09:31:20 UTC) #37
Devon Schudy
Allow articulation shorthands to be any post-event.
10 years, 4 months ago (2013-12-06 21:19:12 UTC) #38
Devon Schudy
10 years, 4 months ago (2013-12-06 21:25:15 UTC) #39
dak@gnu.org wrote:
> There is, however, one restriction that does not appear to serve any
> purpose apart from being a restriction.

Worse, it didn't even work, because ly_prob_type_p returns a Scheme
boolean, so it's always true. :( Anything, even non-music, was
allowed.

> lily/parser.yy:2821: } else if (ly_prob_type_p (s, ly_symbol2scm
> ("ArticulationEvent"))) {
> I think there is no point in restricting the type to an
> ArticulationEvent.  Just use a check for it being music and is_mus_type
> ("post-event") here.

OK, done.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b