📄 给印地语语音加上词级时间戳:Whisper 编码器上的轻量 CTC 头

英文题目:Timestamped Hindi speech transcription using Whisper

标签:#强制对齐 | #语音识别 | #CTC | #语音 | #低资源

评分:6.0/10 | 创新 1/2 | 技术严谨 1/1.5 | 实验充分 1/1.5 | 清晰度 0.7/1 | 影响力 0.8/1.5 | 开源 0.2/1.5 | 可复现 0.3/0.5 | 工程/实践 1/1.5

👥 作者与机构

  • Sanat Kumar Agrawal:机构信息未在 arXiv HTML 中可靠披露
  • Srikanth Raj Chetupalli:机构信息未在 arXiv HTML 中可靠披露

📌 核心摘要

印地语带时间戳转写输入连续语音,需同时输出词序列及其开始与结束时间,难点是Whisper编码器-解码器本身不直接给出细粒度词级时间,且印地语缺乏可用的时间戳系统。方法先用印地语Whisper编码器把音频变为每20 ms一帧的表示,再经单层线性CTC头预测每帧字符后验,该头输入1280维、输出73类,对应71个天城体字符加显式空格与CTC空白符,新增约93.5K参数。随后Whisper解码器生成转写文本,再在帧级字符后验与转写词之间做强制对齐,以单调映射把属于同一词的字符帧起止换算为词边界。与WhisperX需调用语言相关的外部wav2vec2.0模型计算帧后验不同,该方法不需第二个大模型,参数和计算更高效。在IndicVoices-R测试集上用模型转写文本评测时,所提方法的中位边界偏差小于一个Whisper帧移且超过92%边界偏差在50 ms以内,而基于交叉注意力分数的CrisperWhisper改编版本偏差明显更大。在DISPLACE-M上M3配置贪婪解码的WER为35.60,束搜索时为41.15,束搜索反而更高且主要来自插入增加。结论适用于所测朗读、自发电话和乡村对话数据,对极短会话片段仍可能出现插入型幻觉,需配合基于CTC输出的长度截断处理。原文未披露训练、推理或部署成本。

🔗 开源与复现资源

可达状态仅表示本次链接检查结果,不代表许可证、本文权重或运行复现已验证。

🧭 深度解读

这篇论文要解决什么输入输出问题

论文研究的是印地语语音的带时间戳转写。输入是一段印地语语音,输出包含两部分,一是词序列文本,二是每个词在音频中的起始和结束时刻。时间戳不是可有可无的装饰,原文提到它用于检查转写是否与输入语音相符,也用于内容检索、关键词定位、语言学习、阅读流利度评估和自动字幕等任务。对于刚接触语音的同学,可以把任务理解为先听懂说了什么,再把每个词放回时间轴上。评价时既要看文本错多少,也要看时间切得准不准。

论文特别强调低资源语种印地语,当时缺少可用的带时间戳转写模型,而英文已有 WhisperX 和 CrisperWhisper 等方案。作者的基座是针对印地语微调过的 Whisper large-v2,文中称为 Hindi-Whisper,后续所有转写都基于它。需要保留的关键信息是音频时长、参考文本和人工标注的词边界,输出的时间单位是毫秒,误差越小越好。

已有两条路线各自卡在哪里

原文把基于 Whisper 的时间戳方法归为两类。第一类用解码器到编码器的交叉注意力分数再做动态时间规整得到时间戳,代表是早期的 Whisper 时间戳方法和 CrisperWhisper。它的好处是可扩展,不需要第二个模型,各种 Whisper 变体都能用,但注意力本身时间粒度粗,边界误差通常更大。第二类是基于 CTC 强制对齐,代表是 WhisperX,它用外部的 wav2vec2.0 模型计算字符或音素级的帧后验,再把 Whisper 生成的文本对齐到这些后验上。

