ZipVoice⚡
Flow Matching ব্যৱহাৰ কৰি দ্ৰুত আৰু উচ্চ-গুণমানৰ শূন্য-শ্বট পাঠ-টু-স্পীচ
পৰিসংখ্যান
ZipVoice হৈছে flow matching-ৰ আধাৰত নিৰ্মিত, দ্ৰুত আৰু উচ্চ-গুণগতমানৰ zero-shot TTS মডেলৰ এক শৃংখলা।
১. মুখ্য বৈশিষ্ট্যসমূহ
- সৰু আৰু দ্ৰুত: কেৱল ১২৩M পৰামিত্ৰ।
- উচ্চ-গুণগতমানৰ ভয়েছ ক্ল’নিং: স্পীকাৰৰ সাদৃশ্য, বুজাবলৈ সক্ষমতা, আৰু প্ৰাকৃতিকতাৰ ক্ষেত্ৰত শ্ৰেষ্ঠ পৰ্যায়ৰ কাৰ্যক্ষমতা।
- বহু-ভাষিক: চীনা আৰু ইংৰাজী সমৰ্থিত।
- বহু-মোড: একক স্পীকাৰ আৰু সংলাপ উত্পাদনৰ দুয়ো সমৰ্থিত।
২. মডেল ভেৰিয়েণ্টসমূহ
বাতৰি
২০২৫/০৭/১৪: ZipVoice-Dialog আৰু ZipVoice-Dialog-Stereo, দুটা মৌখিক সংলাপ সৃষ্টি কৰাৰ মডেল, মুক্ত কৰা হৈছে।
২০২৫/০৭/১৪: OpenDialog ডাটাছেট, ৬.৮ কিঘন্টাৰ মৌখিক সংলাপ ডাটাছেট, মুক্ত কৰা হৈছে। ডাউনল'ড কৰক ,
। বিস্তারিত চাওক
।
২০২৫/০৬/১৬: ZipVoice আৰু ZipVoice-Distill মুক্ত কৰা হৈছে।
সংস্থাপন
১. ZipVoice ৰেপ'জিট'ৰী ক্লোন কৰক
git clone https://github.com/k2-fsa/ZipVoice.git2. (বৈকল্পিক) এটা Python ভাৰ্চুৱেল পৰিৱেশ সৃষ্টি কৰক
python3 -m venv zipvoice
source zipvoice/bin/activate৩. প্ৰয়োজনীয় পেকেজসমূহ সংস্থাপন কৰক
pip install -r requirements.txt4. প্ৰশিক্ষণ বা কার্যকৰী অনুমানৰ বাবে 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/ চাব পাৰে।
- 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
--model-nameহিচাপেzipvoiceবাzipvoice_distillব্যৱহাৰ কৰিব পাৰি, যিবোৰ যথাক্ৰমে distillationৰ আগৰ আৰু পাছৰ মডেল।- যদি পাঠত
<>বা[]দেখা যায়, তেন্তে ইয়াৰে আবদ্ধ strings বিশেষ টোকেন হিচাপে গণ্য কৰা হ’ব।<>চাইনীজ পিনইনৰ বাবে আৰু[]আন বিশেষ টেগৰ বাবে ব্যৱহাৰ হয়।
python3 -m zipvoice.bin.infer_zipvoice \
--model-name zipvoice \
--test-list test.tsv \
--res-dir resultstest.tsv-ৰ প্ৰত্যেকটো শাৰী{wav_name}\t{prompt_transcription}\t{prompt_wav}\t{text}ৰূপত থাকে।
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--model-nameহিচাপেzipvoice_dialogঅথবাzipvoice_dialog_stereoথাকিব পাৰে,
#### 2.2 ইনপুট ফৰ্মেটসমূহ
test.tsv-ৰ প্ৰত্যেকটা শাৰী তলত দিয়া ফৰ্মেটসমূহৰ অন্যতমত থাকে:
(1) Merged prompt format য'ত দুজন বক্তাৰ অডিঅ' আৰু প্ৰতিলিপি একেলগ কৰি এটা প্ৰম্পট ৱেভ ফাইলত সংযুক্ত কৰা হয়:
{wav_name}\t{prompt_transcription}\t{prompt_wav}\t{text}wav_nameহৈছে আউটপুট wav ফাইলৰ নাম।prompt_transcriptionহৈছে কথোপকথনৰ প্ৰম্পট wav-ৰ লিপ্যন্তৰণ, যেনে, "[S1] Hello. [S2] How are you?"prompt_wavহৈছে প্ৰম্পট wav-ৰ পথ।textহৈছে সংশ্লেষণ কৰিবলগীয়া পাঠ্য, যেনে "[S1] I'm fine. [S2] What's your name? [S1] I'm Eric. [S2] Hi Eric."
{wav_name}\t{spk1_prompt_transcription}\t{spk2_prompt_transcription}\t{spk1_prompt_wav}\t{spk2_prompt_wav}\t{text}
wav_nameহৈছে আউটপুট ৱেভ ফাইলৰ নাম।spk1_prompt_transcriptionহৈছে প্ৰথম বক্তাৰ প্ৰম্প্ট ৱেভৰ লিখনি, উদাহৰণস্বৰূপ, "Hello"spk2_prompt_transcriptionহৈছে দ্বিতীয় বক্তাৰ প্ৰম্প্ট ৱেভৰ লিখনি, উদাহৰণস্বৰূপ, "How are you?"spk1_prompt_wavহৈছে প্ৰথম বক্তাৰ প্ৰম্প্ট ৱেভ ফাইলৰ পথ।spk2_prompt_wavহৈছে দ্বিতীয় বক্তাৰ প্ৰম্প্ট ৱেভ ফাইলৰ পথ।textহৈছে সংশ্লিষ্ট টেক্সট যি চিন্থেটাইজ কৰা হ'ব, উদাহৰণস্বৰূপ, "[S1] I'm fine. [S2] What's your name? [S1] I'm Eric. [S2] Hi Eric."
3 উন্নত ব্যৱহাৰৰ বাবে নিৰ্দেশনা:
#### 3.1 প্ৰম্প্টৰ দৈৰ্ঘ্য
আমি এটা চুটি প্ৰম্প্ট ৱেভ ফাইল (উদাহৰণস্বৰূপ, একবক্তা বক্তৃতা সৃষ্টি বাবে ৩ ছেকেণ্ডৰ কম, সংলাপ বক্তৃতা সৃষ্টি বাবে ১০ ছেকেণ্ডৰ কম) ব্যৱহাৰৰ পৰামৰ্শ দিওঁ অধিক দ্ৰুত inference স্পিডৰ বাবে। অত্যধিক দীঘল প্ৰম্প্টে inference মন্থৰ কৰে আৰু বক্তৃতাৰ গুণমান কমাই দিয়ে।
#### 3.2 গতি অপ্টিমাইজেচন
যদি inference স্পিড সন্তোষজনক নহয়, তেন্তে তলৰদৰে গতি বঢ়াব পাৰি:
- Distill মডেল আৰু কম ষ্টেপছ: একবক্তা বক্তৃতা সৃষ্টি মডেলৰ বাবে, আমি speech গুণমান উন্নত কৰাৰ বাবে
zipvoiceমডেল ডিফল্ট হিচাপে ব্যৱহাৰ কৰো। যদি গতি অগ্ৰাধিকাৰ, তেন্তে আপুনিzipvoice_distillলৈ সলনি কৰিব পাৰে আৰু--num-stepsকমাই ৪ (ডিফল্ট ৮) লৈ আনিব পাৰে। - CPU স্পিডআপ মাল্টি-থ্ৰেডিঙৰ সৈতে: CPU-ত চলাই থাকিলে, আপুনি
--num-threadপেৰামিটাৰ (উদাহৰণস্বৰূপ,--num-thread 4) দি থ্ৰেডৰ সংখ্যা বৃদ্ধি কৰি গতি বঢ়াব পাৰে। আমি ডিফল্টভাৱে ১ থ্ৰেড ব্যৱহাৰ কৰো। - CPU স্পিডআপ ONNXৰ সৈতে: CPU-ত চলাই থাকিলে, আপুনি ONNX মডেলসমূহ
zipvoice.bin.infer_zipvoice_onnxৰ সৈতে ব্যৱহাৰ কৰিব পাৰে অধিক গতিৰ বাবে (সংলাপ সৃষ্টি মডেলৰ বাবে ONNX এতিয়াও সমৰ্থিত নহয়)। অধিক গতিৰ বাবে, আপুনি--onnx-int8 Trueদি INT8-quantized ONNX মডেল ব্যৱহাৰ কৰিব পাৰে। মনত ৰাখিব, quantized মডেলে বক্তৃতাৰ গুণমান কিছু পৰিমাণে হ্ৰাস কৰিব। GPU-ত ONNX ব্যৱহাৰ নকৰিব, কাৰণ ই PyTorch-তকৈ মন্থৰ। - GPU Acceleration NVIDIA TensorRTৰ সৈতে: NVIDIA GPU-ত উল্লেখযোগ্য পাৰফৰ্মেন্স বঢ়াবৰ বাবে, প্ৰথমে মডেলটো zipvoice.bin.tensorrt_export ব্যৱহাৰ কৰি TensorRT ইঞ্জিনলৈ এক্সপৰ্ট কৰক। তাৰ পিছত, আপোনাৰ ডেটাছেটত (উদাহৰণস্বৰূপ, Hugging Face ডেটাছেট) zipvoice.bin.infer_zipvoice ব্যৱহাৰ কৰি inference চলাওক। ইয়াৰ ফলত সাধাৰণ PyTorch ইমপ্লিমেণ্টেশনৰ তুলনাত প্ৰায় ২ গুণ throughput পাব।
দিয়া টেক্সটটো punctuation (একবক্তা বক্তৃতা সৃষ্টি) অথবা speaker-turn চিহ্ন (সংলাপ বক্তৃতা সৃষ্টি) অনুসৰি ভাগ কৰা হ'ব। তাৰ পিছত, ভাগ কৰা টেক্সটসমূহ বেচত প্ৰসেছ কৰা হ'ব। সেইকাৰণে, মডেলটো প্ৰায় স্থায়ী মেম'ৰি ব্যৱহাৰৰে যিকোনো দীঘল টেক্সট প্ৰসেছ কৰিব পাৰে। আপুনি --max-duration পেৰামিটাৰ সমন্বয় কৰি মেম'ৰি ব্যৱহাৰ নিয়ন্ত্ৰণ কৰিব পাৰে।
#### 3.4 "Raw" মূল্যায়ন
ডিফল্টভাৱে, আমি ইনফাৰেন্স অধিক কার্যকৰী আৰু উৎকৃষ্ট পারফৰ্মেন্সৰ বাবে ইনপুটসমূহ (প্ৰম্প্ট ৱেভ, প্ৰম্প্ট লিখনি, আৰু টেক্সট) প্ৰিপ্ৰচেছ কৰো। যদি আপুনি মডেলটোৰ "raw" পারফৰ্মেন্স ঠিক দিয়া ইনপুটসমূহৰে মূল্যায়ন কৰিব বিচাৰে (উদাহৰণস্বৰূপ, আমাৰ কাগজত ফলাফল পুনৰুত্পাদন কৰিবলৈ), তেন্তে --raw-evaluation True ব্যৱহাৰ কৰিব পাৰে।
#### 3.5 চুটি টেক্সট
অতি চুটি টেক্সট (উদাহৰণস্বৰূপ, এটা বা দুটা শব্দ) ৰ বাবে speech সৃষ্টি কৰোঁতে, কেতিয়াবা কিছু উচ্চাৰণ বাদ পৰিব পাৰে। এই সমস্যা সমাধান কৰিবলৈ, আপুনি --speed 0.3 (য'ত ০.৩ এটা টিউন কৰিব পৰা মান) দি speechৰ দৈৰ্ঘ্য বঢ়াব পাৰে।
#### 3.6 ভুল উচ্চাৰিত চাইনীজ পলিফোন অক্ষৰ সংশোধন
আমাৰ পিনইনলৈ চিনা আখৰ ৰূপান্তৰ কৰিবলৈ pypinyin ব্যৱহাৰ কৰা হয়। যদিও, কেতিয়াবা ই বহু-উচ্চাৰিত আখৰ (多音字) ভুলকৈ উচ্চাৰণ কৰিব পাৰে।
এই ভুল উচ্চাৰণসমূহ হাতেদি শুদ্ধ কৰিবলৈ, শুদ্ধ কৰা পিনইন কৌণিক বন্ধনী < >-ত ৰাখক আৰু স্বৰ চিহ্ন সংযোজন কৰক।
উদাহৰণ:
- মূল পাঠ:
这把剑长三十公分 长-ৰ পিনইন শুদ্ধ কৰক:这把剑三十公分
<>-ত সংলগ্ন কৰক, যেনে, 这把十公分 #### 3.7 সৃষ্টি কৰা বক্তৃতাৰ পৰা দীঘল নীৰৱতা আঁতৰাওক
মডেলে সৃষ্টি কৰা বক্তৃতাত নীৰৱতাৰ স্থান আৰু দৈৰ্ঘ্য আপুনি নিৰ্ধাৰণ কৰিব। কেতিয়াবা বক্তৃতাৰ মাজত দীঘল নীৰৱতা থাকিব পাৰে। আপুনি এইটো নচাহিলে, মধ্যভাগত দীঘল নীৰৱতা আঁতৰাবলৈ --remove-long-sil প্ৰদান কৰিব পাৰে (কাষৰ নীৰৱতা স্বাভাৱিকভাৱে আঁতৰ কৰা হ’ব)।
#### 3.8 মডেল ডাউনলোড কৰা
প্ৰি-ট্ৰেইন কৰা মডেলসমূহ ডাউনলোড কৰোঁতে HuggingFace-লৈ সংযোগত সমস্যা হ’লে, endpoint-টো মিৰৰ ছাইটলৈ সলনি কৰক: export HF_ENDPOINT=https://hf-mirror.com।
নিজৰ মডেল ট্ৰেইন কৰক
ট্ৰেইন, ফাইন-টিউন আৰু মূল্যায়নৰ উদাহৰণসমূহৰ বাবে egs ডাইৰেক্টৰী চাওক।
উৎপাদন স্থাপন
NVIDIA Triton GPU ৰানটাইম
উৎপাদন-প্ৰস্তুত, উচ্চ কাৰ্যক্ষমতা আৰু স্কেলেবল স্থাপনৰ বাবে, Triton Inference Server integration চাওক যি অপ্টিমাইজ কৰা TensorRT ইঞ্জিন, একাধিক অনুৰোধ হেণ্ডলিং, আৰু এণ্টাৰপ্ৰাইজ ব্যৱহাৰৰ বাবে gRPC/HTTP API প্ৰদান কৰে।
CPU স্থাপন
CPU-ত C++ স্থাপন সমাধানৰ বাবে sherpa-onnx চাওক।
আলোচনা আৰু যোগাযোগ
আপুনি সৰ্বাসাধাৰণতে Github Issues-ত আলোচনা কৰিব পাৰে।
আপুনি আমাৰ wechat গোটত যোগ দিয়াৰ বাবে QR ক’ড স্কেন কৰিব পাৰে বা আমাৰ 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 ---