GNMIDI

Table of Contents Keyword Index

Karaoke Editor
Previous  Top  Next

This karaoke editor adds your song text to a MIDI file and is used to synchronize song text syllables to melody notes.

Hint: Unregistered demo version (to try this Shareware product) allows to synchronize first half of the song only (for testing purpose). Registered program version allows to synchronize whole song.

Important: The melody notes must be already available in the MIDI file, without existing melody notes this editor is not useful to synchronize comfortable, use Synchronization editor instead to synchronize song text lines.

Start the karaoke editor for the current MIDI document with shortcut key Ctrl-K.


dialogchoosemelodychannel


Choose the melody channel
You are asked to enter the melody channel (1-16).  

delete existing lyrics
check this option if existing lyrics should be ignored (that you can start editing from beginning with empty lyrics)  

add note names to lyrics
check this option to add the note names of melody notes as default lyrics (instead of entering a song text)  


dialogenterlyrics

Song text
If the song does not contain lyrics yet a dialog is presented where you can enter the full song text. You can copy the song text from clipboard into  
the edit field (open context menu with right mouse click). It is not necessary to enter the song text here, the song lyrics (syllables) can be entered later direct to the corresponding melody notes.  
The entered song text will be split into words and assigned to the melody notes word by word. The words can be split into syllables later in the editor simply whenever it is required for assigning word part to a note (the grammar rules for splitting words into syllables don't apply here for this purpose).  


dialogkaraokeeditor


The Karaoke Editor dialog shows a scrollable table of melody notes and available lyrics:

Columns
·LOCK/UNLOCK (key symbol toolkeylock)  
this small column area is used to mark a table row locked (locked when key symbol is displayed). A locked row is protected against moving or modifying. Use this feature when a line is completely synchronized so that it won't be moved away by accident. It is not necessary to lock all lines, add the lock to the last syllable of the line. When adding a line or paragraph row then this row will get the lock automatically.  
·POSITION (beat number.MIDI unit)  
this column contains a logical MIDI position for each row, positions cannot be moved, new positions can be entered between existing positions.  
·LYRIC  
this column contains words or syllables that are currently assigned to a melody note or other position. During editing a row (that is not locked) can be selected and then the lyric column will display an edit field where the lyric text can be entered or modified.  
«      is shown in a table cell to break the song text line at this position.  
¶      is shown in a table cell to break a paragraph at this position.  
·NOTE  
This column displays melody notes as coloured bars which display the note name. The horizontal beginning position of the bar gives a visible hint about the note height (it starts more right if note is higher). The bar width gives a hint about the note duration (the wider the more longer the note is played).  

Hint: Click (with left mouse button) into LOCK column will toggle the locking state. Click into the other columns will select the row and offer an edit field for changing the lyric.  

Scroll bar
Use the scroll bar to show the rows before or after current table page. Use the arrow keys UP, DOWN, PAGEUP, PAGEDOWN scroll the rows manually.  

Text preview
The text currently contained in the page rows is displayed in preview area below, this displays also the line and paragraph breaks, that helps to find out where line or paragraph breaks are still missing.  

insert pos
inserts a new row before current selected row. It suggests a position in the middle of previous and current row position. The position must be specified in beat.unit e.g. 16.32 . Use this operation when there are syllables in the song text that should be assigned to a position between two melody notes.  
 
append pos
inserts a new row between current selected row and next row.  
 
Paragraph
appends a paragraph end marker ¶ to current row text. A paragraph separates melody lines that don't belong to same verse. The row will be locked to prevent it from being moved without intention. Add paragraph when a song text line is correctly synchronized.  
 
Line
appends a line end marker « to end of current cell text. A line separates two melody sentences that belong to same verse. The row will be locked to prevent it from being moved without intention. Add line when a song text line is correctly synchronized.  

play/stop
starts playing from song position of the top row of this page till stopped by user or end of song. The rows will be highlighted at matching row positions. The playing speed is controlled by option normal/slow. The button caption toggles between play and stop depending on the current playing state. Warning: Space key can't be used here to start/stop the player since space key is used to enter the space character into the edit field.  
Hint: Playing automatically stops when using an edit operation or selecting a row (by click on the row).  
 
Hint: Player starts to play directly at the time when the melody note first on the current page begins. You can force the editor to play some time (in milliseconds) earlier before top row note begins with following gnmidi.ini setting:  
   [Settings]   
   KaraokeEditPlayerStartDelay=2000  
 
normal/slow
the option defines the playing speed when using the play button. Toggle between normal speed and slow speed. Normal speed will play the MIDI song in original tempo. Slow speed is defined to default 60% of original song tempo.  
This setting can be changed in gnmidi.ini file:  
            [Settings]
            KaraokeEditSlowPercent=60
 
Save
This button saves current karaoke song to a temporary MIDI document (opens a document window). Don't forget to use Save or Save As operation in the file menu. The resulting MIDI file will be in format 0 and contain standard MIDI lyrics. Use karaoke conversion or .kar conversion operations to change the lyrics format.  


Cancel
use this button only if you want to abort the editing without saving the modifications. You are asked to confirm this decision. This is useful when you are trying the Karaoke editor functions.  

Move upward
moves the text in current selected row and rows above up one row till an empty row is found. The operation will fail if no previous empty row is currently available till first row. Key F5 can be used for this function.  
 
Move downward
moves the text in current selected row and rows below down one row till an empty row is found. The operation will fail if no next empty row is currently available till last row. Key F6 can be used for this function.  
 
Hint: GNMIDI appends empty rows at end of song so that there will be new space for moving downward when necessary. If there is no free row till next move downward, GNMIDI will try to generate a new free row by merging the last to syllables before next locked row.  
 
Split syllables
splits a word in current row at cursor position into two syllables. The syllable on the right side will be moved down one row (including text in next rows) till a free row is found. The operation will fail if no next empty row is currently available till last row. Key F7 can be used for this function.  
 
Hint: Each time when you split a word into two syllables GNMIDI searches for same words after current position and tries to split it into syllables same way (only possible if not locked and free row available till next locked row). This auto split syllables behavior can be turned off with following gnmidi.ini setting:  
   [Settings]   
   KaraokeEditAutoSplit=0  
 
Merge syllables
merges the text of current row and next row to one text in current row. The text of next row will then be empty. The selection moves down to the empty row. Key F8 can be used for this function. This function is also necessary when moving text fails, because the function generates empty rows after merging text rows.  
 
Editor Modes
The Karaoke editor has two modes that can be switched any time by pressing play/stop button:
·PLAY MODE  
this mode is used to check if the synchronization is correct by playing from beginning from a song position where top row is located. Define the playing speed with normal/slow button and play/stop the current song part. The rows are highlighted white whenever the song reaches a row position and rows are automatically scrolled into view.  
·EDIT MODE  
this mode is used to enter or modify lyrics in rows, move rows up or down insert/append new rows, append line or paragraph breaks, split or merge syllables. Select a row to perform a function at this text or position.  

Enter/modify song text
click with left mouse button into a row (columns 2-4) to select the row for editing. An edit box will be displayed in this row inside column 2 that contains the current lyric text. You can enter new text or modify existing text in this edit field. Use arrow keys UP/DOWN to get directly into previous/next row edit box.  


Hint: While entering text it is not important that words/syllables are already entered into the correct synchronized row. It is easier to synchronize the entered text later where you can split/merge syllables, move lyrics up or down later quicklier.  

Important: Space characters are shown with a point in the middle of the character, so that the are visible during editing. Spaces between words should be always at end of a syllable. Look into preview text area so that you can see if words are correctly separated by spaces and that no space is in middle of one word that is split into syllables.  

Hint: Don't enter special formatting (e.g. .kar format) instructions except line break « and ¶ at end of syllable. The save operation will save in a standard lyrics format that can be converted with GNMIDI later (to .kar or other karaoke formats).  

Synchronizing song text
for synchronizing syllables you need to move the lyric syllable to the row of the corresponding melody note or a self defined position between two melody notes. Notes can't be moved only the text content can be moved up or down into a row that contains the melody note. For moving a row with empty syllable/word must be available in this direction. Locked rows can't be moved, an error message will be displayed when no available free row is found that is necessary for moving.  


Example for moving text upward (before and after pressing key F5):  
viewmoveup1viewmoveup2  


Example for moving text downward (before and after pressing key F6):  
viewmovedown1viewmovedown2viewmoveup2  


When no empty row can be found or generated (or a locked row prevents from being moved) then following message will be displayed:  
   No free element found that elements can be moved.  
 
Hint: Lock some rows that contain already synchronized text so that this text is not again moved away by accident by a further move operation.  

Hint: It is not necessary that all melody notes have corresponding syllables, sometimes a syllable is specially interpreted by a series of notes. Rows that don't contain text will be ignored at save. Look also at position information, when two positions are very close then it can be better that only first of these rows contains text and second is left empty.  

Split words into syllables
First select the row that contains the word, move the cursor in the edit field to the position between the two characters that are to split into two syllables. Press F7 to split the current word into two parts. The right half of the word will be moved down into row below. For successful splitting it is necessary that a row with empty content is available somewhere down, so that next row content can be moved down.  
If no empty row is available then this will be displayed in an error message. Then you should look at rows below and merge some rows so that at least one free row will be generated. It is possible that the MIDI song contains less melody notes than are necessary for synchronizing all verses. In this case it is necessary to delete some verses.  


Example for splitting a word into syllables (before and after pressing key F7):  
viewsplitword1viewsplitword2  


Hint: Since splitting moves down rows content it is recommended to lock important rows behind current row that are already synchronized.  

Hint: Since the splitting is only done for synchronizing spoken parts of word to notes you don't need to follow any rules of language grammar here. Split wherever you think that word parts are played by different notes.  

Hint: After each splitting of a word GNMIDI tries to find identical words behind current position and splits it same way if possible.  

Merge syllables to a word or sentence
select the first row of two adjacent rows that contain text that should be merged into one row content. Press F8 to merge the text of current and next row.  


Example for merging two rows to a word or sentence (before and after pressing key F8):  
viewmerge1viewmerge2  



dialogaddposition


Insert a syllable between two melody notes
Usually song text is directly assigned to melody notes, but in certain cases there is no melody note available for a syllable (e.g. the song author made a little mistake and forgot to play a note, or the author uses the pitch bend wheel to play certain parts).  
Use the insert or append pos buttons to define a new position between the two melody note positions. A new row will be inserted where you can enter the text for this position.  
 
Hint: Currently no modify or delete position function is available. Leave the row empty if the position is not useful for the syllable. Empty rows are not saved.  

Add line breaks or paragraph breaks behind synchronized text lines
Each song text lines should be ended with a line break or a paragraph break. Look into the preview text area, if the lines are too large then you should break them directly after last syllable of the sentence. Use line break for lines inside a verse, use paragraph break after last line of a verse. Rows that contain a line break or a paragraph break will automatically be locked with the key symbol. That prevents that the synchronized line might be moved by accident. If the line break was added wrong then unlock this row (click into first column of this row) and delete the « character manually.  

Hint: Don't use paragraph break and line break « at same position.  

Hint: Unlock all locked lines at once on your own risk with key F9. Use that only when you want synchronize whole song again from beginning, e.g. if you started with line synchronization editor and now want to synchronize syllables. It is dangerous to unlock synchronized lines, that lines could be moved unwanted to wrong positions.  

Save a modified karaoke song
First exit the dialog with save button. That will create a MIDI document window in your GNMIDI environment. Use Save As operation to save the MIDI file.  
 
Hint: The dialog can be resized with help of dialog frame and title bar.