如何在 Raspberry Pi 4 上使用 Azure 语音服务 C# SDK 设置麦克风
Posted
技术标签:
【中文标题】如何在 Raspberry Pi 4 上使用 Azure 语音服务 C# SDK 设置麦克风【英文标题】:How to setup microphone with Azure Speech Services C# SDK on Raspberry Pi 4 【发布时间】:2022-01-10 07:14:22 【问题描述】:我正在使用 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 引脚连接的麦克风似乎有问题?
【问题讨论】:
【参考方案1】:安装 ALSA 库有助于解决我的 RPi 3 上的 SPXERR_MIC_NOT_AVAILABLE 问题。
sudo apt-get install gcc libasound2 libasound2-dev alsa-utils
【讨论】:
感谢您的建议,我刚刚尝试过,我的 Pi 4 已经安装了最新版本。所以不可能是这样的。它似乎没有拿起麦克风。 它实际上并没有抛出“SPXERR_MIC_NOT_AVAILABLE”错误。它只是无法从麦克风中拾取我的声音。以上是关于如何在 Raspberry Pi 4 上使用 Azure 语音服务 C# SDK 设置麦克风的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Raspberry Pi 4 上使用 Azure 语音服务 C# SDK 设置麦克风
如何在Balena上运行的raspberry pi 3上修复无效的ELF标头错误?
Hyperledger 结构:无法使用 Raft 订购服务在 raspberry pi 4 上创建通道
如何在Raspberry PI 4中打开和关闭USB端口的电源