29dd236bb9
- 将步骤5从 OCR 改为 Whisper 语音识别
- 更新 kb-whisper 支持自动音频转换
- 默认使用中文语言 (zh) 和 base 模型
- 更新输出格式为 {platform}_{id}.txt/.srt/.json
- 添加 FunASR 作为备用方案
2.7 KiB
2.7 KiB
name, description
| name | description |
|---|---|
| kb-funasr | 本地语音识别,支持音视频转文字(基于阿里 FunASR) |
KB FunASR Skill
kb-funasr - 本地语音识别,使用阿里 FunASR 将音视频文件转换为文本和 JSON 格式输出。
什么时候使用
当用户需要:
- 将视频/音频文件转换为文字
- 获取带时间戳的详细识别结果
- 需要中文优化的语音识别(Paraformer 模型)
环境变量
在使用之前,必须检查环境变量是否已经设置。
| 变量名 | 用途 | 示例 |
|---|---|---|
FUNASR_CACHE_DIR |
FunASR 模型缓存目录 | ~/.cache/modelscope/hub |
使用方法
# 基本用法(使用 Paraformer 模型)
python funasr.py --input video.mp4
# 指定模型
python funasr.py --input video.mp4 --model paraformer-zh
# 指定输出目录
python funasr.py --input video.mp4 --output ./output
# 异步执行(推荐)
python funasr.py --input video.mp4 --background
命令参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--input |
输入音视频文件路径 | 必需 |
--model |
FunASR 模型类型 | paraformer-zh |
--output |
输出目录 | 文件所在目录 |
--background |
后台异步执行 | False |
模型选项
paraformer-zh- Paraformer 中文模型(轻量,中文优化,推荐)paraformer- Paraformer 多语言模型sensevoice- SenseVoice 多语言模型
输出文件
对于输入 video.mp4,将生成:
video.json- 详细结果(包含时间戳、分段信息)video.txt- 纯文本内容
输出格式示例
JSON 格式
{
"success": true,
"input_file": "video.mp4",
"model": "paraformer-zh",
"output_files": {
"json": "video.json",
"txt": "video.txt"
},
"duration_seconds": 120.5,
"segments": [
{
"id": 0,
"start": 0.0,
"end": 3.2,
"text": "这是第一段识别结果"
}
]
}
Workflow 中的使用
# 步骤4之后:如果已有音频但无字幕,可以使用 FunASR
python funasr.py --input ${video_path} --model paraformer-zh --background
安装
# 1. 安装依赖
pip install funasr modelscope
# 2. 首次运行时会自动下载模型到缓存目录
python funasr.py --input test.mp4
# 3. 复制技能到 skills 目录
cp -r kb-funasr/ ~/skills/
注意事项
- 异步执行: 使用
--background参数时,命令会在后台运行,不阻塞主代理 - 模型选择: paraformer-zh 模型适合中文语音识别,速度较快,精度较高
- 文件格式: 支持 MP3、MP4、WAV、FLAC、OGG、M4A 等常见格式
- 首次运行: 首次运行时会自动下载模型文件,需要稳定的网络连接