语音标注方法:ASR转写、TTS语料、说话人与情感标注全解析

专栏:人工智能训练师三级备考全攻略
所属模块:卷三·知识体系 — 数据标注与处理
考试关联度:⭐⭐⭐⭐(高频考点,选择题+判断题,约 5~8 题)


前言:语音标注是智能语音产品的基石

智能音箱、语音助手、自动字幕、客服机器人……这些产品背后都依赖高质量的语音标注数据。与文本和图像标注不同,语音标注需要同时处理声学内容(说了什么)和时序信息(什么时候说的),对标注员的专业要求更高。

本文系统讲解语音标注的四大核心任务:ASR 转写标注、TTS 语料标注、说话人识别标注、语音质量评测


一、语音标注类型总览

1.1 语音标注全景图

语音标注任务分类:

  ┌──────────────────────────────────────────────────────────┐
  │                    语音标注任务                           │
  ├──────────────┬──────────────┬──────────────┬────────────┤
  │  ASR 转写标注  │  TTS 语料标注 │  说话人标注   │  情感标注   │
  ├──────────────┼──────────────┼──────────────┼────────────┤
  │ 语音→文字     │ 文字→语音    │ 识别谁在说话   │ 识别语音情感│
  │              │ 数据采集      │              │            │
  │ · 转写标注    │ · 文本规范化  │ · 说话人ID标注 │ · 情绪标签  │
  │ · 时间戳标注  │ · 录音质量    │ · 声纹标注    │ · 唤醒词标注│
  │ · 词边界标注  │ · 韵律标注    │ · 角色标注    │ · 对话意图  │
  └──────────────┴──────────────┴──────────────┴────────────┘
  
  应用场景:
  ASR → 语音识别、自动字幕、会议记录
  TTS → 语音合成、有声书、导航语音
  说话人 → 智能安防、声纹认证、多方通话
  情感 → 客服质检、情绪监测、心理咨询

1.2 语音标注格式对比

格式 全称 特点 适用场景
TextGrid Praat 标注格式 层级化时间对齐,学术标准 语言学研究、音素标注
ELAN 多层语音标注 支持多层标注轨道 多模态、手语标注
WebVTT Web Video Text Tracks 简单时间戳+文字 视频字幕
SRT SubRip Text 最简单的字幕格式 视频字幕
JSON/JSONL 通用格式 结构灵活 ASR 数据集
CTM Conversation Time Mark 词级时间戳 ASR 评估、词对齐

二、ASR 转写标注

2.1 什么是 ASR 转写标注?

ASR(Automatic Speech Recognition,自动语音识别)转写标注:

  任务:将语音内容准确转写成文字,并标注时间信息

  ┌──────────────────────────────────────────────────────────┐
  │  输入:一段音频文件                                        │
  │  ┌─────────────────────────────────────────────────┐    │
  │  │ 🔊 ▁▃▅▇▅▃▁▁▃▅▇▅▃▁ ▁▁▃▅▇▅▃▁ ▁▃▅▇▇▅▃▁           │    │
  │  │    0s      3s       6s       9s      12s         │    │
  │  └─────────────────────────────────────────────────┘    │
  │                                                          │
  │  输出:带时间戳的文字转写                                  │
  │  ┌─────────────────────────────────────────────────┐    │
  │  │ [0.0 - 3.2s] "今天天气不错"                      │    │
  │  │ [3.5 - 7.1s] "我们出去走走吧"                    │    │
  │  │ [7.8 - 11.4s] "好啊,去哪里?"                   │    │
  │  └─────────────────────────────────────────────────┘    │
  └──────────────────────────────────────────────────────────┘

2.2 转写规范核心要点

(1)文字转写规范

规范要点 说明 示例
逐字转写 按照实际发音转写,不要主观"纠错" 说了"俺"就写"俺",不写"我"
方言/口音 保留真实发音,括号内标注标准形式 “侬”(你)
非言语声音 用约定标记注明 <笑声> <叹气> <停顿>
语气词 保留"嗯"“呃”"那个"等 完整保留,不删除
重复/口误 保留第一次发音 “我我我想” → 保留完整
英文/数字 按规范约定转写 口说"three"可以写"3"或"three"
标点符号 加还是不加,按项目规范执行 部分场景需要加句号、问号

(2)句段切分规范

