Matthew Skala:
> On Thu, 18 Sep 2025, Stephan Schöll wrote:
> > I'm investigating whether I can produce vocal rehearsal tracks with
> > Synthesizer V Studio 2 Pro by importing MIDI files which I rendered with
> > Lilypond based on the score.
> Not exactly the issue you're asking about, but I recently had to help
> someone who was trying to get music with lyrics from Sibelius into
> Synthesizer V, and what became a significant issue was the splitting of
> words into syllables.
> 
> In sheet music, when a word is split across multiple notes (typically with
> one syllable per note), you often want each syllable to be written with
> its corresponding note.  There are other conventions possible, as
> discussed in the Lilypond manual.  But Synthesizer V expects the *entire*
> word on the *first* note, and then a plus sign "+" on each subsequent note
> of the word, which it interprets as "sing the next syllable of the word";
> and that's certainly not what most vocalists expect to read in the sheet
> music.  Splitting the syllables in sheet music style causes Synthesizer V
> to try to interpret the spelling of each syllable as a word in itself,
> often getting the wrong pronunciation.
> 
> If you don't want your sheet music to be engraved with the
> whole-word-and-then-plus encoding, then you have to make a separate set of
> lyrics just for generating the MIDI, or else you have to do extensive
> human editing of the syllable breakdowns in Synthesizer V after you import
> the MIDI file.

I think it is possible, after the fact, with some program, to do the 
above.

A first step to that end would be to make lilypond add a " " (space) at
lyric word ends, as in example below.

 Using theese files:
https://aspodata.se/choir/midi/example/In_natali_domini.ly
https://aspodata.se/choir/midi/example/In_natali_domini.midi
https://aspodata.se/choir/midi/example/In_natali_domini.dump

where the .midi is produced by lilypond 2.25.1,
and the .dump is produced by midi.pl [1] from the .midi file
(midi.pl In_natali_domini.midi > In_natali_domini.dump).
[1] https://aspodata.se/git/musik/bin/midi.pl

In .ly file lyric for 1st verse is:

 la = \lyricmode {
   \set stanza = "1. " 
   In na -- ta -- li do -- mi -- ni
   Gau -- dent om -- nes an -- ge -- li
   Et can -- tant cum iu -- bi -- lo
   Glo -- ri -- am u -- ni de -- o.
 }

and the dump shows midi content to be:
    # Track #2 ...
    MIDI::Track->new({
      'type' => 'MTrk',
      'events' => [  # 30 events.
        ['track_name', 0, 'v1:'],
        ['lyric', 0, 'In'],
        ['lyric', 3072, 'na'],
        ['lyric', 1536, 'ta'],
        ['lyric', 1536, 'li'],
        ['lyric', 3072, 'do'],
        ['lyric', 3072, 'mi'],
        ['lyric', 1536, 'ni'],
        ['lyric', 4608, 'Gau'],
        ['lyric', 3072, 'dent'],
...

I.e. lilypond midi output doesn't shows where the words end.
It would help if lilypond midi lyric output added a space as a word end 
indication, like if the above dump became:

    # Track #2 ...
    MIDI::Track->new({
      'type' => 'MTrk',
      'events' => [  # 30 events.
        ['track_name', 0, 'v1:'],
        ['lyric', 0, 'In '],
        ['lyric', 3072, 'na'],
        ['lyric', 1536, 'ta'],
        ['lyric', 1536, 'li '],
        ['lyric', 3072, 'do'],
        ['lyric', 3072, 'mi'],
        ['lyric', 1536, 'ni '],
        ['lyric', 4608, 'Gau'],
        ['lyric', 3072, 'dent '],
...

Regards,
/Karl Hammar



Reply via email to