lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: midi articulation


From: Daniel Birns
Subject: Fwd: midi articulation
Date: Wed, 23 Mar 2016 22:06:13 -0700

Hi developers,

We’ve been having a discussion about midi. I could say a lot about this, but 
I’m sure some developers have thought a great deal about this, and probably for 
many years, so I don’t want to second-guess.

As I report in the following thread, I’m a software developer, mostly 
experienced in C++, and have thought maybe I could assist in such a project, 
but naturally I would first want to know if a) there’s any interest in outside 
developers contributing to the midi output quality and b) what has gone before.

Thanks, and I’m a grateful lilypond user.

-d

> Begin forwarded message:
> 
> From: "H. S. Teoh" <address@hidden>
> Subject: Re: midi articulation
> Date: March 23, 2016 at 9:44:18 PM PDT
> To: address@hidden
> 
> On Wed, Mar 23, 2016 at 05:21:13PM +0000, Daniel Birns wrote:
>> Hi all,
>> 
>> Okay, I see what articulate.ly does. However… has anyone tried to do
>> this within the midi generator. I debugged the python_midi.c file, and
>> I can see what it’s doing. Geez, it seems like at the point where the
>> midi file is being generated, lilypond ought to know everything about
>> what’s the score, and ought to be able to apply articulation easily
>> and much more correctly at that point.
>> 
>> Has anyone tried doing this? My guess is it’s nowhere near as easy as
>> I think it should be. But, honestly, the midi files suck. As a
>> Sibelius user, this is a showstopper — Sibelius does a beautiful job
>> at this, and it seems like it shouldn’t be difficult for lilypond to
>> do the same.
>> 
>> I’m a software developer — not python, nor guile , but just about
>> everything else, but especially C++. I could do guile and python if
>> needed. Perhaps I should try this, but is there interest? Do I have
>> time for this? And why haven’t the others who know a great deal more
>> about this than I do, done this?
>> 
>> Thanks. No criticism at all intended: I think lilypond is amazing. 
> [...]
> 
> As far as I understand it (and I could be wrong), lilypond's original
> authors did not regard midi support as important, as lilypond's original
> mission was to typeset music and do it well.  So the original midi
> support was tacked on as an afterthought and was pretty rudimentary, and
> as far as I can tell, hasn't changed very much since then.  This was
> probably one of the main reasons articulate.ly <http://articulate.ly/> was 
> invented in the first
> place.
> 
> Be that as it may, I for one thing would be glad if somebody would take
> the time to improve midi generation so that it's not so atrocious.  My
> ideal conception of it is to have some kind of mapping mechanism for
> translating notation into midi that offers the same configurability and
> expressive power as the notation syntax itself, such that the user would
> be able to, for example, specify how phrases should be rendered, whether
> a particular Staff should emit Expression events for crescendos or
> merely increment the velocity of the notes (as is currently done,
> piano-style), how to translate breathing marks, or any mark, for that
> matter (e.g., trill mark on a timpani Staff should emit tremolos or
> switch to a different program for rolls).  The defaults ought to produce
> pretty decent midi, but should be overridable by the user.
> 
> In any case, midi itself is rather limited, as the built-in limit of 16
> channels is too restrictive for rendering large orchestral scores. For
> this purpose I have written an auxiliary helper program that renders
> individual StaffGroup's into separate midi files, to be separately
> rendered by a software midi synth and then mixed into a single file
> afterwards.  The program also generates suitable MIDI program switching
> macros for implementing different articulations. Such functionality is
> probably beyond the scope of lilypond, though conceivably one could
> implement the necessary infrastructure for the user to be able to do
> such things within lilypond itself, as opposed to resorting to external
> tools.
> 
> 
> T
> 
> -- 
> "How are you doing?" "Doing what?"
> 
> _______________________________________________
> lilypond-user mailing list
> address@hidden <mailto:address@hidden>
> https://lists.gnu.org/mailman/listinfo/lilypond-user 
> <https://lists.gnu.org/mailman/listinfo/lilypond-user>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]