屏幕没有切走。
工程人员的手停在触控板上。
后台页面一角还亮着。
音频清洗。
停顿裁剪。
情绪对齐。
呼吸补偿。
四行字很小,却像被投影机的白光放大了。
白瓷坐在门边,背比刚才更直。
她没有看任何人。
她看着墙上那几行浅字,像看见一条细线从字缝里垂下来。
宋临说:“保持共享。”
工程人员抬头。
“这个页面不是给外部查看的。”
宋临说:“现在是内部调查会。”
模型组负责人把手放到桌面上。
他的声音还算稳。
“清洗只是预处理。所有音频系统都会做降噪、裁剪和标准化,不然样本无法使用。”
陆沉说:“我们要看的不是你们会不会降噪。”
负责人看向他。
陆沉说:“我们要看什么被降掉,什么被补上,什么被改成可以训练。”
会议室里很静。
邵老师坐在旁听席,双手搭在膝上。
他没戴耳机,却像也能听见屏幕里的静音。
温既白说:“可以看示例链,但不能泄露具体个人信息。”
陆沉说:“示例链也要保留来源编号。”
负责人说:“来源编号会回指内部库。”
“那就打码,不要改掉编号结构。”
宋临补了一句。
“只读模式。”
工程人员低声和负责人确认了几句,打开一个灰色界面。
页面标题是预处理样本详情。
样本号被遮去中段,只露出前后。
btA。
试播。
017。
韩麒看见 btA 时,手指敲了一下桌面。
“北塔。”
负责人说:“只是测试样本,不代表已训练。”
陆沉没有接这句话。
他说:“先列链。”
工程人员把页面往下拉。
原始入库时间。
数字化时间。
清洗任务创建时间。
清洗完成时间。
候选样本生成时间。
训练准入状态。
最后一行写着:待准入。
韩麒说:“它已经走到门口了。”
项目经办小声说:“还没有进去。”
许照微抬头。
“门口是谁开的?”
她问得很轻。
工程人员没有马上答。
页面右侧有一列操作记录。
系统任务。
系统任务。
系统任务。
人工复核待分配。
陆沉问:“操作账号。”
工程人员说:“自动任务没有个人账号。”
“任务由谁配置?”
“预处理策略组。”
“策略版本。”
工程人员把版本号展开。
V3.8.12。
停顿裁剪增强。
低信噪比呼吸补偿。
语义承接对齐。
白瓷忽然捂住左耳。
她动作很轻,却让杯盖晃了一下。
许照微立刻看她。
“疼吗?”
白瓷摇头。
“不是疼。”
她停了几秒。
“像有人把纸折起来。”
陆沉问:“纸上有字吗?”
白瓷看着白墙。
“不知道。”
她又补了一句。
“我只听见折。”
许照微记录:清洗页面带来折叠压力,内容与声源待查。
负责人终于开口:“这不是声音判断。”
陆沉看着他。
“所以她的记录不作事实判断。”
韩麒接上。
“你的系统判断呢?”
负责人沉默。
宋临说:“播放前后样本。”
工程人员犹豫。
“原始音频包含不可公开内容。”
陆沉说:“不放人声段,放清洗标记段。”
工程人员把进度条拖到一处灰块。
界面上出现两条波形。
上面是原始。
下面是清洗后。
原始波形中间有很长一段低伏线,像旧纸上压出的折痕。
清洗后的线被拉短。
空白不见了。
只剩几处整齐的起伏。
工程人员说:“这一段主要是底噪和停顿。”
陆沉问:“底噪和停顿怎么区分?”
“按能量阈值、频段特征和前后语义。”
“前后语义从哪里来?”
“转写结果和场景标签。”
“转写没有字时呢?”
工程人员说:“模型会参考上下文。”
韩麒笑了一下。
“没有字,参考上下文,就能知道它该短一点。”
负责人说:“不是知道,是优化。”
陆沉说:“优化的是谁的意思?”
没人回答。
宋临看向参数栏。
“展开。”
工程人员展开清洗参数。
静音阈值。
最短保留停顿。
最大连续空白。
爆音抑制。
呼吸段识别。
呼吸段补偿。
挂断音处理。
杂音归并。
许照微一项一项写下。
写到“挂断音处理”时,她停了一下。
“挂断音怎么处理?”
工程人员说:“多数场景里,挂断音属于无效噪声。”
陆沉说:“在热线里,挂断可能是拒绝。”
“也可能是线路故障。”
“所以不能直接归为无效。”
温既白终于开口。
“陆先生,你要求的是保留所有不确定性。”
陆沉说:“对。”
温既白说:“这样会让模型变得迟钝。”
“迟钝比替人回答好。”
“安抚场景需要及时承接。”
“不能承接,就说不能承接。”
温既白看着屏幕。
“活人面对沉默时,未必承受得住。”
陆沉说:“那就给活人一个活人的回应,不要把沉默加工成旧声的回应。”
白瓷的手还按在耳边。
她忽然说:“刚才那里少了一口气。”
工程人员抬眼。
白瓷马上低下头。
“我不知道是谁。”
她很认真地补充。
“也不知道有没有人。”
许照微记录:这里只记疑似呼吸缺口,不判断是否有人声。
陆沉说:“播放清洗后。”
工程人员点下按钮。
音箱里没有人声。
只有一小段处理过的背景声。
嘶。
轻轻一顿。
随后是一段很平的静。
静到像被擦过。
白瓷的肩膀缩了一下。
她说:“它不是静。”
韩麒问:“是什么?”
“被按住。”
她把手从耳边拿下来,手心有一点汗。
“前面还有东西想出来。”
她看着陆沉。
“后面有人给它补了一下。”
许照微的笔尖顿住。
陆沉没有问“谁”。
他问:“补的感觉从哪里来?”
白瓷想了想。
“像空杯子里倒水。不是原来的水。”
许照微记录:空白呈外来填补压力,只作异常提示。
负责人低声说:“呼吸补偿是为了避免突兀。”
陆沉说:“突兀可能是证据。”
“可公开体验里,突兀会吓到人。”
“那就不要公开体验。”
项目经办抿住嘴。
温既白说:“如果全部暂停,会有大量家属投诉。有人确实需要一个不刺耳的回声。”
陆沉转向他。
“不刺耳不等于真实。”
“他们未必需要真实。”
“那你们就标清它不真实。”
温既白没有立刻说话。
陆沉继续看页面。
“清洗前原音。”
工程人员说:“有。”
“清洗后样本。”
“有。”
“处理参数。”
“有。”
“配置人。”
工程人员停住。
“策略配置不是单个经办人完成。”
“那就列组、负责人、发布时间、审批记录。”
陆沉说完,继续往下。
“操作账号。审核人。训练准入时间。准入判断依据。回滚路径。撤声路径。已经生成过的派生样本。”
负责人皱眉。
“撤声不是简单删除文件。”
“我知道。”
陆沉说:“所以我要看困难在哪一层,不是听一句困难。”
宋临把这些项转给市局技术员。
“形成调取清单。”
韩麒低声说:“再加一项,会议语音是否进入同一套清洗链。”
许照微抬头。
负责人说:“会议语音走协商场景链,参数不同。”
陆沉问:“有没有停顿裁剪?”
“有轻量裁剪。”
“有没有情绪对齐?”
“有场景标注。”
“有没有把人的迟疑改得更顺?”
负责人没说话。
白瓷看着投影机光束里的灰。
“剪刀不止一把。”
她声音很轻。
这一次没人打断。
许照微慢慢写下:裁剪感不止一处,具体材料和操作者待查。
工程人员把页面切到派生样本。
列表里只有几条灰色记录。
清洗样本。
转写草稿。
情绪标签。
承接语候选。
韩麒指着最后一行。
“承接语候选是什么?”
工程人员说:“还没生成音频,只是文本建议。”
陆沉说:“打开。”
负责人说:“这涉及模型内部输出。”
宋临说:“打开。”
灰色记录展开。
页面里只有一行候选句。
你已经说得很好了。
会议室里无人出声。
这句话太平常。
平常到任何地方都能出现。
也平常到放在旧广播楼里,像有人替那段空白点了头。
陆沉问:“这句话由哪段材料触发?”
工程人员说:“不是一段,是综合标签。”
“标签从哪里来?”
“试播场景、停顿长度、低压情绪、未完成表达。”
“未完成表达是谁判的?”
“系统根据前后片段。”
“前后片段也没有确认说话人。”
工程人员低下头。
负责人说:“候选句没有指向任何人。”
陆沉说:“挂到展项上,就会指向。”
温既白看他。
陆沉说:“放进旧播音室,就会像播音员说的。放到家属留言墙,就会像家属等到的。放到北塔大停电夜,就会像那一夜终于有人承认。”
他停了一下。
“所以生成权和挂接权必须分开。”
负责人疲惫地摘下眼镜。
“我们可以把北塔相关样本先锁定。”
陆沉说:“不是相关。”
负责人看他。
陆沉说:“来源不清、授权不清、停顿被裁、呼吸被补、挂断被归并、会议语音未说明用途的,全部进复核池。”
承接语候选冻结为文本风险,不生成音频,不挂接展项。
许照微把原始空白、裁剪参数、呼吸补偿、会议语音轻量处理和承接语候选五项并排封存,让“只是常规清洗”再也不能遮住它们怎样一步步走到生成端。
温既白的声音冷了一点。
“这会拖慢全国试用。”
“那就拖慢。”
陆沉说:“你们要训练安抚,就先学会停止。”
这句话落下时,会议室外忽然传来很轻的一声电流响。
不是手机。
不是投影。
邵老师站了起来。
“播音室。”
宋临看向门口。
走廊尽头的红灯亮了。
那是旧播音室门上的录音提示灯。
十七年前留下的灯罩已经发黄,此刻里面却有一点红色慢慢涨起来。
工程人员的脸色变了。
“我们没有远程打开设备。”
韩麒已经起身。
白瓷没有动。
她盯着那盏红灯。
“剪刀停了。”
陆沉问:“然后呢?”
白瓷说:“有麦开了。”
红灯在走廊尽头稳稳亮住。
会议屏幕上,那条承接语候选还停在原处。
你已经说得很好了。
旧播音室里,传出第一声很轻的试音。