[低延迟端点]:完成首句保留和快速结束修正,包含ACK缓冲策略、批量读帧和主说话人端点回归测试
This commit is contained in:
@@ -39,10 +39,11 @@ OWNER_WAKE_KEYWORDS_FILE=
|
||||
OWNER_WAKE_KWS_THRESHOLD=0.15
|
||||
OWNER_WAKE_KWS_SCORE=1.0
|
||||
OWNER_WAKE_ACK_TEXT=我在
|
||||
OWNER_POST_PLAYBACK_DRAIN_MS=50
|
||||
OWNER_POST_PLAYBACK_DRAIN_MS=0
|
||||
OWNER_PIPELINE_MODE=live_turn_based
|
||||
OWNER_ENDPOINT_MODE=primary_speaker
|
||||
OWNER_SPEAKER_PROFILE_MS=600
|
||||
OWNER_SPEAKER_PROFILE_MIN_MS=120
|
||||
OWNER_SPEAKER_ABSENT_MS=300
|
||||
OWNER_SPEAKER_SIMILARITY_THRESHOLD=0.70
|
||||
OWNER_SPEAKER_MIN_RMS=0.012
|
||||
@@ -74,9 +75,9 @@ python3.11 scripts/download_speech_models.py --dir models
|
||||
|
||||
本地唤醒关键词文件位于 `models/wake/keywords.txt`。默认 `OWNER_WAKE_KWS_THRESHOLD=0.15` 已偏向灵敏;如果真人唤醒仍不灵敏,可以继续降到 `0.10`,若误唤醒变多再回调到 `0.20`。
|
||||
|
||||
默认 `OWNER_ENDPOINT_MODE=primary_speaker` 会在本轮问题开头建立临时音色画像;当这个主说话人音色连续消失 `OWNER_SPEAKER_ABSENT_MS=300` 毫秒后,直接结束录音进入转写。它不保存长期声纹、不做主人注册、不跨进程记忆。
|
||||
默认 `OWNER_ENDPOINT_MODE=primary_speaker` 会在本轮问题开头建立临时音色画像;`OWNER_SPEAKER_PROFILE_MIN_MS=120` 表示最少 120 毫秒有效语音即可让画像参与端点判断。当这个主说话人音色连续消失 `OWNER_SPEAKER_ABSENT_MS=300` 毫秒后,直接结束录音进入转写。它不保存长期声纹、不做主人注册、不跨进程记忆。
|
||||
|
||||
默认 `OWNER_VAD_PROVIDER=hybrid` 会同时使用本地 `sherpa-onnx` VAD 和能量阈值兜底,帮助开始录音;结束录音优先由主说话人端点控制。如果你想临时回退旧行为,可以设置 `OWNER_ENDPOINT_MODE=vad`。如果唤醒后你已经停说但还长时间显示“录音中”,优先调小 `OWNER_SPEAKER_ABSENT_MS`,例如 `250`;如果句尾容易被切掉,再调高到 `400`。
|
||||
默认 `OWNER_POST_PLAYBACK_DRAIN_MS=0` 表示“我在”播放结束后只清理已经积压的输入队列,不再额外读取并丢弃后续音频,避免切掉正式问题开头。默认 `OWNER_VAD_PROVIDER=hybrid` 会同时使用本地 `sherpa-onnx` VAD 和能量阈值兜底,帮助开始录音;结束录音优先由主说话人端点控制。如果你想临时回退旧行为,可以设置 `OWNER_ENDPOINT_MODE=vad`。如果唤醒后你已经停说但还长时间显示“录音中”,优先调小 `OWNER_SPEAKER_ABSENT_MS`,例如 `250`;如果句尾容易被切掉,再调高到 `400`。
|
||||
|
||||
## 设备检查
|
||||
|
||||
|
||||
Reference in New Issue
Block a user