androidvoice-recognitionvoicevoice-recordinggoogle-voice

Android Recognize voice of 2 people differently


I want to develop an android app.

One feature of the app is recognize 2 people's voice.

It will be kike this - when the app will open, 2 people will talk in front of it. App will detect 2 persons speaking and will calculate how much % (let 2 persons are A and B) person A spoke and same for person B.

So, say, after 1 minute the app will tell A talks 80% and B talks 20%.

So, what I need is how to differentiate 2 people's voice.

I have tried SpeechRecognizer and android.speech.tts . But I can't make it working.

Is it possible in android to differentiate 2 people's voice?

Thanks in advance for helping.


Solution

  • SpeechRecognizer or TTS will not help you as they have designed to recognize speech. You have to use DSP technology, in order to recognize the speaker. Due to the complexity, i don't think you can achieve this within the device itself. You can save your audio (using something like AudioRecord in Android) and then send it to a server. in the server side you can run a speaker recognition program. ALIZE is a quite popular open source tool for this.