Repository navigation
Windows: download Yeufonic-Setup-0.0.45.exe and run it over your existing install. Quit Yeufonic from its icon by the clock first (right-click, then Quit): closing the window leaves it running, and the installer waits for it to quit. Your library, settings, LoRAs and models are kept.
Docker: in the Yeufonic folder run git pull, then docker compose restart app and reload the page. No rebuild.
What is new in 0.0.45
- Hot keys help overlay. Pressing ? (or Shift + /) opens an overlay dialog displaying all application keyboard shortcuts grouped by section: main page playback and chosen take actions, the score editor and piano roll, and take comparison. The dialog closes on Escape, on clicking Close or the backdrop, or on pressing ? again. A Hot keys item with a keyboard icon is also in the top-left brand menu. Typing in text fields is left alone so question marks in lyrics, styles and titles are unaffected.
- Resilient fallback on external LLM and image model limits.
- Take picture drawing: When set to The external LLM's image model, if an external draw request fails (HTTP 429 rate limits, quota/credit exhaustion, timeout), picture generation gracefully falls back to FLUX.2 [klein] on this PC if installed. If a song render is active on the GPU, drawing steps aside to the waiting queue so song renders are never interrupted.
- Take picture description: When set to External LLM, if the description request fails, it seamlessly falls back to describing from the take itself (title, style tags and lyrics imagery) without failing the picture.
- Lyric drafts from prompts: When LLM for writing lyrics & style tags is set to External LLM, if drafting fails or hits rate limits, Yeufonic falls back to drafting with local Gemma on the engine (if installed) and displays a clear warning in the status bar alerting you that external limits were hit.
- Lyrics from recordings & style tags: If hearing lyrics with the external LLM fails, Yeufonic falls back to Whisper and flags the warning in the status bar. Corpus style tagging similarly falls back to local Gemma on the engine.
- Performance, deduplication and code maintainability.
- Database transactions & query performance: wrapped startup initialization in atomic database transactions, optimized single-record lookups to
.fetchone(), added thread-safe settings locking, and batched N+1 style resolution queries. - Canonical music theory & lyrics: centralized pitch, interval and ABC notation conversion in a shared
app/music.pymodule, unified section tag synonyms inapp/lyrics.py, and eliminated circular dependencies. - Audio & storage speedups: unified FLAC header parsing to read streaminfo directly across normalization, audio duration and tagging routines without spawning external
ffprobeprocesses; cached LoRA metadata by file modification time. - Engine & frontend rendering: precalculated harmony bias penalties, cached NVML library handles to avoid reopening the shared library, recycled piano roll key DOM elements to eliminate layout rebuilds, paused mastering rack meter animations when closed, and throttled waveform playback updates.
- Database transactions & query performance: wrapped startup initialization in atomic database transactions, optimized single-record lookups to
UI enhancements
- The editor can fill the window. A button in its top right corner, after Close, makes the editor fill the whole browser window, and a second click puts it back to its usual size. The editor opens the way you last left it. Filling the window, the words column takes its full height: the lyrics box (once there are words in it) and the structure grow into the room, and the player stays at the foot of the column.
- The whole picture. Clicking the picture in the editor's Picture menu shows the whole of it, as large as the window allows; a click anywhere or Escape puts it away and leaves the editor open.
- Voice cues in the expanded lyrics editor. Buttons for + Male, + Female and + Both in the expanded lyrics window add
[male voice],[female voice]or[both voices]on the line where the cursor is, and Done moves to the bottom status line beside the word count so the buttons fit on one line.
Earlier updates (0.0.44 to 0.0.40)
0.0.44 (2026-10-14)
- A picture for each take
- Hot keys
- Style LoRAs at install
- Mastering rack: a Boost preset
- The take that is playing pulses on its beat
- The editor has the take's own buttons
- …and 11 more
0.0.43 (2026-10-13)
- Mastering rack: a parametric equalizer
- Mastering rack: all of it in the window
- Mastering rack: three presets have a ratio the rack has a button for
- Mastering rack: a double-click on the compressor's OUTPUT goes to +6 dB
- Windows: Quit quits
- Sing again asks first
0.0.42 (2026-10-12)
- Saved styles
- The mastering rack opens from the editor window
- Mastering rack: the five presets are remade
- Mastering rack: the limiter limits, and MIX blends
- Mastering rack: the compressor's OUTPUT is all the gain it adds
- Mastering rack: saving a preset under a name already used replaces it
- …and 4 more
0.0.41 (2026-10-12)
- Piano roll
- Takes inside a take
- Windows
0.0.40 (2026-10-12)
- Takes made from a take are kept inside it (#48)
- Checkpoints closes the editor
- Take cards stand out from the page
- A mastered take's card says so
- Lyrics in the piano roll follow the tune of a song from a prompt
- Words matched to a score counted in thirty-seconds are in order
- …and 1 more
The full history is in the changelog.
Installer SHA-256: a7f0bcc58d7e632e2d039946067e1194e3da3b7063dc04e81ed30792f5293a63. The installer is unsigned, so Windows may show a SmartScreen warning.