📝 Note
pro/translatert/journal
translaterttaurilivekitopenai-realtimeaudiotranscriptdebounce
Journal — TranslateRT
Sessions de travail · ordre antéchronologique Liens : Architecture · Decisions · TODO
2026-06-01 — Debug transcript + audio + display
✅ Fait
- Son métallique confirmé résolu (
webAudioMix: falsedéjà en place) - Identifié cause duplication transcript :
gpt-realtime-translateenvoie des deltas cumulatifs (pas incrémentaux malgré la doc officielle) → backend utilisait+=→ concaténation de tous les états intermédiaires - Fix backend
translate-stream.ts:+=→=(assign le dernier delta = texte complet courant) — commit4732c0e - Fix
DisplayView.tsx: suppression accumulationprevText + event.text, remplacement directsegmentText(event.text)— commit0a0723e - Fix
EventListener.tsx: debounce 400ms viauseReftimer — commit0a0723e+2a75e8e - Fix
DisplayView.tsx: debounce 200ms par langue (Map de timers useRef) — commit2a75e8e - Fix
distribution.ts:SILENCE_THRESHOLD_MS60→20ms pour réduire coupures audio — commit0a0723e - Debug SSH Mac mini (10.130.26.13) : vérifié bundle deployed, timestamps, grep
=vs+= - Identifié que Caddy sert le frontend depuis le
.appTauri (Resources/frontend), pasfrontend/out/ - Identifié build chain :
pnpm build→ncc bundle→build tauri→.app/Contents/Resources/backend/index.js - Voir aussi : Decisions · Architecture
⚠️ Points d’attention
session.output_transcript.done/session.input_transcript.done: se déclenche trop fréquemment (par mot) → abandon de l’approche done-based, utilisation du debounce à la place- Coupures audio :
SILENCE_THRESHOLD_MSréduit mais non testé en conditions réelles Dante - WS LiveKit (
wss://10.134.53.0:8443/livekit/rtc/v1) : erreur de connexion côté client — non résolu (piste :SEC_LAN_IPnon défini dans env Tauri ?) - Mac mini sans
git pullautomatique : rebuild manuel requis à chaque commit
➡️ Prochain
- Rebuild + test Mac mini avec
2a75e8e - Tester transcription + display en conditions réelles (Dante actif)
2026-06-01 — Fix espaces parasites transcription
✅ Fait
- Identifié bug : backend émettait
e.delta(token partiel OpenAI) → frontend accumulait avec" "fixe → espaces dans les mots - Fix
pipeline.tsL251+L287 :text: e.delta→text: e.full - Fix
EventListener.tsx:setSegments(segmentText(event.text))direct, plus d’accumulation manuelle - Commit
2d77690pushétauri/mac-mini· Voir Decisions
➡️ Prochain
- Pull + rebuild Mac mini :
git pull origin tauri/mac-mini - Tester en conditions réelles Dante actif
2026-06-01 — Debug son métallique + test Tauri
✅ Fait
- Diagnostic :
webAudioMix: true+audioTrack.attach()= double lecture → comb filter → son métallique - Fix déjà en place commit
1848e0d(webAudioMix: false) · Voir Decisions - Debug SSH Mac mini (10.130.26.13) — deux répertoires :
/Applications/TranslateRT(ancien9a0d4e6) — service launchd arrêté/Applications/TranslateRT-app/Millennium-Live-Translate(à jour1848e0d) — Tauri app lancée
- Fix
webAudioMix: falseconfirmé dans bundle JS produit (webAudioMix:!1) - DVS device
[2]= Dante Virtual Soundcard — index correct
⚠️ Points d’attention
ttfMs: 97365: ffmpeg bloque 97s sans source Dante active (normal sans Dante)code: 255sur audio capture : ffmpeg SIGKILL pendant pipeline stop — zombie subprocessaudioOutChunks: 0: pipeline stoppé trop tôt lors du test- Flood
/admin/pipeline/stopdans logs → UI bug ou réseau instable
2026-06-01 — Initialisation vault
Vault initialisé. Pipeline bout-en-bout fonctionnel sur Mac mini. Traduction FR → EN/DE/IT/ES opérationnelle. Appliance Mac mini validée sur site.