VoCoType native C++ core

vocotype-core is the default speech backend for packaged Fcitx 5 and IBus installations. It preserves the existing Unix-socket JSON protocol, so the Fcitx module and the native IBus engine share one implementation of ASR, normalization, polishing, and voice editing.

Implemented

resampling in a disposable offline worker process.

phrases.

spans, legacy dictionary compatibility, and native hotword generation.

thinking suppression, heartbeat-aware idle timeout, and JSON fallback.

key and modifier allowlists, repeat clamps, and a 32-action safety limit.

typed configuration, fake-worker tests, socket tests, and real-model smoke tests.

Framework integration

Build and test

make cpp-core-test

The FunASR worker bundle is built separately:

./src/workers/funasr/build.sh

Run an isolated development socket:

build/native-core/vocotype-core \
  --enable-final-asr \
  --socket-path /tmp/vocotype-cpp-test.sock