প্রকল্প সম্পর্কে

## প্রকল্প সংক্ষিপ্ত বিবরণ Retrieval-based-Voice-Conversion-WebUI (RVC) একটি সহজ ও ব্যবহারযোগ্য ভয়েস টিমব্রে রূপান্তর/ভয়েস-চেঞ্জিং ফ্রেমওয়ার্ক, যাতে ওয়েব-ভিত্তিক অপারেশন ইন্টারফেস রয়েছে। README-তে বলা হয়েছে, এর বেস মডেল প্রায় ৫০ ঘণ্টার ওপেন-সোর্স VCTK প্রশিক্ষণ সেট দিয়ে প্রশিক্ষিত, এবং কপিরাইট সংক্রান্ত কোনো উদ্বেগ নেই বলে দাবি করা হয়েছে। ## প্রধান বৈশিষ্ট্য - top1 রিট্রিভাল ব্যবহার করে ইনপুট উৎসের ফিচারকে প্রশিক্ষণ সেটের ফিচার দিয়ে প্রতিস্থাপন করা হয়, যাতে টিমব্রে লিকেজ দমন করা যায়। - তুলনামূলকভাবে দুর্বল গ্রাফিক্স কার্ডেও দ্রুত প্রশিক্ষণ সম্ভব। - অল্প ডেটা দিয়েই প্রশিক্ষণ সম্ভব; ন্যূনতম ১০ মিনিটের কম ব্যাকগ্রাউন্ড নয়জসহ ভয়েস ডেটা সংগ্রহ করার পরামর্শ দেওয়া হয়। - ckpt-merge-এর মাধ্যমে মডেল মার্জিং করে টিমব্রে পরিবর্তন করা যায়। - সহজ ও ব্যবহারযোগ্য ওয়েব ইন্টারফেস প্রদান করে। - pymss/MSST মডেল ব্যবহার করে ভোকাল ও সঙ্গীত (ব্যাকগ্রাউন্ড) আলাদা করা যায়। - InterSpeech2023-RMVPE ভয়েস পিচ এক্সট্রাকশন অ্যালগরিদম ব্যবহার করে; README-তে বলা হয়েছে এটি মিউট/নীরব সমস্যা কমাতে পারে, দ্রুতগতির এবং কম রিসোর্স ব্যবহার করে। - AMD/Intel গ্রাফিক্স কার্ডে CPU-নির্ভর সমাধান ব্যবহৃত হয়; Windows-এ DirectML এবং Linux-এ CPU ব্যবহার করা যায়। ## ইন্টারফেস ও লেটেন্সি README-তে প্রশিক্ষণ-ইনফারেন্স ইন্টারফেস এবং রিয়েল-টাইম ভয়েস চেঞ্জিং ইন্টারফেস দেখানো হয়েছে। রিয়েল-টাইম ভয়েস চেঞ্জিং অংশে বলা হয়েছে, এন্ড-টু-এন্ড ১৭০ms লেটেন্সি অর্জিত হয়েছে; ASIO ইনপুট/আউটপুট ডিভাইস ব্যবহার করলে এন্ড-টু-এন্ড ৯০ms লেটেন্সি সম্ভব, তবে এটি হার্ডওয়্যার ড্রাইভার সাপোর্টের ওপর অনেকাংশে নির্ভরশীল। ## পরিবেশ কনফিগারেশন এই ব্রাঞ্চটি Python 3.12 x64-এর জন্য তৈরি; প্রথমে রিপোজিটরির রুট ডিরেক্টরিতে প্রবেশ করতে হবে। Ubuntu-র জন্য Ubuntu 24.04 x86_64 সুপারিশ করা হয়েছে। Ubuntu 24.04-এ python3.12, python3.12-venv, python3.12-dev, ffmpeg, unzip, libsndfile1, libportaudio2 ইনস্টল করতে হবে, তারপর ভার্চুয়াল এনভায়রনমেন্ট তৈরি করে pip, setuptools, wheel আপগ্রেড করতে হবে। Windows-এ Python 3.12 x64 ইনস্টল করার পর একইভাবে ভার্চুয়াল এনভায়রনমেন্ট তৈরি করতে হবে। ডিপেন্ডেন্সি হার্ডওয়্যার অনুযায়ী নির্বাচন করা হয়: - CPU, AMD, Intel: requirments_cpu_py312.txt ব্যবহার করুন; Windows-এ DirectML এবং Linux-এ CPU ব্যবহার করা যায়। - NVIDIA RTX 50 সিরিজ: প্রথমে CUDA 12.8 সংস্করণের Torch ইনস্টল করুন, তারপর requirments_cu128_py312.txt ইনস্টল করুন। - NVIDIA RTX 50 সিরিজের আগের মডেল: প্রথমে CUDA 11.8 সংস্করণের Torch ইনস্টল করুন, তারপর requirments_cu118_py312.txt ইনস্টল করুন। README-তে Torch ও CUDA অবস্থা যাচাই করার কমান্ড দেওয়া আছে। তিনটি ডিপেন্ডেন্সি ফাইলের শীর্ষে ডাউনলোড সোর্স অন্তর্ভুক্ত রয়েছে; চীনের মূল ভূখণ্ডের ব্যবহারকারীরা ডিফল্ট মিরর রাখতে পারেন বা অফিসিয়াল সোর্সে পরিবর্তন করতে পারেন। ## মডেল ও রান ডিরেক্টরি WebUI স্বয়ংক্রিয়ভাবে রান ডিরেক্টরি তৈরি করবে। মডেলগুলো Hugging Face মডেল রিপোজিটরি থেকে ডাউনলোড করে নির্দিষ্ট পাথ বজায় রাখতে হবে, যার মধ্যে রয়েছে assets/hubert_base, assets/rmvpe, assets/pretrained, assets/pretrained_v2, assets/pymss_weights, assets/weights, assets/indices এবং logs/mute। README-তে huggingface_hub ব্যবহার করে প্রতিটি কম্পোনেন্ট মডেল ডাউনলোডের কমান্ড দেওয়া আছে, এবং উল্লেখ করা হয়েছে যে শুধুমাত্র Windows AMD/Intel DirectML পরিবেশে rmvpe.onnx প্রয়োজন। Ubuntu-তে FFmpeg সিস্টেম ডিপেন্ডেন্সির সাথে ইনস্টল হয়ে যায়; Windows ব্যবহারকারীরা ffmpeg.exe ও ffprobe.exe প্রজেক্টের রুট ডিরেক্টরিতে রাখতে পারেন। ## ব্যবহার শুরু WebUI চালু করতে python webui.py ব্যবহার করুন; ডেস্কটপবিহীন Ubuntu সার্ভারে python webui.py --noautoopen ব্যবহার করুন। ডিফল্ট সার্ভিস পোর্ট ৭৮৬৫। ব্যবহারকারীর নিজস্ব .pth মডেল assets/weights/-এ এবং .index ফাইল assets/indices/-এ রাখতে হবে। ## রেফারেন্স প্রকল্প README-তে ContentVec, VITS, HIFIGAN, Gradio, FFmpeg, Ultimate Vocal Remover, pymss, audio-slicer এবং RMVPE-সহ বিভিন্ন রেফারেন্স প্রকল্প তালিকাভুক্ত করা হয়েছে, এবং বলা হয়েছে যে RMVPE প্রি-ট্রেইন্ড মডেল yxlllc ও RVC-Boss দ্বারা প্রশিক্ষিত ও পরীক্ষিত।