语音识别dolphin 学习笔记
目录
Dolphin简介
Dolphin 中共有 4 个模型,其中 2 个现在可用。
使用demo
Dolphin简介
Dolphin 是由 Dataocean AI 和清华大学合作开发的多语言、多任务语音识别模型。它支持东亚、南亚、东南亚和中东的 40 种东方语言,同时支持 22 种汉语方言。该模型在超过 210,000 小时的数据上进行训练,包括 DataoceanAI 的专有数据集和开源数据集。该模型可以执行语音识别、语音活动检测(VAD)、分割和语言识别(LID)。
small版本与Whisper large v3相比,平均WER降低54.1%,模型大小只有Whisper large v3的约1/4 除了语音识别,还能进行语音活动检测、音频分割以及语言识别 目前开源了两个基础版本,一个base版,一个small版
方法
Dolphin 主要遵循 Whisper 和 OWSM 的创新设计方法。采用基于 E-Branchformer 的编码器和基于标准 Transformer 的解码器的联合 CTC-Attention 架构。针对 ASR 的特定关注,引入了几个关键修改。Dolphin 不支持翻译任务,并消除了对先前文本及其相关标记的使用。
在 Dolphin 中,引入了二级语言标记系统,以更好地处理语言和区域多样性,尤其是在 Dataocean AI 数据集中。第一个标记指定语言(例如, <zh>
, <ja>
),而第二个标记表示区域(例如, <CN>
, <JP>
)。详细信息请参阅论文。
https://github.com/DataoceanAI/Dolphin/blob/main/languages.md
Dolphin 中共有 4 个模型,其中 2 个现在可用。
Model | Parameters 参数 | Average WER 平均词错误率 | Publicly Available 公开可用 |
---|---|---|---|
base 基础 | 140 M | 33.3 | ✅ |
small 小型 | 372 M | 25.2 | ✅ |
medium 中等 | 910 M 910 兆 | 23.1 | |
large 大型 | 1679 M | 21.6 |
没有开源微调 finetune
支持阿拉伯语,但是不支持
安装:
pip install -U dataoceanai-dolphin
使用demo
可以自动识别语言
import dolphinwaveform = dolphin.load_audio("audio.wav")
model = dolphin.load_model("small", "/data/models/dolphin", "cuda")
result = model(waveform)# Specify language
result = model(waveform, lang_sym="zh")# Specify language and region
result = model(waveform, lang_sym="zh", region_sym="CN")
print(result.text)
import dolphin
import os
# waveform = dolphin.load_audio("/nas/lbg/project/Whisper-Finetune/dataset/test_long.wav")waveform = dolphin.load_audio("/nas/ASR_DATA/cv-corpus-21.0-2025-03-14/ar/clips/common_voice_ar_24146339.mp3")os.makedirs("/nas/lbg/models/dolphin", exist_ok=True)
model = dolphin.load_model("base", "/nas/lbg/models/dolphin", "cuda")
result = model(waveform)# Specify language
# result = model(waveform, lang_sym="zh")# # Specify language and region
# result = model(waveform, lang_sym="zh", region_sym="CN")
# print(result.text)result = model(waveform)# Specify language and region
result = model(waveform)
print(result.text)