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