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" <hst...@quickfur.ath.cx> > Subject: Re: midi articulation > Date: March 23, 2016 at 9:44:18 PM PDT > To: lilypond-u...@gnu.org > > 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 > lilypond-u...@gnu.org <mailto:lilypond-u...@gnu.org> > https://lists.gnu.org/mailman/listinfo/lilypond-user > <https://lists.gnu.org/mailman/listinfo/lilypond-user> _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel