为什么来自Azure的语音转文本这么慢?

我正在使用Azure Speech To Text API识别从10秒到1分钟的小口语录音。 每次语音识别大约需要5秒钟才能完成,这似乎有点太多了!

这是我的方法:

speech_config = speechsdk.SpeechConfig(subscription=speech_key,region=service_region,speech_recognition_language=language)
audio_config = speechsdk.audio.AudioConfig(filename=filepath)
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config,audio_config=audio_config)

result = speech_recognizer.recognize_once()

我尝试使用timeit来识别瓶颈:

print(timeit.timeit(lambda : speechsdk.SpeechConfig(subscription=speech_key,speech_recognition_language=language),number=100))
>>> 0.004
print(timeit.timeit(lambda : speechsdk.audio.AudioConfig(filename=filepath),number=100))
>>> 0.003
print(timeit.timeit(lambda : speechsdk.SpeechRecognizer(speech_config=speech_config,audio_config=audio_config),number=100))
>>> 0.118

print(timeit.timeit(lambda : print(speech_recognizer.recognize_once()),number=5)) # Only doing this 5 times because it's very slow
>>> 35.01

我实际上使用了包装函数来重新初始化Speech_recognizer,因为对其调用invoke()使其不可用。

在此实验中,抄录一个11秒的录音大约需要7秒。

我正在使用service_region = "westeurope"

将音频文件转录为法语
xiaoqingqiu22 回答:为什么来自Azure的语音转文本这么慢?

如果音频长度为10s,则识别需要5s。

这似乎仍然是合理的。 RTF为5/10 = 0.5

语音记录是一个繁重的过程,需要时间才能运行算法和模型

本文链接:https://www.f2er.com/3143355.html

大家都在问