UltraStar tool method
Tools used:
SongEasy
YASS
UltraStar Deluxe
FoF Lyric Converter
Step 1: We'll start by using SongEasy (an UltraStar editor). Follow the link above and get the latest version, as a bug that occurred during save has been fixed, and it will save you a lot of recreated work. SongEasy requires the SDL.NET package, which can be downloaded from SourceForge. I've had difficulties with using SongEasy with just the runtime version, if you get crashes on startup of SongEasy, try removing SDL.NET and installing the "sdldotnet-6.1.0-sdk-setup.exe" version. Once you open SongEasy, you can optionally click "Set Songs Directory" to tell it where to save your lyric file. By default, it will save it within the same folder at which the program is running from, in a subfolder called "SongEasy Songs". To start, click "Pick Song" and point it to your audio file, specify a manual tempo in the Basic tab, which it wants to be entered as half the desired tempo (ie entering 150 to specify 300BPM). UltraStar editors prefer a tempo of 300-400BPM, so that you can have decent timing resolution. Going higher may cause performance problems. Find or manually type lyrics into a text editor, verifying they are correct and optionally separating syllables with a hyphen (ie. for "illustrate", type it as "ill-u-strate"). For proper pitched lyrics, all syllables should be isolated in this manner, so it's recommended. You'll need to create these "pitch shifts" to reflect how the lyrics are being sung in the audio. Depending on the song, a single syllable may be sung as if it were several syllables, so the word "a" may end up becoming "a--" or something similar. Select the lyrics and copy them to the clipboard. Select SongEasy's Lyrics tab and click "Load Lyrics from clipboard". It should say if it loaded lyrics and how many words.
Step 2: SongEasy provides a typical key "tapping" method for defining the start and end of each piece of lyric. It even allows you to alter the speed at which the song will play during the tapping process, allowing your lyrics to be more accurate and require less correction later on. When you're ready, click the "Play Song" button. The black bar in the program will show the next piece of lyric it will be timing. When that part of the lyrics is reached in the song, have the L key pressed down. Hold it down until that lyric has been completely sung, at which point, release the L key. Usually, you'll be timing syllable by syllable, so you'll need to have some accurate rhythm to time the lyrics correctly. This often requires, releasing the key and pressing it again very quickly so the next lyric can be timed. Don't worry if you're slightly late/early, you can correct the timing later. If you're very off, you can press the X key to delete the last timing that was placed and rewind the audio to just behind that point so you can retry it without starting over. Once you have timed all lyrics, it will indicate so. At this point, click "Save UltraStar Song". A previous release of SongEasy would fail to save if the "First Beat" field in the Basic Tab was blank. If you are already at this point with an old version (before v4.3), you can try to work around it by manually entering 0 into that field before hitting save.
Step 3: Now that the lyrics are timed, you can make use of the microphone input feature and use your voice to set the pitch of the lyrics. This helps those of us that can't immediately determine the appropriate note and octave for each syllable. Don't fret about not singing perfectly, the pitches will be touched up later. To set the lyrics in SongEasy, make sure you have a microphone plugged in (I used a mini stereo microphone, but I assume a USB microphone would also work). With your lyrics still open from Step 2, click the pitch tab in
SongEasy. Change the pitch method drop down box to "Microphone/Line-in" and ensure that "Play mp3 when clicking Begin" is checked. Talk into your microphone to make sure it shows that it recognizes the input pitch. If it doesn't make sure you have configured the correct microphone in Windows (ie. Open Control Panel, open Sounds and Audio devices, open the Audio tab and make sure the correct microphone is selected for input). The black status bar may say "No Words Loaded", but it will recognize that you defined the lyrics already. When you know your voice is being detected and you're ready to start, click "Begin". You will see the syllables display and be bolded in green when it expects you to sing, so just sing the song. It doesn't show you the entire set of lyrics, so if you want, you can look at your lyrics (ie. in a text editor) during the singing. When you sang the lyrics and the song has stopped playing, click "Save Pitch". If the program crashes, get back on the horse and try again. If you saved at the end of Step 2, you won't have to start over from scratch, just open the song again with "Pick Song" and it will attempt to load the lyrics again. If the audio is loaded from a folder with no other text (.txt extension) files, it should have no problem loading the lyrics you created in step 2.
Step 4: You now have a rough draft of your lyrics. Since humans are not perfect, the lyrics will need to be edited for a professional result. You can use any UltraStar editor you wish for this step, but I found the UltraStar Deluxe program's built-in editor to be pretty effective. If you already know how to use the YASS editor and want to use that, you can skip to Step 5a. To get the tags/etc. set up, open the text file that was created and edit the #TITLE and #ARTIST tags appropriately. If you want to rename your audio file, you can do so, but you have to type/paste the new name following the #MP3 tag. For UltraStar Deluxe, once you have the program installed, set up your Songs folder, and move/copy the folder with your audio and lyrics (your result from step 3) to within UltraStar's audio folder. Open UltraStar and scroll/search for your song. Instead of hitting enter to start singing the song, press E to open it in the editor. The documentation included
with the game is the best resource, but you'll be able to do your editing with a small set of keys (space, P, arrow keys, and the CTRL and ALT keys). You can the arrow keys to select the current syllable or change lines. Press Space to play back just the audio track pertaining to that syllable, for the duration at which it was timed. The audio should start when that syllable is sung and end at or just before the end of the syllable. Use the CTRL, ALT and left/right arrow keys to adjust the start and end times of the lyrics. Press P to play the entire line of lyrics with a tick to indicate the timing position of each syllable (like the clapping feature in Feedback and EOF). The ticking should sound accurate, otherwise adjust your timing accordingly. Once all edits are complete and the ticking for all lines sounds accurate, press S to save the file. You can now exit UltraStar Deluxe, and it's highly recommended you save a copy of your text file. Keep it outside of your UltraStar directory or rename the extension, otherwise you may end up editing or playing the wrong text file (as it won't always be obvious which file is opened when you play back a song in UltraStar Deluxe, each text file will be offered as a different song).
Step 5a: If you skipped Step 4, use Yass to correct the lyric timing as necessary.
Step 5b: Now that the timing is all done, you'll probably want to make sure the pitches are correct. There are a very limited amount of tools to help you select the correct pitch, but the YASS UltraStar editor has a built-in MIDI piano that can play back your lyrics with the audio. This way, you can tell if a pitch needs to be lowered or raised. YASS unfortunately is also pretty buggy and is written in Java, so it can be a CPU hog. But even so, it can still be used for the purpose of pitch correction rather effectively. YASS also allows you to specify a song directory. You can point it wherever you like, such as your usual chart folder or a folder you create specially to create lyrics in. If your lyrics from Step 4 are within the configured YASS song directory, it should list it and you can select it and open it for editing. There are some glitches with YASS that can be worked around. If your lyrics are overlapping your piano roll (lyric note section), make sure YASS is full screen. You can use Pg Up and Pg Down to zoom in and out. Select the first line of lyrics in the top right panel, click the piano key on the left side to enable the MIDI piano and you should see a set of piano keys appear to the left of your lyric notes. This will show the pitch that each lyric is in and will play back a piano sound in the defined pitch when you play back the audio track. The audio and piano may not play in sync depending on how YASS performs on your computer, but you can manually click the piano after listening to part of the audio to see if the currently-set lyric sounds like it has the right pitch. If not, you can click and drag the lyric note up or down and try listening to the audio again. If you used another editor (ie. UltraStar Deluxe) to correct the timing, it may sound slightly out of sync in YASS. Ignore that, YASS has minor sync issues that may make it seem out of sync. I find that if I zoom out a few levels, the audio and piano stay in sync better, but your results may differ. When you finish one line of lyrics, just click the first word in the next line and listen to the audio with the piano, making necessary pitch adjustments. When you are completed, click File>Save. Making another backup would be a good idea.
Step 6: Test the lyrics in UltraStar deluxe or another UltraStar variation of your choosing. You should get a feel of whether it seems accurate. For my first pitched lyrics, I ended up shortening the duration for which various syllables were sung just to make the song more singable. In UltraStar Deluxe, you can press P when singing the song to pause/unpause. During testing, you may want to pause and note any syllables you want to modify to your liking. Using UltraStar Deluxe is convenient because after testing, just go back to the song select screen, your song should still be selected, so just press E to edit it again. After a couple passes, hopefully you have lyrics that are flawless in your eyes. Feel free to get a second opinion, such as having a friend sing it, or post it to an UltraStar forum for feedback.
Step 7: You need to convert the UltraStar lyric file so that it is in the appropriate format for FoFiX. I have written the FoF Lyric Converter command line program to do so, details are here:
viewtopic.php?f=11&t=31765
You have to have a MIDI to merge the lyrics into, so you can take a chart you're working on or create a blank one in your favorite chart editor and convert it to MIDI. Then use the converter to create the PART VOCALS MIDI track for your chart's MIDI file, which will carry a MIDI representation of your pitched lyrics. Post any questions you may have, and I'll do my best to assist.
This is a daunting procedure, but once you have gotten familiar with the tools, you can do all these steps in a matter of a couple hours. Just like charting instrument tracks, charting vocals will become easier and quicker with practice.
As I mentioned, this is not the only way to do it, but with the current availability of tools, I felt that it was important to give a working solution for creating vocal charts. Please provide any experiences you have with alternate tools that may work better, especially with other Operating Systems, as I have only used these tools together on the Windows platform.