0

我正在使用 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 引脚连接的麦克风似乎存在问题?

4

1 回答 1

0

安装 ALSA 库有助于解决我的 RPi 3 上的 SPXERR_MIC_NOT_AVAILABLE 问题。

sudo apt-get install gcc libasound2 libasound2-dev alsa-utils
于 2021-12-07T20:23:08.820 回答