Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android, How to use microphone in order to calculate sound frequencies?

I'm working on Audio tuner application in order to tune musical instruments. User should play a note, then in my application I should show which frequency it has.

The first, I should access to microphone?

AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
sampleRate, AudioFormat.CHANNEL_IN_STEREO,
AudioFormat.ENCODING_PCM_16BIT, bufferSize);

Then I need to calculate frequency of sound. How can I do this?

like image 959
Hesam Avatar asked Oct 09 '22 21:10

Hesam


1 Answers

I'm also trying to do this. I haven't managed it myself yet, as I'm completely new to android development, but here are two useful links to the source code of other tuners, one in Java, one not:

  • http://www.psychicorigami.com/2009/01/17/a-5k-java-guitar-tuner/
  • http://www.codeproject.com/Articles/32172/FFT-Guitar-Tuner

EDIT: Thought I better link to the MANY alternatives on this site with people trying to make a guitar tuner.

  • How to create tuner that runs continuously?
  • Sound convertion to frequency in android
  • Real time pitch detection

RE-EDIT: FFT.java

Solved my problems. (Not linked properly because I'm a new user)

like image 67
TRManderson Avatar answered Oct 12 '22 11:10

TRManderson