我一直在尝试启动一个涉及 azure 语音转文本的项目,出于测试目的,希望用此站点中找到的演示代码来证实其工作原理:
已将 Microsoft 可再发行组件中的所有必备组件安装到
pip install azure-cognitiveservices-speech
。
我已设置默认麦克风。
通过azure门户>所有资源>语音资源>密钥和端点从azure认知服务获取我的订阅密钥和区域
但是我无法启动演示,因为它抛出错误
0x38 (SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND)
回溯是
Traceback (most recent call last):
File "c:\Users\user\Desktop\Azure test\test.py", line 26, in <module>
recognize_from_microphone()
File "c:\Users\user\Desktop\Azure test\test.py", line 10, in recognize_from_microphone
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config)
File "C:\Users\user\Desktop\Azure test\.env\lib\site-packages\azure\cognitiveservices\speech\speech.py", line 808, in __init__
self._impl = self._get_impl(impl.SpeechRecognizer, speech_config, audio_config, language, source_language_config, auto_detect_source_language_config)
File "C:\Users\user\Desktop\Azure test\.env\lib\site-packages\azure\cognitiveservices\speech\speech.py", line 870, in _get_impl
return reco_type._from_config(speech_config._impl)
RuntimeError: Exception with an error code: 0x38 (SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND)
调用堆栈如下
[CALL STACK BEGIN]
> pal_string_to_wstring
- pal_string_to_wstring
- audio_config_get_audio_processing_options
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
[CALL STACK END]
以防万一,我使用的是从微软商店购买的 Windows 11 和 Python 3.9.12。
我会发布代码,但它是 html 中找到的代码的字面副本,仅带有在所述位置找到的订阅密钥。
编辑:
我能够使用 javascript 运行相同的示例,但 node.js 仅支持从音频文件到文本,这不是我想要的。
此外,天蓝色的语音到文本确实可以使用js与麦克风一起使用,但使用浏览器意味着客户端,但最好这不是我正在寻找的。只是指出这一点作为证明来自 azure 的所有资源都已正确配置,也许这与 python 或 pip 包管理器有关,但就像我所说的其他主题中提到的所有 dll 文件都在虚拟环境中,所以它“不应该”一个问题
如果有人可以帮助我,因为我在这里不知所措。