github lokal-music/lokal v12.2.3
Release v12.2.3

2 hours ago

Release Banner

Merge pull request #614 from lokal-music/release/v12.2.3


Changelog

Windows builds: free code signing provided by SignPath.io, certificate by SignPath Foundation (code signing policy).

FYI:
Lokal is 100% local; the library, history, anything in database, or any info that is used for API's such as yt-dlp, LRCLIB, is NOT seen by us.

What's Changed

  • feat(desktop): syllable-style highlighting for translated and romanized lyrics (#613)

    Details

    Feature

    Show animated karaoke highlighting on translated lyrics and romaji/romanized sublines, not just the original-language lyric.

    Implementation

    • Use the existing original vocal's word/syllable timing profile to project a non-uniform progression onto the translated/romanized display text.
    • Prefer provider-supplied true timed subline words when present (e.g. timed Apple Music romanization); do not replace their timings.
    • Integrate in the shared useLyricSubline pipeline, covering the regular lyric panel, fullscreen lyric surfaces, and video lyric subtitles without duplicating painting logic.
    • Initialize subline sweep positions on layout/seek, not just while the audio position ticker is running.
    • If the original has no word timing, keep the subline as ordinary static text instead of inventing an authoritative timestamp.
    • Handle whitespace-delimited translations and whitespace-free romanized/CJK output; retain original lyrics unchanged.

    BitChord reference

    Matches the principle of BitChord's LyricLine.timingSource: derive translated text's visual reveal from the original syllable clock, preserving the vocal envelope rather than claiming the translation is phoneme-aligned.

    Tests

    Added focused Node tests for non-uniform progression, romanization, provider-native timing precedence, untimed fallback, and source-data immutability.

    Verification

    Code and regression tests committed; the Electron application UI and real-provider tracks have not been run in this environment.

    Summary by CodeRabbit

    • New Features
      • Translation and romanization lines now follow lyric timing. When timing isn’t supplied, their text is paced across the corresponding timed lyric segments; provider-supplied timing is preserved.
    • Bug Fixes
      • Timed sublines now return to their resting state when singing stops or lyric rows are rendered again. Untimed or missing sublines remain unaffected.

Contributors: @CHEYCKIT

Full Changelog: v12.2.2...v12.2.3


Setup

See README.md for full setup instructions.

macOS: this build is ad-hoc signed, not notarized (no Developer ID certificate is configured). The first time, right-click Lokal in Applications and choose Open, or run xattr -dr com.apple.quarantine /Applications/Lokal.app.


Binary Checksums (SHA-256)

Lokal-12.2.3-arm64-mac.zip: [1298DCE0C7E13022ED2869271DA0A3AE5D7221912948C19BD18DE8ED53FB790B]
Lokal-12.2.3-arm64-mac.zip.blockmap: [D747EFAF9A1B9CBBC0BBA0D6A215F2640F6DC0971F2532B57EBCECE3F131406F]
Lokal-12.2.3-arm64.AppImage: [1B251B8D55B4D9F93318DE0BB635EFFC78DF6E944A5AAD3A43181979DB9EF037]
Lokal-12.2.3-arm64.dmg: [BE61E8FD0A1373EC191E3C0ECA2CF028664C1019D3FFDDBF3AF8A7DEB4940CBB]
Lokal-12.2.3-arm64.dmg.blockmap: [4F79C8B5EA90FF01023C1C0569132CA680FBEC6BAAFAF5797E1114D88CA474A3]
Lokal-12.2.3-mac.zip: [9C375A8C403761F942E6E7D5E145E80D25FF79C52723AD5E7563332C70B299B7]
Lokal-12.2.3-mac.zip.blockmap: [EF72B04BCBC3230A9D83EBF3A9A8BB11FCDF813A8B4F894A1D2DAD3EF84F1CBC]
Lokal-12.2.3.AppImage: [4387EC343CDF9372377048AE5422A5F6BA6E2D4CDF86CCBD3E7F2E811A05AE61]
Lokal-12.2.3.dmg: [8250A6458662FA135220AF1E86096AF442EAB8423C89889D8CECB6F3F9FD4E77]
Lokal-12.2.3.dmg.blockmap: [EA0A3E7CB03A63E594378ABF9FA42F0AF8DEE6044D159FCBFB91C1C6C0BECE00]
Lokal-12.2.3.exe: [29879CCDCB33DA5BEC372E7FB1D80BCCB95FC5EE9B899C873367A24B1B45FED8]
Lokal-Setup-12.2.3.exe: [188F8F6831597B87BF62CE41D5B7A3746E45FEB9125D03CB28A371E225399143]
Lokal-Setup-12.2.3.exe.blockmap: [5BD262C7E4932A8A35831CFFD63A665E3E5EA457AE2D64C58580B8194C6F13B4]
builder-debug.yml: [F27FEC5F1F82E48C5DEFE036D57E69C2FD9C6C5141A64FD88C68D3C5011A3FFF]
latest-linux-arm64.yml: [95F4C0EDF51D2C2DD3C6FCD324EECC4760AE1E47B3F1015250883B7230AE1006]
latest-linux.yml: [22E6670318797379DC802C0CCDEBD692095B6388355D307E7EA3B5FD51C8EBF1]
latest-mac.yml: [B0F82AF647A5630516FD8FC32665A58738BD2B0637E64A2974F032C533438304]
latest.yml: [D12908066D5206CB7E56A48608268B11D306E0A7214AAF2583C2B6AA0B37372C]
lokal-music_12.2.3_amd64.deb: [B73F6ABE7498D0DDD70117757758998A636F715B01CA838664E619317EEC3DE7]
lokal-music_12.2.3_arm64.deb: [82A330CEB2A0C6366FB6B82BC73DA9E50BF8717FCC0213B06A2E514E4F3326FC]

Don't miss a new lokal release

NewReleases is sending notifications on new releases.