用 FunASR 命令行转写音频:一行命令出文本 / JSON / SRT 字幕
不想写 Python?FunASR 自带命令行工具,装好就能在终端里把音频转成文字、JSON 或 SRT 字幕。本地运行、免费、对中文尤其强。下面每条命令都是实测过的。
安装
pip install -U torch torchaudio
pip install -U funasr # 需要 funasr ≥ 1.3.10
最简单:转成文字
funasr audio.wav
直接把识别文本打印到终端。默认用 SenseVoice(非自回归,极快,50+ 语言)。
生成 SRT 字幕
funasr audio.wav -f srt -o ./subs
在 ./subs/ 下生成 audio.srt。加 --spk 还能按说话人分句、带真实时间戳:
funasr meeting.wav --spk -f srt -o ./subs
1
00:00:02,919 --> 00:00:08,169
大家好,今天聊一下第三季度的计划。
2
00:00:10,029 --> 00:00:18,550
我先同步进度,核心功能完成了八成。
结构化 JSON 输出
funasr audio.wav -f json
{
"text": "大家好今天聊一下第三季度的计划...",
"file": "audio.wav",
"model": "sensevoice",
"language": "auto",
"audio_duration_s": 59.52,
"processing_s": 2.17
}
常用选项
| 命令 | 作用 |
|---|---|
-f text/json/srt/tsv | 输出格式(默认 text) |
--spk | 说话人分离(谁在何时说) |
--model sensevoice/paraformer/fun-asr-nano | 选模型(fun-asr-nano 精度最高) |
--hotwords "关键词,术语" | 热词,提升专有名词 |
-o ./out | 输出目录 |
funasr a.wav b.wav | 一次转多个文件 |
作为 API 服务部署(OpenAI 兼容)
funasr-server --device cuda # localhost:8000, POST /v1/audio/transcriptions
用任何 OpenAI SDK 直接调:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="x")
r = client.audio.transcriptions.create(model="sensevoice", file=open("audio.wav","rb"))
print(r.text)
为什么用 FunASR CLI
- 本地、免费、隐私:无需联网、无 API key。
- 快:SenseVoice 非自回归,远快于 Whisper(实测对比),CPU 也能实时。
- 中文更准 + 50+ 语言;字幕、说话人、热词、JSON 开箱即用。
FunASR 是通义实验室开源的工业级语音识别工具包。
在 GitHub 上 Star FunASR ★