音频标注工具对比:ELAN、Praat、Label Studio 与 Potato
从转写、说话人分离、声音事件和分层标注几个方面对比 ELAN、Praat、Label Studio、Prodigy、VIA 与 Potato,并说明文件格式和一致性。
音频标注是给录音中的片段加标签:谁在说话、说了什么、出现了什么声音,或者录音质量如何。ELAN 和 Praat 是语言学者一个人逐层处理录音时的标准桌面工具。Potato、Label Studio 和 Prodigy 在浏览器中运行,适合许多标注者给同一批录音加标签的研究。 它们的区别在于能否读取已有的转写,以及如何衡量一致性。
说话人分离按说话人切分录音。语音识别生成转写,再由标注者修正。声音事件检测标出警笛声、关门声之类的声音出现在哪里。在 ELAN 和 Praat 中,层(tier)是叠在录音时间轴上的一层标注,词、音素和手势可以分别标注。平均意见得分(MOS)用来评价一段音频的主观质量。
本页讨论音频和语音。所有数据类型放在一页里的对比见 AI 标注工具对比。
哪些音频标注工具值得比较?
| 工具 | 运行方式 | 许可证 | 适合 |
|---|---|---|---|
| Potato | 网页应用 | GPL-3.0 | 多名标注者参与的研究:片段、分层、转写修正、质量评分 |
| ELAN | Windows、macOS 和 Linux 桌面应用 | GPL-3.0 | 按时间对齐的分层,最多关联四个视频文件,支持受控词表 |
| Praat | 桌面应用 | 开源 | 语音学分析和 TextGrid 标注 |
| Label Studio | 网页应用 | Apache-2.0(Community Edition),另有付费方案 | 波形上的带标签区域、多声道音频、频谱图、转写 |
| Prodigy | 在本地运行的网页应用 | 专有 | 区域标注(audio.manual)和转写(audio.transcribe) |
| VIA 3 | 单个 HTML 文件,在浏览器中离线运行 | BSD-2-Clause | 不装任何东西就能快速标注片段 |
哪种音频任务用哪个工具?
| 任务 | 合适的工具 |
|---|---|
| 音高、共振峰等声学测量 | Praat |
| 由一名专家完成的分层语言学标注 | ELAN、Praat |
| 多名标注者修正 ASR 转写 | Potato、Label Studio |
| 审核说话人分离结果 | Potato、Label Studio |
| 声音事件检测 | Potato、Label Studio、Prodigy |
| 质量评分(MOS) | Potato、Label Studio |
| 结合音频的行为或手势编码 | ELAN、BORIS |
从已有转写开始
大多数语音项目的起点,是来自 Whisper、云端 API 或字幕文件的转写。Potato 可以读取 21 种转写和字幕格式,并把话轮显示为与音频同步的说话人气泡,标注者修正片段即可,不必从头输入。支持的格式包括 Whisper 和 WhisperX 的 JSON、AWS Transcribe、Deepgram、AssemblyAI、Rev.ai、SubRip、WebVTT、NIST CTM、Praat TextGrid 和 ELAN EAF。Potato 不能单独解析 RTTM 说话人分离文件,也不支持 Transcriber、EXMARaLDA 或 CHAT,这些需要先转换。见转写格式。
从 2.9 版起,Potato 也可以用 faster-whisper 和 sherpa-onnx 在你自己的机器上完成转写和说话人分离,不需要 PyTorch,也不需要 Hugging Face 令牌。见在本地转写。
在 Label Studio 和 Prodigy 中,来自其他系统的转写要先转换成工具自己的任务格式。Label Studio 的 Audio 标签配合 TextArea 做转写,Prodigy 的 audio.transcribe 配方把播放和文本框放在一起。
在 ELAN、Praat 和 Potato 之间迁移分层标注
Potato 的 tiered_annotation 方案支持独立层和从属层,所以词层可以像在 ELAN 中那样在时间上细分话语层。Potato 可以导出 EAF 和 TextGrid。一项研究可以在浏览器里收集许多人的标注,再把结果交给使用 ELAN 或 Praat 的人。
如果是一名专家细致地处理一段录音,ELAN 仍然是更好的工具,它能同步显示最多四个视频。Praat 用于声学分析,这方面 Potato 并不涉及。
时间上的一致性
两名标注者标同一个声音,很少能精确到毫秒。因此音频上的一致性必须先规定:两个边界相距多近才算同一个事件。
- ELAN 内置了标注者间信度计算。它提供按 Holle 和 Rein 方法修正的 Cohen κ(把重叠达到设定比例的标注对应起来),以及 Staccato 算法(把一种切分与随机生成的切分相比较,以考虑偶然因素)。比较以层对为单位。
- Potato 报告重叠的时间 IoU、边界位置的 α、标签的 α,以及是否标出了事件的 α。匹配容差以多个取值的扫描来展示,而不是只取一个阈值。它的文档写明了一处局限:片段重叠目前还没有偶然基线。见时间上的一致性。
- Label Studio 把一致性功能留给付费方案。
Potato 中的音频切分任务
annotation_schemes:
- annotation_type: audio_annotation
name: sound_events
description: "Mark each sound and choose its type."
mode: label
labels:
- {name: speech, color: "#4ECDC4"}
- {name: music, color: "#FF6B6B"}
- {name: noise, color: "#F39C12"}
zoom_enabled: true标注者在波形上拖动来创建片段,再选择它的标签。Potato 中的分类、转写、MOS 评分和说话人分离见音频标注。
Potato 在音频上不做的事
- 不做声学分析。 音高、共振峰和频谱测量属于 Praat 的范围。
- 时间对齐工具比 ELAN 简单。 ELAN 的桌面界面对时间对齐的控制更精细。
- 不能单独解析 RTTM、Transcriber、EXMARaLDA 或 CHAT 文件。
以上内容于 2026 年 9 月对照各项目的文档核实。
常见问题
最好的免费音频标注工具是哪个?
ELAN 和 Praat 免费,是单人语言学和语音学工作的标准工具。如果研究中有多名标注者在浏览器里标注同一批录音,Potato 和 Label Studio 的 Community Edition 都免费。Potato 自带一致性指标,而 Label Studio 把它放在付费方案中。
ELAN 能计算标注者间一致性吗?
能。ELAN 的信度计算提供修正的 Cohen kappa 和 Staccato 算法,可以跨多个文件按层对比较标注。
能在浏览器里标注说话人分离吗?
能。Potato 读取 WhisperX、AWS Transcribe、Deepgram、AssemblyAI 和 Rev.ai 的说话人分离结果,把没有说话人的话轮显示为带选择器的 Unassigned,从 2.9 版起还能在本地做说话人分离。Label Studio 也可以在波形上标注说话人区域。
哪些标注工具能读取 Praat TextGrid 和 ELAN EAF 文件?
Praat 和 ELAN 各自使用自己的格式。Potato 两种都能读取和导出,所以项目可以在浏览器研究与这两个桌面工具之间来回迁移。
标注之前必须先转写音频吗?
只有当标注内容涉及说了什么时才需要。声音事件、说话人话轮和质量评分可以直接在波形上标注。对于说话内容,如果已有转写就从它开始;当转写本身就是交付成果,或者音频差到 ASR 输出会误导标注者时,再从头转写。