Kickstarter
🚀 Now on Kickstarter! Back us to bring the ultimate karaoke experience to life!

Song Editor

Melody Mania includes an editor that can be used to create a sing-along version of any song.

The following shows how to use the editor.

Table of Content

The following names best practices for settings when working with the song editor.

Audio Latency Settings

  • Low-latency audio playback is especially important in the song editor for precise note positioning
  • You can optimize audio playback latency by changing the DSP Buffer Size option in Settings > Develop > Performance and Effects
    • A restart is required after changing this option

BPM Song Property

  • An UltraStar song has a defined grid size to position notes. The property in the txt file is called BPM.
    • NOTE: The song editor shows 'BPM' as abbreviation for 'beats per minute'. But in an UltraStar txt file BPM corresponds to 'bars per minute in four-four time'. This means you have to multiply the value from the txt file with 4 to get the 'beats per minute'.
  • Lower BPM values means a rougher grid. Higher BPM values mean a more fine-grained grid. For example, a BPM value of 300 in the txt file corresponds to a grid size of 1200 'beats per minute' in the song editor.
  • You can click the corresponding button repeatedly to find the beats per minute of a song.

AI Workflow

Create Song From Local Audio File

  • Use the "Create New Song" dialog in the main menu to create a song from a local audio file.
  • This will create a new UltraStar txt file next to the audio file and run the AI tools (vocals isolation, pitch detection, lyrics alignment) for a quick start.

View Shortcuts and Controls

  • The help dialog shows all available shortcuts and controls

Split Audio to Isolate Vocals

  • Click the button in the AI Workflow toolbar to split vocals audio and instrumental audio
  • Afterwards, lyrics alignment and pitch detection can be performed on the vocals audio

Change the Vocals Isolation Model

  • You can find other models for vocals isolation in the sherpa-onnx documentation
    • Set the Model Id option in the song editor accordingly to change the model. An app restart is required afterwards.
    • The default model is UVR_MDXNET_KARA_2. This model has a good balance of result quality, model size, and runtime performance (even on CPU)
  • For example to use Spleeter instead of UVR, set the model id to sherpa-onnx-spleeter-2stems-int8 and restart the app

Pitch Detection

  • Click the button in the AI Workflow toolbar to analyze the pitch of the vocals audio.
  • Move notes to the detected pitch using the right click context menu on a note or phrase.

Lyrics Alignment

  • Map given lyrics onto the audio via Lyrics Alignment. Therefore,
    • First select an audio range or hit Ctrl+A to select all
    • Then use the corresponding button in the right click context menu or in the AI Workflow toolbar.
  • TIP: Leave the lyrics text field empty to use speech recognition to find the lyrics
  • TIP: Words are split automatically into syllables after lyrics alignment.
    • Therefore, select the correct lyrics language in the left side settings menu.
    • You can disable this in the left side settings menu.
  • NOTE: The AI models have not been trained on singing data.
    • Thus, you may achieve better results by dictating lyrics and speaking clearly, without singing.
    • As alternative, you can always use Button Tapping with Lyrics combined with reduced playback speed.

Change the Lyrics Alignment Model

  • You can find models for further languages on HuggingFace
    • Both, the onnx file (ai model weights) and txt file (vocabulary file) are needed per language. The txt file must be saved in the same folder as the onnx file.
    • Model names include the two letter country code of the language, e.g., 'en' for English, 'de' for German, 'es' for Spanish, etc.
    • The model used is an ONNX export of a Nvidia NeMo Forced Aligner (NFA) model
  • To change the model, set the path to the onnx file in the left side settings of the song editor

Change Playback Audio

  • You can select which audio should be played: the original music, vocals, instrumental, or your microphone recording

Import LRC Lyrics

Edit Lyrics

  • Double click a note or phrase to open its lyrics dialog
  • Or use the right click context menu to open the lyrics dialog
  • Switch to edit mode in the lyrics area to edit the lyrics of the whole song
    • NOTE: Only notes that have been assigned to a player (P1 or P2) are shown in the lyrics area
  • TIP: You can split a note with space and semicolon when editing a note's lyrics

Special characters

  • A semicolon can be used to separate syllables.
  • A space is shown as circle and can be used to separate words.
  • A line break is shown as arrow-left and can be used to separate phrases.
  • A backslash can be used to escape semicolon, space and backslash characters to add them literally to the lyrics. A line break cannot exist literally in lyrics and thus cannot be escaped.

Select Cover, Background, Video

  • Click the preview of the cover, background, or video to change it

Draw to Add Notes

  • Select an empty range to deselect all notes
  • Hold Shift while dragging to draw new notes
  • TIP: The target layer for new notes can be changed in the settings

Button Tapping to Add Notes

  • Start playback then press the corresponding button to add notes
  • TIP: Reduce the playback speed for better accuracy
  • TIP: The used button and pitch can be changed in the settings

Button Tapping with Lyrics

  • Configure lyrics that should be used during button tapping.
  • TIP: Change the caret position in the text field to start at a different word in the lyrics.

Assign Notes to Player

  • Assign selected notes to a player using the right click context menu
  • NOTE: Only notes that have been assigned to a player are saved to the file!

Adjust Following Notes

  • Enable this option to move following notes accordingly

Change Note Type

  • Use the right click context menu to mark a note as
    • Normal - Gives regular points
    • Golden - Gives double points
    • Rap - Gives double points, but does not require a specific pitch to count as correctly sung
    • Freestyle - Does not give points

Note Layers

  • You can hide / show the notes of a layer in the layer menu
  • You can lock / unlock the notes of a layer in the layer menu. The notes of a locked layer can not be edited.
  • You can select all the notes of a layer in the layer menu

Play MIDI Sounds

  • Hold Ctrl while you click on a note to preview its pitch
  • Use the virtual piano to hear a MIDI sound of that pitch
  • MIDI sounds during playback can be enabled / disabled in the settings
  • TIP: MIDI sound during playback can be enabled / disabled per layer in the layer menu
  • TIP: Configure a (negative) delay for MIDIs sound during playback in the settings to synchronize playback and MIDI sounds

Import MIDI / KAR File

  • You can import lyrics and notes from a MIDI file (aka. KAR file if the MIDI file contains lyrics)

Fix Warnings and Errors

  • Click on a warning / error to view its message
  • Click on a warning / error in the menu to jump to its position

Change GAP (aka. Time to First Lyrics)

  • Change the GAP (i.e. the time to first lyrics) using the right click context menu

Change Medley Start and End

  • Change the start and end of the song when used in a medley or as short song

Change Video Offset

  • Change the video offset by dragging left / right on the video preview
  • Reset the video offset using the right click context menu on the video preview
  • Go to previous positions via Alt+Left Arrow
  • Go to next positions via Alt+Right Arrow

Record Audio

  • The AI models have not been trained on singing data. Thus, you may achieve better results by recording audio without singing.
  • Configure a microphone and click the recording button
  • Speak clearly in the microphone
  • Your recorded audio is shown in red in the overview bar at the bottom