feat(xiaozhi): 新增小智 AI 一键运行 Docker 镜像
This commit is contained in:
@@ -1,5 +1,79 @@
|
||||
XIAOZHI_CONFIG = {
|
||||
"OTA_URL": "https://api.tenclass.net/xiaozhi/ota/",
|
||||
"WEBSOCKET_URL": "wss://api.tenclass.net/xiaozhi/v1/",
|
||||
"WEBSOCKET_ACCESS_TOKEN": "xxxxxxxxxxxxx",
|
||||
import asyncio
|
||||
|
||||
|
||||
async def before_wakeup(speaker, text, source):
|
||||
"""
|
||||
处理收到的用户消息,并决定是否唤醒小智 AI
|
||||
|
||||
- source: 唤醒来源
|
||||
- 'kws': 关键字唤醒
|
||||
- 'xiaoai': 小爱同学收到用户指令
|
||||
"""
|
||||
if source == "kws" and text == "你好小智":
|
||||
# 播放唤醒提示语
|
||||
await speaker.play(text="你好主人,我是小智,请问有什么吩咐?")
|
||||
# 返回 True 唤醒小智 AI
|
||||
return True
|
||||
|
||||
if source == "kws" and text == "hi siri":
|
||||
# 播放唤醒提示语
|
||||
await speaker.play(text="I'm Siri, how can I help you?")
|
||||
# 唤醒小爱
|
||||
await speaker.wake_up()
|
||||
return False
|
||||
|
||||
if source == "xiaoai" and text == "召唤小智":
|
||||
# 打断原来的小爱同学
|
||||
await speaker.abort_xiaoai()
|
||||
# 等待 2 秒,让小爱 TTS 恢复可用
|
||||
await asyncio.sleep(2)
|
||||
# 播放唤醒提示语(如果你不使用自带的小爱 TTS,可以去掉上面的延时)
|
||||
await speaker.play(text="小智来了,主人有什么吩咐?")
|
||||
# 唤醒小智 AI
|
||||
return True
|
||||
|
||||
|
||||
async def after_wakeup(speaker):
|
||||
"""
|
||||
退出唤醒状态
|
||||
"""
|
||||
await speaker.play(text="主人再见,拜拜")
|
||||
|
||||
|
||||
APP_CONFIG = {
|
||||
"wakeup": {
|
||||
# 自定义唤醒词列表(英文字母要全小写)
|
||||
"keywords": [
|
||||
"天猫精灵",
|
||||
"小度小度",
|
||||
"豆包豆包",
|
||||
"你好小智",
|
||||
"你好小爱",
|
||||
"hi siri",
|
||||
"hey siri",
|
||||
],
|
||||
# 静音多久后自动退出唤醒(秒)
|
||||
"timeout": 20,
|
||||
# 语音识别结果回调
|
||||
"before_wakeup": before_wakeup,
|
||||
# 退出唤醒时的提示语(设置为空可关闭)
|
||||
"after_wakeup": after_wakeup,
|
||||
},
|
||||
"vad": {
|
||||
# 录音音量增强倍数(小爱音箱录音音量较小,需要后期放大一下)
|
||||
"boost": 10,
|
||||
# 语音检测阈值(0-1,越小越灵敏)
|
||||
"threshold": 0.10,
|
||||
# 最小语音时长(ms)
|
||||
"min_speech_duration": 250,
|
||||
# 最小静默时长(ms)
|
||||
"min_silence_duration": 500,
|
||||
},
|
||||
"xiaozhi": {
|
||||
"OTA_URL": "https://api.tenclass.net/xiaozhi/ota/",
|
||||
"WEBSOCKET_URL": "wss://api.tenclass.net/xiaozhi/v1/",
|
||||
"WEBSOCKET_ACCESS_TOKEN": "(可选)一般用不到这个值",
|
||||
"DEVICE_ID": "(可选)默认自动生成",
|
||||
"VERIFICATION_CODE": "首次登陆时,验证码会在这里更新",
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user