Karaoke Mapping Guide 2

Original guide by Zoggoth. Updated in 2023.

To be able to sing a song at karaoke it needs to have been made into a Karaoke map, specifically one in the Ultrastar format. If there's already an existing map you can request it here, if not you will need to create a map for it.

We’ve written a guide on how to create a map to help with the process. There’s generally 2 routes that your map creation will take:

Required Programs :

There are several Ultrastar editors available however most people use Yass. Regardless of which path you take to map (Manual or Karaluxer) you should have Yass. You should also have Vocaluxe installed to test that your maps work before sending them in to the AV.

To convert songs from Kara.moe you will need Karaluxer.

If you are mapping by hand then using SongEasy to get a base for the song can help speed up the process. SongEasy lets you tap out the rhythm of the song to place lyrics.

You’ll also need some way to get an audio file from a video so you can sync the song and background video perfectly, for this you can use Audacity or FFMPEG.

If you struggle to set the pitches of the notes yourself you can use Ultrastar-Pitch, which does this with AI (to mixed results).

Karaluxer Route:

This is only applicable if the song you want is on kara.moe, if it isn’t you will need to map it by hand.

Using Karaluxer, fill out the following dialogue boxes :

Other dialogue boxes are not compulsory ; use them where you think it is necessary. Mark the song as TV Sized if it is TV Sized (duh).

Karaluxer can try to help you remove any overlaps between lines (such as a chorus singing over the main artist) however (as of April 2023) this tends to be too sensitive and so using “ignore overlaps” and fixing it by hand is the preferred approach.

Karaluxer will produce an Ultrastar format map for the song, however there are still some manual tweaks you must do to ensure the map is good. For instructions on how to actually do these manual edits, read the manual mapping section of this guide.

You’ll probably need to edit the song by hand to remove any overlapping sections, unless you have used the Karaluxer function to do this beforehand.

Karaluxer also spaces notes much closer together than a proper ultrastar map would which makes the songs harder to sing. The image below shows the difference in spacing between a Karaluxer produced map and a proper ultrastar map. The BPM karaluxer is static (1500 regardless of song) so there’s no exact number to reduce the spacing by, just shorten each note until it “feels” right and is easy to sing. However, newer versions of Karaluxer have a field called BPM which allows you to specify the "true" BPM of the song (the BPM should be a multiple, usually 2x to 4x, of the BPM you would get from an online analyzer such that it is somewhere around 300). Doing this makes it easier to properly map the song (e.g. you can usually just shorten each note by 1 beat from each side to get a good spacing, see the manual section below) but also messes up the timings slightly due to rounding, requiring adjustments.

Note for those mapping songs for Anisoc, the output of Karaluxer without any edits is not considered up to par for a submission, and it won’t be added by the AV or will be deleted once we see it if you have not improved the quality of the map.

Manual Mapping Route:

Step 0: Required data

Step 1: Making a base with SongEasy.

In SongEasy, "Pick Song" and set up the images and video.

If you know the BPM (any number of websites let you calculate this) then enter that. Otherwise "Play Song" and tap B to the beat. Delete “First Beat” or leave it as it is, it doesn't make a huge difference.

Go to the lyrics tab, copy lyrics and "Load Lyrics from Clipboard". "Play Song" and tap L on each word as it plays. It doesn't matter if it's a bit off, good enough is good enough and we'll fix it later. You can hold L to extend the length of each beat however that can be difficult to time so it’s easier to tap it and fix the duration later.

If you’re confident you can follow along you can split the lyrics into syllables before running SongEasy and tap for each syllable instead of word. This can be more difficult as its easier to fall behind but it’s how some people prefer to do it as it means you won’t need to split words into syllables later. You might find you work faster in Yass but generally doing syllables in SongEasy is much faster, and you can slowdown the song significantly if you’re struggling to keep up.

"Save UltraStar Song" and optionally, move the folder from your "SongEasy Songs" folder (see top right of SongEasy for location) to a folder of your choice, this should be a folder Vocaluxe and Yass are configured to search for songs.

SongEasy is somewhat buggy and can throw up an error while making lyrics on some longer songs. If that happens press continue, save the file, change the song folder name, then make another file from the point it crashed onwards. Open up both .txts and just replace the end of one file with the start of the other (skipping the section at the start with song title & stuff).

Step 2: Quick fixes

Ultrastar songs are saved as .txt files. These files have 2 sections: metadata and notes. The metadata section is at the top of the file and defines the information about the song, such as the title and artist. The notes section contains all the duration, lyrics and start time of each note in the song.

The metadata section will look something like:

#TITLE:Song Title
#ARTIST:Song Artist
#COVER:Title [CO].jpg
#BPM:Double the bpm you entered (allows more precision)

You should update these tags to reflect the correct information about your song. You can also add the #CREATOR tag to credit yourself and the #ENCODING:UTF8 tag to improve compatibility when using special characters.

If your song is a shorter version of a song, such as an anime opening theme then append (TV) to the name of the song. Use (PV) for things that are not from an anime opening theme but are still shortened (e.g. short music videos for a short version of a song, like IOSYS flash videos such as Cirno’s Perfect Math Class), this helps us maintain an accurate database and makes it easy to know how long a song is.

The notes section of the song defines when each note start, how long it lasts, it’s pitch and the lyric for that note. The format for each line will be <type> <start beat> <duration> <pitch> <lyric> (e.g. : 12 10 5 wo).

