用 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

FunASR 是通义实验室开源的工业级语音识别工具包。

在 GitHub 上 Star FunASR ★

相关文章