帧级后验能给出更细的时间估计,但需要第二个模型,而且该模型本身也是语言相关的,时间戳精度同时依赖 Whisper 和 wav2vec2.0 在不同声学环境下的表现,系统复杂度也随之增加。还有用隐马尔可夫模型强制对齐和大规模多语对齐器的做法,同样需要第二个模型。论文没有把类别差异说成同条件胜负,而是先讲清输入、目标和运行阶段的不同,再在印地语上把两类方法都适配出来做公平比较。

为什么印地语需要重新设计时间戳方案

Whisper 是编码器加解码器结构,解码器直接生成文本,但并不直接给出词级时间戳。对英语可以通过外部 CTC 模型或注意力对齐补上时间戳,但对印地语没有现成模型。直接照搬英文方案会遇到两个麻烦,一是外部 CTC 模型需要针对印地语训练和维护,二是注意力方案的粗粒度误差在新语言上依然存在。另一个实际问题是幻觉,Whisper 在短语音段容易生成与音频无关的完整句子或重复,这在对话语音中尤其明显。

论文要同时回答两个问题,能否只用 Whisper 自身编码器得到细粒度时间戳,以及 CTC 头的输出能否用来发现和缓解幻觉。作者明确说明这是在 Hindi-Whisper 基础上的工作,训练数据来自 IndicVoices-R 的印地语子集,测试还覆盖儿童朗读、自发电话语音和乡村对话,目的是检验跨场景表现。

整体流程:转写与计时如何分工

方法的整体思路是转写和计时分开。音频先进入 Whisper 编码器得到帧级表示,解码器照常生成印地语转写文本;同时编码器表示进入一个新增的线性 CTC 头,得到每帧的字符后验;最后用强制对齐把解码器文本贴合到 CTC 后验上,读出每个词的起止帧并换算成时间。下面先看结构示意图,再解释每个模块的输入输出。

读图说明:这张上下对比图展示了本文方法与 WhisperX 在模型数量和汇合位置上的差异,重点看音频到词时间戳经过了几个声学模型以及转写文本在哪里参与对齐。

看图路径: 1. 先沿左侧音频箭头看编码器之后分叉为解码器和线性 CTC 头两路;2. 再看解码器输出的转写文本与 CTC 帧后验如何汇入强制对齐;3. 对比下方 WhisperX 分支中外部 CTC wav2vec2.0 单独处理音频的位置差异

原论文 Figure 1:Block schematic of the proposed CTC-based approach (top) and WhisperX \\[2\\] (bottom).

论文图 1。原论文 Figure 1::“Block schematic of the proposed CTC-based approach (top) and WhisperX [2] (bottom).”。

上分支是本文方法,音频只经过一个 Whisper 编码器,解码器输出文本,线性 CTC 头输出帧后验,两者在强制对齐处汇合得到词时间戳;下分支是 WhisperX,音频除了走 Whisper 编码器和解码器,还要单独走外部 CTC wav2vec2.0 模型提供帧后验。虚线表示转写文本被送入对齐模块作为已知序列。可以把上分支看成一台机器兼做两种输出,下分支是两台机器各做一种再拼接,后者需要维护语言相关的第二个模型,时间戳精度也同时受 2 个模型影响。

编码器表示与线性 CTC 头做了什么

Whisper 编码器对固定的 30 秒片段每 20 毫秒输出 1 帧 1280 维表示,这是后续一切时间计算的基础。CTC 头就是接在这个表示上的单个线性层,输入维度是 1280,输出维度是 73,对应 71 个印地语字符、一个显式空格符号和一个 CTC 空白符号,总共约 93.5K 新增参数。选择字符级词表的原因是原文明确讨论过的,对齐分辨率取决于 CTC 头输出单元的粒度,Whisper 用的天城文子词平均只跨越很少字符,用子词边界去放词边界会不规则且常与字符边界对不上。

推理时 CTC 头对每帧输出 73 个符号的概率,空格帮助区分词,空白符号允许模型在无发声帧上不输出字符。举例来说,一句印地语对应一串字符,强制对齐会在帧后验上找到这串字符最可能的单调路径,一个词覆盖连续若干字符,取首字符所在帧为词起点,尾字符所在帧为词终点。

