I ultimately want to build an application like this:
- a list of written phrases of 1-5 words each
- a bunch of audio files like mp3, with total duration in the 100 to 1000 hours range, and potentially thousands of separate files, all in English, moderate audio quality
- specify whether to check for the presence or absence of each phrase
- A list where a True/False result is given for each phrase / audio file combination
The obvious approach to me is to use a speech processing API, generate a transcript for every file, then search for each phrase in each transcript.
I don't have any experience with speech processing so I'm looking to be pointed in the right direction, to know if there are best practices for my specific use case etc, is "audio phrase detection" a thing or does it just come under speech processing? Any answers to the following questions would also be very helpful:
Are there existing APIs/services out there that already do what I described (the transcribing but also handle the phrase searching component)
Are there specific speech processing algorithms best suited to long durations like this? What sort of runtime can I expect?
What sort of error rates should I expect? False positives vs False negatives
Any impact from using different filetypes (mp3 vs wav) on accuracy, speed etc?