Lumi/plugins/lumi_transcription/backend/transcription/worker-native
2026-07-23 09:12:28 +02:00
..
src Accelerate server transcription and finalize tests 2026-07-23 09:12:28 +02:00
CMakeLists.txt Accelerate server transcription and finalize tests 2026-07-23 09:12:28 +02:00
README.md Fix local Companion package and worker setup 2026-07-22 14:34:29 +02:00

Lumi whisper.cpp worker

This is the dedicated native inference process used by WhisperWorkerSupervisor. It reads the existing length-prefixed metadata/PCM protocol from standard input and emits newline-delimited structured events on standard output. Audio remains in bounded memory and is never written to disk.

The build pins whisper.cpp to the commit recorded in runtime_manifest.json and nlohmann/json to v3.12.0. CPU is the portable verification target; the Lumi server release uses the CUDA option:

cmake -S . -B build -G Ninja -DLUMI_WHISPER_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build

The worker keeps at most six seconds per source, attempts an incremental decode around every 600 ms during speech, and finalizes after roughly 750 ms of measured silence. The server-side stabilizer remains authoritative for stable-prefix reconciliation and obsolete-revision suppression.

On Windows, the repository setup script builds into a short temporary path and installs the executable where the plugin discovers it automatically:

powershell -ExecutionPolicy Bypass -File plugins/lumi_transcription/scripts/build-worker.ps1

Pass -Cuda only after installing a compatible NVIDIA CUDA toolkit. Lumi prefers the installed CUDA worker and falls back to the CPU worker; LUMI_TRANSCRIPTION_WORKER remains an explicit override.