paint-brush
SoftVC VITS এবং Bert-VITS2 দিয়ে কীভাবে ভয়েস ক্লোন করবেন: একটি গভীর ডুবদ্বারা@techshinobi
963 পড়া
963 পড়া

SoftVC VITS এবং Bert-VITS2 দিয়ে কীভাবে ভয়েস ক্লোন করবেন: একটি গভীর ডুব

দ্বারা Tech Shinobi12m2024/03/06
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

আগের পোস্টে, আমি টিটিএস জেনারেশন ওয়েবইউআইয়ের কিছুটা চেষ্টা করেছি এবং এটি আকর্ষণীয় বলে মনে হয়েছে। তাই, আমি আমার নিজের ভয়েস দিয়ে একটি ব্যবহারযোগ্য মডেলকে প্রশিক্ষণ দেওয়ার সিদ্ধান্ত নিয়েছি। এই ভয়েস ক্লোনিং প্রকল্পটি ভয়েস পরিবর্তনের জন্য SVC এবং টেক্সট-টু-স্পিচের জন্য VITS উভয়ই অন্বেষণ করে। এমন কোন টুল নেই যা সব কাজ করে। আমি এই প্রকল্পের জন্য বেশ কয়েকটি সরঞ্জাম পরীক্ষা করেছি। এই, এই, এবং এই মত অনেক ভাল গাইড চীনা ভাষায় আছে। তাই, আমি ভেবেছিলাম আমার নোটগুলি ইংরেজিতে পোস্ট করা উপযোগী হবে।
featured image - SoftVC VITS এবং Bert-VITS2 দিয়ে কীভাবে ভয়েস ক্লোন করবেন: একটি গভীর ডুব
Tech Shinobi HackerNoon profile picture
0-item

সুচিপত্র

  • SoftVC VITS এবং Bert-VITS2 এর সাথে ভয়েস ক্লোনিং-এ গভীর ডুব
    • ডেটাসেট প্রস্তুত করুন
      • একটি গান থেকে নির্যাস
        • UVR কর্মপ্রবাহ
      • ভোকাল রেকর্ডিংয়ের জন্য প্রস্তুতি
        • সস্তার অডিও সরঞ্জাম
        • ধৃষ্টতা কর্মপ্রবাহ
      • অডিও-স্লাইসার
        • ডেটাসেট পরিষ্কার করা
        • অট্টতা ম্যাচ
    • so-vits-svc
      • পরিবেশ স্থাপন করুন
      • আরম্ভ
        • প্রাক-প্রশিক্ষিত মডেল ডাউনলোড করুন
        • ডেটাসেট প্রস্তুতি
        • কনফিগার সম্পাদনা করুন
      • প্রশিক্ষণ
      • অনুমান
      • অডিও এডিটিং
    • so-vits-svc-কাঁটা
      • স্থাপন
      • প্রস্তুতি
      • প্রশিক্ষণ
      • অনুমান
    • ডিডিএসপি-এসভিসি
      • প্রস্তুতি
      • প্রশিক্ষণ
      • অনুমান
    • Bert-vits2-V2.3
      • আরম্ভ
      • প্রস্তুতি
        • প্রতিলিপি
      • প্রশিক্ষণ এবং অনুমান
    • vits-simple-api
      • Tweaks
      • মডেল শেয়ার করুন


আগের পোস্টে , আমি টিটিএস জেনারেশন ওয়েবইউআই- এর কিছুটা চেষ্টা করেছি এবং এটি আকর্ষণীয় বলে মনে হয়েছে। তাই, আমি আমার নিজের ভয়েস দিয়ে একটি ব্যবহারযোগ্য মডেলকে প্রশিক্ষণ দেওয়ার সিদ্ধান্ত নিয়েছি।


এই ভয়েস ক্লোনিং প্রকল্পটি ভয়েস পরিবর্তনের জন্য 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 ঘন্টা হওয়া উচিত।

একটি গান থেকে নির্যাস

আলটিমেট ভোকাল রিমুভার এই কাজের জন্য সবচেয়ে সহজ টুল। একটি থ্রেড আছে যা বিস্তারিতভাবে সবকিছু ব্যাখ্যা করে।

