我正在使用 Raspberry Pi 4 和 Azure 语音服务创建家庭助理。我有一个关键字模型设置并使用以下代码侦听关键字。
using AudioConfig audioConfig = AudioConfig.FromDefaultMicrophoneInput();
using var keywordRecognizer = new KeywordRecognizer(audioConfig);
await keywordRecognizer.RecognizeOnceAsync(keyword);
在 VS 2022 内的 Windows 10 笔记本电脑(使用笔记本电脑麦克风)上运行时,这可以完美运行。
我在树莓派上使用的麦克风是 Respeaker 4-mic 阵列。
当我将它部署到树莓派时,它似乎没有拿起麦克风。我已编辑 etc/asound.conf 以确保将我要使用的麦克风设置为默认设置。我的麦克风使用卡 1 并且是设备 0。我已经测试过麦克风确实可以使用 Audacity。
我什至将 .FromDefaultMicrophoneInput 交换为:
using AudioConfig audioConfig = AudioConfig.FromMicrophoneInput("hw:CARD=1,DEV=0");
或者
using AudioConfig audioConfig = AudioConfig.FromMicrophoneInput("hw:1,0");
以下 azures 文档:https ://docs.microsoft.com/en-gb/azure/cognitive-services/speech-service/how-to-select-audio-input-devices
上述两个崩溃并出现错误:SPXERR_MIC_NOT_AVAILABLE。这让我相信没有找到麦克风。
关于如何让 Azure SDK 使用 Raspberry Pi 上的麦克风进行关键字识别的任何帮助都将非常有用。
非常感谢
编辑:我试过 USB 麦克风,这确实有效。使用通过 GPIO 引脚连接的麦克风似乎存在问题?