本地中文语音识别,基于阿里达摩院 FunASR。触发场景:① 语音消息转录;② 音/视频文件转录;③ 网页视频下载转录;④ 中文语音转文字。支持小内存模式(≈500 MB)和大模型模式(≈2 GB),自动内存管理,任务队列防并行。
阿里达摩院开源 ASR,完全本地部署,内存优化版。
bash
# 默认 small 模式(SenseVoiceSmall, ~500MB)
python3 scripts/transcribe.py /path/to/audio.wav
# 大模型模式(Paraformer-Large, ~2GB,中文极高精度)
python3 scripts/transcribe.py /path/to/audio.wav --mode large
# 自定义分段时长(默认 600 秒 = 10 分钟)
python3 scripts/transcribe.py /path/to/audio.wav --segment 300
# JSON 输出
python3 scripts/transcribe.py /path/to/audio.wav --format json
# 转录视频文件
python3 scripts/video-transcribe.py --audio /path/to/video.mp4
javascript
const funasr = require('./index.js');
const text = await funasr.transcribe('/path/to/audio.wav', {
mode: 'small', // 'small' 或 'large'
format: 'text' // 'text' 或 'json'
});
优化项旧方案新方案进程模型每段新进程单进程,模型加载一次默认模型paraformer (2GB)SenseVoiceSmall (500MB 常驻段间释放进程退出gc.collect()任务锁✅✅ 保留500MB)内存峰值2GB × N 次
特性small (默认)large模型SenseVoiceSmallParaformer-Large内存500MB2GB语言中英日韩粤中文精度高极高速度快 (~0.1 RTF)较慢 (~0.3 RTF)适用场景日常转录专业中文场景
bash
# Python 依赖
pip install funasr onnxruntime psutil
# 视频处理(可选)
pip install yt-dlp
apt install ffmpeg
# 首次运行自动下载模型
# small: ~500MB | large: ~2GB
问题解决模型下载失败pip install modelscope && modelscope download --model iic/SenseVoiceSmall内存不足 (OOM)用 --mode small --segment 300 减小分段音频格式错误ffmpeg -i input.mp3 -ar 16000 -ac 1 output.wav转录有奇怪标记脚本自动清理 `<
MIT License