विषयसूची
पिछली पोस्ट में, मैंने टीटीएस जेनरेशन वेबयूआई को थोड़ा आज़माया और यह दिलचस्प लगा। इसलिए, मैंने अपनी आवाज़ से एक उपयोगी मॉडल को प्रशिक्षित करने का निर्णय लिया।
यह वॉयस क्लोनिंग प्रोजेक्ट वॉयस चेंजिंग के लिए एसवीसी और टेक्स्ट-टू-स्पीच के लिए वीआईटीएस दोनों की खोज करता है। ऐसा कोई एक उपकरण नहीं है जो सभी कार्य करता हो।
मैंने इस प्रोजेक्ट के लिए कई टूल का परीक्षण किया है। कई अच्छे मार्गदर्शक, जैसे कि यह , यह , और यह , चीनी भाषा में हैं। इसलिए, मैंने सोचा कि अपने नोट्स अंग्रेजी में पोस्ट करना उपयोगी होगा।
हालाँकि so-vits-svc को कुछ महीनों के लिए संग्रहीत किया गया है, संभवतः उत्पीड़न के कारण, यह अभी भी सर्वोत्तम परिणाम के लिए उपकरण है।
अन्य संबंधित उपकरण जैसे so-vits-svc-fork , so-vits-svc-5.0 , DDSP-SVC , और RVC या तो तेज़/लीटर अनुकूलन, अधिक सुविधाएँ या बेहतर इंटरफ़ेस प्रदान करते हैं।
लेकिन पर्याप्त समय और संसाधनों के साथ, इनमें से कोई भी विकल्प मूल so-vits-svc द्वारा उत्पन्न बेहतर परिणाम के साथ प्रतिस्पर्धा नहीं कर सकता है।
टीटीएस के लिए, बर्ट-वीआईटीएस2 नामक एक नया टूल शानदार ढंग से काम करता है और पिछले महीने अपनी अंतिम रिलीज के साथ पहले ही परिपक्व हो चुका है। इसके कुछ बहुत अलग उपयोग के मामले हैं, उदाहरण के लिए, ऑडियो सामग्री निर्माण।
डेटासेट की ऑडियो फ़ाइलें WAV प्रारूप में होनी चाहिए, 44100 हर्ट्ज, 16 बिट, मोनो, आदर्श रूप से 1-2 घंटे।
अल्टीमेट वोकल रिमूवर इस काम के लिए सबसे आसान टूल है। एक सूत्र है जो सब कुछ विस्तार से बताता है।
मॉडल: वीआर - यूवीआर(4_एचपी-वोकल-यूवीआर)
सेटिंग्स: 512 - 10 - जीपीयू
आउटपुट वाद्य और अशुद्ध स्वर
मॉडल: वीआर - यूवीआर(5_एचपी-कराओके-यूवीआर)
सेटिंग्स: 512 - 10 - जीपीयू
आउटपुट बैकग्राउंड वोकल और अशुद्ध मुख्य वोकल
मॉडल: VR - UVR-DeEcho-DeReverb और UVR-DeNoise
सेटिंग्स: 512 - 10 - जीपीयू - केवल अन्य नहीं
आउटपुट क्लीन मेन वोकल
उपचारित कमरे में कंडेनसर माइक्रोफोन के साथ रिकॉर्ड करना बेहतर है, अन्यथा, शोर को कम करने के लिए दिशात्मक या गतिशील माइक्रोफोन का उपयोग करें।
मैं पहली बार संगीत में हाई स्कूल के दौरान नीले सेन्हाइज़र एमएक्स500 और कोस पोर्टा प्रो के साथ आया था। मुझे अभी भी याद है कि पहली बार मैं एक गाना रिकॉर्ड कर रहा था जो कि कूल एडिट प्रो के साथ Sony VAIO पर था।
आजकल, मैं अभी भी शौकिया तौर पर ऑडियो हार्डवेयर पर बहुत सारा पैसा खर्च करने का विरोध करता हूं क्योंकि यह वस्तुतः पैसा चूसने वाला ब्लैक होल है।
फिर भी, मैं वास्तव में उन सस्ते उत्पादन उपकरणों की विश्वसनीयता की सराहना करता हूँ।
मेरे सेटअप का मुख्य भाग बेहरिंगर UCA202 है, और यह मेरे उपयोग के मामलों के लिए बिल्कुल उपयुक्त है। कीमत में गिरावट के दौरान मैंने इसे $10 में खरीदा।
यह एक तथाकथित "ऑडियो इंटरफ़ेस" है लेकिन मूल रूप से कई पोर्ट वाला एक साउंड कार्ड है। मैंने अपने हेडफ़ोन के लिए आरसीए से 3.5 मिमी टीआरएस केबल का उपयोग किया, नियमित आउटपुट के लिए एक अर्ध-खुला K240s, और मॉनिटर आउटपुट के लिए एक बंद-बैक HD669/MDR7506 का उपयोग किया।
उल्लिखित तीनों हेडफ़ोन की सामान्य कीमत $100 से कम है। और $50 से भी कम में सैमसन, टैस्कम, नॉक्स गियर और अन्य के क्लोन उपलब्ध हैं।
इनपुट डिवाइस के लिए, मैं अपने पर्यावरणीय शोर के लिए एक गतिशील माइक्रोफोन का उपयोग कर रहा हूं। यह एक SM58 कॉपी (पाइल) + एक टैस्कम DR-05 रिकॉर्डर (एक एम्पलीफायर के रूप में) है। अन्य क्लोन जैसे SL84c या wm58 भी ऐसा करेंगे।
मैं माइक्रोफ़ोन को रिकॉर्डर के एमआईसी/एक्सटर्नल-इनपुट से कनेक्ट करने के लिए XLR से 3.5 मिमी TRS केबल का उपयोग करता हूं, और फिर रिकॉर्डर के लाइन-आउट और UCA202 के इनपुट के बीच कनेक्ट करने के लिए AUX केबल का उपयोग करता हूं।
मेरे सेटअप को दोहराने के लिए "ऑडियो इंटरफ़ेस" और एक समर्पित एम्पलीफायर खरीदने की अनुशंसा नहीं की जाती है। $10 का सी-मीडिया यूएसबी साउंड कार्ड काफी अच्छा होना चाहिए। मेरे पास जो साइबा मॉडल है, वह सीधे डायनेमिक माइक्रोफोन और यहां तक कि कुछ निचले स्तर के फैंटम-संचालित माइक्रोफोन को भी "प्री-एम्पिंग" करने में सक्षम है।
सेटअप बेहद सस्ता ($40~60) हो सकता है, लेकिन यूसीए202 और डीआर-05 के साथ, ध्वनि बहुत साफ है। और मुझे वास्तव में मेरे पुराने अच्छे डिजिटल रिकॉर्डर का भौतिक नियंत्रण, बहुमुखी प्रतिभा और पोर्टेबिलिटी पसंद है।
हालाँकि जब मुझे एक डिजाइनर के रूप में भुगतान मिल रहा था, तो मैं ऑडिशन से बहुत खुश थी। लेकिन एक मज़ेदार प्रोजेक्ट पर व्यक्तिगत उपयोग के लिए, ऑडेसिटी एडोब की अराजक बुराई से बचने का तरीका है।
बाद में उपयोग के लिए ऑडियो फ़ाइल को छोटे टुकड़ों में काटने के लिए ऑडियो-स्लाइसर या ऑडियो-स्लाइसर (gui) का उपयोग करें।
डिफ़ॉल्ट सेटिंग बढ़िया काम करती है.
जो बहुत छोटे हैं उन्हें हटा दें और जो 10 सेकंड से अधिक समय से बचे हैं उन्हें फिर से काटें।
बड़े डेटासेट के मामले में, 4 सेकंड से कम के सभी डेटा हटा दें। छोटे डेटासेट के मामले में, उन्हें केवल 2 सेकंड से कम समय के लिए हटा दें।
यदि आवश्यक हो, तो प्रत्येक फ़ाइल का मैन्युअल निरीक्षण करें।
लाउडनेस नॉर्मलाइज़ेशन के साथ फिर से ऑडेसिटी का उपयोग करें; 0db को यह करना चाहिए.
एक सिस्टम के अंदर कई पायथन टूल चलाने के लिए वर्चुअल वातावरण आवश्यक है। मैं वीएम और डॉकर का उपयोग करता था, लेकिन अब, मैंने पाया कि एनाकोंडा दूसरों की तुलना में कहीं अधिक तेज़ और सुविधाजनक है।
so-vits-svc के लिए एक नया वातावरण बनाएं और इसे सक्रिय करें।
conda create -n so-vits-svc python=3.8 conda activate so-vits-svc
फिर, आवश्यकताएँ स्थापित करें।
git clone https://github.com/svc-develop-team/so-vits-svc cd so-vits-svc pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 #for linux pip install -r requirements.txt #for windows pip install -r requirements_win.txt pip install --upgrade fastapi==0.84.0 pip install --upgrade gradio==3.41.2 pip install --upgrade pydantic==1.10.12 pip install fastapi uvicorn
wget https://huggingface.co/WitchHuntTV/checkpoint_best_legacy_500.pt/resolve/main/checkpoint_best_legacy_500.pt
wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/rmvpe.pt
wget https://huggingface.co/datasets/ms903/sovits4.0-768vec-layer12/resolve/main/sovits_768l12_pre_large_320k/clean_D_320000.pth
wget https://huggingface.co/datasets/ms903/sovits4.0-768vec-layer12/resolve/main/sovits_768l12_pre_large_320k/clean_G_320000.pth
wget https://huggingface.co/datasets/ms903/Diff-SVC-refactor-pre-trained-model/resolve/main/fix_pitch_add_vctk_600k/model_0.pt
(वैकल्पिक) wget https://huggingface.co/datasets/ms903/DDSP-SVC-4.0/resolve/main/pre-trained-model/model_0.pt
(वैकल्पिक) wget https://huggingface.co/datasets/ms903/Diff-SVC-refactor-pre-trained-model/blob/main/hubertsoft_fix_pitch_add_vctk_500k/model_0.pt
wget -P pretrain/ https://github.com/openvpi/vocoders/releases/download/nsf-hifigan-v1/nsf_hifigan_20221211.zip
unzip -od pretrain/nsf_hifigan pretrain/nsf_hifigan_20221211.zip
सभी तैयार ऑडियो.wav फ़ाइलों को dataset_raw/character
में डालें
cd so-vits-svc python resample.py --skip_loudnorm python preprocess_flist_config.py --speech_encoder vec768l12 --vol_aug python preprocess_hubert_f0.py --use_diff
फ़ाइल configs/config.json
पर स्थित है
log interval
: मुद्रण की आवृत्ति लॉग eval interval
: चेकपॉइंट epochs
सहेजने की आवृत्ति: कुल चरण keep ckpts
: सहेजे गए चेकपॉइंट की संख्या, असीमित के लिए 0। half_type
: fp32 मेरे मामले में, batch_size
: जितना छोटा उतना तेज़ (कठोर), जितना बड़ा उतना धीमा (बेहतर)।
प्रति वीआरएएम अनुशंसित बैच आकार: 4=6जी;6=8जी;10=12जी;14=16जी;20=24जी
configs/diffusion.yaml
के लिए डिफ़ॉल्ट रखें
python cluster/train_cluster.py --gpu python train_index.py -c configs/config.json python train.py -c configs/config.json -m 44k python train_diff.py -c configs/diffusion.yaml
प्रशिक्षण चरणों पर:
मुख्य मॉडल को प्रशिक्षित करने के लिए train.py
उपयोग करें; आमतौर पर, 20k-30k उपयोग योग्य होगा, और 50k और उससे अधिक पर्याप्त होगा। GPU की गति के आधार पर इसमें कुछ दिन लग सकते हैं।
बेझिझक इसे ctrl+c
द्वारा रोकें, और इसे किसी भी समय python train.py -c configs/config.json -m 44k
फिर से चलाकर प्रशिक्षण जारी रखा जाएगा।
प्रसार मॉडल को प्रशिक्षित करने के लिए train_diff.py
उपयोग करें; मुख्य मॉडल के 1/3 पर प्रशिक्षण चरणों की अनुशंसा की जाती है।
अति-प्रशिक्षण से सावधान रहें। यह देखने के लिए कि क्या यह सपाट हो जाता है, प्लॉट की निगरानी के लिए tensorboard --logdir=./logs/44k
का उपयोग करें।
यदि आवश्यक हो तो learning rate
0.0001 से 0.00005 तक बदलें।
जब पूरा हो जाए, तो अनुमान के लिए इन फ़ाइलों को साझा/परिवहन करें।
config.json
प्रसार.yaml
अब प्रशिक्षित मॉडल को आज़माने का समय आ गया है। मापदंडों में बदलाव की सुविधा के लिए मैं वेबुई को प्राथमिकता दूंगा।
लेकिन इसे सक्रिय करने से पहले, LAN एक्सेस के लिए webUI.py
में निम्नलिखित पंक्तियों को संपादित करें:
os.system("start http://localhost:7860") app.launch(server_name="0.0.0.0", server_port=7860)
python webUI.py
चलाएँ; फिर वेब ब्राउज़र से इसके ipaddress:7860
पहुंचें।
वेबुई में कोई अंग्रेजी स्थानीयकरण नहीं है, लेकिन इमर्सिव ट्रांसलेशन मददगार होगा।
अधिकांश पैरामीटर डिफ़ॉल्ट मान के साथ अच्छी तरह से काम करेंगे। परिवर्तन करने के लिए इसे और इसे देखें।
ये 5 फ़ाइलें अपलोड करें:
main model.pt
और इसका config.json
diffusion model.pt
और इसका diffusion.yaml
बोलने के लिए या तो क्लस्टर मॉडल kmeans_10000.pt
या गायन के लिए फीचर पुनर्प्राप्ति feature_and_index.pkl
।
F0 predictor
केवल बोलने के लिए है, गाने के लिए नहीं। उपयोग करते समय RMVPE
अनुशंसा करें।
किसी मर्दाना आवाज़ वाले मॉडल का उपयोग करके, या इसके विपरीत, एक स्त्री गीत गाते समय Pitch change
उपयोगी होता है।
Clustering model/feature retrieval mixing ratio
टोन को नियंत्रित करने का तरीका है। स्पष्ट भाषण प्राप्त करने के लिए 0.1
उपयोग करें, और मॉडल के निकटतम स्वर प्राप्त करने के लिए 0.9
का उपयोग करें।
shallow diffusion steps
50
के आसपास सेट किया जाना चाहिए, यह 30-100
चरणों पर परिणाम को बढ़ाता है।
यह प्रक्रिया वैकल्पिक है. सिर्फ एक बेहतर गाने के निर्माण के लिए.
मैं इसके बारे में विवरण में नहीं जाऊंगा क्योंकि ऑडियो संपादन सॉफ्टवेयर, या तथाकथित DAW (डिजिटल ऑडियो वर्कस्टेशन), जिसका मैं उपयोग कर रहा हूं वह गैर-मुक्त है। मेरा मालिकाना सॉफ्टवेयर की वकालत करने का कोई इरादा नहीं है, भले ही पूरा उद्योग पेवॉल्ड और क्लोज्ड-सोर्स है।
ऑडेसिटी मल्टीट्रैक, इफेक्ट्स और बहुत कुछ का समर्थन करती है। यह कुछ उन्नत VST प्लगइन्स भी लोड करता है।
ऑडेसिटी के साथ गानों में महारत हासिल करने के लिए ट्यूटोरियल ढूंढना कठिन नहीं है।
आमतौर पर, महारत हासिल करने की प्रक्रिया मिश्रण/संतुलन, ईक्यू/संपीड़न, रीवरब और इमेजिंग होनी चाहिए। उपकरण जितना उन्नत होगा, प्रक्रिया उतनी ही आसान होगी।
मैं निश्चित रूप से भविष्य में अपनी महारत हासिल करने की प्रक्रिया के लिए ऑडेसिटी को अपनाने में अधिक समय लगाऊंगा, और मैं हर किसी को ऐसा करने की सलाह देता हूं।
यह वास्तविक समय समर्थन वाला एक so-vits-svc कांटा है, और मॉडल संगत हैं। उपयोग में आसान लेकिन डिफ्यूजन मॉडल का समर्थन नहीं करता। समर्पित वास्तविक समय में आवाज बदलने के लिए, एक आवाज-परिवर्तक की सिफारिश की जाती है।
conda create -n so-vits-svc-fork python=3.10 pip conda activate so-vits-svc-fork git clone https://github.com/voicepaw/so-vits-svc-fork cd so-vits-svc-fork python -m pip install -U pip setuptools wheel pip install -U torch torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install -U so-vits-svc-fork pip install click sudo apt-get install libportaudio2
डेटासेट .wav फ़ाइलें so-vits-svc-fork/dataset_raw
में डालें
svc pre-resample svc pre-config
configs/44k/config.json
में एक batch_size
संपादित करें। यह कांटा मूल से बड़ा आकार का है।
svc pre-hubert svc train -t svc train-cluster
svcg
के साथ GUI का उपयोग करें। इसके लिए स्थानीय डेस्कटॉप वातावरण की आवश्यकता होती है।
या वास्तविक समय के लिए svc vc
के साथ CLI और जेनरेट करने के लिए svc infer -m "logs/44k/xxxxx.pth" -c "configs/config.json" raw/xxx.wav
उपयोग करें।
DDSP-SVC को कम हार्डवेयर संसाधनों की आवश्यकता होती है और यह so-vits-svc की तुलना में तेज़ चलता है। यह वास्तविक समय और प्रसार मॉडल (डिफ़-एसवीसी) दोनों का समर्थन करता है।
conda create -n DDSP-SVC python=3.8 conda activate DDSP-SVC git clone https://github.com/yxlllc/DDSP-SVC cd DDSP-SVC pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install -r requirements.txt
दो फ़ाइलों के लिए आरंभीकरण अनुभाग देखें:
pretrain/rmvpe/model.pt pretrain/contentvec/checkpoint_best_legacy_500.pt
python draw.py python preprocess.py -c configs/combsub.yaml python preprocess.py -c configs/diffusion-new.yaml
configs/
batch_size: 32 (16 for diffusion) cache_all_data: false cache_device: 'cuda' cache_fp16: false
conda activate DDSP-SVC python train.py -c configs/combsub.yaml python train_diff.py -c configs/diffusion-new.yaml tensorboard --logdir=exp
main_diff.py
का उपयोग करने की अनुशंसा की जाती है क्योंकि इसमें DDSP और प्रसार मॉडल दोनों शामिल हैं।
python main_diff.py -i "input.wav" -diff "model_xxxxxx.pt" -o "output.wav"
वॉयस क्लोनिंग के लिए वास्तविक समय जीयूआई:
python gui_diff.py
यह एक टीटीएस टूल है जो उपरोक्त सभी चीज़ों से बिल्कुल अलग है। इसका उपयोग करके, मैंने पहले से ही अपने माता-पिता के लिए अपनी आवाज़ के साथ कई ऑडियोबुक बनाई हैं, और वे वास्तव में इसका आनंद लेते हैं।
मूल का उपयोग करने के बजाय, मैंने आसान सेटअप के लिए v3u द्वारा फोर्क का उपयोग किया।
conda create -n bert-vits2 python=3.9 conda activate bert-vits2 git clone https://github.com/v3ucn/Bert-vits2-V2.3.git cd Bert-vits2-V2.3 pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2+cu118 --index-url https://download.pytorch.org/whl/cu118 pip install -r requirements.txt
पूर्व-प्रशिक्षित मॉडल डाउनलोड करें (चीनी, जापानी और अंग्रेजी शामिल हैं):
wget -P slm/wavlm-base-plus/ https://huggingface.co/microsoft/wavlm-base-plus/resolve/main/pytorch_model.bin wget -P emotional/clap-htsat-fused/ https://huggingface.co/laion/clap-htsat-fused/resolve/main/pytorch_model.bin wget -P emotional/wav2vec2-large-robust-12-ft-emotion-msp-dim/ https://huggingface.co/audeering/wav2vec2-large-robust-12-ft-emotion-msp-dim/resolve/main/pytorch_model.bin wget -P bert/chinese-roberta-wwm-ext-large/ https://huggingface.co/hfl/chinese-roberta-wwm-ext-large/resolve/main/pytorch_model.bin wget -P bert/bert-base-japanese-v3/ https://huggingface.co/cl-tohoku/bert-base-japanese-v3/resolve/main/pytorch_model.bin wget -P bert/deberta-v3-large/ https://huggingface.co/microsoft/deberta-v3-large/resolve/main/pytorch_model.bin wget -P bert/deberta-v3-large/ https://huggingface.co/microsoft/deberta-v3-large/resolve/main/pytorch_model.generator.bin wget -P bert/deberta-v2-large-japanese/ https://huggingface.co/ku-nlp/deberta-v2-large-japanese/resolve/main/pytorch_model.bin
एक कैरेक्टर मॉडल फ़ोल्डर बनाएं mkdir -p Data/xxx/models/
आधार मॉडल डाउनलोड करें:
!wget -P Data/xxx/models/ https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/resolve/main/DUR_0.pth !wget -P Data/xxx/models/ https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/resolve/main/D_0.pth !wget -P Data/xxx/models/ https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/resolve/main/G_0.pth !wget -P Data/xxx/models/ https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/resolve/main/WD_0.pth #More options https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/model_filelist_tmpl?name=Bert-VITS2_2.3%E5%BA%95%E6%A8%A1 https://huggingface.co/Erythrocyte/bert-vits2_base_model/tree/main https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/tree/main
सभी bfloat16
को float16
से प्रतिस्थापित करके train_ms.py
संपादित करें
LAN एक्सेस के लिए webui.py
संपादित करें:
webbrowser.open(f"start http://localhost:7860") app.launch(server_name="0.0.0.0", server_port=7860)
batch_size
और spk2id
के लिए Data/xxx/config.json
संपादित करें
पिछले अनुभाग के समान कार्यप्रवाह।
शोर और मौन को हटाएं, सामान्यीकरण करें, फिर बिना कटे WAV फ़ाइल को Data/xxx/raw
में डालें।
dataset_path
, num_workers
, और keep_ckpts
के लिए config.yml
संपादित करें।
WAV फ़ाइल को स्लाइस करने के लिए python3 audio_slicer.py
चलाएँ।
2 सेकंड से कम की छोटी फ़ाइलों को हटाकर डेटासेट ( Data/xxx/raw
) को साफ़ करें।
व्हिस्पर pip install git+https://github.com/openai/whisper.git
इंस्टॉल करें
भाषा का स्वतः-पहचान बंद करने के लिए, इसे केवल अंग्रेज़ी पर सेट करें, और large
मॉडल का उपयोग करें; short_audio_transcribe.py
नीचे दिए अनुसार संपादित करें:
# set the spoken language to english print('language: en') lang = 'en' options = whisper.DecodingOptions(language='en') result = whisper.decode(model, mel, options) # set to use large model parser.add_argument("--whisper_size", default="large") #Solve error "Given groups=1, weight of size [1280, 128, 3], expected input[1, 80, 3000] to have 128 channels, but got 80 channels instead" while using large model mel = whisper.log_mel_spectrogram(audio,n_mels = 128).to(model.device)
ट्रांसक्रिप्शन शुरू करने के लिए python3 short_audio_transcribe.py
चलाएँ।
कटे हुए डेटासेट का पुनः नमूना लें: python3 resample.py --sr 44100 --in_dir ./Data/zizek/raw/ --out_dir ./Data/zizek/wavs/
प्रीप्रोसेस ट्रांसक्रिप्शन: python3 preprocess_text.py --transcription-path ./Data/zizek/esd.list
BERT सुविधा कॉन्फ़िगरेशन जनरेट करें: python3 bert_gen.py --config-path ./Data/zizek/configs/config.json
प्रशिक्षण शुरू करने के लिए python3 train_ms.py
चलाएँ
मॉडल पथ के लिए config.yml
संपादित करें:
model: "models/G_20900.pth"
अनुमान के लिए webui प्रारंभ करने के लिए python3 webui.py
चलाएँ
vits-simple-api प्रशिक्षित मॉडलों का उपयोग करने के लिए एक वेब फ्रंटएंड है। मैं इसका उपयोग मुख्य रूप से इसके लंबे टेक्स्ट समर्थन के लिए करता हूं जो मूल प्रोजेक्ट में नहीं है।
git clone https://github.com/Artrajz/vits-simple-api git pull https://github.com/Artrajz/vits-simple-api cd vits-simple-api conda create -n vits-simple-api python=3.10 pip conda activate vits-simple-api && pip install -r requirements.txt
(वैकल्पिक) पूर्व-प्रशिक्षित मॉडल फ़ाइलों को Bert-vits2-V2.3/
से vits-simple-api/bert_vits2/
पर कॉपी करें
Bert-vits2-V2.3/Data/xxx/models/G_xxxxx.pth
और Bert-vits2-V2.3/Data/xxx/config.json
को vits-simple-api/Model/xxx/
पर कॉपी करें
MODEL_LIST
और Default parameter
के लिए config.py
प्राथमिकता के अनुसार संपादित करें
Model/xxx/config.json
नीचे दिए अनुसार संपादित करें:
"data": { "training_files": "Data/train.list", "validation_files": "Data/val.list", "version": "2.3"
config.yml
में model_list
[xxx/G_xxxxx.pth, xxx/config.json]
के रूप में जांचें/संपादित करें
python app.py
चलाएँ
टोन के लिए SDP Ratio
, यादृच्छिकता के लिए Noise
, उच्चारण के लिए Noise_W
और गति के लिए Length
। emotion
और style
स्व-व्याख्यात्मक हैं
इसके हगिंग फेस रेपो में, दूसरों द्वारा साझा किए गए बहुत सारे VITS मॉडल हैं। आप पहले इसे आज़मा सकते हैं, और फिर फ़ाइलों से वांछित मॉडल डाउनलोड कर सकते हैं।
जेनशिन मॉडल अपनी उच्च गुणवत्ता के कारण कुछ सामग्री निर्माण समुदायों में व्यापक रूप से उपयोग किया जाता है। इसमें सैकड़ों अक्षर शामिल हैं, हालाँकि केवल चीनी और जापानी ही समर्थित हैं।
एक अन्य रेपो में, बहुत सारे Bert-vits2 मॉडल हैं जो लोकप्रिय चीनी स्ट्रीमर और VTubers से बने हैं।
पहले से ही इस और इस जैसे एआई वीट्यूबर्स बनाने वाली परियोजनाएं मौजूद हैं। मैं इस बात की आशा कर रहा हूं कि यह तकनीक निकट भविष्य में उद्योग को कैसे बदल सकती है।
https://techshinobi.org/posts/voice-vits/https://techshinobi.org/posts/voice-vits/