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

Issue 26470047: Support articulations, slurs and breaths in MIDI

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 1 month ago by Devon Schudy
Modified:
12 years 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 ...
12 years, 1 month ago (2013-11-15 09:30:11 UTC) #1
Devon Schudy
Fix warning in Midi_note.
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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> ...
12 years, 1 month ago (2013-11-15 15:39:07 UTC) #6
Devon Schudy
Dan Eble wrote: > Fermata performance is not necessarily uniform. In some music it > ...
12 years, 1 month 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: ...
12 years, 1 month 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 ...
12 years, 1 month 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, ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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, ...
12 years, 1 month ago (2013-11-18 00:17:14 UTC) #16
Devon Schudy
Copy articulations in case they're modified. Declare properties.
12 years, 1 month 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 > ...
12 years, 1 month 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 ...
12 years, 1 month ago (2013-11-19 08:37:59 UTC) #19
Devon Schudy
No more slurs. Use absolute times so time signature doesn't affect output.
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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? ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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.
12 years, 1 month 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 ...
12 years, 1 month 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: >> ...
12 years, 1 month 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 ...
12 years, 1 month 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 > ...
12 years, 1 month 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: > > ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years, 1 month 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 ...
12 years 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 ...
12 years ago (2013-12-06 09:31:20 UTC) #37
Devon Schudy
Allow articulation shorthands to be any post-event.
12 years ago (2013-12-06 21:19:12 UTC) #38
Devon Schudy
12 years 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