Skip to content

Win整合包下载地址: https://pan.baidu.com/s/1ODhqN-GiaHoGdU-ml3kCUQ?pwd=i2ui GitHub地址: https://github.com/jianchang512/speech2text-df

在语音转写领域,大型语言模型通常针对英语进行优化,而对于东方语言(如中文方言、粤语、越南语、维吾尔语、菲律宾语等小语种)的识别效果往往不尽如人意。

为了解决这一问题,DataoceanAI 团队推出了开源项目 Dolphin,一个专门针对东方语言训练的语音转写模型。

为了让更多非技术用户也能轻松使用这一强大的模型,我开发了一个用户友好的 UI 界面和整合包。

以下是该工具的详细使用文档,旨在帮助用户快速上手,体验东方语言语音转写的便捷与高效。

功能概述

Dolphin 模型支持多种东方语言的语音转写,我的整合包在此基础上进一步简化了操作流程,通过一个直观的 UI 界面,用户只需上传音频文件并选择目标语言,即可获得转写结果,输出格式默认为 SRT(字幕文件格式),也支持其他格式(如 JSON或txt)。

界面与使用步骤

以下是基于界面截图的使用步骤说明:

  1. 访问工具
    启动程序后,工具会自动打开一个网页界面,默认地址为 http://127.0.0.1:5080。您也可以手动在浏览器中输入该地址访问。

  2. 上传音频或视频文件
    在界面中,点击“选择文件”按钮,从本地选择需要转写的音频文件。支持的格式包括 mp3、mp4、mpeg、mpga、m4a、wav、webm、aac、flac、mov、mkv、avi 等。

  3. 选择语言
    在“语言选择”下拉菜单中,选择目标语言,例如中文普通话、中文四川话、粤语等。如果不确定音频语言,可以选择“自动检测”,模型会尝试自动识别语言。

  4. 选择返回格式

默认返回SRT字幕,也可以选择txt或json

  1. 开始转写
    点击“开始转写”按钮,工具会将音频文件上传至服务器,并调用 Dolphin 模型进行转写。转写过程包括以下步骤:

    • 使用 FFmpeg 将音频转换为 WAV 格式。
    • 将音频切分为小片段以提高处理效率。
    • 对每个片段进行语音识别。
    • 将识别结果组装为 SRT 格式(或用户指定的其他格式)。
  2. 获取结果
    转写完成后,结果会以 SRT 格式显示在界面中(或以 JSON 格式返回,取决于用户设置)。用户可以直接复制结果,或下载为文件用于字幕制作等场景。

API 接口使用说明(面向开发者)

对于有开发需求的用户,我提供的整合包还包含一个 API 接口,开发者可以通过 HTTP 请求调用转写功能。以下是 API 的使用方法:

  • 端点/v1/audio/transcriptions
  • 方法:POST application/json
  • 请求参数
    • file:音频文件(必填,支持 mp3、mp4 等格式)。
    • language:目标语言(可选,例如 zh-CN/zh-SICHUAN等,若不填则自动检测)。
    • response_format:返回格式(支持 "srt、json、txt")。
  • 返回
    • 成功时:返回转写结果(SRT 格式的文本或 JSON 、txt格式)。
    • 失败时:返回错误信息(如文件格式不支持、转写失败等)。

language支持的语言代码

