AI个人学习
和实操指南
讯飞绘镜

Dolphin:面向亚洲语言识别与语音转文本模型

综合介绍

Dolphin 是由 DataoceanAI 和清华大学合作开发的一个开源模型,专注于亚洲语言的语音识别和语言识别。它支持东亚、南亚、东南亚及中东地区的 40 种语言,以及 22 种中国方言。模型基于超过 21 万小时的音频数据训练,结合了专有和公开数据集。Dolphin 能将语音转为文本,还能检测语音部分(VAD)、分割音频和识别语言(LID)。它设计简单,代码和部分模型在 GitHub 上免费开放,适合开发者使用。

Dolphin:面向亚洲语言识别与语音转文本模型-1


 

功能列表

  • 支持 40 种亚洲语言和 22 种中国方言的语音转文本。
  • 提供语音活动检测(VAD),找出音频中的语音片段。
  • 支持音频分割,将长音频切成小段处理。
  • 实现语言识别(LID),判断音频的语言或方言。
  • 开源代码和模型,允许用户修改和定制。
  • 提供 base 和 small 两种模型,适应不同需求。
  • 使用双层标记系统,区分语言和地区(如 <zh><CN>)。

 

使用帮助

Dolphin 的安装和使用流程简单,适合有基础编程能力的用户。以下是详细步骤。

安装流程

  1. 准备环境
    需要 Python 3.8 或以上版本,以及 FFmpeg 来处理音频。

    • 检查 Python:在终端输入 python --version,确认版本。
    • 未安装 Python 可从 python.org 下载。
    • 安装 FFmpeg:根据系统运行命令:
      • Ubuntu/Debian:
        sudo apt update && sudo apt install ffmpeg
        
      • macOS:
        brew install ffmpeg
        
      • Windows:
        choco install ffmpeg
        

      未安装包管理工具可从 FFmpeg 官网 下载。

  2. 安装 Dolphin
    有两种方式:

    • 用 pip 安装
      在终端输入:

      pip install -U dataoceanai-dolphin
      

      这会安装最新稳定版。

    • 从源代码安装
      要用最新开发版,可从 GitHub 获取:

      1. 克隆仓库:
        git clone https://github.com/DataoceanAI/Dolphin.git
        
      2. 进入目录:
        cd Dolphin
        
      3. 安装:
        pip install .
        
  3. 下载模型
    Dolphin 有 4 种模型,目前 base(140M 参数)和 small(372M 参数)可免费下载。

    • 从 Hugging Face 获取模型文件。
    • 保存到指定路径,如 /data/models/dolphin/
    • base 模型速度快,small 模型精度更高。

使用方法

支持命令行和 Python 操作。

命令行操作

  1. 语音转文本
    准备音频文件(如 audio.wav),输入:
dolphin audio.wav

系统自动下载默认模型并输出文本。音频需为 WAV 格式,可用 FFmpeg 转换:

ffmpeg -i input.mp3 output.wav
  1. 指定模型和路径
    用 small 模型:
dolphin audio.wav --model small --model_dir /data/models/dolphin/
  1. 指定语言和地区
    用双层标记识别中文普通话:
dolphin audio.wav --model small --model_dir /data/models/dolphin/ --lang_sym "zh" --region_sym "CN"
  • lang_sym 是语言代码,如 "zh"(中文)。
  • region_sym 是地区代码,如 "CN"(中国大陆)。
    完整语言列表见 languages.md
  1. 填充短音频
    音频不足 30 秒时,可用 --padding_speech true 填充:
dolphin audio.wav --model small --model_dir /data/models/dolphin/ --lang_sym "zh" --region_sym "CN" --padding_speech true

Python 代码操作

  1. 加载音频和模型
    在 Python 中运行:
import dolphin
waveform = dolphin.load_audio("audio.wav")  # 加载音频
model = dolphin.load_model("small", "/data/models/dolphin/", "cuda")  # 加载模型
  • "cuda" 用 GPU,无 GPU 改为 "cpu"
  1. 执行识别
    处理音频并输出:

    result = model(waveform)  # 转文本
    print(result.text)  # 显示结果
    
  2. 指定语言和地区
    添加参数:

    result = model(waveform, lang_sym="zh", region_sym="CN")
    print(result.text)
    

特色功能操作

  • 语音活动检测(VAD)
    自动检测语音片段并标注时间,如:

    0.0-2.5s: 你好
    3.0-4.5s: 今天天气很好
    
  • 语言识别(LID)
    判断音频语言,例如:

    dolphin audio.wav --model small --model_dir /data/models/dolphin/
    

    输出如 <zh>(中文)或 <ja>(日语)。

  • 双层语言标记
    用两级标记区分语言和地区,如 <zh><CN>(中文普通话)、<zh><TW>(台湾普通话),提升亚洲语言处理能力。
  • 模型架构
    采用 CTC-Attention 架构,编码器用 E-Branchformer,解码器用 Transformer,专为亚洲语言优化。

 

应用场景

  1. 会议记录
    将亚洲多语言会议录音转为文本,适合国际或地方会议。
  2. 方言研究
    分析 22 种中国方言的语音特征,生成研究数据。
  3. 智能设备开发
    集成到智能设备,实现亚洲语言的语音控制。

 

QA

  1. 支持哪些语言?
    支持 40 种亚洲语言和 22 种中国方言,详见 languages.md
  2. 需要 GPU 吗?
    不需要。CPU 可运行,GPU(支持 CUDA)更快。
  3. base 和 small 模型有何不同?
    base 模型小(140M 参数),错误率 33.3%;small 模型大(372M 参数),错误率 25.2%。
未经允许不得转载:首席AI分享圈 » Dolphin:面向亚洲语言识别与语音转文本模型
zh_CN简体中文