lilypond-user
[Top][All Lists]
Advanced

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

Re: another route from MIDI to lilypond (from NtEd developer)


From: Martin Tarenskeen
Subject: Re: another route from MIDI to lilypond (from NtEd developer)
Date: Mon, 28 Sep 2009 12:22:55 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

On Mon, Sep 28, 2009 at 11:19:26AM +0200, Joerg Anders wrote:
> A word from NtEd developer:
>
> On Sat, 26 Sep 2009, Laura Conrad wrote:
>
>> A quick test on the same MIDI file as earlier shows that it spells Bb
>> wrong, and doesn't correct it if I edit the key signature.
....
>        bes'4  c  d  es | % 2
>        f  g  a  bes | % 3
....
> Which in turn creates a correct Bb scale. What is misspelled ? "bes" ?

Hi Joerg and Laura,

I think I can explain the problem.

You are using a correct MIDI file with the key signature in the MIDI 
meta events.

The MIDI file examples that Laura is using (she mailed them to me) 
contain Bb/A# notes but do not contain (a correct) Key Signature MIDI 
Meta Event. In MIDI there is no simple way to see the difference between 
A# and Bb (It's just a note number) if such a Key Signature MIDI Meta 
Event is not present or is simply giving a default "C Major".

That's why midi2ly has a "--key=..." commandline option. Unfortunately 
this option is not working ( The commandline key-signature is 
overwritten by the one in the MIDI meta events). I'm looking into it to 
solve this problem. 

One workaround that sort of worked for me: I converted Laura's file with 
midi2ly (unreleased version), edited the ly file to include \key d 
\minor in all parts and a midi{} block, created a new midifile with it, 
ran midi2ly on the new midifile, and finally I was having a ly file with 
Bb instead of A#. We don't want that, right ?

If I succeed in fixing this problem plus the problems with long notes, 
ties-across-barlines, and barcheck calculations when meter changes, I 
think we will have a pretty usable midi2ly utility ...

-- 

Martin Tarenskeen





reply via email to

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