语言代码中文名字
zh-CN中文(普通话)
zh-TW中文(台湾)
zh-WU中文(吴语)
zh-SICHUAN中文(四川话)
zh-SHANXI中文(山西话)
zh-ANHUI中文(安徽话)
zh-TIANJIN中文(天津话)
zh-NINGXIA中文(宁夏话)
zh-SHAANXI中文(陕西话)
zh-HEBEI中文(河北话)
zh-SHANDONG中文(山东话)
zh-GUANGDONG中文(广东话)
zh-SHANGHAI中文(上海话)
zh-HUBEI中文(湖北话)
zh-LIAONING中文(辽宁话)
zh-GANSU中文(甘肃话)
zh-FUJIAN中文(福建话)
zh-HUNAN中文(湖南话)
zh-HENAN中文(河南话)
zh-YUNNAN中文(云南话)
zh-MINNAN中文(闽南语)
zh-WENZHOU中文(温州话)
ja-JP日语
th-TH泰语
ru-RU俄语
ko-KR韩语
id-ID印度尼西亚语
vi-VN越南语
ct-NULL粤语(未知)
ct-HK粤语(香港)
ct-GZ粤语(广东)
hi-IN印地语
ur-IN乌尔都语(印度)
ur-PK乌尔都语
ms-MY马来语
uz-UZ乌兹别克语
ar-MA阿拉伯语(摩洛哥)
ar-GLA阿拉伯语
ar-SA阿拉伯语(沙特)
ar-EG阿拉伯语(埃及)
ar-KW阿拉伯语(科威特)
ar-LY阿拉伯语(利比亚)
ar-JO阿拉伯语(约旦)
ar-AE阿拉伯语(阿联酋)
ar-LVT阿拉伯语(黎凡特)
fa-IR波斯语
bn-BD孟加拉语
ta-SG泰米尔语(新加坡)
ta-LK泰米尔语(斯里兰卡)
ta-IN泰米尔语(印度)
ta-MY泰米尔语(马来西亚)
te-IN泰卢固语
ug-NULL维吾尔语
ug-CN维吾尔语
gu-IN古吉拉特语
my-MM缅甸语
tl-PH塔加洛语
kk-KZ哈萨克语
or-IN奥里亚语
ne-NP尼泊尔语
mn-MN蒙古语
km-KH高棉语
jv-ID爪哇语
lo-LA老挝语
si-LK僧伽罗语
fil-PH菲律宾语
ps-AF普什图语
pa-IN旁遮普语
kab-NULL卡拜尔语
ba-NULL巴什基尔语
ks-IN克什米尔语
tg-TJ塔吉克语
su-ID巽他语
mr-IN马拉地语
ky-KG吉尔吉斯语
az-AZ阿塞拜疆语

示例请求(使用 curl)

bash
curl -X POST http://127.0.0.1:5080/v1/audio/transcriptions \
  -F "file=@/path/to/audio.mp3" \
  -F "language=zh-CN" \
  -F "response_format=srt"

示例请求(使用openai sdk)

from openai import OpenAI
client=OpenAI(base_url='http://127.0.0.1:5080/v1', api_key='123')
filename="15.wav"
with open(filename,'rb') as file:
    transcript = client.audio.transcriptions.create(
        file=(filename, file.read()),
        model='base',
        language='zh-CN',
        response_format="srt"
    )
    print(transcript)

返回示例(SRT 格式)

1
00:00:00,000 --> 00:00:02,000
你好,这是一段测试音频。

2
00:00:02,001 --> 00:00:04,000
希望转写结果准确。

五、GPU支持

为减小整合包体积,默认不支持GPU,如果你需要支持,首先确保已安装配置好了CUDA12.x 环境,然后在 整合包文件夹中,双击 安装GPU支持.bat即可自动安装

六、注意事项

  1. 文件大小与时长
    为保证转写效率,建议单个音频文件不超过 1GB,时长控制在 1 小时以内。过长的音频可能会导致处理时间较长。

  2. 音频质量
    音频质量会直接影响转写效果。建议使用清晰、无过多背景噪音的音频文件。

  3. 第一次转写必须保持网络连接
    需要在线下载nltk库对应语言的一些字典数据,建议每种语言都成功执行一次后,再考虑离线

常见问题

  • pip install 时出错,请安装 visual studio community 2022 版本,工作负荷中选择 使用c++的桌面开发,右侧下拉底部,额外再选中MSVC v140 v141 v142 3项,安装成功后再重试
  • 提示File is not zip等错误,删掉models文件夹内的nltk后,挂系统代理重试
  • 缺少ffmpeg,win下将ffmpeg.exe放在api.py目录下。Macos系统brew install ffmpeg安装

本项目开源地址: https://github.com/jianchang512/speech2text-df Dolphin模型仓库地址: https://github.com/DataoceanAI/Dolphin