Я использую API распознавания речи Google.Когда я пытаюсь распознать относительно короткие слова (например, «да» или «нет») длительностью от 0,25 до 0,5 секунды, Google API часто возвращает NULL.Я пробовал другие форматы входных данных и решение, опубликованное здесь (16-битная PCM, монофонический аудиофайл), но это не улучшило отклик.В то же время распознавание других более длинных данных работало корректно.
Я попытался искусственно увеличить продолжительность звука, добавив тишину до и после слова, чтобы звук не короче 5 секунд.Количество нераспознанных примеров уменьшилось в 4 раза, но мне кажется, что количество нераспознанных образцов все еще можно уменьшить.
В чем может быть специфика работы Google по распознаванию речи по коротким словам?
Мой код:
credentials = service_account.Credentials.from_service_account_file(‘credentials’)
client = speech.SpeechClient(credentials=credentials)
# Loads the audio into memory
with io.open(nn, 'rb') as audio_file:
content = audio_file.read()
audio = types.RecognitionAudio(content=content)
config = types.RecognitionConfig(
encoding='FLAC',
language_code='ru-RU',
sample_rate_hertz=16000,
max_alternatives=maxAlternatives)
# Detects speech in the audio file
response = client.recognize(config, audio)
Спасибо.