本地离线语音转文字桌面工具
声文通 (swt)
本地离线语音转文字桌面工具 —— 安全、快速、不上传任何数据
声文通是一款完全离线运行的语音转文字桌面应用,基于 FunASR 语音识别框架。所有音频数据在本地处理,无需联网,无需上传至任何服务器。
功能特性
| 功能 | 说明 |
|---|---|
| 文件转写 | 导入音频 (MP3 / WAV / FLAC / ……) 或视频 (MP4 / MKV / ……) 文件,自动提取音频并输出文本 |
| 麦克风录音 | 实时录制并转写,支持 VAD 自动分段 |
| 批量处理 | 多文件串行转写,稳定可靠 |
| 多模型支持 | 内置 6 种 ASR 模型,一键下载切换,CPU / GPU 均可推理 |
| 多语言 | 支持中文、英文、日语、韩语、粤语等多种语言 |
| 结果导出 | 支持 TXT / JSON / SRT 三种格式,可直接用于字幕 |
| 说话人分离 | 实验性支持多人对话识别(基于 CAM++) |
内置模型
| 模型 | 大小 | GPU 建议 | CPU | 说明 |
|---|---|---|---|---|
| Qwen3-ASR (0.6B) | ~1.8 GB | 2GB+ | 流畅 | 轻量多语言,适合入门 |
| Qwen3-ASR (1.7B) | ~3.5 GB | 6GB+ | 可运行但慢 | 高精度中文识别,内置标点 |
| SenseVoiceSmall | ~0.5 GB | 无要求 | 流畅 | 超轻量,多语言+情感/事件检测 |
| Whisper-large-v3 | ~3.1 GB | 8GB+ | 不建议 | OpenAI 旗舰多语言模型 |
| faster-whisper-tiny | ~0.2 GB | 无要求 | 流畅 | CTranslate2 加速,极致轻量 |
| Fun-ASR-Nano | ~1.0 GB | 2GB+ | 可运行 | FunAudioLLM 轻量 ASR,中文优化 |
系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 / Windows 11 |
| 运行时 | Python 3.10+ |
| 硬件 | CPU 即可运行,支持 NVIDIA GPU 加速 (CUDA 12.1+) |
| 存储 | 模型约 0.2–3.5 GB / 个,建议预留 10 GB 磁盘空间 |
| 依赖 | ffmpeg(视频文件转写必需,纯音频可不安装) |
快速开始
1. 克隆并进入项目
git clone https://gitee.com/ydtg1993/swt.gitcd swt```
### 2\. 创建虚拟环境并安装依赖
```bash
python -m venv .venv.venv\Scripts\activate
pip install -r requirements.txt```
### 3\. 下载模型
首次运行需要下载至少一个 ASR 模型。启动应用后,进入 **设置** → **模型下载管理**,选择需要的模型下载。
模型将保存在 `llm/` 目录下。
### 4\. 启动应用
```bash
python main.py```
> **注意**:转写视频文件需要安装 [ffmpeg](https://ffmpeg.org/download.html) 并将其添加到系统 PATH。
---
## 项目结构
swt/
├── main.py # 应用入口
├── requirements.txt # Python 依赖
├── LICENSE # MIT 许可证
├── config/ # 配置 (YAML + Pydantic Settings)├── core/ # 核心引擎 (ASR, VAD, 字幕生成)
├── models/ # 数据模型 (SQLAlchemy)├── ui/ # GUI 层 (PySide6 + QFluentWidgets)│ ├── pages/ # 页面组件
│ └── widgets/ # 可复用组件
├── workers/ # 后台工作线程 (QRunnable)├── utils/ # 工具函数
├── llm/ # 模型存储目录
├── resources/ # 图标、图片
├── scripts/ # 模型下载辅助脚本
├── tests/ # 测试
└── logs/ # 日志
---
## 技术栈
| 类别 | 技术 |
|------|------|
| GUI | PySide6 + QFluentWidgets |
| ASR 引擎 | FunASR (Qwen3-ASR, SenseVoiceSmall, FSMN-VAD) |
| 数据库 | SQLite + SQLAlchemy 2.x |
| 配置 | YAML + QSettings |
| 日志 | loguru |
| 任务系统 | QThreadPool + QRunnable + Signal |
| 文件处理 | pathlib |
| 打包 | PyInstaller |
---
## 开发
```bash
# 安装依赖
pip install -r requirements.txt
# 运行应用
python main.py
# 运行测试
pytest tests/ -v
# 打包为可执行文件
pyinstaller main.spec
第三方许可
| 项目 | 许可证 |
|---|---|
| FunASR | MIT |
| Qwen3-ASR | Apache 2.0 |
| SenseVoice | Apache 2.0 |
| faster-whisper | MIT |
| PySide6 | LGPL |
| QFluentWidgets | GPL / Commercial |
| ffmpeg | LGPL / GPL |
| ModelScope | Apache 2.0 |
许可证
声文通 (swt) 采用 MIT License 开源发布。
Copyright © 2026 声文通 (swt)
特此授权,任何获得本软件及相关文档文件副本的人,可无限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利。
项目地址
- Gitee: gitee.com/ydtg1993/swt
Made with ❤️ by ydtg1993
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu