Web Analytics

ZipVoice

⭐ 748 stars Hindi by k2-fsa

🌐 भाषा

ZipVoice⚡

फ्लो मैचिंग के साथ तेज़ और उच्च गुणवत्ता वाली ज़ीरो-शॉट टेक्स्ट-टू-स्पीच

अवलोकन

ZipVoice एक तेज़ और उच्च-गुणवत्ता वाली ज़ीरो-शॉट TTS मॉडल श्रृंखला है, जो फ्लो मैचिंग पर आधारित है।

1. मुख्य विशेषताएँ

2. मॉडल वेरिएंट्स

मॉडल नाम विवरण पेपर डेमो
ZipVoice मूल मॉडल जो चीनी और अंग्रेज़ी में ज़ीरो-शॉट एकल-वक्ता TTS का समर्थन करता है।
ZipVoice-Distill ZipVoice का डिस्टिल्ड संस्करण, जिसमें न्यूनतम प्रदर्शन हानि के साथ बेहतर गति है।
ZipVoice-Dialog ZipVoice पर आधारित एक संवाद जनरेशन मॉडल, जो एकल-चैनल दो-पक्षीय बोले गए संवाद उत्पन्न कर सकता है।
ZipVoice-Dialog-Stereo ZipVoice-Dialog का स्टीरियो संस्करण, जो दो-चैनल संवाद निर्माण सक्षम करता है, जिसमें प्रत्येक वक्ता को एक अलग चैनल सौंपा जाता है।

समाचार

2025/07/14: ZipVoice-Dialog और ZipVoice-Dialog-Stereo, दो बोले गए संवाद निर्माण मॉडल जारी किए गए हैं। arXiv demo page

2025/07/14: OpenDialog डेटासेट, एक 6.8k-घंटे की बोले गए संवाद डेटासेट, जारी की गई है। डाउनलोड करें hf, ms। विवरण देखें arXiv.

2025/06/16: ZipVoice और ZipVoice-Distill जारी किए गए हैं। arXiv demo page

स्थापना

1. ZipVoice रिपॉजिटरी क्लोन करें

git clone https://github.com/k2-fsa/ZipVoice.git

2. (वैकल्पिक) एक पायथन वर्चुअल एनवायरनमेंट बनाएं

python3 -m venv zipvoice
source zipvoice/bin/activate

3. आवश्यक पैकेज इंस्टॉल करें

pip install -r requirements.txt

4. प्रशिक्षण या कुशल अनुकरण के लिए k2 स्थापित करें

प्रशिक्षण के लिए k2 आवश्यक है और यह अनुकरण को तेज कर सकता है। फिर भी, आप k2 स्थापित किए बिना भी ZipVoice के अनुकरण मोड का उपयोग कर सकते हैं।

नोट: सुनिश्चित करें कि आप अपने PyTorch और CUDA संस्करण के अनुसार k2 का संस्करण स्थापित कर रहे हैं। उदाहरण के लिए, यदि आप pytorch 2.5.1 और CUDA 12.1 उपयोग कर रहे हैं, तो आप इस प्रकार k2 स्थापित कर सकते हैं:

pip install k2==1.24.4.dev20250208+cuda12.1.torch2.5.1 -f https://k2-fsa.github.io/k2/cuda.html
कृपया विवरण के लिए https://k2-fsa.org/get-started/k2/ देखें। चीन मुख्यभूमि के उपयोगकर्ता https://k2-fsa.org/zh-CN/get-started/k2/ देख सकते हैं।

python3 -c "import k2; print(k2.__file__)"

उपयोग

1. एकल-वक्ता भाषण जनरेशन

हमारे प्री-ट्रेंड ZipVoice या ZipVoice-Distill मॉडल के साथ एकल-वक्ता भाषण जनरेट करने के लिए, निम्नलिखित कमांड्स का उपयोग करें (आवश्यक मॉडल HuggingFace से डाउनलोड किए जाएंगे):

#### 1.1 एकल वाक्य का इनफरेंस

python3 -m zipvoice.bin.infer_zipvoice \
    --model-name zipvoice \
    --prompt-wav prompt.wav \
    --prompt-text "I am the transcription of the prompt wav." \
    --text "I am the text to be synthesized." \
    --res-wav-path result.wav
