stt
stt 是一款专为隐私保护和离线场景设计的本地语音识别工具。它能将视频或音频文件中的人声精准转换为文字,并支持导出为纯文本、带时间轴的 SRT 字幕以及结构化 JSON 格式。
这款工具主要解决了用户在使用云端语音服务时面临的数据隐私泄露风险、网络依赖以及高昂接口费用等痛点。通过内置基于 fast-whisper 的开源模型,stt 实现了完全本地化运行,无需联网即可处理任务,其识别准确率可媲美 OpenAI 官方 API,同时支持中文、英语、日语等十余种语言。
stt 非常适合注重数据安全的普通用户、需要批量制作字幕的视频创作者,以及希望私有化部署语音能力的开发者。对于开发者而言,它还提供了兼容 OpenAI 标准的 API 接口,可无缝替换现有代码中的云端调用;同时支持 NVIDIA GPU CUDA 加速,在具备独立显卡的设备上能显著提升转录速度。无论是简单的日常录音整理,还是复杂的影视字幕制作,stt 都能提供高效、自由且低成本的解决方案。
使用场景
某独立纪录片创作者正在整理长达 10 小时的田野调查采访录音,需要将其转化为带时间轴的字幕文件以便后期剪辑和归档。
没有 stt 时
- 成本高昂且受限:依赖 OpenAI 或百度等在线 API,处理大量音频需支付昂贵费用,且必须联网,一旦网络波动任务即中断。
- 隐私泄露风险:敏感的采访内容需上传至第三方服务器,存在数据外泄隐患,不符合保密项目要求。
- 工作流割裂:在线工具通常仅返回纯文本,缺乏精准的时间戳,后期手动对齐字幕到视频画面耗时耗力。
- 硬件资源闲置:本地高性能显卡(如 NVIDIA GPU)无法被利用,只能被动等待云端排队处理。
使用 stt 后
- 零成本离线运行:stt 基于 fast-whisper 模型在本地离线运行,无需联网即可无限次处理音频,彻底免除 API 调用费用。
- 数据绝对安全:所有语音识别过程均在本地完成,原始录音不出本机,完美保障敏感素材的隐私安全。
- 格式灵活高效:stt 直接输出带精确时间戳的 SRT 字幕或结构化 JSON 数据,识别结果可无缝导入剪辑软件,大幅缩短后期周期。
- 算力充分释放:自动检测并调用本地 NVIDIA GPU 进行 CUDA 加速,将原本数小时的处理时间压缩至分钟级。
stt 通过本地化部署与 GPU 加速,为创作者提供了一个免费、安全且高效的语音转文字解决方案,彻底摆脱了对云端服务的依赖。
运行环境要求
- Windows
- Linux
- macOS
- 非必需
- 若需加速需 NVIDIA 显卡并配置 CUDA 环境(支持 CUDA 12.1 等)
- 使用 large-v3 模型建议显存 8GB 以上,显存不足 8GB 时避免使用该模型以防崩溃
未说明(但提示无 GPU 或使用大模型可能导致内存耗尽)

快速开始
中文简体 | English
语音识别转文字工具
这是一个离线运行的本地语音识别转文字工具,基于 fast-whipser 开源模型,可将视频/音频中的人类声音识别并转为文字,可输出json格式、srt字幕带时间戳格式、纯文字格式。可用于自行部署后替代 openai 的语音识别接口或百度语音识别等,准确率基本等同openai官方api接口。
fast-whisper 开源模型有 tiny/base/small/medium/large-v3, 内置 tiny 模型,tiny->large-v3识别效果越来越好,但所需计算机资源也更多,根据需要可自行下载后解压到 models 目录下即可。
视频演示
https://github.com/jianchang512/stt/assets/3378335/d716acb6-c20c-4174-9620-f574a7ff095d

