ASR 转写里标出了要隐去的词,怎样把时间段变成音频静音副本

2026-10-24

先人工指定需要遮蔽的词id,按时间段加保护边界、裁到音频有效范围、合并重叠,再写静音副本。时间戳可能偏移,静音一个区间不能自动保证隐私充分;必须回听边缘及重叠声音。

用音调隔离处理机制

附件synthetic.wav是本地绘制的两秒440Hz合成音调,不是真人语音,也没有实际ASR识别结果。word-times.json里的词时间是演示元数据,两段需遮蔽区间分别0.5至0.8秒与0.78至1.0秒。这样可以核查采样操作,而不会把演示音调描述成模型转写准确率实测。真实使用前应人工确认词id与源音频版本一致。

秒数映射到采样区间

默认样例是单声道、16位PCM、采样率8000Hz,脚本换算读取WAV头里的实际采样率,左右各加0.05秒保护。开始用floor向下取整,结束用ceil向上取整,并裁到0至总帧数范围;结果两段重叠,合并为采样区间[3600,8400)。区间右端不包含,总共4800个采样点静音。替换成16000Hz的两秒合成源时,相同秒区间应变为[7200,16800),共9600个采样点;独立回归已核区内全零、区外字节不变及32000帧保持。不能把字节索引直接当采样索引,16位样本每个占两字节,多声道还要乘通道数。

保留未修改部分与原件

脚本只将对应样本字节设为零,输出redacted.wav,输入不覆盖。sample-ranges.csv记录实际修改的采样范围,便于独立比较原文件和副本:范围外字节应保持一致,范围内为零,文件仍应有16000帧。直接删除这段样本会缩短音频,使字幕与其他时间标注错位,本任务选择保留长度的静音。

边缘回听不能省略

失败命令把一段结束时间放到开始之前,程序停止。真实ASR的词边界可能截不干净,保护区过小留下音节,过大则遮掉旁人的重要发言;重叠说话也可能同时受影响。静音跳变处可能出现听感突兀,淡入淡出属于额外处理,不能因此减少应遮蔽范围。这个包只验证PCM区间操作,不处理压缩音频的编码延迟,不自动识别隐私,也不构成完整音频去标识方案。

保存遮蔽记录时,把词id、输入音频摘要和实际采样范围关联起来,避免拿另一版音频复用旧时间。若源文件头部多了片头,所有时间都可能偏移;应先对齐版本再静音,不能依靠扩大保护区掩盖整段偏移问题。

下载与复现

下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。此脚本只使用标准库,无需安装额外包。

python -B run.py
python -B run.py --negative

先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。

依据与延伸阅读

资料核对日期为2026年10月24日。一手资料1:wave模块读写PCM WAV及帧参数,音频隐私判断与ASR准确率不由该模块保证。

继续阅读:把 ASR 词级时间戳合成句子,怎样保留每句话对应的原始词;AI 转写做成字幕后删掉了几段视频,怎样让字幕跟着剪辑表一起移动;AI 字幕开头对齐、越往后越偏,怎样用两个同步点区分固定偏移和速度漂移。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。

加微信,把这一页存到手机上

扫码加站长企业微信,会自动把这一页的链接发给你,方便在手机上接着看。AI 落地卡住了,也可以直接问。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。