#### 1.2 वाक्यों की सूची का अनुमान

python3 -m zipvoice.bin.infer_zipvoice \
    --model-name zipvoice \
    --test-list test.tsv \
    --res-dir results

2. संवाद भाषण निर्माण

#### 2.1 पूर्वानुमान कमांड

हमारे प्री-ट्रेंड ZipVoice-Dialogue या ZipVoice-Dialogue-Stereo मॉडल के साथ दो-पक्षीय बोले गए संवाद उत्पन्न करने के लिए, निम्नलिखित कमांड का उपयोग करें (आवश्यक मॉडल HuggingFace से डाउनलोड किए जाएंगे):

python3 -m zipvoice.bin.infer_zipvoice_dialog \
    --model-name "zipvoice_dialog" \
    --test-list test.tsv \
    --res-dir results
जो क्रमशः मोनो और स्टीरियो संवाद उत्पन्न करते हैं।

#### 2.2 इनपुट प्रारूप

test.tsv की प्रत्येक पंक्ति निम्नलिखित प्रारूपों में से एक में होती है:

(1) मर्ज्ड प्रॉम्प्ट प्रारूप जिसमें दो वक्ताओं के प्रॉम्प्ट ऑडियो और ट्रांसक्रिप्शन को एक प्रॉम्प्ट वेव फ़ाइल में मर्ज कर दिया जाता है:

{wav_name}\t{prompt_transcription}\t{prompt_wav}\t{text}

(2) विभाजित संकेत प्रारूप जिसमें दो वक्ताओं की ऑडियो और ट्रांसक्रिप्शन अलग-अलग फाइलों में होती हैं:

{wav_name}\t{spk1_prompt_transcription}\t{spk2_prompt_transcription}\t{spk1_prompt_wav}\t{spk2_prompt_wav}\t{text}

3 बेहतर उपयोग के लिए मार्गदर्शन:

#### 3.1 प्रॉम्प्ट की लंबाई

हम एक छोटा प्रॉम्प्ट wav फ़ाइल (जैसे, एकल-वक्ता भाषण निर्माण के लिए 3 सेकंड से कम, संवाद भाषण निर्माण के लिए 10 सेकंड से कम) की सलाह देते हैं ताकि इनफेरेंस गति तेज हो। बहुत लंबा प्रॉम्प्ट इनफेरेंस को धीमा कर देगा और भाषण की गुणवत्ता को घटा सकता है।

#### 3.2 गति अनुकूलन

यदि इनफेरेंस गति असंतोषजनक है, तो आप इसे निम्नलिखित तरीकों से तेज कर सकते हैं:

#### 3.3 मेमोरी नियंत्रण

दिया गया टेक्स्ट विराम चिह्न (एकल-वक्ता भाषण निर्माण के लिए) या वक्ता-टर्न चिन्ह (संवाद भाषण निर्माण के लिए) के आधार पर भागों में विभाजित किया जाएगा। इसके बाद, इन भागों को बैच में प्रोसेस किया जाएगा। इस प्रकार, मॉडल लगभग स्थिर मेमोरी उपयोग के साथ किसी भी लंबाई का टेक्स्ट प्रोसेस कर सकता है। आप --max-duration पैरामीटर को समायोजित करके मेमोरी उपयोग को नियंत्रित कर सकते हैं।

#### 3.4 "रॉ" मूल्यांकन

डिफ़ॉल्ट रूप से, हम इनपुट्स (प्रॉम्प्ट wav, प्रॉम्प्ट ट्रांसक्रिप्शन, और टेक्स्ट) को कुशल इनफेरेंस और बेहतर प्रदर्शन के लिए पूर्व-प्रक्रिया करते हैं। यदि आप मॉडल के "रॉ" प्रदर्शन का मूल्यांकन करना चाहते हैं, जैसे कि हमारे पेपर में दिए गए परिणामों को पुनः उत्पन्न करने के लिए, तो आप --raw-evaluation True पास कर सकते हैं।

#### 3.5 छोटा टेक्स्ट

बहुत छोटे टेक्स्ट (जैसे, एक या दो शब्द) के लिए भाषण जेनरेट करते समय, कभी-कभी कुछ उच्चारण छूट सकते हैं। इस समस्या के समाधान के लिए, आप --speed 0.3 (जहाँ 0.3 एक समायोज्य मान है) पास कर सकते हैं ताकि जेनरेटेड भाषण की अवधि बढ़ाई जा सके।

