Revert "锚点污染根治:深疑窗禁吸收(driftAbsorbMin=0.30)——日志实锤换人过渡期相邻窗2s重叠使simP天然≥0.5,渐变吸收+误断防护两链连环把新人声纹吸收进锚点,simA假性回升0.18→0.71,连续低分永远攒不满,无缝换人零触发;两处修:渐变吸收加simA≥0.30条件,误断防护回拉同理,深疑窗一律计入连击交强切判定;深低0.22一票/浅低两票机制不变"
This reverts commit 2b622b68bd.
This commit is contained in:
parent
2b622b68bd
commit
290e4b205b
|
|
@ -193,10 +193,6 @@ class MainActivity : AppCompatActivity() {
|
|||
// 0.14~0.19,0.22 取安全带中枢——深低首票即切(无缝插话 4~6s→3~4s);
|
||||
// 0.22~0.35 浅低维持连续两票,毛刺照旧被误断防护拦下
|
||||
private val deepLowSwitch = 0.22f
|
||||
// 深疑吸收闸(2026-09-16 日志实锤):与锚点相似度低于此的窗禁止一切吸收/
|
||||
// 回拉(渐变吸收与误断防护两条链都曾在换人过渡期污染锚点,致 simA 假性
|
||||
// 回升、连续低分永远攒不满——无缝换人零触发的根因)
|
||||
private val driftAbsorbMin = 0.30f
|
||||
// 最近邻兜底(P1 收紧,2026-09-11):精确匹配不中→top≥0.42 且领先第二名
|
||||
// ≥0.06 才归入最相似身份;模糊判新人(修"错并到别人行")
|
||||
private val verdictFallbackMin = 0.42f
|
||||
|
|
@ -744,14 +740,9 @@ class MainActivity : AppCompatActivity() {
|
|||
}
|
||||
windowPrevEmb = emb
|
||||
rollingLowHits = 0
|
||||
} else if (simP >= emaAbsorbMin && simA >= driftAbsorbMin) {
|
||||
} else if (simP >= emaAbsorbMin) {
|
||||
// 只偏离锚点、紧贴上一窗 → 音量/情绪渐变,
|
||||
// 更新双参考,不换行。
|
||||
// 深疑窗(与锚点 <0.30)除外:实测换人过渡期
|
||||
// 相邻窗 2s 重叠使 simP 天然 0.5~0.75,吸收会
|
||||
// 连环污染锚点致 simA 假性回升、连击永远攒
|
||||
// 不满(无缝换人零触发的根因)——深疑窗一律
|
||||
// 计入连击,不许碰锚点
|
||||
// 更新双参考,不换行
|
||||
rollingLowStreak = 0
|
||||
windowRefEmb = blendEmb(anchor, emb)
|
||||
windowPrevEmb = emb
|
||||
|
|
@ -764,14 +755,11 @@ class MainActivity : AppCompatActivity() {
|
|||
val newLabel = rollingSpeakerSearch(emb)
|
||||
val active = activeLabelForWindow
|
||||
when {
|
||||
// 误断防护:查出来就是当前人 → 毛刺,不断行,参考回拉。
|
||||
// 深疑窗(<0.30)例外:与锚点深
|
||||
// 不符时以 simA 为准、不许回拉污
|
||||
// 染,落入连击路径交给强切判定
|
||||
// 误断防护:查出来就是当前人 →
|
||||
// 毛刺,不断行,参考回拉
|
||||
newLabel != null &&
|
||||
active != null &&
|
||||
newLabel == active &&
|
||||
simA >= driftAbsorbMin -> {
|
||||
newLabel == active -> {
|
||||
windowRefEmb = blendEmb(anchor, emb)
|
||||
rollingLowStreak = 0
|
||||
windowPrevEmb = emb
|
||||
|
|
|
|||
Loading…
Reference in New Issue