ASesYusuf1's picture
Upload folder using huggingface_hub
c3eda24
raw
history blame
42.5 kB
import os
import yaml
from urllib.parse import quote
from pathlib import Path
# Temel dizin ve checkpoint dizini sabit olarak tanımlanıyor
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
CHECKPOINT_DIR = os.path.join(BASE_DIR, 'ckpts')
def conf_edit(config_path, chunk_size, overlap):
"""Edits the configuration file with chunk size and overlap."""
full_config_path = os.path.join(CHECKPOINT_DIR, os.path.basename(config_path))
if not os.path.exists(full_config_path):
raise FileNotFoundError(f"Configuration file not found: {full_config_path}")
with open(full_config_path, 'r') as f:
data = yaml.load(f, Loader=yaml.SafeLoader)
if 'use_amp' not in data.keys():
data['training']['use_amp'] = True
data['audio']['chunk_size'] = chunk_size
data['inference']['num_overlap'] = overlap
if data['inference']['batch_size'] == 1:
data['inference']['batch_size'] = 2
print(f"Using custom overlap and chunk_size: overlap={overlap}, chunk_size={chunk_size}")
with open(full_config_path, 'w') as f:
yaml.dump(data, f, default_flow_style=False, sort_keys=False, Dumper=yaml.Dumper)
def download_file(url):
"""Downloads a file from a URL."""
import requests
encoded_url = quote(url, safe=':/')
path = CHECKPOINT_DIR
os.makedirs(path, exist_ok=True)
filename = os.path.basename(encoded_url)
file_path = os.path.join(path, filename)
if os.path.exists(file_path):
print(f"File '{filename}' already exists at '{path}'.")
return
try:
response = requests.get(url)
if response.status_code == 200:
with open(file_path, 'wb') as f:
f.write(response.content)
print(f"File '{filename}' downloaded successfully")
else:
print(f"Error downloading '{filename}': Status code {response.status_code}")
except Exception as e:
print(f"Error downloading file '{filename}' from '{url}': {e}")
# Model konfigurasyonlarını kategorize bir sözlükte tut
MODEL_CONFIGS = {
"Vocal Models": {
'VOCALS-InstVocHQ': {
'model_type': 'mdx23c',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_vocals_mdx23c.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model_vocals_mdx23c_sdr_10.17.ckpt'),
'download_urls': [
'https://raw.githubusercontent.com/ZFTurbo/Music-Source-Separation-Training/main/configs/config_vocals_mdx23c.yaml',
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.0/model_vocals_mdx23c_sdr_10.17.ckpt'
],
'needs_conf_edit': False
},
'VOCALS-MelBand-Roformer (by KimberleyJSN)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_vocals_mel_band_roformer_kj.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'MelBandRoformer.ckpt'),
'download_urls': [
'https://raw.githubusercontent.com/ZFTurbo/Music-Source-Separation-Training/main/configs/KimberleyJensen/config_vocals_mel_band_roformer_kj.yaml',
'https://huggingface.co/KimberleyJSN/melbandroformer/resolve/main/MelBandRoformer.ckpt'
],
'needs_conf_edit': True
},
'VOCALS-BS-Roformer_1297 (by viperx)': {
'model_type': 'bs_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'model_bs_roformer_ep_317_sdr_12.9755.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model_bs_roformer_ep_317_sdr_12.9755.ckpt'),
'download_urls': [
'https://raw.githubusercontent.com/ZFTurbo/Music-Source-Separation-Training/main/configs/viperx/model_bs_roformer_ep_317_sdr_12.9755.yaml',
'https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/model_bs_roformer_ep_317_sdr_12.9755.ckpt'
],
'needs_conf_edit': True
},
'VOCALS-BS-Roformer_1296 (by viperx)': {
'model_type': 'bs_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'model_bs_roformer_ep_368_sdr_12.9628.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model_bs_roformer_ep_368_sdr_12.9628.ckpt'),
'download_urls': [
'https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/model_bs_roformer_ep_368_sdr_12.9628.ckpt',
'https://raw.githubusercontent.com/TRvlvr/application_data/main/mdx_model_data/mdx_c_configs/model_bs_roformer_ep_368_sdr_12.9628.yaml'
],
'needs_conf_edit': True
},
'VOCALS-BS-RoformerLargev1 (by unwa)': {
'model_type': 'bs_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_bsrofoL.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'BS-Roformer_LargeV1.ckpt'),
'download_urls': [
'https://huggingface.co/jarredou/unwa_bs_roformer/resolve/main/BS-Roformer_LargeV1.ckpt',
'https://huggingface.co/jarredou/unwa_bs_roformer/raw/main/config_bsrofoL.yaml'
],
'needs_conf_edit': True
},
'VOCALS-Mel-Roformer big beta 4 (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_melbandroformer_big_beta4.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'melband_roformer_big_beta4.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Mel-Band-Roformer-big/resolve/main/melband_roformer_big_beta4.ckpt',
'https://huggingface.co/pcunwa/Mel-Band-Roformer-big/raw/main/config_melbandroformer_big_beta4.yaml'
],
'needs_conf_edit': True
},
'VOCALS-Melband-Roformer BigBeta5e (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'big_beta5e.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'big_beta5e.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Mel-Band-Roformer-big/resolve/main/big_beta5e.ckpt',
'https://huggingface.co/pcunwa/Mel-Band-Roformer-big/resolve/main/big_beta5e.yaml'
],
'needs_conf_edit': True
},
'VOCALS-VitLarge23 (by ZFTurbo)': {
'model_type': 'segm_models',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_vocals_segm_models.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model_vocals_segm_models_sdr_9.77.ckpt'),
'download_urls': [
'https://raw.githubusercontent.com/ZFTurbo/Music-Source-Separation-Training/refs/heads/main/configs/config_vocals_segm_models.yaml',
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.0/model_vocals_segm_models_sdr_9.77.ckpt'
],
'needs_conf_edit': False
},
'VOCALS-MelBand-Roformer Kim FT (by Unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_kimmel_unwa_ft.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'kimmel_unwa_ft.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Kim-Mel-Band-Roformer-FT/resolve/main/kimmel_unwa_ft.ckpt',
'https://huggingface.co/pcunwa/Kim-Mel-Band-Roformer-FT/resolve/main/config_kimmel_unwa_ft.yaml'
],
'needs_conf_edit': True
},
'VOCALS-MelBand-Roformer (by Becruily)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_instrumental_becruily.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'mel_band_roformer_vocals_becruily.ckpt'),
'download_urls': [
'https://huggingface.co/becruily/mel-band-roformer-vocals/resolve/main/config_vocals_becruily.yaml',
'https://huggingface.co/becruily/mel-band-roformer-vocals/resolve/main/mel_band_roformer_vocals_becruily.ckpt'
],
'needs_conf_edit': True
},
'VOCALS-Male Female-BS-RoFormer Male Female Beta 7_2889 (by aufr33)': {
'model_type': 'bs_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_chorus_male_female_bs_roformer.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'bs_roformer_male_female_by_aufr33_sdr_7.2889.ckpt'),
'download_urls': [
'https://huggingface.co/RareSirMix/AIModelRehosting/resolve/main/bs_roformer_male_female_by_aufr33_sdr_7.2889.ckpt',
'https://huggingface.co/Sucial/Chorus_Male_Female_BS_Roformer/resolve/main/config_chorus_male_female_bs_roformer.yaml'
],
'needs_conf_edit': True
},
'VOCALS-MelBand-Roformer Kim FT 2 (by Unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_kimmel_unwa_ft.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'kimmel_unwa_ft2.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Kim-Mel-Band-Roformer-FT/resolve/main/config_kimmel_unwa_ft.yaml',
'https://huggingface.co/pcunwa/Kim-Mel-Band-Roformer-FT/resolve/main/kimmel_unwa_ft2.ckpt'
],
'needs_conf_edit': True
},
'voc_gaboxBSroformer (by Gabox)': {
'model_type': 'bs_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'voc_gaboxBSroformer.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'voc_gaboxBSR.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/BSRoformerVocTest/resolve/main/voc_gaboxBSroformer.yaml',
'https://huggingface.co/GaboxR67/BSRoformerVocTest/resolve/main/voc_gaboxBSR.ckpt'
],
'needs_conf_edit': True
},
'voc_gaboxMelReformer (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'voc_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'voc_gabox.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/vocals/voc_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/vocals/voc_gabox.ckpt'
],
'needs_conf_edit': True
},
'voc_gaboxMelReformerFV1 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'voc_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'voc_gaboxFv1.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/vocals/voc_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/vocals/voc_gaboxFv1.ckpt'
],
'needs_conf_edit': True
},
'voc_gaboxMelReformerFV2 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'voc_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'voc_gaboxFv2.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/vocals/voc_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/vocals/voc_gaboxFv2.ckpt'
],
'needs_conf_edit': True
},
'VOCALS-MelBand-Roformer Kim FT 2 Blendless (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_kimmel_unwa_ft.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'kimmel_unwa_ft2_bleedless.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Kim-Mel-Band-Roformer-FT/resolve/main/config_kimmel_unwa_ft.yaml',
'https://huggingface.co/pcunwa/Kim-Mel-Band-Roformer-FT/resolve/main/kimmel_unwa_ft2_bleedless.ckpt'
],
'needs_conf_edit': True
},
'Voc_Fv3 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'voc_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'voc_Fv3.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/vocals/voc_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/vocals/voc_Fv3.ckpt'
],
'needs_conf_edit': True
},
'FullnessVocalModel (by Amane)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'FullnessVocalModel.ckpt'),
'download_urls': [
'https://huggingface.co/Aname-Tommy/MelBandRoformers/blob/main/config.yaml',
'https://huggingface.co/Aname-Tommy/MelBandRoformers/blob/main/FullnessVocalModel.ckpt'
],
'needs_conf_edit': True
}
},
"Instrumental Models": {
'INST-Mel-Roformer v1 (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_melbandroformer_inst.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'melband_roformer_inst_v1.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Mel-Band-Roformer-Inst/resolve/main/melband_roformer_inst_v1.ckpt',
'https://huggingface.co/pcunwa/Mel-Band-Roformer-Inst/raw/main/config_melbandroformer_inst.yaml'
],
'needs_conf_edit': True
},
'INST-Mel-Roformer v2 (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_melbandroformer_inst_v2.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'melband_roformer_inst_v2.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Mel-Band-Roformer-Inst/resolve/main/melband_roformer_inst_v2.ckpt',
'https://huggingface.co/pcunwa/Mel-Band-Roformer-Inst/raw/main/config_melbandroformer_inst_v2.yaml'
],
'needs_conf_edit': True
},
'INST-VOC-Mel-Roformer a.k.a. duality (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_melbandroformer_instvoc_duality.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'melband_roformer_instvoc_duality_v1.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Mel-Band-Roformer-InstVoc-Duality/resolve/main/melband_roformer_instvoc_duality_v1.ckpt',
'https://huggingface.co/pcunwa/Mel-Band-Roformer-InstVoc-Duality/raw/main/config_melbandroformer_instvoc_duality.yaml'
],
'needs_conf_edit': True
},
'INST-VOC-Mel-Roformer a.k.a. duality v2 (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_melbandroformer_instvoc_duality.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'melband_roformer_instvox_duality_v2.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Mel-Band-Roformer-InstVoc-Duality/resolve/main/melband_roformer_instvox_duality_v2.ckpt',
'https://huggingface.co/pcunwa/Mel-Band-Roformer-InstVoc-Duality/raw/main/config_melbandroformer_instvoc_duality.yaml'
],
'needs_conf_edit': True
},
'INST-MelBand-Roformer (by Becruily)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_instrumental_becruily.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'mel_band_roformer_instrumental_becruily.ckpt'),
'download_urls': [
'https://huggingface.co/becruily/mel-band-roformer-instrumental/resolve/main/config_instrumental_becruily.yaml',
'https://huggingface.co/becruily/mel-band-roformer-instrumental/resolve/main/mel_band_roformer_instrumental_becruily.ckpt'
],
'needs_conf_edit': True
},
'inst_v1e (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_melbandroformer_inst.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'inst_v1e.ckpt'),
'download_urls': [
'https://huggingface.co/pcunwa/Mel-Band-Roformer-Inst/resolve/main/inst_v1e.ckpt',
'https://huggingface.co/pcunwa/Mel-Band-Roformer-Inst/resolve/main/config_melbandroformer_inst.yaml'
],
'needs_conf_edit': True
},
'inst_gabox (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'inst_gabox.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.ckpt'
],
'needs_conf_edit': True
},
'inst_gaboxBV1 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'inst_gaboxBv1.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gaboxBv1.ckpt'
],
'needs_conf_edit': True
},
'inst_gaboxBV2 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'inst_gaboxBv2.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gaboxBv2.ckpt'
],
'needs_conf_edit': True
},
'inst_gaboxBFV1 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'gaboxFv1.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gaboxFv1.ckpt'
],
'needs_conf_edit': True
},
'inst_gaboxFV2 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'inst_gaboxFv2.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gaboxFv2.ckpt'
],
'needs_conf_edit': True
},
'inst_Fv3 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'inst_gaboxFv3.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gaboxFv3.ckpt'
],
'needs_conf_edit': True
},
'Intrumental_Gabox (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'intrumental_gabox.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/intrumental_gabox.ckpt'
],
'needs_conf_edit': True
},
'inst_Fv4Noise (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'inst_Fv4Noise.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_Fv4Noise.ckpt'
],
'needs_conf_edit': True
},
'INSTV5 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'INSTV5.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/INSTV5.ckpt'
],
'needs_conf_edit': True
},
'inst_gaboxFV1 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'inst_gaboxFv1.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gaboxFv1.ckpt'
],
'needs_conf_edit': True
},
'inst_gaboxFV6 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'INSTV6.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/INSTV6.ckpt'
],
'needs_conf_edit': True
},
'INSTV5N (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'INSTV5N.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/INSTV5N.ckpt'
],
'needs_conf_edit': True
},
'INSTV6N (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'INSTV6N.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/INSTV6N.ckpt'
],
'needs_conf_edit': True
},
'Inst_GaboxV7 (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'inst_gabox.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'Inst_GaboxV7.ckpt'),
'download_urls': [
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/inst_gabox.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/Inst_GaboxV7.ckpt'
],
'needs_conf_edit': True
}
},
"4-Stem Models": {
'4STEMS-SCNet_MUSDB18 (by starrytong)': {
'model_type': 'scnet',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_musdb18_scnet.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'scnet_checkpoint_musdb18.ckpt'),
'download_urls': [
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v.1.0.6/config_musdb18_scnet.yaml',
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v.1.0.6/scnet_checkpoint_musdb18.ckpt'
],
'needs_conf_edit': False
},
'4STEMS-SCNet_XL_MUSDB18 (by ZFTurbo)': {
'model_type': 'scnet',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_musdb18_scnet_xl.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model_scnet_ep_54_sdr_9.8051.ckpt'),
'download_urls': [
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.13/config_musdb18_scnet_xl.yaml',
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.13/model_scnet_ep_54_sdr_9.8051.ckpt'
],
'needs_conf_edit': True
},
'4STEMS-SCNet_Large (by starrytong)': {
'model_type': 'scnet',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_musdb18_scnet_large_starrytong.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'SCNet-large_starrytong_fixed.ckpt'),
'download_urls': [
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.9/config_musdb18_scnet_large_starrytong.yaml',
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.9/SCNet-large_starrytong_fixed.ckpt'
],
'needs_conf_edit': True
},
'4STEMS-BS-Roformer_MUSDB18 (by ZFTurbo)': {
'model_type': 'bs_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_bs_roformer_384_8_2_485100.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model_bs_roformer_ep_17_sdr_9.6568.ckpt'),
'download_urls': [
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.12/config_bs_roformer_384_8_2_485100.yaml',
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.12/model_bs_roformer_ep_17_sdr_9.6568.ckpt'
],
'needs_conf_edit': True
},
'MelBandRoformer4StemFTLarge (SYH99999)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'MelBandRoformer4StemFTLarge.ckpt'),
'download_urls': [
'https://huggingface.co/SYH99999/MelBandRoformer4StemFTLarge/resolve/main/config.yaml',
'https://huggingface.co/SYH99999/MelBandRoformer4StemFTLarge/resolve/main/MelBandRoformer4StemFTLarge.ckpt'
],
'needs_conf_edit': True
}
},
"Denoise Models": {
'DENOISE-MelBand-Roformer-1 (by aufr33)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'model_mel_band_roformer_denoise.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'denoise_mel_band_roformer_aufr33_sdr_27.9959.ckpt'),
'download_urls': [
'https://huggingface.co/jarredou/aufr33_MelBand_Denoise/resolve/main/denoise_mel_band_roformer_aufr33_sdr_27.9959.ckpt',
'https://huggingface.co/jarredou/aufr33_MelBand_Denoise/resolve/main/model_mel_band_roformer_denoise.yaml'
],
'needs_conf_edit': True
},
'DENOISE-MelBand-Roformer-2 (by aufr33)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'model_mel_band_roformer_denoise.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'denoise_mel_band_roformer_aufr33_aggr_sdr_27.9768.ckpt'),
'download_urls': [
'https://huggingface.co/jarredou/aufr33_MelBand_Denoise/resolve/main/denoise_mel_band_roformer_aufr33_aggr_sdr_27.9768.ckpt',
'https://huggingface.co/jarredou/aufr33_MelBand_Denoise/resolve/main/model_mel_band_roformer_denoise.yaml'
],
'needs_conf_edit': True
},
'denoisedebleed (by Gabox)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'model_mel_band_roformer_denoise.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'denoisedebleed.ckpt'),
'download_urls': [
'https://huggingface.co/poiqazwsx/melband-roformer-denoise/resolve/main/model_mel_band_roformer_denoise.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/resolve/main/melbandroformers/instrumental/denoisedebleed.ckpt'
],
'needs_conf_edit': True
}
},
"Dereverb Models": {
'DE-REVERB-MDX23C (by aufr33 & jarredou)': {
'model_type': 'mdx23c',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_dereverb_mdx23c.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'dereverb_mdx23c_sdr_6.9096.ckpt'),
'download_urls': [
'https://huggingface.co/jarredou/aufr33_jarredou_MDXv3_DeReverb/resolve/main/dereverb_mdx23c_sdr_6.9096.ckpt',
'https://huggingface.co/jarredou/aufr33_jarredou_MDXv3_DeReverb/resolve/main/config_dereverb_mdx23c.yaml'
],
'needs_conf_edit': False
},
'DE-REVERB-MelBand-Roformer aggr./v2/19.1729 (by anvuew)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'dereverb_mel_band_roformer_anvuew.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckpt'),
'download_urls': [
'https://huggingface.co/anvuew/dereverb_mel_band_roformer/resolve/main/dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckpt',
'https://huggingface.co/anvuew/dereverb_mel_band_roformer/resolve/main/dereverb_mel_band_roformer_anvuew.yaml'
],
'needs_conf_edit': True
},
'DE-REVERB-Echo-MelBand-Roformer (by Sucial)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_dereverb-echo_mel_band_roformer.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'dereverb-echo_mel_band_roformer_sdr_10.0169.ckpt'),
'download_urls': [
'https://huggingface.co/Sucial/Dereverb-Echo_Mel_Band_Roformer/resolve/main/dereverb-echo_mel_band_roformer_sdr_10.0169.ckpt',
'https://huggingface.co/Sucial/Dereverb-Echo_Mel_Band_Roformer/resolve/main/config_dereverb-echo_mel_band_roformer.yaml'
],
'needs_conf_edit': True
},
'dereverb_mel_band_roformer_less_aggressive_anvuew': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'dereverb_mel_band_roformer_anvuew.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'dereverb_mel_band_roformer_less_aggressive_anvuew_sdr_18.8050.ckpt'),
'download_urls': [
'https://huggingface.co/anvuew/dereverb_mel_band_roformer/resolve/main/dereverb_mel_band_roformer_anvuew.yaml',
'https://huggingface.co/anvuew/dereverb_mel_band_roformer/resolve/main/dereverb_mel_band_roformer_less_aggressive_anvuew_sdr_18.8050.ckpt'
],
'needs_conf_edit': True
},
'dereverb_mel_band_roformer_anvuew': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'dereverb_mel_band_roformer_anvuew.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckpt'),
'download_urls': [
'https://huggingface.co/anvuew/dereverb_mel_band_roformer/resolve/main/dereverb_mel_band_roformer_anvuew.yaml',
'https://huggingface.co/anvuew/dereverb_mel_band_roformer/resolve/main/dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckpt'
],
'needs_conf_edit': True
},
'dereverb_mel_band_roformer_mono (by anvuew)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'dereverb_mel_band_roformer_anvuew.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'dereverb_mel_band_roformer_mono_anvuew_sdr_20.4029.ckpt'),
'download_urls': [
'https://huggingface.co/anvuew/dereverb_mel_band_roformer/resolve/main/dereverb_mel_band_roformer_anvuew.yaml',
'https://huggingface.co/anvuew/dereverb_mel_band_roformer/resolve/main/dereverb_mel_band_roformer_mono_anvuew_sdr_20.4029.ckpt'
],
'needs_conf_edit': True
}
},
"Other Models": {
'KARAOKE-MelBand-Roformer (by aufr33 & viperx)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_mel_band_roformer_karaoke.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt'),
'download_urls': [
'https://huggingface.co/jarredou/aufr33-viperx-karaoke-melroformer-model/resolve/main/mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckpt',
'https://huggingface.co/jarredou/aufr33-viperx-karaoke-melroformer-model/resolve/main/config_mel_band_roformer_karaoke.yaml'
],
'needs_conf_edit': True
},
'OTHER-BS-Roformer_1053 (by viperx)': {
'model_type': 'bs_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'model_bs_roformer_ep_937_sdr_10.5309.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model_bs_roformer_ep_937_sdr_10.5309.ckpt'),
'download_urls': [
'https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/model_bs_roformer_ep_937_sdr_10.5309.ckpt',
'https://raw.githubusercontent.com/TRvlvr/application_data/main/mdx_model_data/mdx_c_configs/model_bs_roformer_ep_937_sdr_10.5309.yaml'
],
'needs_conf_edit': True
},
'CROWD-REMOVAL-MelBand-Roformer (by aufr33)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'model_mel_band_roformer_crowd.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'mel_band_roformer_crowd_aufr33_viperx_sdr_8.7144.ckpt'),
'download_urls': [
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v.1.0.4/mel_band_roformer_crowd_aufr33_viperx_sdr_8.7144.ckpt',
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v.1.0.4/model_mel_band_roformer_crowd.yaml'
],
'needs_conf_edit': True
},
'CINEMATIC-BandIt_Plus (by kwatcharasupat)': {
'model_type': 'bandit',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_dnr_bandit_bsrnn_multi_mus64.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model_bandit_plus_dnr_sdr_11.47.chpt'),
'download_urls': [
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v.1.0.3/config_dnr_bandit_bsrnn_multi_mus64.yaml',
'https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v.1.0.3/model_bandit_plus_dnr_sdr_11.47.chpt'
],
'needs_conf_edit': False
},
'DRUMSEP-MDX23C_DrumSep_6stem (by aufr33 & jarredou)': {
'model_type': 'mdx23c',
'config_path': os.path.join(CHECKPOINT_DIR, 'aufr33-jarredou_DrumSep_model_mdx23c_ep_141_sdr_10.8059.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'aufr33-jarredou_DrumSep_model_mdx23c_ep_141_sdr_10.8059.ckpt'),
'download_urls': [
'https://github.com/jarredou/models/releases/download/aufr33-jarredou_MDX23C_DrumSep_model_v0.1/aufr33-jarredou_DrumSep_model_mdx23c_ep_141_sdr_10.8059.ckpt',
'https://github.com/jarredou/models/releases/download/aufr33-jarredou_MDX23C_DrumSep_model_v0.1/aufr33-jarredou_DrumSep_model_mdx23c_ep_141_sdr_10.8059.yaml'
],
'needs_conf_edit': False
},
'bleed_suppressor_v1 (by unwa)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_bleed_suppressor_v1.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'bleed_suppressor_v1.ckpt'),
'download_urls': [
'https://huggingface.co/ASesYusuf1/MODELS/resolve/main/bleed_suppressor_v1.ckpt',
'https://huggingface.co/ASesYusuf1/MODELS/resolve/main/config_bleed_suppressor_v1.yaml'
],
'needs_conf_edit': True
},
'SYH99999/MelBandRoformerSYHFTB1_Model1 (by Amane)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model.ckpt'),
'download_urls': [
'https://huggingface.co/SYH99999/MelBandRoformerSYHFTB1/resolve/main/config.yaml',
'https://huggingface.co/SYH99999/MelBandRoformerSYHFTB1/resolve/main/model.ckpt'
],
'needs_conf_edit': True
},
'SYH99999/MelBandRoformerSYHFTB1_Model2 (by Amane)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model2.ckpt'),
'download_urls': [
'https://huggingface.co/SYH99999/MelBandRoformerSYHFTB1/resolve/main/config.yaml',
'https://huggingface.co/SYH99999/MelBandRoformerSYHFTB1/resolve/main/model2.ckpt'
],
'needs_conf_edit': True
},
'SYH99999/MelBandRoformerSYHFTB1_Model3 (by Amane)': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'model3.ckpt'),
'download_urls': [
'https://huggingface.co/SYH99999/MelBandRoformerSYHFTB1/resolve/main/config.yaml',
'https://huggingface.co/SYH99999/MelBandRoformerSYHFTB1/resolve/main/model3.ckpt'
],
'needs_conf_edit': True
},
'KaraokeGabox': {
'model_type': 'mel_band_roformer',
'config_path': os.path.join(CHECKPOINT_DIR, 'config_mel_band_roformer_karaoke.yaml'),
'start_check_point': os.path.join(CHECKPOINT_DIR, 'KaraokeGabox.ckpt'),
'download_urls': [
'https://github.com/deton24/Colab-for-new-MDX_UVR_models/releases/download/v1.0.0/config_mel_band_roformer_karaoke.yaml',
'https://huggingface.co/GaboxR67/MelBandRoformers/blob/main/melbandroformers/experimental/KaraokeGabox.ckpt'
],
'needs_conf_edit': True
}
}
}
def get_model_config(clean_model=None, chunk_size=None, overlap=None):
"""Returns model type, config path, and checkpoint path for a given model name, downloading files if needed."""
if clean_model is None:
return {model_name for category in MODEL_CONFIGS.values() for model_name in category.keys()}
for category in MODEL_CONFIGS.values():
if clean_model in category:
config = category[clean_model]
for url in config['download_urls']:
download_file(url)
if config['needs_conf_edit'] and chunk_size is not None and overlap is not None:
conf_edit(config['config_path'], chunk_size, overlap)
return config['model_type'], config['config_path'], config['start_check_point']
return "", "", ""
get_model_config.keys = lambda: {model_name for category in MODEL_CONFIGS.values() for model_name in category.keys()}