UVR কর্মপ্রবাহ

  • ইন্সট্রুমেন্টাল সরান এবং নিষ্কাশন করুন
    • মডেল: VR - UVR(4_HP-ভোকাল-UVR)

    • সেটিংস: 512 - 10 - GPU

    • আউটপুট ইনস্ট্রুমেন্টাল এবং অপরিষ্কার ভোকাল


  • সরান এবং পটভূমি ভোকাল নিষ্কাশন.
    • মডেল: VR - UVR(5_HP-Karaoke-UVR)

    • সেটিংস: 512 - 10 - GPU

    • আউটপুট ব্যাকগ্রাউন্ড ভোকাল এবং অপরিষ্কার প্রধান ভোকাল


  • reverb এবং গোলমাল সরান.
    • মডেল: VR - UVR-DeEcho-DeReverb এবং UVR-DeNoise

    • সেটিংস: 512 - 10 - GPU - শুধুমাত্র অন্য নয়

    • আউটপুট পরিষ্কার প্রধান ভোকাল


  • (ঐচ্ছিক) একটি ম্যানুয়াল সূক্ষ্ম-পরিষ্কার করার জন্য RipX (নন-ফ্রি) ব্যবহার করা।

ভোকাল রেকর্ডিংয়ের জন্য প্রস্তুতি

একটি কনডেন্সার মাইক্রোফোন সহ একটি চিকিত্সা করা ঘরে রেকর্ড করা ভাল, অন্যথায়, শব্দ কমাতে একটি দিকনির্দেশক বা গতিশীল মাইক্রোফোন ব্যবহার করুন৷

সস্তার অডিও সরঞ্জাম

আমি প্রথমবার সঙ্গীতে প্রবেশ করি হাই স্কুলের সময়, নীল 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

পরিবেশ সেট আপ করুন

একটি সিস্টেমের মধ্যে একাধিক পাইথন টুল চালানোর জন্য ভার্চুয়াল পরিবেশ অপরিহার্য। আমি ভিএম এবং ডকার ব্যবহার করতাম, কিন্তু এখন, আমি দেখেছি যে অ্যানাকোন্ডা অন্যদের তুলনায় দ্রুত এবং সহজ।


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


  • লগ/44k
    • 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


  • logs/44k/diffusion
    • 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


  • লগ/44k
    • feature_and_index.pkl
    • kmeans_10000.pt
    • মডেল_0.pt
    • G_xxxxx.pt

অনুমান

এটি প্রশিক্ষিত মডেল চেষ্টা করার সময়. পরামিতিগুলিকে টুইক করার সুবিধার জন্য আমি 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-কাঁটা

এটি রিয়েল-টাইম সমর্থন সহ একটি 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

Bert-vits2-V2.3

এটি একটি 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

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 চালান

Tweaks

স্বরের জন্য SDP Ratio , এলোমেলোতার জন্য Noise , উচ্চারণের জন্য Noise_W এবং গতির জন্য Lengthemotion এবং style স্ব-ব্যাখ্যামূলক

মডেল শেয়ার করুন

এর আলিঙ্গন ফেস রেপোতে , অন্যদের দ্বারা ভাগ করা প্রচুর VITS মডেল রয়েছে৷ আপনি প্রথমে এটি চেষ্টা করে দেখতে পারেন, এবং তারপর ফাইলগুলি থেকে পছন্দসই মডেলগুলি ডাউনলোড করতে পারেন।


গেনশিন মডেলটি উচ্চ মানের কারণে কিছু বিষয়বস্তু তৈরি সম্প্রদায়ে ব্যাপকভাবে ব্যবহৃত হয়। এটিতে শত শত অক্ষর রয়েছে, যদিও শুধুমাত্র চীনা এবং জাপানি সমর্থিত।

অন্য একটি রেপোতে , অনেকগুলি Bert-vits2 মডেল রয়েছে যা জনপ্রিয় চাইনিজ স্ট্রিমার এবং VTubers থেকে তৈরি।


ইতিমধ্যেই এআই ভিটিউবার তৈরির প্রকল্প রয়েছে অদূর ভবিষ্যতে এই প্রযুক্তি কীভাবে শিল্পকে পরিবর্তন করতে পারে তার জন্য আমি উন্মুখ।


https://techshinobi.org/posts/voice-vits/https://techshinobi.org/posts/voice-vits/