সুচিপত্র
আগের পোস্টে , আমি টিটিএস জেনারেশন ওয়েবইউআই- এর কিছুটা চেষ্টা করেছি এবং এটি আকর্ষণীয় বলে মনে হয়েছে। তাই, আমি আমার নিজের ভয়েস দিয়ে একটি ব্যবহারযোগ্য মডেলকে প্রশিক্ষণ দেওয়ার সিদ্ধান্ত নিয়েছি।
এই ভয়েস ক্লোনিং প্রকল্পটি ভয়েস পরিবর্তনের জন্য SVC এবং টেক্সট-টু-স্পিচের জন্য VITS উভয়ই অন্বেষণ করে। এমন কোন টুল নেই যা সব কাজ করে।
আমি এই প্রকল্পের জন্য বেশ কয়েকটি সরঞ্জাম পরীক্ষা করেছি। এই , এই , এবং এই মত অনেক ভাল গাইড চাইনিজ ভাষায়। তাই, আমি ভেবেছিলাম আমার নোটগুলি ইংরেজিতে পোস্ট করা উপযোগী হবে।
যদিও so-vits-svc কয়েক মাসের জন্য সংরক্ষণাগারভুক্ত করা হয়েছে, সম্ভবত নিপীড়নের কারণে, এটি এখনও সেরা ফলাফলের হাতিয়ার।
অন্যান্য সম্পর্কিত টুল যেমন so-vits-svc-fork , so-vits-svc-5.0 , DDSP-SVC , এবং RVC হয় দ্রুত/লিটার অপ্টিমাইজেশান, আরও বৈশিষ্ট্য, বা আরও ভাল ইন্টারফেস প্রদান করে।
কিন্তু পর্যাপ্ত সময় এবং সংস্থান সহ, এই বিকল্পগুলির কোনটিই আসল so-vits-svc দ্বারা উৎপন্ন উচ্চতর ফলাফলের সাথে প্রতিযোগিতা করতে পারে না।
TTS-এর জন্য, Bert-VITS2 নামে একটি নতুন টুল চমত্কারভাবে কাজ করে এবং গত মাসে এটির চূড়ান্ত প্রকাশের সাথে ইতিমধ্যেই পরিপক্ক হয়েছে। এটির কিছু খুব আলাদা ব্যবহারের ক্ষেত্রে রয়েছে, উদাহরণস্বরূপ, অডিও সামগ্রী তৈরি৷
ডেটাসেটের অডিও ফাইলগুলি WAV ফর্ম্যাটে, 44100 Hz, 16bit, mono, আদর্শভাবে 1-2 ঘন্টা হওয়া উচিত।
আলটিমেট ভোকাল রিমুভার এই কাজের জন্য সবচেয়ে সহজ টুল। একটি থ্রেড আছে যা বিস্তারিতভাবে সবকিছু ব্যাখ্যা করে।
মডেল: VR - UVR(4_HP-ভোকাল-UVR)
সেটিংস: 512 - 10 - GPU
আউটপুট ইনস্ট্রুমেন্টাল এবং অপরিষ্কার ভোকাল
মডেল: VR - UVR(5_HP-Karaoke-UVR)
সেটিংস: 512 - 10 - GPU
আউটপুট ব্যাকগ্রাউন্ড ভোকাল এবং অপরিষ্কার প্রধান ভোকাল
মডেল: VR - UVR-DeEcho-DeReverb এবং UVR-DeNoise
সেটিংস: 512 - 10 - GPU - শুধুমাত্র অন্য নয়
আউটপুট পরিষ্কার প্রধান ভোকাল
একটি কনডেন্সার মাইক্রোফোন সহ একটি চিকিত্সা করা ঘরে রেকর্ড করা ভাল, অন্যথায়, শব্দ কমাতে একটি দিকনির্দেশক বা গতিশীল মাইক্রোফোন ব্যবহার করুন৷
আমি প্রথমবার সঙ্গীতে প্রবেশ করি হাই স্কুলের সময়, নীল Sennheiser MX500 এবং Koss Porta Pro এর সাথে। আমার এখনও মনে আছে যে প্রথমবার আমি একটি গান রেকর্ড করছিলাম যেটি Sony VAIO-তে ছিল Cool Edit Pro এর সাথে।
আজকাল, আমি এখনও অপেশাদার হিসাবে অডিও হার্ডওয়্যারে প্রচুর অর্থ ব্যয় করতে প্রতিরোধ করি কারণ এটি আক্ষরিক অর্থে একটি অর্থ চোষা কালো গর্ত।
তবুও, আমি সত্যিই সেই সস্তা উত্পাদন সরঞ্জামগুলির নির্ভরযোগ্যতার প্রশংসা করি।
আমার সেটআপের মূল অংশটি একটি Behringer UCA202, এবং এটি আমার ব্যবহারের ক্ষেত্রে উপযুক্ত। দাম কমার সময় আমি এটি 10 ডলারে কিনেছি।
এটি একটি তথাকথিত "অডিও ইন্টারফেস" তবে মূলত একাধিক পোর্ট সহ একটি সাউন্ড কার্ড। আমি আমার হেডফোনের জন্য RCA থেকে 3.5mm TRS ক্যাবল, নিয়মিত আউটপুটের জন্য একটি আধা-খোলা K240s এবং মনিটরের আউটপুটের জন্য একটি বন্ধ-ব্যাক HD669/MDR7506 ব্যবহার করেছি।
উল্লিখিত তিনটি হেডফোনই স্বাভাবিক মূল্যের জন্য $100 এর নিচে। এবং সেখানে স্যামসন, টাসকাম, নক্স গিয়ার এবং আরও অনেক কিছুর ক্লোন রয়েছে $50 এর কম।
ইনপুট ডিভাইসের জন্য, আমি আমার পরিবেশগত গোলমালের জন্য একটি গতিশীল মাইক্রোফোন ব্যবহার করছি। এটি একটি SM58 কপি (Pyle) + একটি Tascam DR-05 রেকর্ডার (একটি পরিবর্ধক হিসাবে)। অন্যান্য ক্লোন যেমন SL84c বা wm58 এটাও করবে।
রেকর্ডারের MIC/বাহ্যিক-ইনপুটে মাইক্রোফোন সংযোগ করতে আমি একটি XLR থেকে 3.5mm TRS তার ব্যবহার করি এবং তারপরে রেকর্ডারের লাইন-আউট এবং UCA202 এর ইনপুটের মধ্যে সংযোগ করতে একটি AUX তার ব্যবহার করি।
আমার সেটআপের প্রতিলিপি করার জন্য একটি "অডিও ইন্টারফেস" এবং একটি ডেডিকেটেড এমপ্লিফায়ার কেনার পরামর্শ দেওয়া হয় না। একটি $10 সি-মিডিয়া USB সাউন্ড কার্ড যথেষ্ট ভাল হওয়া উচিত। আমার মালিকানাধীন Syba মডেলটি সরাসরি "প্রি-অ্যাম্পিং" ডায়নামিক মাইক্রোফোন এবং এমনকি কিছু নিম্ন-প্রান্তের ফ্যান্টম-চালিত মাইক্রোফোনে সক্ষম।
সেটআপ অত্যন্ত সস্তা হতে পারে ($40~60), কিন্তু UCA202 এবং DR-05 এর সাথে, শব্দটি অনেক বেশি পরিষ্কার। এবং আমি সত্যিই আমার পুরানো ভাল ডিজিটাল রেকর্ডারের শারীরিক নিয়ন্ত্রণ, বহুমুখিতা এবং বহনযোগ্যতা পছন্দ করি।
যদিও আমি যখন ডিজাইনার হিসাবে বেতন পাচ্ছিলাম, আমি অডিশন নিয়ে বেশ খুশি ছিলাম। কিন্তু একটি মজার প্রকল্পে ব্যক্তিগত ব্যবহারের জন্য, Audacity হল Adobe-এর বিশৃঙ্খল মন্দ এড়ানোর উপায়।
অডিও-স্লাইসার বা অডিও-স্লাইসার (গুই) ব্যবহার করুন অডিও ফাইলটিকে পরবর্তীতে ব্যবহারের জন্য ছোট ছোট টুকরো টুকরো করে কাটতে।
ডিফল্ট সেটিং দুর্দান্ত কাজ করে।
সেই খুব ছোটগুলি সরান এবং যেগুলি এখনও 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
সমস্ত প্রস্তুত audio.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
: যত ছোট তত দ্রুত (রুক্ষ), বড় ধীর (ভাল)।
প্রস্তাবিত ব্যাচ_সাইজ প্রতি VRAM: 4=6G;6=8G;10=12G;14=16G;20=24G
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
diffusion.yaml
এটি প্রশিক্ষিত মডেল চেষ্টা করার সময়. পরামিতিগুলিকে টুইক করার সুবিধার জন্য আমি Webui পছন্দ করব।
কিন্তু এটি ফায়ার করার আগে, 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 প্লাগইনও লোড করে।
Audacity এর সাথে গানগুলি আয়ত্ত করার টিউটোরিয়াল খুঁজে পাওয়া কঠিন নয়।
সাধারণত, মাস্টারিং প্রক্রিয়াটি মিক্সিং/ব্যালেন্সিং, EQ/কম্প্রেসিং, রিভার্ব এবং ইমেজিং হওয়া উচিত। টুলটি যত উন্নত হবে, প্রক্রিয়া তত সহজ হবে।
আমি অবশ্যই ভবিষ্যতে আমার মাস্টারিং প্রক্রিয়ার জন্য অডাসিটি গ্রহণ করার জন্য আরও বেশি সময় ব্যয় করব এবং আমি সবাইকে তা করার পরামর্শ দিচ্ছি।
এটি রিয়েল-টাইম সমর্থন সহ একটি 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"
ভয়েস ক্লোনিংয়ের জন্য রিয়েল-টাইম GUI:
python gui_diff.py
এটি একটি TTS টুল যা উপরের সবকিছু থেকে সম্পূর্ণ আলাদা। এটি ব্যবহার করে, আমি ইতিমধ্যে আমার পিতামাতার জন্য আমার ভয়েস দিয়ে বেশ কয়েকটি অডিওবুক তৈরি করেছি এবং তারা সত্যিই এটি উপভোগ করে।
আসল ব্যবহার করার পরিবর্তে, আমি একটি সহজ সেটআপের জন্য 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
সম্পাদনা করুন
পূর্ববর্তী বিভাগে অনুরূপ কর্মপ্রবাহ.
গোলমাল এবং নীরবতা সরান, স্বাভাবিককরণ, তারপর Data/xxx/raw
এ আন-স্লাইস করা WAV ফাইল রাখুন।
dataset_path
, num_workers
, এবং keep_ckpts
এর জন্য config.yml
সম্পাদনা করুন।
WAV ফাইলটি স্লাইস করতে python3 audio_slicer.py
চালান।
2 সেকেন্ডের নিচে থাকা ছোট ফাইলগুলি সরিয়ে ডেটাসেট ( Data/xxx/raw
) পরিষ্কার করুন।
whisper 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
এ [xxx/G_xxxxx.pth, xxx/config.json]
হিসেবে model_list
চেক/সম্পাদনা করুন
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/