From 9a9d09b436e38ff15ab2f36485fbf2305464105b Mon Sep 17 00:00:00 2001 From: Anjok07 <68268275+Anjok07@users.noreply.github.com> Date: Thu, 29 Dec 2022 21:08:04 -0600 Subject: [PATCH] Add files via upload --- gui_data/app_size_values.py | 43 +++------ gui_data/change_log.txt | 86 +++++++++++++++++ gui_data/constants.py | 180 +++++++++++++----------------------- 3 files changed, 159 insertions(+), 150 deletions(-) create mode 100644 gui_data/change_log.txt diff --git a/gui_data/app_size_values.py b/gui_data/app_size_values.py index 1e5d476..582d5e3 100644 --- a/gui_data/app_size_values.py +++ b/gui_data/app_size_values.py @@ -3,8 +3,6 @@ from screeninfo import get_monitors from PIL import Image from PIL import ImageTk -MAC = False - def get_screen_height(): monitors = get_monitors() if len(monitors) == 0: @@ -45,36 +43,18 @@ SCREEN_SIZE_VALUES = { 'PROGRESS_HEIGHT': 9, 'PADDING': 7, }, - "mac": { - "credits_img":(200, 200), - ## App Size - 'IMAGE_HEIGHT': 135, - 'FILEPATHS_HEIGHT': 75, - 'OPTIONS_HEIGHT': 262, - 'CONVERSIONBUTTON_HEIGHT': 30, - 'COMMAND_HEIGHT': 141, - 'PROGRESS_HEIGHT': 25, - 'PADDING': 5, - }, } -if MAC: - determined_size = SCREEN_SIZE_VALUES["mac"] - normal_screen = True -else: - try: - if get_screen_height() >= 900: - determined_size = SCREEN_SIZE_VALUES["normal"] - normal_screen = True - elif get_screen_height() <= 720: - determined_size = SCREEN_SIZE_VALUES["small"] - normal_screen = False - else: - determined_size = SCREEN_SIZE_VALUES["medium"] - normal_screen = False - except: - determined_size = SCREEN_SIZE_VALUES["normal"] - normal_screen = False + +try: + if get_screen_height() >= 900: + determined_size = SCREEN_SIZE_VALUES["normal"] + elif get_screen_height() <= 720: + determined_size = SCREEN_SIZE_VALUES["small"] + else: + determined_size = SCREEN_SIZE_VALUES["medium"] +except: + determined_size = SCREEN_SIZE_VALUES["normal"] class ImagePath(): def __init__(self, base_path): @@ -138,5 +118,4 @@ class AdjustedValues(): CONVERSIONBUTTON_HEIGHT = determined_size["CONVERSIONBUTTON_HEIGHT"] COMMAND_HEIGHT = determined_size["COMMAND_HEIGHT"] PROGRESS_HEIGHT = determined_size["PROGRESS_HEIGHT"] - PADDING = determined_size["PADDING"] - normal_screen = normal_screen \ No newline at end of file + PADDING = determined_size["PADDING"] \ No newline at end of file diff --git a/gui_data/change_log.txt b/gui_data/change_log.txt new file mode 100644 index 0000000..52370c2 --- /dev/null +++ b/gui_data/change_log.txt @@ -0,0 +1,86 @@ +Change Log: + +Fixes & Changes: + +~ The progress bar is now fully synced up with every process in the application. +~ Fixed low-resolution icon. +~ Added the ability to download models manually if the application can't connect + to the internet. +~ Drag-n-drop is functional across all os platforms via the stand-alone installs. + +Performance: + +~ Model load times are faster. +~ Importing/exporting audio files is faster. + +MacOS M1 Notes: + +~ The GPU Conversion checkbox will enable MPS for GPU acceleration. However, only + the following models are compatible with it: + ~ All VR Architecture models + ~ All Demucs v1 and v2 models (except Tasnet). + ~ All other models are not supported at this time. + +New Options: + +~ Select Saved Settings option - Allows the user to save the current settings + of the whole application. You can also load a saved setting or reset them to + the default. +~ Right-click menu - Allows for quick access to important options. +~ Help Hints option - When enabled, users can hover over options to see pop-up + text that describes that option. The right-clicking option also allows copying + the "Help Hint" text. +~ Secondary Model Mode - This option is an expanded version of the "Demucs Model" + option that was only available to MDX-Net. Except now, this option is available + in all three AI Networks and for any stem. Any model can now be Secondary, and + the user can choose the amount of influence it has on the final result. +~ Robust caching for ensemble mode, allowing for much faster processing times. +~ Clicking the "Input" field will pop-up a new window that allows the user to go + through all of the selected audio inputs. Within this menu, users can: + ~ Remove inputs. + ~ Verify inputs. + ~ Create samples of chosen inputs. +~ "Sample Mode" option - Allows the user to process only part of a track to sample + settings or a model without running a full conversion. + ~ The number in the parentheses is the current number of seconds the generated + sample will be. + ~ You can choose the number of seconds to extract from the track in the "Additional + Settings" menu. + +VR Architecture: + +~ Ability to toggle "High-End Processing." +~ Ability to change the post-processing threshold. +~ Support for the latest VR architecture + ~ Crop Size and Batch Size are specifically for models using the latest + architecture only. + +MDX-NET: + +~ Denoise Output option - When enabled, this option results in cleaner results, + but the processing time will be longer. This option has replaced Noise Reduction. +~ Spectral Inversion option - This option uses spectral inversion techniques for a + cleaner secondary stem result. This option may slow down the audio export process. +~ Secondary stem now has the same frequency cut-off as the main stem. + +Demucs: + +~ Demucs v4 models are now supported, including the 6 stem model. +~ Ability to combine remaining stems instead of inverting selected stem with the + mixture only when a user does not select "All Stems". +~ A Pre-process model that allows the user to run an inference through a robust + vocal or instrumental model and separate the remaining stems from its generated + instrumental mix. This option can significantly reduce vocal bleed in other + Demucs-generated non-vocal stems. + ~ The Pre-process model is intended for Demucs separations for all stems except + vocals and instrumentals. + +Ensemble Mode: + +~ Ensemble Mode has been extended to include the following: + ~ Averaging is a new algorithm that averages the final results. + ~ Unlimited models in the ensemble. + ~ Ability to save different ensembles. + ~ Ability to ensemble outputs for all individual stem types. + ~ Ability to choose unique ensemble algorithms. + ~ Ability to ensemble all 4 Demucs stems at once. \ No newline at end of file diff --git a/gui_data/constants.py b/gui_data/constants.py index 5af8407..5ece47f 100644 --- a/gui_data/constants.py +++ b/gui_data/constants.py @@ -254,8 +254,8 @@ TIME_STRETCH = 'Time Stretch' CHANGE_PITCH = 'Change Pitch' ALIGN_INPUTS = 'Align Inputs' -if OPERATING_SYSTEM == 'Windows': - AUDIO_TOOL_OPTIONS = (MANUAL_ENSEMBLE, TIME_STRETCH, CHANGE_PITCH) +if OPERATING_SYSTEM == 'Windows' or OPERATING_SYSTEM == 'Darwin': + AUDIO_TOOL_OPTIONS = (MANUAL_ENSEMBLE, TIME_STRETCH, CHANGE_PITCH, ALIGN_INPUTS) else: AUDIO_TOOL_OPTIONS = (MANUAL_ENSEMBLE, ALIGN_INPUTS) @@ -347,7 +347,8 @@ PITCH_TEXT = '_pitch_shifted' #RegEx Input Validation -REG_TIME_PITCH = r'^[-+]?(1[0]|[0-9]([.][0-9]*)?)$' +REG_PITCH = r'^[-+]?(1[0]|[0-9]([.][0-9]*)?)$' +REG_TIME = r'^[+]?(1[0]|[0-9]([.][0-9]*)?)$' REG_COMPENSATION = r'\b^(1[0]|[0-9]([.][0-9]*)?|Auto|None)$\b' REG_THES_POSTPORCESS = r'\b^([0]([.][0-9]{0,6})?)$\b' REG_CHUNKS = r'\b^(200|1[0-9][0-9]|[1-9][0-9]?|Auto|Full)$\b' @@ -359,7 +360,6 @@ REG_WINDOW = r'\b^[0-9]{0,4}$\b' REG_SHIFTS = r'\b^[0-9]*$\b' REG_OVERLAP = r'\b^([0]([.][0-9]{0,6})?|None)$\b' - # Sub Menu VR_ARCH_SETTING_LOAD = 'Load for VR Arch' @@ -1013,44 +1013,9 @@ CHOOSE_SEMITONES_MAIN_LABEL = 'SEMITONES' GPU_CONVERSION_MAIN_LABEL = 'GPU Conversion' if OPERATING_SYSTEM=="Darwin": - LICENSE_TEXT = lambda a, p:f'Current Application Version: Ultimate Vocal Remover {a}\n' +\ - f'Current Patch Version: {p}\n\n' +\ - 'Copyright (c) 2022 Ultimate Vocal Remover\n\n' +\ - 'UVR is free and open-source, but MIT licensed. Please credit us if you use our\n' +\ - 'models or code for projects unrelated to UVR.\n\n' +\ - '• This application is intended for those running macOS Monterey and above.\n' +\ - '• Application functionality for systems running macOS BigSur or lower.\n' +\ - '• Application functionality for older or budget Mac systems is not guaranteed.\n\n' +\ - 'This bundle contains the UVR interface, Python, PyTorch, and other\n' +\ - 'dependencies needed to run the application effectively.\n\n' +\ - 'Website Links: This application, System or Service(s) may contain links to\n' +\ - 'other websites and downloads, and they are solely provided to you as an\n' +\ - 'additional convenience. You understand and acknowledge that by clicking\n' +\ - 'or activating such links you are accessing a site or service outside of\n' +\ - 'this application, and that we do not screen, review, approve, or otherwise\n' +\ - 'endorse any content or information contained in these linked websites.\n' +\ - 'You acknowledge and agree that we, our affiliates and partners are not\n' +\ - 'responsible for the contents of any of these linked websites, including\n' +\ - 'the accuracy or availability of information provided by the linked websites,\n' +\ - 'and we make no representations or warranties regarding your use of\n' +\ - 'the linked websites.\n\n' +\ - 'This application is MIT Licensed\n\n' +\ - 'Permission is hereby granted, free of charge, to any person obtaining a copy\n' +\ - 'of this software and associated documentation files (the "Software"), to deal\n' +\ - 'in the Software without restriction, including without limitation the rights\n' +\ - 'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' +\ - 'copies of the Software, and to permit persons to whom the Software is\n' +\ - 'furnished to do so, subject to the following conditions:\n\n' +\ - 'The above copyright notice and this permission notice shall be included in all\n' +\ - 'copies or substantial portions of the Software.\n\n' +\ - 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' +\ - 'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' +\ - 'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' +\ - 'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' +\ - 'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' +\ - 'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n' +\ - 'SOFTWARE.' - + LICENSE_OS_SPECIFIC_TEXT = '• This application is intended for those running macOS BigSur and above.\n' +\ + '• Application functionality for systems running macOS Catalina or lower.\n' +\ + '• Application functionality for older or budget Mac systems is not guaranteed.\n\n' FONT_SIZE_F1 = 13 FONT_SIZE_F2 = 11 FONT_SIZE_F3 = 12 @@ -1068,46 +1033,11 @@ if OPERATING_SYSTEM=="Darwin": DEMUCS_PRE_CHECKBOXS_WIDTH = 20 GEN_SETTINGS_WIDTH = 17 MENU_COMBOBOX_WIDTH = 16 - -elif OPERATING_SYSTEM=="Linux": - LICENSE_TEXT = lambda a, p:f'Current Application Version: Ultimate Vocal Remover {a}\n' +\ - f'Current Patch Version: {p}\n\n' +\ - 'Copyright (c) 2022 Ultimate Vocal Remover\n\n' +\ - 'UVR is free and open-source, but MIT licensed. Please credit us if you use our\n' +\ - 'models or code for projects unrelated to UVR.\n\n' +\ - '• This application is intended for those running Linux Ubuntu 21.01+.\n' +\ - '• Application functionality for systems running other Linux platforms is not guaranteed.\n' +\ - '• Application functionality for older or budget systems is not guaranteed.\n\n' +\ - 'This bundle contains the UVR interface, Python, PyTorch, and other\n' +\ - 'dependencies needed to run the application effectively.\n\n' +\ - 'Website Links: This application, System or Service(s) may contain links to\n' +\ - 'other websites and downloads, and they are solely provided to you as an\n' +\ - 'additional convenience. You understand and acknowledge that by clicking\n' +\ - 'or activating such links you are accessing a site or service outside of\n' +\ - 'this application, and that we do not screen, review, approve, or otherwise\n' +\ - 'endorse any content or information contained in these linked websites.\n' +\ - 'You acknowledge and agree that we, our affiliates and partners are not\n' +\ - 'responsible for the contents of any of these linked websites, including\n' +\ - 'the accuracy or availability of information provided by the linked websites,\n' +\ - 'and we make no representations or warranties regarding your use of\n' +\ - 'the linked websites.\n\n' +\ - 'This application is MIT Licensed\n\n' +\ - 'Permission is hereby granted, free of charge, to any person obtaining a copy\n' +\ - 'of this software and associated documentation files (the "Software"), to deal\n' +\ - 'in the Software without restriction, including without limitation the rights\n' +\ - 'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' +\ - 'copies of the Software, and to permit persons to whom the Software is\n' +\ - 'furnished to do so, subject to the following conditions:\n\n' +\ - 'The above copyright notice and this permission notice shall be included in all\n' +\ - 'copies or substantial portions of the Software.\n\n' +\ - 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' +\ - 'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' +\ - 'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' +\ - 'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' +\ - 'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' +\ - 'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n' +\ - 'SOFTWARE.' +elif OPERATING_SYSTEM=="Linux": + LICENSE_OS_SPECIFIC_TEXT = '• This application is intended for those running Linux Ubuntu 18.04+.\n' +\ + '• Application functionality for systems running other Linux platforms is not guaranteed.\n' +\ + '• Application functionality for older or budget systems is not guaranteed.\n\n' FONT_SIZE_F1 = 13 FONT_SIZE_F2 = 11 FONT_SIZE_F3 = 12 @@ -1127,44 +1057,9 @@ elif OPERATING_SYSTEM=="Linux": MENU_COMBOBOX_WIDTH = 19 elif OPERATING_SYSTEM=="Windows": - LICENSE_TEXT = lambda a, p:f'Current Application Version: Ultimate Vocal Remover {a}\n' +\ - f'Current Patch Version: {p}\n\n' +\ - 'Copyright (c) 2022 Ultimate Vocal Remover\n\n' +\ - 'UVR is free and open-source, but MIT licensed. Please credit us if you use our\n' +\ - 'models or code for projects unrelated to UVR.\n\n' +\ - '• This application is intended for those running Windows 10 or higher.\n' +\ + LICENSE_OS_SPECIFIC_TEXT = '• This application is intended for those running Windows 10 or higher.\n' +\ '• Application functionality for systems running Windows 7 or lower.\n' +\ - '• Application functionality for Intel Pentium & Celeron CPUs systems is not guaranteed.\n\n' +\ - 'This bundle contains the UVR interface, Python, PyTorch, and other\n' +\ - 'dependencies needed to run the application effectively.\n\n' +\ - 'Website Links: This application, System or Service(s) may contain links to\n' +\ - 'other websites and downloads, and they are solely provided to you as an\n' +\ - 'additional convenience. You understand and acknowledge that by clicking\n' +\ - 'or activating such links you are accessing a site or service outside of\n' +\ - 'this application, and that we do not screen, review, approve, or otherwise\n' +\ - 'endorse any content or information contained in these linked websites.\n' +\ - 'You acknowledge and agree that we, our affiliates and partners are not\n' +\ - 'responsible for the contents of any of these linked websites, including\n' +\ - 'the accuracy or availability of information provided by the linked websites,\n' +\ - 'and we make no representations or warranties regarding your use of\n' +\ - 'the linked websites.\n\n' +\ - 'This application is MIT Licensed\n\n' +\ - 'Permission is hereby granted, free of charge, to any person obtaining a copy\n' +\ - 'of this software and associated documentation files (the "Software"), to deal\n' +\ - 'in the Software without restriction, including without limitation the rights\n' +\ - 'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' +\ - 'copies of the Software, and to permit persons to whom the Software is\n' +\ - 'furnished to do so, subject to the following conditions:\n\n' +\ - 'The above copyright notice and this permission notice shall be included in all\n' +\ - 'copies or substantial portions of the Software.\n\n' +\ - 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' +\ - 'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' +\ - 'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' +\ - 'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' +\ - 'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' +\ - 'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n' +\ - 'SOFTWARE.' - + '• Application functionality for Intel Pentium & Celeron CPUs systems is not guaranteed.\n\n' FONT_SIZE_F1 = 10 FONT_SIZE_F2 = 8 FONT_SIZE_F3 = 9 @@ -1183,6 +1078,55 @@ elif OPERATING_SYSTEM=="Windows": GEN_SETTINGS_WIDTH = 23 MENU_COMBOBOX_WIDTH = 19 +LICENSE_TEXT = lambda a, p:f'Current Application Version: Ultimate Vocal Remover {a}\n' +\ + f'Current Patch Version: {p}\n\n' +\ + 'Copyright (c) 2022 Ultimate Vocal Remover\n\n' +\ + 'UVR is free and open-source, but MIT licensed. Please credit us if you use our\n' +\ + f'models or code for projects unrelated to UVR.\n\n{LICENSE_OS_SPECIFIC_TEXT}' +\ + 'This bundle contains the UVR interface, Python, PyTorch, and other\n' +\ + 'dependencies needed to run the application effectively.\n\n' +\ + 'Website Links: This application, System or Service(s) may contain links to\n' +\ + 'other websites and downloads, and they are solely provided to you as an\n' +\ + 'additional convenience. You understand and acknowledge that by clicking\n' +\ + 'or activating such links you are accessing a site or service outside of\n' +\ + 'this application, and that we do not screen, review, approve, or otherwise\n' +\ + 'endorse any content or information contained in these linked websites.\n' +\ + 'You acknowledge and agree that we, our affiliates and partners are not\n' +\ + 'responsible for the contents of any of these linked websites, including\n' +\ + 'the accuracy or availability of information provided by the linked websites,\n' +\ + 'and we make no representations or warranties regarding your use of\n' +\ + 'the linked websites.\n\n' +\ + 'This application is MIT Licensed\n\n' +\ + 'Permission is hereby granted, free of charge, to any person obtaining a copy\n' +\ + 'of this software and associated documentation files (the "Software"), to deal\n' +\ + 'in the Software without restriction, including without limitation the rights\n' +\ + 'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n' +\ + 'copies of the Software, and to permit persons to whom the Software is\n' +\ + 'furnished to do so, subject to the following conditions:\n\n' +\ + 'The above copyright notice and this permission notice shall be included in all\n' +\ + 'copies or substantial portions of the Software.\n\n' +\ + 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n' +\ + 'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n' +\ + 'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n' +\ + 'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n' +\ + 'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n' +\ + 'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n' +\ + 'SOFTWARE.' + +CHANGE_LOG_HEADER = lambda patch:f"Patch Version:\n\n{patch}" + +#DND CONSTS + +MAC_DND_CHECK = ('/Users/', + '/Applications/', + '/Library/', + '/System/') +LINUX_DND_CHECK = ('/Users/', + '/Applications/' + '/Library/', + '/System/') +WINDOWS_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:') + # INTERNAL_MODEL_ATT = '内部模型属性 \n\n ***如果不确定,请勿更改此设置!***' # STOP_HELP = '停止任何正在运行的进程 \n 弹出窗口将要求用户确认操作' # SETTINGS_HELP = '打开设置指南此窗口包括\"下载中心\"'