GitHub

SenseVoice: A Multi-Functional Speech Foundation Model

What is the project about?

SenseVoice is a speech foundation model designed for comprehensive speech understanding. It combines multiple capabilities into a single model, making it a versatile tool for various speech-related tasks.

What problem does it solve?

SenseVoice addresses the need for a single, efficient model that can handle multiple speech understanding tasks with high accuracy. Traditional approaches often require separate models for automatic speech recognition (ASR), language identification (LID), speech emotion recognition (SER), and audio event detection (AED). SenseVoice simplifies this by providing a unified solution. It also addresses the need for low-latency speech recognition, especially compared to models like Whisper.

What are the features of the project?

  • Multilingual Speech Recognition (ASR): Trained on over 400,000 hours of data, supporting 50+ languages. Outperforms Whisper in Chinese and Cantonese recognition.
  • Spoken Language Identification (LID): Implicitly supported through language tags (e.g., <|zh|>, <|en|>).
  • Speech Emotion Recognition (SER): Achieves state-of-the-art performance on multiple SER benchmarks, even without fine-tuning. Supports emotions like happy, sad, angry, neutral, fearful, disgusted, and surprised.
  • Audio Event Detection (AED): Detects common human-computer interaction events like background music, applause, laughter, crying, coughing, and sneezing. Performs well on the ESC-50 dataset.
  • Rich Transcription: Provides not only the transcribed text but also emotion and event labels.
  • Efficient Inference: Uses a non-autoregressive end-to-end framework (SenseVoice-Small) for extremely low latency (70ms for 10 seconds of audio, 15x faster than Whisper-Large).
  • Convenient Finetuning: Provides scripts and strategies for easy fine-tuning on specific datasets or tasks.
  • Service Deployment: Offers a deployment pipeline supporting multiple concurrent requests with client-side support for various languages (Python, C++, HTML, Java, C#, etc.).
  • Timestamp Support: Added support for CTC alignment based timestamp.
  • ONNX and Libtorch Export: Supports exporting to ONNX and Libtorch for optimized inference.
  • Quantization Support: Supports quantization for reduced model size and faster inference.
  • WebUI: Provides a simple web interface for demonstration and testing.

What are the technologies used in the project?

  • Deep Learning: The core of the model is based on deep learning techniques.
  • Non-Autoregressive End-to-End Framework: Used in SenseVoice-Small for low latency.
  • Connectionist Temporal Classification (CTC): Used for timestamp alignment.
  • Python: Primary programming language for model development and usage.
  • PyTorch: Likely the underlying deep learning framework (implied by "Libtorch").
  • ONNX: Used for model export and optimized inference.
  • Libtorch: PyTorch's C++ API, used for model export and deployment.
  • FastAPI: Used for service deployment.
  • FunASR: A fundamental speech recognition toolkit developed by the same team. SenseVoice is integrated with and builds upon FunASR.
  • GGML: (Mentioned in third-party work) A tensor library for machine learning, used for C/C++ inference.
  • Triton + TensorRT: (Mentioned in third-party work) Used for GPU-accelerated inference.

What are the benefits of the project?

  • High Accuracy: Achieves state-of-the-art or competitive results in ASR, SER, and AED.
  • Low Latency: Significantly faster inference compared to models like Whisper.
  • Multilingual Support: Handles a wide range of languages.
  • Versatility: Combines multiple speech understanding tasks in one model.
  • Ease of Use: Provides convenient APIs, finetuning scripts, and deployment tools.
  • Open Source: The model and code are publicly available.
  • Active Community: DingTalk group for support and discussion.

What are the use cases of the project?

  • Voice Assistants: Powering the speech understanding component of virtual assistants.
  • Real-time Transcription: Generating transcripts of live audio with low delay.
  • Meeting Summarization: Transcribing and analyzing meetings, including identifying speaker emotions and key events.
  • Call Center Analytics: Analyzing customer interactions for sentiment and identifying issues.
  • Media Content Analysis: Automatically tagging and categorizing audio content based on speech, emotion, and events.
  • Accessibility Tools: Providing real-time captions and descriptions for individuals with hearing impairments.
  • Gaming: Enhancing in-game interactions with voice commands and emotion recognition.
  • Robotics: Enabling robots to understand and respond to spoken commands and human emotions.
  • Education: Language learning applications, pronunciation analysis.
  • Healthcare: Analyzing patient-doctor interactions, detecting emotional distress.
SenseVoice screenshot