Wyoming Satellite 开源项目教程
项目介绍
Wyoming Satellite 是一个基于 Wyoming 协议 的远程语音卫星实现,旨在通过Home Assistant集成,实现本地唤醒词检测、音频增强及远程语音控制功能。它特别适用于物联网设备,如Raspberry Pi Zero 2 W搭配ReSpeaker 2Mic HAT,以构建低成本、低功耗的智能语音助手终端。该项目采用MIT许可协议,并广泛支持Python 3.7及其以上版本。
项目快速启动
环境准备
首先确保你的系统中已安装必要的依赖项:
sudo apt-get install python3-venv python3-pip alsa-utils
接下来创建并激活虚拟环境,然后运行安装脚本:
python3 -m venv venv
source venv/bin/activate
./script/setup
运行示例
为了快速体验远程唤醒词检测,执行以下命令:
cd wyoming-satellite/
./script/run \
--name '我的卫星' \
--uri 'tcp://0.0.0.0:10700' \
--mic-command 'arecord -r 16000 -c 1 -f S16_LE -t raw' \
--snd-command 'aplay -r 22050 -c 1 -f S16_LE -t raw'
这将监听默认麦克风,并将音频流传输到指定端口上等待处理。在Home Assistant中配置Wyoming Protocol插件后,应自动发现此卫星。
应用案例和最佳实践
增加语音活动检测(VAD)
对于更节能的应用场景,可以通过添加语音活动检测来减少不必要的数据传输。首先安装VAD依赖:
pip3 install pysilero-vad==1.0.0
之后,以VAD模式运行卫星:
./script/run --vad
这样卫星仅在检测到语音时才开始数据流传输。
局域网内唤醒词检测
集成wyoming-openwakeword可以实现本地的唤醒词检测,提高响应速度并降低对外部服务的依赖。按照其官方指南启动服务后,在Satellite中配置相应的唤醒词服务地址:
./script/run \
--wake-uri 'tcp://127.0.0.1:10400' \
--wake-word-name 'ok_nabu'
典型生态项目
在Wyoming Satellite的基础上,结合Home Assistant和其他智能家居组件,可以构建多样化的应用场景。例如,集成TTS(文本转语音)服务,当检测到特定事件或指令时,自动播放通知或者回应用户的请求。此外,Wyoming Protocol的开放性和灵活性也使得开发者能够轻易地将语音控制扩展至第三方IoT设备,形成一个完整的智能家居生态系统。
这个教程提供了Wyoming Satellite的基本操作流程和几个进阶使用实例,希望能够帮助你快速上手并探索更多可能。记住,随着技术的发展,记得参考最新的官方文档以获取更新信息。