1

im looking for the best (and fastest) way to record a short audio input (like one word) from mobile microphone and then compare it with a long real time audio input (like speech) - from the same person and look for word occurrence.

I tried many approaches like using typical SpeechRecognizer, but there were many problems, like there is actually no way to guarantee that it will give reasults fast enough or run for many minutes.

VoiceRecognition Android Taking Too Long To React

Long audio speech recognition on Android

I dont really need to recognize which words is the person saying, only to be able to find occurences with some deviation.

It would be nice if you could give me some suggestions of how to do so.

EDIT: Im basically looking for a way to control the app with sound inputed from a user

Mitchy
  • 85
  • 1
  • 7

1 Answers1

0

Here are a couple ideas to consider.

(1) First, create a set of common short sounds that will likely be part of the search. For example, perhaps all phonemes, or a something like a set of all consonant-vowel combinations, e.g., bah, bay, beh, bee, etc. and the same with cah, cay, keh, key, etc.

Then, run through the "long" target sample with each, indexing the locations where these phonemes are found.

Now, when the user gives you a word, first compare it to your set of indexed phoneme fragments, and then use the matches to focus your search and test in the long target file.

(2) Break your "long" file up into fragments and sort the fragments. Then compare the input word to the items in the sorted list, using something like a binary search algorithm.

Phil Freihofner
  • 7,645
  • 1
  • 20
  • 41