There are several possible note types:

Lines in the song are separated by line breaks. In the notes section a line break is written as - <break beat>, where <break beat> is the beat on which the program should switch to displaying the next line in the song (the one following the break).

The file ends with the line E for end.

Step 3 : Editing the Map

Check Yass documentation for a full list, but here is a rundown of the basic keybinds:

Depending on how you fed the lyrics into SongEasy you may have one note per word or one note per syllable. If you have one note per word you will need to split each word so it is one note per syllable. Yass has a split note function that you will need to use to split each word into its syllables, it will not automatically change the lyrics on the new/old notes for you so you need to do that manually (press F4 and change the lyrics so each note contains one syllable.

If you broke up words by syllable and used SongEasy this way, all your notes will likely be too short in duration. Rather than going through each note manually, it is often the case that there is not a long empty space between notes, and so the best thing to do is to select all notes in a line with Ctrl + A, and then Alt + Right on all the notes to extend them until the end of every note hits the start of every note (ignoring the last note of the line). If syllables were done with good timing in SongEasy and the BPM is correct, you should end up with something like a bunch of note length which are multiples of each other, such as a bunch of notes of length 4 and 8. Don’t worry at this stage of ensuring there is space between notes, Yass can correct this automatically at the end (see Step 6).

For syllables that are held for a long time and change pitch as they are held, you can split them into multiple notes and use ~ as the lyrics for the extra notes (e.g. wo.~.~.~ where . indicates a new note)

One thing to be careful of is s/sh sounds, which will be heard much earlier than you want them, shift ahead until you hear the vowel after them (This is something you could do with all notes).

You should edit the length of any notes to reflect how long they should be held for, however to make songs easier to sing there should always be a gap between notes so you shouldn’t make each note exactly as long as it is actually sung for.

Step 4 : Editing Pitches

If you’re tone-deaf you can skip this step by using Ultrastar-pitch to do automatic pitching of the song using AI. This doesn’t give amazing results in most cases so if you are able to it’s best to pitch the song by hand. We’d strongly encourage you go over after Ultrastar-pitch is done and fix any clearly incorrect notes, it helps keep the quality of the maps to a decent standard and makes them more fun to sing. Generally, the most important (and easiest) thing to fix is the octave; ultrastar-pitch pitches only the pitch but puts everything into the same octave, so very high pitches (C, D) can often end up at the bottom while they should be at the top, and very low pitches (A, B) can often end up at the top.

There’s no correct approach to pitching, some people hum the note into a microphone to figure out where to place it, you could try use a MIDI of the song to figure out the pitches or do it by ear. The easiest way is to have Yass play the notes on a piano (Shift + P) without any of the background music, you can then adjust the notes until it sounds correct.
Another brilliant approach (especially for tone-deaf) is to google the sheet music for the song or find a piano cover on YouTube. Usually, one set of notes will correspond to the lyrics/singing, so you can simply copy the pitches. This requires some practice with reading the sheets and some notes may correspond to multiple syllables, but it reliably gives accurate pitches.

Step 5: Final Steps

You can add gold notes to the song. Gold notes award double points and have a fancy effect on the screen when displayed, there’s no need to add gold notes but most maps will have them. There’s no real rule to how you should place them, most people tend to place them in bits of the song that are either “fun”, “hard” or iconic.

Yass has a “error” section, fifth button from the left at the top. This lists everything it thinks is wrong with the song. This generally concerns things such as short page breaks, or notes that are too close together without a spacing. It offers to automatically correct this for you, and the “correct all” does this for all errors of the same type (e.g. fixed all short page breaks). Do note that some warn that “this correction is not safe”, meaning that it will have to shorten the length of a note to provide adequate time for a page break. If you have a lot of these, it may suggest that you should merge lines.

Lastly check the song works and everything is as you’d expect by playing through it a few times on Vocaluxe.

This guide is by no means exhaustive but it should give you enough knowledge to get started with mapping songs. You’re likely to find your own way of doing things as you go along. It may seem somewhat intimidating but once you get the hang of mapping it’s pretty easy for most songs.

If you ever need help you can ask on the Discord in the karaoke channel and someone will help you out.

Anisoc Specific Submission Guide:

Once you have a map you’ll need to submit it to the AV so that they can add it to the Karaoke system. There’s a few things you can do which will help the AV out and ensure your song is working when you go to pick it.

Firstly if the song comes from an Anime please give the AV the Anilist link for that anime along with the submission, this makes it easier to add the song to the website as it saves the AV from having to search for and find out which Anime the song is from.

Secondly, if you are uploading the song to Google Drive make sure there isn’t any apostrophes in the filenames as they will be replaced with underscores (e.g. MINMI - Who's Theme.mp3 becomes MINMI - Who_s Theme.mp3). This will break the map as Vocaluxe won’t be able to find the files for the map. You can avoid this either by removing apostrophes (make sure you update the Ultrastar file to point to the new filenames) or by placing the song inside of a zip and then uploading that.

Lastly, if the video file for your map is very big (>100-200Mb) it’s worth encoding it to a lower quality so it takes up less space (some very large videos can also lag). You’ll need to find out how to do this yourself but Handbrake and FFMPEG are free tools with lots of documentation that will let you do that easily.