This is the best advice I was given. People are always asking for you to unfocus and disperse.
Most people that is serious about learning chords have a MIDI device. It will make your life way harder to add non MIDI devices and the people that will use it are not really that committed. MIDI devices are so cheap today that anyone that wants one could get one.
BTW I have several MIDI devices because I create my own games too.
The set of people that have MIDI capable keyboards and want to improve musically is vanishingly small compared to those without, true, but it’s clearly a lucrative market if you do it right: there are tons of (music) keyboard classes out there online.
And a lot of the hardware and software are pricey enough that I imagine ads could be pretty lucrative too.
A super-brief spin through Amazon doesn't show anything like that. And <= $30 is within the 'impulse buy' range, so I'm very interested to know more, if you're up for sharing :)
Even if you have no interest in music, get one. MIDI is super easy to read, you can DIY something like an Elgato Stream Deck for a third of the price, physical volume knobs included. It's up there with a Raspberry Pi for the coolest cheap gadget.
and if you want to get fancier with sliders and drum pads:
https://www.amazon.com/Donner-Keyboard-Controller-Personaliz...
or perhaps:
https://www.amazon.com/AKAI-PROFESSIONAL-MPK-Mini-MK3/dp/B08...
You can still absolutely deduce the fundamental with great accuracy via an FFT, but the approach is a bit more involved. The relevant research area here is called ‘fundamental frequency estimation’.
For an example of this, you can see this app I built that lets you give keyboard and mouse inputs via playing notes on a bass guitar, which are recognized over the microphone: https://github.com/codyd51/offkeyboard
But if this is strictly for learning fingering and not for identifying chords by ear, I guess it's reasonable to require a keyboard. Otherwise you can't use it anyway.
Related question: Some people are suggesting keyboards that are only MIDI controllers; but that doesn't seem sufficient, because in that instance where will the sounds come from? Are there default sounds that will be triggered if you hook up a controller-only keyboard?
Limiting this to work only with folks who have MIDI keyboards attached to their machines probably cuts your audience down by 99.9999%. Especially here on hacker news.
I think you’re going to find it tough going to get any real feedback with that requirement. You might find better luck launching in a community of folks who are more likely to meet your hardware requirements.