综合介绍
PengChengStarling(鹏城实验室)是一个多语言自动语音识别(ASR)工具,能够将不同语言的语音转换为对应的文本。这个工具包基于icefall项目开发,提供了完整的语音识别流程,包括数据处理、模型训练、推理、微调和部署。PengChengStarling支持八种语言的流式语音识别,包括中文、英语、俄语、越南语、日语、泰语、印尼语和阿拉伯语。它的主要应用场景包括语音助手、翻译工具、字幕生成和语音搜索等。模型大小是Whisper-Large v3的20%,推理速度比Whisper-Large v3快7倍。
特点是它可以在统一的框架内处理多种语言语音输入,支持实时语音识别,边说边识别,可以做为国际会议录音转文字、多语言视频自动生成字幕 、跨语言客服系统使用。
功能列表
- 数据处理:支持多种数据集的预处理,生成所需的输入格式。
- 模型训练:提供灵活的训练配置,支持多语言语音识别任务。
- 推理:高效的推理速度,支持流式语音识别。
- 微调:支持模型的微调,以适应特定任务需求。
- 部署:提供PyTorch和ONNX格式的模型,便于部署。
使用帮助
安装流程
- 克隆项目仓库:
git clone https://github.com/yangb05/PengChengStarling
cd PengChengStarling
- 安装依赖:
pip install -r requirements.txt
export PYTHONPATH=/tmp/PengChengStarling:$PYTHONPATH
数据准备
在开始训练过程之前,首先需要将原始数据预处理为所需的输入格式。通常,这涉及到适配zipformer/prepare.py
中的make_*_list
方法,以生成data.list
文件。完成后,脚本将为每个数据集生成相应的cuts和fbank特征,这些特征将作为PengChengStarling的输入数据。
模型训练
- 配置训练参数:在
config_train
目录中配置训练所需的参数。 - 启动训练:
./train.sh
推理
- 准备推理数据:将数据预处理为所需格式。
- 启动推理:
./eval.sh
微调
- 准备微调数据:将数据预处理为所需格式。
- 启动微调:
./train.sh --finetune
部署
PengChengStarling提供两种格式的模型:PyTorch状态字典和ONNX格式。可以根据需求选择合适的格式进行部署。