- 2026-07-13 🖼️ Unified UI style system –
StyleManagernow manages fonts, colors, and widget styles across the main UI, control panel, and dialogs, with 14 preset themes. - 2026-07-13 🔧 Control panel refactor – Improved
QTabBarstyle alignment,WA_TranslucentBackgroundtransparency handling, andFusionstyle integration to ensure stylesheet consistency. - 2026-07-11 📦 Duplex package refactor – Centralized configuration with
Pydantic, migratedsettings.jsonto a nested structure, and completed migration from Windows code to Linux/Arch. - 2026-07-11 📥 Automatic changelog system – Dynamically fetches release history from GitHub Releases, removing the local
CHANGELOGdependency. - 2026-07-10 🔊 Groq Whisper ASR – Added
Groq Whisper APIusingwhisper-large-v3, eliminating the need for local ASR models. - 2026-07-09 🌐 Remote Whisper engine – Added
WebSocketbridge to remote Whisper servers with support for private deployment. - 2026-07-08 🔧 ASR subprocess architecture – Moved ASR model loading into an independent
subprocessto reduce main process memory usage; workers automatically restart after crashes. - 2026-07-08 📦 Model proxy support – Unified proxy handling for
Silero,ModelScope, andHuggingFacemodel downloads. - 2026-07-07 🎯 SenseVoice optimization – Added
fp16CUDA acceleration and optimized VAD inference withinference_mode. - 2026-07-06 💾 Local faster-whisper support – Added local
GGUF/CTranslate2model loading with automatic cache layout detection. - 2026-07-05 🧹 Translation context optimization – Fixed context management and improved model cache decision logic.
- 2026-07-04 🎨 Transcription persistence – Added translation history persistence with memory protection and
MEMdiagnostic logging. - 2026-07-03 📝 Text export feature – Added export support for original text, translated text, or all transcripts to
.txtfiles via tray menu and overlay menu. - 2026-07-02 🎭 Anime-Whisper integration – Integrated
litagin/anime-whisperfor Japanese anime / galgame speech recognition. - 2026-07-01 🔀 Dual-pipeline threading – Separated audio capture and ASR processing threads to prevent long sentence recognition from blocking
RMS/VADupdates. - 2026-07-01 ✨ Translation prompt optimization – Added ASR error correction, fluency rules, preset selectors, and proper noun preservation.
- 2026-06-30 🔄 Incremental ASR pipeline – Added multi-language sentence splitting with
pysbd; incremental output reduces long audio latency. - 2026-06-29 🏠 Subtitle window mode – Added standalone transparent subtitle window for
OBScapture, usingQPainterPathoutlined text, auto wrapping, and entrance/exit animations. - 2026-06-28 🎛️ Control panel system – Added 7 configuration tabs:
VAD/ASR, translation, style, subtitle, benchmark, cache, and changelog. - 2026-06-27 🎨 Theme system – Added 14 UI presets including
Dracula,Nord,Monokai,Solarized,Gruvbox,Tokyo Night,Catppuccin,One Dark,Everforest, andKanagawa.
Earlier news
- 2026-06-25 🏷️ v0.4.0 release — Rebranded to
duplex, introduced streaming UI and high-contrast default style. - 2026-06-22 📦 uv packaging workflow — Added
GitHub Actionsrelease pipeline and automated package builds. - 2026-06-20 🐛 Installation hardening — Restricted supported versions to
Python 3.10-3.12, added SSL fallback forSilerodownloads. - 2026-06-18 🔧 FunASR Nano integration — Preserved punctuation and added pre-downloaded
Qwen3-0.6Bweights. - 2026-06-15 📊 Changelog system update — Added May features and historical records.
- 2026-06-10 🎙️ SenseVoice integration — Added
FunASR SenseVoicebackend with GPU-accelerated Japanese recognition. - 2026-06-05 🧠 Translator refactor — Built unified
OpenAI-compatible APIclient with streaming responses andJSON Schema. - 2026-05-28 ⚡ Memory optimization — Added ASR input padding buckets and cache reuse to reduce memory pressure.
- 2026-05-20 🔊 FunASR integration — Added local ASR model support with multi-engine switching.
- 2026-05-15 🎯 VAD overhaul — Added
Silero VAD+ energy detection dual mode, backtrack split, and adaptive silence thresholds. - 2026-05-10 🎨 Style system — Added 14 preset themes and independent original/translation font configuration.
- 2026-05-01 🚀 Initial version — Started
LiveTransproject withPyAudiocapture,faster-whisper, and OpenAI translation.
sudo pacman -S python-pip python-venv pyqt6 portaudio
git clone https://github.com/your-repo/duplex.gitcd duplex && uv sync && source .venv/bin/activate && pip install -e . && duplex// control panel model config in settings.json
"models": [
{
"name": "Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled",
"api_base": "http://127.0.0.1:8001/v1",
"api_key": "try",
"model": "Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled",
"proxy": "none",
"streaming": true,
"no_system_role": false,
"no_think": true,
"json_response": false,
"context_turns": 0,
"input_price": 0.0,
"output_price": 0.0,
"overrides": {},
"extra_body": {}
}
],| Mode | Description | Best For |
|---|---|---|
| 🎮 Overlay Mode | Transparent floating subtitle window with high contrast style. Supports dragging, click-through, and always-on-top behavior. | Gaming, livestreaming, real-time communication |
| 🎬 Subtitle Window Mode | Independent transparent subtitle window optimized for OBS capture, with animated outlined text effects. | Recording, streaming, video production |
| Engine | Description | Features |
|---|---|---|
| ⚡ faster-whisper | CTranslate2 optimized Whisper implementation | Local inference, supports GGUF / CTranslate2 models |
| 🇨🇳 FunASR SenseVoice | Alibaba SenseVoice speech recognition model | GPU accelerated, excellent Japanese recognition |
| 🪶 FunASR Nano | Lightweight models based on Qwen3-0.6B and similar architectures | Local inference, CPU-friendly |
| 🎌 Anime-Whisper | Specialized Whisper model by litagin/anime-whisper |
Optimized for anime / galgame audio |
| ☁️ Groq Whisper | Cloud-based whisper-large-v3 inference | No local model required, ultra-low latency |
| 🌐 Remote Whisper | WebSocket-based remote ASR bridge | Supports private/self-hosted deployment |
-
🔌 OpenAI-compatible API
- OpenAI
- DeepSeek
- Qwen
- Groq
- Other compatible providers
-
⚡ Real-time Streaming Translation
- Incremental response streaming
- Live translation progress display
-
🧩 Structured Output
- JSON Schema constrained responses
- Reliable machine-readable output
-
🧠 Context Awareness
- Multi-turn conversation context
- Model-specific parameter overrides:
temperaturetop_pmax_tokens- etc.
-
💰 Usage Tracking
- Token counting
- API cost estimation
- Per-model pricing configuration
| Feature | Description |
|---|---|
| 🔥 Silero VAD | ONNX-based real-time voice activity detection with WASM/CUDA acceleration |
| 🔋 Energy Detection | Lightweight fallback detector for low-resource environments |
| 📊 Adaptive Silence | Dynamic silence threshold using P75 × 1.2 (0.3s ~ 2.0s range) |
| ✂️ Backtrack Split | Finds the lowest energy valley when splitting long speech segments |
| 📈 Progressive Silence | Adaptive pause handling: • <3s → full buffer• 3-6s → half buffer• 6-10s → quarter buffer |
