Re: midi articulation

2016-03-25 Thread Daniel Birns
Y’all,

It’s 3-to-1, and I have to count your votes as more informed than mine, since 
you’ve worked in this field longer than I. In any case, even if someday you 
agreed with me, the first effort should be improving the native midi output, so 
in some ways this issue is moot.

I’ll download the sources, (hopefully) build it, and then I’ll probably be back 
for more…

Thank you all for you patience and kind responses. The only reason I mentioned 
the midi player was so that I could see the overall intention, before working 
at the micro level. And I seem to have agreement from all responders that, yes, 
lilypond is the right place to make these changes (rather than another filter).

-d
> On Mar 25, 2016, at 12:16 PM, Carl Sorensen  wrote:
> 
> On 3/25/16 12:22 PM, "Daniel Birns"  wrote:
> 
>> 
>> 
>> 
>> So my question is: When you use Aria Maestosa, do you have the problem I
>> outlined? As far as QSynth and FluidSynth ‹ I was able to use brew to
>> install QSynth, but not the other, and the build is kinda ridiculous for
>> most people. Iąm a developer and the instructions
>> are sketchy to me, at least on mac.
>> 
>> 
>> The basic problem is that once you make edits in the score, you must redo
>> all the work youąve done fine-tuning the sound in the midi player. You
>> donąt have the problem with Aria Maestosa?
>> 
>> 
>> And without fine-tuning, my impression is that midi usually sounds pretty
>> awful. 
>> 
>> 
>> My perspective is as a Sibelius user. Hearing what youąve written has no
>> equivalent in lilypond/midi players.
>> 
>> 
>> When I first used Sibelius, I didnąt understand why they cared so much
>> about midi results. But Iąve been able to get some quite listenable
>> results with Sibelius. Hereąs an example:
>> https://soundcloud.com/redwood54/brandenburg-2-andante
>> 
>> 
>> In order to anything like this with lilypond, youąd have to do a great
>> deal of work, which you would not to lose, in the midi editor. And once
>> you generate new midi files, you lose everything.
> 
> 
> I think the point is, if you are really generating good midi (which
> LilyPond doesn't do right now),  and if you have a good sound font (which
> is widely claimed to be available for both Timidity and FluidSynth, but I
> haven't personally checked it), you don't need to do any work in the midi
> editor.  All the work you would do in the midi editor should be doable by
> LilyPond.  So you shouldn't need to write a midi editor, you should just
> need to write good midi output from LilyPond.
> 
> If a midi editor can create a midi file that sounds good on a decent midi
> player, then the midi format supports everything that is needed, and we
> can generate it from LilyPond.  Which is where I think your effort would
> be best spent.
> 
> Thanks,
> 
> Carl
> 


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-25 Thread David Kastrup
Daniel Birns  writes:

>> 
>> I'm on a mac as well, and I have Aria Maestosa as a free option.
>> 
>>  https://sourceforge.net/projects/ariamaestosa
>> 
>
> Thanks for the reference. The problem is there are no sounds in Aria
> Maestosa. It uses what comes with the OS, which is poor to
> unacceptable.
>
> The tool I’m thinking of would have to provide sounds as
> well. Naturally, this is only partly a software problem: someone must
> also gather the sounds. But if there were easy tools to add to it such
> that anyone could add sounds, perhaps the problem wouldn’t be so bad.

Free sound fonts tend to be rather mediocre.  A good hardware
synthesizer makes a whole lot of difference, even if the synthesizer is
20 years old.

But that's not really a problem that makes sense solving in the context
of LilyPond: this is a soundfont problem.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-25 Thread Carl Sorensen
On 3/25/16 12:22 PM, "Daniel Birns"  wrote:

>
>
>
>So my question is: When you use Aria Maestosa, do you have the problem I
>outlined? As far as QSynth and FluidSynth ‹ I was able to use brew to
>install QSynth, but not the other, and the build is kinda ridiculous for
>most people. I¹m a developer and the instructions
> are sketchy to me, at least on mac.
>
>
>The basic problem is that once you make edits in the score, you must redo
>all the work you¹ve done fine-tuning the sound in the midi player. You
>don¹t have the problem with Aria Maestosa?
>
>
>And without fine-tuning, my impression is that midi usually sounds pretty
>awful. 
>
>
>My perspective is as a Sibelius user. Hearing what you¹ve written has no
>equivalent in lilypond/midi players.
>
>
>When I first used Sibelius, I didn¹t understand why they cared so much
>about midi results. But I¹ve been able to get some quite listenable
>results with Sibelius. Here¹s an example:
>https://soundcloud.com/redwood54/brandenburg-2-andante
>
>
>In order to anything like this with lilypond, you¹d have to do a great
>deal of work, which you would not to lose, in the midi editor. And once
>you generate new midi files, you lose everything.


I think the point is, if you are really generating good midi (which
LilyPond doesn't do right now),  and if you have a good sound font (which
is widely claimed to be available for both Timidity and FluidSynth, but I
haven't personally checked it), you don't need to do any work in the midi
editor.  All the work you would do in the midi editor should be doable by
LilyPond.  So you shouldn't need to write a midi editor, you should just
need to write good midi output from LilyPond.

If a midi editor can create a midi file that sounds good on a decent midi
player, then the midi format supports everything that is needed, and we
can generate it from LilyPond.  Which is where I think your effort would
be best spent.

Thanks,

Carl


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-25 Thread Daniel Birns
> 
> I'm on a mac as well, and I have Aria Maestosa as a free option.
> 
>  https://sourceforge.net/projects/ariamaestosa
> 

Thanks for the reference. The problem is there are no sounds in Aria Maestosa. 
It uses what comes with the OS, which is poor to unacceptable. 

The tool I’m thinking of would have to provide sounds as well. Naturally, this 
is only partly a software problem: someone must also gather the sounds. But if 
there were easy tools to add to it such that anyone could add sounds, perhaps 
the problem wouldn’t be so bad. 

-d


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-25 Thread Daniel Birns
So my question is: When you use Aria Maestosa, do you have the problem I 
outlined? As far as QSynth and FluidSynth — I was able to use brew to install 
QSynth, but not the other, and the build is kinda ridiculous for most people. 
I’m a developer and the instructions are sketchy to me, at least on mac.

The basic problem is that once you make edits in the score, you must redo all 
the work you’ve done fine-tuning the sound in the midi player. You don’t have 
the problem with Aria Maestosa?

And without fine-tuning, my impression is that midi usually sounds pretty 
awful. 

My perspective is as a Sibelius user. Hearing what you’ve written has no 
equivalent in lilypond/midi players.

When I first used Sibelius, I didn’t understand why they cared so much about 
midi results. But I’ve been able to get some quite listenable results with 
Sibelius. Here’s an example: 
https://soundcloud.com/redwood54/brandenburg-2-andante 


In order to anything like this with lilypond, you’d have to do a great deal of 
work, which you would not to lose, in the midi editor. And once you generate 
new midi files, you lose everything.

-d

> On Mar 25, 2016, at 10:45 AM, Carl Sorensen  wrote:
> 
> On 3/25/16 10:31 AM, "Daniel Birns"  wrote:
> 
>> PDF viewers is a different class of problem.
>> 
>> 
>> I¹ll be concrete.
>> 
>> 
>> 1) I¹m on a mac, and have 3 midi players available to me: Quicktime
>> (free), Garage Band(free), Sibelius. Of course, Sibelius is a bad
>> example, because it¹s a direct competitor with lilypond, but I have it.
> 
> Quicktime and Garage Band are free as in beer, but they are still
> proprietary, which means you can't alter or improve them.
> 
> It seems to me that rather than reinvent the wheel, you should be looking
> at free software, rather than proprietary software. It will either work
> well, or it will need some improvement.  And you could make the
> improvements in much less time than you can code from scratch.
> 
> I'm on a mac as well, and I have Aria Maestosa as a free option.
> 
>  https://sourceforge.net/projects/ariamaestosa
> 
> 
> It seems to work well to me (but I don't have your midi file to see how
> bad it sounds).  I'm just testing some midi files from some LilyPond
> projects of mine.
> 
> 
> I also have timidity++, but I need to build that from source, so it may be
> beyond the ability of the typical user.
> 
> Many people in the Linux music world seem to use Timidity++ or FluidSynth.
> Here's an ubuntu page that describes how to do it:
> 
> https://help.ubuntu.com/community/Midi/SoftwareSynthesisHowTo
> 
> 
> The Frescobaldi manual recommends using Qsynth (which is a GUI to
> FluidSynth), but I haven't been able to get that to work yet (I haven't
> spent significant time trying, though).
> 
> It seems to me that starting with these tools, and making whatever
> improvements you desire, and teaching LilyPond users how to use them, is a
> more practical way of getting great MIDI output than writing your own MIDI
> synthesizer.
> 
> But if you disagree, that's fine.  I don't want to throw any hurdles in
> your way.  I'm just hoping to help.
> 
> Thanks,
> 
> Carl
> 
> 
> 
> 

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-25 Thread Carl Sorensen
On 3/25/16 10:31 AM, "Daniel Birns"  wrote:

>PDF viewers is a different class of problem.
>
>
>I¹ll be concrete.
>
>
>1) I¹m on a mac, and have 3 midi players available to me: Quicktime
>(free), Garage Band(free), Sibelius. Of course, Sibelius is a bad
>example, because it¹s a direct competitor with lilypond, but I have it.

Quicktime and Garage Band are free as in beer, but they are still
proprietary, which means you can't alter or improve them.

It seems to me that rather than reinvent the wheel, you should be looking
at free software, rather than proprietary software. It will either work
well, or it will need some improvement.  And you could make the
improvements in much less time than you can code from scratch.

I'm on a mac as well, and I have Aria Maestosa as a free option.

  https://sourceforge.net/projects/ariamaestosa


It seems to work well to me (but I don't have your midi file to see how
bad it sounds).  I'm just testing some midi files from some LilyPond
projects of mine.


I also have timidity++, but I need to build that from source, so it may be
beyond the ability of the typical user.

Many people in the Linux music world seem to use Timidity++ or FluidSynth.
 Here's an ubuntu page that describes how to do it:

https://help.ubuntu.com/community/Midi/SoftwareSynthesisHowTo


The Frescobaldi manual recommends using Qsynth (which is a GUI to
FluidSynth), but I haven't been able to get that to work yet (I haven't
spent significant time trying, though).

