Real-time meeting transcription & translation desktop app. Captures any system audio (Zoom, Teams, browser, microphone playback - anything that goes through your speakers), transcribes it with Whisper, and translates on the fly.
Chacka is a WPF desktop application (.NET 10) designed to help you understand
meetings conducted in a foreign language - in real time.
It captures the system audio output via WASAPI loopback, so it picks up every sound your computer plays: remote speakers in a video call, a presentation, or even your own microphone if it routes through the system mixer. No browser extension or virtual audio driver required. You can also open an audio file (mp3/wav) for transcription + translation - quality is usually better than real-time capture.
System audio -> WASAPI loopback capture
-> smart chunking (pause-based VAD)
-> Whisper STT (local, on-device)
-> translation (Azure Translator / OpenAI LLM)
-> transcript + translation displayed side-by-side
- Audio capture - any render device; picks up all system audio regardless of the source app
- Speech-to-text - Whisper (tiny / base / small / medium / large); runs locally
- Translation - Azure Cognitive Translator or any OpenAI-compatible endpoint
- Session recording - optional full-session MP3 recording between Start / Stop
- Transcribe/translate recorded - Open an audio file (mp3/wav) for transcription + translation - quality is usually better than real-time capture
- Speech tuning - adjustable pause duration, min chunk length, speech start/end thresholds, silence threshold
- UI languages - English / Russian
- Text zoom - Ctrl + mouse wheel in transcript / translation panels
- Save text - right-click context menu to save transcript or translation to file
- Windows 10 / 11
- .NET 10 SDK (for building from source)
- Internet access for Whisper model download (first run) and translation API calls
- An API key for your chosen translation provider
cd chacka
dotnet restore
dotnet runSettings file: appsettings.json (next to the executable).
Key settings:
MaxChunkDurationSeconds- force-flush audio after this many seconds even without a pausePauseDurationSeconds- silence duration that triggers end-of-phraseMinChunkDurationBeforePauseFlushSeconds- minimum speech before pause-flush is allowedSpeechStartThreshold/SpeechEndThreshold- RMS thresholds for VAD hysteresisSilenceThreshold- amplitude below which audio is pure silenceWhisperModelType-tiny,base,small,medium, orlargeTranslation- dictionary of named LLM / API profiles
All slider-adjustable settings are persisted automatically.
cd chacka
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=trueOutput: bin/Release/net10.0-windows/win-x64/publish
Chacka - настольное WPF-приложение (.NET 10), которое помогает понимать
совещания на иностранном языке - в реальном времени.
Приложение захватывает любой звук, воспроизводимый компьютером через WASAPI loopback: голоса собеседников в Zoom/Teams, звук в браузере и даже ваш микрофон, если он проходит через системный микшер. Не требует расширений для браузера или виртуальных аудиодрайверов. Можно также открыть аудиофайл (mp3/wav) для транскрипта + перевода - качество обычно выше, чем при захвате в реальном времени.
Системный звук -> захват через WASAPI loopback
-> умная разбивка на фразы (VAD по паузам)
-> распознавание речи Whisper (локально, на устройстве)
-> перевод (Azure Translator / OpenAI LLM)
-> оригинал + перевод отображаются рядом
- Захват аудио - любое устройство воспроизведения; захватывает весь системный звук вне зависимости от источника
- Распознавание речи - Whisper (tiny / base / small / medium / large); работает локально
- Перевод - Azure Cognitive Translator или любой OpenAI-совместимый endpoint
- Запись сессии - опциональная запись всей сессии в MP3 между Старт / Стоп
- Распознание/перевод записанного - Можно открыть аудиофайл (mp3/wav) для транскрипта + перевода (качество обычно выше)
- Настройка речи - регулировка паузы, минимальной длины фразы, порогов начала/конца речи, порога тишины
- Языки интерфейса - Английский / Русский
- Масштаб текста - Ctrl + колесо мыши в панелях оригинала / перевода
- Сохранение текста - правый клик для сохранения оригинала или перевода в файл
- Windows 10 / 11
- .NET 10 SDK (для сборки из исходников)
- Интернет для загрузки модели Whisper (при первом запуске) и вызовов API перевода
- API-ключ выбранного сервиса перевода
cd chacka
dotnet restore
dotnet runФайл настроек: appsettings.json (рядом с исполняемым файлом).
Ключевые параметры:
MaxChunkDurationSeconds- принудительный сброс аудио после стольки секунд, даже без паузыPauseDurationSeconds- длительность тишины для определения конца фразыMinChunkDurationBeforePauseFlushSeconds- минимальная длина речи до разрешения сброса по паузеSpeechStartThreshold/SpeechEndThreshold- RMS-пороги для гистерезиса VADSilenceThreshold- амплитуда, ниже которой звук считается тишинойWhisperModelType-tiny,base,small,mediumилиlargeTranslation- словарь именованных профилей LLM / API
Все настройки, изменённые через ползунки, сохраняются автоматически.
cd chacka
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=trueРезультат: bin/Release/net10.0-windows/win-x64/publish