Side project · Desktop app
Cherify
Learning a song by ear means pausing, rewinding, and guessing chords. Cherify separates the voice from the band, transcribes the lyrics, detects the chords in the accompaniment, and lines both up in a sheet you can practice with. It works offline, with cloud services as an optional upgrade.
- Author
- Christian Arango
- Role
- Product Owner and builder, with Claude Code
- Platform
- Windows · Python
- Status
- Version 0.9.0 · July 2026
The problem
Lyrics and chords rarely arrive together, or in time
Lyrics sites skip the chords, chord sites skip the timing, and a full mix confuses both. I wanted one sheet where each phrase shows the chords that sound under it.
What I built
Separate first, then transcribe and listen for chords
- Separation
Voice and band, apart
Demucs splits the track. The clean voice feeds the transcription, and the accompaniment feeds chord detection.
- Lyrics
Phrases that keep their timing
faster-whisper transcribes each phrase with its timestamps. Lyrics you paste in become the source and are aligned to the audio.
- Practice
A practice tab
A player with transposition, simplified chords, variable tempo, and export.
See how each engine is chosen
$env:CHERIFY_TRANSCRIPTION_PROVIDER = "auto" # auto, openai o local
$env:OPENAI_TRANSCRIBE_MODEL = "gpt-4o-transcribe-diarize"
$env:CHERIFY_CHORD_PROVIDER = "auto" # auto, klangio o local
$env:WHISPER_MODEL = "large-v3-turbo"Decisions
Local first, the cloud when it helps
An offline fallback
Automatic mode uses cloud transcription and chord recognition when a key is set, and local open-source models when it isn’t.
Keys never touch the disk
Advanced users can add their own keys. They stay in memory until the app closes, and none ships inside the installer.
No invented chords
Imported text without chords stays that way. The app never makes up a progression.
Where it stands
The installer is ready; chords still need a human ear
Version 0.9.0 ships as a Windows installer that doesn’t need administrator rights. Dense mixes, alternate tunings, and complex extensions can still need a correction by hand.