句段切分——把长音频切成合理的短片段:

  切分原则:
  ┌──────────────────────────────────────────────────────────┐
  │                                                          │
  │  原则1:自然停顿切分                                      │
  │  · 在自然语音停顿处切分(一般≥300ms的静音)               │
  │  · 不在词语中间切分                                      │
  │  · 不在句子中间硬切                                      │
  │                                                          │
  │  原则2:长度合理                                          │
  │  · 推荐单句长度:5~20秒                                   │
  │  · 训练用:2~15秒(模型输入限制)                         │
  │  · 过长:>30秒需要切分                                   │
  │  · 过短:<1秒通常丢弃(太短训练价值低)                    │
  │                                                          │
  │  原则3:完整语义                                          │
  │  · 一个句段应包含完整的语义单位                           │
  │  · "你好," 和 "我叫小明" 不应拆开标注                    │
  │                                                          │
  │  原则4:噪声处理                                          │
  │  · 开头结尾的噪声可以剪掉                                 │
  │  · 句段中间的噪声保留(标注噪声类型)                      │
  └──────────────────────────────────────────────────────────┘

(3)特殊情况处理规范

常见特殊情况处理对照表:

  情况                  处理方法
  ┌──────────────────┬──────────────────────────────────┐
  │ 音频有背景噪声     │ 标注 <背景噪声>,仍尝试转写内容    │
  │ 音频不清晰        │ 可听内容转写,不可听部分标 <不清晰>│
  │ 多人同时说话      │ 标注 <交叉说话>,尽量转写主要说话人│
  │ 语速过快          │ 尽力转写,实在听不清标 <快速>     │
  │ 纯噪声/无语音     │ 标注为空或 <无语音>,不强行转写   │
  │ 外语段落          │ 用原语言转写,括号内加中文翻译     │
  │ 专有名词不确定     │ 转写为谐音,标注"?"供核实        │
  └──────────────────┴──────────────────────────────────┘

2.3 时间戳标注

时间戳标注的三个层级:

  级别1:句段级时间戳(最常见)
  ┌────────────────────────────────────────────────────┐
  │ [开始时间 - 结束时间] 转写文本                       │
  │                                                    │
  │ [0.000 - 3.240] "今天天气不错"                      │
  │ [3.500 - 7.120] "我们出去走走吧"                    │
  └────────────────────────────────────────────────────┘

  级别2:词级时间戳
  ┌────────────────────────────────────────────────────┐
  │ 每个词都有对应的时间戳                               │
  │                                                    │
  │ 今天[0.0-0.5] 天气[0.5-0.9] 不错[0.9-1.3]          │
  │                                                    │
  │ 应用:语音与文字对齐、卡拉OK字幕、教育软件            │
  └────────────────────────────────────────────────────┘

  级别3:音素级时间戳(最精细)
  ┌────────────────────────────────────────────────────┐
  │ 每个音素都有时间戳                                   │
  │                                                    │
  │ j[0.0-0.05] in[0.05-0.15] t[0.15-0.2] ian[0.2-0.4]│
  │                                                    │
  │ 应用:语音合成(TTS)训练数据、语音学研究             │
  └────────────────────────────────────────────────────┘

2.4 ASR 标注数据格式

# ASR 标注数据 JSON 格式

asr_sample = {
    "id": "audio_001",
    "audio_file": "audio/meeting_001.wav",
    "duration": 12.5,
    "language": "zh-CN",
    "segments": [
        {
            "id": 1,
            "start": 0.0,
            "end": 3.24,
            "text": "今天天气不错",
            "speaker": "SPK_01",
            "confidence": 1.0,   # 标注员对本条转写的置信度
        },
        {
            "id": 2,
            "start": 3.5,
            "end": 7.12,
            "text": "我们出去走走吧",
            "speaker": "SPK_02",
            "confidence": 0.9,   # 部分词不确定
            "note": "最后一个字不太清楚"
        },
        {
            "id": 3,
            "start": 7.8,
            "end": 9.0,
            "text": "<背景噪声>",
            "speaker": None,
            "confidence": 1.0
        }
    ]
}

# CTM 格式(词级时间戳)
# file_id channel start_time duration word confidence
ctm_example = """
audio_001 A 0.000 0.500 今天 1.0
audio_001 A 0.500 0.400 天气 1.0
audio_001 A 0.900 0.400 不错 0.9
audio_001 A 3.500 0.400 我们 1.0
"""