强制对齐 × CTC: 强制对齐指在已知转写文本时,把文本符号按单调顺序对应到音频帧并给出起止时间;CTC 指用包含空白符号的帧级后验做字符预测的训练准则,它每帧都给出分布,适合做细粒度对齐。二者搭配时,CTC 提供帧级字符后验,强制对齐用动态时间规整把解码器已生成的词序列贴合到这些后验上,从而得到词边界。

Whisper 编码器 × CTC 头: Whisper 编码器指把 30 秒音频分帧编码为每 20 毫秒一帧的 1280 维表示的模块;CTC 头指接在该表示上的单个线性层,把每帧映射到 73 个字符符号的后验。搭配的意义是复用已有的声学表示而不引入第二个声学模型,参数增量只有约 9.35 万,转写仍由 Whisper 解码器产生,时间戳由 CTC 头提供。

强制对齐与注意力对齐的计算差异

强制对齐在这里指已知文本时用动态时间规整把词中的字符序列映射到帧后验上。因为 CTC 后验每帧都有且比较尖锐,能较细地定位字符出现位置,所以词边界误差较小,但也带来系统性偏差,字符常被提前预测,导致起点和终点出现固定方向的偏移,需要后续校准。

注意力对齐则是把解码器对编码器帧的注意力权重当作相似度再做规整,注意力头本身不是为计时训练的,时间分辨率粗,CrisperWhisper 通过改造分词器和重选注意力头来改善,但原文在印地语上的复现显示其中位误差仍远大于 CTC 路线。理解这点很重要,后文比较注意力与 CTC 时,输入音频和转写模型尽量一致,差异主要来自计时信号本身,而不是解码文本不同。

交叉注意力分数 × 动态时间规整: 交叉注意力分数指 Whisper 解码器在生成每个词时对编码器各帧的注意力权重,可粗略反映词与音频的对应;动态时间规整指在单调约束下寻找文本与帧序列之间代价最小的对应路径。CrisperWhisper 一类方法把注意力分数作为相似度再做动态时间规整得到时间戳,但注意力本身时间分辨率粗,所以边界误差通常大于 CTC 帧后验对齐。

词错误率 × 词边界误差: 词错误率指转写词序列与参考相比的替换、删除、插入综合错误比例,衡量认得对不对;词边界误差指对转写与参考能对上的词,比较预测的起始和结束时刻与参考时刻的绝对差,衡量切得准不准。论文同时报告两者,因为转写错了就无法评价边界,所以先用标准文本对齐再只在匹配词上算时间误差。

幻觉 × 截断修正: 幻觉指 Whisper 在短语音段生成与音频不符的完整句子或重复文本;截断修正指按 CTC 头预测到的字符量给解码器文本设定最大长度并在词边界处截断。搭配的理由是 CTC 输出更贴近实际发声长度,当解码器输出远长于 CTC 支持的长度时,很可能是插入型幻觉,截断能去掉多余尾部,代价是可能增加少量删除。

六种训练配置如何冻结与更新参数

论文用 Hindi-Whisper large-v2 作为起点,探索了 6 种配置 M1 到 M6。第一阶段是否先用交叉熵在 IndicVoices-R 上微调 Whisper 本体是可选的,M1 到 M3 从原始 Hindi-Whisper 出发,M4 到 M6 从已在训练数据上微调过的 Hindi-Whisper 变体出发。第二阶段训练 CTC 头,并可选择同时微调编码器、解码器。M1 和 M4 只训练 CTC 头,转写质量与起点相同,只是多了计时能力;M2 和 M5 同时微调编码器和 CTC 头。

M3 和 M6 同时训练编码器、解码器和 CTC 头,其中 M3 和 M6 用了 CTC 与注意力的混合目标,CTC 损失权重在 M3 取 0.1,在 M6 取 0.3。训练时先单独训练 CTC 头 15 轮,用 AdamW 和余弦退火,学习率从 3×10-4 降到 3×10-6,有效批量 32,再额外微调编码器或编解码器 3 轮,编解码器学习率取 10-5,CTC 头取 10-4。由于 Whisper 训练把样本补齐到 30 秒,训练 CTC 头时丢弃了补齐部分对应的帧。原文没有报告拿掉某一项后必然怎样的消融因果,只报告了这 6 种实际跑出的结果,复现时应按相同冻结关系执行。