#### 3.6 गलत उच्चारित चीनी बहुवर्णी अक्षरों को सुधारना

हम pypinyin का उपयोग चीनी अक्षरों को पिनयिन में बदलने के लिए करते हैं। हालांकि, यह कभी-कभी बहु-ध्वनि अक्षरों (多音字) का उच्चारण गलत कर सकता है।

इन उच्चारणों को मैन्युअली ठीक करने के लिए, सुधारा गया पिनयिन कोण ब्रैकेट < > में लिखें और स्वर चिन्ह शामिल करें।

उदाहरण:

> नोट: यदि आप मैन्युअल रूप से कई पिनयिन निर्धारित करना चाहते हैं, तो प्रत्येक पिनयिन को <> में लिखें, जैसे: 这把十公分

#### 3.7 उत्पन्न ध्वनि से लंबी खामोशी हटाएँ

मॉडल स्वतः ही उत्पन्न ध्वनि में खामोशी के स्थान और अवधि का निर्धारण करेगा। कभी-कभी यह बोलने के बीच में लंबी खामोशी रखता है। यदि आप ऐसा नहीं चाहते हैं, तो आप --remove-long-sil पास कर सकते हैं ताकि उत्पन्न ध्वनि के बीच की लंबी खामोशी हट जाए (किनारे की खामोशी स्वतः हट जाएगी)।

#### 3.8 मॉडल डाउनलोडिंग

यदि आपको प्री-ट्रेंड मॉडल डाउनलोड करते समय HuggingFace से कनेक्ट होने में समस्या आ रही है, तो एंडपॉइंट को मिरर साइट पर बदलने का प्रयास करें: export HF_ENDPOINT=https://hf-mirror.com.

अपना खुद का मॉडल ट्रेन करें

ट्रेनिंग, फाइन-ट्यूनिंग और मूल्यांकन उदाहरणों के लिए egs डायरेक्टरी देखें।

प्रोडक्शन डिप्लॉयमेंट

NVIDIA Triton GPU रनटाइम

उच्च प्रदर्शन और स्केलेबिलिटी के साथ प्रोडक्शन-तैयार डिप्लॉयमेंट के लिए Triton Inference Server integration देखें, जो ऑप्टिमाइज़्ड TensorRT इंजन, एक साथ अनुरोध हैंडलिंग, और एंटरप्राइज के लिए gRPC/HTTP APIs प्रदान करता है।

CPU डिप्लॉयमेंट

CPU पर C++ डिप्लॉयमेंट समाधान के लिए sherpa-onnx देखें।

चर्चा एवं संवाद

आप सीधे Github Issues पर चर्चा कर सकते हैं।

आप हमारा Wechat ग्रुप जॉइन करने या हमारे Wechat आधिकारिक अकाउंट को फॉलो करने के लिए QR कोड भी स्कैन कर सकते हैं।

| Wechat ग्रुप | Wechat आधिकारिक अकाउंट | | ------------ | ----------------------- | |wechat |wechat |

संदर्भ

@article{zhu2025zipvoice,
      title={ZipVoice: Fast and High-Quality Zero-Shot Text-to-Speech with Flow Matching},
      author={Zhu, Han and Kang, Wei and Yao, Zengwei and Guo, Liyong and Kuang, Fangjun and Li, Zhaoqing and Zhuang, Weiji and Lin, Long and Povey, Daniel},
      journal={arXiv preprint arXiv:2506.13053},
      year={2025}
}

@article{zhu2025zipvoicedialog, title={ZipVoice-Dialog: Non-Autoregressive Spoken Dialogue Generation with Flow Matching}, author={Zhu, Han and Kang, Wei and Guo, Liyong and Yao, Zengwei and Kuang, Fangjun and Zhuang, Weiji and Li, Zhaoqing and Han, Zhifeng and Zhang, Dong and Zhang, Xin and Song, Xingchen and Lin, Long and Povey, Daniel}, journal={arXiv preprint arXiv:2507.09318}, year={2025} }

--- Tranlated By Open Ai Tx | Last indexed: 2025-12-30 ---