三、TTS 语料标注

3.1 TTS 语料的用途

TTS(Text-to-Speech,文字转语音)语料标注:

  目标:构建高质量语音合成训练数据

  TTS 训练数据需要:

  ┌────────────────────────────────────────────────────────┐
  │                                                        │
  │  文本侧                          语音侧                 │
  │  ┌────────────────────┐         ┌──────────────────┐  │
  │  │ 规范化的文本脚本    │ ─────→  │ 高质量录制语音   │  │
  │  │                    │  一一对应 │                  │  │
  │  │ · 文字清晰         │         │ · 录音室环境     │  │
  │  │ · 无歧义读音       │         │ · 采样率≥16kHz   │  │
  │  │ · 韵律标记         │         │ · SNR≥35dB       │  │
  │  │ · 注音(可选)     │         │ · 发音标准       │  │
  │  └────────────────────┘         └──────────────────┘  │
  │                                                        │
  └────────────────────────────────────────────────────────┘

3.2 TTS 语料文本规范化

文本规范化——将文本转为清晰可读的形式:

  场景1:数字读法
  ┌──────────────────────────────────────────────────────┐
  │ 原始文本:      → 规范化标注:                        │
  │ "2024年"        → "二零二四年" 或 "两千零二十四年"    │
  │ "第3名"         → "第三名"                            │
  │ "135-6789-0123" → "幺三五六七八九零幺二三"(电话)    │
  │ "3.14"          → "三点一四"                          │
  │ "100%"          → "百分之一百"                        │
  └──────────────────────────────────────────────────────┘

  场景2:英文缩写
  ┌──────────────────────────────────────────────────────┐
  │ "AI"  → "A I"(逐字母读)或"人工智能"(视上下文)    │
  │ "NBA" → "N B A"                                      │
  │ "URL" → "U R L" 或 "网址"                            │
  └──────────────────────────────────────────────────────┘

  场景3:多音字
  ┌──────────────────────────────────────────────────────┐
  │ "行" → 可读 háng(行业)或 xíng(可行)               │
  │ "重" → 可读 zhòng(重量)或 chóng(重复)             │
  │                                                      │
  │ 标注方法:                                            │
  │ "银行[háng]" "行走[xíng]"                            │
  │ 或使用拼音注音方案                                    │
  └──────────────────────────────────────────────────────┘

3.3 语音质量评测标准

评测维度 说明 评测方法 合格标准
清晰度(MOS) 语音整体可懂度和自然度 人工评分1~5分 ≥4.0分
信噪比(SNR) 信号与噪声的比值 自动计算 ≥35dB
发音准确度 每个字读音是否正确 人工逐字核对 ≥99%
韵律自然度 语速、重音、停顿是否自然 人工评分 ≥4.0分
完整性 是否有漏字、错字、多字 人工对照文本核查 零错误
音量一致性 整批录音音量是否统一 自动检测RMS 差异<3dB

四、说话人识别标注

4.1 标注内容

说话人识别(Speaker Recognition)标注:

  任务:在多人对话/会议录音中,标注每段语音属于哪个说话人

  ┌──────────────────────────────────────────────────────────┐
  │  多人对话标注示例:                                        │
  │                                                          │
  │  0s─────3s──────6s──────9s──────12s──────15s             │
  │  ████████                    ████████                    │ SPK_01
  │           ████████                     █████████         │ SPK_02
  │                    ████████                              │ SPK_03
  │                                                          │
  │  对应转写:                                               │
  │  [0.0-3.0] SPK_01:"各位好,今天开始会议"                  │
  │  [3.2-6.0] SPK_02:"好的,第一个议题是..."                 │
  │  [6.1-9.0] SPK_03:"我有一个问题想提前提"                  │
  │  [9.1-12.0] SPK_01:"请说"                               │
  └──────────────────────────────────────────────────────────┘

4.2 说话人标注规范

规范要点 说明
说话人命名 使用 SPK_01、SPK_02 等匿名 ID,不使用真实姓名
跨会话一致 同一说话人在不同文件中保持同一 ID
重叠语音 两人同时说话时标注两个重叠的时间段
静默段 超过 3 秒的静默单独标注为 <静默>
未知说话人 无法判断身份时标 SPK_UNK
隐私保护 标注中不记录真实身份信息,与业务系统隔离

五、语音情感与质量标注

5.1 情感标注

