Feature Request: Add FunASR STT extension
[!NOTE] License and capability clarification (2026-07-14): FunASR is a toolkit, not a single checkpoint. The FunASR and SenseVoice repository source code is MIT; model weights follow each model card. SenseVoiceSmall supports Chinese, Cantonese, English, Japanese, and Korean, and its weights use the linked FunASR Model Open Source License Agreement. Fun-ASR-Nano-2512 is Apache-2.0. Language coverage, punctuation, and performance depend on the selected model and runtime configuration.
Hi! TEN framework is an excellent platform for building conversational voice AI agents.
I noticed there's been community interest in FunASR integration (#1509). I'd like to formally suggest adding a funasr_stt_python extension alongside the existing whisper_stt_python:
Why FunASR for TEN:
- 170x real-time GPU speed: Critical for low-latency voice agents
- Native streaming ASR: Paraformer-streaming designed for real-time with sub-second latency
- Built-in VAD + punctuation: Simplifies the audio pipeline
- 50+ languages: SenseVoice model with automatic language detection
- Speaker diarization + emotion detection: Rich metadata for agent responses
- OpenAI-compatible API:
funasr-server --device cuda
FunASR is already widely used in voice agent frameworks (Fay 12.8K stars, Pipecat 12.5K stars, LiveKit 10.7K stars).
Quick integration:
from funasr import AutoModel
model = AutoModel(model="iic/SenseVoiceSmall")
result = model.generate(input=audio_bytes)Happy to contribute a PR with the extension implementation!
Source: TEN-framework/ten-framework