CoolFace
Apppublic

Rifd/Ultimate-Vocal-Remover-WebUI

sourceHugging Facemitupdated 3y agoView on Hugging Face
5likes
constants.py1147 linesDownload Raw Back to gui_data
1import platform2 3#Platform Details4OPERATING_SYSTEM = platform.system()5SYSTEM_ARCH = platform.platform()6SYSTEM_PROC = platform.processor()7ARM = 'arm'8 9#Main Font10MAIN_FONT_NAME = "Century Gothic"11 12#Model Types13VR_ARCH_TYPE = 'VR Arc'14MDX_ARCH_TYPE = 'MDX-Net'15DEMUCS_ARCH_TYPE = 'Demucs'16VR_ARCH_PM = 'VR Architecture'17ENSEMBLE_MODE = 'Ensemble Mode'18ENSEMBLE_STEM_CHECK = 'Ensemble Stem'19SECONDARY_MODEL = 'Secondary Model'20DEMUCS_6_STEM_MODEL = 'htdemucs_6s'21 22DEMUCS_V3_ARCH_TYPE = 'Demucs v3'23DEMUCS_V4_ARCH_TYPE = 'Demucs v4'24DEMUCS_NEWER_ARCH_TYPES = [DEMUCS_V3_ARCH_TYPE, DEMUCS_V4_ARCH_TYPE]25 26DEMUCS_V1 = 'v1'27DEMUCS_V2 = 'v2'28DEMUCS_V3 = 'v3'29DEMUCS_V4 = 'v4'30 31DEMUCS_V1_TAG = 'v1 | '32DEMUCS_V2_TAG = 'v2 | '33DEMUCS_V3_TAG = 'v3 | '34DEMUCS_V4_TAG = 'v4 | '35DEMUCS_NEWER_TAGS = [DEMUCS_V3_TAG, DEMUCS_V4_TAG]36 37DEMUCS_VERSION_MAPPER = {38            DEMUCS_V1:DEMUCS_V1_TAG,39            DEMUCS_V2:DEMUCS_V2_TAG,40            DEMUCS_V3:DEMUCS_V3_TAG,41            DEMUCS_V4:DEMUCS_V4_TAG}42 43#Download Center44DOWNLOAD_FAILED = 'Download Failed'45DOWNLOAD_STOPPED = 'Download Stopped'46DOWNLOAD_COMPLETE = 'Download Complete'47DOWNLOAD_UPDATE_COMPLETE = 'Update Download Complete'48SETTINGS_MENU_EXIT = 'exit'49NO_CONNECTION = 'No Internet Connection'50VIP_SELECTION = 'VIP:'51DEVELOPER_SELECTION = 'VIP:'52NO_NEW_MODELS = 'All Available Models Downloaded'53ENSEMBLE_PARTITION = ': '54NO_MODEL = 'No Model Selected'55CHOOSE_MODEL = 'Choose Model'56SINGLE_DOWNLOAD = 'Downloading Item 1/1...'57DOWNLOADING_ITEM = 'Downloading Item'58FILE_EXISTS = 'File already exists!'59DOWNLOADING_UPDATE = 'Downloading Update...'60DOWNLOAD_MORE = 'Download More Models'61 62#Menu Options63 64AUTO_SELECT = 'Auto'65 66#LINKS67DOWNLOAD_CHECKS = "https://raw.githubusercontent.com/TRvlvr/application_data/main/filelists/download_checks.json"68MDX_MODEL_DATA_LINK = "https://raw.githubusercontent.com/TRvlvr/application_data/main/mdx_model_data/model_data.json"69VR_MODEL_DATA_LINK = "https://raw.githubusercontent.com/TRvlvr/application_data/main/vr_model_data/model_data.json"70 71DEMUCS_MODEL_NAME_DATA_LINK = "https://raw.githubusercontent.com/TRvlvr/application_data/main/demucs_model_data/model_name_mapper.json"72MDX_MODEL_NAME_DATA_LINK = "https://raw.githubusercontent.com/TRvlvr/application_data/main/mdx_model_data/model_name_mapper.json"73 74DONATE_LINK_BMAC = "https://www.buymeacoffee.com/uvr5"75DONATE_LINK_PATREON = "https://www.patreon.com/uvr"76 77#DOWNLOAD REPOS78NORMAL_REPO = "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/"79UPDATE_REPO = "https://github.com/TRvlvr/model_repo/releases/download/uvr_update_patches/"80 81UPDATE_MAC_ARM_REPO = "https://github.com/Anjok07/ultimatevocalremovergui/releases/download/v5.5.0/Ultimate_Vocal_Remover_v5_5_MacOS_arm64.dmg"82UPDATE_MAC_X86_64_REPO = "https://github.com/Anjok07/ultimatevocalremovergui/releases/download/v5.5.0/Ultimate_Vocal_Remover_v5_5_MacOS_x86_64.dmg"83UPDATE_LINUX_REPO = "https://github.com/Anjok07/ultimatevocalremovergui#linux-installation"84UPDATE_REPO = "https://github.com/TRvlvr/model_repo/releases/download/uvr_update_patches/"85 86ISSUE_LINK = 'https://github.com/Anjok07/ultimatevocalremovergui/issues/new'87VIP_REPO = b'\xf3\xc2W\x19\x1foI)\xc2\xa9\xcc\xb67(Z\xf5',\88           b'gAAAAABjQAIQ-NpNMMxMedpKHHb7ze_nqB05hw0YhbOy3pFzuzDrfqumn8_qvraxEoUpZC5ZXC0gGvfDxFMqyq9VWbYKlA67SUFI_wZB6QoVyGI581vs7kaGfUqlXHIdDS6tQ_U-BfjbEAK9EU_74-R2zXjz8Xzekw=='89NO_CODE = 'incorrect_code'90 91#Extensions92 93ONNX = '.onnx'94CKPT = '.ckpt'95YAML = '.yaml'96PTH = '.pth'97TH_EXT = '.th'98JSON = '.json'99 100#GUI Buttons101 102START_PROCESSING = 'Start Processing'103WAIT_PROCESSING = 'Please wait...'104STOP_PROCESSING = 'Halting process, please wait...'105LOADING_MODELS = 'Loading models...'106 107#---Messages and Logs----108 109MISSING_MODEL = 'missing'110MODEL_PRESENT = 'present'111 112UNRECOGNIZED_MODEL = 'Unrecognized Model Detected', ' is an unrecognized model.\n\n' + \113                     'Would you like to select the correct parameters before continuing?'114                     115STOP_PROCESS_CONFIRM = 'Confirmation', 'You are about to stop all active processes.\n\nAre you sure you wish to continue?'116NO_ENSEMBLE_SELECTED = 'No Models Selected', 'Please select ensemble and try again.'117PICKLE_CORRU = 'File Corrupted', 'Unable to load this ensemble.\n\n' + \118               'Would you like to remove this ensemble from your list?'119DELETE_ENS_ENTRY = 'Confirm Removal', 'Are you sure you want to remove this entry?'120 121ALL_STEMS = 'All Stems'122VOCAL_STEM = 'Vocals'123INST_STEM = 'Instrumental'124OTHER_STEM = 'Other'125BASS_STEM = 'Bass'126DRUM_STEM = 'Drums'127GUITAR_STEM = 'Guitar'128PIANO_STEM = 'Piano'129SYNTH_STEM = 'Synthesizer'130STRINGS_STEM = 'Strings'131WOODWINDS_STEM = 'Woodwinds'132BRASS_STEM = 'Brass'133WIND_INST_STEM = 'Wind Inst'134NO_OTHER_STEM = 'No Other'135NO_BASS_STEM = 'No Bass'136NO_DRUM_STEM = 'No Drums'137NO_GUITAR_STEM = 'No Guitar'138NO_PIANO_STEM = 'No Piano'139NO_SYNTH_STEM = 'No Synthesizer'140NO_STRINGS_STEM = 'No Strings'141NO_WOODWINDS_STEM = 'No Woodwinds'142NO_WIND_INST_STEM = 'No Wind Inst'143NO_BRASS_STEM = 'No Brass'144PRIMARY_STEM = 'Primary Stem'145SECONDARY_STEM = 'Secondary Stem'146 147#Other Constants148DEMUCS_2_SOURCE = ["instrumental", "vocals"]149DEMUCS_4_SOURCE = ["drums", "bass", "other", "vocals"]150 151DEMUCS_2_SOURCE_MAPPER = {152                        INST_STEM: 0,153                        VOCAL_STEM: 1}154 155DEMUCS_4_SOURCE_MAPPER = {156                        BASS_STEM: 0,157                        DRUM_STEM: 1,158                        OTHER_STEM: 2,159                        VOCAL_STEM: 3}160 161DEMUCS_6_SOURCE_MAPPER = {162                        BASS_STEM: 0,163                        DRUM_STEM: 1,164                        OTHER_STEM: 2,165                        VOCAL_STEM: 3,166                        GUITAR_STEM:4,167                        PIANO_STEM:5}168 169DEMUCS_4_SOURCE_LIST = [BASS_STEM, DRUM_STEM, OTHER_STEM, VOCAL_STEM]170DEMUCS_6_SOURCE_LIST = [BASS_STEM, DRUM_STEM, OTHER_STEM, VOCAL_STEM, GUITAR_STEM, PIANO_STEM]171 172DEMUCS_UVR_MODEL = 'UVR_Model'173 174CHOOSE_STEM_PAIR = 'Choose Stem Pair'175 176STEM_SET_MENU = (VOCAL_STEM, 177                 INST_STEM, 178                 OTHER_STEM, 179                 BASS_STEM, 180                 DRUM_STEM, 181                 GUITAR_STEM, 182                 PIANO_STEM, 183                 SYNTH_STEM, 184                 STRINGS_STEM, 185                 WOODWINDS_STEM, 186                 BRASS_STEM,187                 WIND_INST_STEM,188                 NO_OTHER_STEM, 189                 NO_BASS_STEM, 190                 NO_DRUM_STEM, 191                 NO_GUITAR_STEM, 192                 NO_PIANO_STEM, 193                 NO_SYNTH_STEM, 194                 NO_STRINGS_STEM, 195                 NO_WOODWINDS_STEM,196                 NO_BRASS_STEM,197                 NO_WIND_INST_STEM)198 199STEM_PAIR_MAPPER = {200            VOCAL_STEM: INST_STEM,201            INST_STEM: VOCAL_STEM,202            OTHER_STEM: NO_OTHER_STEM,203            BASS_STEM: NO_BASS_STEM,204            DRUM_STEM: NO_DRUM_STEM,205            GUITAR_STEM: NO_GUITAR_STEM,206            PIANO_STEM: NO_PIANO_STEM,207            SYNTH_STEM: NO_SYNTH_STEM,208            STRINGS_STEM: NO_STRINGS_STEM,209            WOODWINDS_STEM: NO_WOODWINDS_STEM,210            BRASS_STEM: NO_BRASS_STEM,211            WIND_INST_STEM: NO_WIND_INST_STEM,212            NO_OTHER_STEM: OTHER_STEM,213            NO_BASS_STEM: BASS_STEM,214            NO_DRUM_STEM: DRUM_STEM,215            NO_GUITAR_STEM: GUITAR_STEM,216            NO_PIANO_STEM: PIANO_STEM,217            NO_SYNTH_STEM: SYNTH_STEM,218            NO_STRINGS_STEM: STRINGS_STEM,219            NO_WOODWINDS_STEM: WOODWINDS_STEM,220            NO_BRASS_STEM: BRASS_STEM,221            NO_WIND_INST_STEM: WIND_INST_STEM,222            PRIMARY_STEM: SECONDARY_STEM}223 224NON_ACCOM_STEMS = (225            VOCAL_STEM,226            OTHER_STEM,227            BASS_STEM,228            DRUM_STEM,229            GUITAR_STEM,230            PIANO_STEM,231            SYNTH_STEM,232            STRINGS_STEM,233            WOODWINDS_STEM,234            BRASS_STEM,235            WIND_INST_STEM)236 237MDX_NET_FREQ_CUT = [VOCAL_STEM, INST_STEM]238 239DEMUCS_4_STEM_OPTIONS = (ALL_STEMS, VOCAL_STEM, OTHER_STEM, BASS_STEM, DRUM_STEM)240DEMUCS_6_STEM_OPTIONS = (ALL_STEMS, VOCAL_STEM, OTHER_STEM, BASS_STEM, DRUM_STEM, GUITAR_STEM, PIANO_STEM)241DEMUCS_2_STEM_OPTIONS = (VOCAL_STEM, INST_STEM)242DEMUCS_4_STEM_CHECK = (OTHER_STEM, BASS_STEM, DRUM_STEM)243 244#Menu Dropdowns245 246VOCAL_PAIR = f'{VOCAL_STEM}/{INST_STEM}'247INST_PAIR = f'{INST_STEM}/{VOCAL_STEM}'248OTHER_PAIR = f'{OTHER_STEM}/{NO_OTHER_STEM}'249DRUM_PAIR = f'{DRUM_STEM}/{NO_DRUM_STEM}'250BASS_PAIR = f'{BASS_STEM}/{NO_BASS_STEM}'251FOUR_STEM_ENSEMBLE = '4 Stem Ensemble'252 253ENSEMBLE_MAIN_STEM = (CHOOSE_STEM_PAIR, VOCAL_PAIR, OTHER_PAIR, DRUM_PAIR, BASS_PAIR, FOUR_STEM_ENSEMBLE)254 255MIN_SPEC = 'Min Spec'256MAX_SPEC = 'Max Spec'257AUDIO_AVERAGE = 'Average'258 259MAX_MIN = f'{MAX_SPEC}/{MIN_SPEC}'260MAX_MAX = f'{MAX_SPEC}/{MAX_SPEC}'261MAX_AVE = f'{MAX_SPEC}/{AUDIO_AVERAGE}'262MIN_MAX = f'{MIN_SPEC}/{MAX_SPEC}'263MIN_MIX = f'{MIN_SPEC}/{MIN_SPEC}'264MIN_AVE = f'{MIN_SPEC}/{AUDIO_AVERAGE}'265AVE_MAX = f'{AUDIO_AVERAGE}/{MAX_SPEC}'266AVE_MIN = f'{AUDIO_AVERAGE}/{MIN_SPEC}'267AVE_AVE = f'{AUDIO_AVERAGE}/{AUDIO_AVERAGE}'268 269ENSEMBLE_TYPE = (MAX_MIN, MAX_MAX, MAX_AVE, MIN_MAX, MIN_MIX, MIN_AVE, AVE_MAX, AVE_MIN, AVE_AVE)270ENSEMBLE_TYPE_4_STEM = (MAX_SPEC, MIN_SPEC, AUDIO_AVERAGE)271 272BATCH_MODE = 'Batch Mode'273BETA_VERSION = 'BETA'274DEF_OPT = 'Default'275 276CHUNKS = (AUTO_SELECT, '1', '5', '10', '15', '20', 277          '25', '30', '35', '40', '45', '50', 278          '55', '60', '65', '70', '75', '80', 279          '85', '90', '95', 'Full')280 281BATCH_SIZE = (DEF_OPT, '2', '3', '4', '5', 282          '6', '7', '8', '9', '10')283 284VOL_COMPENSATION = (AUTO_SELECT, '1.035', '1.08')285 286MARGIN_SIZE = ('44100', '22050', '11025')287 288AUDIO_TOOLS = 'Audio Tools'289 290MANUAL_ENSEMBLE = 'Manual Ensemble'291TIME_STRETCH = 'Time Stretch'292CHANGE_PITCH = 'Change Pitch'293ALIGN_INPUTS = 'Align Inputs'294 295if OPERATING_SYSTEM == 'Windows' or OPERATING_SYSTEM == 'Darwin':  296   AUDIO_TOOL_OPTIONS = (MANUAL_ENSEMBLE, TIME_STRETCH, CHANGE_PITCH, ALIGN_INPUTS)297else:298   AUDIO_TOOL_OPTIONS = (MANUAL_ENSEMBLE, ALIGN_INPUTS)299 300MANUAL_ENSEMBLE_OPTIONS = (MIN_SPEC, MAX_SPEC, AUDIO_AVERAGE)301 302PROCESS_METHODS = (VR_ARCH_PM, MDX_ARCH_TYPE, DEMUCS_ARCH_TYPE, ENSEMBLE_MODE, AUDIO_TOOLS)303 304DEMUCS_SEGMENTS = ('Default', '1', '5', '10', '15', '20', 305                  '25', '30', '35', '40', '45', '50', 306                  '55', '60', '65', '70', '75', '80', 307                  '85', '90', '95', '100')308 309DEMUCS_SHIFTS = (0, 1, 2, 3, 4, 5, 310                 6, 7, 8, 9, 10, 11, 311                 12, 13, 14, 15, 16, 17, 312                 18, 19, 20)313 314DEMUCS_OVERLAP = (0.25, 0.50, 0.75, 0.99)315 316VR_AGGRESSION = (1, 2, 3, 4, 5, 317                 6, 7, 8, 9, 10, 11, 318                 12, 13, 14, 15, 16, 17, 319                 18, 19, 20)320 321VR_WINDOW = ('320', '512','1024')322VR_CROP = ('256', '512', '1024')323POST_PROCESSES_THREASHOLD_VALUES = ('0.1', '0.2', '0.3')324 325MDX_POP_PRO = ('MDX-NET_Noise_Profile_14_kHz', 'MDX-NET_Noise_Profile_17_kHz', 'MDX-NET_Noise_Profile_Full_Band')326MDX_POP_STEMS = ('Vocals', 'Instrumental', 'Other', 'Drums', 'Bass')327MDX_POP_NFFT = ('4096', '5120', '6144', '7680', '8192', '16384')328MDX_POP_DIMF = ('2048', '3072', '4096')329 330SAVE_ENSEMBLE = 'Save Ensemble'331CLEAR_ENSEMBLE = 'Clear Selection(s)'332MENU_SEPARATOR = 35*'•'333CHOOSE_ENSEMBLE_OPTION = 'Choose Option'334 335INVALID_ENTRY = 'Invalid Input, Please Try Again'336ENSEMBLE_INPUT_RULE = '1. Only letters, numbers, spaces, and dashes allowed.\n2. No dashes or spaces at the start or end of input.'337 338ENSEMBLE_OPTIONS = (SAVE_ENSEMBLE, CLEAR_ENSEMBLE)339ENSEMBLE_CHECK = 'ensemble check'340 341SELECT_SAVED_ENSEMBLE = 'Select Saved Ensemble'342SELECT_SAVED_SETTING = 'Select Saved Setting'343ENSEMBLE_OPTION = "Ensemble Customization Options"344MDX_OPTION = "Advanced MDX-Net Options"345DEMUCS_OPTION = "Advanced Demucs Options"346VR_OPTION = "Advanced VR Options"347HELP_OPTION = "Open Information Guide"348ERROR_OPTION = "Open Error Log"349VERIFY_BEGIN = 'Verifying file '350SAMPLE_BEGIN = 'Creating Sample '351MODEL_MISSING_CHECK = 'Model Missing:'352 353# Audio Player354 355PLAYING_SONG = ": Playing"356PAUSE_SONG = ": Paused"357STOP_SONG = ": Stopped"358 359SELECTED_VER = 'Selected'360DETECTED_VER = 'Detected'361 362SAMPLE_MODE_CHECKBOX = lambda v:f'Sample Mode ({v}s)'363REMOVED_FILES = lambda r, e:f'Audio Input Verification Report:\n\nRemoved Files:\n\n{r}\n\nError Details:\n\n{e}'364ADVANCED_SETTINGS = (ENSEMBLE_OPTION, MDX_OPTION, DEMUCS_OPTION, VR_OPTION, HELP_OPTION, ERROR_OPTION)365 366WAV = 'WAV'367FLAC = 'FLAC'368MP3 = 'MP3'369 370MP3_BIT_RATES = ('96k', '128k', '160k', '224k', '256k', '320k')371WAV_TYPE = ('PCM_U8', 'PCM_16', 'PCM_24', 'PCM_32', '32-bit Float', '64-bit Float')372 373SELECT_SAVED_SET = 'Choose Option'374SAVE_SETTINGS = 'Save Current Settings'375RESET_TO_DEFAULT = 'Reset to Default'376RESET_FULL_TO_DEFAULT = 'Reset to Default'377RESET_PM_TO_DEFAULT = 'Reset All Application Settings to Default'378 379SAVE_SET_OPTIONS = (SAVE_SETTINGS, RESET_TO_DEFAULT)380 381TIME_PITCH = ('1.0', '2.0', '3.0', '4.0')382TIME_TEXT = '_time_stretched'383PITCH_TEXT = '_pitch_shifted'384 385#RegEx Input Validation386 387REG_PITCH = r'^[-+]?(1[0]|[0-9]([.][0-9]*)?)$'388REG_TIME = r'^[+]?(1[0]|[0-9]([.][0-9]*)?)$'389REG_COMPENSATION = r'\b^(1[0]|[0-9]([.][0-9]*)?|Auto|None)$\b'390REG_THES_POSTPORCESS = r'\b^([0]([.][0-9]{0,6})?)$\b'391REG_CHUNKS = r'\b^(200|1[0-9][0-9]|[1-9][0-9]?|Auto|Full)$\b'392REG_CHUNKS_DEMUCS = r'\b^(200|1[0-9][0-9]|[1-9][0-9]?|Auto|Full)$\b'393REG_MARGIN = r'\b^[0-9]*$\b'394REG_SEGMENTS = r'\b^(200|1[0-9][0-9]|[1-9][0-9]?|Default)$\b'395REG_SAVE_INPUT = r'\b^([a-zA-Z0-9 -]{0,25})$\b'396REG_AGGRESSION = r'^[-+]?[0-9]\d*?$'397REG_WINDOW = r'\b^[0-9]{0,4}$\b'398REG_SHIFTS = r'\b^[0-9]*$\b'399REG_BATCHES = r'\b^([0-9]*?|Default)$\b'400REG_OVERLAP = r'\b^([0]([.][0-9]{0,6})?|None)$\b'401 402# Sub Menu403 404VR_ARCH_SETTING_LOAD = 'Load for VR Arch'405MDX_SETTING_LOAD = 'Load for MDX-Net'406DEMUCS_SETTING_LOAD = 'Load for Demucs'407ALL_ARCH_SETTING_LOAD = 'Load for Full Application'408 409# Mappers410 411DEFAULT_DATA = {412    413        'chosen_process_method': MDX_ARCH_TYPE,414        'vr_model': CHOOSE_MODEL,415        'aggression_setting': 10,416        'window_size': 512,417        'batch_size': 4,418        'crop_size': 256, 419        'is_tta': False,420        'is_output_image': False,421        'is_post_process': False,422        'is_high_end_process': False,423        'post_process_threshold': 0.2,424        'vr_voc_inst_secondary_model': NO_MODEL,425        'vr_other_secondary_model': NO_MODEL,426        'vr_bass_secondary_model': NO_MODEL,427        'vr_drums_secondary_model': NO_MODEL,428        'vr_is_secondary_model_activate': False,        429        'vr_voc_inst_secondary_model_scale': 0.9,430        'vr_other_secondary_model_scale': 0.7,431        'vr_bass_secondary_model_scale': 0.5,432        'vr_drums_secondary_model_scale': 0.5,433        'demucs_model': CHOOSE_MODEL, 434        'demucs_stems': ALL_STEMS,435        'segment': DEMUCS_SEGMENTS[0],436        'overlap': DEMUCS_OVERLAP[0],437        'shifts': 2,438        'chunks_demucs': CHUNKS[0],439        'margin_demucs': 44100,440        'is_chunk_demucs': False,441        'is_chunk_mdxnet': False,442        'is_primary_stem_only_Demucs': False,443        'is_secondary_stem_only_Demucs': False,444        'is_split_mode': True,445        'is_demucs_combine_stems': True,446        'demucs_voc_inst_secondary_model': NO_MODEL,447        'demucs_other_secondary_model': NO_MODEL,448        'demucs_bass_secondary_model': NO_MODEL,449        'demucs_drums_secondary_model': NO_MODEL,450        'demucs_is_secondary_model_activate': False,        451        'demucs_voc_inst_secondary_model_scale': 0.9,452        'demucs_other_secondary_model_scale': 0.7,453        'demucs_bass_secondary_model_scale': 0.5,454        'demucs_drums_secondary_model_scale': 0.5,455        'demucs_stems': ALL_STEMS,456        'demucs_pre_proc_model': NO_MODEL,457        'is_demucs_pre_proc_model_activate': False,458        'is_demucs_pre_proc_model_inst_mix': False,459        'mdx_net_model': CHOOSE_MODEL,460        'chunks': CHUNKS[0],461        'margin': 44100,462        'compensate': AUTO_SELECT,463        'is_denoise': False,464        'is_invert_spec': False, 465        'is_mixer_mode': False, 466        'mdx_batch_size': DEF_OPT,467        'mdx_voc_inst_secondary_model': NO_MODEL,468        'mdx_other_secondary_model': NO_MODEL,469        'mdx_bass_secondary_model': NO_MODEL,470        'mdx_drums_secondary_model': NO_MODEL,471        'mdx_is_secondary_model_activate': False,        472        'mdx_voc_inst_secondary_model_scale': 0.9,473        'mdx_other_secondary_model_scale': 0.7,474        'mdx_bass_secondary_model_scale': 0.5,475        'mdx_drums_secondary_model_scale': 0.5,476        'is_save_all_outputs_ensemble': True,477        'is_append_ensemble_name': False,478        'chosen_audio_tool': AUDIO_TOOL_OPTIONS[0],479        'choose_algorithm': MANUAL_ENSEMBLE_OPTIONS[0],480        'time_stretch_rate': 2.0,481        'pitch_rate': 2.0,482        'is_gpu_conversion': False,483        'is_primary_stem_only': False,484        'is_secondary_stem_only': False,485        'is_testing_audio': False,486        'is_add_model_name': False,487        'is_accept_any_input': False,488        'is_task_complete': False,489        'is_normalization': False,490        'is_create_model_folder': False,491        'mp3_bit_set': '320k',492        'save_format': WAV,493        'wav_type_set': 'PCM_16',494        'user_code': '',495        'export_path': '',496        'input_paths': [],497        'lastDir': None,498        'export_path': '',499        'model_hash_table': None,500        'help_hints_var': False,501        'model_sample_mode': False,502        'model_sample_mode_duration': 30503}504 505SETTING_CHECK = ('vr_model',506               'aggression_setting',507               'window_size',508               'batch_size',509               'crop_size',510               'is_tta',511               'is_output_image',512               'is_post_process',513               'is_high_end_process',514               'post_process_threshold',515               'vr_voc_inst_secondary_model',516               'vr_other_secondary_model',517               'vr_bass_secondary_model',518               'vr_drums_secondary_model',519               'vr_is_secondary_model_activate',520               'vr_voc_inst_secondary_model_scale',521               'vr_other_secondary_model_scale',522               'vr_bass_secondary_model_scale',523               'vr_drums_secondary_model_scale',524               'demucs_model',525               'segment',526               'overlap',527               'shifts',528               'chunks_demucs',529               'margin_demucs',530               'is_chunk_demucs',531               'is_primary_stem_only_Demucs',532               'is_secondary_stem_only_Demucs',533               'is_split_mode',534               'is_demucs_combine_stems',535               'demucs_voc_inst_secondary_model',536               'demucs_other_secondary_model',537               'demucs_bass_secondary_model',538               'demucs_drums_secondary_model',539               'demucs_is_secondary_model_activate',540               'demucs_voc_inst_secondary_model_scale',541               'demucs_other_secondary_model_scale',542               'demucs_bass_secondary_model_scale',543               'demucs_drums_secondary_model_scale',544               'demucs_stems',545               'mdx_net_model',546               'chunks',547               'margin',548               'compensate',549               'is_denoise',550               'is_invert_spec',551               'mdx_batch_size',552               'mdx_voc_inst_secondary_model',553               'mdx_other_secondary_model',554               'mdx_bass_secondary_model',555               'mdx_drums_secondary_model',556               'mdx_is_secondary_model_activate',557               'mdx_voc_inst_secondary_model_scale',558               'mdx_other_secondary_model_scale',559               'mdx_bass_secondary_model_scale',560               'mdx_drums_secondary_model_scale',561               'is_save_all_outputs_ensemble',562               'is_append_ensemble_name',563               'chosen_audio_tool',564               'choose_algorithm',565               'time_stretch_rate',566               'pitch_rate',567               'is_primary_stem_only',568               'is_secondary_stem_only',569               'is_testing_audio',570               'is_add_model_name',571               "is_accept_any_input",572               'is_task_complete',573               'is_create_model_folder',574               'mp3_bit_set',575               'save_format',576               'wav_type_set',577               'user_code',578               'is_gpu_conversion',579               'is_normalization',580               'help_hints_var',581               'model_sample_mode',582               'model_sample_mode_duration')583 584# Message Box Text585 586INVALID_INPUT = 'Invalid Input', 'The input is invalid.\n\nPlease verify the input still exists or is valid and try again.'587INVALID_EXPORT = 'Invalid Export Directory', 'You have selected an invalid export directory.\n\nPlease make sure the selected directory still exists.'588INVALID_ENSEMBLE = 'Not Enough Models', 'You must select 2 or more models to run ensemble.'589INVALID_MODEL = 'No Model Chosen', 'You must select an model to continue.'590MISSING_MODEL = 'Model Missing', 'The selected model is missing or not valid.'591ERROR_OCCURED = 'Error Occured', '\n\nWould you like to open the error log for more details?\n'592 593# GUI Text Constants594 595BACK_TO_MAIN_MENU = 'Back to Main Menu'596 597# Help Hint Text598 599INTERNAL_MODEL_ATT = 'Internal model attribute. \n\n ***Do not change this setting if you are unsure!***'600STOP_HELP = 'Halts any running processes. \n A pop-up window will ask the user to confirm the action.'601SETTINGS_HELP = 'Opens the main settings guide. This window includes the \"Download Center\"'602COMMAND_TEXT_HELP = 'Provides information on the progress of the current process.'603SAVE_CURRENT_SETTINGS_HELP = 'Allows the user to open any saved settings or save the current application settings.'604CHUNKS_HELP = ('For MDX-Net, all values use the same amount of resources. Using chunks is no longer recommended.\n\n' + \605                '• This option is now only for output quality.\n' + \606                '• Some tracks may fare better depending on the value.\n' + \607                '• Some tracks may fare worse depending on the value.\n' + \608                '• Larger chunk sizes use will take less time to process.\n' +\609                '• Smaller chunk sizes use will take more time to process.\n')610CHUNKS_DEMUCS_HELP = ('This option allows the user to reduce (or increase) RAM or V-RAM usage.\n\n' + \611                '• Smaller chunk sizes use less RAM or V-RAM but can also increase processing times.\n' + \612                '• Larger chunk sizes use more RAM or V-RAM but can also reduce processing times.\n' + \613                '• Selecting \"Auto\" calculates an appropriate chuck size based on how much RAM or V-RAM your system has.\n' + \614                '• Selecting \"Full\" will process the track as one whole chunk. (not recommended)\n' + \615                '• The default selection is \"Auto\".')616MARGIN_HELP = 'Selects the frequency margins to slice the chunks from.\n\n• The recommended margin size is 44100.\n• Other values can give unpredictable results.'617AGGRESSION_SETTING_HELP = ('This option allows you to set how strong the primary stem extraction will be.\n\n' + \618                           '• The range is 0-100.\n' + \619                           '• Higher values perform deeper extractions.\n' + \620                           '• The default is 10 for instrumental & vocal models.\n' + \621                           '• Values over 10 can result in muddy-sounding instrumentals for the non-vocal models')622WINDOW_SIZE_HELP = ('The smaller your window size, the better your conversions will be. \nHowever, a smaller window means longer conversion times and heavier resource usage.\n\n' + \623                    'Breakdown of the selectable window size values:\n' + \624                    '• 1024 - Low conversion quality, shortest conversion time, low resource usage.\n' + \625                    '• 512 - Average conversion quality, average conversion time, normal resource usage.\n' + \626                    '• 320 - Better conversion quality.')627DEMUCS_STEMS_HELP = ('Here, you can choose which stem to extract using the selected model.\n\n' +\628                     'Stem Selections:\n\n' +\629                     '• All Stems - Saves all of the stems the model is able to extract.\n' +\630                     '• Vocals - Pulls vocal stem only.\n' +\631                     '• Other - Pulls other stem only.\n' +\632                     '• Bass - Pulls bass stem only.\n' +\633                     '• Drums - Pulls drum stem only.\n')634SEGMENT_HELP = ('This option allows the user to reduce (or increase) RAM or V-RAM usage.\n\n' + \635                '• Smaller segment sizes use less RAM or V-RAM but can also increase processing times.\n' + \636                '• Larger segment sizes use more RAM or V-RAM but can also reduce processing times.\n' + \637                '• Selecting \"Default\" uses the recommended segment size.\n' + \638                '• It is recommended that you not use segments with \"Chunking\".')639ENSEMBLE_MAIN_STEM_HELP = 'Allows the user to select the type of stems they wish to ensemble.\n\nOptions:\n\n' +\640                          f'• {VOCAL_PAIR} - The primary stem will be the vocals and the secondary stem will be the the instrumental\n' +\641                          f'• {OTHER_PAIR} - The primary stem will be other and the secondary stem will be no other (the mixture without the \'other\' stem)\n' +\642                          f'• {BASS_PAIR} - The primary stem will be bass and the secondary stem will be no bass (the mixture without the \'bass\' stem)\n' +\643                          f'• {DRUM_PAIR} - The primary stem will be drums and the secondary stem will be no drums (the mixture without the \'drums\' stem)\n' +\644                          f'• {FOUR_STEM_ENSEMBLE} - This option will gather all the 4 stem Demucs models and ensemble all of the outputs.\n'645ENSEMBLE_TYPE_HELP = 'Allows the user to select the ensemble algorithm to be used to generate the final output.\n\nExample & Other Note:\n\n' +\646                     f'• {MAX_MIN} - If this option is chosen, the primary stem outputs will be processed through \nthe \'Max Spec\' algorithm, and the secondary stem will be processed through the \'Min Spec\' algorithm.\n' +\647                     f'• Only a single algorithm will be shown when the \'4 Stem Ensemble\' option is chosen.\n\nAlgorithm Details:\n\n' +\648                     f'• {MAX_SPEC} - This algorithm combines the final results and generates the highest possible output from them.\nFor example, if this algorithm were processing vocal stems, you would get the fullest possible \n' +\649                        'result making the ensembled vocal stem sound cleaner. However, it might result in more unwanted artifacts.\n' +\650                     f'• {MIN_SPEC} - This algorithm combines the results and generates the lowest possible output from them.\nFor example, if this algorithm were processing instrumental stems, you would get the cleanest possible result \n' +\651                        'result, eliminating more unwanted artifacts. However, the result might also sound \'muddy\' and lack a fuller sound.\n' +\652                     f'• {AUDIO_AVERAGE} - This algorithm simply combines the results and averages all of them together. \n'653ENSEMBLE_LISTBOX_HELP = 'List of the all the models available for the main stem pair selected.'654IS_GPU_CONVERSION_HELP = ('When checked, the application will attempt to use your GPU (if you have one).\n' +\655                         'If you do not have a GPU but have this checked, the application will default to your CPU.\n\n' +\656                         'Note: CPU conversions are much slower than those processed through the GPU.')657SAVE_STEM_ONLY_HELP = 'Allows the user to save only the selected stem.'658IS_NORMALIZATION_HELP = 'Normalizes output to prevent clipping.'659CROP_SIZE_HELP = '**Only compatible with select models only!**\n\n Setting should match training crop-size value. Leave as is if unsure.'660IS_TTA_HELP = ('This option performs Test-Time-Augmentation to improve the separation quality.\n\n' +\661               'Note: Having this selected will increase the time it takes to complete a conversion')662IS_POST_PROCESS_HELP = ('This option can potentially identify leftover instrumental artifacts within the vocal outputs. \nThis option may improve the separation of some songs.\n\n' +\663                       'Note: Selecting this option can adversely affect the conversion process, depending on the track. Because of this, it is only recommended as a last resort.')664IS_HIGH_END_PROCESS_HELP = 'The application will mirror the missing frequency range of the output.'665SHIFTS_HELP = ('Performs multiple predictions with random shifts of the input and averages them.\n\n' +\666              '• The higher number of shifts, the longer the prediction will take. \n- Not recommended unless you have a GPU.')667OVERLAP_HELP = 'This option controls the amount of overlap between prediction windows (for Demucs one window is 10 seconds)'668IS_CHUNK_DEMUCS_HELP = '• Enables \"Chunks\".\n• We recommend you not enable this option with \"Split Mode\" enabled or with the Demucs v4 Models.'669IS_CHUNK_MDX_NET_HELP = '• Enables \"Chunks\".\n• Using this option for MDX-Net no longer effects RAM usage.\n• Having this enabled will effect output quality, for better or worse depending on the set value.'670IS_SPLIT_MODE_HELP = ('• Enables \"Segments\". \n• We recommend you not enable this option with \"Enable Chunks\".\n' +\671                      '• Deselecting this option is only recommended for those with powerful PCs or if using \"Chunk\" mode instead.')672IS_DEMUCS_COMBINE_STEMS_HELP = 'The application will create the secondary stem by combining the remaining stems \ninstead of inverting the primary stem with the mixture.'673COMPENSATE_HELP = 'Compensates the audio of the primary stems to allow for a better secondary stem.'674IS_DENOISE_HELP = '• This option removes a majority of the noise generated by the MDX-Net models.\n• The conversion will take nearly twice as long with this enabled.'675CLEAR_CACHE_HELP = 'Clears any user selected model settings for previously unrecognized models.'676IS_SAVE_ALL_OUTPUTS_ENSEMBLE_HELP = 'Enabling this option will keep all indivudual outputs generated by an ensemble.'677IS_APPEND_ENSEMBLE_NAME_HELP = 'The application will append the ensemble name to the final output \nwhen this option is enabled.'678DONATE_HELP = 'Takes the user to an external web-site to donate to this project!'679IS_INVERT_SPEC_HELP = '• This option may produce a better secondary stem.\n• Inverts primary stem with mixture using spectragrams instead of wavforms.\n• This inversion method is slightly slower.'680IS_MIXER_MODE_HELP = '• This option may improve separations for outputs from 4-stem models.\n• Might produce more noise.\n• This option might slow down separation time.'681IS_TESTING_AUDIO_HELP = 'Appends a unique 10 digit number to output files so the user \ncan compare results with different settings.'682IS_MODEL_TESTING_AUDIO_HELP = 'Appends the model name to output files so the user \ncan compare results with different settings.'683IS_ACCEPT_ANY_INPUT_HELP = 'The application will accept any input when enabled, even if it does not have an audio format extension.\n\nThis is for experimental purposes, and having it enabled is not recommended.'684IS_TASK_COMPLETE_HELP = 'When enabled, chimes will be heard when a process completes or fails.'685IS_CREATE_MODEL_FOLDER_HELP = 'Two new directories will be generated for the outputs in \nthe export directory after each conversion.\n\n' +\686                              '• First directory - Named after the model.\n' +\687                              '• Second directory - Named after the track.\n\n' +\688                              '• Example: \n\n' +\689                              '─ Export Directory\n' +\690                              '   └── First Directory\n' +\691                              '           └── Second Directory\n' +\692                              '                    └── Output File(s)'693DELETE_YOUR_SETTINGS_HELP = 'This menu contains your saved settings. You will be asked to \nconfirm if you wish to delete the selected setting.'694SET_STEM_NAME_HELP = 'Choose the primary stem for the selected model.'695MDX_DIM_T_SET_HELP = INTERNAL_MODEL_ATT696MDX_DIM_F_SET_HELP = INTERNAL_MODEL_ATT697MDX_N_FFT_SCALE_SET_HELP = 'Set the N_FFT size the model was trained with.'698POPUP_COMPENSATE_HELP = f'Choose the appropriate voluem compensattion for the selected model\n\nReminder: {COMPENSATE_HELP}'699VR_MODEL_PARAM_HELP = 'Choose the parameters needed to run the selected model.'700CHOSEN_ENSEMBLE_HELP = 'Select saved enselble or save current ensemble.\n\nDefault Selections:\n\n• Save the current ensemble.\n• Clears all current model selections.'701CHOSEN_PROCESS_METHOD_HELP = 'Here, you choose between different Al networks and algorithms to process your track.\n\n' +\702                             'There are five options:\n\n' +\703                             '• VR Architecture - These models use magnitude spectrograms for Source Separation.\n' +\704                             '• MDX-Net - These models use Hybrid Spectrogram/Waveform for Source Separation.\n' +\705                             '• Demucs v3 - These models use Hybrid Spectrogram/Waveform for Source Separation.\n' +\706                             '• Ensemble Mode - Here, you can get the best results from multiple models and networks.\n' +\707                             '• Audio Tools - These are additional tools for added convenience.'708INPUT_FOLDER_ENTRY_HELP = 'Select Input:\n\nHere is where you select the audio files(s) you wish to process.'709INPUT_FOLDER_ENTRY_HELP_2 = 'Input Option Menu:\n\nClick here to access the input option menu.'710OUTPUT_FOLDER_ENTRY_HELP = 'Select Output:\n\nHere is where you select the directory where your processed files are to be saved.'711INPUT_FOLDER_BUTTON_HELP = 'Open Input Folder Button: \n\nOpens the directory containing the selected input audio file(s).'712OUTPUT_FOLDER_BUTTON_HELP = 'Open Output Folder Button: \n\nOpens the selected output folder.'713CHOOSE_MODEL_HELP = 'Each process method comes with its own set of options and models.\n\nHere is where you choose the model associated with the selected process method.'714FORMAT_SETTING_HELP = 'Save outputs as '715SECONDARY_MODEL_ACTIVATE_HELP = 'When enabled, the application will run an additional inference with the selected model(s) above.'716SECONDARY_MODEL_HELP = 'Choose the secondary model associated with this stem you wish to run with the current process method.'717SECONDARY_MODEL_SCALE_HELP = 'The scale determines how the final audio outputs will be averaged between the primary and secondary models.\n\nFor example:\n\n' +\718                             '• 10% - 10 percent of the main model result will be factored into the final result.\n' +\719                             '• 50% - The results from the main and secondary models will be averaged evenly.\n' +\720                             '• 90% - 90 percent of the main model result will be factored into the final result.'721PRE_PROC_MODEL_ACTIVATE_HELP = 'The application will run an inference with the selected model above, pulling only the instrumental stem when enabled. \nFrom there, all of the non-vocal stems will be pulled from the generated instrumental.\n\nNotes:\n\n' +\722                               '• This option can significantly reduce vocal bleed within the non-vocal stems.\n' +\723                               '• It is only available in Demucs.\n' +\724                               '• It is only compatible with non-vocal and non-instrumental stem outputs.\n' +\725                               '• This will increase thetotal processing time.\n' +\726                               '• Only VR and MDX-Net Vocal or Instrumental models are selectable above.'727 728AUDIO_TOOLS_HELP = 'Here, you choose between different audio tools to process your track.\n\n' +\729                               '• Manual Ensemble - You must have 2 or more files selected as your inputs. Allows the user to run their tracks through \nthe same algorithms used in Ensemble Mode.\n' +\730                               '• Align Inputs - You must have exactly 2 files selected as your inputs. The second input will be aligned with the first input.\n' +\731                               '• Time Stretch - The user can speed up or slow down the selected inputs.\n' +\732                               '• Change Pitch - The user can change the pitch for the selected inputs.\n'733PRE_PROC_MODEL_INST_MIX_HELP = 'When enabled, the application will generate a third output without the selected stem and vocals.'         734MODEL_SAMPLE_MODE_HELP = 'Allows the user to process only part of a track to sample settings or a model without \nrunning a full conversion.\n\nNotes:\n\n' +\735                         '• The number in the parentheses is the current number of seconds the generated sample will be.\n' +\736                         '• You can choose the number of seconds to extract from the track in the \"Additional Settings\" menu.'737                    738POST_PROCESS_THREASHOLD_HELP = 'Allows the user to control the intensity of the Post_process option.\n\nNotes:\n\n' +\739                               '• Higher values potentially remove more artifacts. However, bleed might increase.\n' +\740                               '• Lower values limit artifact removal.'741 742BATCH_SIZE_HELP = 'Specify the number of batches to be processed at a time.\n\nNotes:\n\n' +\743                               '• Higher values mean more RAM usage but slightly faster processing times.\n' +\744                               '• Lower values mean less RAM usage but slightly longer processing times.\n' +\745                               '• Batch size value has no effect on output quality.'746               747# Warning Messages748 749STORAGE_ERROR = 'Insufficient Storage', 'There is not enough storage on main drive to continue. Your main drive must have at least 3 GB\'s of storage in order for this application function properly. \n\nPlease ensure your main drive has at least 3 GB\'s of storage and try again.\n\n'750STORAGE_WARNING = 'Available Storage Low', 'Your main drive is running low on storage. Your main drive must have at least 3 GB\'s of storage in order for this application function properly.\n\n'751CONFIRM_WARNING = '\nAre you sure you wish to continue?'752PROCESS_FAILED = 'Process failed, please see error log\n'753EXIT_PROCESS_ERROR = 'Active Process', 'Please stop the active process or wait for it to complete before you exit.'754EXIT_HALTED_PROCESS_ERROR = 'Halting Process', 'Please wait for the application to finish halting the process before exiting.'755EXIT_DOWNLOAD_ERROR = 'Active Download', 'Please stop the download or wait for it to complete before you exit.'756SET_TO_DEFAULT_PROCESS_ERROR = 'Active Process', 'You cannot reset all of the application settings during an active process.'757SET_TO_ANY_PROCESS_ERROR = 'Active Process', 'You cannot reset the application settings during an active process.'758RESET_ALL_TO_DEFAULT_WARNING = 'Reset Settings Confirmation', 'All application settings will be set to factory default.\n\nAre you sure you wish to continue?'759AUDIO_VERIFICATION_CHECK = lambda i, e:f'++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nBroken File Removed: \n\n{i}\n\nError Details:\n\n{e}\n++++++++++++++++++++++++++++++++++++++++++++++++++++'760INVALID_ONNX_MODEL_ERROR = 'Invalid Model', 'The file selected is not a valid MDX-Net model. Please see the error log for more information.'761 762 763# Separation Text764 765LOADING_MODEL = 'Loading model...'766INFERENCE_STEP_1 = 'Running inference...'767INFERENCE_STEP_1_SEC = 'Running inference (secondary model)...'768INFERENCE_STEP_1_4_STEM = lambda stem:f'Running inference (secondary model for {stem})...'769INFERENCE_STEP_1_PRE = 'Running inference (pre-process model)...'770INFERENCE_STEP_2_PRE = lambda pm, m:f'Loading pre-process model ({pm}: {m})...'771INFERENCE_STEP_2_SEC = lambda pm, m:f'Loading secondary model ({pm}: {m})...'772INFERENCE_STEP_2_SEC_CACHED_MODOEL = lambda pm, m:f'Secondary model ({pm}: {m}) cache loaded.\n'773INFERENCE_STEP_2_PRE_CACHED_MODOEL = lambda pm, m:f'Pre-process model ({pm}: {m}) cache loaded.\n'774INFERENCE_STEP_2_SEC_CACHED = 'Loading cached secondary model source(s)... Done!\n'775INFERENCE_STEP_2_PRIMARY_CACHED = 'Model cache loaded.\n'776INFERENCE_STEP_2 = 'Inference complete.'777SAVING_STEM = 'Saving ', ' stem...'778SAVING_ALL_STEMS = 'Saving all stems...'779ENSEMBLING_OUTPUTS = 'Ensembling outputs...'780DONE = ' Done!\n'781ENSEMBLES_SAVED = 'Ensembled outputs saved!\n\n'782NEW_LINES = "\n\n"783NEW_LINE = "\n"784NO_LINE = ''785 786# Widget Placements787 788MAIN_ROW_Y = -15, -17789MAIN_ROW_X = -4, 21790MAIN_ROW_WIDTH = -53791MAIN_ROW_2_Y = -15, -17792MAIN_ROW_2_X = -28, 1793CHECK_BOX_Y = 0794CHECK_BOX_X = 20795CHECK_BOX_WIDTH = -50796CHECK_BOX_HEIGHT = 2797LEFT_ROW_WIDTH = -10798LABEL_HEIGHT = -5799OPTION_HEIGHT = 7800LOW_MENU_Y = 18, 16801FFMPEG_EXT = (".aac", ".aiff", ".alac" ,".flac", ".FLAC", ".mov", ".mp4", ".MP4", 802              ".m4a", ".M4A", ".mp2", ".mp3", "MP3", ".mpc", ".mpc8", 803              ".mpeg", ".ogg", ".OGG", ".tta", ".wav", ".wave", ".WAV", ".WAVE", ".wma", ".webm", ".eac3", ".mkv")804 805FFMPEG_MORE_EXT = (".aa", ".aac", ".ac3", ".aiff", ".alac", ".avi", ".f4v",".flac", ".flic", ".flv",806              ".m4v",".mlv", ".mov", ".mp4", ".m4a", ".mp2", ".mp3", ".mp4", ".mpc", ".mpc8", 807              ".mpeg", ".ogg", ".tta", ".tty", ".vcd", ".wav", ".wma")808ANY_EXT = ""809 810# Secondary Menu Constants811 812VOCAL_PAIR_PLACEMENT = 1, 2, 3, 4813OTHER_PAIR_PLACEMENT = 5, 6, 7, 8814BASS_PAIR_PLACEMENT = 9, 10, 11, 12815DRUMS_PAIR_PLACEMENT = 13, 14, 15, 16816 817# Drag n Drop String Checks818 819DOUBLE_BRACKET = "} {"820RIGHT_BRACKET = "}"821LEFT_BRACKET = "{"822 823# Manual Downloads824 825VR_PLACEMENT_TEXT = 'Place models in \"models/VR_Models\" directory.'826MDX_PLACEMENT_TEXT = 'Place models in \"models/MDX_Net_Models\" directory.'827DEMUCS_PLACEMENT_TEXT = 'Place models in \"models/Demucs_Models\" directory.'828DEMUCS_V3_V4_PLACEMENT_TEXT = 'Place items in \"models/Demucs_Models/v3_v4_repo\" directory.'829 830FULL_DOWNLOAD_LIST_VR = {831                    "VR Arch Single Model v5: 1_HP-UVR": "1_HP-UVR.pth",832                    "VR Arch Single Model v5: 2_HP-UVR": "2_HP-UVR.pth",833                    "VR Arch Single Model v5: 3_HP-Vocal-UVR": "3_HP-Vocal-UVR.pth",834                    "VR Arch Single Model v5: 4_HP-Vocal-UVR": "4_HP-Vocal-UVR.pth",835                    "VR Arch Single Model v5: 5_HP-Karaoke-UVR": "5_HP-Karaoke-UVR.pth",836                    "VR Arch Single Model v5: 6_HP-Karaoke-UVR": "6_HP-Karaoke-UVR.pth",837                    "VR Arch Single Model v5: 7_HP2-UVR": "7_HP2-UVR.pth",838                    "VR Arch Single Model v5: 8_HP2-UVR": "8_HP2-UVR.pth",839                    "VR Arch Single Model v5: 9_HP2-UVR": "9_HP2-UVR.pth",840                    "VR Arch Single Model v5: 10_SP-UVR-2B-32000-1": "10_SP-UVR-2B-32000-1.pth",841                    "VR Arch Single Model v5: 11_SP-UVR-2B-32000-2": "11_SP-UVR-2B-32000-2.pth",842                    "VR Arch Single Model v5: 12_SP-UVR-3B-44100": "12_SP-UVR-3B-44100.pth",843                    "VR Arch Single Model v5: 13_SP-UVR-4B-44100-1": "13_SP-UVR-4B-44100-1.pth",844                    "VR Arch Single Model v5: 14_SP-UVR-4B-44100-2": "14_SP-UVR-4B-44100-2.pth",845                    "VR Arch Single Model v5: 15_SP-UVR-MID-44100-1": "15_SP-UVR-MID-44100-1.pth",846                    "VR Arch Single Model v5: 16_SP-UVR-MID-44100-2": "16_SP-UVR-MID-44100-2.pth",847                    "VR Arch Single Model v4: MGM_HIGHEND_v4": "MGM_HIGHEND_v4.pth",848                    "VR Arch Single Model v4: MGM_LOWEND_A_v4": "MGM_LOWEND_A_v4.pth",849                    "VR Arch Single Model v4: MGM_LOWEND_B_v4": "MGM_LOWEND_B_v4.pth",850                    "VR Arch Single Model v4: MGM_MAIN_v4": "MGM_MAIN_v4.pth"851                  }852 853FULL_DOWNLOAD_LIST_MDX = {854                    "MDX-Net Model: UVR-MDX-NET Main": "UVR_MDXNET_Main.onnx",855                    "MDX-Net Model: UVR-MDX-NET Inst Main": "UVR-MDX-NET-Inst_Main.onnx",856                    "MDX-Net Model: UVR-MDX-NET 1": "UVR_MDXNET_1_9703.onnx",857                    "MDX-Net Model: UVR-MDX-NET 2": "UVR_MDXNET_2_9682.onnx",858                    "MDX-Net Model: UVR-MDX-NET 3": "UVR_MDXNET_3_9662.onnx",859                    "MDX-Net Model: UVR-MDX-NET Inst 1": "UVR-MDX-NET-Inst_1.onnx",860                    "MDX-Net Model: UVR-MDX-NET Inst 2": "UVR-MDX-NET-Inst_2.onnx",861                    "MDX-Net Model: UVR-MDX-NET Inst 3": "UVR-MDX-NET-Inst_3.onnx",862                    "MDX-Net Model: UVR-MDX-NET Karaoke": "UVR_MDXNET_KARA.onnx",863                    "MDX-Net Model: UVR_MDXNET_9482": "UVR_MDXNET_9482.onnx",864                    "MDX-Net Model: Kim_Vocal_1": "Kim_Vocal_1.onnx",865                    "MDX-Net Model: kuielab_a_vocals": "kuielab_a_vocals.onnx",866                    "MDX-Net Model: kuielab_a_other": "kuielab_a_other.onnx",867                    "MDX-Net Model: kuielab_a_bass": "kuielab_a_bass.onnx",868                    "MDX-Net Model: kuielab_a_drums": "kuielab_a_drums.onnx",869                    "MDX-Net Model: kuielab_b_vocals": "kuielab_b_vocals.onnx",870                    "MDX-Net Model: kuielab_b_other": "kuielab_b_other.onnx",871                    "MDX-Net Model: kuielab_b_bass": "kuielab_b_bass.onnx",872                    "MDX-Net Model: kuielab_b_drums": "kuielab_b_drums.onnx"}873                    874FULL_DOWNLOAD_LIST_DEMUCS = {875                    876	                "Demucs v4: htdemucs_ft":{877	                                "f7e0c4bc-ba3fe64a.th":"https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/f7e0c4bc-ba3fe64a.th",878	                                "d12395a8-e57c48e6.th":"https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/d12395a8-e57c48e6.th",879	                                "92cfc3b6-ef3bcb9c.th":"https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/92cfc3b6-ef3bcb9c.th",880	                                "04573f0d-f3cf25b2.th":"https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/04573f0d-f3cf25b2.th",881	                                "htdemucs_ft.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/htdemucs_ft.yaml"882	                                },883 884	                "Demucs v4: htdemucs":{885	                                "955717e8-8726e21a.th": "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/955717e8-8726e21a.th",886	                                "htdemucs.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/htdemucs.yaml"887	                                },888 889	                "Demucs v4: hdemucs_mmi":{890	                                "75fc33f5-1941ce65.th": "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/75fc33f5-1941ce65.th",891	                                "hdemucs_mmi.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/hdemucs_mmi.yaml"892	                                },893	                "Demucs v4: htdemucs_6s":{894	                                "5c90dfd2-34c22ccb.th": "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/5c90dfd2-34c22ccb.th",895	                                "htdemucs_6s.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/htdemucs_6s.yaml"896	                                },897	                "Demucs v3: mdx":{898	                                "0d19c1c6-0f06f20e.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/0d19c1c6-0f06f20e.th", 899	                                "7ecf8ec1-70f50cc9.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/7ecf8ec1-70f50cc9.th",900	                                "c511e2ab-fe698775.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/c511e2ab-fe698775.th",901	                                "7d865c68-3d5dd56b.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/7d865c68-3d5dd56b.th",902	                                "mdx.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/mdx.yaml"903	                                },904	                905	                "Demucs v3: mdx_q":{906	                                "6b9c2ca1-3fd82607.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/6b9c2ca1-3fd82607.th",907	                                "b72baf4e-8778635e.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/b72baf4e-8778635e.th",908	                                "42e558d4-196e0e1b.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/42e558d4-196e0e1b.th",909	                                "305bc58f-18378783.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/305bc58f-18378783.th",910	                                "mdx_q.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/mdx_q.yaml"911	                                },912	                913	                "Demucs v3: mdx_extra":{914	                                "e51eebcc-c1b80bdd.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/e51eebcc-c1b80bdd.th",915	                                "a1d90b5c-ae9d2452.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/a1d90b5c-ae9d2452.th",916	                                "5d2d6c55-db83574e.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/5d2d6c55-db83574e.th",917	                                "cfa93e08-61801ae1.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/cfa93e08-61801ae1.th",918	                                "mdx_extra.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/mdx_extra.yaml"919	                                },920	                921	                "Demucs v3: mdx_extra_q": {922	                                "83fc094f-4a16d450.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/83fc094f-4a16d450.th",923	                                "464b36d7-e5a9386e.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/464b36d7-e5a9386e.th",924	                                "14fc6a69-a89dd0ee.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/14fc6a69-a89dd0ee.th",925	                                "7fd6ef75-a905dd85.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/7fd6ef75-a905dd85.th",926	                                "mdx_extra_q.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/mdx_extra_q.yaml"927	                                },928	                929	                "Demucs v3: UVR Model":{930	                                "ebf34a2db.th": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/ebf34a2db.th",931	                                "UVR_Demucs_Model_1.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/UVR_Demucs_Model_1.yaml"932	                                },933 934	                "Demucs v3: repro_mdx_a":{935	                                "9a6b4851-03af0aa6.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/9a6b4851-03af0aa6.th", 936	                                "1ef250f1-592467ce.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/1ef250f1-592467ce.th",937	                                "fa0cb7f9-100d8bf4.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/fa0cb7f9-100d8bf4.th",938	                                "902315c2-b39ce9c9.th": "https://dl.fbaipublicfiles.com/demucs/mdx_final/902315c2-b39ce9c9.th",939	                                "repro_mdx_a.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/repro_mdx_a.yaml"940	                                },941 942	                "Demucs v3: repro_mdx_a_time_only":{943	                                "9a6b4851-03af0aa6.th":"https://dl.fbaipublicfiles.com/demucs/mdx_final/9a6b4851-03af0aa6.th",944	                                "1ef250f1-592467ce.th":"https://dl.fbaipublicfiles.com/demucs/mdx_final/1ef250f1-592467ce.th",945	                                "repro_mdx_a_time_only.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/repro_mdx_a_time_only.yaml"946	                                },947 948	                "Demucs v3: repro_mdx_a_hybrid_only":{949	                                "fa0cb7f9-100d8bf4.th":"https://dl.fbaipublicfiles.com/demucs/mdx_final/fa0cb7f9-100d8bf4.th",950	                                "902315c2-b39ce9c9.th":"https://dl.fbaipublicfiles.com/demucs/mdx_final/902315c2-b39ce9c9.th",951	                                "repro_mdx_a_hybrid_only.yaml": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/repro_mdx_a_hybrid_only.yaml"952	                                },953 954	                "Demucs v2: demucs": {955	                                "demucs-e07c671f.th": "https://dl.fbaipublicfiles.com/demucs/v3.0/demucs-e07c671f.th"956	                                },957 958	                "Demucs v2: demucs_extra": {959	                                "demucs_extra-3646af93.th":"https://dl.fbaipublicfiles.com/demucs/v3.0/demucs_extra-3646af93.th"960	                                },961 962	                "Demucs v2: demucs48_hq": {963	                                "demucs48_hq-28a1282c.th":"https://dl.fbaipublicfiles.com/demucs/v3.0/demucs48_hq-28a1282c.th"964	                                },965 966	                "Demucs v2: tasnet": {967	                                "tasnet-beb46fac.th":"https://dl.fbaipublicfiles.com/demucs/v3.0/tasnet-beb46fac.th"968	                                },969 970	                "Demucs v2: tasnet_extra": {971	                                "tasnet_extra-df3777b2.th":"https://dl.fbaipublicfiles.com/demucs/v3.0/tasnet_extra-df3777b2.th"972	                                },973	                                974	                "Demucs v2: demucs_unittest": {975	                                "demucs_unittest-09ebc15f.th":"https://dl.fbaipublicfiles.com/demucs/v3.0/demucs_unittest-09ebc15f.th"976	                                },977 978	                "Demucs v1: demucs": {979	                                "demucs.th":"https://dl.fbaipublicfiles.com/demucs/v2.0/demucs.th"980	                                },981 982	                "Demucs v1: demucs_extra": {983	                                "demucs_extra.th":"https://dl.fbaipublicfiles.com/demucs/v2.0/demucs_extra.th"984	                                },985 986	                "Demucs v1: light": {987	                                "light.th":"https://dl.fbaipublicfiles.com/demucs/v2.0/light.th"988	                                },989 990	                "Demucs v1: light_extra": {991	                                "light_extra.th":"https://dl.fbaipublicfiles.com/demucs/v2.0/light_extra.th"992	                                },993 994	                "Demucs v1: tasnet": {995	                                "tasnet.th":"https://dl.fbaipublicfiles.com/demucs/v2.0/tasnet.th"996	                                },997	                                998	                "Demucs v1: tasnet_extra": {999	                                "tasnet_extra.th":"https://dl.fbaipublicfiles.com/demucs/v2.0/tasnet_extra.th"1000	                                }1001                }1002 1003# Main Menu Labels1004 1005CHOOSE_PROC_METHOD_MAIN_LABEL = 'CHOOSE PROCESS METHOD'1006SELECT_SAVED_SETTINGS_MAIN_LABEL = 'SELECT SAVED SETTINGS'1007CHOOSE_MDX_MODEL_MAIN_LABEL = 'CHOOSE MDX-NET MODEL'1008BATCHES_MDX_MAIN_LABEL = 'BATCH SIZE'1009VOL_COMP_MDX_MAIN_LABEL = 'VOLUME COMPENSATION'1010SELECT_VR_MODEL_MAIN_LABEL = 'CHOOSE VR MODEL'1011AGGRESSION_SETTING_MAIN_LABEL = 'AGGRESSION SETTING'1012WINDOW_SIZE_MAIN_LABEL = 'WINDOW SIZE'1013CHOOSE_DEMUCS_MODEL_MAIN_LABEL = 'CHOOSE DEMUCS MODEL'1014CHOOSE_DEMUCS_STEMS_MAIN_LABEL = 'CHOOSE STEM(S)'1015CHOOSE_SEGMENT_MAIN_LABEL = 'SEGMENT'1016ENSEMBLE_OPTIONS_MAIN_LABEL = 'ENSEMBLE OPTIONS'1017CHOOSE_MAIN_PAIR_MAIN_LABEL = 'MAIN STEM PAIR'1018CHOOSE_ENSEMBLE_ALGORITHM_MAIN_LABEL = 'ENSEMBLE ALGORITHM'1019AVAILABLE_MODELS_MAIN_LABEL = 'AVAILABLE MODELS'1020CHOOSE_AUDIO_TOOLS_MAIN_LABEL = 'CHOOSE AUDIO TOOL'1021CHOOSE_MANUAL_ALGORITHM_MAIN_LABEL = 'CHOOSE ALGORITHM'1022CHOOSE_RATE_MAIN_LABEL = 'RATE'1023CHOOSE_SEMITONES_MAIN_LABEL = 'SEMITONES'1024GPU_CONVERSION_MAIN_LABEL = 'GPU Conversion'1025 1026if OPERATING_SYSTEM=="Darwin":1027   LICENSE_OS_SPECIFIC_TEXT = '• This application is intended for those running macOS Catalina and above.\n' +\1028                              '• Application functionality for systems running macOS Mojave or lower is not guaranteed.\n' +\1029                              '• Application functionality for older or budget Mac systems is not guaranteed.\n\n'1030   FONT_SIZE_F1 = 131031   FONT_SIZE_F2 = 111032   FONT_SIZE_F3 = 121033   FONT_SIZE_0 = 91034   FONT_SIZE_1 = 111035   FONT_SIZE_2 = 121036   FONT_SIZE_3 = 131037   FONT_SIZE_4 = 141038   FONT_SIZE_5 = 151039   FONT_SIZE_6 = 171040   HELP_HINT_CHECKBOX_WIDTH = 131041   MDX_CHECKBOXS_WIDTH = 141042   VR_CHECKBOXS_WIDTH = 141043   ENSEMBLE_CHECKBOXS_WIDTH = 181044   DEMUCS_CHECKBOXS_WIDTH = 141045   DEMUCS_PRE_CHECKBOXS_WIDTH = 201046   GEN_SETTINGS_WIDTH = 171047   MENU_COMBOBOX_WIDTH = 161048 1049elif OPERATING_SYSTEM=="Linux":1050   LICENSE_OS_SPECIFIC_TEXT = '• This application is intended for those running Linux Ubuntu 18.04+.\n' +\1051                              '• Application functionality for systems running other Linux platforms is not guaranteed.\n' +\1052                              '• Application functionality for older or budget systems is not guaranteed.\n\n'1053   FONT_SIZE_F1 = 101054   FONT_SIZE_F2 = 81055   FONT_SIZE_F3 = 91056   FONT_SIZE_0 = 71057   FONT_SIZE_1 = 81058   FONT_SIZE_2 = 91059   FONT_SIZE_3 = 101060   FONT_SIZE_4 = 111061   FONT_SIZE_5 = 121062   FONT_SIZE_6 = 151063   HELP_HINT_CHECKBOX_WIDTH = 131064   MDX_CHECKBOXS_WIDTH = 141065   VR_CHECKBOXS_WIDTH = 161066   ENSEMBLE_CHECKBOXS_WIDTH = 251067   DEMUCS_CHECKBOXS_WIDTH = 181068   DEMUCS_PRE_CHECKBOXS_WIDTH = 271069   GEN_SETTINGS_WIDTH = 171070   MENU_COMBOBOX_WIDTH = 191071    1072elif OPERATING_SYSTEM=="Windows":1073   LICENSE_OS_SPECIFIC_TEXT = '• This application is intended for those running Windows 10 or higher.\n' +\1074                              '• Application functionality for systems running Windows 7 or lower is not guaranteed.\n' +\1075                              '• Application functionality for Intel Pentium & Celeron CPUs systems is not guaranteed.\n\n'1076   FONT_SIZE_F1 = 101077   FONT_SIZE_F2 = 81078   FONT_SIZE_F3 = 91079   FONT_SIZE_0 = 71080   FONT_SIZE_1 = 81081   FONT_SIZE_2 = 91082   FONT_SIZE_3 = 101083   FONT_SIZE_4 = 111084   FONT_SIZE_5 = 121085   FONT_SIZE_6 = 151086   HELP_HINT_CHECKBOX_WIDTH = 161087   MDX_CHECKBOXS_WIDTH = 161088   VR_CHECKBOXS_WIDTH = 161089   ENSEMBLE_CHECKBOXS_WIDTH = 251090   DEMUCS_CHECKBOXS_WIDTH = 181091   DEMUCS_PRE_CHECKBOXS_WIDTH = 271092   GEN_SETTINGS_WIDTH = 231093   MENU_COMBOBOX_WIDTH = 191094 1095 1096LICENSE_TEXT = lambda a, p:f'Current Application Version: Ultimate Vocal Remover {a}\n' +\1097               f'Current Patch Version: {p}\n\n' +\1098               'Copyright (c) 2022 Ultimate Vocal Remover\n\n' +\1099               'UVR is free and open-source, but MIT licensed. Please credit us if you use our\n' +\1100               f'models or code for projects unrelated to UVR.\n\n{LICENSE_OS_SPECIFIC_TEXT}' +\1101               'This bundle contains the UVR interface, Python, PyTorch, and other\n' +\1102               'dependencies needed to run the application effectively.\n\n' +\1103               'Website Links: This application, System or Service(s) may contain links to\n' +\1104               'other websites and downloads, and they are solely provided to you as an\n' +\1105               'additional convenience. You understand and acknowledge that by clicking\n' +\1106               'or activating such links you are accessing a site or service outside of\n' +\1107               'this application, and that we do not screen, review, approve, or otherwise\n' +\1108               'endorse any content or information contained in these linked websites.\n' +\1109               'You acknowledge and agree that we, our affiliates and partners are not\n' +\1110               'responsible for the contents of any of these linked websites, including\n' +\1111               'the accuracy or availability of information provided by the linked websites,\n' +\1112               'and we make no representations or warranties regarding your use of\n' +\1113               'the linked websites.\n\n' +\1114               'This application is MIT Licensed\n\n' +\1115               'Permission is hereby granted, free of charge, to any person obtaining a copy\n' +\1116               'of this software and associated documentation files (the "Software"), to deal\n' +\1117               'in the Software without restriction, including without limitation the rights\n' +\1118               'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' +\1119               'copies of the Software, and to permit persons to whom the Software is\n' +\1120               'furnished to do so, subject to the following conditions:\n\n' +\1121               'The above copyright notice and this permission notice shall be included in all\n' +\1122               'copies or substantial portions of the Software.\n\n' +\1123               'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' +\1124               'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' +\1125               'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' +\1126               'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' +\1127               'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' +\1128               'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n' +\1129               'SOFTWARE.'1130 1131CHANGE_LOG_HEADER = lambda patch:f"Patch Version:\n\n{patch}"1132 1133#DND CONSTS1134 1135MAC_DND_CHECK = ('/Users/',1136                 '/Applications/',1137                 '/Library/',1138                 '/System/')1139LINUX_DND_CHECK = ('/home/',1140                   '/usr/')1141WINDOWS_DND_CHECK = ('A:', 'B:', 'C:', 'D:', 'E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:', 'M:', 'N:', 'O:', 'P:', 'Q:', 'R:', 'S:', 'T:', 'U:', 'V:', 'W:', 'X:', 'Y:', 'Z:')1142 1143WOOD_INST_MODEL_HASH = '0ec76fd9e65f81d8b4fbd13af4826ed8'1144WOOD_INST_PARAMS = {1145    "vr_model_param": "4band_v3",1146    "primary_stem": NO_WIND_INST_STEM1147                     }