Sıfır Örnekli Metinden Konuşmaya: 5 saniyelik bir vokal örneği girin ve anında metinden konuşmaya dönüşümünü deneyimleyin.
Birkaç Örnekli Metinden Konuşmaya: Daha iyi ses benzerliği ve gerçekçiliği için modeli yalnızca 1 dakikalık eğitim verisiyle ince ayarlayın.
Çapraz Dil Desteği: Eğitim veri setinden farklı dillerde çıkarım, şu anda İngilizce, Japonca, Çince, Kantonca ve Koreceyi destekliyor.
Web Arayüzü Araçları: Entegre araçlar arasında vokal eşliğinde ayırma, otomatik eğitim seti segmentasyonu, Çince ASR ve metin etiketleme bulunur ve yeni başlayanların eğitim veri setleri ve GPT/SoVITS modelleri oluşturmalarına yardımcı olur.
Demo videomuzu buradan izleyin!
Görünmeyen konuşmacılar birkaç örnekli ince ayar demosu:
https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb
Kullanıcı Kılavuzu: 简体中文 | English
| Python Version | PyTorch Version | Device |
|---|---|---|
| Python 3.10 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.11 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
| Python 3.9 | PyTorch 2.8.0dev | CUDA 12.8 |
| Python 3.9 | PyTorch 2.5.1 | Apple silicon |
| Python 3.11 | PyTorch 2.7.0 | Apple silicon |
| Python 3.9 | PyTorch 2.2.2 | CPU |
Eğer bir Windows kullanıcısıysanız (win>=10 ile test edilmiştir), entegre paketi indirin ve go-webui.bat dosyasına çift tıklayarak GPT-SoVITS-WebUI'yi başlatın.
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device <CU126|CU128|ROCM|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]
Not: Mac'lerde GPU'larla eğitilen modeller, diğer cihazlarda eğitilenlere göre önemli ölçüde daha düşük kalitede sonuç verir, bu nedenle geçici olarak CPU'lar kullanıyoruz.
Aşağıdaki komutları çalıştırarak programı yükleyin:
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device <MPS|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]
conda create -n GPTSoVits python=3.10 conda activate GPTSoVits pip install -r extra-req.txt --no-deps pip install -r requirements.txt
conda activate GPTSoVits conda install ffmpeg
sudo apt install ffmpeg
sudo apt install libsox-dev
ffmpeg.exe ve ffprobe.exe dosyalarını indirin ve GPT-SoVITS kök dizinine yerleştirin
Visual Studio 2017 ortamını yükleyin
brew install ffmpeg
Kod tabanı hızla geliştiği halde Docker imajları daha yavaş yayınlandığı için lütfen şu adımları izleyin:
Lite, Docker imajında ASR modelleri ve UVR5 modellerinin bulunmadığı anlamına gelir. UVR5 modellerini manuel olarak indirebilirsiniz; ASR modelleri ise gerektiğinde program tarafından otomatik olarak indiriliris_half: Yarı hassasiyet (fp16) kullanımını kontrol eder. GPU’nuz destekliyorsa, belleği azaltmak için true olarak ayarlayın.Windows (Docker Desktop) ortamında, varsayılan paylaşılan bellek boyutu düşüktür ve bu beklenmedik hatalara neden olabilir. Sistem belleğinize göre Docker Compose dosyasındaki shm_size değerini (örneğin 16g) artırmanız önerilir.
docker-compose.yaml dosyasında iki tür servis tanımlanmıştır:
GPT-SoVITS-CU126 ve GPT-SoVITS-CU128: Tüm özellikleri içeren tam sürüm.GPT-SoVITS-CU126-Lite ve GPT-SoVITS-CU128-Lite: Daha az bağımlılığa ve sınırlı işlevselliğe sahip hafif sürüm.Belirli bir servisi Docker Compose ile çalıştırmak için şu komutu kullanın:
docker compose run --service-ports <GPT-SoVITS-CU126-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU126|GPT-SoVITS-CU128>
Docker imajını kendiniz oluşturmak isterseniz şu komutu kullanın:
bash docker_build.sh --cuda <12.6|12.8> [--lite]
Konteyner arka planda çalışırken, aşağıdaki komutla içine girebilirsiniz:
docker exec -it <GPT-SoVITS-CU126-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU126|GPT-SoVITS-CU128> bash
Eğer install.sh başarıyla çalıştırılırsa, No.1,2,3 adımını atlayabilirsiniz.
GPT-SoVITS Models üzerinden önceden eğitilmiş modelleri indirip GPT_SoVITS/pretrained_models dizinine yerleştirin.
G2PWModel.zip(HF)| G2PWModel.zip(ModelScope) üzerinden modeli indirip sıkıştırmayı açın ve G2PWModel olarak yeniden adlandırın, ardından GPT_SoVITS/text dizinine yerleştirin. (Sadece Çince TTS için)
UVR5 (Vokal/Enstrümantal Ayrımı & Yankı Giderme) için, UVR5 Weights üzerinden modelleri indirip tools/uvr5/uvr5_weights dizinine yerleştirin.
UVR5'te bs_roformer veya mel_band_roformer modellerini kullanıyorsanız, modeli ve ilgili yapılandırma dosyasını manuel olarak indirip tools/UVR5/UVR5_weights klasörüne yerleştirebilirsiniz. Model dosyası ve yapılandırma dosyasının adı, uzantı dışında aynı olmalıdır. Ayrıca, model ve yapılandırma dosyasının adlarında "roformer" kelimesi yer almalıdır, böylece roformer sınıfındaki bir model olarak tanınır.
Model adı ve yapılandırma dosyası adı içinde doğrudan model tipini belirtmek önerilir. Örneğin: mel_mand_roformer, bs_roformer. Belirtilmezse, yapılandırma dosyasından özellikler karşılaştırılarak model tipi belirlenir. Örneğin, bs_roformer_ep_368_sdr_12.9628.ckpt modeli ve karşılık gelen yapılandırma dosyası bs_roformer_ep_368_sdr_12.9628.yaml bir çifttir. Aynı şekilde, kim_mel_band_roformer.ckpt ve kim_mel_band_roformer.yaml da bir çifttir.
Çince ASR için, Damo ASR Model, Damo VAD Model ve Damo Punc Model üzerinden modelleri indirip tools/asr/models dizinine yerleştirin.
İngilizce veya Japonca ASR için, Faster Whisper Large V3 üzerinden modeli indirip tools/asr/models dizinine yerleştirin. Ayrıca, diğer modeller benzer bir etki yaratabilir ve daha az disk alanı kaplayabilir.
TTS açıklama .list dosya formatı:
vocal_path|speaker_name|language|text
Dil sözlüğü:
Örnek:
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
go-webui.bat dosyasına çift tıklayın veya go-webui.ps1 kullanın.
V1'e geçmek istiyorsanız, go-webui-v1.bat dosyasına çift tıklayın veya go-webui-v1.ps1 kullanın.
python webui.py <dil(isteğe bağlı)>
V1'e geçmek istiyorsanız,
python webui.py v1 <dil(isteğe bağlı)>
veya WebUI'de manuel olarak sürüm değiştirin.
go-webui-v2.bat dosyasına çift tıklayın veya go-webui-v2.ps1 kullanın, ardından çıkarım webui'sini 1-GPT-SoVITS-TTS/1C-inference adresinde açın.
python GPT_SoVITS/inference_webui.py <dil(isteğe bağlı)>
VEYA
python webui.py
ardından çıkarım webui'sini 1-GPT-SoVITS-TTS/1C-inference adresinde açın.
Yeni Özellikler:
Korece ve Kantonca destekler
Optimize edilmiş metin ön yüzü
Önceden eğitilmiş model 2k saatten 5k saate kadar genişletildi
Düşük kaliteli referans sesler için geliştirilmiş sentez kalitesi
V1 ortamından V2'yi kullanmak için:
pip install -r requirements.txt ile bazı paketleri güncelleyin
github'dan en son kodları klonlayın.
huggingface adresinden v2 önceden eğitilmiş modelleri indirin ve bunları GPT_SoVITS/pretrained_models/gsv-v2final-pretrained dizinine yerleştirin.
Ek olarak Çince V2: G2PWModel.zip(HF)| G2PWModel.zip(ModelScope) (G2PW modellerini indirip, zipten çıkarıp, G2PWModel olarak yeniden adlandırıp GPT_SoVITS/text dizinine yerleştirin.)
Yeni Özellikler:
Tını benzerliği daha yüksek olup, hedef konuşmacıyı yakınsamak için daha az eğitim verisi gerekmektedir (tını benzerliği, base model doğrudan kullanılacak şekilde fine-tuning yapılmadan önemli ölçüde iyileştirilmiştir).
GPT modeli daha kararlı hale geldi, tekrarlar ve atlamalar azaldı ve daha zengin duygusal ifadeler ile konuşma üretmek daha kolay hale geldi.
V2 ortamında V3 kullanımı:
pip install -r requirements.txt ile bazı paketleri güncelleyin.
GitHub'dan en son kodları klonlayın.
huggingface üzerinden v3 önceden eğitilmiş modellerini (s1v3.ckpt, s2Gv3.pth ve models--nvidia--bigvgan_v2_24khz_100band_256x klasörünü) indirin ve GPT_SoVITS/pretrained_models dizinine yerleştirin.
ek: Ses Süper Çözünürlük modeli için nasıl indirileceği hakkında bilgi alabilirsiniz.
Yeni Özellikler:
V1/V2/V3 ortamından V4'e geçiş:
Bazı bağımlılıkları güncellemek için pip install -r requirements.txt komutunu çalıştırın.
GitHub'dan en son kodları klonlayın.
huggingface üzerinden V4 ön eğitilmiş modelleri indirin (gsv-v4-pretrained/s2v4.ckpt ve gsv-v4-pretrained/vocoder.pth) ve bunları GPT_SoVITS/pretrained_models dizinine koyun.
Yeni Özellikler:
V2 ile karşılaştırıldığında biraz daha yüksek VRAM kullanımı sağlar ancak V4'ten daha iyi performans gösterir; aynı donanım maliyeti ve hız avantajını korur. Daha fazla bilgi
V1/V2 ve V2Pro serisi benzer özelliklere sahipken, V3/V4 de yakın işlevleri paylaşır. Ortalama kalite düşük olan eğitim setleriyle V1/V2/V2Pro iyi sonuçlar verebilir ama V3/V4 veremez. Ayrıca, V3/V4’ün ürettiği ses tonu genel eğitim setine değil, referans ses örneğine daha çok benzemektedir.
V1/V2/V3/V4 ortamından V2Pro'ya geçiş:
Bazı bağımlılıkları güncellemek için pip install -r requirements.txt komutunu çalıştırın.
GitHub'dan en son kodları klonlayın.
huggingface üzerinden V2Pro ön eğitilmiş modelleri indirin (v2Pro/s2Dv2Pro.pth, v2Pro/s2Gv2Pro.pth, v2Pro/s2Dv2ProPlus.pth, v2Pro/s2Gv2ProPlus.pth, ve sv/pretrained_eres2netv2w24s4ep4.ckpt) ve bunları GPT_SoVITS/pretrained_models dizinine koyun.
Yüksek Öncelikli:
Özellikler:
UVR5 için Web Arayüzünü açmak için komut satırını kullanın
python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
Veri setinin ses segmentasyonu komut satırı kullanılarak bu şekilde yapılır
python audio_slicer.py \
--input_path "<orijinal_ses_dosyası_veya_dizininin_yolu>" \
--output_root "<alt_bölümlere_ayrılmış_ses_kliplerinin_kaydedileceği_dizin>" \
--threshold <ses_eşiği> \
--min_length <her_bir_alt_klibin_minimum_süresi> \
--min_interval <bitişik_alt_klipler_arasındaki_en_kısa_zaman_aralığı>
--hop_size <ses_eğrisini_hesaplamak_için_adım_boyutu>
Veri seti ASR işleme komut satırı kullanılarak bu şekilde yapılır (Yalnızca Çince)
python tools/asr/funasr_asr.py -i <girdi> -o <çıktı>
ASR işleme Faster_Whisper aracılığıyla gerçekleştirilir (Çince dışındaki ASR işaretleme)
(İlerleme çubukları yok, GPU performansı zaman gecikmelerine neden olabilir)
python ./tools/asr/fasterwhisper_asr.py -i <girdi> -o <çıktı> -l <dil>
Özel bir liste kaydetme yolu etkinleştirildi
Özellikle aşağıdaki projelere ve katkıda bulunanlara teşekkür ederiz:
@Naozumi520'ye Kantonca eğitim setini sağladığı ve Kantonca ile ilgili bilgiler konusunda rehberlik ettiği için minnettarım.