It seems to me that starting with these tools, and making whatever
improvements you desire, and teaching LilyPond users how to use them, is a
more practical way of getting great MIDI output than writing your own MIDI
synthesizer.

But if you disagree, that's fine.  I don't want to throw any hurdles in
your way.  I'm just hoping to help.

Thanks,

Carl





___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-25 Thread Daniel Birns
PDF viewers is a different class of problem.

I’ll be concrete.

1) I’m on a mac, and have 3 midi players available to me: Quicktime (free), 
Garage Band(free), Sibelius. Of course, Sibelius is a bad example, because it’s 
a direct competitor with lilypond, but I have it.

2) I’m using this string quartet example: 
http://le-concert.pagesperso-orange.fr/giordani/op-8/10006-giordani-op8-1-lys.zip
 


3) I do lilypond 10006-Giordani-Op8-1-Midi-1.ly producing 
10006-Giordani-Op8-1-Midi-1.midi

4) I play it with Quicktime. The result is awful — sounds like the chipmunks 
playing harmonicas.

5) I drag and drop it into Garage band. The result is better, but the 
instruments are wrong: it maps all 3 instruments to something called “String 
ensemble”. Who knows why. So I remap them to vln, vla, cl to something closer 
to a single person playing that instrument. Still sounds poor but much better. 

6) I modify the instrument and the effects. This process takes some time.

7) Now, in order to get a better sound, I’m going to have to go back to the 
lilypond source, make some edits.

8) In order to hear these changes I must redo all the work in #5 and #6.

9) I give my lilypond file to someone. They have no chance of making edits, and 
then recreating what I did in steps 5 and 6.

10 I share my midi file with someone. They have no chance of recreating the 
sound I’m getting. I’d have to send them the Garage Band file, and hope they 
have a mac, and they don’t downloading this huge app (which I think is free).

There’s nothing like this with PDF or any other aspect of this process. If I 
want a decent Midi performance using lilypad, I must either keep redoing steps 
6 and 7 with every edit, which probably is not feasible. What’s more likely is 
I’ll do step 5 over and over, and then at some point say “this is the final 
version” and fine-tune the midi performance. 

Perhaps I’m wrong but some of this. I hope so…

-d

> Integrated score editing environments like Frescobaldi could probably
> include a General MIDI soundfont and a MIDI player, but I don’t think
> Lilypond should ensure the availability of MIDI players.  It already
> doesn’t care what DVI or PDF viewer is installed (if any).
> 
> Lilypond currently doesn’t generate all performance information that the
> MIDI format allows.  When MIDI itself becomes the limiting factor (which
> it is not now) it may make sense to also offer OSC support.
> 
> ~~ Ricardo
> 

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-25 Thread Ricardo Wurmus

Carl Sorensen  writes:

