FireRedASR: 开源工业级自动语音识别模型使用教程
FireRedASR 是一套开源的工业级自动语音识别(ASR)模型,支持普通话、中文方言和英语。该模型在公开的普通话ASR基准测试中取得了新的最佳效果(SOTA),并且具有出色的歌声识别能力。FireRedASR 包括两种变体:- FireRedASR-LLM:采用编码器-适配器-LLM框架,利用大型语言模型(LLM)的能力,旨在实现最佳性能和无缝端到端语音交互。- FireRedASR-
·
FireRedASR: 开源工业级自动语音识别模型使用教程
1. 项目介绍
FireRedASR 是一套开源的工业级自动语音识别(ASR)模型,支持普通话、中文方言和英语。该模型在公开的普通话ASR基准测试中取得了新的最佳效果(SOTA),并且具有出色的歌声识别能力。
FireRedASR 包括两种变体:
- FireRedASR-LLM:采用编码器-适配器-LLM框架,利用大型语言模型(LLM)的能力,旨在实现最佳性能和无缝端到端语音交互。
- FireRedASR-AED:采用基于注意力的编码器-解码器(AED)架构,旨在平衡高性能和计算效率,作为基于LLM的语音模型中的有效语音表示模块。
2. 项目快速启动
首先,确保您已经安装了以下依赖:
- Python 3.10
- ffmpeg
接下来,按照以下步骤快速启动项目:
# 克隆仓库
git clone https://github.com/FireRedTeam/FireRedASR.git
# 创建Python虚拟环境并安装依赖
cd FireRedASR
conda create --name fireredasr python=3.10
conda activate fireredasr
pip install -r requirements.txt
# 设置环境变量
export PATH=$PWD/fireredasr/:$PWD/fireredasr/utils/:$PATH
export PYTHONPATH=$PWD/:$PYTHONPATH
# 转换音频文件格式为16kHz 16-bit PCM
ffmpeg -i input_audio -ar 16000 -ac 1 -acodec pcm_s16le -f wav output.wav
# 运行推理脚本(选择AED或LLM模型)
cd examples
bash inference_fireredasr_aed.sh # 使用AED模型
# 或者
bash inference_fireredasr_llm.sh # 使用LLM模型
3. 应用案例和最佳实践
3.1 使用FireRedASR-AED进行语音识别
from fireredasr.models.fireredasr import FireRedAsr
batch_uttid = ["BAC009S0764W0121"]
batch_wav_path = ["examples/wav/BAC009S0764W0121.wav"]
# 创建并加载模型
model = FireRedAsr.from_pretrained("aed", "pretrained_models/FireRedASR-AED-L")
# 进行语音识别
results = model.transcribe(batch_uttid, batch_wav_path, {
"use_gpu": 1,
"beam_size": 3,
"nbest": 1,
"decode_max_len": 0,
"softmax_smoothing": 1.25,
"aed_length_penalty": 0.6,
"eos_penalty": 1.0
})
# 打印识别结果
print(results)
3.2 使用FireRedASR-LLM进行语音识别
from fireredasr.models.fireredasr import FireRedAsr
batch_uttid = ["BAC009S0764W0121"]
batch_wav_path = ["examples/wav/BAC009S0764W0121.wav"]
# 创建并加载模型
model = FireRedAsr.from_pretrained("llm", "pretrained_models/FireRedASR-LLM-L")
# 进行语音识别
results = model.transcribe(batch_uttid, batch_wav_path, {
"use_gpu": 1,
"beam_size": 3,
"decode_max_len": 0,
"decode_min_len": 0,
"repetition_penalty": 3.0,
"llm_length_penalty": 1.0,
"temperature": 1.0
})
# 打印识别结果
print(results)
4. 典型生态项目
FireRedASR 作为开源项目,可以与其他开源项目结合使用,例如:
- 集成到基于深度学习的语音识别框架中,如 icefall/ASR_LLM。
- 结合 WeNet 或 Speech-Transformer 等现有语音识别模型进行性能比较和优化。
通过社区合作,FireRedASR 将不断发展和完善,为语音识别领域提供更高质量的解决方案。
更多推荐

所有评论(0)