1
$\begingroup$

I want to find all occurrences of a specific phrase in a set of audio files (it's a catch-phrase in a TV show). The phrase is pronounced by different people with different speed etc. What is the best approach to this problem?

Additional details: It's a one time thing. The end result should be a program that takes 30 hours of audio and produces timestamps of a particular short phrase. Obviously the training will be required. Problem is that while I'm a seasoned programmer I have pretty much no experience with speech recognition. I know that phoneme recognition engines exist will they get the job done? For now I need some pointers in the right direction.

$\endgroup$
  • 1
    $\begingroup$ It's quite hard to answer your question because it is very general and you don't give much information. In principle you would need a fully-fledged speech recognizer that has been trained appropriately. Check out Sphinx, I think it's open source. $\endgroup$ – Matt L. Jun 7 '13 at 10:05
  • $\begingroup$ @MattL. I've added some details. $\endgroup$ – synapse Jun 7 '13 at 20:05
  • $\begingroup$ Has anything simple turned up since June ? $\endgroup$ – denis Oct 30 '13 at 16:47
1
$\begingroup$

The detection of a particular phrase in records sounded by different people may necessitate a complex speech recognition operation. Even if you train a good acoustic model, there is no guarantee that you will obtain a good recognition performance because you would also need some textual content which will constitute the language model.

Google speech recognition performs quite good and you can use its API instead of developing a system from scratch: https://stackoverflow.com/questions/8830203/is-there-an-api-for-googles-speech-recognition-technology

You can send segments of voice data to the API and get the recognition results.

$\endgroup$
  • $\begingroup$ I was thinking about starting with something simple e.g. using some tool to detect phonemes and group them into words then filtering the results and removing false positives by hand. I don't need a highly automated solution just something for a toy project of mine. $\endgroup$ – synapse Jun 7 '13 at 20:13
  • 1
    $\begingroup$ @synapse, phoneme detecion may prove to be harder than you think. Phonemes sounded by different people may have different pitch frequencies and mel cepstrum cofficients are used as features for this purpose $\endgroup$ – RonaldoMessi Jun 8 '13 at 16:41
  • $\begingroup$ Thing is language model is (as far as I understand) is of no help here cause I'm looking for a short phrase without a context. $\endgroup$ – synapse Jun 8 '13 at 17:47
  • 1
    $\begingroup$ you need to differentiate this phrase (may be multiple words) from the rest of the speech and you can also use grammer based recognition where grammer contains the phrase and some garbage words and you can scan whole record segment by segment but this is also not reliable because the size of phrase can change from speaker to speaker $\endgroup$ – RonaldoMessi Jun 8 '13 at 17:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.