इस प्रोजेक्ट के बारे में
SenseVoice एक स्पीच फांडेशन मॉडल है जिसमें कई स्पीच समझने की क्षमताएँ हैं: टोमैटिक स्पीच रिकग्निशन (ASR), स्पोकन लैंग्वेज आइडेंटिफिकेशन (LID), स्पीच इमोशन रिकग्निशन (SER), और ऑडियो इवेंट डिटेक्शन (AED)।
रिलीज़ किए गए चेकपॉइंट का दायरा: SenseVoiceSmall मंदारिन, कैंटोनीज़, अंग्रेज़ी, जापानी और कोरियाई के लिए ASR और भाषा पहचान का समर्थन करता है, साथ ही भावना और डियो-इवेंट टैग भी। व्यापक SenseVoice शोध कार्य में 400,000 घंटे से अधिक पर प्रशिक्षण और 50 से अधिक भाषाओं के समर्थन की रिपोर्ट है, लेकिन रिलीज़ किया गया small चेकपॉइंट उपरोक्त पाँच भाषाओं को कवर करता है। स्पीकर डायराइज़ेशन स्वयं चेकपॉइंट का आउटपुट नहीं है; यह अलग FSMN-VAD और CAM++ मॉडलों का उपयोग करने वाली एक संयोजित FunASR पाइपलाइन है।
मुख्य विशेषताए
- समृद्ध ट्रांसक्रिप्शन: भावना पहचान टैग और बैकग्राउंड म्यूज़िक, तालियाँ, हँसी, रोना, खाँसी और छींक जैसी घटनाओं के लिए साउंड इवेंट डिटेक्शन।
- कुशल इन्फरेंस: कम-लेटेंसी इन्फरेंस के लिए एक नॉन-टोरेग्रेसिव एंड-टू-एंड फ्रेमवर्क। परियोजना के बेंचमार्क सेटअप में, SenseVoiceSmall को समान पैरामीटर संख्या पर Whisper-Small से 5x से अधिक तेज़ और Whisper-Large से 15x तेज़ चलने की रिपोर्ट है।
- लॉन्ग-टेल डेटा के अनुकूलन के लिए फानट्यूनिंग स्क्रिप्ट और रणनीतियाँ।
- मल्टी-कॉनकरेंट अनुरोधों का समर्थन करने वाली सर्विस डिप्लॉयमेंट पाइपलाइन, जिसमें क्लाइंट-साइड भाषाएँ Python, C++, HTML, Java और C# शामिल हैं।
उपयोग
pip install -r requirements.txt के साथ निर्भरताएँ इंस्टॉल करें। उदाहरणों और संयोजित डायराज़ेशन पथ के लिए funasr>=1.3.26 आवश्यक है (वर्तमान डिप्लॉयमेंट पथ funasr==1.4.14 की सिफारिश करता है)।
बेसिक इन्फरेंस FunASR के AutoModel का उपयोग iic/SenseVoiceSmall मॉडल के साथ करता है, लंबे ऑडियो के लिए वैकल्पिक FSMN-VAD सेगमेंटेशन, भाषा चयन (auto, zh, en, yue, ja, ko, nospeech), इनवर्स टेक्स्ट नॉर्मलाइज़ेशन, डायनामिक बैचिंग और VAD मर्जिंग। एक rich_transcription_postprocess हेल्पर कच्चे आउटपुट को फॉर्मेट करता है।
VAD के बिना लंबा ऑडियो: एक घंटे की वेवफॉर्म को एक ही generate कॉल में पास करने से एनकोडर मेमोरी ऑडियो आकार से बहुत अधिक बढ़ सकती है। long_audio_no_vad.py स्क्रिप्ट ffmpeg के माध्यम से डिकोड करती है और SenseVoice को 2 सेकंड ओवरलैप के साथ निश्चित 30-सेकंड विडो पर चलाती है, कच्चे चंक आउटपुट को JSONL फ़ाइल में रखती है। विंडो ऑफ़सेट इनपुट सीमाओं का वर्णन करते हैं, शब्द टाइमस्टैम्प नहीं, और निश्चित सीमाएँ कट के आसपास पहचान को प्रभावित कर सकती हैं।
स्पीकर डायराइज़ेशन: FunASR के माध्यम से FSMN-VAD, CAM++ स्पीकर लेबल और एक विराम चिह्न मॉडल के साथ संयोजित। स्पीकर लेबल अनाम क्लस्टर हैं, मान्यता प्राप्त व्यक्तिगत पहचान नहीं। output_timestamp=True के सा, टाइमस्टैम्प [start_ms, end_ms] जोड़े होते हैं जो शब्दों के साथ एक-से-एक संरेखित होते हैं।
एक्सपोर्ट और एज डिप्लॉयमेंट: ONNX और Libtorch एक्सपोर्ट पथ प्रलेखित हैं, और एक llama.cpp/GGUF रनटाइम SenseVoice को अंतर्निहित FSMN-VAD के साथ एक स्व-निहित बाइनरी के रूप में चलाने की अनुमति देता है और रनटाइम पर Python की आवश्यकता नहीं होती, जिसका लक्ष्य CPU और एज डिवाइस हैं।
सर्विस और कंटेनर: एक FastAPI डिप्लॉयमेंट पोर् 50000 पर सुनता है, और Docker/Docker Compose फ़ालें मॉडल कैश वॉल्यूम के साथ CPU और GPU रन का समर्थन करती हैं।
फाइनट्यूनिंग: डेटा तैयारी में key, source, target, language, emotion और event लेबल वाले JSONL रिकॉर्ड उपयोग होते हैं; हेल्पर कमांड wav.scp और टेक्स्ट फ़ाइलों को train/val JSONL में बदलते हैं। भावना लेबल में HAPPY, SAD, ANGRY, NEUTRAL, FEARFUL, DISGUSTED और SURPRISED शामिल हैं; इवेंट लेबल में BGM, Speech, Applause, Laughter, Cry, Sneeze, Breath और Cough शामिल हैं। एक finetune.sh स्क्रिप्ट और एक webui.py डेमो प्रदान किया गया है।
बेंचमार्क: परियोजना AISHELL-1, AISHELL-2, Wenetspeech, LibriSpeech और Common Voice पर Whisper के विरुद्ध बहुभाषी ASR की तुलना करती है, और चीनी तथा कैंटोनीज़ पहचान के लिए लाभ की रिपोर्ट करती है। भावना पहचान के लिए यह चीनी और अंग्रेज़ी टेस्ट सेट पर प्रतिस्पर्धी ज़ीरो-शॉट परिणामों की रिपोर्ट करती है, साथ में एक पुनरुत्पादनीय SER मूल्यांकन अनुबंध। ऑडियो इवेंट डिटेक्शन के लिए यह ESC-50 पर BEATS और PANN से तुलना करती है, और विशेष AED मॉडलों की तुलना में अंतरालों को नोट करती है।
पारिस्थितिकी तंत्र: SenseVoice, FunASR, Fun-ASR और CosyVoice के साथ FunAudioLLM परिवार का हिस्सा है। तृतीय-पक्ष एकीकरणों में Triton/TensorRT डिप्लॉयमेंट, sherpa-onnx (कई प्रोग्रामिंग भाषाओं और iOS, Android और Raspberry Pi जैसे प्लेटफ़ॉर्म का समर्थन), SenseVoice.cpp, streaming-sensevoice, OmniSenseVoice और हॉटवर्ड-संवर्धित वेरिएंट शामिल हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.