数据、基线、解码与指标如何设定

训练用 IndicVoices-R 印地语子集约 26,300 条,测试取其中 125 条约 1890 词的子集,要求外部 wav2vec2.0 对齐器能以每词最低 0.30 置信度对上,中位 0.45。论文指出已有 CTC 对齐器的边界可能有偏,所以对这 125 条做了人工标注,100 条由 2 人重复标注,25 条单人标注,每条贡献一个人参考,共 3784 个待评边界。跨语料评估另用 3 个集合,MPS 印地语儿童朗读约 3600 条共约 240,000 词,GramVaani 自发电话语音 1032 条约 27,000 词,DISPLACE-M 乡村医患对话 78 条共约 163,800 词,其中只有 GramVaani 见于 Hindi-Whisper 训练,MPS 和 DISPLACE-M 可看作真正的泛化考验。

基线把 WhisperX 和 CrisperWhisper 都适配到印地语,前者用针对印地语微调的 XLSR-53 wav2vec2.0 做外部 CTC 模型,后者重建约 50,400 词表并重选 15 个注意力头,还对比了 Nemo 强制对齐器用的 IndicConformer。推理统一用 Hindi-Whisper 的 HuggingFace 流程,语言设为印地语,任务为转写,比较贪心和束宽 5 的束搜索。指标包括词错误率(WER)、按天城文字形簇计算的字符错误率(CER),以及只在最长公共子序列匹配词上算的起止时刻平均绝对误差,误差越小越好。

时间戳精度与人工标注相比差多少

为剥离转写错误的影响,论文先用标准文本做强制对齐,只看计时本身。下表比较不同 CTC 来源和注意力方案在人工标注上的边界误差,条件是都对齐标准文本,指标是毫秒级平均和中位误差,数值越小越好,同时给出系统性起止偏差。

RawRawBiasBiasCalibratedCalibrated
Systemmeanmed.onsetoffsetmeanmed.
Inter annotator27.018.0————
wav2vec2.070.954.5+36.4−92.843.430.3
M173.659.0+36.7−102.441.330.5
M280.464.0+41.2−114.642.831.5
M379.263.0+41.2−112.042.231.0
M473.058.0+37.8−100.242.031.0
M580.465.0+44.3−111.843.132.0
M678.663.0+43.2−108.842.831.7
NFA79.562.0+41.2−102.252.139.6

只看原始误差时,外部 wav2vec2.0 与本文 M1 到 M6 的差距在 10 毫秒以内,M1 与 wav2vec2.0 最为接近,Nemo 对齐器误差更大。CTC 的尖锐后验带来固定偏差,起点和终点都存在几十到上 100 毫秒的系统性偏移,减去各自在 100 条上拟合、25 条上验证的两个常数偏置后,本文方法校准平均约 41 到 43 毫秒、中位约 30 到 32 毫秒,与 wav2vec2.0 的 43.4 毫秒和 30.3 毫秒相当。标注者之间平均 27.0 毫秒、中位 18.0 毫秒,说明人工一致性明显高于任何自动方法。限制是校准偏置是在本测试集上估计的,换场景是否稳定还需验证,而且该表只用标准文本,实际部署时转写错误会进一步减少可评词数。

用模型自己转写时文本和时间各错多少

当用模型自己生成的文本再做对齐时,可评词数取决于识别对错。下表在 IndicVoices-R 测试集上同时比较词错误率(WER)、字符错误率(CER)和相对 wav2vec2.0 标准边界的计时误差,公平条件是同一 Hindi-Whisper 解码流程,误差指标越小越好,50 毫秒内比例越高越好。

ASR (%)ASR (%)vs. wav2vec2.0vs. wav2vec2.0vs. wav2vec2.0vs. wav2vec2.0Manual
Conf.WERCERNwMeanMed.p90≤50Mean
M122.913.4146620.713.739.993.173.3
M223.514.5145026.214.842.792.484.4
M314.46.8162921.513.540.793.078.8
M414.67.0162120.813.539.593.073.2
M515.47.7160622.815.142.092.781.3
M614.97.2161820.713.739.893.479.3
CW14.77.11623107.260.1236.940.487.4

