Capture system audio. Translate in real-time. Hear what you understand.
Features · Getting Started · Use Cases · Architecture · 中文
Can't follow a Japanese livestream? Struggling in a multilingual meeting? TransEcho captures your Mac's system audio and translates it in real-time — subtitles + voice, zero-delay.
- System Audio Capture — Uses ScreenCaptureKit to capture audio from any app. No virtual audio driver needed.
- Real-time Translation — Powered by Doubao Simultaneous Interpretation 2.0 LLM with ultra-low latency.
- Voice Interpretation — TTS playback of translations for a true simultaneous interpretation experience.
- 8 Languages — Chinese, English, Japanese, German, French, Spanish, Portuguese, Indonesian.
- Native Performance — Rust backend + Svelte frontend. Minimal memory footprint.
- Free to Start — New API users get 1M free tokens.
| Scenario | Description |
|---|---|
| Foreign Livestreams | YouTube / Twitch / Japanese streams with real-time subtitles |
| Remote Meetings | Zoom / Teams / Google Meet — cross-language simultaneous interpretation |
| Language Learning | Listen to foreign podcasts/videos with side-by-side translation |
| Raw Video | Watch untranslated shows and movies with live translation |
- macOS 14.0+
- Node.js 18+
- Rust 1.70+
- Volcengine AST API Key (apply here)
git clone https://github.com/wxkingstar/TransEcho.git
cd TransEcho
npm install
npm run tauri devOn first launch, enter your API Key in the settings panel.
You'll need to grant Screen Recording permission: System Settings → Privacy & Security → Screen Recording.
Frontend (Svelte 5) Backend (Rust / Tokio)
┌───────────────────┐ IPC ┌─────────────────────────┐
│ Real-time subs UI │◄───────────────►│ Session orchestration │
└───────────────────┘ Channel ├─────────────────────────┤
│ ScreenCaptureKit audio │
│ Rubato resample 48→16k │
│ Rodio TTS playback │
│ WebSocket + Protobuf │
└──────────┬──────────────┘
│ wss://
┌───────────────────────┐
│ Doubao AST 2.0 API │
└───────────────────────┘
| Layer | Technology |
|---|---|
| Desktop | Tauri 2.x |
| Frontend | Svelte 5 + SvelteKit |
| Backend | Rust + Tokio |
| Audio Capture | ScreenCaptureKit |
| Resampling | Rubato |
| TTS Playback | Rodio |
| Protocol | WebSocket + Protobuf |
| Translation | Doubao AST 2.0 |
Issues and PRs are welcome!