Regarding karaoke, there's a big difference between official recommendations and the real world.
The best source for the official format is
RP-026 which is already very precise.
Problem 1: Nobody seems to care about it.
Problem 2: The Encodings are very limited. (Only LATIN-1 and Japanese Shift-JIS are allowed).
In the real world most files use text meta events but some use lyrics. In both cases their format is oriented to Softkaraoke (more or less), starting with
@KMIDI KARAOKE FILE, and using
/ and
\ for new lines or new screens.
But as Bavi_H mentioned, the track numbers are very different.
Sometimes all special tags as well as the lyrics are in the same track. Sometimes the special fields (@K, @V, @I) begin in the first track, sometimes in the second one, and sometimes there are even different karaoke formats in the same file, like in Bavi_H's file.
(He used the second and third track for Softkaraoke format and the fifth track for LYRICS events.)
@Bavi_H:
Ideally I wanted to find examples of official files that were made to go along with the original KAR software (Soft Karaoke), or find software and files that claim to follow the official MMA Lyrics standard (is there any such software?) to confirm I'm doing things correctly.
I'm not aware of any MMA compliant software apart from my own:
Midica.
At least I
think that Midica is compliant to RC-026. I cannot test it due to a lack of compliant example files.
The Karaoke Engine of Midica can play every format I've seen so far, including the official standard that I didn't see yet.
If there are different formats in the file, Midica counts every text and lyrics events in every track and chooses the one with most hits. This is the format that's used for display. Otherwise it could happen that syllables are displayed twice.
The built-in Music Programming Language (MidicaPL) can produce Karaoke files in the following formats:
1. The official recommendation (using simple
lyrics as
Channel Options and special fields as
Meta Information)
2. Softkaraoke (using
lyrics as
Channel Options again, and special fields as
Softkaraoke Meta Fields
If a SOFT_KARAOKE block is missing, the RC-026 compliant format is used. Then the special fields are included in Lyrics fields as {#title=...}, and so on, in the first track. The rest of the lyrics is included as LYRICS events in the second track.
For the Charsets, Midica is not limited to ANSI and Shift-JIS but allows any Charset that's available on the OS. (So strictly speaking, it's
not standard compliant in this case.)
If a SOFT_KARAOKE block is available, the according special fields are included as follows:
- @K, @V or @I in the first track
- @L and @T in the second track (together with the normal lyrics, as TEXT events)
I'm also interested if there's any other software that can produce or consume RP-026 compliant files - especially with meta fields.
Than it would be easier to verify if the format is correctly implemented in Midica.