#python #speech-to-text #azure-speech
#python #преобразование речи в текст #azure-речь
Вопрос:
Я использую службу преобразования речи в текст Azure, используя python для обработки множества аудиозаписей. Для обработки аудиозаписей выполняются следующие шаги-
- Загрузка аудио с веб-сервера на локальный ‘C:/audio — веди машину.
- Передайте путь к загруженному аудио в Speech SDK — Audioconfig(filename =’C:/audio/my_audio.wav ‘)
Вместо загрузки на локальный компьютер я хочу получить файл с сервера и передать его непосредственно в службу преобразования речи в текст. Для чего,
- Я сохранил аудио в
bytes
форме в аудиобуфере следующим образом-raw_audio = my_audio_in_bytes # class <'bytes'>
- Затем я передаю аудиобуфер в AudioConfig(filename = raw_audio) — он не работает. Потому что он ожидает путь к файлу
Есть ли способ передать аудиобуфер в эту службу?
Настройка кода python:
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)
audio_config = speechsdk.audio.AudioConfig(filename='C:/audios/audio1.wav')
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
Комментарии:
1. Проверьте документацию. Функция AudioConfig принимает
stream
параметр, хотя я не могу сказать вам, какой формат он хочет.2. Также протестировано с stream, потоки push / pull принимают необработанные данные, но окончательные расшифровки содержат много избыточных слов. Следовательно, попробовал этот подход.
Ответ №1:
@user1990, согласно нашему обсуждению этой проблемы на GitHub, пожалуйста, используйте пакетную транскрипцию, поскольку Speech SDK напрямую не поддерживает распознавание из WAV-файла, размещенного на веб-сервисе (сначала вам нужно будет загрузить его локально).