29 points dsmurrell 17 hours ago 13 comments
I was pretty terrible at singing, now I’d say I’m bad but not terrible. This is because I’ve been using a singing app (won’t name it here) that scores me on my pitch and timing throughout the song so that I can improve.
Lately however, the app I’ve been using has flooded their song list with songs that aren’t originals. I didn’t like this at all as for me, it’s easier to try to improve when you’re singing along to the original.
So, I asked an agent (Claude Code) if it could write some code to listen to Spotify and also listen to me and see if it could detect both pitches and score me. It impressed me by writing some Python and showing me my pitch in the terminal!
It couldn’t go all the way though and detect the singer’s pitch in real time.
So I found the next best setup and built OnKey, a Mac app that needs to listen to the song once (it doesn’t save it) and then when it’s learnt the song (takes a couple of minutes), you can sing along to the pitch track that it’s learnt. OnKey is free to use and open source under the MIT license.
It can listen to Spotify, Apple Music, and YouTube playing in your browser with the right permissions.
During the build I found that someone had done something similar in Nightingale, but this requires a library of songs exported to disk and who has this in 2026 (maybe some of you ;) - but we need to help the normies too).
You can check out a demo video on the site of me singing (warning given) here: https://singonkey.app
The app sends out to find the song info (short Shazam fingerprint, and looks up song details), lyrics (from LRCLIB), and checks for updates.
The app never sends the music (it doesn’t save this to disk) and your voice. Everything you’d expect to stay private does.
It’s still weak in a few places:
- when the song’s backing is noisy it’s hard to pick the pitch track out
- sometimes it gets a note an octave off
- it’s limited to Apple Silicon Macs, M1 or later, and only macOS 14.2 up because extra drivers aren’t required past this point
- the scoring is built for beginners like me so it’s fairly easy on you
Would love for people to try it out and let me know what works and what doesn’t for them!
HummingBirdGif 13 hours ago | parent
dsmurrell 12 hours ago | parent
The vocal separation for the song uses UVR: https://github.com/Anjok07/ultimatevocalremovergui
You can find more details here: https://singonkey.app/docs/how-it-works
wnissen 8 hours ago | parent
Have you played the Rock Band and similar "rhythm games" that were all the rage in the Wii era? I don't know that it helped my singing per se but gave some incentive to practice.
In case anyone is interested, you can test your relative pitch perception (as opposed to producing the pitch) in this excellent Yale site: https://www.themusiclab.org/quizzes/td I got 15th [sic] percentile!
dsmurrell 1 hour ago | parent
https://www.themusiclab.org looks cool, I'll give it a try today when I get a chance.
nopurpose 54 minutes ago | parent
Looks nice, I sing so badly that I never dare to try if not alone. Maybe this app will help me to improve just little that I can sing along happy birthday quietrly in a corner without anyone turning heads.
dsmurrell 48 minutes ago | parent
Yes, this was me. My confidence has improved through practise to a point where it only half killed me to post that demo video. My family still ask me to relocate when I'm doing this around them... so I think you can hit the pitches and still not sound amazing.
Unfortunately, the way it works, and to avoid any copyright issues, it can't really operate on phones because you can't listen to other apps on them. Maybe the only way is to share your learnt pitch tracks (trained on the laptop) with a mobile companion app.
manlymuppet 44 minutes ago | parent
Red Hot Chilli Peppers. Anthony Kiedis.
It's like if you had let Shaquille O'Neal teach you how to shoot threes.
manlymuppet 42 minutes ago | parent
This is a great and cool app. I am just joking. Sorry to be an ass.
dsmurrell 40 minutes ago | parent
I'd definitely still let Shaquille O'Neal show me how to shoot threes. Dunking on the other hand could be an issue.
dsmurrell 41 minutes ago | parent
I'm terrible at detecting sarcasm usually, but this one was easy for me.
mkesper 37 minutes ago | parent
dsmurrell 34 minutes ago | parent
It's got 3 thumbs up but no indication of which OS they're from... maybe I need two issues.
pheraph 6 minutes ago | parent