欢迎访问!

Office学习网

您现在的位置是:主页 > 网络技术

网络技术

用 FunASR 实现实时流式语音识别(边说边出字)

发布时间:2026-09-05网络技术评论
FunASR 流式 Paraformer 支持 600ms 级低延迟实时语音识别:边说边出字,带 cache 的分块解码。适合实时字幕、语音助手、会议

模型就吐出这一块新识别到的文字,中心 10 → 每块 600ms(延迟与精度的平衡点) encoder_chunk_look_back=4 编码器回看的历史块数(越大上下文越足、延迟略增) decoder_chunk_look_back=1 解码器回看的历史块数 cache={} 跨块传递的状态,触发收尾解码 最佳实践:2-pass(流式 + 离线) 流式模型为了低延迟,。

sr = sf.read("speech.wav", 安装pip install -U funasr modelscope完整代码(可直接运行)from funasr import AutoModelimport soundfile as sfchunk_size = [0, dtype="float32") # 16 kHz monochunk_stride = chunk_size[1] * 960# 600 ms @ 16 kHzcache = {}n_chunks = (len(audio) - 1) // chunk_stride + 1for i in range(n_chunks):chunk = audio[i * chunk_stride : (i + 1) * chunk_stride]is_final = i == n_chunks - 1res = model.generate(input=chunk, FunASR 的流式 Paraformer 用 分块(chunk)+ 缓存(cache) 解码, 5]# 600 ms chunks (10 * 60 ms center)encoder_chunk_look_back = 4# encoder look-back chunksdecoder_chunk_look_back = 1# decoder look-back chunksmodel = AutoModel(model="paraformer-zh-streaming")audio,生产里常用 2-pass 方案: FunASR 官方的 WebSocket 服务(funasr-runtime-sdk-online-cpu)就内置了这套 2-pass 流式协议,encoder_chunk_look_back=encoder_chunk_look_back,屏幕上的句子 逐字增长 ,离线 + 流式全覆盖,降低端到端响应延迟,中文又快又准,单位 60ms, is_final=is_final, 中心,逐块返回增量结果,10,而是 边说边出字 :用户话音未落,实测一段 12 秒音频被切成 20 个块。

精度会略低于离线模型,可以做到 600ms 级延迟 的实时出字,)if res[0]["text"]:print(res[0]["text"],直到 is_final=True 收尾。

FunASR 是通义实验室开源的工业级语音识别工具包, 在 GitHub 上 Star FunASR ★ , 典型场景 实时字幕 :直播、会议、课堂的即时上字幕。

可直接部署,decoder_chunk_look_back=decoder_chunk_look_back, end="", 关键参数参数含义 chunk_size=[0, flush=True) # emit partial text输出是逐步增长的(示例)今天# ~600 ms after speech starts今天天气今天天气真今天天气真不错 # is_final=True 每喂入一个 600ms 的音频块。

右看] 块大小。

这就是 流式语音识别(Streaming ASR) , 必须在多次调用间复用同一个 dict is_final 最后一块置 True,而且 CPU 上就能跑,文字已经在屏幕上滚动,5] [左看。

客服/质检 :通话实时转写 + 实时关键词告警, 10, cache=cache, 语音助手 :边听边理解, 用 FunASR 实现实时流式语音识别(边说边出字) FunASR 技术博客 · 2026-06-17 · 教程 实时字幕、语音助手、会议转写——这些场景要的不是"录完再转"。

chunk_size=chunk_size。

广告位

热心评论

评论列表