код заканчивается речевым распознаванием.UnknownValueError - PullRequest
0 голосов
/ 02 февраля 2019

Попытка извлечь текст из аудиофайла с помощью API распознавания звука Google на виртуальной машине.Линейный код занимает слишком много времени, поэтому пошел с многопоточностью.Код работает нормально для нескольких выходных строк, но заканчивается на speech_recognition.UnknownValueError.Предложить исправление

import speech_recognition as sr
from pydub import AudioSegment
from multiprocessing import Pool
import os

def convert(audio_segment):
    r = sr.Recognizer()
    strx = os.getpid() 
    strx = str(strx) + ".wav" 
    audio_segment.export(strx, format="wav")
    with sr.AudioFile(strx) as source:
        audio = r.record(source)
    command = r.recognize_google(audio)
    print command


if __name__ == '__main__':
    p = Pool(10)
    sound = AudioSegment.from_file('test.wav')

    ts = 30*1000
    audio_segment_array = []
    length = len(sound)
    step = ts
    start = 0
    while step < length:
        audio_segment_array.append(sound[start:step])
        start = step
        step = step + ts
    audio_segment_array.append(sound[step:length])

    p.map(convert,audio_segment_array)
...