Whisper Flow 是一个基于 OpenAI Whisper 的实时语音转文字(Streaming Transcription)框架
Whisper Flow 是一个基于 OpenAI Whisper 的实时语音转文字(Streaming Transcription)框架。
GitHub:https://github.com/dimastatz/whisper-flow
核心定位
普通 Whisper 是批量模式(把整个音频文件上传后一次性转录),而 Whisper Flow 支持流式处理:
- 持续接收音频数据块(chunks)
- 实时返回增量转录结果
- 适合需要低延迟的实时应用(会议、直播、语音助手等)
它使用 Tumbling Window 方式对音频流进行分段处理,并根据自然停顿或说话人变化切分结果。
主要特点
- 实时流式转录:通过 WebSocket 持续推送部分结果(partial)和最终结果
- 低延迟:在 MacBook Air M1 上测试,平均延迟约 275ms(多数情况 < 500ms)
- 较好的准确率:在 LibriSpeech 测试集上 WER 约 7%
- 支持作为库使用:可轻松集成到自己的 FastAPI 应用中
- Docker 支持
结果示例(流式返回):
| Transcript | EndTime | IsPartial |
|---|---|---|
| Reality | 0.55 | True |
| Reality is created | 1.05 | True |
| Reality is created by the mind | 2.65 | False |
快速开始
1 | git clone https://github.com/dimastatz/whisper-flow.git |
服务端点:
- WebSocket 实时转录:
ws://localhost:8181/ws - 健康检查:
http://localhost:8181/health - 批量 PCM 转录:
POST /transcribe_pcm_chunk
也可用 Docker:
1 | ./run.sh -docker |
作为 Python 库使用
1 | pip install whisperflow |
支持在自己的 FastAPI 应用中快速接入 WebSocket 流式转录。
音频要求:
- 采样率:16 kHz
- 单声道
- 16-bit PCM(int16)
依赖要求
- Python ≥ 3.8(测试过 3.12)
- PortAudio(PyAudio 需要)
适合场景
- 实时会议字幕
- 直播/播客实时转写
- 语音助手 / 语音控制应用
- 需要低延迟语音识别的自定义服务
注意:实时模式通常会在速度和准确率之间做权衡,批量模式(完整文件)准确率通常更高。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论