>>Midi Sounds
>>__
>>
>>I¹m no midi expert, but I¹ve used it over the years. My impression is
>>that tools like Apple Logic, Sibelius, and so on, provide their own
>>sounds, which are unrelated, in particular, to midi, which only gives a
>>slight clue to the desired sound. To give a reasonable midi result, I
>>believe we must go that route: provide a sound library, and a player. A
>>user would then be able to write a lilypond score, and get a reasonable
>>audio playback of that score. We could generate midi as we have always
>>done, but the midi would have much better articulation and dynamics than
>>it currently does.
>
> I really don't think this is the right approach.  LilyPond should not be
> developing sound libraries or players.  There already exist high-quality
> sound libraries, and full-featured midi players.  Why should LilyPond
> reinvent the wheel?  What are the weaknesses and/or limitations of, for
> example, Qsynth or Timidity++?

I agree with Carl.  It is sufficient for Lilypond to produce performance
information in MIDI format.  Users can pick from a wide variety of
MIDI-interpreting synthesizers such as soundfont players, LV2
synthesizers, external General MIDI devices and more.

> I'm quite on board with recommending a particular midi player and/or sound
> font.  But I don't see how creating a new synthesizer is necessary (or
> desirable) to improve articulation and dynamics.  While I'm not an expert,
> I would expect that the appropriate MIDI commands can be embedded in a
> MIDI file created by LilyPond, and we just need to make sure a known good
> sound library and player are available.

Integrated score editing environments like Frescobaldi could probably
include a General MIDI soundfont and a MIDI player, but I don’t think
Lilypond should ensure the availability of MIDI players.  It already
doesn’t care what DVI or PDF viewer is installed (if any).

Lilypond currently doesn’t generate all performance information that the
MIDI format allows.  When MIDI itself becomes the limiting factor (which
it is not now) it may make sense to also offer OSC support.

~~ Ricardo


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-24 Thread Carl Sorensen
On 3/24/16 8:14 PM, "Daniel Birns"  wrote:

>Thanks for your kind note.
>
>Of course, I completely understand the protectiveness. That¹s how it must
>be. Before I do anything, I¹d like to discuss my thoughts on the matter.
>
>Inside vs. Outside
>__
>
>OUTSIDE: The Unix idea is to have many small, testable apps that are
>designed to be able to work together. In this view, one should have an
>Engraver (aka lilypond) as a single app that doesn¹t try to do anything
>else. In addition, the lilypond syntax becomes the key interface, and
>lilypond can be the Engraver as well as the Validator. Midi should be a
>separate app that reads the same source and generates midi.
>
>Of course, there are other ways to layer this, in the unix model. Perhaps
>there should be a parser which generates an internal format, and then
>lilypond could read that, and the midi generator could also read the
>internal format. 
>
>Perhaps lilypond already has a suitable internal-format, post-parsed
>format that would be more suitable for a midi-generator.


I believe that LilyPond already has the built-in hooks to create midi
output.  There are performers (similar to engravers) whose job it is to
create the midi.  But I think that we have not spent a lot of time to make
sure
that the midi created is high quality, in terms of respecting
articulations and other expressive indications.  Hence articulate.ly

>
>INSIDE: Generating midi out to be a great deal easier in lilypond because
>it has already parsed everything, ought to know, at any point in time,
>all the information necessary to generate better midi output. Currently,
>it¹s missing many things, like note-durations, and so on. I wonder why
>that is? I¹m suspecting there¹s a fundamental reason, and that it¹s
>because the information is split up among all the various engravers?
>
>Midi is a big subject, and keeping midi generation inside lilypond may
>generate fears, probably well-founded, of increasing size and complexity.

I don't think there is any particular concern about generating midi.  I
think any concern that exists would likely be about having poor-quality,
unmaintainable code for the midi generators.  Or using hacks rather than
solid architecture.

>
>Midi Sounds
>__
>
>I¹m no midi expert, but I¹ve used it over the years. My impression is
>that tools like Apple Logic, Sibelius, and so on, provide their own
>sounds, which are unrelated, in particular, to midi, which only gives a
>slight clue to the desired sound. To give a reasonable midi result, I
>believe we must go that route: provide a sound library, and a player. A
>user would then be able to write a lilypond score, and get a reasonable
>audio playback of that score. We could generate midi as we have always
>done, but the midi would have much better articulation and dynamics than
>it currently does.

I really don't think this is the right approach.  LilyPond should not be
developing sound libraries or players.  There already exist high-quality
sound libraries, and full-featured midi players.  Why should LilyPond
reinvent the wheel?  What are the weaknesses and/or limitations of, for
example, Qsynth or Timidity++?

