Hacker News new | ask | show | jobs
by jasinjames 544 days ago
No need for any ML models here, you can "just" do an FFT on a conventional signal and pick out the peaks
2 comments

The waveform produced by sounding a note on most physical instruments will often not exhibit a peak, or will not exhibit the strongest peak, on the note being sounded. Rather, most instruments will instead produce harmonic overtones and our brains fill in the gap of the pitch that’s intended to be sounded.

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

(i mean yes i agree but) so ... why do i feel like ive never seen anyone do this before?
If you have a guitar handy, you can try out the live mode on https://www.fretboardfly.com . It works and people use it: Using your acoustic guitar to play the fretboard learning game via the mic.
I believe this is how Yousician works.