|
From: | Joseph Austin |
Subject: | Re: UTF-8 in MIDI Lyrics |
Date: | Sat, 25 Feb 2017 09:34:05 -0500 |
I don't have a program that displays MIDI files with lyrics, so I can't test it. Both Finale and MuseScore accept LilyPond generated midi files but ignore the lyrics. It appears that, when generating a MIDI file, LilyPond currently just puts UTF8 chars in the text fields as if they were ASCII. According the base MIDI spec, this is illegal; only ASCII chars between 0 and 127 are allowed. However, MIDI RP-17 and RP-26 introduce additional encodings for the <text> portion of the lyric meta-event FF 05 <len> <text>. In particular, RP-26 specifies the "language" code address@hidden to include 8-bit chars > 127. It seems no code for "UTF8" has been officially defined, but a reasonable proposal might be language code: address@hidden It's my impression that the largest body of MIDI files with lyrics are "Karaoke" files (extension .kar), which may not be of interest to LilyPond. I suppose that interest in using MIDI as a "score" language has waned in favor of MusicXML. So for LilyPond purposes, it would suffice to use a reversible encoding, that is, LilyPond would accept any MIDI file text format that LilyPond generates. The apparently existing UTF-8 default should work for that. But if we are going to use a "private standard", we might as well imitate the "official" standard and insert something like FF 05 07 { @ U T F 8 } And lobby AMEI/MMA to adopt an official UTF8 position. Joe Austin |
[Prev in Thread] | Current Thread | [Next in Thread] |