Skip to content

ChordFlask v0.9.22

Choose a tag to compare

@bkl2000 bkl2000 released this 12 Oct 10:46
· 12 commits to main since this release

ChordFlask v0.9.22

New Features

  • Experimental Lyrics V2: generate lyrics locally from audio with
    chordflask-genlyrics --analyzer qwen3. Qwen3-ASR recognizes the words and
    Qwen3-ForcedAligner synchronizes them. Setup downloads the models into a
    separate optional runtime; generation then works offline.
  • Keep Lyrics V1 (song.cho) and V2 (song.v2.cho) side by side. Desktop Lyrics
    lets you choose between them when both exist, and browser export uses the
    selected version. Existing valid Demucs vocals can be reused for V2 generation.
  • Remove a song's registered Demucs stems and its owned stem files with
    chordflask-maintain stems remove song.mp3. Use --dry-run to preview the
    removals.
  • Maintenance validation and storage reports now accept a single media file.
    Schema migration also supports a non-writing --dry-run preview.

Improvements

  • On narrow screens, the chord grid now prefers to keep the playing row in the
    second visible row, retaining the preceding row for context. Short viewports
    and song boundaries still prioritize keeping the playing row visible.
  • Analysis, Demucs and Lyrics dry-run summaries distinguish planned work from
    completed work. Analysis and export commands print their output paths; export
    also reports when it created missing analysis or completed only some formats.
  • Lyrics generation accepts --replace; --force remains an alias. Replacement
    affects only the selected lyrics version. Missing-analysis messages in Lyrics
    and BTC point to chordflask-analyze.
  • Maintenance reports flag analysis files without matching media for review.
    Ambiguous media filenames, cleanup refusals and permission errors have clearer
    guidance. Installation documentation clarifies which CLI helpers require a
    source-installed virtual environment.

Bug Fixes

  • Adjusted desktop Firefox STEMS playback to avoid periodic speed and seek
    corrections associated with dropouts in local testing. Initial alignment and
    explicit seeking remain available.
  • Lyrics retries now reject explicitly conflicting options instead of silently
    ignoring them in favor of saved generation settings.
  • Lyrics generation preserves a target created while generation is running
    unless replacement was explicitly requested, and rejects symlink outputs.

Known Limitations

  • Lyrics V2 transcription and singing alignment are experimental and can fail
    on some recordings. Unsupported alignment languages, including Thai, produce
    no V2 file. Failed generation leaves existing lyrics intact.
  • V2 generation is CLI-only; desktop Prepare still generates V1. It needs the
    external Lyrics helper and Qwen runtime, Python 3.10–3.13 (3.12 recommended),
    and model downloads during setup. Python 3.14 is not supported by this setup.
    CPU inference can be slow and memory intensive; CUDA validation remains
    pending. Models and Torch are not bundled with the player.
  • Desktop Chromium-based browsers remain recommended for STEMS playback.
    Firefox can still experience audible dropouts. Narrow layouts remain
    Grid-only, without Lyrics or Prepare controls.
  • A single-media storage report covers direct .chordflask artifacts and the
    song's journal; it excludes Demucs stem directories and adjacent lyrics files.