SWT (声文通)
SWT is a fully offline speech-to-text desktop application built on the FunASR speech recognition framework. All audio data is processed locally — no internet connection required, and nothing is uploaded to any server.
Download
Preview
Features
| Feature | Description |
|---|---|
| File Transcription | Import audio (MP3 / WAV / FLAC / …) or video (MP4 / MKV / …) files, auto-extract audio and output text |
| Batch Processing | Multi-file sequential transcription, stable and reliable |
| Multi-Model Support | 6 built-in ASR models, one-click download & switch, CPU/GPU inference supported |
| Multilingual | Supports Chinese, English, Japanese, Korean, Cantonese, and more |
| Result Export | Export to TXT / JSON / SRT formats, ready for subtitles |
| Speaker Diarization | Experimental multi-speaker recognition (based on CAM++) |
| VAD Voice Activity Detection | FSMN-VAD intelligent long audio segmentation, adjustable silence threshold and segment length |
| Speech Enhancement | AI denoising (FRCRN / DFSMN), echo cancellation (DFSMN-AEC), speech separation (MossFormer) |
| Post-Processing | CT-Transformer punctuation restoration, LLM AI correction of typos and grammar issues |
Built-in Models
| Model | Size | GPU Recommended | CPU | Description |
|---|---|---|---|---|
| Qwen3-ASR (0.6B) | ~1.8 GB | 2GB+ | Smooth | Lightweight multilingual, entry-level |
| Qwen3-ASR (1.7B) | ~3.5 GB | 6GB+ | Runs but slow | High-accuracy Chinese recognition, built-in punctuation |
| SenseVoiceSmall | ~0.5 GB | Not required | Smooth | Ultra-lightweight, multilingual + emotion/event detection |
| Whisper-large-v3 | ~3.1 GB | 8GB+ | Not recommended | OpenAI flagship multilingual model |
| faster-whisper-tiny | ~0.2 GB | Not required | Smooth | CTranslate2 accelerated, extremely lightweight |
| Fun-ASR-Nano | ~1.0 GB | 2GB+ | Runnable | FunAudioLLM lightweight ASR, Chinese optimized |
System Requirements
| Item | Requirement |
|---|---|
| OS | Windows 10 / Windows 11 |
| Runtime | Python 3.10+ |
| Hardware | CPU-capable; NVIDIA GPU acceleration supported (CUDA 12.1+) |
| Storage | ~0.2–3.5 GB per model; 10 GB free disk space recommended |
| Dependencies | ffmpeg (required for video transcription; optional for audio-only) |
Quick Start
1. Clone and Enter Project
git clone https://gitee.com/ydtg1993/swt.git
cd swt
2. Create Virtual Environment and Install Dependencies
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
3. Download Models
At least one ASR model must be downloaded on first run. After launching the application, go to Settings → Model Download Manager and select the desired models to download.
Models will be saved in the llm/ directory.
4. Launch Application
python main.py
Note: Transcribing video files requires installing ffmpeg and adding it to your system PATH.
Project Structure
swt/
├── main.py # Application entry point
├── requirements.txt # Python dependencies
├── LICENSE # MIT License
├── config/ # Configuration (YAML + Pydantic Settings)
├── core/ # Core engine (ASR, VAD, subtitle generation)
├── models/ # Data models (SQLAlchemy)
├── ui/ # GUI layer (PySide6 + QFluentWidgets)
│ ├── pages/ # Page components
│ └── widgets/ # Reusable components
├── workers/ # Background worker threads (QRunnable)
├── utils/ # Utility functions
├── llm/ # Model storage directory
├── resources/ # Icons, images
├── scripts/ # Model download helper scripts
├── tests/ # Tests
└── logs/ # Logs
Tech Stack
| Category | Technology |
|---|---|
| GUI | PySide6 + QFluentWidgets |
| ASR Engine | FunASR (Qwen3-ASR, SenseVoiceSmall, FSMN-VAD) |
| Database | SQLite + SQLAlchemy 2.x |
| Configuration | YAML + QSettings |
| Logging | loguru |
| Task System | QThreadPool + QRunnable + Signal |
| File Handling | pathlib |
| Packaging | PyInstaller |
Development
# Install dependencies
pip install -r requirements.txt
# Run application
python main.py
# Run tests
pytest tests/ -v
# Package as executable
pyinstaller main.spec
Third-Party Licenses
| Project | License |
|---|---|
| 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 |
License
SWT (声文通) is open-sourced under the MIT License.
Copyright © 2026 SWT (声文通)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files, to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software.
Project Links
Made with ❤️ by ydtg1993


Top comments (0)