如何使用 python 将音频缓冲区传递给语音到文本服务

How to pass audio buffer to speech to text service using python

我正在使用 azure speech to text 服务,使用 python 来处理一堆音频。为了处理音频,这些是执行的步骤-

  1. 将音频从 Web 服务器下载到本地 'C:/audio' 驱动器。
  2. 将下载的音频路径传递给 Speech SDK 的 - Audioconfig(filename ='C:/audio/my_audio.wav')

我不想下载到本地机器,而是想从服务器获取文件并将其直接传递给语音到文本服务。为此,

  1. 我将音频以 bytes 的形式存储在音频缓冲区中,就像这样 - raw_audio = my_audio_in_bytes # class <'bytes'>

  2. 然后,我将音频缓冲区传递给 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)  

@user1990,根据我们的讨论 on this GitHub issue, please use batch transcription,因为语音 SDK 不直接支持从 Web 服务上托管的 WAV 文件进行识别(您首先需要在本地下载)。