综合介绍
FunASR是一个由阿里巴巴达摩院开发的开源语音识别工具包,旨在为学术研究和工业应用提供桥梁。它支持多种语音识别功能,包括语音识别(ASR)、语音端点检测(VAD)、标点恢复、语言模型、说话人验证、说话人分离和多人对话语音识别。FunASR提供了便捷的脚本和教程,支持预训练模型的推理与微调,帮助用户快速构建高效的语音识别服务。
支持各种音视频格式输入,可以把几十个小时的长音频与视频识别成带标点的文字,支持上百路请求同时进行转写 支持中文、英文、日文、粤语和韩语等。
在线体验:https://www.funasr.com/
功能列表
- 语音识别(ASR):支持离线和实时语音识别。
- 语音端点检测(VAD):检测语音信号的起始和结束。
- 标点恢复:自动添加标点符号,提高文本可读性。
- 语言模型:支持多种语言模型的集成。
- 说话人验证:验证说话人的身份。
- 说话人分离:区分不同说话人的语音。
- 多人对话语音识别:支持多人同时对话的语音识别。
- 模型推理与微调:提供预训练模型的推理和微调功能。
使用帮助
安装流程
- 环境准备:
- 确保已安装Python 3.7或以上版本。
- 安装必要的依赖库:
pip install -r requirements.txt
- 下载模型:
- 从ModelScope或HuggingFace下载预训练模型:
git clone https://github.com/modelscope/FunASR.git cd FunASR
- 从ModelScope或HuggingFace下载预训练模型:
- 配置环境:
- 配置环境变量:
export MODEL_DIR=/path/to/your/model
- 配置环境变量:
使用流程
- 语音识别:
- 使用命令行进行语音识别:
python recognize.py --model paraformer --input your_audio.wav
- 使用Python代码进行语音识别:
from funasr import AutoModel model = AutoModel.from_pretrained("paraformer") result = model.recognize("your_audio.wav") print(result)
- 使用命令行进行语音识别:
- 语音端点检测:
- 使用命令行进行语音端点检测:
python vad.py --model fsmn-vad --input your_audio.wav
- 使用Python代码进行语音端点检测:
from funasr import AutoModel vad_model = AutoModel.from_pretrained("fsmn-vad") vad_result = vad_model.detect("your_audio.wav") print(vad_result)
- 使用命令行进行语音端点检测:
- 标点恢复:
- 使用命令行进行标点恢复:
python punctuate.py --model ct-punc --input your_text.txt
- 使用Python代码进行标点恢复:
from funasr import AutoModel punc_model = AutoModel.from_pretrained("ct-punc") punc_result = punc_model.punctuate("your_text.txt") print(punc_result)
- 使用命令行进行标点恢复:
- 说话人验证:
- 使用命令行进行说话人验证:
python verify.py --model speaker-verification --input your_audio.wav
- 使用Python代码进行说话人验证:
from funasr import AutoModel verify_model = AutoModel.from_pretrained("speaker-verification") verify_result = verify_model.verify("your_audio.wav") print(verify_result)
- 使用命令行进行说话人验证:
- 多人对话语音识别:
- 使用命令行进行多人对话语音识别:
python multi_asr.py --model multi-talker-asr --input your_audio.wav
- 使用Python代码进行多人对话语音识别:
from funasr import AutoModel multi_asr_model = AutoModel.from_pretrained("multi-talker-asr") multi_asr_result = multi_asr_model.recognize("your_audio.wav") print(multi_asr_result)
- 使用命令行进行多人对话语音识别: