Releases: sipbuu/lokal-ttml
Release list
Release v1.4.0
This release brings an overhaul to the Preview Style, expands control over tap-to-time and adds project progress percentages alongside useful compatibility checks.
Features added:
- Universal Update Checking: Updated the version checker to support update detection across all OSes
- Spicy Lyrics Metadata Check: Added automatic metadata verification upon an export to ensure full compatibility with Spicy Lyrics format requirements.
- Project Progress Meter: Introduced a completion progress bar for projects to track completed versus remaining untimed/auto-timed words.
- Manual Tap-To-Time Toggle: Added the ability to manually toggle tap-to-time mode on demand for cases where you start off a project and click off of it, or simply just want to do it for your currently selected project.
Quality of Life:
- Preview Style Overhaul: Completely overhauled the preview style lyrics to be a lot similar to the Spicy Lyrics interface, to help you picture how it might look within Spicy Lyrics (although, for the best experience, testing it within Spicy Lyrics is still recommended).
Fixed Issues:
- Word Split Spacing: Fixed an issue where joined or split words would display with awkward tiny space between them.
- Progress Meter Counted Words: Now only counts the edited words done by a user rather than for any with a "start" and "end" (which included automated words)
- LRCLIB Sync Clarification: Fixed label messaging to clarify that tap-to-time does not automatically sync timestamps to LRCLIB's lines, so doing tap-to-time will not have everything auto done for you if you were to click off.
Please report any issues or pull requests for bugs and improvements.
Binary Checksums (SHA-256)
Lokal TTML Editor-1.4.0-arm64-mac.zip:
[FB26417A5A58B4FD424D10BA66760A16522390F1EFEDA8E73D3267052EA49263]
Lokal TTML Editor-1.4.0-arm64-mac.zip.blockmap:[2E4231A52B196A4891E97C5040769A35DA374C7491888E4364D6019D0B3797D5]
Lokal TTML Editor-1.4.0-arm64.dmg:[84A434BF8F812B872303017891C19DAAE049DABC49ABAE3713BC534B086FC5DB]
Lokal TTML Editor-1.4.0-arm64.dmg.blockmap:[70428AB3F7FE5421C1AC92B7489DB3A9E497E740DF5D607212E5911F98BA03E9]
Lokal TTML Editor-1.4.0.AppImage:[45FE554398DD41D0DE694D684388633F5CDF66A009AC7A15A925A8179946A804]
Lokal-TTML-Editor.exe:[9093E5074D1D4F1D1A8C141B7A8D9005428D1F101860BDC1FB77F76A34B805F5]
builder-debug.yml:[BCE4E4E6DE325BB7A48C4D36EEC4FB21C51EA4F2D51076BB60731B9AB1A358C8]
latest-linux.yml:[324174867CCD527993D05D6573BD9606EB1CF0163E237DD9F100EB85950F3B8A]
latest-mac.yml:[6657DE204F4F77C400317DC67404C67F5C725E73258407D16447ABFBFB7AB9A1]
lokal-ttml_1.4.0_amd64.deb:[25B748463CD99A2D1FD58679F873B112A718696971DFFCA2843203DB1E560260]
Full Changelog: https://github.com/sipbuu/lokal-ttml/commits/v1.4.0
Release v1.3.0
This release adds a few new useful features regarding audio latency and waveform handling, as well as some QOL to help users out.
Features added:
- Waveform Markers: You can now mark/flag certain areas of text/a song so that it is easier for you to remember a chorus/duet/certain region of a song.
- Drag To Retime/Bulk Shift: Added after my own run-in with this issue, but in the case you used a song with a longer intro then the version on Spotify, you can now bulk shift lyrics to a new starting point by ctrl + clicking and then dragging on the waveform. (Must have both options: On, for drag, to prevent any accidental movements.)
- Click Word to Seek: You can now click on any specific word in the Live Preview and jump to it's start at any moment, useful in cases where you need to check if the word is correctly positioned/correctly timed.
- Pitch Preserve Toggle: Because our speed timer by default uses
preservePitch, you can now toggle this OFF in settings (with the downside of deeper sounding audio) to prevent any audio latency that can factor in with having to go through an audio buffer. - Manual Offset Timing: (applies to above). You can also manually correct the delay yourself if you would like to have
preservePitchon, though this is finicky, so experiment at your own will. - Reset to Blank Button: Button near the bottom of the project's dropdown in order to reset all words, lines, and audios to a blank state (does not affect settings). Useful if you're not a fan of the persistent state when starting up the app and want to start fresh/from scratch.
Quality of Life:
- Preset Export/Import: Under settings, you can now export your theme/presets + overrides as a
.ltthemefile and share it freely to others for them to import into their own editor. - Validation Check for Timings: Validation now checks bg/duo word timings, and fully checks whether all words have timings, and notifies you if you're missing out on a word.
- LRCLIB Lyrics Spellcheck: Ability to compare your lyrics to LRCLIB's, useful in cases where your source could be incorrect, however, LRCLIB is not always the correct way, so take the "diff" of the two with a grain of salt.
- Multi-song queue: Queue for multi-songs, not really much else to say.
Fixed Issues:
- Native Prompt(): Earlier implementation in
v1.2.0usedprompt()which is not valid in Electron, so it is now a custom prompt modal. - Project Persistence: Persistence of the app knowing what project you're on is fixed, before the app never set the project to persist through a closing, meaning that opening the app again would treat it as if you were "Saving New" for the first time.
- Hard-coded Updater: Updater from
v1.1.1had a hard-coded set version number, but there is now implementation for checking what version you are on and getting the latest from Github. (though, this only supports Windows so far, sorry....)
Please report any issues or pull requests for bugs and improvements.
Binary Checksums (SHA-256)
Full Changelog: https://github.com/sipbuu/lokal-ttml/commits/v1.3.0
Lokal TTML Editor Nightly (main)
This is a nightly build, code may/may not be fully functional.
Last commit note/date: Enhance release workflow with commit message and notification at 2026-07-27 20:06:20 UTC
Please report any issues or pull requests for bugs and improvements.
Binary Checksums (SHA-256)
Lokal-TTML-Editor-1.3.0-arm64-mac.zip:
[1500C94BB4D99AC0F4681CF571E25F0273282813AEFA8759222C8FFA88FE788A]
Lokal-TTML-Editor-1.3.0-arm64-mac.zip.blockmap:[8F6E164E7FF1D57C43BBFA1F8C20A3F1BE7EC87ED73F16970EF7A406E4401B3E]
Lokal-TTML-Editor-1.3.0-arm64.dmg:[B1296D590D2B42AA69AAFDB4012C98A5A35CC8E699D1D418C99376A61782FBE2]
Lokal-TTML-Editor-1.3.0-arm64.dmg.blockmap:[5652194A58DAF086C254158322D56A76C6259A0739C0BE40CA2E62FA5A890FA1]
Lokal-TTML-Editor-1.3.0.AppImage:[824ED94433377F0580388B0C9968549573B04E00FCE69673E2B66001C6E0A85F]
Lokal-TTML-Editor.exe:[6AB35B8BEED3F4247C63EA9F8763CD67E1B6BD32377549F199B5E67610A92CCB]
builder-debug.yml:[DC4672B6D302EF8C297D13596E222C9F16A088E6D294E10FE02B616080B0AFAF]
latest-linux.yml:[94C88494F6E162307E417BB6509441EFB9698512F082E4CFCF1D2C8568BCC608]
latest-mac.yml:[7B104DB5929FC66E106753DA969F7306F9185E7C4C6EE1A4EF5BC65D175F5D96]
lokal-ttml_1.3.0_amd64.deb:[A8F2D522A0310BF84E901C05DD852FD5D7F9A0728E5A3423940D4317744E52E6]
Release v1.2.0
Requires Node.js v18+ if running from source.
Lokal TTML Editor v1.2.0
feat: project fuctionality, autosaves, auto-scroll for lyrics, new pause dot behavior, autosave interval, crash recovery, unsaved changes indicator, undo/redo persistence, recently opened audio, saving, export validation
Features added:
- Project Fuctionality: Each TTML and syncing-sessions can now be treated as individual projects with their own individual markings and audios and such, this helps to keep stuff intact and not needing to constantly "reload" a TTML file if you needed to switch between syncing songs.
- Autosaves: Alongside the project functionality, each project will have up-to-20 recent autosaves (the time dep. between each is changeable in settings) that allow you to revert to them in case of corruption or a bad move. (Though, the browser will always save the last action regardless, this is just a fail-safe).
- Autoscroll For Lyrics: There is now a new button in the top right of the Lyrics that allows you to center the lyrics so you don't need to scroll alongside the lyrics to see how they look.
- New Pause Dot Behavior: Just a new look for the pause dots instead of a static animation, and now appearing instead of always being visible.
- Crash Recovery: Prompt to revert to latest auto-save if a crash/forced exit was so bad that the browser could not save and/or has corrupted data.
- Unsaved Changes Indicator: New indicator in the top left (as an orange dot) to let you know that you haven't fully saved yet so that you do not lose progress (as well as asking before you fully close the program if you would like to save changes.)
- Undo/Redo Persistence: Undo/redo now persist through closes, allowing you to revert any recent changes in the case you accidentally closed the editor and need to go back.
- Recently Opened Audios: You can now see the most recently used audios, so that you do not need to go constantly searching for the same audio. (as well as the project file remembering the last file location)
- Export Validation: A little pop-up when pressing Export TTML that'll notify you of any word or line overlaps, in which you can choose to continue (in the case that the lines are meant to overlap.)
Issues
- This version was pushed before my fixes, so errors like
prompt()not being valid will occur, as well as other issues like closing the app will forget what project you were last on (because it never got set to persist after a close).
Please report any issues or pull requests for bugs and improvements.
Binary Checksums (SHA-256)
Lokal-TTML-Editor.exe:
bec62bc32d67c7a563d94a09382759a02c0378b2104d1a2afd467e89397158bd
Full Changelog: v1.1.1...v1.2.0
Release v1.1.1
Requires Node.js v18+ if running from source.
Lokal TTML Editor v1.1.1
Primarily a bug-fix release, including a new speed dropdown, and preview style that'll make syncing easier.
Features added:
- Speed Dropdown: There is now a speed drop-down next to the player-bar in the bottom right of the application, useful for cases where hearing the start of the word is difficult and for more precise "start" and "end" points
- Preview Style: Preview Style is a stylization of the main "Karaoke" live preview, that aims to just make the words more animated closer to how they might be shown on other apps, but this is not finalized nor is it the "be-all". Will add fullscreen + improve later.
Fixed Issues
- Critical TTML Importing Error: In the case that you imported a TTML file to edit and were to make changes to any of the word timings, it would autocorrect every word around it, because the parser did not add a "user-placed" tag to every word timing and assumed that every other word would need correcting. This is now fixed, and importing should have no issue anymore.
- (This did not apply if you were simply restarting the app, as the app holds onto the "user-placed" persistent through restarts.
Please report any issues or pull requests for bugs and improvements.
Binary Checksums (SHA-256)
Lokal-TTML-Editor.exe:
97854bf54029abbdbbf7bd11fd65017de61a0c88f608e1bef93748878b3f9909
Full Changelog: https://github.com/sipbuu/lokal-ttml/compare/v1.0.0...v1.1.0
Release v1.1
Requires Node.js v18+ if running from source.
Lokal TTML Editor v1.1.0
This release brings ease of use to the editor with major improvements, as well as fixed bugs and features that should've been added since the start.
Features added:
-
Spicy Lyrics Prep: (Def: On) Toggleable. Normalizes lyrics on input for Spicy Lyrics by doing the following:
- Hyphen/dashes and compound words are split into seperate word chips glued together w/ no space (e.g
right-handtoright-hand) - (Paranthesized) text is pulled out of the main line and into that line's background vocals, auto-timed across the line span.
- Punctuation picked up from inconsistently spaced source text gets put back onto the preceding word instead of becoming its own word chip.
- Hyphen/dashes and compound words are split into seperate word chips glued together w/ no space (e.g
-
Word Joining System: Words split via the hyphen logic above (or manually via
\) no longer render incorrectly or with an unwanted space, but now have a marker that marks whether the fragments are together or not. (·is Space,‿means joined.) -
Manual Word Splitting: In edit text, you can now type "" between a word to split it into individually timed, glued fragments.
-
Export LRC Button: There is now an export button alongside the TTML export button so that you can also submit line time-corrected segments to LRCLIB or other line-synced sources with no problem. (Background and duo vocals are folded back into the exported text as parentheses)
-
Undo History: Previously, the CTRL + Z (which wasn't registering but is now fixed) would only correct very minimal changes, but now it can revert all changes including word timing, line timing, deleting of lines, add/removing vocal layers, editing word text, adding line, etc)
-
Left Side Double Click: Double clicking a line in the left-hand side list will now allow you to see the words + start the audio from that time.
-
Live Preview Hover + Click: Clicking a section of lyrics in the live preview now selects that line and seeks the audio to its start.
-
Colored Word Markers: (Def: On) Toggleable. Every word time segment on the waveform for the selected line can now be highlighted, making it easy to see word boundaries with the audio.
-
Waveform Highlight to Vocal Type: (related to above): You can now also see the highlighted words depending on which vocal type you are editing (background, duo, or main)
-
Auto-scroll Waveform For Playback: (Def: On) Toggleable. Turn off to stop the waveform view from re-centering on the playhead while a song plays, so that you can stay in the section you're editing without jumping ahead.
-
Switch Button on Vocal Row: Lets you move a line's word + timing into a different vocal slot. If the target slot has content, they swap places instead of overwriting. Useful for correcting errors.
-
Sync Pacing Across Matching Lines: (Def: Off) Toggleable, and risky. If a line's main text matches another line elsewhere in the song, like a repeated chorus, retiming the word in one line shows those changes to the other lines as relative word pacing. Each line still keeps its absolute start/end.
Fixed Issues
- CTRL + Z: Was not working originally, and would not be recognized, but this issue has now been fixed.
- Import Parsing Punctuation: Based on where you got your TTML that you were importing, it would show commas and apostrophes weirdly which is now fixed.
- Import Parsing Splits: Importing (and even exporting now) finally handles splits between words correctly with no space in-between, as well as handling background vocals and duo vocals in a way that all programs can recognize.
- Line/Word Start/End: The input no longer corrects/reformats the value on every keystroke so you can now precisely put a ms value without having it corrected.
- Manual Word-Splitting Bug: Splitting a word would shift the timing down by one position and the new split would inherit the wrong timing, but this is now fixed to divide the word's own timing to match the others.
- Edit Words Not Preserving Splits: The edit text box would not preserve the "
\" split markers when it filled the textbox, so it would cause other words that were split to be forgotten/not remembered (e.g. some\times, and mis\take in the same line) - Plain LRCLIB lyrics And .txt Imports: Formatting was not handled correctly on plain-lined lyrics, causing the Spicy Lyrics prep to never get handled correctly.
- Fixed Word Spacing and Exporting: Spacing is now encoded in the way a real TTML file should encode with a and a space. (prev was a indented line which would add whitespace even between connected split segments.)
- TTML Import: Same thing as above, but reads that same convention back in so no issues occur with joined words.
Please report any issues or pull requests for bugs and improvements.
Binary Checksums (SHA-256)
Lokal-TTML-Editor.exe:
f7cb668130b66b4a96b5e4d939a57ce438134cc21a675ecda46c05a7a2312fbf
Full Changelog: v1.0.0...v1.1.0
Release v1.0.0
Requires Node.js v18+ if running from source.
Yes, I will likely main-stream this with Github Actions as well as an updater soon, but for the moment it will be manual
- and i apologize, i left a very old version of lokal-ttml-editor in there, sorry...
Lokal TTML Editor v1.0.0
This release brings the editor into its mainline 1.0 version with a better work, theming, improved waveform behavior, stronger preview syncing, and session persistence.
Features added:
- Theme System Upgrade: Expanded theme customization, improved styling, and added the newer Lokal theming options.
- Better Layout & Styling: Refined interface layout, cleaner visual hierarchy, and improved overall polish across the app.
- Custom Window Controls: Added themed top-right minimize, maximize, and close buttons to better match the editor style.
- Waveform Improvements: Improved waveform generation and rendering for a more readable, useful sync view.
- Precision Zooming:
Ctrl + Scrollnow makes it much easier to zoom into a section for precise millisecond timing work. - Preview Improvements: Smoother lyrics preview behavior and fixes for several live preview/highlighting issues.
- Metadata Handling: Added audio metadata support to help auto-fill track details and make LRCLIB searching easier.
- LRCLIB Workflow Improvements: Better title/artist guessing and easier lyric lookup flow.
- Session Persistence: The editor now saves working state locally, including on close, so reopen is much safer.
- Import Support: Native support for importing
.lrc,.txt, and.ttml. - Keyboard Shortcuts: Optimized hotkeys like
S,E, andTabfor faster editing and navigation.
Known Issues
- Moving to a different word can still occasionally cause a visual issue with green-word highlighting.
- Some words may still split awkwardly in edge cases because of regex parsing.
Example:"(Woah-oh, oh)"may become"(Woah- oh, oh)".
Please report any issues or pull requests for bugs and improvements.
Binary Checksums (SHA-256)
Lokal-TTML-Editor.exe:
2F512A6076B700D112185168F819CB29818AAC8492DF1962E6D9D47F75CC6362
Full Changelog/Commits: v1.0.0
Pre-Release v0.1.0-beta
Requires Node.js v18+ if running from source.
Lokal TTML Editor v0.1.0-beta
This pre-release contains most of the core synchronization engine to produce TTML lyrics.
Features added/changelog:
- Precision Sync Engine: Real-time timestamping with millisecond accuracy.
- Multi-Format Bridge: Native support for importing
.lrc,.txt, and.ttml. - LRCLIB Integration: API hook to fetch lyrics.
- Audio Analysis: Local audio playback for timing sync.
- Keyboard Shortcuts: Optimized hotkeys (
Sfor Start,Efor End,Tabfor Navigation) for easier editing. - Settings: Settings for easier customization and access
Known Issues
- Moving to a different word can cause a visual error with the green-word highlighting
- Some words may appear split weirdly (e.g, "(Woah-oh, oh)" to "(Woah- oh, oh)") because of regex, will try a fix later.
- Exporting the file and reading has been slightly tested, not all use-cases have been though.
Please report any issues or pull-requests to fix bugs.
Binary Checksums (SHA-256)
Lokal-TTML-Editor.exe:
2F512A6076B700D112185168F819CB29818AAC8492DF1962E6D9D47F75CC6362
Full Changelog/Commits: Pre-Release v0.1.0-beta


