豆包语音识别 Home Assistant 集成插件,基于 doubaoime-asr 开发。
- ✅ 完全兼容 Home Assistant STT 组件规范
- ✅ UI 配置界面,无需手动编辑配置文件
- ✅ 自动设备注册和凭据管理
- ✅ 支持中文语音识别(zh-CN, zh)
- ✅ 实时流式识别
- ✅ 自动标点符号添加
- ✅ 保留原有设备伪装功能
- Home Assistant 2024.1+
- Python 3.11+
-
将整个
custom_components/hass_stt_doubao目录复制到 Home Assistant 配置目录的custom_components文件夹下: -
重启 Home Assistant
- 确保你已经在 Home Assistant 中安装并配置了 HACS(Home Assistant Community Store)。
- 点击 HACS 界面左上角的菜单,选择 自定义仓库(Custom repositories),在弹出的窗口中输入仓库地址
https://github.com/xyzmos/hass_stt_doubao,类别选择集成,然后点击添加。之后再搜索 "Doubao STT" 并安装。 - 重启 Home Assistant
- 进入 Home Assistant 设置 → 设备与服务
- 点击右下角 "添加集成"
- 搜索 "Doubao Speech to Text"
- 按照向导完成配置:
- 凭据文件路径:默认
doubao_credentials.json(相对于 HA 配置目录) - 启用标点符号:默认启用
- 凭据文件路径:默认
- 凭据文件路径:首次运行时会自动注册虚拟设备并保存凭据到此文件,避免重复注册
- 启用标点符号:是否在识别结果中自动添加标点符号
配置完成后,Doubao STT 会自动出现在 Assist 管道配置中:
- 进入设置 → Assist → 管道
- 选择或创建一个管道
- 在 "语音转文字" 选项中选择 "Doubao STT"
- 保存配置
automation:
- alias: "语音控制示例"
trigger:
- platform: event
event_type: voice_command
action:
- service: stt.process
data:
entity_id: stt.doubao_stt
language: zh-CNHome Assistant Audio Stream (PCM 16kHz Mono)
↓
DoubaoSTTEntity
↓
Audio Encoder (PCM → Opus)
↓
DoubaoASR WebSocket Client
↓
Doubao ASR Service
↓
Recognition Result (Text)
custom_components/hass_stt_doubao/
├── __init__.py # 集成初始化
├── manifest.json # 集成元数据
├── const.py # 常量定义
├── config_flow.py # 配置流
├── stt.py # STT 实体实现
├── strings.json # UI 字符串
├── translations/
│ └── zh.json # 中文翻译
└── doubaoime_asr/ # doubaoime-asr 核心模块
├── __init__.py
├── asr.py
├── audio.py
├── config.py
├── constants.py
├── device.py
└── asr_pb2.py
- 检查网络连接
- 确认系统已安装 libopus0
- 查看 Home Assistant 日志:
设置 → 系统 → 日志
- 确保音频格式正确(PCM 16kHz Mono)
- 检查麦克风是否正常工作
- 尝试重新配置集成
- 删除凭据文件(默认在配置目录下的
doubao_credentials.json) - 重新配置集成,会自动重新注册设备
本项目基于 doubaoime-asr - 核心 ASR 的实现,非官方提供的 API。
- 本项目仅供学习和研究目的
- 不保证未来的可用性和稳定性
- 服务端协议可能随时变更导致功能失效
MIT License
- doubaoime-asr - 核心 ASR 实现
- Home Assistant - 智能家居平台
- 初始版本
- 完整的 STT 组件实现
- UI 配置支持
- 自动设备注册
- 中文语音识别