Web Analytics

ZipVoice

⭐ 661 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 प्रॉम्प्ट की लंबाई

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

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

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

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

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

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

डिफॉल्ट रूप से, हम कुशल अनुमान और बेहतर प्रदर्शन के लिए इनपुट्स (प्रॉम्प्ट वेव, प्रॉम्प्ट ट्रांसक्रिप्शन, और टेक्स्ट) को पूर्व-संसाधित करते हैं। यदि आप मॉडल की "रॉ" प्रदर्शन को सटीक दिए गए इनपुट्स के साथ आंकना चाहते हैं (जैसे, हमारे पेपर के परिणामों को पुन: उत्पन्न करने के लिए), तो आप --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 डायरेक्टरी देखें।

C++ डिप्लॉयमेंट

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

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

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

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

| वीचैट ग्रुप | वीचैट ऑफिशियल अकाउंट | | ------------ | ----------------------- | |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-10-06 ---