语音情感标注(Speech Emotion Annotation):

  常见情感标签体系(六大基本情感):

  ┌──────────────┬──────────────────────────────────────────┐
  │  情感类别     │  语音特征                                  │
  ├──────────────┼──────────────────────────────────────────┤
  │  快乐/高兴    │ 语速快,音调高,能量强                      │
  │  悲伤/难过    │ 语速慢,音调低,能量弱,停顿多               │
  │  愤怒/生气    │ 语速快,音调高且不稳定,声音粗粝              │
  │  恐惧/害怕    │ 语速快,音调高,气息不稳                     │
  │  厌恶        │ 语速慢,鼻音重,有抵触语气                   │
  │  惊讶/意外    │ 语速快,音调突变,气口明显                   │
  │  中性/平静    │ 语速适中,音调平稳,无明显情感               │
  └──────────────┴──────────────────────────────────────────┘

  客服场景专用情感标签:
  · 满意 / 不满 / 投诉 / 催促 / 困惑 / 感谢

5.2 语音质量评测(MOS 评分)

MOS(Mean Opinion Score,平均意见分)评分标准:

  ┌────────────────────────────────────────────────────────┐
  │  评分  │  等级  │  描述                                  │
  ├────────┼────────┼────────────────────────────────────┤
  │  5     │  优秀   │ 自然流畅,与真人说话无法区分             │
  │  4     │  良好   │ 稍有不自然,但听起来很舒适              │
  │  3     │  一般   │ 有一定失真,听起来有些别扭              │
  │  2     │  较差   │ 明显失真,理解困难                     │
  │  1     │  很差   │ 完全失真,无法理解                     │
  └────────┴────────┴────────────────────────────────────┘

  MOS 评测最佳实践:
  · 每条语音至少5位测试者评分,取均值
  · 评分者需要戴耳机,在安静环境中听
  · 先播放参考样本,建立评分基准
  · 盲测(不告知是哪个系统的语音)

六、考试高频考点速记

序号 考点 关键词 易错点
1 ASR 转写原则 逐字转写,不主观纠错,保留语气词 不能改正说话人的口误
2 句段切分长度 推荐520秒,训练用215秒 <1秒通常丢弃
3 非言语声音 <>标注,如<笑声>``<停顿> 不能忽略,要标注
4 时间戳三级别 句段级/词级/音素级 精度从粗到细,成本从低到高
5 多音字标注 用拼音注音区分读法 在文本规范化阶段处理
6 MOS评分标准 1~5分,≥4.0合格 至少5人评分,取均值
7 SNR标准 ≥35dB为合格录音 SNR越高信噪比越好
8 说话人ID 匿名ID(SPK_01),保护隐私 跨会话同一人保持同ID
9 情感六基本类别 快乐/悲伤/愤怒/恐惧/厌恶/惊讶 中性是附加类别
10 TTS规范化 数字/缩写/多音字的文本规范化 规范化结果需和实际录音一致

本篇知识点思维导图

语音标注方法

ASR转写标注

转写规范

逐字转写

保留语气词

非言语声音标记

特殊情况处理

句段切分

自然停顿切分

推荐5到20秒

训练用2到15秒

时间戳标注

句段级

词级

音素级

数据格式

JSON JSONL

CTM词级时间戳

WebVTT SRT字幕

TTS语料标注

文本规范化

数字读法

英文缩写

多音字注音

语音质量标准

MOS评分1到5分

SNR大于35dB

发音准确率99%

音量一致性

说话人识别

匿名ID标注

跨会话一致性

重叠语音处理

静默段标注

情感标注

六大基本情感

快乐悲伤愤怒

恐惧厌恶惊讶

客服专用情感

满意不满投诉

语音评测

MOS平均意见分

5位评测者

取均值

自动评测

信噪比SNR

音量RMS


本文小结

语音标注的核心是ASR转写(逐字记录+时间戳)和TTS语料(文本规范化+录音质量)。关键规范:转写要"忠实于原声"不能主观纠错;句段长度5~20秒;非言语声音用<>标注;MOS≥4.0、SNR≥35dB是语音质量基准线;说话人标注用匿名ID保护隐私。

下一篇:《数据质量评估标准与检查方法》——从单项标注质量到整体数据集质量,建立完整的质量体系。


最后更新:2026年5月 | 专栏:人工智能训练师三级备考全攻略

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