Skip to content

About

Real-time, fully local voice translator - speak one of 7 your call hears IT/EN/ES/FR/DE/PT/RU, optionally in your own cloned voice. No cloud.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Interprete

Real-time, fully local voice translator. You speak one of 7 languages — Italian, English, Spanish, French, German, Portuguese, Russian — and your Discord/Teams/Zoom call hears you in another, about one second later, in a synthetic voice or in your own cloned voice. Optionally, it also works the other way: what your colleagues say is translated into your language in your headphones 🎧.

No cloud. No subscription. No audio ever leaves your PC.

tests license

🇮🇹 Documentazione in italiano: README.it.md · guida completa di installazione e routing audio: docs/GUIDA-SETUP.md

How it works

mic ──▶ Silero VAD ──▶ faster-whisper ──▶ Opus-MT ──▶ Kokoro TTS ──▶ virtual mic ──▶ your call
        (segmenter)    (large-v3-turbo)   (CTranslate2)  (or Voicebox,           (VB-Cable /
                                                          your cloned voice)      Voicemeeter / GoXLR)

Everything runs locally: STT ≈ 60 ms, MT ≈ 20 ms, TTS ≈ 200 ms on a modern NVIDIA GPU — ≈ 300 ms of compute per sentence, plus the pause that closes a segment. The reverse direction (colleagues → your headphones) runs a second pipeline sharing the same Whisper instance.

Features

  • 7 languages, any direction (IT, EN, ES, FR, DE, PT, RU — every pair except DE↔RU) plus pass-through, with automatic model chaining (Russian goes through an English pivot)
  • Your own voice: optional integration with a locally-running Voicebox instance for voice cloning (bring your own — never bundled)
  • Incoming translation 🎧: a second pipeline translates what others say into your headphones, with on-screen subtitles
  • Simultaneous mode (experimental): starts speaking mid-sentence, clause by clause (LocalAgreement-2), instead of waiting for the pause
  • First-run wizard: detects your GPU, proposes a preset, picks audio devices with a live level meter, downloads models, runs a live test
  • Glossary (experimental): protected terms recognized better by Whisper and normalized before translation
  • UI in 7 languages (IT, EN, ES, FR, DE, PT, RU)
  • Hallucination defenses: mic gate, no-speech/logprob filters, anti-parroting glossary filter, echo stripping in streaming mode
  • Repeat-last-sentence hotkey, session stats, copyable bilingual history (saved to disk only on explicit request)

Requirements

Minimum
OS Windows 10/11 64-bit (macOS is on the roadmap — contributors wanted)
GPU NVIDIA, ≥ 4 GB VRAM (Base preset) or ≥ 6 GB (Standard). CPU-only works, with much higher latency
Python 3.11+ (developed on 3.13)
Disk ~6 GB (venv + models)
Audio a virtual audio device: VB-Cable (free), Voicemeeter or a GoXLR

VRAM budget: Base ≈ 1.5 GB (Whisper int8, MT/TTS on CPU, ~600 ms/sentence) · Standard ≈ 3.4 GB (all GPU fp16, ~300 ms/sentence). Measured on an RTX 5090; smaller GPUs are only marginally slower.

Quick start

# Windows
git clone https://github.com/spadieri/interprete
cd interprete
.\setup.ps1
.venv\Scripts\python -m interprete.app

macOS: not supported yet. The Apple Silicon groundwork (MLX Whisper backend, setup.sh, platform-aware hotkeys) ships in the tree but has never been validated on real hardware — see the Roadmap and CONTRIBUTING.md if you own a Mac and want to help.

On first run (no config.toml yet) the wizard walks you through language, preset, audio devices — including the routing pitfalls — model downloads and a live test. Manual configuration: copy config.example.toml to config.toml. Full audio-routing guide (Italian): docs/GUIDA-SETUP.md.

All downloads are integrity-checked: model files against pinned SHA-256 hashes, Hugging Face repos at pinned commit revisions.

Privacy & data

  • Nothing leaves your machine. STT, MT and TTS all run locally; the only network traffic is the initial, pinned model download. The optional Voicebox integration talks to 127.0.0.1 only.
  • The translation history stays in RAM and is written to disk only when you press Save.
  • The packaged build redirects console output to interprete.log next to the executable (overwritten at each start) — that log includes transcribed and translated text, so treat it like the conversation itself. Running from source, the same text is simply printed to your terminal.

Voice cloning: consent first

If you use Voicebox, clone your own voice or a voice whose owner gave you explicit permission. Depending on your jurisdiction (e.g. the EU AI Act), disclosing that your call audio is synthetic may be required or simply the decent thing to do. This project gives you the tool; the responsibility is yours.

Project conventions

  • Code, comments and commit messages are in English; issues and PRs are welcome in English or Italian. The UI speaks 7 languages.
  • UI translations for EN/ES/FR/DE/PT/RU were AI-generated and human-reviewed; native-speaker fixes are very welcome.
  • 330+ tests run without GPU, audio hardware or network: python -m pytest -q.

See CONTRIBUTING.md before opening a PR.

Roadmap

  1. Speaker diarization for the incoming direction: recognize the different speakers in the call and label them in subtitles and history.
  2. Graduate the experimental features: harden the simultaneous mode and the glossary until they can drop the (experimental) tag.
  3. macOS port: the Apple Silicon groundwork (MLX Whisper backend, setup.sh, platform-aware hotkeys) is already in the tree but has never run on real hardware — macOS owners are warmly invited to contribute, see CONTRIBUTING.md.

License

Apache-2.0 for this repository (see LICENSE).

Heads-up on dependencies: the default TTS chain pulls in espeak-ng / phonemizer-fork (GPL-3.0) at install time. Using the app is unaffected; redistributing a bundled build has GPL obligations — read THIRD_PARTY_NOTICES.md before shipping binaries.

Translation models: © Helsinki-NLP / OPUS-MT (classic models Apache-2.0, tc-* models CC-BY 4.0 — Tiedemann & Thottingal, EAMT 2020). Speech models: Whisper (MIT, © OpenAI), Silero VAD (MIT), Kokoro-82M (Apache-2.0, © hexgrad). Thanks to all of them: this project is plumbing between their brilliance.

About

Real-time, fully local voice translator - speak one of 7 your call hears IT/EN/ES/FR/DE/PT/RU, optionally in your own cloned voice. No cloud.

Resources

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages