Add livekit-plugins-funasr (FunASR/SenseVoice local STT)#6176
Add livekit-plugins-funasr (FunASR/SenseVoice local STT)#6176LauraGPT wants to merge 19 commits into
Conversation
|
Thanks for the review! Addressed the findings:
CI is green (ruff + type-check). The transcription core (16-bit PCM -> resample to 16k -> SenseVoice -> cleaned text) was verified locally. |
|
Fresh FunASR/SenseVoice-side validation recheck (2026-07-07 UTC):
Caveat: I did not rerun the full local pytest target in the bare ops checkout because the monorepo runtime package dependencies ( |
Signed-off-by: zhifu gao <zhifu.gzf@alibaba-inc.com>
Signed-off-by: zhifu gao <zhifu.gzf@alibaba-inc.com>
|
Updated this PR to current main and completed the packaging/runtime pass at afab30a:
@tinalenguyen, would you be able to review the new local STT plugin when convenient? |
|
Synced this PR to current Fresh local verification passes the 3 focused plugin regressions, Ruff and format checks, full mypy across 622 source files, @tinalenguyen, could you review the local FunASR/SenseVoice STT plugin when convenient? |
|
Refreshed this PR on top of current What changed in the refresh:
Local validation on the refreshed head:
GitHub now reports the PR mergeable again; repository CI is running on the refreshed head. |
|
Current-head verification for
Fresh focused validation on |
This PR adds livekit-plugins-funasr, a fully local speech-to-text plugin backed by FunASR and SenseVoice.
Why
SenseVoice is a non-autoregressive multilingual ASR model with strong Chinese and Cantonese support. It runs on-device without an API key and gives LiveKit agents a local alternative for Chinese, Cantonese, English, Japanese, and Korean speech.
What
Usage
CPU is the safe default. For GPU inference, install a PyTorch and torchaudio build matching the host CUDA runtime and pass device="cuda".
Verification
Validated on exact head
666d54029dafter merging LiveKit main throughecc97f2f51:DIRTYto mergeable; current main later advanced to845fc28371, andgit merge-tree --write-tree HEAD upstream/mainstill exits 0 with a clean synthetic mergeuv lock --checkanduv sync --all-extras --dev --frozenpass; the regenerated lock retains the upstreammcp 1.28.1andnltk 3.10.0security updates plus the complete FunASR dependency graphlivekit.plugins.funasr.STT.recognizetranscribes the official sample as欢迎大家来体验达摩院推出的语音识别模型。, reports languagezh, and completes recognition in 0.234 seconds after model load