Files

12 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# 纯语音模式的设备音量控制
保留现有端到端语音模型,在已验签的实时字幕回调中识别用户的短调音请求,不需要新增方舟模型接入点或模型工具调用。此实现属于语音指令识别,不是纯语音模型原生 Function Calling。
支持“大点儿声”“声音大一点”“把音量调高一点”“声音太小了”,以及对应的调小表达。每次增减 10,范围 0–100。“不要大点声”、引用别人说话和一般叙述不匹配;只处理用户的确定字幕,不处理机器人字幕或未确定的识别结果。
回调在同一数据库事务中保存字幕、更新设备目标音量、记录操作。同一对话轮次只执行一次,重复回调及不同序号的重复片段不累加。调用必须属于当前仍绑定的设备、未结束且授权未过期的对话。迟到的历史字幕仍按现有规则存储,但不再调音量。字幕存储授权仍沿用现有回调约束。
现有固件每约 5 秒同步配置,通话中也能应用音量;实际执行结果通过设备的 reported volume/revision 查看,记录中的 `requested` 不表示扬声器已经完成调整。直接更新持久化的目标配置,后续同步不会把语音调整覆盖回旧值。名称、待机设置和其他配置保持原值。纯语音模型的口头回答本身不能作为执行成功的凭证。
验证:`internal/callmemory` 在隔离 PostgreSQL 数据库的完整测试通过,包括并发重复回调、音量上下限、否定句、机器人字幕、未确定识别和通话结束/授权过期。新回调服务已部署为 `0.99.11-rc.spoken-volume1`,未验签请求返回 401。API、网页和其他运行容器未重启,COM6 保持固件 `1.7.0-controls.10`。部署前 COM6 的目标和上报音量均为 22;用户真实说话后的音量变化待实机确认。