基于 Whisper 的开源语音转文字工具,支持词级时间戳和说话人分离。
antirez/whisperbot
用 C 语言编写的 Telegram 机器人,可借助 whisper.cpp 或 qwen-asr 将语音消息转为文字。
- Star
- 168
- Fork
- 12
- 未关闭 Issue
- 1
- 最近提交
- 8个月前
这是什么?
Whisperbot 是一个 Telegram 机器人,用于转写语音消息。用户把语音发给机器人后,它会下载音频、用 ffmpeg 转为 WAV,再以外部进程方式调用所选的语音识别后端,并在文字生成过程中不断编辑回复消息,将转写结果流式返回。
它支持两种后端:whisper.cpp(通过 whisper-cli 调用)和 qwen-asr,后者是 Qwen3-ASR 的纯 C 推理实现。后端需在编译前于 whisperbot.c 中通过宏选择。项目基于 botlib 构建,采用每请求一线程的模型,并用互斥锁管理等待队列,以避免多个高负载转写同时运行。队列变长时会切换到更快的模型,队列满后则拒绝新请求。
最长音频时长、队列上限和进程超时等参数都是源码顶部的常量。后端路径和模型同样写死在代码中,重启后排队中的请求会丢失。
核心功能
- 01将 Telegram 语音消息转写后回复文字。
- 02可在 whisper.cpp 与 qwen-asr 两种语音识别后端之间选择。
- 03转写过程中边识别边编辑消息,流式输出结果。
- 04请求队列变长时自动切换到更快的模型。
- 05队列已满时拒绝新请求,并提示用户稍后重试。
适用场景
- 在小型自建服务器上运行个人或团队使用的语音转文字机器人。
- 在不把音频交给第三方云服务的前提下,转写 Telegram 聊天中的语音消息。
- 在聊天界面背后试用不同的本地语音识别后端。
快速上手
- 1
构建所需的ASR后端并下载其模型
- 2
编辑 whisperbot.c,选择一个后端并设置其路径
- 3
通过 @BotFather 创建机器人,并将API密钥保存到 apikey.txt
- 4
编译并运行机器人
make ./whisperbot
使用前须知
- 后端和模型路径是硬编码的,需要修改源码并重新编译。
- 没有持久化:机器人重启后,排队中的请求会丢失。
- 需要单独安装ASR后端程序和模型以及ffmpeg,部署有一定门槛。
标签
常见问题
- whisperbot 是什么?
- 用 C 语言编写的 Telegram 机器人,可借助 whisper.cpp 或 qwen-asr 将语音消息转为文字。 Whisperbot 是一个 Telegram 机器人,用于转写语音消息。用户把语音发给机器人后,它会下载音频、用 ffmpeg 转为 WAV,再以外部进程方式调用所选的语音识别后端,并在文字生成过程中不断编辑回复消息,将转写结果流式返回。
- whisperbot 可以免费使用吗?用的什么许可证?
- whisperbot 没有声明许可证。代码虽然公开,但没有许可证就没有明确的使用授权,正式使用前建议先联系作者。
- whisperbot 还在维护吗?
- 超过半年未提交。whisperbot 最近一次提交是在 2026年2月12日。
- whisperbot 适合用来做什么?
- 在小型自建服务器上运行个人或团队使用的语音转文字机器人。 在不把音频交给第三方云服务的前提下,转写 Telegram 聊天中的语音消息。 在聊天界面背后试用不同的本地语音识别后端。
- whisperbot 怎么安装和运行?
- 构建所需的ASR后端并下载其模型 编辑 whisperbot.c,选择一个后端并设置其路径 通过 @BotFather 创建机器人,并将API密钥保存到 apikey.txt 编译并运行机器人: make ./whisperbot
- 在哪里获取 whisperbot?
- 源代码和安装说明在 GitHub 上:https://github.com/antirez/whisperbot
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
为 Claude Code 等支持 MCP 的智能体提供语音对话能力,可用云端或本地语音服务。
开源、本地优先的 AI 语音听写应用,基于 Whisper 在 macOS 和 Windows 上离线转写语音。
本地优先的开源 AI 语音工作室,支持克隆声音、生成语音、语音听写和为 AI 智能体提供语音输出。
OpenAI Whisper 语音识别模型的 C/C++ 移植版,可离线、无依赖地在 CPU 和 GPU 上运行语音转文字。
基于 CTranslate2 推理引擎重新实现的 Whisper 语音转文字库,速度更快、占用内存更少。