How do you get the note from real-time instrument string sound?

A question.. I am making a guitar tuner. When I launch the app, the sound recognition starts using a SoundRecorder.


Next, I have added a label in screen1. I can change the colors if it is the correct note or not. But, I am stuck in the part to recognize the string note when the string produces a sound.

For instance if I press the 6th string, it will show the note as E, but if the 6th string produces an unusual sound, the note will change to D# or Eb (or any other note). Is this possible? This should apply to all the other strings as well. I am creating this app for myself only.

Might be something here that helps?

How to genertate a frequency modulated square wave?

1 Like

I don't want to generate the tone, but rather get the note of the tone from the mic using a soundRecorder.

There is something called a SoundSensor in AppyBuilder that was long abandoned long ago. Maybe an extension developer may want to revisit this.

1 Like

This doesn't include a note detector as I suspect. I failed to find one. Good recommendation though! Some of those features I can use in my app also.

Of course it doesn't. But we may work out the frequency of the sounds, then get the note from the frequency.

Nice approach. But I can't understand how to work with this. Can you please demonstrate this via diagram? Since this component was abandoned long ago.

I don't think this will succeed - especially since this also depends on the instrument (guitar, bass, ukulele, violin, ...) and the pitch etc. that produces the sound (note).
But good luck. :wink:


I need an example of how to work out this. Please help.

Only guitar, not learning bass, violin or ukulele, so no bass, ukulele or violin

It hasn't been achieved yet currently, as I am working on other assignments as well. But you can try that out yourself and find other methods as well.

1 Like

I'm curious... but pretty sure it won't be successful. Anyway - as I said - "good luck".
I'm a musician and would love something like this... :wink:


See this SO question/answers


But what about Guitar notes? Pianos and guitar sounds have different style of soundings.

But it is Python, and not Java.

You will be returning the frequency of the sound (if you get it working)

A middle C on a piano is the same frequency as a middle C on a guitar

1 Like

I have very little idea about frequencies and all those things.. Please tell me how do you get the frequency? I apologize If I have asked many questions multiple times. Please guide me. :disappointed:

Any extension required, or we could do this via built-in blocks?

You would need to create an extension