跳转到主要内容

Home Assistant语音卫星

项目描述

Home Assistant Satellite

基于Python的卫星,用于Assist,可以从麦克风将音频流式传输到Home Assistant。

您必须安装openWakeWord附加组件

要求

  • Python 3.9或更高版本
  • ffmpeg
  • libportaudio2(用于sounddevice

安装

安装Python和所需的系统依赖项

apt-get install python3 python3-pip python3-venv \
                ffmpeg libportaudio2

克隆存储库并运行设置脚本

git clone https://github.com/synesthesiam/homeassistant-satellite.git
cd homeassistant-satellite
script/setup

这将创建一个虚拟环境并安装该软件包。

长期访问令牌

您必须为卫星创建长期访问令牌,以便其访问WebSocket API。

  1. 转到Home Assistant的个人资料页面
  2. 向下滚动到“长期访问令牌”
  3. 点击“创建令牌”
  4. 输入名称并点击“确定”
  5. 使用提供的复制按钮复制整个令牌
  6. 将令牌保存在您可以粘贴的地方

运行

script/run --host <IP> --token <TOKEN>

其中 <IP> 是您的Home Assistant服务器的IP地址,<TOKEN> 是长期访问令牌。

此功能将从默认麦克风流式传输音频到Home Assistant中您首选的管道。

查看--help获取更多选项

反馈声音

使用--awake-sound <WAV>--done-sound <WAV>在检测到唤醒词和语音命令完成后播放声音。

例如

script/run ... --awake-sound sounds/awake.wav --done.wav sounds/done.wav

更改麦克风/扬声器

使用--mic-device <NUMBER>--snd-device <NUMBER>更改麦克风和扬声器。获取设备列表:

python3 -m sounddevice

语音活动检测

使用--vad webrtcvad仅在检测到语音时流式传输音频。

silero VAD配合使用

.venv/bin/pip3 install -r requirements_extra.txt

script/run ... --vad silero

音频增强

使用--noise-suppression <NS>抑制背景噪声,如风扇(0-4,4为最大抑制,默认:0)。

使用--auto-gain <AG>自动增加麦克风音量(0-31,31为最响,默认:0)。

使用--volume-multiplier <VM>将音量乘以<VM>,2.0将是正常音量的两倍(默认:1.0)。

故障排除

添加--debug以获取与Home Assistant交换的消息的更多信息。

添加--debug-recording-dir <DIR>将录制的音频保存到目录<DIR>

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程。

构建分发

homeassistant_satellite-1.1.0-py3-none-any.whl (1.5 MB 查看哈希值)

上传时间: Python 3

由以下机构支持