FAQ: How to add lyrics to a MIDI file song and synchronize syllables to melody notes

Software: GNMIDI 3 (Windows)
Duration: Inserting and synchronizing the song text syllables to melody notes takes approximately 30 minutes for a 3 minutes song.
Manual page:
Try it: test GNMIDI 3 Demo free for 14 days
Questions: if you have problems or questions please ask the author using the contact form below

1. Find out the melody channel from the MIDI song

GNMIDI information window
use menu File/open to load a standard MIDI file. GNMIDI will display information about the MIDI song in a new window.
Start playing the song using space key and listen to the melody sound. Compare the sound with the channel sounds in the information window.
GNMIDI operation mute voices
To make sure that it is the right channel use GNMIDI operation mute voices in menu Modify/sound operations and remove all other channels than the probable melody channel. Play the temporary resulting song and verify if it really plays only the melody.
For unclear situations use the mute voices operation to mute some channels till you know which channel contains the melody notes.

2. Load the MIDI file into GNMIDI

use menu File/open to load a standard MIDI file. GNMIDI will display information about the MIDI song in a new window.
If the song already contains lyrics in a known lyrics format they will be displayed.

3. Start the karaoke editor operation

toolbar button
use menu Modify/Karaoke editor. First a dialog will appear that asks for the melody channel number.

4. Enter the melody channel

melody channel dialog
If the song already contains lyrics that you don't want to use (e.g. wrong language) then check the radio button delete existing lyrics.
If the song has no lyrics (e.g. instrumental) but still want synchronized karaoke syllables you could check the radio button add note names to lyrics.
Press OK to continue with entering lyrics.

5a. Enter the song text

enter lyrics dialog
The lyrics dialog appears if the song does not contain lyrics or if the option delete existing lyrics has been used in previous dialog.
Copy the lyrics text into the dialog edit box (use right mouse popup menu operations copy and paste or use Ctrl+C or Ctrl+V keys) or enter the text manually.

5b. Split lyric words into syllables

The lines and words could be later split into syllables manually.
But it is quicker to do this task in this dialog and later only modify the splitting where it might be necessary to join or split words.
When inserting longer text into the empty box the dialog tries to identify the language. The language can be changed manually using the language box.
For languages English and German this dialog assists with splitting automatically at probable word positions.
For some languages only few often used words are known and splitted. Please use the user dictionary to learn the splitting for next time.
The splitting assistant does not understand the meaning of the text or know all words. Some words might therefore not be splitted as assumed.
This can be done manually by inserting or moving the minus (-) character.
The modified text can be selected with mouse and these words can be added to your user dictionary for the selected language.
When lyrics are already split into syllables as they are probably sung in this song then the assignment to melody notes could be done much faster.
Then only the exceptions remain where the melody might have used more notes for a syllable or where a note is missing for a syllable. This can be fixed in future steps by splitting or joining syllables and assign them to notes.
Press OK when the lyrics are ready.

6. The karaoke editor dialog

karaoke editor dialog
The dialog contains a table with scrollbar vertically with a melody note in each row and text that should be splitted into syllables and synchronized to the correct row (= melody note)
The columns are:
  • lock: the lock symbol can be toggled by clicking into this column of the wanted row. The lock symbol helps to prevent moving syllables that are already synchronized. It is recommended to lock the last syllable of a synchronized song text line.
  • synchronization position: this column shows the bar position of the melody note and is readonly.
  • text: contains the line or word or syllable that is currently synchronized to the note in same row.
  • note: contains a melody note with certain note name. The yellow bar width refers to the note duration. The horizontal yellow bar position refers to the note height.

7. Split song text lines into syllables

First unlock rows that protect unwanted splitting (click into key symbol column if the lock symbol is shown in next lines). This is ok because the rows after this text line are not yet synchronized and the lock is not necessary.
Click into the column of a text line that needs to be split into syllables. Use the right and left arrow keys to position the cursor to a word position that should be split. Press key F7 to split the text at this position. The text behind the cursor will be moved into next line and the following rows text also moved down. If there would be still a lock symbol in one of these rows then this moving would be prevented.
GNMIDI split words into syllables before GNMIDI split words into syllables after
Use key F8 for the case that the splitting was wrong and the parts should be merged again.
Don't remove the spaces after the end of words.
Split only the next line into syllables and then synchronize these syllables and protect them by locking the last synchronized syllable.

8. Synchronize syllables to the correct melody note

Play the part of the song that is currently visible in this table using play button. Try to remember which syllable belongs to which note. Click into a text row that should be moved and use the keys F5 (up) and F6 (down) to move the text to the above or next row including the following text rows.
A lock symbol in one of these rows will protect from moving text unwanted.
Use OK button if you want to keep the synchronized data.
GNMIDI will open a new window for the modified song. The file data is currently in temporary folder.
Use menu File/Save As to save the result file to a new file.

9. Paragraphs and line ends

At the syllable at end of each line you should append a paragraph or a line break. A paragraph break is used between two verses and a line break is used for lines inside a verse.

10. insert rows as exception

Sometimes the melody was not played exactly as the song has been sung by a certain recording. It might be that there are missing notes in the song.
There are some workarounds for such situations:
  • modify the song notes using a MIDI editor
  • merge some syllables that could belong to the same melody note
  • insert a new row between two melody notes at position between and synchronize the extra syllables to this row

11. Repeat the steps 7-10 till the whole song is synchronized.

The GNMIDI demo only allows to synchronize the first half of the song. Please order a GNMIDI license to be able to synchronize whole song.

12. Exit the dialog and save the results

Stop the player first.
Use Cancel button if you don't want to save the synchronized data.
Use OK button if you want to keep the synchronized data.
GNMIDI will open a new window for the modified song. The file data is currently in temporary folder.
Use menu File/Save As to save the result file to a new file.

13. Convert the embedded and synchronized lyrics using GNMIDI

lyrics converter dialog
The synchronization editor uses standard MIDI lyrics format for embedding the synchronized lyrics.
GNMIDI can convert to .kar format or to other popular lyrics formats.

14. Play karaoke using GNMIDI Karaoke player

GNMIDI karaoke display
GNMIDI karaoke animation
Use menu file open to load the MIDI file or .kar file or .mp3 song.
The song text will be displayed if it is already embedded.
Use space key or menu Player functions to start playing the song.
Synchronized song text will be colored live. Embedded chords will be displayed in a chords line above the lyrics. © Günter Nagler Contact