Faut-il créer votre propre ekto ?
Traduction vocale en temps réel : parlez dans une langue et écoutez l'autre interlocuteur traduit presque en temps réel.
La chaîne de traitement n'a plus rien d'exotique : capturer l'audio du micro, le segmenter avec un détecteur d'activité vocale, le transcrire avec Whisper, le traduire, puis le restituer avec une voix TTS locale. Un agent peut assembler cela en une application locale fonctionnelle en un week-end, et elle traduira réellement une conversation. Ce qu'elle ne fera pas d'emblée, c'est rester fluide pendant une heure : les frontières entre segments coupent des mots, les tours de parole se mélangent, la latence augmente à mesure que le tampon grossit, et le rythme phrase par phrase qui rend ces applications utilisables en conversation réelle relève du réglage, pas du code. Vous n'avez pas non plus d'application pour téléphone, alors que c'est là que la traduction vocale est réellement utilisée. Très bien pour un poste de travail et la préparation d'un voyage, peu convaincant lorsque vous tendez l'appareil à un inconnu sur un marché.
EN → FRAnalyse traduite automatiquement de l’anglais. Prompt original conservé en anglais.
Build a local real-time voice translation app. No accounts, no cloud services, no telemetry.
Stack, non-negotiable:
- Python 3.11 + FastAPI, served with uvicorn on port 8000.
- One HTML page with vanilla JS, no framework, no build step.
- Audio in: browser getUserMedia, 16kHz mono, streamed to the server over a WebSocket in 250ms PCM chunks.
- Speech to text: faster-whisper (small model default, configurable via .env).
- Segmentation: silero-vad or webrtcvad to detect end of utterance. Do not translate on fixed timers, translate on detected utterance boundaries.
- Translation: argostranslate with locally installed language pairs.
- Text to speech: piper, one voice per target language, downloaded on first run into ./models.
Behavior:
- User picks source and target language in a dropdown before starting.
- Press Start, speak, and on each detected utterance the server returns: original text, translated text, and a WAV of the translated speech. The page appends both lines to a running transcript and plays the audio.
- Show live latency per utterance in ms in the corner. Be honest, measure end of speech to audio ready.
- Handle overlap: if a new utterance arrives while audio is playing, queue it, never drop it.
- Long session hygiene: cap the in-memory transcript at 500 lines, reset the whisper buffer after every utterance, log RSS every 60 seconds.
Out of scope, do not build: mobile app, user accounts, cloud sync, speaker diarization, a two-phone conversation mode.
Deliverables: main.py, static/index.html, static/app.js, requirements.txt, .env.example (WHISPER_MODEL, DEVICE, COMPUTE_TYPE), scripts/download_models.py, and a README with exact run steps plus one paragraph on where this degrades in sessions over 20 minutes.
Run it, speak a test sentence in English with Spanish as target, and paste the measured latency into the README.Le prompt s’ouvre prérempli dans votre agent. Relisez-le avant de l’exécuter. · ce prompt est généré à partir du plan de construction · améliorez-le via une PR
Comment créer votre propre version ?
Transmettre l'audio du micro en continu via un WebSocket vers une chaîne locale Whisper, traduction et TTS, puis lire la parole traduite avec une transcription au fil de l'eau.
Ce dont vous aurez besoin
- Python 3.11 et une machine avec au moins 8GB de RAM, GPU fortement recommandé
- Téléchargement de modèles locaux : faster-whisper et une voix Piper par langue cible
- Un navigateur autorisé à utiliser le micro, ou une clé API si vous optez pour un modèle de traduction hébergé
- Un casque, sinon la sortie TTS est recaptée par le micro
Parce qu'une traduction vocale se juge entièrement sur les secondes entre la fin d'une phrase et le moment où vous l'entendez, et sur le fait qu'elle fonctionne encore à la minute 40. Une application locale réussit la démonstration, puis se dégrade : interruptions, bruit de fond, deux personnes qui parlent en même temps, téléphone qui se verrouille. Payer vous donne un téléphone dans la poche capable de gérer ces situations sans que vous ajoutiez des seuils VAD en pleine conversation.
xFiabilité des longues sessions : croissance de la mémoire, dérive de la segmentation et tours de parole perdus après les premières 20 minutes
xUn rythme phrase par phrase et une détection des tours de parole précis, qui font l'essentiel de la qualité perçue
xUne application mobile, donc pas de traduction en restant debout
xUn comportement hors ligne ou à faible débit adapté aux vrais voyages
xDes budgets de latence pour lesquels quelqu'un d'autre s'est déjà battu : diffuser des résultats partiels au lieu d'attendre un segment complet
Rien qui mérite d’être cité. C’est pour cela que le prompt existe.
Combien coûte ekto ?
- Facturation mensuelle
- 34,99 $US/mois34,99 $US/mois
- Par an
- 420 $US/an420 $US/an
- Avec une carte brésilienne, IOF de 3,5% inclus
- 183 R$/mois2 194 R$/an
Enregistré dans Ma liste. Un avis s’affichera ici si le prix change.
Vous finalisez l’achat sur le site de ekto. Vibe Radar ne gère aucun paiement.
Construire ou s’abonner à ekto ?
Ajustez les chiffres : heures de développement, taux horaire, coûts d’exploitation et prix de l’abonnement.
Sur 24 mois, l’abonnement coûte moins cher.
Heures estimées d’après l’analyse (un week-end). Ne chiffre pas ce que vous perdez (support, intégrations, sécurité).
Puis-je recréer ekto ?
En partie. Le cœur de ekto se construit en un week-end avec le prompt de cette page, mais il reste de vraies lacunes : Fiabilité des longues sessions : croissance de la mémoire, dérive de la segmentation et tours de parole perdus après les premières 20 minutes, Un rythme phrase par phrase et une détection des tours de parole précis, qui font l'essentiel de la qualité perçue. Lisez la liste ci-dessus avant de vous lancer.
Combien coûte ekto ?
ekto coûte environ 34,99 $US/mois (Monthly, vérifié le 20/10/2026), soit 420 $US par an.
Que perd-on en remplaçant ekto ?
Honnêtement : Fiabilité des longues sessions : croissance de la mémoire, dérive de la segmentation et tours de parole perdus après les premières 20 minutes; Un rythme phrase par phrase et une détection des tours de parole précis, qui font l'essentiel de la qualité perçue; Une application mobile, donc pas de traduction en restant debout; Un comportement hors ligne ou à faible débit adapté aux vrais voyages; Des budgets de latence pour lesquels quelqu'un d'autre s'est déjà battu : diffuser des résultats partiels au lieu d'attendre un segment complet. Si l’un de ces points compte pour vous, continuez à payer.
Existe-t-il une alternative open source à ekto ?
Aucune alternative open source mature à recommander, et c’est précisément pour cela que le prompt de cette page existe.