Guitar chord recognition (real-time mic input) - Is Unity even the right tool for this?

Hi, I’m trying to detect guitar chords in Unity. I want to display which chord you’re playing on your guitar, using the microphone input. Can anyone point me in the right direction?

I want to create a guitar game. Is Unity even the right tool for me? Should I use Unreal Engine? Or maybe not a game engine at all? Should I use Android Studio to create a native app? Or create a PWA?

I know some apps that can detect which chord you’re playing, so I know it’s possible. For example, Guitar Tuna. I’ve tried several things but I still haven’t managed to detect chords. Does anyone have any experience with detecting chords using the microphone?

Please let me know if you have any ideas, and let me know whether you think I should create this in Unity or not.

Cheers,

Annelies

its possible… just need to find some algorithm for it and convert into unity…
audio - Chord detection algorithms? - Stack Overflow or others

just saw this recently, using machine learning:

quite sure that they also use unity (at least seen many of their unity job postings before)

you can find many audio related examples online, like

During university a classmate did a vr project around music and that was one of the things he had. I believed he was using frequency spectrums.

we have docs on using the data I believe. You could have it if it matches The G Chord Frequency Spectrum that it displays A G symbol or something (I’m not huge into audio so i’m not 100% on this)

Hope it helps :slight_smile:

Detecting chords turned out to be more complicated than I expected when I first started this project.
I ended up creating a Typescript game (vaannelies.github.io/guitar-game) where the game analyses the frequencies picked up by your microphone to check which note you’re playing. So it’s detecting individual notes instead of chords.

Let me know what you think :slight_smile:

(I think detecting chords would be better so I’m still looking into it. I created this project for a school assignment and it would’ve taken me too long to accomplish this before the deadline.)