У меня есть решение, которое хорошо работает для преобразования речи в текст из звукового файла.Вот ссылка на простой проект Android, который я создал, чтобы показать, как работает решение.Кроме того, я вставил несколько экранов печати в проект, чтобы проиллюстрировать приложение.
Я попытаюсь кратко объяснить подход, который я использовал.В этом проекте я объединил две функции: Google Speech API и запись Flac.
Google Speech API вызывается через HTTP-соединения. Майк Пульц дает более подробную информацию об API:
"(...) новый [Google] API - это API-интерфейс с полнодуплексной потоковой передачей. Это означает, что он фактически используетдва HTTP-соединения - один POST-запрос для загрузки контента в виде «живого» фрагментированного потока и второй GET-запрос для доступа к результатам, что гораздо более целесообразно для более длинных аудиосэмплов или для потокового аудио. "
Однако этот API должен получать звуковой файл FLAC для правильной работы.Это заставляет нас перейти ко второй части: Запись Flac
Я реализовал запись Flac в этом проекте путем извлечения и адаптации некоторых фрагментов кода и библиотек из приложения с открытым исходным кодом под названием AudioBoo.AudioBoo использует собственный код для записи и воспроизведения формата flac.
Таким образом, можно записать звук flac, отправить его в Google Speech API, получить текст и воспроизвести только что записанный звук.
Проект, который я создал, имеет базовые принципы для его работы и может быть улучшен для конкретных ситуаций.Чтобы заставить его работать в другом сценарии, необходимо получить ключ Google Speech API, который получается, будучи частью группы Google Chromium-dev.Я оставил один ключ в этом проекте, чтобы показать, что он работает, но в конце концов я его удалю.Если кому-то нужна дополнительная информация об этом, дайте мне знать, потому что я не могу разместить более двух ссылок в этом сообщении.