I'm quite on board with recommending a particular midi player and/or sound
font.  But I don't see how creating a new synthesizer is necessary (or
desirable) to improve articulation and dynamics.  While I'm not an expert,
I would expect that the appropriate MIDI commands can be embedded in a
MIDI file created by LilyPond, and we just need to make sure a known good
sound library and player are available.

Why do you think we need a new player?

Thanks,

Carl


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-24 Thread Daniel Birns
Thanks for your kind note.

Of course, I completely understand the protectiveness. That’s how it must be. 
Before I do anything, I’d like to discuss my thoughts on the matter.

Inside vs. Outside
__

OUTSIDE: The Unix idea is to have many small, testable apps that are designed 
to be able to work together. In this view, one should have an Engraver (aka 
lilypond) as a single app that doesn’t try to do anything else. In addition, 
the lilypond syntax becomes the key interface, and lilypond can be the Engraver 
as well as the Validator. Midi should be a separate app that reads the same 
source and generates midi. 

Of course, there are other ways to layer this, in the unix model. Perhaps there 
should be a parser which generates an internal format, and then lilypond could 
read that, and the midi generator could also read the internal format. 

Perhaps lilypond already has a suitable internal-format, post-parsed format 
that would be more suitable for a midi-generator.

INSIDE: Generating midi out to be a great deal easier in lilypond because it 
has already parsed everything, ought to know, at any point in time, all the 
information necessary to generate better midi output. Currently, it’s missing 
many things, like note-durations, and so on. I wonder why that is? I’m 
suspecting there’s a fundamental reason, and that it’s because the information 
is split up among all the various engravers?

Midi is a big subject, and keeping midi generation inside lilypond may generate 
fears, probably well-founded, of increasing size and complexity.

Midi Sounds
__

I’m no midi expert, but I’ve used it over the years. My impression is that 
tools like Apple Logic, Sibelius, and so on, provide their own sounds, which 
are unrelated, in particular, to midi, which only gives a slight clue to the 
desired sound. To give a reasonable midi result, I believe we must go that 
route: provide a sound library, and a player. A user would then be able to 
write a lilypond score, and get a reasonable audio playback of that score. We 
could generate midi as we have always done, but the midi would have much better 
articulation and dynamics than it currently does. 

I’m certain I’m not the first to think about all this…

-d

> On Mar 24, 2016, at 4:37 PM, Carl Sorensen  wrote:
> 
> On 3/23/16 11:06 PM, "lilypond-devel-bounces+c_sorensen=byu@gnu.org on
> behalf of Daniel Birns"  on behalf of daniel.bi...@icloud.com> wrote:
> 
>> 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.
> 
> 
> We're always open to having new developers come and contribute to LilyPond.
> 
> The original team was (as has been mentioned) heavily focused on creating
> printed scores, so midi output was just included for "proof-listening",
> and generating high-quality midi was not a concern.
> 
> A few years in to the development, articulate.ly was developed to help in
> automatic generation of robotic music, IIRC.
> 
> You're not alone in wishing we had better midi output; users have
> requested it multiple times.
> 
> If you're willing to jump in and develop better output, we'd love to have
> you do so.
> 
> From time to time, you may find us protective of the code base.  But we
> are open to different ways of doing things when a developer is willing to
> invest time and show that the new way is sane.  SO if we complain about
> some of your initial attempts, please don't think we're trying to shut you
> out.  I promise you, we're not.
> 
> I think that you could get some history by searching the issues list for
> midi.
> 
> I hope you'll join us!
> 
> Thanks,
> 
> Carl
> 


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: midi articulation

2016-03-24 Thread Carl Sorensen
On 3/23/16 11:06 PM, "lilypond-devel-bounces+c_sorensen=byu@gnu.org on
behalf of Daniel Birns"  wrote:

>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.


We're always open to having new developers come and contribute to LilyPond.

The original team was (as has been mentioned) heavily focused on creating
printed scores, so midi output was just included for "proof-listening",
and generating high-quality midi was not a concern.

A few years in to the development, articulate.ly was developed to help in
automatic generation of robotic music, IIRC.

You're not alone in wishing we had better midi output; users have
requested it multiple times.

If you're willing to jump in and develop better output, we'd love to have
you do so.

>From time to time, you may find us protective of the code base.  But we
are open to different ways of doing things when a developer is willing to
invest time and show that the new way is sane.  SO if we complain about
some of your initial attempts, please don't think we're trying to shut you
out.  I promise you, we're not.

I think that you could get some history by searching the issues list for
midi.

I hope you'll join us!

Thanks,

Carl


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Fwd: midi articulation

2016-03-24 Thread Daniel Birns
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 +, 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