Функция записи не читает полный аудиофайл, даже если в программе распознавания речи установлен тег длительности - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь прочитать файл wav и найти в нем определенную фразу. Однако, когда я использую класс SpeechRecognition Python, я обнаружил, что функция не читает до конца файла.

Я попытался установить длительность 7 или 8, длина файла 7,25 с. Это не совсем сработало.
Затем я попытался установить последовательное чтение одного и того же файла, примерно по 4 с. Это работает после моды, я получаю начальный текст и конечный текст. Я теряю некоторый текст посередине

with sr.AudioFile(AUDIO_FILE) as source: 
    #reads the audio file. Here we use record instead of 
    #listen 
    #works, but unless I will not have prior knowledge
    #audio = r.record(source,offset=3)
    # doesn't really work, stops at first pause
    #audioN= r.record(source,duration=8)
    audio= r.record(source,duration=4)
    audioN= r.record(source,duration=4)


try:

    texStr=r.recognize_google(audio)
    print("Datatype "+" TEXT "+ texStr)
    texStr=r.recognize_google(audioN)
    print("Datatype "+" TEXT "+ texStr)
    texList=list(texStr.split(" "))

except:
    print("Error!")
    pass;

В идеале мне хотелось бы сказать 8 секунд и записать и интерпретировать весь файл!

Я могу получить длительность каждого файлазапустив afinfo. Как мне получить опцию duration для работы с аудиофайлом? Мне не очень повезло с документацией.

...