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!
For the user's pitch OnKey uses CREPE-tiny (https://github.com/marl/crepe) but ported to Rust with the model running on ONNX Runtime. For the singer's pitch also CREPE but the full version.
What a fun idea! I love that the song doesn't have to be programmed in by the developer. Will give it a try.
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!
Didn't know that external apps can interact with Youtube in a tab in Safari.
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.
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.
I had to look it up and maybe it helps others understand: Shaquille O'Neal was bad at shooting threes and only made one three-pointer in his entire professional career (he attempted 22).
I think my daughter will love this. How about some simple gamification mechanism? A score or a star rating on how well you performed, maybe combined with a difficulty level?
Ok, I'll be that one today. This seems entirely vibe coded... why is it using webview/tauri? It could be so small and smooth in swift with just a small change to the prompt. People used electron/tauri/whatever to make things easier to write and maintain, but if we're just vibing things anyway, can we go back to respecting resources, please?
You're not wrong. I do have a coding background which helps but I'm new to Rust. It started in Python with a web frontend so it somewhat evolved into this.
> why is it using webview/tauri?
Using these makes it easier to port to the other platforms later if I choose to.
About 365 of the 420 MB is the AI models which I decided to bundle so that the app wouldn't have to download additional things after the install.
My agent tells me that writing in native Swift would save (estimate) about 100–170 MB, out of about 1.4 GB when the models are active. And then I'd have to maintain the interface in two or three ways if I decided to make versions for other platforms.
If it does grow though and there are a lot of Mac users, this might be worth it though as you suggest. But I have a lot of project that go precisely nowhere so I always keep this in mind :)
I meant runtime resources more than the download size itself. It's still 200MB+ per instance of a webview app. Which is not a huge amount on its own, but that's what everyone thinks... and then we get a number of apps with webviews each adding up.
In a small defence to webview/tauri, it's pretty smooth and fast, and multi platform free of charge. I'd have done this in Tauri too, but that's just my voice. But I otherwise totally agree with you.
Singing is about so much more than just hitting the right notes. Breath management is one of the most important skills you can develop to improve your singing. Proper vocal technique helps you avoid injuring your voice when tackling difficult songs. Learning to recognize and use techniques like belting, twang, head voice, chest voice, vocal fry, etc., can really bring your singing to life. Prosody and rhythm training help you develop good timing (one of the most important aspects of music), and there's so much more to it.
This kind of app is great for getting started and getting a taste of what singing involves, but it would be awesome to cover these other aspects as well, or at least mention their existence for aspiring singers.
I'm not great at any of these things. I do agree with you... do you have links to good resources in this regard? Maybe I can start by linking to them, and then later building the features that make sense into the app.
I like Dan Callaway on YouTube. Jeff Rolka is another good teacher. However, singing is complicated and choosing which exercises you'll use to teach folks ... You need 1. Vowel alignment 2. Coordination of voices 3. Breath support and vocal tension management 4. Mouth shape, tongue placement.
And then there's "how to read a song", deciding which words are emphasized, where to breathe, modifications to fit your voice, etc.
If you're willing to elaborate - For what goals and stages, do you require these?
----
Background to my question: I was looking for music teachers for myself and my kids (guitar and piano), and I found two types:
1. Royal Conservatory Curriculum, Lesson 1, Page 1, firmly, formally, and without deviation: You MUST learn notation, theory, and proper everything, first. THEN, 5 years later, you get to have fun :)
2. Let's have fun! If you like it and stick with it, we can tackle advanced topics in a customized manner and see where it takes us :)
I find approach #1 is only valid for people who know they will go far and stick with it (either because their parents force them, or for some other, rare, intrinsic motivation); but it hugely discourages huge number of people who don't have such long-term motivation and dedication yet - it postpones the rewards and makes the initial curve super steep.
So my question is: For a completely casual, random person who sings terribly and wants to get "a little bit less embarrassing / dip their toes"; isn't pitch training usually the first step for them to enable their hearing, rather than the complex vocal techniques?
I doubt you'll get an answer here, and people in "type 1" don't want to talk about type 2.
My take, without directly addressing your questions: "have fun" doesn't go very far, and you'll discover that if you want to be good at anything, you'll need to put in many hours of practice with endless repetition and go through setbacks and self doubt, none of which is fun. And for sure there are singers and musicians that never go through formal training, including at the highest levels, they are few, when most musicians you know have been learning music since they were kids.
Absolutely agreed that effort is needed to reach ranks above beginner; my main point/peeve is the steepness of the curve from "nothing" to "beginner", not the work definitely required to go from "Beginner" to "intermediate" let alone "Expert".
My approach, from "nothing" to "beginner", is to give a taste of the "target" - how fun and rewarding it can be. A 7 year old kid who learns how to play Mario Galaxy theme on piano, gets motivated and excited, and then goes through the effort; vs the 7 year old who's sent to music lessons and they spend 2 months on perfect finger positioning for C-major scale. Similarly for adults and guitar - I find teaching them 4 simple chords and strumming which cover 40% of pop songs in 2-4 weeks, gets them hooked and willing to then invest the effort, vs starting with notation and theory and picking hand positioning etc on day 1.
As specific to singing matter at hand, it is my understanding that pitch training will have an immediate, early, quick, and lasting benefit (which is, however arguably, benefited by the app in the post), vs saying "well you can't sing if you don't also do these 5 intermediate-level things right away" (unfair representation, but I've been on the receiving end of it:).
I have a close friend who's an opera singer, and absolutely did proper training from early age, daily, for years -- but, most of us aren't and won't be; my primary point is that early stages of training/learning shouldn't necessarily be the same.
In my experience, the people who subscribe to type 1 are afraid that a potential Mozart or Beethoven won't reach their full potential because of bad habits and bad instruction. And the people who subscribe to type 2 are afraid that some kid won't have the pleasure of making music because they can't even start making music for years under strict type 1 tutelage.
There are many more people who never make music because it wasn't fun when they tried than potential Mozarts and Beethovens.
You probably cannot imagine how bad some people are at singing. I have people near me who sing completely out of tune, so much that it hurts. I am not an Apple guy, so I cannot test the app myself, but I will definitely send the link at least to those who know themselves that they are terrible at singing, hoping that Christmas will be less painful for my ears this year.
Please don't mix stereotypes, it's not because I own a Mac mini that I'm an apple guy. Macos is mandatory if you want to publish an app on the app store.
I've been doing classes for more than a year with an online teacher and it's been amazing and when watching the demo I saw so many of the mistakes I've done in the past and yet the app keeps saying to the singer GREAT and PERFECT but the coordination is all over the place, not to mention an octave lower and in a very monotone way (lack of prosody or emotions).
And it makes sense, you can't add emotions until you cover some of the basics.
This app can work really well once you have breath and placement nailed down and you just want to focus on pitch, but it feels like it can me misleading to people to think they sing good.
As an amateur musician who can afford private lessons, I cannot understate how important a teacher is in music learning. You can try to learn things on your own and mess with these stuff, but a teacher goes a long way. They spot your mistakes instantly and help you progress efficiently.
I understand that it is not financially viable to everyone, but seriously, if you are able to, get some professional guidance.
I am sure this app will be very useful for my wife and daughter, who spent the whole day singing at the top of their lungs. It will also be a benefit for me, as I’ll get to hear more accurate notes.
I like the idea, I definitely think there is potential in apps helping with teaching music, of course this isn't anything new, but the direct feedback possibilities have improved a lot with recent ML / AI advancements. As others said, singing is so much more than just hitting the right notes of course, so understanding the scope of the tool is important. But still, it's a neat idea. It's awesome that AI coding tools have made it so much easier to work out these ideas... but also tricky because everyone seems to make their own now, and it's not even per se the best ones that survive.
I've thought about these kinds of apps a lot recently, and am also working on some (not for singing though), I have a programming background (and a PhD in Machine Learning) but still I am impressed by what Claude Code can do so I'm hardly writing a single line of code myself any more. Asking for the right things is still important of course.
> Shazam (Apple): a short signature of the music app's sound, not the audio and never your mic, to name a song OnKey hasn't learned when the music app doesn't say what's playing.
> LRCLIB: the song's artist, title, album and length, to fetch lyrics.
> iTunes Search and Lookup (Apple): an artist and title, or the ID Shazam returned, for covers and the song's length. The cover images come from Spotify's, Apple's or YouTube's image hosts.
> GitHub: a check for a new version a minute after launch and once a day, and its download.
I really appreciate this level of transparency. Wish it was the standard.
While an approach of associating "notes" with frequencies and singing right with "hitting the frequencies" is what you may naively consider. I think it's more important to get the intervals right, you can take any starting frequency, and as long as you get the intervals right it will sound right, even if the frequency itself isn't perfect. Whereas if you use a frequency based approach like this you will have an absolute frame of reference instead of a relative one
Wow, this is brilliant, thanks for sharing it! I've had pretty much this app way down on my TODO list for the last 20 years. I was planning a Linux and violin support too.
One of my methods for my pet projects is just to wait for someone else to do it, worked this time :)
I might chuck this into Claude when I have tokens to spare and see how it'll do with my feature request. Are there any specific apple silicone limitations you can remember? I'll send you a PR if you're interested?
I have thoughts about this pedagologically. I think these kinds of tools can be helpful, but the number of rhythm students I have seen who need to break out of the dependence on a visual metronome is rough.
Part of the struggle is really listening to yourself, and learning how to pick up on your own mistakes.
I hope the tool is helpful, and I hope I don't sound too curmudgeonly when I say don't let the time making and maintaining tools for practice detract from the most important thing, the ur-tool of all learning: more practice.
(Ask me how I know! A common trap for programmers!)
Agree, a good teaching tool is one that understands the scaffolds are only temporary and is constantly seeking ways to reduce the presence of scaffolds as learners increase in skill. Most tools don't take on a pedagogical lens so essentially view the user's skill as static, and thus seek to maximally reduce friction because that is what is assumed to add value. This often comes at the expense of the learner.
A more generalized view is that the design of software should aim for some optimal level of friction between the person and the task (a two-way optimization), rather than simply try to diminish it (one-way).
I had an idea some time ago for a pitch training app that works aurally rather than visually. Basically it's a reverse auto tune. You wear headphones and hear your pitch errors exaggerated, forcing you to sing more accurately.
I suspected that extracting played notes out of songs might be more difficult than vocals, but my agent is telling me that it might be possible given its context around the models the app is currently using. I'll experiment with this.
You built the scoring feature of karaoke that I failed to build a few years ago, this is awesome!
If you haven't done any karaoke using DAM/JoySound, etc they have a scoring mode that sits at the top that does two things: one, help you sing on key because we all suck, and two, score then rank you against other singers (anonymously.)
I couldn't tell from the demo, but do you get access to the audio ahead of time? My karaoke project stopped in its tracks because I couldn't afford to secure rights to music and there didn't seem to be a great legal solution to get audio.
OnKey only listens to what you play through your other apps, then it uses what it's heard to learn the notes and then discards the song and never saves it to disk.
This means that you need to let it listen to the song the first time it plays. You can sing to that song blind (no pitch track) and it will still score you at the end.
What I do is let it listen while a playlist plays through, then when I re-listen it lines up the pitch track with the music as it plays through my music source again.
IANAL, but I think that by listening to the music that people already have access to through their subscriptions, not distributing any music, lyrics, or learned melodies i.e. keeping everything for personal use only (see https://github.com/dsmurrell/onkey#using-onkey-fairly), rights aren't required.
I might do the ranking thing later but this brings some form of centralisation to the project which it currently doesn't have, and I haven't worked out how to stop people gaming that.
I don't understand either what, technically, "off-key" means. I mean, sure, in well-known songs the singer needs to sing certain parts at a certain pitch, and it sounds awful when they don't. But say this is a song you are composing. There, you have your chord progression, but the chords and their notes are some sort of guidance. You may compose the song in such a way that the singer sticks strictly to the notes in the chord as much as possible, but that sounds weird and requires no small amount of singing skill. Or you may keep the singer a perfect fourth or a minor third away from some notes of the chord for part of the melody, "off key", and it may still sound good.
Notes that aren't part of the chord are called passing tones. Typically, they are tones in the diatonic key the song is in. However, there is no requirement for all chords to be diatonic. When they stray from that, different contexts clue you in to what passing tones would be "correct" in that situation. Say an E major chord in the key of C major. You get to use a G# in that case which is not in the C major scale, and the passing tones that are "in key" are informed by the context of the other chords around that E major.
92 comments
[ 4.3 ms ] story [ 25.5 ms ] threadI 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!
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
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!
https://www.themusiclab.org looks cool, I'll give it a try today when I get a chance.
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.
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.
I wouldn’t take their request to “go somewhere else” as an indictment.
Red Hot Chilli Peppers. Anthony Kiedis.
It's like if you had let Shaquille O'Neal teach you how to shoot threes.
It's weird how famous he got.
> why is it using webview/tauri?
Using these makes it easier to port to the other platforms later if I choose to.
About 365 of the 420 MB is the AI models which I decided to bundle so that the app wouldn't have to download additional things after the install.
My agent tells me that writing in native Swift would save (estimate) about 100–170 MB, out of about 1.4 GB when the models are active. And then I'd have to maintain the interface in two or three ways if I decided to make versions for other platforms.
If it does grow though and there are a lot of Mac users, this might be worth it though as you suggest. But I have a lot of project that go precisely nowhere so I always keep this in mind :)
This kind of app is great for getting started and getting a taste of what singing involves, but it would be awesome to cover these other aspects as well, or at least mention their existence for aspiring singers.
And then there's "how to read a song", deciding which words are emphasized, where to breathe, modifications to fit your voice, etc.
----
Background to my question: I was looking for music teachers for myself and my kids (guitar and piano), and I found two types:
1. Royal Conservatory Curriculum, Lesson 1, Page 1, firmly, formally, and without deviation: You MUST learn notation, theory, and proper everything, first. THEN, 5 years later, you get to have fun :)
2. Let's have fun! If you like it and stick with it, we can tackle advanced topics in a customized manner and see where it takes us :)
I find approach #1 is only valid for people who know they will go far and stick with it (either because their parents force them, or for some other, rare, intrinsic motivation); but it hugely discourages huge number of people who don't have such long-term motivation and dedication yet - it postpones the rewards and makes the initial curve super steep.
So my question is: For a completely casual, random person who sings terribly and wants to get "a little bit less embarrassing / dip their toes"; isn't pitch training usually the first step for them to enable their hearing, rather than the complex vocal techniques?
My take, without directly addressing your questions: "have fun" doesn't go very far, and you'll discover that if you want to be good at anything, you'll need to put in many hours of practice with endless repetition and go through setbacks and self doubt, none of which is fun. And for sure there are singers and musicians that never go through formal training, including at the highest levels, they are few, when most musicians you know have been learning music since they were kids.
My approach, from "nothing" to "beginner", is to give a taste of the "target" - how fun and rewarding it can be. A 7 year old kid who learns how to play Mario Galaxy theme on piano, gets motivated and excited, and then goes through the effort; vs the 7 year old who's sent to music lessons and they spend 2 months on perfect finger positioning for C-major scale. Similarly for adults and guitar - I find teaching them 4 simple chords and strumming which cover 40% of pop songs in 2-4 weeks, gets them hooked and willing to then invest the effort, vs starting with notation and theory and picking hand positioning etc on day 1.
As specific to singing matter at hand, it is my understanding that pitch training will have an immediate, early, quick, and lasting benefit (which is, however arguably, benefited by the app in the post), vs saying "well you can't sing if you don't also do these 5 intermediate-level things right away" (unfair representation, but I've been on the receiving end of it:).
I have a close friend who's an opera singer, and absolutely did proper training from early age, daily, for years -- but, most of us aren't and won't be; my primary point is that early stages of training/learning shouldn't necessarily be the same.
I completely agree with OP that breath management is the number one issue I hear in a beginner.
There are many more people who never make music because it wasn't fun when they tried than potential Mozarts and Beethovens.
And it makes sense, you can't add emotions until you cover some of the basics.
This app can work really well once you have breath and placement nailed down and you just want to focus on pitch, but it feels like it can me misleading to people to think they sing good.
> and in a very monotone way
You should hear me speak, people start yawning :)
OnKey intentionally ignores octaves when scoring so that you can sing inside of your range without straining your voice.
Transposition is difficult if OnKey isn't playing the song itself... maybe if it allows you to play your own mp3s later, then it could be done.
As an amateur musician who can afford private lessons, I cannot understate how important a teacher is in music learning. You can try to learn things on your own and mess with these stuff, but a teacher goes a long way. They spot your mistakes instantly and help you progress efficiently.
I understand that it is not financially viable to everyone, but seriously, if you are able to, get some professional guidance.
I've thought about these kinds of apps a lot recently, and am also working on some (not for singing though), I have a programming background (and a PhD in Machine Learning) but still I am impressed by what Claude Code can do so I'm hardly writing a single line of code myself any more. Asking for the right things is still important of course.
> Shazam (Apple): a short signature of the music app's sound, not the audio and never your mic, to name a song OnKey hasn't learned when the music app doesn't say what's playing.
> LRCLIB: the song's artist, title, album and length, to fetch lyrics.
> iTunes Search and Lookup (Apple): an artist and title, or the ID Shazam returned, for covers and the song's length. The cover images come from Spotify's, Apple's or YouTube's image hosts.
> GitHub: a check for a new version a minute after launch and once a day, and its download.
I really appreciate this level of transparency. Wish it was the standard.
One of my methods for my pet projects is just to wait for someone else to do it, worked this time :)
I might chuck this into Claude when I have tokens to spare and see how it'll do with my feature request. Are there any specific apple silicone limitations you can remember? I'll send you a PR if you're interested?
> One of my methods for my pet projects is just to wait for someone else to do it, worked this time :)
Happy to be of service!
PRs welcome.
Part of the struggle is really listening to yourself, and learning how to pick up on your own mistakes.
I hope the tool is helpful, and I hope I don't sound too curmudgeonly when I say don't let the time making and maintaining tools for practice detract from the most important thing, the ur-tool of all learning: more practice.
(Ask me how I know! A common trap for programmers!)
A more generalized view is that the design of software should aim for some optimal level of friction between the person and the task (a two-way optimization), rather than simply try to diminish it (one-way).
I suspected that extracting played notes out of songs might be more difficult than vocals, but my agent is telling me that it might be possible given its context around the models the app is currently using. I'll experiment with this.
It might only work for single note instruments.
If you haven't done any karaoke using DAM/JoySound, etc they have a scoring mode that sits at the top that does two things: one, help you sing on key because we all suck, and two, score then rank you against other singers (anonymously.)
I couldn't tell from the demo, but do you get access to the audio ahead of time? My karaoke project stopped in its tracks because I couldn't afford to secure rights to music and there didn't seem to be a great legal solution to get audio.
OnKey only listens to what you play through your other apps, then it uses what it's heard to learn the notes and then discards the song and never saves it to disk.
This means that you need to let it listen to the song the first time it plays. You can sing to that song blind (no pitch track) and it will still score you at the end.
What I do is let it listen while a playlist plays through, then when I re-listen it lines up the pitch track with the music as it plays through my music source again.
IANAL, but I think that by listening to the music that people already have access to through their subscriptions, not distributing any music, lyrics, or learned melodies i.e. keeping everything for personal use only (see https://github.com/dsmurrell/onkey#using-onkey-fairly), rights aren't required.
I might do the ranking thing later but this brings some form of centralisation to the project which it currently doesn't have, and I haven't worked out how to stop people gaming that.
With respect to rights that’s likely true; too bad streaming services don’t make it easy to use their songs.
My little sister asked me to turn music into notation. I built https://om-intelligence.ch/projects/vocal-notation/vocal-not...
feel free to integrate that into your app, the architecture might be a way around mac only..
It might be able to turn any song into singable notation then.
Turn your singing voice into printable notes (in the browser) - https://news.ycombinator.com/item?id=48900686 - July 2026 (26 comments)
:(
Macs and Linux are so similar now, I hope you'll consider porting someday.