Skip to content

Latest commit

 

History

72 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lokal TTML Editor

icon kuro!!!

A standalone desktop editor for creating, timing, and fine-tuning word-level TTML lyric files. Built primarily for Lokal Music, but fully compatible with any system supporting rich TTML (including Spicy Lyrics).

Compatible with Spicy LyricsLokal TTMLLicenseDiscord


Key Features

  • Project & Session Management: Dedicated project workspaces with automatic background saving (up to 20 restore points), crash recovery, and persistent state across launches.
  • Smart Lyric Ingestion: Automatic search & pull via LRCLIB.net, or import local .lrc, .ttml, and .txt files. Includes side-by-side spellcheck/diff with LRCLIB sources.
  • Spicy Lyrics Automation: Auto-normalizes text on input (splits compound words, moves parenthetical text to background vocal tracks, and handles punctuation cleanly). Includes metadata validation on export.
  • Waveform Editing: Interactive audio waveform with zoom support (Ctrl + Scroll), region markers, colored vocal boundaries, and bulk timestamp shifting (Ctrl + Click + Drag).
  • Multi-Layer Vocal Support: Native support for Main, Background (x-bg), and Duo/Harmony (x-alt) vocal layers with instant slot swapping.
  • Live Karaoke Preview: Refactored real-time preview with customizable styles, smooth auto-scrolling, lyric blur effects, and click-any-word-to-seek playback.
  • Audio Engine Tuning: Speed playback dropdown, pitch preservation toggle, and manual audio latency offset adjustments to counteract audio buffer delays.
  • Theme & Preset System: Fully customizable UI themes with exportable/importable .lttheme preset files.

Getting Started

Development

npm install
npm run dev

Packaging

npm run build

How to Use

  1. Load Audio: Open your local track (.mp3, .flac, .m4a, .ogg, .wav, .aac, .opus).
  2. Import Lyrics: Click Search LRCLIB to fetch lyrics online, or Import File to load an existing .lrc, .ttml, or .txt.
  3. Prep & Structure:
  • Enable Spicy Lyrics Prep in settings to auto-sort background vocals and hyphenated words.
  • Manually split words with \ in the editor box if needed.
  1. Time Words:
  • Select a line and word chip.
  • Play audio and hit S to mark start times, E to mark end times.
  • Use Tab / Shift+Tab to move between word chips smoothly.
  1. Adjust & Refine:
  • Ctrl + Click + Drag on the waveform to bulk-shift timing (great for mismatched intro lengths).
  • Toggle Tap-to-Time or use the speed dropdown for precise millisecond alignment.
  1. Export: Click Export TTML (or Export LRC). The built-in validator will warn you of any missing metadata or overlapping timestamps before saving.

Shortcuts & Controls

Input Action
Space Play / Pause audio
S Set selected word Start to current playhead
E Set selected word End to current playhead
Tab / Shift+Tab Next / Previous word chip
/ Seek ±0.1s
Shift + → / Shift + ← Seek ±1.0s
Ctrl + Scroll Zoom in / out on audio waveform
Ctrl + Click + Drag Bulk shift lyrics on waveform
Double-click word Jump playhead directly to word start time
Click Preview Word Jump playhead to word in Live Preview

Vocal Roles & Formatting

Type TTML Role Color Identifier
Main Vocals (default) White / Active Highlight
Background Vocals ttm:role="x-bg" Purple
Duo / Harmony ttm:role="x-alt" Orange

Importing into Lokal

Once exported:

  1. Open Lokal Music and play the corresponding track.
  2. Open the Fullscreen Lyrics view.
  3. Click Import (top right) and select your .ttml file.

License

Distributed under the MIT License.

About

TTML Editor for the Lokal program, used to create Apple-Like synced lyrics.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages