Skip to content

Latest commit

 

History

History
106 lines (81 loc) · 4.34 KB

File metadata and controls

106 lines (81 loc) · 4.34 KB

TransEcho - Real-time Simultaneous Interpretation for macOS

TransEcho Logo

Capture system audio. Translate in real-time. Hear what you understand.

Features · Getting Started · Use Cases · Architecture · 中文

Platform Tauri Stack


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.

Features

  • 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.

Use Cases

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

Getting Started

Prerequisites

Install & Run

git clone https://github.com/wxkingstar/TransEcho.git
cd TransEcho
npm install
npm run tauri dev

On first launch, enter your API Key in the settings panel.

You'll need to grant Screen Recording permission: System Settings → Privacy & Security → Screen Recording.

Architecture

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    │
                                       └───────────────────────┘

Tech Stack

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

Contributing

Issues and PRs are welcome!

License

MIT