🎤 Lyric Editor & Visualizer

MidiEditor AI includes a full Lyric Editor with a dedicated timeline lane below the piano roll and a Lyric Visualizer karaoke widget in the toolbar. Import lyrics from text, SRT subtitles, or LRC karaoke files, sync them to the music with the tap-to-sync dialog, and watch them scroll during playback with a karaoke-style color sweep.

All lyric operations support full undo/redo via Ctrl+Z / Ctrl+Y - each drag, resize, split, merge, and import is a separate, undoable action.

Full MidiEditor AI window in Sakura theme showing four tracks, piano roll, and the lyric timeline lane with colored phrase blocks at the bottom


Lyric Timeline

The Lyric Timeline is a visual lane that sits below the piano roll and above the velocity area. It displays lyric phrases as colored blocks aligned to the MIDI timeline, synchronized with the piano roll’s scroll position and zoom level.

Close-up of lyric blocks showing syllable-level text in colored rounded rectangles along the timeline

Key Features

Editing Lyric Blocks

ActionHow
MoveDrag a block to reposition it along the timeline
ResizeDrag the left or right edge to adjust start/end times
Edit textDouble-click a block for inline text editing
DeleteSelect a block and press Delete or Backspace
Multi-selectShift+Click to select a range of blocks

Context Menu

Right-click a lyric block to access:

Right-click context menu on a lyric block showing Edit Text, Delete Block, Split at Cursor, Merge with Next, Insert Block Before, Insert Block After

Right-clicking on empty space shows:


Tap-to-Sync Dialog

The Sync Lyrics dialog lets you time lyric phrases to the music in real time. Play the song and hold the Space bar while each phrase is being sung - press for the start, release for the end.

Open via Tools → Lyrics → Sync Lyrics (Tap-to-Sync)…

Sync Lyrics dialog with teleprompter showing upcoming phrases, colored timeline markers, playback controls, and sync progress counter

How It Works

  1. Import or create your lyric phrases first (via text import or manual entry).
  2. Open the Sync dialog - your phrases appear in a teleprompter view (next 8 upcoming).
  3. Press Play to start playback.
  4. Hold Space while each phrase is being sung:
    • Press → captures the phrase start time
    • Release → captures the phrase end time
  5. Colored markers appear on the timeline as you sync each phrase.
  6. Click Done when finished.

Controls

ControlAction
Space (hold)Mark current phrase timing (press = start, release = end)
Play / StopStart or stop playback
Rewind 5sJump back 5 seconds
Undo LastRemove the most recent sync marker
Scroll EditorAuto-scroll the background editor during playback

Import & Export

MidiEditor AI supports multiple lyric formats for both import and export. All options are under Tools → Lyrics.

FormatImportExportNotes
Plain Text One phrase per line. Options to skip empty lines and section headers [...]. Configurable default duration and start offset.
SRT Subtitles Standard SRT format with HH:MM:SS,mmm timestamps. Auto-converted to MIDI ticks using the file’s tempo.
LRC Karaoke [MM:SS.cc] format with metadata header (artist, title, album). Supports MidiBard2 extension: [MM:SS.cc]BardName:Text.
MIDI Text Events Type 0x05 (Lyric) and Type 0x01 (Text) meta events. Automatically imported on file load.

Import Lyrics dialog with text area, skip-empty-lines and skip-headers options, duration and offset spinners, and three import mode buttons

Importing Plain Text

Open Tools → Lyrics → Import Lyrics (Text)… to paste or type lyrics line by line. The dialog offers a live preview and three import modes. Configure the default phrase duration and start tick, and choose whether to skip empty lines or section headers.

Importing SRT

Open Tools → Lyrics → Import Lyrics (SRT)… and select an SRT file. Timestamps are automatically converted to MIDI ticks using the file’s tempo and tick resolution.

Importing LRC

Open Tools → Lyrics → Import Lyrics (LRC)… and select an LRC file. Metadata tags ([ar:], [ti:], [al:], [by:], [offset:]) are imported and stored as lyric metadata.

Exporting

Export via Tools → Lyrics → Export Lyrics (SRT)… or Export Lyrics (LRC)…. The LRC export includes metadata headers when available. You can also write lyrics back to the MIDI file as Type 0x05 Lyric meta events (this happens automatically on save if lyrics exist).


Lyric Visualizer

The Lyric Visualizer is a karaoke-style toolbar widget that displays lyrics during playback. It appears in the toolbar and auto-hides when no lyrics are loaded.

MidiEditor AI toolbar with the Lyric Visualizer widget showing the current phrase with karaoke color sweep and next phrase preview

Display

Visualizer in Action

Dark theme with SRT-imported lyrics (left) and Sakura theme with built-in MIDI lyrics (right):

Dark theme - SRT lyrics
Sakura theme - built-in lyrics

Appearance Settings

Lyric appearance can be configured in Settings → Appearance:

SettingDescription
Lyric Color ModeChoose Fixed Color (default pinkish) or Track Color to match track colors automatically.
Lyric Block ColorCustom color picker when using Fixed Color mode.
Auto-show Lyric TimelineAutomatically show the timeline when opening a file with lyrics.

Customize Toolbar

The Lyric Visualizer can be toggled on or off in Settings → Customize Toolbar:

Customize Toolbar settings page showing the Lyric Visualizer checkbox at the bottom of the toolbar actions list

Lyric Settings & Metadata

For LRC export, you can edit metadata fields: Artist, Title, Album, Lyrics By, and Offset (ms). Access via the context menu → Lyric Settings or the metadata dialog.

Lyric Settings dialog showing metadata fields for Artist, Title, Album, Lyrics By, and Offset


Keyboard Shortcuts

ShortcutAction
Ctrl+LToggle Lyric Timeline visibility
Ctrl+Shift+LImport Lyrics (SRT) dialog
Delete / BackspaceDelete selected lyric blocks
Space (in Sync Dialog)Hold to mark phrase timing

💡 Tips


All lyric features are accessible from Tools → Lyrics:

Tools menu showing the Lyrics submenu with Import SRT, Import Text, Sync, Import LRC, Export SRT, Export LRC, Embed in MIDI, and Clear All options

The Lyric Timeline toggle is in View → Lyric Timeline (Ctrl+L).