liwenhao2
|
699680a347
|
无缝强切占号双空间注册:S2双号实锤(05:01 S1只写fast镜像→sid5准确判定认不出→重发S2,同人S1/S2分裂,B的行标签漂移);占号时对同一窗口补算CAM++嵌入写入准确空间,后续判定稳定命中同一编号
|
2026-09-16 15:09:54 +08:00 |
liwenhao2
|
d1441acf69
|
ONSET-CANCEL 留痕:准确复核撤销切换(同人暂停续说)时输出 fastSim/label,验证复核关工作时可见
|
2026-09-16 15:03:17 +08:00 |
liwenhao2
|
02a27085f4
|
开口即查升级两级判定:误报实锤(A暂停续说,fast 短窗 simA<0.5 判新人,A续说句变'已识别人2'首句)——一级快锚点相似度(贴近=同人免复核),二级 CAM++ 准确空间复核(注册表认得出且为当前人→撤销切换;认得出别人→切给他;认不出→才当新人占号),占号时双空间镜像写入;ONSET-SWITCH 日志改 fastSim
|
2026-09-16 15:02:59 +08:00 |
liwenhao2
|
b6d4efe3f4
|
换行标签加固:onOnsetSwitch 落锤即写 lastConfirmedLabel(S1)——预置5s过期曾致新行开在但沿用旧标签,屏幕观感=没换人(S2案预置16s丢弃实锤);此后partial无论多晚到,新行都挂新标
|
2026-09-16 14:50:14 +08:00 |
liwenhao2
|
0fbeb8c893
|
切点风暴根治:冻结-补喂完成即作废锚点(windowRefEmb/PrevEmb=null+streak清零)——锚点重置原依赖'新人首句partial→开新行',碎片音/静默期无partial时旧锚点让每个噪声窗读深低→连环强切(现场14:35:47-59四连发);SWITCH-SUSPECT 日志补窗能量rms=便于区分真人换声/噪声戳穿底噪门
|
2026-09-16 14:39:28 +08:00 |
liwenhao2
|
97dfa9de17
|
恒定滞后喂料:换人切点零串行(用户拍板,静音轮替+无缝都治):
- 音频先进 pendingBuf,识别流滞后 feedLagSamples(1.5s)喂入;分析窗口保持实时(判定时机不变)
- 开口即查/SWITCH-FORCE 判定即置 cutRequested:录制线程冻结缓冲→强制断句→补喂冻结音频给新流,旧句在切点干净收尾;旧句已结算则直接补喂开新句;Stop 前补齐缓冲防丢尾
- 效果:静音轮替渗漏1.2s→≈0;无缝插话渗漏2~4s→≈1~2s(受缓冲深度约束);代价=全局实时字幕统一晚约1.5s;日志 ONSET-HOLD/ONSET-FLUSH 对账
|
2026-09-16 14:32:57 +08:00 |
liwenhao2
|
cea9892426
|
KV污染根治(还9/14的债):JNI 每次 generate 前 llama_memory_clear——翻译慢的主因(每批重建引擎=每次尝试重载E2B 4~6s)就此免除;Kotlin 侧 translateNumbered 改引擎复用(translateEngine ?: ensure),闲置60s卸载不变;纪要流水线多块共享引擎的潜在污染同步消除;.so 已重编部署(strip 4.32MB,6导出符号)
|
2026-09-16 14:20:43 +08:00 |
liwenhao2
|
fe7c696589
|
翻译单引擎化(用户拍板):E2B 唯一引擎,两级架构下线——translateOne1B+translateFallback 合并为 translateOne(E2B+温度递进重试+全质检+逐字止损),ensureTranslateEngine 改配 E2B(ctx8192/录音4线程/空闲6),tap 模型检查与 toast 改指 E2B;gemma-3-1b 两常量删除;LlmEngine gemma3 模板分支退役(仅剩 gemma4);净+24/-96
|
2026-09-16 14:07:39 +08:00 |
liwenhao2
|
a39a08ae1c
|
MiniCPM5 相关代码整体摘除(用户拍板):useMinicpm5 开关+三派生常量删除(gemma4-e2b 固定);renderMinicpmPrompt 与 minicpm 模板分支删除;think 块剥除(MiniCPM专属防御)删除(<|channel>thought 通用防御保留);prompts.md 适用模型/家族列表/PC复现示例全部改E2B;历史注释保留于退役处
|
2026-09-16 13:58:55 +08:00 |
liwenhao2
|
531b558c72
|
摘要引擎切回 E2B(用户确认):useMinicpm5=true→false——MiniCPM5 三连空模板回显(9/14 起),E2B 系 9/11 真机验证稳定引擎;翻译兜底跟随同步回 E2B;prompts.md 头部适用模型说明同步
|
2026-09-16 13:42:46 +08:00 |
liwenhao2
|
b14c5486ef
|
空概括回显探测修复:extractJson收紧空值判null后,旧'parsed!=null'式emptyEcho探测永远进不去(重试提示词误标'不是合法JSON');改原文正则探测{"概括":""},重试用准确措辞'空概括'并附强约束;现场raw(9)=空schema回显(键名正确格式合法,纯EMPTY进EMPTY出)
|
2026-09-16 13:39:15 +08:00 |
liwenhao2
|
caee985dcc
|
摘要措辞统一(笔记→概括):修复重试提示词/两条异常消息;等 UNPARSABLE 原始输出行定性P1失败(白卷 or 格式)
|
2026-09-16 13:36:34 +08:00 |
liwenhao2
|
98a3098172
|
摘要简化为单项内容概括(用户拍板:只做概括,概括+无标题要点,无时间戳):
- prompts.md+BULTIN(逐字同步,脚本复刻一致性单测验证四段全MATCH):P1=滚动重写单键schema {概括},400字内,同会议语言;P2=200~400字概括正文+3~6条「・」无标题要点,去标题/表格/出处/元信息
- EMPTY_NOTES/notesEntriesEmpty/KEY_ALIASES(概要总结摘要…→概括)/extractJson必键校验全部换schema;进度阶段名滚动笔记→内容概括(三语strings+映射)
- P2 maxNewTokens 2500→1600;resume双闸:MeetingNotesIO.load(extractJson)已拦旧schema,MainActivity再加含"概括"栅;旧notes.json→自动全量重跑
- 单测更新:goodJson新schema、别名用例、旧schema/空概括拒绝用例、MeetingNotesTest样例与占位符断言
|
2026-09-16 13:33:16 +08:00 |
liwenhao2
|
f77f90e1e9
|
翻译改直译模式(用户拍板):去掉同轮上下文(≤600字)——触发点不再拼装、两级引擎签名去掉 context、transCtxBlock 删除、重试丢上下文环节随之废除;原先疑虑的'长上下文诱发漂移'变量一并消除;指代/省略句质量代价已知情
|
2026-09-16 11:44:06 +08:00 |
liwenhao2
|
5dc9fdaf74
|
Revert "翻译兜底引擎与摘要A/B解耦:固定 gemma4-e2b(日语强项+本机已验证),不再寄生 useMinicpm5(纪要方向的开关;MiniCPM5日语未标定、本工程纪要场景日语表现差);新增 fallbackModelDirName/GgufName/ChatTemplate 三常量,translateFallback 改用;摘要管线维持原开关不动"
This reverts commit d18554d731.
|
2026-09-16 11:40:12 +08:00 |
liwenhao2
|
d18554d731
|
翻译兜底引擎与摘要A/B解耦:固定 gemma4-e2b(日语强项+本机已验证),不再寄生 useMinicpm5(纪要方向的开关;MiniCPM5日语未标定、本工程纪要场景日语表现差);新增 fallbackModelDirName/GgufName/ChatTemplate 三常量,translateFallback 改用;摘要管线维持原开关不动
|
2026-09-16 11:31:43 +08:00 |
liwenhao2
|
9a8391d913
|
白卷事故诊断:单句路径转储提示词两段长度+首尾(usr.head/tail),排除提示词层脏数据;现场梳理:空raw=两引擎同现+PERFHAL 'Translate to physical failed'+频繁自重启→头号嫌疑转向设备/模型文件层,代码侧翻译路径在好/坏构建间零差异(逐提交核对)
|
2026-09-16 11:22:47 +08:00 |
liwenhao2
|
206037994f
|
强切换行哑火根治(实机病灶):封行动作被三处早退吞掉——①强切时无进行中句(owner=-1),强制endpoint落进无句分支只有resetBuffer,永无finalize;②finalizeSentence两个早退(sentenceById缺失/重复定格)在封行代码之前。修:封行移至finalizeSentence入口(早退前);无句分支补发closeOnsetLineIfPending;预置标签加5s保鲜期防误挂;修复后链路:强切→封行→新句新行挂S1,日志ONSET-CLOSE/ONSET-LINE可查
|
2026-09-16 11:05:29 +08:00 |
liwenhao2
|
6239f0a37e
|
SWITCH-FORCE 3s 冷却闸:实测强切落地链需1~2s完成,期间下一深低窗再开一枪(双发);冷却期内 suppressed(cooldown) 只记日志不再触发,去噪+防叠发;首次真机开火验证通过(deep-low 0.21 首窗即切+label=S1 防双号命中)
|
2026-09-16 10:59:39 +08:00 |
liwenhao2
|
0b731978ef
|
翻译预算分配修复+genfail诊断:录音中1B重试预算降到1次(两次尝试~30s),给兜底留出时间窗——现场15s×3吃满45s预算致TAP-FALLBACK skipped=budget;TRANSLATE single/batch empty 诊断日志(原始输出头48字,区分模型白卷与输出被清洗成空)
|
2026-09-16 10:54:17 +08:00 |
liwenhao2
|
290e4b205b
|
Revert "锚点污染根治:深疑窗禁吸收(driftAbsorbMin=0.30)——日志实锤换人过渡期相邻窗2s重叠使simP天然≥0.5,渐变吸收+误断防护两链连环把新人声纹吸收进锚点,simA假性回升0.18→0.71,连续低分永远攒不满,无缝换人零触发;两处修:渐变吸收加simA≥0.30条件,误断防护回拉同理,深疑窗一律计入连击交强切判定;深低0.22一票/浅低两票机制不变"
This reverts commit 2b622b68bd.
|
2026-09-16 10:37:58 +08:00 |
liwenhao2
|
2b622b68bd
|
锚点污染根治:深疑窗禁吸收(driftAbsorbMin=0.30)——日志实锤换人过渡期相邻窗2s重叠使simP天然≥0.5,渐变吸收+误断防护两链连环把新人声纹吸收进锚点,simA假性回升0.18→0.71,连续低分永远攒不满,无缝换人零触发;两处修:渐变吸收加simA≥0.30条件,误断防护回拉同理,深疑窗一律计入连击交强切判定;深低0.22一票/浅低两票机制不变
|
2026-09-16 10:34:31 +08:00 |
liwenhao2
|
bcf70e40f0
|
langdrift 日志补尾巴:原 sample 只打前24字,曾造成"译文看着没问题为何被拒"的误导——判错常在中后段(前半译中文尾巴滑回日语);增 tail(尾16字)+len 字段,证据一次到位
|
2026-09-16 10:25:41 +08:00 |
liwenhao2
|
e17f8c0659
|
兜底内存峰值加固:translateFallback 加载大引擎前先释放 1B 引擎(刚连败无保留价值),瞬时峰值降~0.8GB;现场:langdrift(日语续写式漂移被targetLangOk拒)→兜底加载时刻 App 重启,待用户确认崩否
|
2026-09-16 10:10:59 +08:00 |
liwenhao2
|
a4631a0735
|
无缝插话提速+切行即挂名:深低分一票强切(deepLowSwitch=0.22,同人实测最低~0.39/异人窗0.14~0.19,安全带中枢),浅低维持两票;SWITCH-FORCE 改走 onOnsetSwitch 落地通道,切行同时经 pendingOnsetLabel 挂已知标签或当场占号(与开口即查共用防双号/封行/时序作废),不再等下一句结算;无缝场景 4~6s→3~4s 且标签即时
|
2026-09-16 10:07:23 +08:00 |
liwenhao2
|
86cea18dcb
|
开口即查:静音后开口1.2s立即判换人并换行(用户三选:静音后开口/一票制/立即占位编号):
- 录制循环:≥0.6s静音后的开口攒1.2s语音,快模型(base)一次判定——贴当前人(≥0.5)不动;命中注册表其他人→立即换行+已知标签;都不像→当场 nextAutoLabel 占号+fastRegistry注册,不等endpoint
- 落地链:ONSET-SWITCH→onOnsetSwitch(底行有在途句→pendingForceEndpoint强定格+onsetClosePending封行;否则直接封行)→appendNewLine消费pendingOnsetLabel(pendingOnsetLabel=新行标签+lastConfirmedLabel沿用);onsetSeq在换行/会话开始时作废在途判定
- 防双号:postSpeakerVerdict新号分配前先查fastRegistry(0.4),命中则复用开口占号并补全双空间镜像
- 换行延迟4~6s→~1.5s;无缝插话仍由SWITCH-FORCE streak兜底;onsetEnabled开关可A/B关闭
- 老机制全保留:滚动窗口/误断防护/EMA/60s空闲换行蹲;ktlint parse通过
|
2026-09-16 10:03:13 +08:00 |
liwenhao2
|
2bdeee2147
|
翻译开头 ASCII 残片清理(aby/nope/fewest 族):cleanTrans 加原文对照剥除——开头2~6位小写字母+分隔符+CJK/假名,且该片段不在原文中(原文真词或大写开头如AI/OK不误伤);四处调用点传 src(兜底/单句/编号批/逐段兜底);'aby'与'html>'同族=模型困惑态首词元落训练残片,后续译文健康时旧闸门全放行
|
2026-09-16 09:46:29 +08:00 |
liwenhao2
|
5bbdfa19ed
|
翻译开头格式残片清理:cleanTrans 新增 transNoisePrefix(围栏符/半截HTML标签/模板词元/html尾巴),与答案标签剥除交替循环直至稳定;现场'html>'=Gemma词表'</html>'尾部BPE词元,困惑态冷启动首词元落残留、后续译文正常全部质检放行导致上屏;剥空→null走重试;TAP-NOISE日志
|
2026-09-16 09:43:38 +08:00 |
liwenhao2
|
0997a21461
|
点击翻译两级架构+翻译质量治理+插话强切+CAM++声纹主选:
- 自动双语下线(requestTranslate/TransSeg封段二次译/初译批量队列/Start预热全删),改点击定稿句触发:同轮上下文≤600字、句下内联小字斜体、再点收起、精修改原文作废译文缓存;已翻译块淡琥珀背景高亮(收起即消,失败/在途不标)
- 两级翻译:1B主链(genfail/echo温度递进0→0.3→0.7末次丢上下文;langdrift一次即升档;被拒样本逐字相同立即止损)+摘要引擎兜底(临时加载用完release,文学体意译提示词,同套质检)
- 翻译质量:JNI加repeatPenalty(翻译路径1.1/摘要0不变)+种子随温度错位;cleanTrans剥「翻訳:」类标签;译文复读折叠+原文自重复忠实放行(srcHasRepetition);三语闸门sourceLangOk+targetLangOk重音拉丁档;录音中1线程+BACKGROUND+预算45/90s
- 声纹:无缝插话确证(连续低分streak≥2→SWITCH-FORCE强判endpoint,实锤日志:插话场景SUSPECT三次armed三次expired);VERDICT-SCORE校准日志;speakerModels主换CAM++ zh_en(v1.13架构无关换文件即生效,v2/base兜底,fast取末位防错位)
- strings trans_*×6三语;ktlint全量parse通过;libsummarize-llm-jni.so已重编交付(*.so不入库)
|
2026-09-16 09:36:02 +08:00 |
liwenhao2
|
f4501c8812
|
fixup: 修复补丁脚本把Kotlin换行转义展开成真实换行导致的两处断字符串(langdrift/seg-drift sample日志),编译错误1968:71
|
2026-09-15 11:24:11 +08:00 |
liwenhao2
|
4ce45cb4b9
|
langdrift取证与调优: MISS日志附被拒译文样本,ja假名阈值4%→2%+至少2假名(治汉字密集合法日语误杀),langdrift重试收敛为1次(0.7高温无益)
|
2026-09-15 11:21:07 +08:00 |
liwenhao2
|
8abad1eb78
|
漏句最后一里: 重试预算2次温度递进0.3→0.7(跳贪心死路)、MISS日志带attempt、Start预热翻译引擎消除冷加载期开头失败
|
2026-09-15 11:10:05 +08:00 |
liwenhao2
|
c25f40927e
|
翻译三语锁定: 提示词显式声明只在中/日/英间翻译(非三语输入输出空串),targetLangOk对西里尔/阿拉伯/希伯来/泰/韩等三语外文字零容忍(任何目标语直接拒收→MISS langdrift→重试)
|
2026-09-15 10:59:36 +08:00 |
liwenhao2
|
635a06e1c5
|
批次跳号与拉丁混入治理: 编号批缺失段逐一直出兜底(每段全新引擎)、拼回整句要求段段齐全(有洞宁缺不残,MISS seg-hole)、targetLangOk对日/中目标加拉丁占比>33%拒绝(拦manque类欧洲语言漂移)
|
2026-09-15 10:57:01 +08:00 |
liwenhao2
|
679b88bec3
|
语言漂移治理: 长句拆段≤140字段级编号一次生成再拼回(治简→繁→异语中途掉线)、目标语健全检查(ja须假名/zh须简体/en无CJK)、漂移带温度0.3重试一次、提示词注入目标语硬约束、MISS langdrift/seg-drift日志
|
2026-09-15 10:46:20 +08:00 |
liwenhao2
|
902084e175
|
fixup: 修复上一补丁脚本写坏的两处Kotlin字符串模板(SEG-MISS日志行),kotlinc报错定位
|
2026-09-15 10:30:02 +08:00 |
liwenhao2
|
6f5e004351
|
漏句治理第二轮: 初译逐句直出(batch=1)消灭JSON格式风险、失败自动重试一次、全链路MISS日志(genfail/empty/echo/seg-*)、isEcho日中方向阈值0.88修复错杀型漏句
|
2026-09-15 10:25:15 +08:00 |
liwenhao2
|
6264403b9e
|
首句不翻译修复: 单句批改直出模式(不套JSON)、token预算按原文长度动态化(原160/句截断长句致整批静默丢弃)、编号对容错扫描器(截断JSON也能救条目)、段末对未译句兜底补翻
|
2026-09-15 10:09:12 +08:00 |
liwenhao2
|
da45878c54
|
翻译复读治理: 初译批次4→2、逐条isEcho复读检测(归一化+二元组Jaccard)拒写抄原文、二次翻译同规则、提示词显式禁抄并允许空串
|
2026-09-15 09:57:08 +08:00 |
liwenhao2
|
2e1de4da48
|
i18n批次: LanguageUtil+en/ja三语资源、阶段总结文档、models大文件与~$临时docx排除入库
|
2026-09-14 18:31:46 +08:00 |
liwenhao2
|
34e9fb3578
|
出现未识别标签保留字幕bug修复:给兜底,与最相似声纹合并
|
2026-09-14 18:17:29 +08:00 |
liwenhao2
|
7892e35d2d
|
出现未识别标签保留字幕bug修复:给兜底,与最相似声纹合并
|
2026-09-11 18:23:04 +08:00 |
liwenhao2
|
236037a0b0
|
阶段性基线:字幕说话人命名交互+换人断句/定稿加固(v2-v8.4)、离线纪要子系统、健壮性(息屏保活/会话保留50场/死代码清理/新增单测)——待真机验证
|
2026-09-11 17:27:08 +08:00 |
liwenhao2
|
7e7206a8d4
|
新模型+说话人区分
|
2026-09-10 18:26:20 +08:00 |
liwenhao2
|
80d3f59ecf
|
Initial commit: SherpaOnnx2Pass 双通道 ASR 安卓工程(含说话人区分)
|
2026-09-10 14:47:15 +08:00 |