本文各配置相对 wav2vec2.0 边界的中位误差约 13 到 15 毫秒,不到一个 Whisper 帧移,50 毫秒内占比超 92%,而 CrisperWhisper 平均 107.2 毫秒、中位 60.1 毫秒、50 毫秒内仅 40.4%,明显偏粗。转写方面,只训练 CTC 头的 M1 词错误率 22.9%,同时微调编解码器的 M3 降到 14.4%,先微调 Whisper 再加 CTC 头的 M4 为 14.6%,说明微调解码器内隐的语言模型对适应新数据很重要。只微调编码器的 M2 和 M5 反而使词错误率和边界误差都变差,这是明确的负结果。限制是这里的计时参考是 wav2vec2.0 对标准文本的边界,不是人工标注,WhisperX 用模型文本时相对人工标注误差为 71.0 毫秒,部署时要按人工标准打折理解。

跨语料泛化是否只在训练域有效

跨语料比较要回答加 CTC 头是否只在训练域有效。下表比较 M3、M4、M6 和原始 Hindi-Whisper 在 4 个测试集上的词错误率及替换、删除、插入分解,条件是同一解码流程,词错误率越低越好,插入高往往对应幻觉。

CorpusModelWERInsCER
IndicVoices-RM314.380.956.79
IndicVoices-RHW22.890.5813.36
MPSM314.660.838.61
MPSHW21.300.6413.33
GramVaaniHW26.222.5718.72
DISPLACE-MM335.607.2827.82
DISPLACE-MHW67.3426.4162.61

在 IndicVoices-R、MPS 和 GramVaani 上,M3、M6 与 M4 差异不大,但在对话语音 DISPLACE-M 上,M3 词错误率 35.60% 而 M4 为 39.10%,M6 为 36.03% 而原始模型高达 67.34%,改进主要来自插入从 M4 的 11.73% 降到 M3 的 7.28% 和 M6 的 6.83%。论文指出该集约 30% 片段短于 1 秒,M3 在这些短片段上词错误率达 121.4%,多为补全和重复型插入。束搜索反而加重幻觉,所有配置下束宽 5 的词错误率都高于贪心。加 CTC 头在训练域没有明显改变识别,但在对话集上减少了插入,这是支持正则作用的关键对照,但绝对词错误率仍在 30% 以上,不能理解为已解决对话识别。

四种幻觉修正规则哪种真正可用

作者在 DISPLACE-M 上进一步试了 4 种修正,比较问题都是能否在不明显增加删除的前提下压住插入。公平条件是同一模型和贪心解码起点,词错误率和插入越低越好,删除小幅上升是可接受代价,事后知道答案的 oracle 只作为上限参考。

M3 configurationM3 configurationM3 configurationM3 configurationM3 configurationM3 configurationM3 configurationM3 configuration
WER35.6041.1535.5132.7232.8832.2031.25
Ins7.2813.377.154.374.563.663.29
Del6.987.397.057.056.988.086.65
SegmentsN.AN.A4093562011,9751,400
WER36.0337.9535.8534.4334.8234.1832.78
Ins6.839.206.625.215.624.813.99
Del5.045.065.115.115.045.895.11
SegmentsN.AN.A4692691131,6801,998

基于解码词平均 CTC 置信低于 0.2 替换为 CTC 贪心读出的 conf 策略几乎无效,解码字符数超 CTC 3 倍则整体替换的 rep 策略虽降插入但丢掉了较好的 Whisper 文本,按音频时长每 20 毫秒一字符截断的 dur 和按 CTC 字符数 1.5 倍截断的 cap 都能降插入,cap 最接近 oracle 上限。例如 M3 的 cap 把词错误率从 35.60% 降到 32.20%,插入从 7.28% 降到 3.66%,删除从 6.98% 微升到 8.08%,M4 和 M6 趋势相同。限制是 cap 的阈值是在该集上验证的简单规则,对其他类型的内容幻觉和长句幻觉没有测量误判率,截断必然以少量删除为代价,不能当作通用后处理直接推广。

