📖 一、项目简介

在一个完整的语音交互系统里,Snowboy 像是“耳朵”,能捕捉到你设定的唤醒词;EasyVoice 是“嘴巴”,能用自然的声音与用户对话;而 Dolphin ASR,就是“大脑”。
它的工作是:当用户说话时,Dolphin ASR 能够边听边理解,把复杂的语音流迅速转换为文字。它就像一名专业的速记员,不仅反应快,而且准确率高,还能适应不同口音、方言和语境。
在这里插入图片描述


🌟 二、核心特性

  • 实时流式识别:支持长语音连续识别,毫秒级延迟,保证用户体验流畅自然。
  • 📚 领域词典定制:可加载专业领域词汇(金融、医疗、工业),显著提升识别率。
  • 🎙️ 多语种支持:内置中文和英文,扩展可支持日语、韩语、法语等。
  • 🚀 高性能架构:支持多线程和 GPU 加速,保证在大规模并发场景下依旧稳定。
  • 🔗 多协议接口:提供 REST API、WebSocket、gRPC,方便对接不同应用。
  • 🖥️ 可私有化部署:无需依赖云服务,保障企业数据隐私。

🎯 三、应用场景

  • 📝 会议实时转写
    自动生成逐字稿,支持多角色说话人分离。

  • 🤖 智能客服
    呼叫中心可直接把用户语音转为文字,并实时分派给客服或机器人应答。

  • 🚗 车载语音助手
    在复杂环境下依旧能识别驾驶员的导航、娱乐控制命令。

  • 🌍 跨语言实时翻译
    结合翻译模型,能实现“你说中文,我听懂并翻译成英文播报”。

  • 🏥 医疗口述记录
    医生口述病历,系统自动生成文本,节省大量书写时间。

    在这里插入图片描述


⚙️ 四、本地部署教程

1. 环境准备

Dolphin 需要 FFmpeg 将音频文件转换为 WAV 格式。如果您的系统尚未安装 FFmpeg,请先安装它:
# Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg

# MacOS
brew install ffmpeg

# Windows
choco install ffmpeg

2. 获取源码

您可以使用以下命令安装最新版本的 Dolphin:
pip install -U dataoceanai-dolphin
或者,也可以从源安装:
pip install git+https://github.com/SpeechOceanTech/Dolphin.git 

3. 命令行用法

dolphin audio.wav

# Download model and specify the model path
dolphin audio.wav --model small --model_dir /data/models/dolphin/

# Specify language and region
dolphin audio.wav --model small --model_dir /data/models/dolphin/ --lang_sym "zh" --region_sym "CN"

# padding speech to 30 seconds
dolphin audio.wav --model small --model_dir /data/models/dolphin/ --lang_sym "zh" --region_sym "CN" --padding_speech true

4. Python 使用

import dolphin

waveform = 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)

🐳 五、容器化部署教程

在生产环境中,我们推荐使用 Docker + docker-compose 来部署 Dolphin ASR,这样能保证依赖一致、升级方便。

1. Dockerfile

# 使用 DaoCloud 镜像源
FROM docker.m.daocloud.io/python:3.9-slim

# 设置工作目录
WORKDIR /app

# 设置环境变量
ENV PYTHONPATH=/app
ENV PYTHONUNBUFFERED=1

# 配置 apt 使用阿里云镜像源
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources

# 安装系统依赖和编译工具
RUN apt-get update && apt-get install -y \
    curl \
    libsndfile1 \
    ffmpeg \
    build-essential \
    gcc \
    g++ \
    python3-dev \
    libffi-dev \
    && rm -rf /var/lib/apt/lists/*

# 配置 pip 使用清华大学镜像源
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ && \
    pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn

# 复制项目文件和 dolphin 模块
COPY . /app/

# 安装项目依赖(包括 dolphin 模块)
RUN pip install --no-cache-dir -e .

# 创建必要的目录
RUN mkdir -p /app/audio_files /app/models

# 暴露端口
EXPOSE 5000

# 启动命令
CMD ["python", "api_server.py"]

2. docker-compose.yml

services:
  dolphin-api:
    build: .
    container_name: dolphin-api
    ports:
      - "5000:5000"
    volumes:
      - ./audio_files:/app/audio_files
      - ./api_server.py:/app/api_server.py:ro
    environment:
      - PYTHONPATH=/app
      - PYTHONUNBUFFERED=1
    restart: unless-stopped
    command: python api_server.py

3. 一键运行

docker-compose up -d

服务启动后,即可通过 http://localhost:8080/asr 提交音频文件进行识别。


🔗 六、与其他模块的衔接

在语音交互链路中:

  1. Snowboy —— 捕捉“嘿小八” → 激活麦克风监听。
  2. Dolphin ASR —— 把“开灯”转写成文字 → 系统识别命令。
  3. EasyVoice (TTS) —— 回复“好的,灯已打开” → 用自然语音播报。

📌 完整交互闭环

用户语音 → [Snowboy 唤醒] → [Dolphin ASR 识别] → 应用逻辑 → [EasyVoice TTS 播报]

在这里插入图片描述


🚀 七、总结

  • Dolphin ASR 是语音交互系统的“大脑”,负责语音理解,具备实时、准确、可扩展的优势。
  • 容器化部署 让其在不同环境下都能快速落地,尤其适合企业级项目。
  • 结合 Snowboy(唤醒)+ EasyVoice(TTS),就能实现从唤醒到识别再到播报的完整语音交互系统。

⚠️ 注意:部署时应关注模型体积和 GPU/CPU 资源分配,尤其在高并发或长语音场景下。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