预编译Win版使用方法/Linux和Mac源码部署
点击此处打开Releases页面下载预编译文件
下载后解压到某处,比如 E:/stt
双击 start.exe ,等待自动打开浏览器窗口即可
点击页面中的上传区域,在弹窗中找到想识别的音频或视频文件,或直接拖拽音频视频文件到上传区域,然后选择发生语言、文本输出格式、所用模型,点击“立即开始识别”,稍等片刻,底部文本框中会以所选格式显示识别结果
如果机器拥有英伟达GPU,并正确配置了CUDA环境,将自动使用CUDA加速
源码部署(Linux/Mac/Window)
要求 python 3.9->3.11
创建空目录,比如 E:/stt, 在这个目录下打开 cmd 窗口,方法是地址栏中输入
cmd, 然后回车。使用git拉取源码到当前目录
git clone git@github.com:jianchang512/stt.git .创建虚拟环境
python -m venv venv激活环境,win下命令
%cd%/venv/scripts/activate,linux和Mac下命令source ./venv/bin/activate安装依赖:
pip install -r requirements.txt,如果报版本冲突错误,请执行pip install -r requirements.txt --no-deps,如果希望支持cuda加速,继续执行代码pip uninstall -y torch,pip install torch --index-url https://download.pytorch.org/whl/cu121win下解压 ffmpeg.7z,将其中的
ffmpeg.exe和ffprobe.exe放在项目目录下, linux和mac 自行搜索 如何安装ffmpeg下载模型压缩包,根据需要下载模型,下载后将压缩包里的文件夹放到项目根目录的 models 文件夹内
执行
python start.py,等待自动打开本地浏览器窗口。
Api接口
接口地址: http://127.0.0.1:9977/api
请求方法: POST
请求参数:
language: 语言代码:可选如下
>
> 中文:zh
> 英语:en
> 法语:fr
> 德语:de
> 日语:ja
> 韩语:ko
> 俄语:ru
> 西班牙语:es
> 泰国语:th
> 意大利语:it
> 葡萄牙语:pt
> 越南语:vi
> 阿拉伯语:ar
> 土耳其语:tr
>
model: 模型名称,可选如下
>
> base 对应于 models/models--Systran--faster-whisper-base
> small 对应于 models/models--Systran--faster-whisper-small
> medium 对应于 models/models--Systran--faster-whisper-medium
> large-v3 对应于 models/models--Systran--faster-whisper-large-v3
>
response_format: 返回的字幕格式,可选 text|json|srt
file: 音视频文件,二进制上传
Api 请求示例
import requests
# 请求地址
url = "http://127.0.0.1:9977/api"
# 请求参数 file:音视频文件,language:语言代码,model:模型,response_format:text|json|srt
# 返回 code==0 成功,其他失败,msg==成功为ok,其他失败原因,data=识别后返回文字
files = {"file": open("C:/Users/c1/Videos/2.wav", "rb")}
data={"language":"zh","model":"base","response_format":"json"}
response = requests.request("POST", url, timeout=600, data=data,files=files)
print(response.json())
兼容 openai 语音转文字接口
示例代码
# openai兼容格式
from openai import OpenAI
client = OpenAI(api_key='123',base_url='http://127.0.0.1:9977/v1')
audio_file= open("/users/c1/videos/60.wav", "rb")
transcription = client.audio.transcriptions.create(
model="tiny",
file=audio_file,
response_format="text" # 支持 text 、srt 格式,json格式会返回srt字幕解析后的json数据
)
print(transcription.text)
CUDA 加速支持
安装CUDA工具 详细安装方法
如果你的电脑拥有 Nvidia 显卡,先升级显卡驱动到最新,然后去安装对应的 CUDA Toolkit 和 cudnn for CUDA11.X。
安装完成成,按Win + R,输入 cmd然后回车,在弹出的窗口中输入nvcc --version,确认有版本信息显示,类似该图

然后继续输入nvidia-smi,确认有输出信息,并且能看到cuda版本号,类似该图

然后执行 `python testcuda.py`,如果提示成功,说明安装正确,否则请仔细检查重新安装
默认使用 cpu 运算,如果确定使用英伟达显卡,并且配置好了cuda环境,请修改 set.ini 中 `devtype=cpu`为 `devtype=cuda`,并重新启动,可使用cuda加速
注意事项
如果没有英伟达显卡或未配置好CUDA环境,不要使用 large/large-v3 模型,可能导致内存耗尽死机
中文在某些情况下会输出繁体字
有时会遇到“cublasxx.dll不存在”的错误,此时需要下载 cuBLAS,然后将dll文件复制到系统目录下,点击下载 cuBLAS,解压后将里面的dll文件复制到 C:/Windows/System32下
如果控制台出现"[W:onnxruntime:Default, onnxruntime_pybind_state.cc:1983 onnxruntime::python::CreateInferencePybindStateModule] Init provider bridge failed.", 可忽略,不影响使用
默认使用 cpu 运算,如果确定使用英伟达显卡,并且配置好了cuda环境,请修改 set.ini 中
devtype=cpu为devtype=cuda,并重新启动,可使用cuda加速尚未执行完毕就闪退
如果启用了cuda并且电脑已安装好了cuda环境,但没有手动安装配置过cudnn,那么会出现该问题,去安装和cuda匹配的cudnn。比如你安装了cuda12.3,那么就需要下载cudnn for cuda12.x压缩包,然后解压后里面的3个文件夹复制到cuda安装目录下。具体教程参考 https://juejin.cn/post/7318704408727519270
如果cudnn按照教程安装好了仍闪退,那么极大概率是GPU显存不足,可以改为使用 medium模型,显存不足8G时,尽量避免使用largev-3模型,尤其是视频大于20M时,否则可能显存不足而崩溃
相关联项目
人声背景乐分离:极简的人声和背景音乐分离工具,本地化网页操作
致谢
本项目主要依赖的其他项目
版本历史
202508052025/08/05v0.942024/09/23v0.932024/02/19v0.912024/01/26v0.0.62024/01/12v0.0.12023/12/280.02023/12/28常见问题
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
GPT-SoVITS
GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。 该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。 在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。
TTS
🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。
LocalAI
LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获
bark
Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。
ChatTTS
ChatTTS 是一款专为日常对话场景打造的生成式语音模型,特别适用于大语言模型助手等交互式应用。它主要解决了传统文本转语音(TTS)技术在对话中缺乏自然感、情感表达单一以及难以处理停顿、笑声等细微语气的问题,让机器生成的语音听起来更像真人在聊天。 这款工具非常适合开发者、研究人员以及希望为应用增添自然语音交互功能的设计师使用。普通用户也可以通过社区开发的衍生产品体验其能力。ChatTTS 的核心亮点在于其对对话任务的深度优化:它不仅支持中英文双语,还能精准控制韵律细节,自动生成自然的 laughter(笑声)、pauses(停顿)和 interjections(插入语),从而实现多说话人的互动对话效果。在韵律表现上,ChatTTS 超越了大多数开源 TTS 模型。目前开源版本基于 4 万小时数据预训练而成,虽主要用于学术研究与教育目的,但已展现出强大的潜力,并支持流式音频生成与零样本推理,为后续的多情绪控制等进阶功能奠定了基础。