结论的边界与尚未验证的范围

论文的计时结论依赖人工标注的 125 条 IndicVoices-R 子集,共 3784 个边界,校准偏置用五折在 100 条拟合、25 条验证得到,换采集设备或语速后偏置是否稳定没有验证。跨语料中 GramVaani 见过 Hindi-Whisper 训练,只有 MPS 和 DISPLACE-M 算真正泛化,且 DISPLACE-M 本身是挑战赛开发集,背景重叠和方言变化大,词错误率绝对值仍在 30% 以上,不能理解为已解决对话语音识别。训练只跑固定轮数,没有以 CTC 头转写质量为准则调参,作者明确说 CTC 头直接读出的文本词错误率通常较高所以未报告,复现时不要把 CTC 头当独立识别器用。

幻觉修正只在 DISPLACE-M 上验证了插入为主的短片段问题,对其他类型的内容幻觉和长句幻觉没有测量误判率,截断必然以少量删除为代价。论文也没有报告延迟和推理开销的实测,编码器帧率和参数增量不能直接换算成实际延迟。

复现第一步做什么与需要什么材料

复现先准备 Hindi-Whisper large-v2 权重和 IndicVoices-R 印地语划分,保持 30 秒补齐、20 毫秒帧移和 1280 维编码器输出的设置,再实现 73 符号的字符词表,其中 71 个天城文字符来自参考文本加空格和空白符号,线性层输入输出维度为 1280 到 73。训练按 M1 先单独训练 CTC 头,再按需解冻编码器或编解码器,注意丢弃补齐帧,M3 混合权重取 0.1、M6 取 0.3。评估时转写用语言为印地语、任务为转写的同一流程,计时用强制对齐取词首尾字符帧,文本对齐用最长公共子序列只评匹配词。

基线要分别跑适配后的 WhisperX 外部 wav2vec2.0 和 CrisperWhisper 改造分词器加 15 个注意力头,否则类别差异会被误读为性能胜负。代码、模型和人工标注的可用性要分开确认,论文给出演示页链接,但第三方页面可达不等于权重和代码已开源,MPS 数据需经采集者许可,DISPLACE-M 需经挑战赛组织者同意,不可默认都能下载运行。

什么时候值得尝试与还需要补什么验证

当需要在 Whisper 基础上为印地语或类似低资源语言补词级时间戳,又不想维护第二个语言相关的声学模型时,本文的编码器内 CTC 头值得尝试,它在原文条件下达到与外部 wav2vec2.0 相当的计时精度,且新增参数很少。当对话数据中有大量不足 1 秒的短片段并观察到插入型幻觉时,可以试按 CTC 字符量 1.5 倍截断的 cap 规则,它在 DISPLACE-M 上把插入减半且接近事后上限,但要接受删除小幅上升。

还需补的验证包括在新采集的朗读和对话上重估起止偏置的稳定性,对截断阈值做跨数据集的误截率测量,以及报告实际解码延迟和显存占用。容易产生的误解是把注意力方案的粗误差当成实现不好,实际上它是信号粒度限制;把 oracle 的提升当成可上线效果,实际上它预先知道正确答案;把参数少等同于延迟低,实际上帧率、束搜索和对齐计算都要实测。

总之,论文支持的是在给定数据和标注下内部 CTC 可替代外部 CTC 做计时,并用长度约束缓解短片段幻觉,超出该范围的推广仍待验证。

📎 论文与评分元数据

排名:前50% | 文档类型:方法研究 | arXiv 原文

⚖️ 评分明细

评分属于系统判断,不是论文实验结果;八维数值与总分见页首,原始审计记录保留在后端。

  • 评分规则:type-aware-v1

  • 评分模型:muse-spark-1.3-contributor

  • 评分请求协议:openai_responses


← 返回 2026-10-11 语音/音乐/音频论文速递