How to develop voice recognizing app like talking tom

VR.Naresh picture VR.Naresh · Jul 6, 2012 · Viewed 8k times · Source

How to develop voice recognizing app like Talking Tom?
1. My request is how to recognize the voice without any events like buttons, touch events)
2. All voice recording sample containing through button, but my requirement is recognizing voice when user talk on that time recording voice and when user stop voice it automatically modify the voice in some other voice like Tom or parrot
3. I have done through button

My .java

File storageDir = new File(Environment.getExternalStorageDirectory(), "SRAVANTHI");
storageDir.mkdir();
Log.d(APP_TAG, "Storage directory set to " + storageDir);
outfile = File.createTempFile("hascode", ".3gp", storageDir);

// init recorder
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(outfile.getAbsolutePath());

// init player
player.setDataSource(outfile.getAbsolutePath());

try {
    recorder.prepare();
    recorder.start();
    recording = true;
} catch (IllegalStateException e) {
    Log.w(APP_TAG, "Invalid recorder state .. reset/release should have been called");
} catch (IOException e) {
    Log.w(APP_TAG, "Could not write to sd card");
}

recorder.stop();

for play button

try {
    playing = true;
    player.prepare();
    player.start();
} catch (IllegalStateException e) {
    Log.w(APP_TAG, "illegal state .. player should be reset");
} catch (IOException e) {
    Log.w(APP_TAG, "Could not write to sd card");
}

Answer

cichystefan picture cichystefan · Feb 20, 2014

What about checking sound volume first, recording only after it is over certain value?

Maybe this will be usefull: android: Detect sound level