Art*_*ior 4 c# speech-recognition speech-to-text azure-cognitive-services
我有这段代码在标题中抛出错误:
using (var audioInput = AudioConfig.FromStreamInput(new PullAudioInputStream(new BinaryAudioStreamReader(new BinaryReader(File.OpenRead(audioFile))), AudioStreamFormat.GetCompressedFormat(AudioStreamContainerFormat.MP3))))
using (var recognizer = new SpeechRecognizer(config, sourceLanguageConfig, audioInput))
Run Code Online (Sandbox Code Playgroud)
audioFile是带有要转录的音频的 mp3 文件的路径。
我已经安装了适用于 Windows 的最新 GStreamer gstreamer-1.0-msvc-x86_64-1.17.2.msi并将其添加到用户的路径中并设置GSTREAMER_ROOT_X86。那没有用。
处理压缩音频是使用 GStreamer 实现的。出于许可原因,GStreamer 二进制文件未编译并与语音 SDK 链接。开发者需要安装多个依赖项和插件,请参阅在 Windows 上安装。Gstreamer 二进制文件需要位于系统路径中,以便语音 SDK 可以在运行时加载 gstreamer 二进制文件。如果语音 SDK 能够在运行时找到 libgstreamer-1.0-0.dll,则意味着 gstreamer 二进制文件位于系统路径中。
它说它将寻找libgstreamer-1.0-0.dll,它不再包含在最新版本(1.17.2)中,所以我回到gstreamer-1.0-x86-1.14.1,它确实有所需的 dll,但仍然得到同样的错误。
从 Visual Studio 2019 控制台,我可以调用该文件夹中包含的 exe 文件,因此我知道 PATH 设置正确。
有人知道缺少什么吗?
小智 5
我解决这个问题的方法...(类似于 Artur K\xc4\x99dzior)
\n使用 Gstreamer 1.14.5 版本https://gstreamer.freedesktop.org/pkg/windows/1.14.5/gstreamer-1.0-x86_64-1.14.5.msi - 完整设置
\n使用 Microsoft.CognitiveServices.Speech 版本 1.13(Nuget 包)
\n转到电脑上的环境变量,并将以下 C:\\gstreamer\\1.0\\x86_64\\bin 添加到名为 path 的用户变量中
\n然后添加一个名为“GSTREAMER_ROOT_X86_64”的系统变量(不带引号)并将值添加到“C:\\gstreamer\\1.0\\x86_64”
\n如果仍有问题,您可能需要重新启动。但这现在对我有用。
\n