【问题标题】:Azure Speech Recognition not detecting microphone SPXERR_MIC_NOT_FOUNDAzure 语音识别未检测到麦克风 SPXERR_MIC_NOT_FOUND
【发布时间】:2020-09-12 07:42:48
【问题描述】:

我有一个小示例应用程序来测试语音识别。它适用于某些机器,但不适用于其他机器。在我第一次安装必要软件包的开发环境中,一切都 100% 正常运行,没有任何问题。但是,我的队友无法通过安装我们包含此代码的软件来使其正常工作。我们有混合环境,在某些情况下,我们使用远程桌面和在远程计算机上运行的应用程序(因此通过 RDP 进行设备集成)。而且在本地没有 RDP。在这两种情况下,它都不会检测到麦克风。 Windows 检测到麦克风。录音机应用程序正常工作并测试所有工作正常,因此我们知道麦克风正在被 Windows 识别。

但是,语音 SDK 无法识别它。

我尝试了两种方法。首先,使用FromDefaultMicrophoneInput 但由于它不起作用,我将其改为FromMicrophoneInput 并指定了麦克风ID。

使用 NAudio 枚举麦克风,检测到并列出麦克风:

var enumerator = new MMDeviceEnumerator();
                string specifiedMicID = string.Empty;
                foreach (var endpoint in
                         enumerator.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active))
                {
                    if (endpoint.FriendlyName != this.MicName)
                        continue;
                    else
                    {
                        specifiedMicID = endpoint.ID;
                        break;
                    }
                }
                audioConfig = AudioConfig.FromMicrophoneInput(specifiedMicID);

但是,当尝试使用该音频配置实例化 SpeechRecognizer 时:

using (var recognizer = new SpeechRecognizer(config, audioConfig))
            {
...
}

我们得到了 SPXERR_MIC_NOT_FOUND。甚至认为它显然存在并且在 Windows 中的所有其他情况下都可以正常工作,并且 Naudio 可以正常检测到它。

有什么想法吗?

谢谢你。

【问题讨论】:

    标签: azure azure-cognitive-services azure-speech


    【解决方案1】:

    您是否正在创建 UWP 应用程序?如果是这样,您需要以不同的方式检索音频设备 ID:

    var devices = await DeviceInformation.FindAllAsync(DeviceClass.AudioCapture);
    
    foreach (var device in devices)
    {
        Console.WriteLine($"{device.Name}, {device.Id}\n");
    }
    

    请参阅此处的文档以获取更多信息: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/how-to-select-audio-input-devices#audio-device-ids-on-uwp

    如果您仍有问题,我们需要获取 SDK 日志以进一步调试。可以在此处找到有关如何打开日志记录的说明: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/how-to-use-logging

    【讨论】:

    • 不是 UWP,只是 windows 窗体。我们怀疑这是一个操作系统问题,因为在 Windows 10 之前的任何版本上都没有正式支持。我们正在与我们的客户一起处理。
    猜你喜欢
    • 2021-07-15
    • 2021-08-27
    • 2021-08-13
    • 2021-10-03
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多