Real-time meeting helper for Windows: capture system audio, transcribe with Whisper, and translate on the fly.
Chacka is a WPF desktop app (.NET 10) for online meetings:
- captures system output audio (loopback)
- splits audio into smart chunks (pause-based)
- recognizes speech with Whisper
- translates recognized text to target language
- optionally records full session into one MP3 file
- Audio device selection (render devices)
- Pause-aware chunking controls:
PauseDurationSecondsMinChunkDurationBeforePauseFlushSecondsSpeechStartThresholdSpeechEndThreshold
- UI language switch: EN/RU
- Ctrl + mouse wheel text zoom (shared for transcript + translation)
- Optional full-session MP3 recording between Start/Stop
- Open recordings folder button
- Windows 10/11
- .NET 10 SDK (for local build/run)
- Whisper model download access (on first run)
- Translation API endpoint/key (if translation is enabled)
# from repository root
cd chacka
dotnet restore
dotnet runDefault config: chacka/appsettings.json
Important fields:
ChunkDurationSecondsPauseDurationSecondsMinChunkDurationBeforePauseFlushSecondsSpeechStartThresholdSpeechEndThresholdRecordAudioEnabledUiLanguageWhisperModelTypeTranslation.ApiUrl,Translation.ModelName,Translation.ApiKey
Runtime UI changes are persisted into local appsettings.json in the portable folder (next to the executable).
- User settings:
./appsettings.json(portable app folder) - Recordings:
~/Documents/Chacka meeting recordings
Do not commit real API keys into git. Use:
UserSecretsfor development- environment variables / secret store for production
cd chacka
dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=trueOutput is in bin/Release/net10.0-windows/win-x64/publish.
Chacka — WPF-приложение (.NET 10) для онлайн-митингов:
- захватывает системный звук (loopback)
- делит аудио на умные чанки (по паузам)
- распознаёт речь через Whisper
- переводит текст в целевой язык
- опционально сохраняет всю сессию в один MP3
- Выбор аудиоустройства (render devices)
- Настройки разбивки по паузам:
PauseDurationSecondsMinChunkDurationBeforePauseFlushSecondsSpeechStartThresholdSpeechEndThreshold
- Переключение языка интерфейса: EN/RU
- Изменение размера текста: Ctrl + колесо (для оригинала и перевода)
- Запись всей сессии в MP3 между Start/Stop
- Кнопка открытия папки записей
- Windows 10/11
- .NET 10 SDK (для локальной сборки/запуска)
- Доступ для загрузки модели Whisper (при первом старте)
- API endpoint/key для перевода (если включён)
# из корня репозитория
cd chacka
dotnet restore
dotnet runБазовые настройки: chacka/appsettings.json
Ключевые поля:
ChunkDurationSecondsPauseDurationSecondsMinChunkDurationBeforePauseFlushSecondsSpeechStartThresholdSpeechEndThresholdRecordAudioEnabledUiLanguageWhisperModelTypeTranslation.ApiUrl,Translation.ModelName,Translation.ApiKey
Изменения из UI сохраняются в локальный appsettings.json рядом с .exe (portable-папка).
- Пользовательские настройки:
./appsettings.json(в portable-папке) - Записи:
~/Documents/Chacka meeting recordings
Не коммитьте реальные API-ключи в репозиторий. Используйте:
UserSecretsдля разработки- переменные окружения / секрет-хранилище для продакшена