midi output bug?
Hello everyone, I've been trying to use lilypond to render midi files which I can then retune with a program called scala (http://www.xs4all.nl/~huygensf/scala/). The midi file which lilypond gives me seems ok, and is playable by timidity, but scala chokes on it and gives me an error. I talking with a scala developer, he seemed to have pinpointed a problem with the midi file output from scala. He said: It turns out Scala is right, your midi file is wrong. There's an unexpected running status inside. So you may have to report a bug for Lilypond. Do you know what that unexpected running status could be? You can check out the midi file here: cmbryan.com/score_midi.midi The strangest part is that I've had success with this procedure before, so something has changed, maybe in a lilypond upgrade? Any help would be appreciated! Thanks in advance, -chris ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: midi output bug?
Hi, On Mon, 6 Feb 2006, c.m.bryan wrote: It turns out Scala is right, your midi file is wrong. There's an unexpected running status inside. So you may have to report a bug for Lilypond. It appears that your midi has this as start of the second track: 4d 54 72 6b // = MTrk 00 00 00 40 // = chunk length (64) 00 0f f5 80 43 e8 02 12 08 // = probably fscked up time signature A midi time signature would look like 00 ff 58 04 04 02 18 08 only that it seams somehow a 0 nibble crept in, shifting some numbers, and somehow another nibble was shifted in. I never had such problems. The strangest part is that I've had success with this procedure before, so something has changed, maybe in a lilypond upgrade? Any help would be appreciated! Well, if you suspect that it might be an old version, how about telling us which one you use? And if it is not too much hassle, could you provide a sample .ly file which produces such a midi? Ciao, Dscho ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: midi output bug?
4d 54 72 6b // = MTrk 00 00 00 40 // = chunk length (64) 00 0f f5 80 43 e8 02 12 08 // = probably fscked up time signature A midi time signature would look like 00 ff 58 04 04 02 18 08 Well, if you suspect that it might be an old version, how about telling us which one you use? And if it is not too much hassle, could you provide a sample .ly file which produces such a midi? My apologies for not giving that information! I'm using version 2.4.5 on fedora core 3 linux, because it's the latest binary provided by Planet CCRMA, and I haven't had the time to wrestle with the source. And the .ly is below. The \include statements are note lists with no extra commands. I did a crazy-long time sig because I couldn't remember the cadenza command, and it was just a quick sketch. Maybe that's the problem... Thanks for the help. - \version 2.4.2 #(set-global-staff-size 16) flat = \markup { \raise #0.4 \smaller \musicglyph #accidentals--2 } sharp = \markup { \raise #0.6 \smaller \musicglyph #accidentals-2 } textcodaysym = \markup { \hspace #1 \raise #1.1 \musicglyph #scripts-coda} StaffA = \relative c' { \time 1000/4 \include StaffA_retuned.ly } StaffB = \relative c' { \time 1000/4 \include StaffB_retuned.ly } \score { \simultaneous { \set Score.skipBars = ##t \set Score.melismaBusyProperties = #'() \context Staff=StaffA \StaffA \context Staff=StaffB \StaffB } \layout { linewidth = 170.000 \mm textheight = 250.000 \mm } \midi { \tempo 4=55 } } ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: midi output bug?
Hi, On Mon, 6 Feb 2006, c.m.bryan wrote: The strangest part is that I've had success with this procedure before, so something has changed, maybe in a lilypond upgrade? Any help would be appreciated! Me again. Something jumped into my eye: the number 0x3e8. It is exactly 1000 in decimal. Could it be that you have something as strange as \time 4/1000 in your .ly file? Ciao, Dscho P.S.: I fixed the two instances of the time signature in your midi file, and since it is so small attached it. P.P.S.: The culprit seems to be the int2hex method of String_convert, which converts a large number to more digits than length_i (and in this case even worse: to an odd number of digits). P.P.P.S.: I don't see how Midi_time_signature::to_string() could print the literal 3e8 if den == 1000, since it calls intlog2, which would try to divide as often as possible by 2, and return the number of divisions (i.e. if den == 1000 it would return 3, since 1000/2/2/2 = 125). score-repaired.midi Description: MIDI audio ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: midi output bug?
P.S.: I fixed the two instances of the time signature in your midi file, and since it is so small attached it. That did it!! No more 1000/4 for me ;) Sorry for not suspecting that before, but I don't know a lot about midi files, and I wasn't aware that they contained meter information. Thanks a bunch! -chris ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: midi output bug?
Hi, On Tue, 7 Feb 2006, c.m.bryan wrote: I did a crazy-long time sig because I couldn't remember the cadenza command, and it was just a quick sketch. Maybe that's the problem... Exactly. A midi file can represent only up to 255 beats per measure. Ciao, Dscho ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel