├── LICENSE ├── README.md ├── UVR.py ├── __pycache__ ├── __version__.cpython-38.pyc ├── __version__.cpython-39.pyc ├── inference_MDX.cpython-38.pyc ├── inference_MDX.cpython-39.pyc ├── inference_demucs.cpython-38.pyc ├── inference_demucs.cpython-39.pyc ├── inference_v5.cpython-38.pyc ├── inference_v5.cpython-39.pyc ├── inference_v5_ensemble.cpython-38.pyc ├── inference_v5_ensemble.cpython-39.pyc ├── models.cpython-38.pyc └── models.cpython-39.pyc ├── __version__.py ├── data.pkl ├── demucs ├── __init__.py ├── __main__.py ├── __pycache__ │ ├── __init__.cpython-38.pyc │ ├── __init__.cpython-39.pyc │ ├── apply.cpython-38.pyc │ ├── apply.cpython-39.pyc │ ├── demucs.cpython-38.pyc │ ├── demucs.cpython-39.pyc │ ├── hdemucs.cpython-38.pyc │ ├── hdemucs.cpython-39.pyc │ ├── model.cpython-38.pyc │ ├── model.cpython-39.pyc │ ├── model_v2.cpython-38.pyc │ ├── model_v2.cpython-39.pyc │ ├── pretrained.cpython-38.pyc │ ├── pretrained.cpython-39.pyc │ ├── repo.cpython-38.pyc │ ├── repo.cpython-39.pyc │ ├── spec.cpython-38.pyc │ ├── spec.cpython-39.pyc │ ├── states.cpython-38.pyc │ ├── states.cpython-39.pyc │ ├── tasnet_v2.cpython-38.pyc │ ├── tasnet_v2.cpython-39.pyc │ ├── utils.cpython-38.pyc │ └── utils.cpython-39.pyc ├── apply.py ├── demucs.py ├── hdemucs.py ├── model.py ├── model_v2.py ├── pretrained.py ├── repo.py ├── spec.py ├── states.py ├── tasnet.py ├── tasnet_v2.py ├── utils-.py └── utils.py ├── img ├── File.png ├── GUI-Icon.png ├── UVR-Icon-v2.gif ├── UVR-Icon-v2.ico ├── UVR-banner.png ├── UVR_Demucs.png ├── UVR_v54.png ├── UVRv5.png ├── credits.png ├── demucs_opt.png ├── donate.png ├── download.png ├── ense_opt.png ├── gen_opt.png ├── help.png ├── icon.png ├── key.png ├── mdx_opt.png ├── splash.bmp ├── stop.png ├── user_ens_opt.png └── vr_opt.png ├── inference_MDX.py ├── inference_demucs.py ├── inference_v5.py ├── inference_v5_ensemble.py ├── lib_v5 ├── __pycache__ │ ├── dataset.cpython-37.pyc │ ├── dataset.cpython-38.pyc │ ├── dataset.cpython-39.pyc │ ├── filelist.cpython-38.pyc │ ├── filelist.cpython-39.pyc │ ├── layers.cpython-37.pyc │ ├── layers.cpython-39.pyc │ ├── layers_123821KB.cpython-38.pyc │ ├── layers_123821KB.cpython-39.pyc │ ├── layers_537238KB.cpython-39.pyc │ ├── model_param_init.cpython-38.pyc │ ├── model_param_init.cpython-39.pyc │ ├── nets.cpython-37.pyc │ ├── nets.cpython-39.pyc │ ├── nets_123812KB.cpython-39.pyc │ ├── nets_123821KB.cpython-38.pyc │ ├── nets_123821KB.cpython-39.pyc │ ├── nets_537238KB.cpython-39.pyc │ ├── spec_utils.cpython-37.pyc │ ├── spec_utils.cpython-38.pyc │ └── spec_utils.cpython-39.pyc ├── dataset.py ├── filelist.py ├── filelists │ ├── download_codes │ │ ├── user_code.txt │ │ └── user_code_download.txt │ ├── download_lists │ │ ├── demucs_download_list.txt │ │ ├── download_links.json │ │ ├── mdx_download_list.txt │ │ ├── temp │ │ │ └── temp.txt │ │ └── vr_download_list.txt │ ├── ensemble_list │ │ ├── mdx_demuc_en_list.txt │ │ └── vr_en_list.txt │ ├── hashes │ │ ├── mdx_new_hashes.txt │ │ ├── mdx_new_inst_hashes.txt │ │ └── mdx_original_hashes.txt │ └── model_cache │ │ ├── mdx_model_cache │ │ └── cache_goes_here.txt │ │ └── vr_param_cache │ │ └── cache_goes_here.txt ├── fonts │ ├── centurygothic │ │ ├── GOTHIC.TTF │ │ ├── GOTHICB.TTF │ │ ├── GOTHICBI.TTF │ │ └── GOTHICI.TTF │ └── unispace │ │ ├── unispace.ttf │ │ ├── unispace_bd.ttf │ │ ├── unispace_bd_it.ttf │ │ └── unispace_it.ttf ├── layers.py ├── layers_123812KB .py ├── layers_123821KB.py ├── layers_129605KB.py ├── layers_33966KB.py ├── layers_537227KB.py ├── layers_537238KB.py ├── model_param_init.py ├── modelparams │ ├── 1band_sr16000_hl512.json │ ├── 1band_sr32000_hl512.json │ ├── 1band_sr33075_hl384.json │ ├── 1band_sr44100_hl1024.json │ ├── 1band_sr44100_hl256.json │ ├── 1band_sr44100_hl512.json │ ├── 1band_sr44100_hl512_cut.json │ ├── 2band_32000.json │ ├── 2band_44100_lofi.json │ ├── 2band_48000.json │ ├── 3band_44100.json │ ├── 3band_44100_mid.json │ ├── 3band_44100_msb2.json │ ├── 4band_44100.json │ ├── 4band_44100_mid.json │ ├── 4band_44100_msb.json │ ├── 4band_44100_msb2.json │ ├── 4band_44100_reverse.json │ ├── 4band_44100_sw.json │ ├── 4band_v2.json │ ├── 4band_v2_sn.json │ ├── Auto │ └── ensemble.json ├── modelparamset.py ├── nets.py ├── nets_123812KB.py ├── nets_123821KB.py ├── nets_129605KB.py ├── nets_33966KB.py ├── nets_537227KB.py ├── nets_537238KB.py ├── sox │ ├── MDX-NET_Noise_Profile_14_kHz.prof │ ├── MDX-NET_Noise_Profile_17_kHz.prof │ ├── MDX-NET_Noise_Profile_Full_Band.prof │ ├── Sox goes here.txt │ └── mdxnetnoisereduc.prof ├── spec_utils.py └── sv_ttk │ ├── __init__.py │ ├── __pycache__ │ ├── __init__.cpython-38.pyc │ └── __init__.cpython-39.pyc │ ├── sun-valley.tcl │ └── theme │ ├── dark.tcl │ ├── dark │ ├── arrow-down.png │ ├── arrow-right.png │ ├── arrow-up.png │ ├── button-accent-disabled.png │ ├── button-accent-hover.png │ ├── button-accent-pressed.png │ ├── button-accent-rest.png │ ├── button-close-hover.png │ ├── button-close-pressed.png │ ├── button-disabled.png │ ├── button-hover.png │ ├── button-pressed.png │ ├── button-rest.png │ ├── button-rest_alternative!!.png │ ├── button-titlebar-hover.png │ ├── button-titlebar-pressed.png │ ├── card.png │ ├── check-disabled.png │ ├── check-hover.png │ ├── check-pressed.png │ ├── check-rest.png │ ├── check-tri-disabled.png │ ├── check-tri-hover.png │ ├── check-tri-pressed.png │ ├── check-tri-rest.png │ ├── check-unsel-disabled.png │ ├── check-unsel-hover.png │ ├── check-unsel-pressed.png │ ├── check-unsel-rest.png │ ├── empty.png │ ├── entry-disabled.png │ ├── entry-focus.png │ ├── entry-hover.png │ ├── entry-invalid.png │ ├── entry-rest.png │ ├── notebook-border.png │ ├── notebook.png │ ├── progress-pbar-hor.png │ ├── progress-pbar-vert.png │ ├── progress-trough-hor.png │ ├── progress-trough-vert.png │ ├── radio-disabled.png │ ├── radio-hover.png │ ├── radio-pressed.png │ ├── radio-rest.png │ ├── radio-unsel-disabled.png │ ├── radio-unsel-hover.png │ ├── radio-unsel-pressed.png │ ├── radio-unsel-rest.png │ ├── scale-thumb-disabled.png │ ├── scale-thumb-hover.png │ ├── scale-thumb-pressed.png │ ├── scale-thumb-rest.png │ ├── scale-trough-hor.png │ ├── scale-trough-vert.png │ ├── scroll-down.png │ ├── scroll-hor-thumb.png │ ├── scroll-hor-trough.png │ ├── scroll-left.png │ ├── scroll-right.png │ ├── scroll-up.png │ ├── scroll-vert-thumb.png │ ├── scroll-vert-trough.png │ ├── separator.png │ ├── sizegrip.png │ ├── switch-off-disabled.png │ ├── switch-off-hover.png │ ├── switch-off-pressed.png │ ├── switch-off-rest.png │ ├── switch-on-disabled.png │ ├── switch-on-hover.png │ ├── switch-on-pressed.png │ ├── switch-on-rest.png │ ├── tab-hover.png │ ├── tab-rest.png │ ├── tab-selected.png │ ├── treeheading-hover.png │ ├── treeheading-pressed.png │ └── treeheading-rest.png │ ├── light.tcl │ └── light │ ├── box-accent.png │ ├── box-basic.png │ ├── box-hover.png │ ├── box-invalid.png │ ├── button-hover.png │ ├── card.png │ ├── check-accent.png │ ├── check-basic.png │ ├── check-hover.png │ ├── check-tri-accent.png │ ├── check-tri-basic.png │ ├── check-tri-hover.png │ ├── circle-accent.png │ ├── circle-basic.png │ ├── circle-hover.png │ ├── combo-button-basic.png │ ├── combo-button-focus.png │ ├── combo-button-hover.png │ ├── down-accent.png │ ├── down.png │ ├── empty.png │ ├── hor-accent.png │ ├── hor-basic.png │ ├── hor-hover.png │ ├── notebook.png │ ├── off-basic.png │ ├── off-hover.png │ ├── on-accent.png │ ├── on-basic.png │ ├── on-hover.png │ ├── outline-basic.png │ ├── outline-hover.png │ ├── radio-accent.png │ ├── radio-basic.png │ ├── radio-hover.png │ ├── radio-tri-accent.png │ ├── radio-tri-basic.png │ ├── radio-tri-hover.png │ ├── rect-accent-hover.png │ ├── rect-accent.png │ ├── rect-basic.png │ ├── rect-hover.png │ ├── right.png │ ├── scale-hor.png │ ├── scale-vert.png │ ├── separator.png │ ├── size.png │ ├── tab-basic.png │ ├── tab-disabled.png │ ├── tab-hover.png │ ├── tick-hor-accent.png │ ├── tick-hor-basic.png │ ├── tick-hor-hover.png │ ├── tick-vert-accent.png │ ├── tick-vert-basic.png │ ├── tick-vert-hover.png │ ├── tree-basic.png │ ├── tree-pressed.png │ ├── up-accent.png │ ├── up.png │ ├── vert-accent.png │ ├── vert-basic.png │ └── vert-hover.png ├── main.png ├── models.py ├── models ├── Demucs_Models │ ├── demucs_models_go_here.txt │ └── v3_repo │ │ └── demucs_models_go_here.txt ├── MDX_Net_Models │ └── MDX-Net_Models_go_here.txt └── Main_Models │ └── VR_Architecture_Models_go_here.txt ├── requirements.txt ├── tkinterdnd2 ├── TkinterDnD.py ├── __init__.py ├── __pycache__ │ ├── TkinterDnD.cpython-38.pyc │ ├── TkinterDnD.cpython-39.pyc │ ├── __init__.cpython-38.pyc │ └── __init__.cpython-39.pyc └── tkdnd │ ├── linux64 │ ├── libtkdnd2.9.2.so │ ├── pkgIndex.tcl │ ├── tkdnd.tcl │ ├── tkdnd_compat.tcl │ ├── tkdnd_generic.tcl │ ├── tkdnd_macosx.tcl │ ├── tkdnd_unix.tcl │ ├── tkdnd_utils.tcl │ └── tkdnd_windows.tcl │ ├── osx64 │ ├── libtkdnd2.9.2.dylib │ ├── pkgIndex.tcl │ ├── tkdnd.tcl │ ├── tkdnd_compat.tcl │ ├── tkdnd_generic.tcl │ ├── tkdnd_macosx.tcl │ ├── tkdnd_unix.tcl │ ├── tkdnd_utils.tcl │ └── tkdnd_windows.tcl │ └── win64 │ ├── libtkdnd2.9.2.dll │ ├── pkgIndex.tcl │ ├── tkdnd.tcl │ ├── tkdnd2.9.2.lib │ ├── tkdnd_compat.tcl │ ├── tkdnd_generic.tcl │ ├── tkdnd_macosx.tcl │ ├── tkdnd_unix.tcl │ ├── tkdnd_utils.tcl │ └── tkdnd_windows.tcl └── uvr_patch_version.txt /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 NanKeRen2020 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## About 4 | 5 | This project transfrom UVR 5.4[1] from windows to linux ubuntu1604 platform, maybe reimplement it in C/C++ in future. 6 | 7 | ## Installation & Run 8 | 9 | These instructions are for those installing UVR 5.4, maybe UVR 5.x also work, require python 3.8/3.9. 10 | 11 | sudo apt-get install sox 12 | 13 | sudo apt-get install ffmpeg 14 | 15 | 1. clone the Source code. 16 | 17 | pip install --no-cache-dir -r requirements.txt 18 | 19 | pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html 20 | 21 | 2. Download the models via the "Settings" menu within the application 22 | or download from original project[1]. 23 | 24 | 3. run python3.9 UVR.py, main interface show as below 25 | 26 | ![image](https://github.com/NanKeRen2020/UVR5_Linux/blob/main/main.png) 27 | 28 | You can get more detail and update from the original project[1]. 29 | 30 | 31 | ## References 32 | 33 | [1] https://github.com/Anjok07/ultimatevocalremovergui. 34 | 35 | [2] Takahashi et al., "Multi-scale Multi-band DenseNets for Audio Source Separation", https://arxiv.org/pdf/1706.09588.pdf. 36 | -------------------------------------------------------------------------------- /__pycache__/__version__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/__version__.cpython-38.pyc -------------------------------------------------------------------------------- /__pycache__/__version__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/__version__.cpython-39.pyc -------------------------------------------------------------------------------- /__pycache__/inference_MDX.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/inference_MDX.cpython-38.pyc -------------------------------------------------------------------------------- /__pycache__/inference_MDX.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/inference_MDX.cpython-39.pyc -------------------------------------------------------------------------------- /__pycache__/inference_demucs.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/inference_demucs.cpython-38.pyc -------------------------------------------------------------------------------- /__pycache__/inference_demucs.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/inference_demucs.cpython-39.pyc -------------------------------------------------------------------------------- /__pycache__/inference_v5.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/inference_v5.cpython-38.pyc -------------------------------------------------------------------------------- /__pycache__/inference_v5.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/inference_v5.cpython-39.pyc -------------------------------------------------------------------------------- /__pycache__/inference_v5_ensemble.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/inference_v5_ensemble.cpython-38.pyc -------------------------------------------------------------------------------- /__pycache__/inference_v5_ensemble.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/inference_v5_ensemble.cpython-39.pyc -------------------------------------------------------------------------------- /__pycache__/models.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/models.cpython-38.pyc -------------------------------------------------------------------------------- /__pycache__/models.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/__pycache__/models.cpython-39.pyc -------------------------------------------------------------------------------- /__version__.py: -------------------------------------------------------------------------------- 1 | VERSION = '5.3.0' 2 | -------------------------------------------------------------------------------- /data.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/data.pkl -------------------------------------------------------------------------------- /demucs/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | -------------------------------------------------------------------------------- /demucs/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/__init__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/__init__.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/apply.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/apply.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/apply.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/apply.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/demucs.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/demucs.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/demucs.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/demucs.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/hdemucs.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/hdemucs.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/hdemucs.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/hdemucs.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/model.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/model.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/model.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/model.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/model_v2.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/model_v2.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/model_v2.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/model_v2.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/pretrained.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/pretrained.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/pretrained.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/pretrained.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/repo.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/repo.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/repo.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/repo.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/spec.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/spec.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/spec.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/spec.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/states.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/states.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/states.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/states.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/tasnet_v2.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/tasnet_v2.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/tasnet_v2.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/tasnet_v2.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/utils.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/utils.cpython-38.pyc -------------------------------------------------------------------------------- /demucs/__pycache__/utils.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/demucs/__pycache__/utils.cpython-39.pyc -------------------------------------------------------------------------------- /demucs/pretrained.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | """Loading pretrained models. 7 | """ 8 | 9 | import logging 10 | from pathlib import Path 11 | import typing as tp 12 | 13 | from dora.log import fatal 14 | 15 | import logging 16 | 17 | from diffq import DiffQuantizer 18 | import torch.hub 19 | 20 | from .model import Demucs 21 | from .tasnet_v2 import ConvTasNet 22 | from .utils import set_state 23 | 24 | from .hdemucs import HDemucs 25 | from .repo import RemoteRepo, LocalRepo, ModelOnlyRepo, BagOnlyRepo, AnyModelRepo, ModelLoadingError # noqa 26 | 27 | logger = logging.getLogger(__name__) 28 | ROOT_URL = "https://dl.fbaipublicfiles.com/demucs/mdx_final/" 29 | REMOTE_ROOT = Path(__file__).parent / 'remote' 30 | 31 | SOURCES = ["drums", "bass", "other", "vocals"] 32 | 33 | 34 | def demucs_unittest(): 35 | model = HDemucs(channels=4, sources=SOURCES) 36 | return model 37 | 38 | 39 | def add_model_flags(parser): 40 | group = parser.add_mutually_exclusive_group(required=False) 41 | group.add_argument("-s", "--sig", help="Locally trained XP signature.") 42 | group.add_argument("-n", "--name", default="mdx_extra_q", 43 | help="Pretrained model name or signature. Default is mdx_extra_q.") 44 | parser.add_argument("--repo", type=Path, 45 | help="Folder containing all pre-trained models for use with -n.") 46 | 47 | 48 | def get_model(name: str, 49 | repo: tp.Optional[Path] = None): 50 | """`name` must be a bag of models name or a pretrained signature 51 | from the remote AWS model repo or the specified local repo if `repo` is not None. 52 | """ 53 | if name == 'demucs_unittest': 54 | return demucs_unittest() 55 | model_repo: ModelOnlyRepo 56 | if repo is None: 57 | remote_files = [line.strip() 58 | for line in (REMOTE_ROOT / 'files.txt').read_text().split('\n') 59 | if line.strip()] 60 | model_repo = RemoteRepo(ROOT_URL, remote_files) 61 | bag_repo = BagOnlyRepo(REMOTE_ROOT, model_repo) 62 | else: 63 | if not repo.is_dir(): 64 | fatal(f"{repo} must exist and be a directory.") 65 | model_repo = LocalRepo(repo) 66 | bag_repo = BagOnlyRepo(repo, model_repo) 67 | any_repo = AnyModelRepo(model_repo, bag_repo) 68 | return any_repo.get_model(name) 69 | 70 | 71 | def get_model_from_args(args): 72 | """ 73 | Load local model package or pre-trained model. 74 | """ 75 | return get_model(name=args.name, repo=args.repo) 76 | 77 | logger = logging.getLogger(__name__) 78 | ROOT = "https://dl.fbaipublicfiles.com/demucs/v3.0/" 79 | 80 | PRETRAINED_MODELS = { 81 | 'demucs': 'e07c671f', 82 | 'demucs48_hq': '28a1282c', 83 | 'demucs_extra': '3646af93', 84 | 'demucs_quantized': '07afea75', 85 | 'tasnet': 'beb46fac', 86 | 'tasnet_extra': 'df3777b2', 87 | 'demucs_unittest': '09ebc15f', 88 | } 89 | 90 | SOURCES = ["drums", "bass", "other", "vocals"] 91 | 92 | 93 | def get_url(name): 94 | sig = PRETRAINED_MODELS[name] 95 | return ROOT + name + "-" + sig[:8] + ".th" 96 | 97 | 98 | def is_pretrained(name): 99 | return name in PRETRAINED_MODELS 100 | 101 | 102 | def load_pretrained(name): 103 | if name == "demucs": 104 | return demucs(pretrained=True) 105 | elif name == "demucs48_hq": 106 | return demucs(pretrained=True, hq=True, channels=48) 107 | elif name == "demucs_extra": 108 | return demucs(pretrained=True, extra=True) 109 | elif name == "demucs_quantized": 110 | return demucs(pretrained=True, quantized=True) 111 | elif name == "demucs_unittest": 112 | return demucs_unittest(pretrained=True) 113 | elif name == "tasnet": 114 | return tasnet(pretrained=True) 115 | elif name == "tasnet_extra": 116 | return tasnet(pretrained=True, extra=True) 117 | else: 118 | raise ValueError(f"Invalid pretrained name {name}") 119 | 120 | 121 | def _load_state(name, model, quantizer=None): 122 | url = get_url(name) 123 | state = torch.hub.load_state_dict_from_url(url, map_location='cpu', check_hash=True) 124 | set_state(model, quantizer, state) 125 | if quantizer: 126 | quantizer.detach() 127 | 128 | 129 | def demucs_unittest(pretrained=True): 130 | model = Demucs(channels=4, sources=SOURCES) 131 | if pretrained: 132 | _load_state('demucs_unittest', model) 133 | return model 134 | 135 | 136 | def demucs(pretrained=True, extra=False, quantized=False, hq=False, channels=64): 137 | if not pretrained and (extra or quantized or hq): 138 | raise ValueError("if extra or quantized is True, pretrained must be True.") 139 | model = Demucs(sources=SOURCES, channels=channels) 140 | if pretrained: 141 | name = 'demucs' 142 | if channels != 64: 143 | name += str(channels) 144 | quantizer = None 145 | if sum([extra, quantized, hq]) > 1: 146 | raise ValueError("Only one of extra, quantized, hq, can be True.") 147 | if quantized: 148 | quantizer = DiffQuantizer(model, group_size=8, min_size=1) 149 | name += '_quantized' 150 | if extra: 151 | name += '_extra' 152 | if hq: 153 | name += '_hq' 154 | _load_state(name, model, quantizer) 155 | return model 156 | 157 | 158 | def tasnet(pretrained=True, extra=False): 159 | if not pretrained and extra: 160 | raise ValueError("if extra is True, pretrained must be True.") 161 | model = ConvTasNet(X=10, sources=SOURCES) 162 | if pretrained: 163 | name = 'tasnet' 164 | if extra: 165 | name = 'tasnet_extra' 166 | _load_state(name, model) 167 | return model -------------------------------------------------------------------------------- /demucs/repo.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | """Represents a model repository, including pre-trained models and bags of models. 7 | A repo can either be the main remote repository stored in AWS, or a local repository 8 | with your own models. 9 | """ 10 | 11 | from hashlib import sha256 12 | from pathlib import Path 13 | import typing as tp 14 | 15 | import torch 16 | import yaml 17 | 18 | from .apply import BagOfModels, Model 19 | from .states import load_model 20 | 21 | 22 | AnyModel = tp.Union[Model, BagOfModels] 23 | 24 | 25 | class ModelLoadingError(RuntimeError): 26 | pass 27 | 28 | 29 | def check_checksum(path: Path, checksum: str): 30 | sha = sha256() 31 | with open(path, 'rb') as file: 32 | while True: 33 | buf = file.read(2**20) 34 | if not buf: 35 | break 36 | sha.update(buf) 37 | actual_checksum = sha.hexdigest()[:len(checksum)] 38 | if actual_checksum != checksum: 39 | raise ModelLoadingError(f'Invalid checksum for file {path}, ' 40 | f'expected {checksum} but got {actual_checksum}') 41 | 42 | 43 | class ModelOnlyRepo: 44 | """Base class for all model only repos. 45 | """ 46 | def has_model(self, sig: str) -> bool: 47 | raise NotImplementedError() 48 | 49 | def get_model(self, sig: str) -> Model: 50 | raise NotImplementedError() 51 | 52 | 53 | class RemoteRepo(ModelOnlyRepo): 54 | def __init__(self, root_url: str, remote_files: tp.List[str]): 55 | if not root_url.endswith('/'): 56 | root_url += '/' 57 | self._models: tp.Dict[str, str] = {} 58 | for file in remote_files: 59 | sig, checksum = file.split('.')[0].split('-') 60 | assert sig not in self._models 61 | self._models[sig] = root_url + file 62 | 63 | def has_model(self, sig: str) -> bool: 64 | return sig in self._models 65 | 66 | def get_model(self, sig: str) -> Model: 67 | try: 68 | url = self._models[sig] 69 | except KeyError: 70 | raise ModelLoadingError(f'Could not find a pre-trained model with signature {sig}.') 71 | pkg = torch.hub.load_state_dict_from_url(url, map_location='cpu', check_hash=True) 72 | return load_model(pkg) 73 | 74 | 75 | class LocalRepo(ModelOnlyRepo): 76 | def __init__(self, root: Path): 77 | self.root = root 78 | self.scan() 79 | 80 | def scan(self): 81 | self._models = {} 82 | self._checksums = {} 83 | for file in self.root.iterdir(): 84 | if file.suffix == '.th': 85 | if '-' in file.stem: 86 | xp_sig, checksum = file.stem.split('-') 87 | self._checksums[xp_sig] = checksum 88 | else: 89 | xp_sig = file.stem 90 | if xp_sig in self._models: 91 | print('Whats xp? ', xp_sig) 92 | raise ModelLoadingError( 93 | f'Duplicate pre-trained model exist for signature {xp_sig}. ' 94 | 'Please delete all but one.') 95 | self._models[xp_sig] = file 96 | 97 | def has_model(self, sig: str) -> bool: 98 | return sig in self._models 99 | 100 | def get_model(self, sig: str) -> Model: 101 | try: 102 | file = self._models[sig] 103 | except KeyError: 104 | raise ModelLoadingError(f'Could not find pre-trained model with signature {sig}.') 105 | if sig in self._checksums: 106 | check_checksum(file, self._checksums[sig]) 107 | return load_model(file) 108 | 109 | 110 | class BagOnlyRepo: 111 | """Handles only YAML files containing bag of models, leaving the actual 112 | model loading to some Repo. 113 | """ 114 | def __init__(self, root: Path, model_repo: ModelOnlyRepo): 115 | self.root = root 116 | self.model_repo = model_repo 117 | self.scan() 118 | 119 | def scan(self): 120 | self._bags = {} 121 | for file in self.root.iterdir(): 122 | if file.suffix == '.yaml': 123 | self._bags[file.stem] = file 124 | 125 | def has_model(self, name: str) -> bool: 126 | return name in self._bags 127 | 128 | def get_model(self, name: str) -> BagOfModels: 129 | try: 130 | yaml_file = self._bags[name] 131 | except KeyError: 132 | raise ModelLoadingError(f'{name} is neither a single pre-trained model or ' 133 | 'a bag of models.') 134 | bag = yaml.safe_load(open(yaml_file)) 135 | signatures = bag['models'] 136 | models = [self.model_repo.get_model(sig) for sig in signatures] 137 | weights = bag.get('weights') 138 | segment = bag.get('segment') 139 | return BagOfModels(models, weights, segment) 140 | 141 | 142 | class AnyModelRepo: 143 | def __init__(self, model_repo: ModelOnlyRepo, bag_repo: BagOnlyRepo): 144 | self.model_repo = model_repo 145 | self.bag_repo = bag_repo 146 | 147 | def has_model(self, name_or_sig: str) -> bool: 148 | return self.model_repo.has_model(name_or_sig) or self.bag_repo.has_model(name_or_sig) 149 | 150 | def get_model(self, name_or_sig: str) -> AnyModel: 151 | if self.model_repo.has_model(name_or_sig): 152 | return self.model_repo.get_model(name_or_sig) 153 | else: 154 | return self.bag_repo.get_model(name_or_sig) 155 | -------------------------------------------------------------------------------- /demucs/spec.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | """Conveniance wrapper to perform STFT and iSTFT""" 7 | 8 | import torch as th 9 | 10 | 11 | def spectro(x, n_fft=512, hop_length=None, pad=0): 12 | *other, length = x.shape 13 | x = x.reshape(-1, length) 14 | z = th.stft(x, 15 | n_fft * (1 + pad), 16 | hop_length or n_fft // 4, 17 | window=th.hann_window(n_fft).to(x), 18 | win_length=n_fft, 19 | normalized=True, 20 | center=True, 21 | return_complex=True, 22 | pad_mode='reflect') 23 | _, freqs, frame = z.shape 24 | return z.view(*other, freqs, frame) 25 | 26 | 27 | def ispectro(z, hop_length=None, length=None, pad=0): 28 | *other, freqs, frames = z.shape 29 | n_fft = 2 * freqs - 2 30 | z = z.view(-1, freqs, frames) 31 | win_length = n_fft // (1 + pad) 32 | x = th.istft(z, 33 | n_fft, 34 | hop_length, 35 | window=th.hann_window(win_length).to(z.real), 36 | win_length=win_length, 37 | normalized=True, 38 | length=length, 39 | center=True) 40 | _, length = x.shape 41 | return x.view(*other, length) 42 | -------------------------------------------------------------------------------- /demucs/states.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # All rights reserved. 3 | # 4 | # This source code is licensed under the license found in the 5 | # LICENSE file in the root directory of this source tree. 6 | """ 7 | Utilities to save and load models. 8 | """ 9 | from contextlib import contextmanager 10 | 11 | import functools 12 | import hashlib 13 | import inspect 14 | import io 15 | from pathlib import Path 16 | import warnings 17 | 18 | from omegaconf import OmegaConf 19 | from diffq import DiffQuantizer, UniformQuantizer, restore_quantized_state 20 | import torch 21 | 22 | 23 | def get_quantizer(model, args, optimizer=None): 24 | """Return the quantizer given the XP quantization args.""" 25 | quantizer = None 26 | if args.diffq: 27 | quantizer = DiffQuantizer( 28 | model, min_size=args.min_size, group_size=args.group_size) 29 | if optimizer is not None: 30 | quantizer.setup_optimizer(optimizer) 31 | elif args.qat: 32 | quantizer = UniformQuantizer( 33 | model, bits=args.qat, min_size=args.min_size) 34 | return quantizer 35 | 36 | 37 | def load_model(path_or_package, strict=False): 38 | """Load a model from the given serialized model, either given as a dict (already loaded) 39 | or a path to a file on disk.""" 40 | if isinstance(path_or_package, dict): 41 | package = path_or_package 42 | elif isinstance(path_or_package, (str, Path)): 43 | with warnings.catch_warnings(): 44 | warnings.simplefilter("ignore") 45 | path = path_or_package 46 | package = torch.load(path, 'cpu') 47 | else: 48 | raise ValueError(f"Invalid type for {path_or_package}.") 49 | 50 | klass = package["klass"] 51 | args = package["args"] 52 | kwargs = package["kwargs"] 53 | 54 | if strict: 55 | model = klass(*args, **kwargs) 56 | else: 57 | sig = inspect.signature(klass) 58 | for key in list(kwargs): 59 | if key not in sig.parameters: 60 | warnings.warn("Dropping inexistant parameter " + key) 61 | del kwargs[key] 62 | model = klass(*args, **kwargs) 63 | 64 | state = package["state"] 65 | 66 | set_state(model, state) 67 | return model 68 | 69 | 70 | def get_state(model, quantizer, half=False): 71 | """Get the state from a model, potentially with quantization applied. 72 | If `half` is True, model are stored as half precision, which shouldn't impact performance 73 | but half the state size.""" 74 | if quantizer is None: 75 | dtype = torch.half if half else None 76 | state = {k: p.data.to(device='cpu', dtype=dtype) for k, p in model.state_dict().items()} 77 | else: 78 | state = quantizer.get_quantized_state() 79 | state['__quantized'] = True 80 | return state 81 | 82 | 83 | def set_state(model, state, quantizer=None): 84 | """Set the state on a given model.""" 85 | if state.get('__quantized'): 86 | if quantizer is not None: 87 | quantizer.restore_quantized_state(model, state['quantized']) 88 | else: 89 | restore_quantized_state(model, state) 90 | else: 91 | model.load_state_dict(state) 92 | return state 93 | 94 | 95 | def save_with_checksum(content, path): 96 | """Save the given value on disk, along with a sha256 hash. 97 | Should be used with the output of either `serialize_model` or `get_state`.""" 98 | buf = io.BytesIO() 99 | torch.save(content, buf) 100 | sig = hashlib.sha256(buf.getvalue()).hexdigest()[:8] 101 | 102 | path = path.parent / (path.stem + "-" + sig + path.suffix) 103 | path.write_bytes(buf.getvalue()) 104 | 105 | 106 | def serialize_model(model, training_args, quantizer=None, half=True): 107 | args, kwargs = model._init_args_kwargs 108 | klass = model.__class__ 109 | 110 | state = get_state(model, quantizer, half) 111 | return { 112 | 'klass': klass, 113 | 'args': args, 114 | 'kwargs': kwargs, 115 | 'state': state, 116 | 'training_args': OmegaConf.to_container(training_args, resolve=True), 117 | } 118 | 119 | 120 | def copy_state(state): 121 | return {k: v.cpu().clone() for k, v in state.items()} 122 | 123 | 124 | @contextmanager 125 | def swap_state(model, state): 126 | """ 127 | Context manager that swaps the state of a model, e.g: 128 | 129 | # model is in old state 130 | with swap_state(model, new_state): 131 | # model in new state 132 | # model back to old state 133 | """ 134 | old_state = copy_state(model.state_dict()) 135 | model.load_state_dict(state, strict=False) 136 | try: 137 | yield 138 | finally: 139 | model.load_state_dict(old_state) 140 | 141 | 142 | def capture_init(init): 143 | @functools.wraps(init) 144 | def __init__(self, *args, **kwargs): 145 | self._init_args_kwargs = (args, kwargs) 146 | init(self, *args, **kwargs) 147 | 148 | return __init__ 149 | -------------------------------------------------------------------------------- /img/File.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/File.png -------------------------------------------------------------------------------- /img/GUI-Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/GUI-Icon.png -------------------------------------------------------------------------------- /img/UVR-Icon-v2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/UVR-Icon-v2.gif -------------------------------------------------------------------------------- /img/UVR-Icon-v2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/UVR-Icon-v2.ico -------------------------------------------------------------------------------- /img/UVR-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/UVR-banner.png -------------------------------------------------------------------------------- /img/UVR_Demucs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/UVR_Demucs.png -------------------------------------------------------------------------------- /img/UVR_v54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/UVR_v54.png -------------------------------------------------------------------------------- /img/UVRv5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/UVRv5.png -------------------------------------------------------------------------------- /img/credits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/credits.png -------------------------------------------------------------------------------- /img/demucs_opt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/demucs_opt.png -------------------------------------------------------------------------------- /img/donate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/donate.png -------------------------------------------------------------------------------- /img/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/download.png -------------------------------------------------------------------------------- /img/ense_opt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/ense_opt.png -------------------------------------------------------------------------------- /img/gen_opt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/gen_opt.png -------------------------------------------------------------------------------- /img/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/help.png -------------------------------------------------------------------------------- /img/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/icon.png -------------------------------------------------------------------------------- /img/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/key.png -------------------------------------------------------------------------------- /img/mdx_opt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/mdx_opt.png -------------------------------------------------------------------------------- /img/splash.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/splash.bmp -------------------------------------------------------------------------------- /img/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/stop.png -------------------------------------------------------------------------------- /img/user_ens_opt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/user_ens_opt.png -------------------------------------------------------------------------------- /img/vr_opt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/img/vr_opt.png -------------------------------------------------------------------------------- /lib_v5/__pycache__/dataset.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/dataset.cpython-37.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/dataset.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/dataset.cpython-38.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/dataset.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/dataset.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/filelist.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/filelist.cpython-38.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/filelist.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/filelist.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/layers.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/layers.cpython-37.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/layers.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/layers.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/layers_123821KB.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/layers_123821KB.cpython-38.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/layers_123821KB.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/layers_123821KB.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/layers_537238KB.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/layers_537238KB.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/model_param_init.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/model_param_init.cpython-38.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/model_param_init.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/model_param_init.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/nets.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/nets.cpython-37.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/nets.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/nets.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/nets_123812KB.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/nets_123812KB.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/nets_123821KB.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/nets_123821KB.cpython-38.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/nets_123821KB.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/nets_123821KB.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/nets_537238KB.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/nets_537238KB.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/spec_utils.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/spec_utils.cpython-37.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/spec_utils.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/spec_utils.cpython-38.pyc -------------------------------------------------------------------------------- /lib_v5/__pycache__/spec_utils.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/__pycache__/spec_utils.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/dataset.py: -------------------------------------------------------------------------------- 1 | import os 2 | import random 3 | 4 | import numpy as np 5 | import torch 6 | import torch.utils.data 7 | from tqdm import tqdm 8 | 9 | from lib_v5 import spec_utils 10 | 11 | 12 | class VocalRemoverValidationSet(torch.utils.data.Dataset): 13 | 14 | def __init__(self, patch_list): 15 | self.patch_list = patch_list 16 | 17 | def __len__(self): 18 | return len(self.patch_list) 19 | 20 | def __getitem__(self, idx): 21 | path = self.patch_list[idx] 22 | data = np.load(path) 23 | 24 | X, y = data['X'], data['y'] 25 | 26 | X_mag = np.abs(X) 27 | y_mag = np.abs(y) 28 | 29 | return X_mag, y_mag 30 | 31 | 32 | def make_pair(mix_dir, inst_dir): 33 | input_exts = ['.wav', '.m4a', '.mp3', '.mp4', '.flac'] 34 | 35 | X_list = sorted([ 36 | os.path.join(mix_dir, fname) 37 | for fname in os.listdir(mix_dir) 38 | if os.path.splitext(fname)[1] in input_exts]) 39 | y_list = sorted([ 40 | os.path.join(inst_dir, fname) 41 | for fname in os.listdir(inst_dir) 42 | if os.path.splitext(fname)[1] in input_exts]) 43 | 44 | filelist = list(zip(X_list, y_list)) 45 | 46 | return filelist 47 | 48 | 49 | def train_val_split(dataset_dir, split_mode, val_rate, val_filelist): 50 | if split_mode == 'random': 51 | filelist = make_pair( 52 | os.path.join(dataset_dir, 'mixtures'), 53 | os.path.join(dataset_dir, 'instruments')) 54 | 55 | random.shuffle(filelist) 56 | 57 | if len(val_filelist) == 0: 58 | val_size = int(len(filelist) * val_rate) 59 | train_filelist = filelist[:-val_size] 60 | val_filelist = filelist[-val_size:] 61 | else: 62 | train_filelist = [ 63 | pair for pair in filelist 64 | if list(pair) not in val_filelist] 65 | elif split_mode == 'subdirs': 66 | if len(val_filelist) != 0: 67 | raise ValueError('The `val_filelist` option is not available in `subdirs` mode') 68 | 69 | train_filelist = make_pair( 70 | os.path.join(dataset_dir, 'training/mixtures'), 71 | os.path.join(dataset_dir, 'training/instruments')) 72 | 73 | val_filelist = make_pair( 74 | os.path.join(dataset_dir, 'validation/mixtures'), 75 | os.path.join(dataset_dir, 'validation/instruments')) 76 | 77 | return train_filelist, val_filelist 78 | 79 | 80 | def augment(X, y, reduction_rate, reduction_mask, mixup_rate, mixup_alpha): 81 | perm = np.random.permutation(len(X)) 82 | for i, idx in enumerate(tqdm(perm)): 83 | if np.random.uniform() < reduction_rate: 84 | y[idx] = spec_utils.reduce_vocal_aggressively(X[idx], y[idx], reduction_mask) 85 | 86 | if np.random.uniform() < 0.5: 87 | # swap channel 88 | X[idx] = X[idx, ::-1] 89 | y[idx] = y[idx, ::-1] 90 | if np.random.uniform() < 0.02: 91 | # mono 92 | X[idx] = X[idx].mean(axis=0, keepdims=True) 93 | y[idx] = y[idx].mean(axis=0, keepdims=True) 94 | if np.random.uniform() < 0.02: 95 | # inst 96 | X[idx] = y[idx] 97 | 98 | if np.random.uniform() < mixup_rate and i < len(perm) - 1: 99 | lam = np.random.beta(mixup_alpha, mixup_alpha) 100 | X[idx] = lam * X[idx] + (1 - lam) * X[perm[i + 1]] 101 | y[idx] = lam * y[idx] + (1 - lam) * y[perm[i + 1]] 102 | 103 | return X, y 104 | 105 | 106 | def make_padding(width, cropsize, offset): 107 | left = offset 108 | roi_size = cropsize - left * 2 109 | if roi_size == 0: 110 | roi_size = cropsize 111 | right = roi_size - (width % roi_size) + left 112 | 113 | return left, right, roi_size 114 | 115 | 116 | def make_training_set(filelist, cropsize, patches, sr, hop_length, n_fft, offset): 117 | len_dataset = patches * len(filelist) 118 | 119 | X_dataset = np.zeros( 120 | (len_dataset, 2, n_fft // 2 + 1, cropsize), dtype=np.complex64) 121 | y_dataset = np.zeros( 122 | (len_dataset, 2, n_fft // 2 + 1, cropsize), dtype=np.complex64) 123 | 124 | for i, (X_path, y_path) in enumerate(tqdm(filelist)): 125 | X, y = spec_utils.cache_or_load(X_path, y_path, sr, hop_length, n_fft) 126 | coef = np.max([np.abs(X).max(), np.abs(y).max()]) 127 | X, y = X / coef, y / coef 128 | 129 | l, r, roi_size = make_padding(X.shape[2], cropsize, offset) 130 | X_pad = np.pad(X, ((0, 0), (0, 0), (l, r)), mode='constant') 131 | y_pad = np.pad(y, ((0, 0), (0, 0), (l, r)), mode='constant') 132 | 133 | starts = np.random.randint(0, X_pad.shape[2] - cropsize, patches) 134 | ends = starts + cropsize 135 | for j in range(patches): 136 | idx = i * patches + j 137 | X_dataset[idx] = X_pad[:, :, starts[j]:ends[j]] 138 | y_dataset[idx] = y_pad[:, :, starts[j]:ends[j]] 139 | 140 | return X_dataset, y_dataset 141 | 142 | 143 | def make_validation_set(filelist, cropsize, sr, hop_length, n_fft, offset): 144 | patch_list = [] 145 | patch_dir = 'cs{}_sr{}_hl{}_nf{}_of{}'.format(cropsize, sr, hop_length, n_fft, offset) 146 | os.makedirs(patch_dir, exist_ok=True) 147 | 148 | for i, (X_path, y_path) in enumerate(tqdm(filelist)): 149 | basename = os.path.splitext(os.path.basename(X_path))[0] 150 | 151 | X, y = spec_utils.cache_or_load(X_path, y_path, sr, hop_length, n_fft) 152 | coef = np.max([np.abs(X).max(), np.abs(y).max()]) 153 | X, y = X / coef, y / coef 154 | 155 | l, r, roi_size = make_padding(X.shape[2], cropsize, offset) 156 | X_pad = np.pad(X, ((0, 0), (0, 0), (l, r)), mode='constant') 157 | y_pad = np.pad(y, ((0, 0), (0, 0), (l, r)), mode='constant') 158 | 159 | len_dataset = int(np.ceil(X.shape[2] / roi_size)) 160 | for j in range(len_dataset): 161 | outpath = os.path.join(patch_dir, '{}_p{}.npz'.format(basename, j)) 162 | start = j * roi_size 163 | if not os.path.exists(outpath): 164 | np.savez( 165 | outpath, 166 | X=X_pad[:, :, start:start + cropsize], 167 | y=y_pad[:, :, start:start + cropsize]) 168 | patch_list.append(outpath) 169 | 170 | return VocalRemoverValidationSet(patch_list) 171 | -------------------------------------------------------------------------------- /lib_v5/filelists/download_codes/user_code.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib_v5/filelists/download_codes/user_code_download.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib_v5/filelists/download_lists/demucs_download_list.txt: -------------------------------------------------------------------------------- 1 | No Model Selected 2 | No Model Selected 3 | Demucs v3: UVR Models 4 | Demucs v3: mdx 5 | Demucs v3: mdx_q 6 | Demucs v3: mdx_extra 7 | Demucs v3: mdx_extra_q 8 | Demucs v2: demucs 9 | Demucs v2: demucs_extra 10 | Demucs v2: demucs48_hq 11 | Demucs v2: tasnet 12 | Demucs v2: tasnet_extra 13 | Demucs v2: demucs_unittest 14 | Demucs v1: demucs 15 | Demucs v1: demucs_extra 16 | Demucs v1: light 17 | Demucs v1: light_extra 18 | Demucs v1: tasnet 19 | Demucs v1: tasnet_extra -------------------------------------------------------------------------------- /lib_v5/filelists/download_lists/download_links.json: -------------------------------------------------------------------------------- 1 | { 2 | "Demucs_v3_mdx_url_1": "https://dl.fbaipublicfiles.com/demucs/mdx_final/0d19c1c6-0f06f20e.th", 3 | "Demucs_v3_mdx_url_2": "https://dl.fbaipublicfiles.com/demucs/mdx_final/7ecf8ec1-70f50cc9.th", 4 | "Demucs_v3_mdx_url_3": "https://dl.fbaipublicfiles.com/demucs/mdx_final/c511e2ab-fe698775.th", 5 | "Demucs_v3_mdx_url_4": "https://dl.fbaipublicfiles.com/demucs/mdx_final/7d865c68-3d5dd56b.th", 6 | "Demucs_v3_mdx_url_5": "https://raw.githubusercontent.com/facebookresearch/demucs/main/demucs/remote/mdx.yaml", 7 | "Demucs_v3_mdx_q_url_1": "https://dl.fbaipublicfiles.com/demucs/mdx_final/6b9c2ca1-3fd82607.th", 8 | "Demucs_v3_mdx_q_url_2": "https://dl.fbaipublicfiles.com/demucs/mdx_final/b72baf4e-8778635e.th", 9 | "Demucs_v3_mdx_q_url_3": "https://dl.fbaipublicfiles.com/demucs/mdx_final/42e558d4-196e0e1b.th", 10 | "Demucs_v3_mdx_q_url_4": "https://dl.fbaipublicfiles.com/demucs/mdx_final/305bc58f-18378783.th", 11 | "Demucs_v3_mdx_q_url_5": "https://raw.githubusercontent.com/facebookresearch/demucs/main/demucs/remote/mdx_q.yaml", 12 | "Demucs_v3_mdx_extra_url_1": "https://dl.fbaipublicfiles.com/demucs/mdx_final/e51eebcc-c1b80bdd.th", 13 | "Demucs_v3_mdx_extra_url_2": "https://dl.fbaipublicfiles.com/demucs/mdx_final/a1d90b5c-ae9d2452.th", 14 | "Demucs_v3_mdx_extra_url_3": "https://dl.fbaipublicfiles.com/demucs/mdx_final/5d2d6c55-db83574e.th", 15 | "Demucs_v3_mdx_extra_url_4": "https://dl.fbaipublicfiles.com/demucs/mdx_final/cfa93e08-61801ae1.th", 16 | "Demucs_v3_mdx_extra_url_5": "https://raw.githubusercontent.com/facebookresearch/demucs/main/demucs/remote/mdx_extra.yaml", 17 | "Demucs_v3_mdx_extra_q_url_1": "https://dl.fbaipublicfiles.com/demucs/mdx_final/83fc094f-4a16d450.th", 18 | "Demucs_v3_mdx_extra_q_url_2": "https://dl.fbaipublicfiles.com/demucs/mdx_final/464b36d7-e5a9386e.th", 19 | "Demucs_v3_mdx_extra_q_url_3": "https://dl.fbaipublicfiles.com/demucs/mdx_final/14fc6a69-a89dd0ee.th", 20 | "Demucs_v3_mdx_extra_q_url_4": "https://dl.fbaipublicfiles.com/demucs/mdx_final/7fd6ef75-a905dd85.th", 21 | "Demucs_v3_mdx_extra_q_url_5": "https://raw.githubusercontent.com/facebookresearch/demucs/main/demucs/remote/mdx_extra_q.yaml", 22 | "Demucs_v3_UVR_url_1": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/ebf34a2d.th", 23 | "Demucs_v3_UVR_url_2": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/ebf34a2db.th", 24 | "Demucs_v3_UVR_url_3": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/UVR_Demucs_Model_1.yaml", 25 | "Demucs_v3_UVR_url_4": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/UVR_Demucs_Model_2.yaml", 26 | "Demucs_v3_UVR_url_5": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/UVR_Demucs_Model_Bag.yaml", 27 | "Demucs_v2_demucs_url_1": "https://dl.fbaipublicfiles.com/demucs/v3.0/demucs-e07c671f.th", 28 | "Demucs_v2_demucs_extra_url_1": "https://dl.fbaipublicfiles.com/demucs/v3.0/demucs_extra-3646af93.th", 29 | "Demucs_v2_demucs48_hq_url_1": "https://dl.fbaipublicfiles.com/demucs/v3.0/demucs48_hq-28a1282c.th", 30 | "Demucs_v2_tasnet_url_1": "https://dl.fbaipublicfiles.com/demucs/v3.0/tasnet-beb46fac.th", 31 | "Demucs_v2_tasnet_extra_url_1": "https://dl.fbaipublicfiles.com/demucs/v3.0/tasnet_extra-df3777b2.th", 32 | "Demucs_v2_demucs_unittest_url_1": "https://dl.fbaipublicfiles.com/demucs/v3.0/demucs_unittest-09ebc15f.th", 33 | "Demucs_v1_demucs_url_1": "https://dl.fbaipublicfiles.com/demucs/v2.0/demucs.th", 34 | "Demucs_v1_demucs_extra_url_1": "https://dl.fbaipublicfiles.com/demucs/v2.0/demucs_extra.th", 35 | "Demucs_v1_light_url_1": "https://dl.fbaipublicfiles.com/demucs/v2.0/light.th", 36 | "Demucs_v1_light_extra_url_1": "https://dl.fbaipublicfiles.com/demucs/v2.0/light_extra.th", 37 | "Demucs_v1_tasnet_url_1": "https://dl.fbaipublicfiles.com/demucs/v2.0/tasnet.th", 38 | "Demucs_v1_tasnet_extra_url_1": "https://dl.fbaipublicfiles.com/demucs/v2.0/tasnet_extra.th", 39 | "model_repo_url_1": "https://github.com/TRvlvr/model_repo/releases/download/model_pack_repo/", 40 | "single_model_repo_url_1": "https://github.com/TRvlvr/model_repo/releases/download/all_public_uvr_models/", 41 | "app_patch": "https://github.com/TRvlvr/model_repo/releases/download/uvr_update_patches/" 42 | } -------------------------------------------------------------------------------- /lib_v5/filelists/download_lists/mdx_download_list.txt: -------------------------------------------------------------------------------- 1 | No Model Selected 2 | No Model Selected 3 | MDX-Net Model: UVR_MDXNET_Main 4 | MDX-Net Model: UVR_MDXNET_1_9703 5 | MDX-Net Model: UVR_MDXNET_2_9682 6 | MDX-Net Model: UVR_MDXNET_3_9662 7 | MDX-Net Model: UVR_MDXNET_9482 8 | MDX-Net Model: UVR_MDXNET_KARA 9 | Developer Pack: voc_model_epochs_434-439 10 | Developer Pack: inst_model_epochs_10-17 11 | Developer Pack: inst_model_epochs_26-40 12 | Developer Pack: inst_model_epochs_51-57 13 | Developer Pack: inst_model_epochs_58-64 14 | -------------------------------------------------------------------------------- /lib_v5/filelists/download_lists/temp/temp.txt: -------------------------------------------------------------------------------- 1 | temp -------------------------------------------------------------------------------- /lib_v5/filelists/download_lists/vr_download_list.txt: -------------------------------------------------------------------------------- 1 | No Model Selected 2 | No Model Selected 3 | VR Arch Model Pack v5: SP Models 4 | VR Arch Model Pack v5: HP2 Models 5 | VR Arch Model Pack v4: Main Models 6 | VR Arch Single Model v5: 1_HP-UVR 7 | VR Arch Single Model v5: 2_HP-UVR 8 | VR Arch Single Model v5: 3_HP-Vocal-UVR 9 | VR Arch Single Model v5: 4_HP-Vocal-UVR 10 | VR Arch Single Model v5: 5_HP-Karaoke-UVR 11 | VR Arch Single Model v5: 6_HP-Karaoke-UVR 12 | VR Arch Single Model v5: 7_HP2-UVR 13 | VR Arch Single Model v5: 8_HP2-UVR 14 | VR Arch Single Model v5: 9_HP2-UVR 15 | VR Arch Single Model v5: 10_SP-UVR-2B-32000-1 16 | VR Arch Single Model v5: 11_SP-UVR-2B-32000-2 17 | VR Arch Single Model v5: 12_SP-UVR-3B-44100 18 | VR Arch Single Model v5: 13_SP-UVR-4B-44100-1 19 | VR Arch Single Model v5: 14_SP-UVR-4B-44100-2 20 | VR Arch Single Model v5: 15_SP-UVR-MID-44100-1 21 | VR Arch Single Model v5: 16_SP-UVR-MID-44100-2 22 | VR Arch Single Model v4: MGM_HIGHEND_v4 23 | VR Arch Single Model v4: MGM_LOWEND_A_v4 24 | VR Arch Single Model v4: MGM_LOWEND_B_v4 25 | VR Arch Single Model v4: MGM_MAIN_v4 -------------------------------------------------------------------------------- /lib_v5/filelists/ensemble_list/mdx_demuc_en_list.txt: -------------------------------------------------------------------------------- 1 | No Model 2 | No Model 3 | -------------------------------------------------------------------------------- /lib_v5/filelists/ensemble_list/vr_en_list.txt: -------------------------------------------------------------------------------- 1 | No Model 2 | No Model 3 | -------------------------------------------------------------------------------- /lib_v5/filelists/hashes/mdx_new_inst_hashes.txt: -------------------------------------------------------------------------------- 1 | c488149f2cd37c710da574f3b784e6e3 2 | 2223f985aa47e99a0348f987ea2a3db6 3 | 3fc1fa83cebb144dca7d379a3767ac77 4 | dfe5e1f42c42dcc262f2a2e2bc4ca7aa 5 | 69108243963e4ed3fe22fdb37b812fe8 6 | ec3d6dc24c75e06a72fe1a2bd970b7b0 7 | aee23fcb90ef135bbd036f6e1c1ad9f9 8 | 4561b9240c9acaf13eee2bd0186b4df4 9 | da0f43e81eb60b0bdacedd2de4758ee9 10 | 5ee77a84e40bbd66a9d2b08b6a4c8496 11 | 8b0526d02937c08adc95dfd57652c915 12 | 08ff1d3a743eb2377c96b3de793990a0 13 | af292ce84aa6125ab75020f31e183f5b 14 | 7f56ee6b9ee402802c403f348fea58cb 15 | 038bb0d0a9f3c89b5671189384cfdf91 16 | db79054b3ae6c30f655e8ff12d64caa7 17 | b2e16d43ef559782a32874ffdace8b82 18 | c488149f2cd37c710da574f3b784e6e3 19 | b71bb782cad9b8c6ea0a72c6ae69e8b4 20 | 9d478026519f140e14e9c1bb32fcc522 21 | e81c4b46ec685b3ce227f426f884cfe0 22 | e9edcfacbbbbc513734082e1c1f7f6ad 23 | 8d0bb54171a0996f2610be0fdc5743a8 24 | fbe5c4eecc1f3ad4b38364d77a774013 25 | 66209e099302542c627c29bbb6976c59 26 | ee7b7dcda4e4353730cf89afc881c8cb 27 | 0d09ab08de2cf0efe123144589345a33 28 | be2cff51fc6fcae172d30d3f1c142ee6 29 | b53e4cc77f9c47cbc6184cc7158f65ca 30 | c38f6a06977b9bc287c83f1e80ee0d9f 31 | 0e05e776801b7016714015043e97373b 32 | fd39ea4282a92d3cb5f8d502e4c44ffa 33 | c937b7662b6f5cd92ff82fe595f160e7 34 | c0e0e9c44f815c1d0c0737343d702923 35 | c488149f2cd37c710da574f3b784e6e3 36 | 823ef02eadf24f652609959e3a35206e 37 | 674e8851d69bef3e4e1724d21247a8dc 38 | d3543c7b5d214515a7bd55d57b2413a0 39 | eb1179fb56fbcab660d9b69f9ac9cbe7 40 | 0f7f0b21feb6b1b6e843f6047a3af13a 41 | b6f8de9a8316d5bd330a84eb22078ef4 42 | 6dd6104d3ba4b3e9f47fba7d6c84dd9c 43 | 1579df63864bf6ec11f2484cb2cfca7e 44 | 3d2af588b96dc0e84be66804684e7c56 45 | 6e566b37b3cec881ec93cfe415a710ec 46 | 455c272b691c1001aa9b9cad5dfedd20 47 | ec892e0ea6f973d8c15645e621ee8fe1 48 | 4a0b13b03e4db47191f387c2ced82f73 49 | e5d6e895bcbe4ca62ca9cc8808d8da6e 50 | 4a0b13b03e4db47191f387c2ced82f73 51 | e5d6e895bcbe4ca62ca9cc8808d8da6e 52 | 9df9f3bf4c7151fc36fb822d7728f433 53 | 4475c1d3f79482cb2082f1bd13899e1b 54 | 3d3523c8e0ab0a355748f38449331918 55 | 24bb2808feae6efb2aaae9db3778886c 56 | 947e6dd9e4aea2811eb3fb26d4bde615 57 | -------------------------------------------------------------------------------- /lib_v5/filelists/hashes/mdx_original_hashes.txt: -------------------------------------------------------------------------------- 1 | 1bbcb39d8a4be721d9322e62f13de1c1 2 | 94422d1d6eb7019eff97dbef2daba979 3 | d3b87173f484864674ee2a21cd7b35f2 4 | 053f663b23c70c6c1f52938fb480f5b8 5 | 76929c1b5b9b804f89f4ebb78712c668 -------------------------------------------------------------------------------- /lib_v5/filelists/model_cache/mdx_model_cache/cache_goes_here.txt: -------------------------------------------------------------------------------- 1 | cache_goes_here -------------------------------------------------------------------------------- /lib_v5/filelists/model_cache/vr_param_cache/cache_goes_here.txt: -------------------------------------------------------------------------------- 1 | cache_goes_here -------------------------------------------------------------------------------- /lib_v5/fonts/centurygothic/GOTHIC.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/fonts/centurygothic/GOTHIC.TTF -------------------------------------------------------------------------------- /lib_v5/fonts/centurygothic/GOTHICB.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/fonts/centurygothic/GOTHICB.TTF -------------------------------------------------------------------------------- /lib_v5/fonts/centurygothic/GOTHICBI.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/fonts/centurygothic/GOTHICBI.TTF -------------------------------------------------------------------------------- /lib_v5/fonts/centurygothic/GOTHICI.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/fonts/centurygothic/GOTHICI.TTF -------------------------------------------------------------------------------- /lib_v5/fonts/unispace/unispace.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/fonts/unispace/unispace.ttf -------------------------------------------------------------------------------- /lib_v5/fonts/unispace/unispace_bd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/fonts/unispace/unispace_bd.ttf -------------------------------------------------------------------------------- /lib_v5/fonts/unispace/unispace_bd_it.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/fonts/unispace/unispace_bd_it.ttf -------------------------------------------------------------------------------- /lib_v5/fonts/unispace/unispace_it.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/fonts/unispace/unispace_it.ttf -------------------------------------------------------------------------------- /lib_v5/layers.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import spec_utils 6 | 7 | 8 | class Conv2DBNActiv(nn.Module): 9 | 10 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 11 | super(Conv2DBNActiv, self).__init__() 12 | self.conv = nn.Sequential( 13 | nn.Conv2d( 14 | nin, nout, 15 | kernel_size=ksize, 16 | stride=stride, 17 | padding=pad, 18 | dilation=dilation, 19 | bias=False), 20 | nn.BatchNorm2d(nout), 21 | activ() 22 | ) 23 | 24 | def __call__(self, x): 25 | return self.conv(x) 26 | 27 | 28 | class SeperableConv2DBNActiv(nn.Module): 29 | 30 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 31 | super(SeperableConv2DBNActiv, self).__init__() 32 | self.conv = nn.Sequential( 33 | nn.Conv2d( 34 | nin, nin, 35 | kernel_size=ksize, 36 | stride=stride, 37 | padding=pad, 38 | dilation=dilation, 39 | groups=nin, 40 | bias=False), 41 | nn.Conv2d( 42 | nin, nout, 43 | kernel_size=1, 44 | bias=False), 45 | nn.BatchNorm2d(nout), 46 | activ() 47 | ) 48 | 49 | def __call__(self, x): 50 | return self.conv(x) 51 | 52 | 53 | class Encoder(nn.Module): 54 | 55 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU): 56 | super(Encoder, self).__init__() 57 | self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 58 | self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ) 59 | 60 | def __call__(self, x): 61 | skip = self.conv1(x) 62 | h = self.conv2(skip) 63 | 64 | return h, skip 65 | 66 | 67 | class Decoder(nn.Module): 68 | 69 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False): 70 | super(Decoder, self).__init__() 71 | self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 72 | self.dropout = nn.Dropout2d(0.1) if dropout else None 73 | 74 | def __call__(self, x, skip=None): 75 | x = F.interpolate(x, scale_factor=2, mode='bilinear', align_corners=True) 76 | if skip is not None: 77 | skip = spec_utils.crop_center(skip, x) 78 | x = torch.cat([x, skip], dim=1) 79 | h = self.conv(x) 80 | 81 | if self.dropout is not None: 82 | h = self.dropout(h) 83 | 84 | return h 85 | 86 | 87 | class ASPPModule(nn.Module): 88 | 89 | def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU): 90 | super(ASPPModule, self).__init__() 91 | self.conv1 = nn.Sequential( 92 | nn.AdaptiveAvgPool2d((1, None)), 93 | Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 94 | ) 95 | self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 96 | self.conv3 = SeperableConv2DBNActiv( 97 | nin, nin, 3, 1, dilations[0], dilations[0], activ=activ) 98 | self.conv4 = SeperableConv2DBNActiv( 99 | nin, nin, 3, 1, dilations[1], dilations[1], activ=activ) 100 | self.conv5 = SeperableConv2DBNActiv( 101 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 102 | self.bottleneck = nn.Sequential( 103 | Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), 104 | nn.Dropout2d(0.1) 105 | ) 106 | 107 | def forward(self, x): 108 | _, _, h, w = x.size() 109 | feat1 = F.interpolate(self.conv1(x), size=(h, w), mode='bilinear', align_corners=True) 110 | feat2 = self.conv2(x) 111 | feat3 = self.conv3(x) 112 | feat4 = self.conv4(x) 113 | feat5 = self.conv5(x) 114 | out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1) 115 | bottle = self.bottleneck(out) 116 | return bottle 117 | -------------------------------------------------------------------------------- /lib_v5/layers_123812KB .py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import spec_utils 6 | 7 | 8 | class Conv2DBNActiv(nn.Module): 9 | 10 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 11 | super(Conv2DBNActiv, self).__init__() 12 | self.conv = nn.Sequential( 13 | nn.Conv2d( 14 | nin, nout, 15 | kernel_size=ksize, 16 | stride=stride, 17 | padding=pad, 18 | dilation=dilation, 19 | bias=False), 20 | nn.BatchNorm2d(nout), 21 | activ() 22 | ) 23 | 24 | def __call__(self, x): 25 | return self.conv(x) 26 | 27 | 28 | class SeperableConv2DBNActiv(nn.Module): 29 | 30 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 31 | super(SeperableConv2DBNActiv, self).__init__() 32 | self.conv = nn.Sequential( 33 | nn.Conv2d( 34 | nin, nin, 35 | kernel_size=ksize, 36 | stride=stride, 37 | padding=pad, 38 | dilation=dilation, 39 | groups=nin, 40 | bias=False), 41 | nn.Conv2d( 42 | nin, nout, 43 | kernel_size=1, 44 | bias=False), 45 | nn.BatchNorm2d(nout), 46 | activ() 47 | ) 48 | 49 | def __call__(self, x): 50 | return self.conv(x) 51 | 52 | 53 | class Encoder(nn.Module): 54 | 55 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU): 56 | super(Encoder, self).__init__() 57 | self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 58 | self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ) 59 | 60 | def __call__(self, x): 61 | skip = self.conv1(x) 62 | h = self.conv2(skip) 63 | 64 | return h, skip 65 | 66 | 67 | class Decoder(nn.Module): 68 | 69 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False): 70 | super(Decoder, self).__init__() 71 | self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 72 | self.dropout = nn.Dropout2d(0.1) if dropout else None 73 | 74 | def __call__(self, x, skip=None): 75 | x = F.interpolate(x, scale_factor=2, mode='bilinear', align_corners=True) 76 | if skip is not None: 77 | skip = spec_utils.crop_center(skip, x) 78 | x = torch.cat([x, skip], dim=1) 79 | h = self.conv(x) 80 | 81 | if self.dropout is not None: 82 | h = self.dropout(h) 83 | 84 | return h 85 | 86 | 87 | class ASPPModule(nn.Module): 88 | 89 | def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU): 90 | super(ASPPModule, self).__init__() 91 | self.conv1 = nn.Sequential( 92 | nn.AdaptiveAvgPool2d((1, None)), 93 | Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 94 | ) 95 | self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 96 | self.conv3 = SeperableConv2DBNActiv( 97 | nin, nin, 3, 1, dilations[0], dilations[0], activ=activ) 98 | self.conv4 = SeperableConv2DBNActiv( 99 | nin, nin, 3, 1, dilations[1], dilations[1], activ=activ) 100 | self.conv5 = SeperableConv2DBNActiv( 101 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 102 | self.bottleneck = nn.Sequential( 103 | Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), 104 | nn.Dropout2d(0.1) 105 | ) 106 | 107 | def forward(self, x): 108 | _, _, h, w = x.size() 109 | feat1 = F.interpolate(self.conv1(x), size=(h, w), mode='bilinear', align_corners=True) 110 | feat2 = self.conv2(x) 111 | feat3 = self.conv3(x) 112 | feat4 = self.conv4(x) 113 | feat5 = self.conv5(x) 114 | out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1) 115 | bottle = self.bottleneck(out) 116 | return bottle 117 | -------------------------------------------------------------------------------- /lib_v5/layers_123821KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import spec_utils 6 | 7 | 8 | class Conv2DBNActiv(nn.Module): 9 | 10 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 11 | super(Conv2DBNActiv, self).__init__() 12 | self.conv = nn.Sequential( 13 | nn.Conv2d( 14 | nin, nout, 15 | kernel_size=ksize, 16 | stride=stride, 17 | padding=pad, 18 | dilation=dilation, 19 | bias=False), 20 | nn.BatchNorm2d(nout), 21 | activ() 22 | ) 23 | 24 | def __call__(self, x): 25 | return self.conv(x) 26 | 27 | 28 | class SeperableConv2DBNActiv(nn.Module): 29 | 30 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 31 | super(SeperableConv2DBNActiv, self).__init__() 32 | self.conv = nn.Sequential( 33 | nn.Conv2d( 34 | nin, nin, 35 | kernel_size=ksize, 36 | stride=stride, 37 | padding=pad, 38 | dilation=dilation, 39 | groups=nin, 40 | bias=False), 41 | nn.Conv2d( 42 | nin, nout, 43 | kernel_size=1, 44 | bias=False), 45 | nn.BatchNorm2d(nout), 46 | activ() 47 | ) 48 | 49 | def __call__(self, x): 50 | return self.conv(x) 51 | 52 | 53 | class Encoder(nn.Module): 54 | 55 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU): 56 | super(Encoder, self).__init__() 57 | self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 58 | self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ) 59 | 60 | def __call__(self, x): 61 | skip = self.conv1(x) 62 | h = self.conv2(skip) 63 | 64 | return h, skip 65 | 66 | 67 | class Decoder(nn.Module): 68 | 69 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False): 70 | super(Decoder, self).__init__() 71 | self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 72 | self.dropout = nn.Dropout2d(0.1) if dropout else None 73 | 74 | def __call__(self, x, skip=None): 75 | x = F.interpolate(x, scale_factor=2, mode='bilinear', align_corners=True) 76 | if skip is not None: 77 | skip = spec_utils.crop_center(skip, x) 78 | x = torch.cat([x, skip], dim=1) 79 | h = self.conv(x) 80 | 81 | if self.dropout is not None: 82 | h = self.dropout(h) 83 | 84 | return h 85 | 86 | 87 | class ASPPModule(nn.Module): 88 | 89 | def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU): 90 | super(ASPPModule, self).__init__() 91 | self.conv1 = nn.Sequential( 92 | nn.AdaptiveAvgPool2d((1, None)), 93 | Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 94 | ) 95 | self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 96 | self.conv3 = SeperableConv2DBNActiv( 97 | nin, nin, 3, 1, dilations[0], dilations[0], activ=activ) 98 | self.conv4 = SeperableConv2DBNActiv( 99 | nin, nin, 3, 1, dilations[1], dilations[1], activ=activ) 100 | self.conv5 = SeperableConv2DBNActiv( 101 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 102 | self.bottleneck = nn.Sequential( 103 | Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), 104 | nn.Dropout2d(0.1) 105 | ) 106 | 107 | def forward(self, x): 108 | _, _, h, w = x.size() 109 | feat1 = F.interpolate(self.conv1(x), size=(h, w), mode='bilinear', align_corners=True) 110 | feat2 = self.conv2(x) 111 | feat3 = self.conv3(x) 112 | feat4 = self.conv4(x) 113 | feat5 = self.conv5(x) 114 | out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1) 115 | bottle = self.bottleneck(out) 116 | return bottle 117 | -------------------------------------------------------------------------------- /lib_v5/layers_129605KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import spec_utils 6 | 7 | 8 | class Conv2DBNActiv(nn.Module): 9 | 10 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 11 | super(Conv2DBNActiv, self).__init__() 12 | self.conv = nn.Sequential( 13 | nn.Conv2d( 14 | nin, nout, 15 | kernel_size=ksize, 16 | stride=stride, 17 | padding=pad, 18 | dilation=dilation, 19 | bias=False), 20 | nn.BatchNorm2d(nout), 21 | activ() 22 | ) 23 | 24 | def __call__(self, x): 25 | return self.conv(x) 26 | 27 | 28 | class SeperableConv2DBNActiv(nn.Module): 29 | 30 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 31 | super(SeperableConv2DBNActiv, self).__init__() 32 | self.conv = nn.Sequential( 33 | nn.Conv2d( 34 | nin, nin, 35 | kernel_size=ksize, 36 | stride=stride, 37 | padding=pad, 38 | dilation=dilation, 39 | groups=nin, 40 | bias=False), 41 | nn.Conv2d( 42 | nin, nout, 43 | kernel_size=1, 44 | bias=False), 45 | nn.BatchNorm2d(nout), 46 | activ() 47 | ) 48 | 49 | def __call__(self, x): 50 | return self.conv(x) 51 | 52 | 53 | class Encoder(nn.Module): 54 | 55 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU): 56 | super(Encoder, self).__init__() 57 | self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 58 | self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ) 59 | 60 | def __call__(self, x): 61 | skip = self.conv1(x) 62 | h = self.conv2(skip) 63 | 64 | return h, skip 65 | 66 | 67 | class Decoder(nn.Module): 68 | 69 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False): 70 | super(Decoder, self).__init__() 71 | self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 72 | self.dropout = nn.Dropout2d(0.1) if dropout else None 73 | 74 | def __call__(self, x, skip=None): 75 | x = F.interpolate(x, scale_factor=2, mode='bilinear', align_corners=True) 76 | if skip is not None: 77 | skip = spec_utils.crop_center(skip, x) 78 | x = torch.cat([x, skip], dim=1) 79 | h = self.conv(x) 80 | 81 | if self.dropout is not None: 82 | h = self.dropout(h) 83 | 84 | return h 85 | 86 | 87 | class ASPPModule(nn.Module): 88 | 89 | def __init__(self, nin, nout, dilations=(4, 8, 16, 32), activ=nn.ReLU): 90 | super(ASPPModule, self).__init__() 91 | self.conv1 = nn.Sequential( 92 | nn.AdaptiveAvgPool2d((1, None)), 93 | Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 94 | ) 95 | self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 96 | self.conv3 = SeperableConv2DBNActiv( 97 | nin, nin, 3, 1, dilations[0], dilations[0], activ=activ) 98 | self.conv4 = SeperableConv2DBNActiv( 99 | nin, nin, 3, 1, dilations[1], dilations[1], activ=activ) 100 | self.conv5 = SeperableConv2DBNActiv( 101 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 102 | self.conv6 = SeperableConv2DBNActiv( 103 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 104 | self.bottleneck = nn.Sequential( 105 | Conv2DBNActiv(nin * 6, nout, 1, 1, 0, activ=activ), 106 | nn.Dropout2d(0.1) 107 | ) 108 | 109 | def forward(self, x): 110 | _, _, h, w = x.size() 111 | feat1 = F.interpolate(self.conv1(x), size=(h, w), mode='bilinear', align_corners=True) 112 | feat2 = self.conv2(x) 113 | feat3 = self.conv3(x) 114 | feat4 = self.conv4(x) 115 | feat5 = self.conv5(x) 116 | feat6 = self.conv6(x) 117 | out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6), dim=1) 118 | bottle = self.bottleneck(out) 119 | return bottle 120 | -------------------------------------------------------------------------------- /lib_v5/layers_33966KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import spec_utils 6 | 7 | 8 | class Conv2DBNActiv(nn.Module): 9 | 10 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 11 | super(Conv2DBNActiv, self).__init__() 12 | self.conv = nn.Sequential( 13 | nn.Conv2d( 14 | nin, nout, 15 | kernel_size=ksize, 16 | stride=stride, 17 | padding=pad, 18 | dilation=dilation, 19 | bias=False), 20 | nn.BatchNorm2d(nout), 21 | activ() 22 | ) 23 | 24 | def __call__(self, x): 25 | return self.conv(x) 26 | 27 | 28 | class SeperableConv2DBNActiv(nn.Module): 29 | 30 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 31 | super(SeperableConv2DBNActiv, self).__init__() 32 | self.conv = nn.Sequential( 33 | nn.Conv2d( 34 | nin, nin, 35 | kernel_size=ksize, 36 | stride=stride, 37 | padding=pad, 38 | dilation=dilation, 39 | groups=nin, 40 | bias=False), 41 | nn.Conv2d( 42 | nin, nout, 43 | kernel_size=1, 44 | bias=False), 45 | nn.BatchNorm2d(nout), 46 | activ() 47 | ) 48 | 49 | def __call__(self, x): 50 | return self.conv(x) 51 | 52 | 53 | class Encoder(nn.Module): 54 | 55 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU): 56 | super(Encoder, self).__init__() 57 | self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 58 | self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ) 59 | 60 | def __call__(self, x): 61 | skip = self.conv1(x) 62 | h = self.conv2(skip) 63 | 64 | return h, skip 65 | 66 | 67 | class Decoder(nn.Module): 68 | 69 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False): 70 | super(Decoder, self).__init__() 71 | self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 72 | self.dropout = nn.Dropout2d(0.1) if dropout else None 73 | 74 | def __call__(self, x, skip=None): 75 | x = F.interpolate(x, scale_factor=2, mode='bilinear', align_corners=True) 76 | if skip is not None: 77 | skip = spec_utils.crop_center(skip, x) 78 | x = torch.cat([x, skip], dim=1) 79 | h = self.conv(x) 80 | 81 | if self.dropout is not None: 82 | h = self.dropout(h) 83 | 84 | return h 85 | 86 | 87 | class ASPPModule(nn.Module): 88 | 89 | def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU): 90 | super(ASPPModule, self).__init__() 91 | self.conv1 = nn.Sequential( 92 | nn.AdaptiveAvgPool2d((1, None)), 93 | Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 94 | ) 95 | self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 96 | self.conv3 = SeperableConv2DBNActiv( 97 | nin, nin, 3, 1, dilations[0], dilations[0], activ=activ) 98 | self.conv4 = SeperableConv2DBNActiv( 99 | nin, nin, 3, 1, dilations[1], dilations[1], activ=activ) 100 | self.conv5 = SeperableConv2DBNActiv( 101 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 102 | self.conv6 = SeperableConv2DBNActiv( 103 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 104 | self.conv7 = SeperableConv2DBNActiv( 105 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 106 | self.bottleneck = nn.Sequential( 107 | Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), 108 | nn.Dropout2d(0.1) 109 | ) 110 | 111 | def forward(self, x): 112 | _, _, h, w = x.size() 113 | feat1 = F.interpolate(self.conv1(x), size=(h, w), mode='bilinear', align_corners=True) 114 | feat2 = self.conv2(x) 115 | feat3 = self.conv3(x) 116 | feat4 = self.conv4(x) 117 | feat5 = self.conv5(x) 118 | feat6 = self.conv6(x) 119 | feat7 = self.conv7(x) 120 | out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1) 121 | bottle = self.bottleneck(out) 122 | return bottle 123 | -------------------------------------------------------------------------------- /lib_v5/layers_537227KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import spec_utils 6 | 7 | 8 | class Conv2DBNActiv(nn.Module): 9 | 10 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 11 | super(Conv2DBNActiv, self).__init__() 12 | self.conv = nn.Sequential( 13 | nn.Conv2d( 14 | nin, nout, 15 | kernel_size=ksize, 16 | stride=stride, 17 | padding=pad, 18 | dilation=dilation, 19 | bias=False), 20 | nn.BatchNorm2d(nout), 21 | activ() 22 | ) 23 | 24 | def __call__(self, x): 25 | return self.conv(x) 26 | 27 | 28 | class SeperableConv2DBNActiv(nn.Module): 29 | 30 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 31 | super(SeperableConv2DBNActiv, self).__init__() 32 | self.conv = nn.Sequential( 33 | nn.Conv2d( 34 | nin, nin, 35 | kernel_size=ksize, 36 | stride=stride, 37 | padding=pad, 38 | dilation=dilation, 39 | groups=nin, 40 | bias=False), 41 | nn.Conv2d( 42 | nin, nout, 43 | kernel_size=1, 44 | bias=False), 45 | nn.BatchNorm2d(nout), 46 | activ() 47 | ) 48 | 49 | def __call__(self, x): 50 | return self.conv(x) 51 | 52 | 53 | class Encoder(nn.Module): 54 | 55 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU): 56 | super(Encoder, self).__init__() 57 | self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 58 | self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ) 59 | 60 | def __call__(self, x): 61 | skip = self.conv1(x) 62 | h = self.conv2(skip) 63 | 64 | return h, skip 65 | 66 | 67 | class Decoder(nn.Module): 68 | 69 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False): 70 | super(Decoder, self).__init__() 71 | self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 72 | self.dropout = nn.Dropout2d(0.1) if dropout else None 73 | 74 | def __call__(self, x, skip=None): 75 | x = F.interpolate(x, scale_factor=2, mode='bilinear', align_corners=True) 76 | if skip is not None: 77 | skip = spec_utils.crop_center(skip, x) 78 | x = torch.cat([x, skip], dim=1) 79 | h = self.conv(x) 80 | 81 | if self.dropout is not None: 82 | h = self.dropout(h) 83 | 84 | return h 85 | 86 | 87 | class ASPPModule(nn.Module): 88 | 89 | def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU): 90 | super(ASPPModule, self).__init__() 91 | self.conv1 = nn.Sequential( 92 | nn.AdaptiveAvgPool2d((1, None)), 93 | Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 94 | ) 95 | self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 96 | self.conv3 = SeperableConv2DBNActiv( 97 | nin, nin, 3, 1, dilations[0], dilations[0], activ=activ) 98 | self.conv4 = SeperableConv2DBNActiv( 99 | nin, nin, 3, 1, dilations[1], dilations[1], activ=activ) 100 | self.conv5 = SeperableConv2DBNActiv( 101 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 102 | self.conv6 = SeperableConv2DBNActiv( 103 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 104 | self.conv7 = SeperableConv2DBNActiv( 105 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 106 | self.bottleneck = nn.Sequential( 107 | Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), 108 | nn.Dropout2d(0.1) 109 | ) 110 | 111 | def forward(self, x): 112 | _, _, h, w = x.size() 113 | feat1 = F.interpolate(self.conv1(x), size=(h, w), mode='bilinear', align_corners=True) 114 | feat2 = self.conv2(x) 115 | feat3 = self.conv3(x) 116 | feat4 = self.conv4(x) 117 | feat5 = self.conv5(x) 118 | feat6 = self.conv6(x) 119 | feat7 = self.conv7(x) 120 | out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1) 121 | bottle = self.bottleneck(out) 122 | return bottle 123 | -------------------------------------------------------------------------------- /lib_v5/layers_537238KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import spec_utils 6 | 7 | 8 | class Conv2DBNActiv(nn.Module): 9 | 10 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 11 | super(Conv2DBNActiv, self).__init__() 12 | self.conv = nn.Sequential( 13 | nn.Conv2d( 14 | nin, nout, 15 | kernel_size=ksize, 16 | stride=stride, 17 | padding=pad, 18 | dilation=dilation, 19 | bias=False), 20 | nn.BatchNorm2d(nout), 21 | activ() 22 | ) 23 | 24 | def __call__(self, x): 25 | return self.conv(x) 26 | 27 | 28 | class SeperableConv2DBNActiv(nn.Module): 29 | 30 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU): 31 | super(SeperableConv2DBNActiv, self).__init__() 32 | self.conv = nn.Sequential( 33 | nn.Conv2d( 34 | nin, nin, 35 | kernel_size=ksize, 36 | stride=stride, 37 | padding=pad, 38 | dilation=dilation, 39 | groups=nin, 40 | bias=False), 41 | nn.Conv2d( 42 | nin, nout, 43 | kernel_size=1, 44 | bias=False), 45 | nn.BatchNorm2d(nout), 46 | activ() 47 | ) 48 | 49 | def __call__(self, x): 50 | return self.conv(x) 51 | 52 | 53 | class Encoder(nn.Module): 54 | 55 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU): 56 | super(Encoder, self).__init__() 57 | self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 58 | self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ) 59 | 60 | def __call__(self, x): 61 | skip = self.conv1(x) 62 | h = self.conv2(skip) 63 | 64 | return h, skip 65 | 66 | 67 | class Decoder(nn.Module): 68 | 69 | def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False): 70 | super(Decoder, self).__init__() 71 | self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ) 72 | self.dropout = nn.Dropout2d(0.1) if dropout else None 73 | 74 | def __call__(self, x, skip=None): 75 | x = F.interpolate(x, scale_factor=2, mode='bilinear', align_corners=True) 76 | if skip is not None: 77 | skip = spec_utils.crop_center(skip, x) 78 | x = torch.cat([x, skip], dim=1) 79 | h = self.conv(x) 80 | 81 | if self.dropout is not None: 82 | h = self.dropout(h) 83 | 84 | return h 85 | 86 | 87 | class ASPPModule(nn.Module): 88 | 89 | def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU): 90 | super(ASPPModule, self).__init__() 91 | self.conv1 = nn.Sequential( 92 | nn.AdaptiveAvgPool2d((1, None)), 93 | Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 94 | ) 95 | self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ) 96 | self.conv3 = SeperableConv2DBNActiv( 97 | nin, nin, 3, 1, dilations[0], dilations[0], activ=activ) 98 | self.conv4 = SeperableConv2DBNActiv( 99 | nin, nin, 3, 1, dilations[1], dilations[1], activ=activ) 100 | self.conv5 = SeperableConv2DBNActiv( 101 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 102 | self.conv6 = SeperableConv2DBNActiv( 103 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 104 | self.conv7 = SeperableConv2DBNActiv( 105 | nin, nin, 3, 1, dilations[2], dilations[2], activ=activ) 106 | self.bottleneck = nn.Sequential( 107 | Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), 108 | nn.Dropout2d(0.1) 109 | ) 110 | 111 | def forward(self, x): 112 | _, _, h, w = x.size() 113 | feat1 = F.interpolate(self.conv1(x), size=(h, w), mode='bilinear', align_corners=True) 114 | feat2 = self.conv2(x) 115 | feat3 = self.conv3(x) 116 | feat4 = self.conv4(x) 117 | feat5 = self.conv5(x) 118 | feat6 = self.conv6(x) 119 | feat7 = self.conv7(x) 120 | out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1) 121 | bottle = self.bottleneck(out) 122 | return bottle 123 | -------------------------------------------------------------------------------- /lib_v5/model_param_init.py: -------------------------------------------------------------------------------- 1 | import json 2 | import os 3 | import pathlib 4 | 5 | default_param = {} 6 | default_param['bins'] = 768 7 | default_param['unstable_bins'] = 9 # training only 8 | default_param['reduction_bins'] = 762 # training only 9 | default_param['sr'] = 44100 10 | default_param['pre_filter_start'] = 757 11 | default_param['pre_filter_stop'] = 768 12 | default_param['band'] = {} 13 | 14 | 15 | default_param['band'][1] = { 16 | 'sr': 11025, 17 | 'hl': 128, 18 | 'n_fft': 960, 19 | 'crop_start': 0, 20 | 'crop_stop': 245, 21 | 'lpf_start': 61, # inference only 22 | 'res_type': 'polyphase' 23 | } 24 | 25 | default_param['band'][2] = { 26 | 'sr': 44100, 27 | 'hl': 512, 28 | 'n_fft': 1536, 29 | 'crop_start': 24, 30 | 'crop_stop': 547, 31 | 'hpf_start': 81, # inference only 32 | 'res_type': 'sinc_best' 33 | } 34 | 35 | 36 | def int_keys(d): 37 | r = {} 38 | for k, v in d: 39 | if k.isdigit(): 40 | k = int(k) 41 | r[k] = v 42 | return r 43 | 44 | 45 | class ModelParameters(object): 46 | def __init__(self, config_path=''): 47 | if '.pth' == pathlib.Path(config_path).suffix: 48 | import zipfile 49 | 50 | with zipfile.ZipFile(config_path, 'r') as zip: 51 | self.param = json.loads(zip.read('param.json'), object_pairs_hook=int_keys) 52 | elif '.json' == pathlib.Path(config_path).suffix: 53 | with open(config_path, 'r') as f: 54 | self.param = json.loads(f.read(), object_pairs_hook=int_keys) 55 | else: 56 | self.param = default_param 57 | 58 | for k in ['mid_side', 'mid_side_b', 'mid_side_b2', 'stereo_w', 'stereo_n', 'reverse']: 59 | if not k in self.param: 60 | self.param[k] = False -------------------------------------------------------------------------------- /lib_v5/modelparams/1band_sr16000_hl512.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 1024, 3 | "unstable_bins": 0, 4 | "reduction_bins": 0, 5 | "band": { 6 | "1": { 7 | "sr": 16000, 8 | "hl": 512, 9 | "n_fft": 2048, 10 | "crop_start": 0, 11 | "crop_stop": 1024, 12 | "hpf_start": -1, 13 | "res_type": "sinc_best" 14 | } 15 | }, 16 | "sr": 16000, 17 | "pre_filter_start": 1023, 18 | "pre_filter_stop": 1024 19 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/1band_sr32000_hl512.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 1024, 3 | "unstable_bins": 0, 4 | "reduction_bins": 0, 5 | "band": { 6 | "1": { 7 | "sr": 32000, 8 | "hl": 512, 9 | "n_fft": 2048, 10 | "crop_start": 0, 11 | "crop_stop": 1024, 12 | "hpf_start": -1, 13 | "res_type": "kaiser_fast" 14 | } 15 | }, 16 | "sr": 32000, 17 | "pre_filter_start": 1000, 18 | "pre_filter_stop": 1021 19 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/1band_sr33075_hl384.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 1024, 3 | "unstable_bins": 0, 4 | "reduction_bins": 0, 5 | "band": { 6 | "1": { 7 | "sr": 33075, 8 | "hl": 384, 9 | "n_fft": 2048, 10 | "crop_start": 0, 11 | "crop_stop": 1024, 12 | "hpf_start": -1, 13 | "res_type": "sinc_best" 14 | } 15 | }, 16 | "sr": 33075, 17 | "pre_filter_start": 1000, 18 | "pre_filter_stop": 1021 19 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/1band_sr44100_hl1024.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 1024, 3 | "unstable_bins": 0, 4 | "reduction_bins": 0, 5 | "band": { 6 | "1": { 7 | "sr": 44100, 8 | "hl": 1024, 9 | "n_fft": 2048, 10 | "crop_start": 0, 11 | "crop_stop": 1024, 12 | "hpf_start": -1, 13 | "res_type": "sinc_best" 14 | } 15 | }, 16 | "sr": 44100, 17 | "pre_filter_start": 1023, 18 | "pre_filter_stop": 1024 19 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/1band_sr44100_hl256.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 256, 3 | "unstable_bins": 0, 4 | "reduction_bins": 0, 5 | "band": { 6 | "1": { 7 | "sr": 44100, 8 | "hl": 256, 9 | "n_fft": 512, 10 | "crop_start": 0, 11 | "crop_stop": 256, 12 | "hpf_start": -1, 13 | "res_type": "sinc_best" 14 | } 15 | }, 16 | "sr": 44100, 17 | "pre_filter_start": 256, 18 | "pre_filter_stop": 256 19 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/1band_sr44100_hl512.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 1024, 3 | "unstable_bins": 0, 4 | "reduction_bins": 0, 5 | "band": { 6 | "1": { 7 | "sr": 44100, 8 | "hl": 512, 9 | "n_fft": 2048, 10 | "crop_start": 0, 11 | "crop_stop": 1024, 12 | "hpf_start": -1, 13 | "res_type": "sinc_best" 14 | } 15 | }, 16 | "sr": 44100, 17 | "pre_filter_start": 1023, 18 | "pre_filter_stop": 1024 19 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/1band_sr44100_hl512_cut.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 1024, 3 | "unstable_bins": 0, 4 | "reduction_bins": 0, 5 | "band": { 6 | "1": { 7 | "sr": 44100, 8 | "hl": 512, 9 | "n_fft": 2048, 10 | "crop_start": 0, 11 | "crop_stop": 700, 12 | "hpf_start": -1, 13 | "res_type": "sinc_best" 14 | } 15 | }, 16 | "sr": 44100, 17 | "pre_filter_start": 1023, 18 | "pre_filter_stop": 700 19 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/2band_32000.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 768, 3 | "unstable_bins": 7, 4 | "reduction_bins": 705, 5 | "band": { 6 | "1": { 7 | "sr": 6000, 8 | "hl": 66, 9 | "n_fft": 512, 10 | "crop_start": 0, 11 | "crop_stop": 240, 12 | "lpf_start": 60, 13 | "lpf_stop": 118, 14 | "res_type": "sinc_fastest" 15 | }, 16 | "2": { 17 | "sr": 32000, 18 | "hl": 352, 19 | "n_fft": 1024, 20 | "crop_start": 22, 21 | "crop_stop": 505, 22 | "hpf_start": 44, 23 | "hpf_stop": 23, 24 | "res_type": "sinc_medium" 25 | } 26 | }, 27 | "sr": 32000, 28 | "pre_filter_start": 710, 29 | "pre_filter_stop": 731 30 | } 31 | -------------------------------------------------------------------------------- /lib_v5/modelparams/2band_44100_lofi.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 512, 3 | "unstable_bins": 7, 4 | "reduction_bins": 510, 5 | "band": { 6 | "1": { 7 | "sr": 11025, 8 | "hl": 160, 9 | "n_fft": 768, 10 | "crop_start": 0, 11 | "crop_stop": 192, 12 | "lpf_start": 41, 13 | "lpf_stop": 139, 14 | "res_type": "sinc_fastest" 15 | }, 16 | "2": { 17 | "sr": 44100, 18 | "hl": 640, 19 | "n_fft": 1024, 20 | "crop_start": 10, 21 | "crop_stop": 320, 22 | "hpf_start": 47, 23 | "hpf_stop": 15, 24 | "res_type": "sinc_medium" 25 | } 26 | }, 27 | "sr": 44100, 28 | "pre_filter_start": 510, 29 | "pre_filter_stop": 512 30 | } 31 | -------------------------------------------------------------------------------- /lib_v5/modelparams/2band_48000.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 768, 3 | "unstable_bins": 7, 4 | "reduction_bins": 705, 5 | "band": { 6 | "1": { 7 | "sr": 6000, 8 | "hl": 66, 9 | "n_fft": 512, 10 | "crop_start": 0, 11 | "crop_stop": 240, 12 | "lpf_start": 60, 13 | "lpf_stop": 240, 14 | "res_type": "sinc_fastest" 15 | }, 16 | "2": { 17 | "sr": 48000, 18 | "hl": 528, 19 | "n_fft": 1536, 20 | "crop_start": 22, 21 | "crop_stop": 505, 22 | "hpf_start": 82, 23 | "hpf_stop": 22, 24 | "res_type": "sinc_medium" 25 | } 26 | }, 27 | "sr": 48000, 28 | "pre_filter_start": 710, 29 | "pre_filter_stop": 731 30 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/3band_44100.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 768, 3 | "unstable_bins": 5, 4 | "reduction_bins": 733, 5 | "band": { 6 | "1": { 7 | "sr": 11025, 8 | "hl": 128, 9 | "n_fft": 768, 10 | "crop_start": 0, 11 | "crop_stop": 278, 12 | "lpf_start": 28, 13 | "lpf_stop": 140, 14 | "res_type": "polyphase" 15 | }, 16 | "2": { 17 | "sr": 22050, 18 | "hl": 256, 19 | "n_fft": 768, 20 | "crop_start": 14, 21 | "crop_stop": 322, 22 | "hpf_start": 70, 23 | "hpf_stop": 14, 24 | "lpf_start": 283, 25 | "lpf_stop": 314, 26 | "res_type": "polyphase" 27 | }, 28 | "3": { 29 | "sr": 44100, 30 | "hl": 512, 31 | "n_fft": 768, 32 | "crop_start": 131, 33 | "crop_stop": 313, 34 | "hpf_start": 154, 35 | "hpf_stop": 141, 36 | "res_type": "sinc_medium" 37 | } 38 | }, 39 | "sr": 44100, 40 | "pre_filter_start": 757, 41 | "pre_filter_stop": 768 42 | } 43 | -------------------------------------------------------------------------------- /lib_v5/modelparams/3band_44100_mid.json: -------------------------------------------------------------------------------- 1 | { 2 | "mid_side": true, 3 | "bins": 768, 4 | "unstable_bins": 5, 5 | "reduction_bins": 733, 6 | "band": { 7 | "1": { 8 | "sr": 11025, 9 | "hl": 128, 10 | "n_fft": 768, 11 | "crop_start": 0, 12 | "crop_stop": 278, 13 | "lpf_start": 28, 14 | "lpf_stop": 140, 15 | "res_type": "polyphase" 16 | }, 17 | "2": { 18 | "sr": 22050, 19 | "hl": 256, 20 | "n_fft": 768, 21 | "crop_start": 14, 22 | "crop_stop": 322, 23 | "hpf_start": 70, 24 | "hpf_stop": 14, 25 | "lpf_start": 283, 26 | "lpf_stop": 314, 27 | "res_type": "polyphase" 28 | }, 29 | "3": { 30 | "sr": 44100, 31 | "hl": 512, 32 | "n_fft": 768, 33 | "crop_start": 131, 34 | "crop_stop": 313, 35 | "hpf_start": 154, 36 | "hpf_stop": 141, 37 | "res_type": "sinc_medium" 38 | } 39 | }, 40 | "sr": 44100, 41 | "pre_filter_start": 757, 42 | "pre_filter_stop": 768 43 | } 44 | -------------------------------------------------------------------------------- /lib_v5/modelparams/3band_44100_msb2.json: -------------------------------------------------------------------------------- 1 | { 2 | "mid_side_b2": true, 3 | "bins": 640, 4 | "unstable_bins": 7, 5 | "reduction_bins": 565, 6 | "band": { 7 | "1": { 8 | "sr": 11025, 9 | "hl": 108, 10 | "n_fft": 1024, 11 | "crop_start": 0, 12 | "crop_stop": 187, 13 | "lpf_start": 92, 14 | "lpf_stop": 186, 15 | "res_type": "polyphase" 16 | }, 17 | "2": { 18 | "sr": 22050, 19 | "hl": 216, 20 | "n_fft": 768, 21 | "crop_start": 0, 22 | "crop_stop": 212, 23 | "hpf_start": 68, 24 | "hpf_stop": 34, 25 | "lpf_start": 174, 26 | "lpf_stop": 209, 27 | "res_type": "polyphase" 28 | }, 29 | "3": { 30 | "sr": 44100, 31 | "hl": 432, 32 | "n_fft": 640, 33 | "crop_start": 66, 34 | "crop_stop": 307, 35 | "hpf_start": 86, 36 | "hpf_stop": 72, 37 | "res_type": "kaiser_fast" 38 | } 39 | }, 40 | "sr": 44100, 41 | "pre_filter_start": 639, 42 | "pre_filter_stop": 640 43 | } 44 | -------------------------------------------------------------------------------- /lib_v5/modelparams/4band_44100.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 768, 3 | "unstable_bins": 7, 4 | "reduction_bins": 668, 5 | "band": { 6 | "1": { 7 | "sr": 11025, 8 | "hl": 128, 9 | "n_fft": 1024, 10 | "crop_start": 0, 11 | "crop_stop": 186, 12 | "lpf_start": 37, 13 | "lpf_stop": 73, 14 | "res_type": "polyphase" 15 | }, 16 | "2": { 17 | "sr": 11025, 18 | "hl": 128, 19 | "n_fft": 512, 20 | "crop_start": 4, 21 | "crop_stop": 185, 22 | "hpf_start": 36, 23 | "hpf_stop": 18, 24 | "lpf_start": 93, 25 | "lpf_stop": 185, 26 | "res_type": "polyphase" 27 | }, 28 | "3": { 29 | "sr": 22050, 30 | "hl": 256, 31 | "n_fft": 512, 32 | "crop_start": 46, 33 | "crop_stop": 186, 34 | "hpf_start": 93, 35 | "hpf_stop": 46, 36 | "lpf_start": 164, 37 | "lpf_stop": 186, 38 | "res_type": "polyphase" 39 | }, 40 | "4": { 41 | "sr": 44100, 42 | "hl": 512, 43 | "n_fft": 768, 44 | "crop_start": 121, 45 | "crop_stop": 382, 46 | "hpf_start": 138, 47 | "hpf_stop": 123, 48 | "res_type": "sinc_medium" 49 | } 50 | }, 51 | "sr": 44100, 52 | "pre_filter_start": 740, 53 | "pre_filter_stop": 768 54 | } 55 | -------------------------------------------------------------------------------- /lib_v5/modelparams/4band_44100_mid.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 768, 3 | "unstable_bins": 7, 4 | "mid_side": true, 5 | "reduction_bins": 668, 6 | "band": { 7 | "1": { 8 | "sr": 11025, 9 | "hl": 128, 10 | "n_fft": 1024, 11 | "crop_start": 0, 12 | "crop_stop": 186, 13 | "lpf_start": 37, 14 | "lpf_stop": 73, 15 | "res_type": "polyphase" 16 | }, 17 | "2": { 18 | "sr": 11025, 19 | "hl": 128, 20 | "n_fft": 512, 21 | "crop_start": 4, 22 | "crop_stop": 185, 23 | "hpf_start": 36, 24 | "hpf_stop": 18, 25 | "lpf_start": 93, 26 | "lpf_stop": 185, 27 | "res_type": "polyphase" 28 | }, 29 | "3": { 30 | "sr": 22050, 31 | "hl": 256, 32 | "n_fft": 512, 33 | "crop_start": 46, 34 | "crop_stop": 186, 35 | "hpf_start": 93, 36 | "hpf_stop": 46, 37 | "lpf_start": 164, 38 | "lpf_stop": 186, 39 | "res_type": "polyphase" 40 | }, 41 | "4": { 42 | "sr": 44100, 43 | "hl": 512, 44 | "n_fft": 768, 45 | "crop_start": 121, 46 | "crop_stop": 382, 47 | "hpf_start": 138, 48 | "hpf_stop": 123, 49 | "res_type": "sinc_medium" 50 | } 51 | }, 52 | "sr": 44100, 53 | "pre_filter_start": 740, 54 | "pre_filter_stop": 768 55 | } 56 | -------------------------------------------------------------------------------- /lib_v5/modelparams/4band_44100_msb.json: -------------------------------------------------------------------------------- 1 | { 2 | "mid_side_b": true, 3 | "bins": 768, 4 | "unstable_bins": 7, 5 | "reduction_bins": 668, 6 | "band": { 7 | "1": { 8 | "sr": 11025, 9 | "hl": 128, 10 | "n_fft": 1024, 11 | "crop_start": 0, 12 | "crop_stop": 186, 13 | "lpf_start": 37, 14 | "lpf_stop": 73, 15 | "res_type": "polyphase" 16 | }, 17 | "2": { 18 | "sr": 11025, 19 | "hl": 128, 20 | "n_fft": 512, 21 | "crop_start": 4, 22 | "crop_stop": 185, 23 | "hpf_start": 36, 24 | "hpf_stop": 18, 25 | "lpf_start": 93, 26 | "lpf_stop": 185, 27 | "res_type": "polyphase" 28 | }, 29 | "3": { 30 | "sr": 22050, 31 | "hl": 256, 32 | "n_fft": 512, 33 | "crop_start": 46, 34 | "crop_stop": 186, 35 | "hpf_start": 93, 36 | "hpf_stop": 46, 37 | "lpf_start": 164, 38 | "lpf_stop": 186, 39 | "res_type": "polyphase" 40 | }, 41 | "4": { 42 | "sr": 44100, 43 | "hl": 512, 44 | "n_fft": 768, 45 | "crop_start": 121, 46 | "crop_stop": 382, 47 | "hpf_start": 138, 48 | "hpf_stop": 123, 49 | "res_type": "sinc_medium" 50 | } 51 | }, 52 | "sr": 44100, 53 | "pre_filter_start": 740, 54 | "pre_filter_stop": 768 55 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/4band_44100_msb2.json: -------------------------------------------------------------------------------- 1 | { 2 | "mid_side_b": true, 3 | "bins": 768, 4 | "unstable_bins": 7, 5 | "reduction_bins": 668, 6 | "band": { 7 | "1": { 8 | "sr": 11025, 9 | "hl": 128, 10 | "n_fft": 1024, 11 | "crop_start": 0, 12 | "crop_stop": 186, 13 | "lpf_start": 37, 14 | "lpf_stop": 73, 15 | "res_type": "polyphase" 16 | }, 17 | "2": { 18 | "sr": 11025, 19 | "hl": 128, 20 | "n_fft": 512, 21 | "crop_start": 4, 22 | "crop_stop": 185, 23 | "hpf_start": 36, 24 | "hpf_stop": 18, 25 | "lpf_start": 93, 26 | "lpf_stop": 185, 27 | "res_type": "polyphase" 28 | }, 29 | "3": { 30 | "sr": 22050, 31 | "hl": 256, 32 | "n_fft": 512, 33 | "crop_start": 46, 34 | "crop_stop": 186, 35 | "hpf_start": 93, 36 | "hpf_stop": 46, 37 | "lpf_start": 164, 38 | "lpf_stop": 186, 39 | "res_type": "polyphase" 40 | }, 41 | "4": { 42 | "sr": 44100, 43 | "hl": 512, 44 | "n_fft": 768, 45 | "crop_start": 121, 46 | "crop_stop": 382, 47 | "hpf_start": 138, 48 | "hpf_stop": 123, 49 | "res_type": "sinc_medium" 50 | } 51 | }, 52 | "sr": 44100, 53 | "pre_filter_start": 740, 54 | "pre_filter_stop": 768 55 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/4band_44100_reverse.json: -------------------------------------------------------------------------------- 1 | { 2 | "reverse": true, 3 | "bins": 768, 4 | "unstable_bins": 7, 5 | "reduction_bins": 668, 6 | "band": { 7 | "1": { 8 | "sr": 11025, 9 | "hl": 128, 10 | "n_fft": 1024, 11 | "crop_start": 0, 12 | "crop_stop": 186, 13 | "lpf_start": 37, 14 | "lpf_stop": 73, 15 | "res_type": "polyphase" 16 | }, 17 | "2": { 18 | "sr": 11025, 19 | "hl": 128, 20 | "n_fft": 512, 21 | "crop_start": 4, 22 | "crop_stop": 185, 23 | "hpf_start": 36, 24 | "hpf_stop": 18, 25 | "lpf_start": 93, 26 | "lpf_stop": 185, 27 | "res_type": "polyphase" 28 | }, 29 | "3": { 30 | "sr": 22050, 31 | "hl": 256, 32 | "n_fft": 512, 33 | "crop_start": 46, 34 | "crop_stop": 186, 35 | "hpf_start": 93, 36 | "hpf_stop": 46, 37 | "lpf_start": 164, 38 | "lpf_stop": 186, 39 | "res_type": "polyphase" 40 | }, 41 | "4": { 42 | "sr": 44100, 43 | "hl": 512, 44 | "n_fft": 768, 45 | "crop_start": 121, 46 | "crop_stop": 382, 47 | "hpf_start": 138, 48 | "hpf_stop": 123, 49 | "res_type": "sinc_medium" 50 | } 51 | }, 52 | "sr": 44100, 53 | "pre_filter_start": 740, 54 | "pre_filter_stop": 768 55 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/4band_44100_sw.json: -------------------------------------------------------------------------------- 1 | { 2 | "stereo_w": true, 3 | "bins": 768, 4 | "unstable_bins": 7, 5 | "reduction_bins": 668, 6 | "band": { 7 | "1": { 8 | "sr": 11025, 9 | "hl": 128, 10 | "n_fft": 1024, 11 | "crop_start": 0, 12 | "crop_stop": 186, 13 | "lpf_start": 37, 14 | "lpf_stop": 73, 15 | "res_type": "polyphase" 16 | }, 17 | "2": { 18 | "sr": 11025, 19 | "hl": 128, 20 | "n_fft": 512, 21 | "crop_start": 4, 22 | "crop_stop": 185, 23 | "hpf_start": 36, 24 | "hpf_stop": 18, 25 | "lpf_start": 93, 26 | "lpf_stop": 185, 27 | "res_type": "polyphase" 28 | }, 29 | "3": { 30 | "sr": 22050, 31 | "hl": 256, 32 | "n_fft": 512, 33 | "crop_start": 46, 34 | "crop_stop": 186, 35 | "hpf_start": 93, 36 | "hpf_stop": 46, 37 | "lpf_start": 164, 38 | "lpf_stop": 186, 39 | "res_type": "polyphase" 40 | }, 41 | "4": { 42 | "sr": 44100, 43 | "hl": 512, 44 | "n_fft": 768, 45 | "crop_start": 121, 46 | "crop_stop": 382, 47 | "hpf_start": 138, 48 | "hpf_stop": 123, 49 | "res_type": "sinc_medium" 50 | } 51 | }, 52 | "sr": 44100, 53 | "pre_filter_start": 740, 54 | "pre_filter_stop": 768 55 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/4band_v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 672, 3 | "unstable_bins": 8, 4 | "reduction_bins": 637, 5 | "band": { 6 | "1": { 7 | "sr": 7350, 8 | "hl": 80, 9 | "n_fft": 640, 10 | "crop_start": 0, 11 | "crop_stop": 85, 12 | "lpf_start": 25, 13 | "lpf_stop": 53, 14 | "res_type": "polyphase" 15 | }, 16 | "2": { 17 | "sr": 7350, 18 | "hl": 80, 19 | "n_fft": 320, 20 | "crop_start": 4, 21 | "crop_stop": 87, 22 | "hpf_start": 25, 23 | "hpf_stop": 12, 24 | "lpf_start": 31, 25 | "lpf_stop": 62, 26 | "res_type": "polyphase" 27 | }, 28 | "3": { 29 | "sr": 14700, 30 | "hl": 160, 31 | "n_fft": 512, 32 | "crop_start": 17, 33 | "crop_stop": 216, 34 | "hpf_start": 48, 35 | "hpf_stop": 24, 36 | "lpf_start": 139, 37 | "lpf_stop": 210, 38 | "res_type": "polyphase" 39 | }, 40 | "4": { 41 | "sr": 44100, 42 | "hl": 480, 43 | "n_fft": 960, 44 | "crop_start": 78, 45 | "crop_stop": 383, 46 | "hpf_start": 130, 47 | "hpf_stop": 86, 48 | "res_type": "kaiser_fast" 49 | } 50 | }, 51 | "sr": 44100, 52 | "pre_filter_start": 668, 53 | "pre_filter_stop": 672 54 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/4band_v2_sn.json: -------------------------------------------------------------------------------- 1 | { 2 | "bins": 672, 3 | "unstable_bins": 8, 4 | "reduction_bins": 637, 5 | "band": { 6 | "1": { 7 | "sr": 7350, 8 | "hl": 80, 9 | "n_fft": 640, 10 | "crop_start": 0, 11 | "crop_stop": 85, 12 | "lpf_start": 25, 13 | "lpf_stop": 53, 14 | "res_type": "polyphase" 15 | }, 16 | "2": { 17 | "sr": 7350, 18 | "hl": 80, 19 | "n_fft": 320, 20 | "crop_start": 4, 21 | "crop_stop": 87, 22 | "hpf_start": 25, 23 | "hpf_stop": 12, 24 | "lpf_start": 31, 25 | "lpf_stop": 62, 26 | "res_type": "polyphase" 27 | }, 28 | "3": { 29 | "sr": 14700, 30 | "hl": 160, 31 | "n_fft": 512, 32 | "crop_start": 17, 33 | "crop_stop": 216, 34 | "hpf_start": 48, 35 | "hpf_stop": 24, 36 | "lpf_start": 139, 37 | "lpf_stop": 210, 38 | "res_type": "polyphase" 39 | }, 40 | "4": { 41 | "sr": 44100, 42 | "hl": 480, 43 | "n_fft": 960, 44 | "crop_start": 78, 45 | "crop_stop": 383, 46 | "hpf_start": 130, 47 | "hpf_stop": 86, 48 | "convert_channels": "stereo_n", 49 | "res_type": "kaiser_fast" 50 | } 51 | }, 52 | "sr": 44100, 53 | "pre_filter_start": 668, 54 | "pre_filter_stop": 672 55 | } -------------------------------------------------------------------------------- /lib_v5/modelparams/Auto: -------------------------------------------------------------------------------- 1 | Auto -------------------------------------------------------------------------------- /lib_v5/modelparams/ensemble.json: -------------------------------------------------------------------------------- 1 | { 2 | "mid_side_b2": true, 3 | "bins": 1280, 4 | "unstable_bins": 7, 5 | "reduction_bins": 565, 6 | "band": { 7 | "1": { 8 | "sr": 11025, 9 | "hl": 108, 10 | "n_fft": 2048, 11 | "crop_start": 0, 12 | "crop_stop": 374, 13 | "lpf_start": 92, 14 | "lpf_stop": 186, 15 | "res_type": "polyphase" 16 | }, 17 | "2": { 18 | "sr": 22050, 19 | "hl": 216, 20 | "n_fft": 1536, 21 | "crop_start": 0, 22 | "crop_stop": 424, 23 | "hpf_start": 68, 24 | "hpf_stop": 34, 25 | "lpf_start": 348, 26 | "lpf_stop": 418, 27 | "res_type": "polyphase" 28 | }, 29 | "3": { 30 | "sr": 44100, 31 | "hl": 432, 32 | "n_fft": 1280, 33 | "crop_start": 132, 34 | "crop_stop": 614, 35 | "hpf_start": 172, 36 | "hpf_stop": 144, 37 | "res_type": "polyphase" 38 | } 39 | }, 40 | "sr": 44100, 41 | "pre_filter_start": 1280, 42 | "pre_filter_stop": 1280 43 | } -------------------------------------------------------------------------------- /lib_v5/nets.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import layers 6 | from lib_v5 import spec_utils 7 | 8 | 9 | class BaseASPPNet(nn.Module): 10 | 11 | def __init__(self, nin, ch, dilations=(4, 8, 16)): 12 | super(BaseASPPNet, self).__init__() 13 | self.enc1 = layers.Encoder(nin, ch, 3, 2, 1) 14 | self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1) 15 | self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1) 16 | self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1) 17 | 18 | self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations) 19 | 20 | self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1) 21 | self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1) 22 | self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1) 23 | self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1) 24 | 25 | def __call__(self, x): 26 | h, e1 = self.enc1(x) 27 | h, e2 = self.enc2(h) 28 | h, e3 = self.enc3(h) 29 | h, e4 = self.enc4(h) 30 | 31 | h = self.aspp(h) 32 | 33 | h = self.dec4(h, e4) 34 | h = self.dec3(h, e3) 35 | h = self.dec2(h, e2) 36 | h = self.dec1(h, e1) 37 | 38 | return h 39 | 40 | 41 | class CascadedASPPNet(nn.Module): 42 | 43 | def __init__(self, n_fft): 44 | super(CascadedASPPNet, self).__init__() 45 | self.stg1_low_band_net = BaseASPPNet(2, 16) 46 | self.stg1_high_band_net = BaseASPPNet(2, 16) 47 | 48 | self.stg2_bridge = layers.Conv2DBNActiv(18, 8, 1, 1, 0) 49 | self.stg2_full_band_net = BaseASPPNet(8, 16) 50 | 51 | self.stg3_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0) 52 | self.stg3_full_band_net = BaseASPPNet(16, 32) 53 | 54 | self.out = nn.Conv2d(32, 2, 1, bias=False) 55 | self.aux1_out = nn.Conv2d(16, 2, 1, bias=False) 56 | self.aux2_out = nn.Conv2d(16, 2, 1, bias=False) 57 | 58 | self.max_bin = n_fft // 2 59 | self.output_bin = n_fft // 2 + 1 60 | 61 | self.offset = 128 62 | 63 | def forward(self, x, aggressiveness=None): 64 | mix = x.detach() 65 | x = x.clone() 66 | 67 | x = x[:, :, :self.max_bin] 68 | 69 | bandw = x.size()[2] // 2 70 | aux1 = torch.cat([ 71 | self.stg1_low_band_net(x[:, :, :bandw]), 72 | self.stg1_high_band_net(x[:, :, bandw:]) 73 | ], dim=2) 74 | 75 | h = torch.cat([x, aux1], dim=1) 76 | aux2 = self.stg2_full_band_net(self.stg2_bridge(h)) 77 | 78 | h = torch.cat([x, aux1, aux2], dim=1) 79 | h = self.stg3_full_band_net(self.stg3_bridge(h)) 80 | 81 | mask = torch.sigmoid(self.out(h)) 82 | mask = F.pad( 83 | input=mask, 84 | pad=(0, 0, 0, self.output_bin - mask.size()[2]), 85 | mode='replicate') 86 | 87 | if self.training: 88 | aux1 = torch.sigmoid(self.aux1_out(aux1)) 89 | aux1 = F.pad( 90 | input=aux1, 91 | pad=(0, 0, 0, self.output_bin - aux1.size()[2]), 92 | mode='replicate') 93 | aux2 = torch.sigmoid(self.aux2_out(aux2)) 94 | aux2 = F.pad( 95 | input=aux2, 96 | pad=(0, 0, 0, self.output_bin - aux2.size()[2]), 97 | mode='replicate') 98 | return mask * mix, aux1 * mix, aux2 * mix 99 | else: 100 | if aggressiveness: 101 | mask[:, :, :aggressiveness['split_bin']] = torch.pow(mask[:, :, :aggressiveness['split_bin']], 1 + aggressiveness['value'] / 3) 102 | mask[:, :, aggressiveness['split_bin']:] = torch.pow(mask[:, :, aggressiveness['split_bin']:], 1 + aggressiveness['value']) 103 | 104 | return mask * mix 105 | 106 | def predict(self, x_mag, aggressiveness=None): 107 | h = self.forward(x_mag, aggressiveness) 108 | 109 | if self.offset > 0: 110 | h = h[:, :, :, self.offset:-self.offset] 111 | assert h.size()[3] > 0 112 | 113 | return h 114 | -------------------------------------------------------------------------------- /lib_v5/nets_123812KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import layers_123821KB as layers 6 | 7 | 8 | class BaseASPPNet(nn.Module): 9 | 10 | def __init__(self, nin, ch, dilations=(4, 8, 16)): 11 | super(BaseASPPNet, self).__init__() 12 | self.enc1 = layers.Encoder(nin, ch, 3, 2, 1) 13 | self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1) 14 | self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1) 15 | self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1) 16 | 17 | self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations) 18 | 19 | self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1) 20 | self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1) 21 | self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1) 22 | self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1) 23 | 24 | def __call__(self, x): 25 | h, e1 = self.enc1(x) 26 | h, e2 = self.enc2(h) 27 | h, e3 = self.enc3(h) 28 | h, e4 = self.enc4(h) 29 | 30 | h = self.aspp(h) 31 | 32 | h = self.dec4(h, e4) 33 | h = self.dec3(h, e3) 34 | h = self.dec2(h, e2) 35 | h = self.dec1(h, e1) 36 | 37 | return h 38 | 39 | 40 | class CascadedASPPNet(nn.Module): 41 | 42 | def __init__(self, n_fft): 43 | super(CascadedASPPNet, self).__init__() 44 | self.stg1_low_band_net = BaseASPPNet(2, 32) 45 | self.stg1_high_band_net = BaseASPPNet(2, 32) 46 | 47 | self.stg2_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0) 48 | self.stg2_full_band_net = BaseASPPNet(16, 32) 49 | 50 | self.stg3_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0) 51 | self.stg3_full_band_net = BaseASPPNet(32, 64) 52 | 53 | self.out = nn.Conv2d(64, 2, 1, bias=False) 54 | self.aux1_out = nn.Conv2d(32, 2, 1, bias=False) 55 | self.aux2_out = nn.Conv2d(32, 2, 1, bias=False) 56 | 57 | self.max_bin = n_fft // 2 58 | self.output_bin = n_fft // 2 + 1 59 | 60 | self.offset = 128 61 | 62 | def forward(self, x, aggressiveness=None): 63 | mix = x.detach() 64 | x = x.clone() 65 | 66 | x = x[:, :, :self.max_bin] 67 | 68 | bandw = x.size()[2] // 2 69 | aux1 = torch.cat([ 70 | self.stg1_low_band_net(x[:, :, :bandw]), 71 | self.stg1_high_band_net(x[:, :, bandw:]) 72 | ], dim=2) 73 | 74 | h = torch.cat([x, aux1], dim=1) 75 | aux2 = self.stg2_full_band_net(self.stg2_bridge(h)) 76 | 77 | h = torch.cat([x, aux1, aux2], dim=1) 78 | h = self.stg3_full_band_net(self.stg3_bridge(h)) 79 | 80 | mask = torch.sigmoid(self.out(h)) 81 | mask = F.pad( 82 | input=mask, 83 | pad=(0, 0, 0, self.output_bin - mask.size()[2]), 84 | mode='replicate') 85 | 86 | if self.training: 87 | aux1 = torch.sigmoid(self.aux1_out(aux1)) 88 | aux1 = F.pad( 89 | input=aux1, 90 | pad=(0, 0, 0, self.output_bin - aux1.size()[2]), 91 | mode='replicate') 92 | aux2 = torch.sigmoid(self.aux2_out(aux2)) 93 | aux2 = F.pad( 94 | input=aux2, 95 | pad=(0, 0, 0, self.output_bin - aux2.size()[2]), 96 | mode='replicate') 97 | return mask * mix, aux1 * mix, aux2 * mix 98 | else: 99 | if aggressiveness: 100 | mask[:, :, :aggressiveness['split_bin']] = torch.pow(mask[:, :, :aggressiveness['split_bin']], 1 + aggressiveness['value'] / 3) 101 | mask[:, :, aggressiveness['split_bin']:] = torch.pow(mask[:, :, aggressiveness['split_bin']:], 1 + aggressiveness['value']) 102 | 103 | return mask * mix 104 | 105 | def predict(self, x_mag, aggressiveness=None): 106 | h = self.forward(x_mag, aggressiveness) 107 | 108 | if self.offset > 0: 109 | h = h[:, :, :, self.offset:-self.offset] 110 | assert h.size()[3] > 0 111 | 112 | return h 113 | -------------------------------------------------------------------------------- /lib_v5/nets_123821KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import layers_123821KB as layers 6 | 7 | 8 | class BaseASPPNet(nn.Module): 9 | 10 | def __init__(self, nin, ch, dilations=(4, 8, 16)): 11 | super(BaseASPPNet, self).__init__() 12 | self.enc1 = layers.Encoder(nin, ch, 3, 2, 1) 13 | self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1) 14 | self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1) 15 | self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1) 16 | 17 | self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations) 18 | 19 | self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1) 20 | self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1) 21 | self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1) 22 | self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1) 23 | 24 | def __call__(self, x): 25 | h, e1 = self.enc1(x) 26 | h, e2 = self.enc2(h) 27 | h, e3 = self.enc3(h) 28 | h, e4 = self.enc4(h) 29 | 30 | h = self.aspp(h) 31 | 32 | h = self.dec4(h, e4) 33 | h = self.dec3(h, e3) 34 | h = self.dec2(h, e2) 35 | h = self.dec1(h, e1) 36 | 37 | return h 38 | 39 | 40 | class CascadedASPPNet(nn.Module): 41 | 42 | def __init__(self, n_fft): 43 | super(CascadedASPPNet, self).__init__() 44 | self.stg1_low_band_net = BaseASPPNet(2, 32) 45 | self.stg1_high_band_net = BaseASPPNet(2, 32) 46 | 47 | self.stg2_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0) 48 | self.stg2_full_band_net = BaseASPPNet(16, 32) 49 | 50 | self.stg3_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0) 51 | self.stg3_full_band_net = BaseASPPNet(32, 64) 52 | 53 | self.out = nn.Conv2d(64, 2, 1, bias=False) 54 | self.aux1_out = nn.Conv2d(32, 2, 1, bias=False) 55 | self.aux2_out = nn.Conv2d(32, 2, 1, bias=False) 56 | 57 | self.max_bin = n_fft // 2 58 | self.output_bin = n_fft // 2 + 1 59 | 60 | self.offset = 128 61 | 62 | def forward(self, x, aggressiveness=None): 63 | mix = x.detach() 64 | x = x.clone() 65 | 66 | x = x[:, :, :self.max_bin] 67 | 68 | bandw = x.size()[2] // 2 69 | aux1 = torch.cat([ 70 | self.stg1_low_band_net(x[:, :, :bandw]), 71 | self.stg1_high_band_net(x[:, :, bandw:]) 72 | ], dim=2) 73 | 74 | h = torch.cat([x, aux1], dim=1) 75 | aux2 = self.stg2_full_band_net(self.stg2_bridge(h)) 76 | 77 | h = torch.cat([x, aux1, aux2], dim=1) 78 | h = self.stg3_full_band_net(self.stg3_bridge(h)) 79 | 80 | mask = torch.sigmoid(self.out(h)) 81 | mask = F.pad( 82 | input=mask, 83 | pad=(0, 0, 0, self.output_bin - mask.size()[2]), 84 | mode='replicate') 85 | 86 | if self.training: 87 | aux1 = torch.sigmoid(self.aux1_out(aux1)) 88 | aux1 = F.pad( 89 | input=aux1, 90 | pad=(0, 0, 0, self.output_bin - aux1.size()[2]), 91 | mode='replicate') 92 | aux2 = torch.sigmoid(self.aux2_out(aux2)) 93 | aux2 = F.pad( 94 | input=aux2, 95 | pad=(0, 0, 0, self.output_bin - aux2.size()[2]), 96 | mode='replicate') 97 | return mask * mix, aux1 * mix, aux2 * mix 98 | else: 99 | if aggressiveness: 100 | mask[:, :, :aggressiveness['split_bin']] = torch.pow(mask[:, :, :aggressiveness['split_bin']], 1 + aggressiveness['value'] / 3) 101 | mask[:, :, aggressiveness['split_bin']:] = torch.pow(mask[:, :, aggressiveness['split_bin']:], 1 + aggressiveness['value']) 102 | 103 | return mask * mix 104 | 105 | def predict(self, x_mag, aggressiveness=None): 106 | h = self.forward(x_mag, aggressiveness) 107 | 108 | if self.offset > 0: 109 | h = h[:, :, :, self.offset:-self.offset] 110 | assert h.size()[3] > 0 111 | 112 | return h 113 | -------------------------------------------------------------------------------- /lib_v5/nets_129605KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import layers_129605KB as layers 6 | 7 | 8 | class BaseASPPNet(nn.Module): 9 | 10 | def __init__(self, nin, ch, dilations=(4, 8, 16, 32)): 11 | super(BaseASPPNet, self).__init__() 12 | self.enc1 = layers.Encoder(nin, ch, 3, 2, 1) 13 | self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1) 14 | self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1) 15 | self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1) 16 | self.enc5 = layers.Encoder(ch * 8, ch * 16, 3, 2, 1) 17 | 18 | self.aspp = layers.ASPPModule(ch * 16, ch * 32, dilations) 19 | 20 | self.dec5 = layers.Decoder(ch * (16 + 32), ch * 16, 3, 1, 1) 21 | self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1) 22 | self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1) 23 | self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1) 24 | self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1) 25 | 26 | def __call__(self, x): 27 | h, e1 = self.enc1(x) 28 | h, e2 = self.enc2(h) 29 | h, e3 = self.enc3(h) 30 | h, e4 = self.enc4(h) 31 | h, e5 = self.enc5(h) 32 | 33 | h = self.aspp(h) 34 | 35 | h = self.dec5(h, e5) 36 | h = self.dec4(h, e4) 37 | h = self.dec3(h, e3) 38 | h = self.dec2(h, e2) 39 | h = self.dec1(h, e1) 40 | 41 | return h 42 | 43 | 44 | class CascadedASPPNet(nn.Module): 45 | 46 | def __init__(self, n_fft): 47 | super(CascadedASPPNet, self).__init__() 48 | self.stg1_low_band_net = BaseASPPNet(2, 16) 49 | self.stg1_high_band_net = BaseASPPNet(2, 16) 50 | 51 | self.stg2_bridge = layers.Conv2DBNActiv(18, 8, 1, 1, 0) 52 | self.stg2_full_band_net = BaseASPPNet(8, 16) 53 | 54 | self.stg3_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0) 55 | self.stg3_full_band_net = BaseASPPNet(16, 32) 56 | 57 | self.out = nn.Conv2d(32, 2, 1, bias=False) 58 | self.aux1_out = nn.Conv2d(16, 2, 1, bias=False) 59 | self.aux2_out = nn.Conv2d(16, 2, 1, bias=False) 60 | 61 | self.max_bin = n_fft // 2 62 | self.output_bin = n_fft // 2 + 1 63 | 64 | self.offset = 128 65 | 66 | def forward(self, x, aggressiveness=None): 67 | mix = x.detach() 68 | x = x.clone() 69 | 70 | x = x[:, :, :self.max_bin] 71 | 72 | bandw = x.size()[2] // 2 73 | aux1 = torch.cat([ 74 | self.stg1_low_band_net(x[:, :, :bandw]), 75 | self.stg1_high_band_net(x[:, :, bandw:]) 76 | ], dim=2) 77 | 78 | h = torch.cat([x, aux1], dim=1) 79 | aux2 = self.stg2_full_band_net(self.stg2_bridge(h)) 80 | 81 | h = torch.cat([x, aux1, aux2], dim=1) 82 | h = self.stg3_full_band_net(self.stg3_bridge(h)) 83 | 84 | mask = torch.sigmoid(self.out(h)) 85 | mask = F.pad( 86 | input=mask, 87 | pad=(0, 0, 0, self.output_bin - mask.size()[2]), 88 | mode='replicate') 89 | 90 | if self.training: 91 | aux1 = torch.sigmoid(self.aux1_out(aux1)) 92 | aux1 = F.pad( 93 | input=aux1, 94 | pad=(0, 0, 0, self.output_bin - aux1.size()[2]), 95 | mode='replicate') 96 | aux2 = torch.sigmoid(self.aux2_out(aux2)) 97 | aux2 = F.pad( 98 | input=aux2, 99 | pad=(0, 0, 0, self.output_bin - aux2.size()[2]), 100 | mode='replicate') 101 | return mask * mix, aux1 * mix, aux2 * mix 102 | else: 103 | if aggressiveness: 104 | mask[:, :, :aggressiveness['split_bin']] = torch.pow(mask[:, :, :aggressiveness['split_bin']], 1 + aggressiveness['value'] / 3) 105 | mask[:, :, aggressiveness['split_bin']:] = torch.pow(mask[:, :, aggressiveness['split_bin']:], 1 + aggressiveness['value']) 106 | 107 | return mask * mix 108 | 109 | def predict(self, x_mag, aggressiveness=None): 110 | h = self.forward(x_mag, aggressiveness) 111 | 112 | if self.offset > 0: 113 | h = h[:, :, :, self.offset:-self.offset] 114 | assert h.size()[3] > 0 115 | 116 | return h 117 | -------------------------------------------------------------------------------- /lib_v5/nets_33966KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | 5 | from lib_v5 import layers_33966KB as layers 6 | 7 | 8 | class BaseASPPNet(nn.Module): 9 | 10 | def __init__(self, nin, ch, dilations=(4, 8, 16, 32)): 11 | super(BaseASPPNet, self).__init__() 12 | self.enc1 = layers.Encoder(nin, ch, 3, 2, 1) 13 | self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1) 14 | self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1) 15 | self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1) 16 | 17 | self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations) 18 | 19 | self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1) 20 | self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1) 21 | self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1) 22 | self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1) 23 | 24 | def __call__(self, x): 25 | h, e1 = self.enc1(x) 26 | h, e2 = self.enc2(h) 27 | h, e3 = self.enc3(h) 28 | h, e4 = self.enc4(h) 29 | 30 | h = self.aspp(h) 31 | 32 | h = self.dec4(h, e4) 33 | h = self.dec3(h, e3) 34 | h = self.dec2(h, e2) 35 | h = self.dec1(h, e1) 36 | 37 | return h 38 | 39 | 40 | class CascadedASPPNet(nn.Module): 41 | 42 | def __init__(self, n_fft): 43 | super(CascadedASPPNet, self).__init__() 44 | self.stg1_low_band_net = BaseASPPNet(2, 16) 45 | self.stg1_high_band_net = BaseASPPNet(2, 16) 46 | 47 | self.stg2_bridge = layers.Conv2DBNActiv(18, 8, 1, 1, 0) 48 | self.stg2_full_band_net = BaseASPPNet(8, 16) 49 | 50 | self.stg3_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0) 51 | self.stg3_full_band_net = BaseASPPNet(16, 32) 52 | 53 | self.out = nn.Conv2d(32, 2, 1, bias=False) 54 | self.aux1_out = nn.Conv2d(16, 2, 1, bias=False) 55 | self.aux2_out = nn.Conv2d(16, 2, 1, bias=False) 56 | 57 | self.max_bin = n_fft // 2 58 | self.output_bin = n_fft // 2 + 1 59 | 60 | self.offset = 128 61 | 62 | def forward(self, x, aggressiveness=None): 63 | mix = x.detach() 64 | x = x.clone() 65 | 66 | x = x[:, :, :self.max_bin] 67 | 68 | bandw = x.size()[2] // 2 69 | aux1 = torch.cat([ 70 | self.stg1_low_band_net(x[:, :, :bandw]), 71 | self.stg1_high_band_net(x[:, :, bandw:]) 72 | ], dim=2) 73 | 74 | h = torch.cat([x, aux1], dim=1) 75 | aux2 = self.stg2_full_band_net(self.stg2_bridge(h)) 76 | 77 | h = torch.cat([x, aux1, aux2], dim=1) 78 | h = self.stg3_full_band_net(self.stg3_bridge(h)) 79 | 80 | mask = torch.sigmoid(self.out(h)) 81 | mask = F.pad( 82 | input=mask, 83 | pad=(0, 0, 0, self.output_bin - mask.size()[2]), 84 | mode='replicate') 85 | 86 | if self.training: 87 | aux1 = torch.sigmoid(self.aux1_out(aux1)) 88 | aux1 = F.pad( 89 | input=aux1, 90 | pad=(0, 0, 0, self.output_bin - aux1.size()[2]), 91 | mode='replicate') 92 | aux2 = torch.sigmoid(self.aux2_out(aux2)) 93 | aux2 = F.pad( 94 | input=aux2, 95 | pad=(0, 0, 0, self.output_bin - aux2.size()[2]), 96 | mode='replicate') 97 | return mask * mix, aux1 * mix, aux2 * mix 98 | else: 99 | if aggressiveness: 100 | mask[:, :, :aggressiveness['split_bin']] = torch.pow(mask[:, :, :aggressiveness['split_bin']], 1 + aggressiveness['value'] / 3) 101 | mask[:, :, aggressiveness['split_bin']:] = torch.pow(mask[:, :, aggressiveness['split_bin']:], 1 + aggressiveness['value']) 102 | 103 | return mask * mix 104 | 105 | def predict(self, x_mag, aggressiveness=None): 106 | h = self.forward(x_mag, aggressiveness) 107 | 108 | if self.offset > 0: 109 | h = h[:, :, :, self.offset:-self.offset] 110 | assert h.size()[3] > 0 111 | 112 | return h 113 | -------------------------------------------------------------------------------- /lib_v5/nets_537227KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import numpy as np 3 | from torch import nn 4 | import torch.nn.functional as F 5 | 6 | from lib_v5 import layers_537238KB as layers 7 | 8 | 9 | class BaseASPPNet(nn.Module): 10 | 11 | def __init__(self, nin, ch, dilations=(4, 8, 16)): 12 | super(BaseASPPNet, self).__init__() 13 | self.enc1 = layers.Encoder(nin, ch, 3, 2, 1) 14 | self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1) 15 | self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1) 16 | self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1) 17 | 18 | self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations) 19 | 20 | self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1) 21 | self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1) 22 | self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1) 23 | self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1) 24 | 25 | def __call__(self, x): 26 | h, e1 = self.enc1(x) 27 | h, e2 = self.enc2(h) 28 | h, e3 = self.enc3(h) 29 | h, e4 = self.enc4(h) 30 | 31 | h = self.aspp(h) 32 | 33 | h = self.dec4(h, e4) 34 | h = self.dec3(h, e3) 35 | h = self.dec2(h, e2) 36 | h = self.dec1(h, e1) 37 | 38 | return h 39 | 40 | 41 | class CascadedASPPNet(nn.Module): 42 | 43 | def __init__(self, n_fft): 44 | super(CascadedASPPNet, self).__init__() 45 | self.stg1_low_band_net = BaseASPPNet(2, 64) 46 | self.stg1_high_band_net = BaseASPPNet(2, 64) 47 | 48 | self.stg2_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0) 49 | self.stg2_full_band_net = BaseASPPNet(32, 64) 50 | 51 | self.stg3_bridge = layers.Conv2DBNActiv(130, 64, 1, 1, 0) 52 | self.stg3_full_band_net = BaseASPPNet(64, 128) 53 | 54 | self.out = nn.Conv2d(128, 2, 1, bias=False) 55 | self.aux1_out = nn.Conv2d(64, 2, 1, bias=False) 56 | self.aux2_out = nn.Conv2d(64, 2, 1, bias=False) 57 | 58 | self.max_bin = n_fft // 2 59 | self.output_bin = n_fft // 2 + 1 60 | 61 | self.offset = 128 62 | 63 | def forward(self, x, aggressiveness=None): 64 | mix = x.detach() 65 | x = x.clone() 66 | 67 | x = x[:, :, :self.max_bin] 68 | 69 | bandw = x.size()[2] // 2 70 | aux1 = torch.cat([ 71 | self.stg1_low_band_net(x[:, :, :bandw]), 72 | self.stg1_high_band_net(x[:, :, bandw:]) 73 | ], dim=2) 74 | 75 | h = torch.cat([x, aux1], dim=1) 76 | aux2 = self.stg2_full_band_net(self.stg2_bridge(h)) 77 | 78 | h = torch.cat([x, aux1, aux2], dim=1) 79 | h = self.stg3_full_band_net(self.stg3_bridge(h)) 80 | 81 | mask = torch.sigmoid(self.out(h)) 82 | mask = F.pad( 83 | input=mask, 84 | pad=(0, 0, 0, self.output_bin - mask.size()[2]), 85 | mode='replicate') 86 | 87 | if self.training: 88 | aux1 = torch.sigmoid(self.aux1_out(aux1)) 89 | aux1 = F.pad( 90 | input=aux1, 91 | pad=(0, 0, 0, self.output_bin - aux1.size()[2]), 92 | mode='replicate') 93 | aux2 = torch.sigmoid(self.aux2_out(aux2)) 94 | aux2 = F.pad( 95 | input=aux2, 96 | pad=(0, 0, 0, self.output_bin - aux2.size()[2]), 97 | mode='replicate') 98 | return mask * mix, aux1 * mix, aux2 * mix 99 | else: 100 | if aggressiveness: 101 | mask[:, :, :aggressiveness['split_bin']] = torch.pow(mask[:, :, :aggressiveness['split_bin']], 1 + aggressiveness['value'] / 3) 102 | mask[:, :, aggressiveness['split_bin']:] = torch.pow(mask[:, :, aggressiveness['split_bin']:], 1 + aggressiveness['value']) 103 | 104 | return mask * mix 105 | 106 | def predict(self, x_mag, aggressiveness=None): 107 | h = self.forward(x_mag, aggressiveness) 108 | 109 | if self.offset > 0: 110 | h = h[:, :, :, self.offset:-self.offset] 111 | assert h.size()[3] > 0 112 | 113 | return h 114 | -------------------------------------------------------------------------------- /lib_v5/nets_537238KB.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import numpy as np 3 | from torch import nn 4 | import torch.nn.functional as F 5 | 6 | from lib_v5 import layers_537238KB as layers 7 | 8 | 9 | class BaseASPPNet(nn.Module): 10 | 11 | def __init__(self, nin, ch, dilations=(4, 8, 16)): 12 | super(BaseASPPNet, self).__init__() 13 | self.enc1 = layers.Encoder(nin, ch, 3, 2, 1) 14 | self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1) 15 | self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1) 16 | self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1) 17 | 18 | self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations) 19 | 20 | self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1) 21 | self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1) 22 | self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1) 23 | self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1) 24 | 25 | def __call__(self, x): 26 | h, e1 = self.enc1(x) 27 | h, e2 = self.enc2(h) 28 | h, e3 = self.enc3(h) 29 | h, e4 = self.enc4(h) 30 | 31 | h = self.aspp(h) 32 | 33 | h = self.dec4(h, e4) 34 | h = self.dec3(h, e3) 35 | h = self.dec2(h, e2) 36 | h = self.dec1(h, e1) 37 | 38 | return h 39 | 40 | 41 | class CascadedASPPNet(nn.Module): 42 | 43 | def __init__(self, n_fft): 44 | super(CascadedASPPNet, self).__init__() 45 | self.stg1_low_band_net = BaseASPPNet(2, 64) 46 | self.stg1_high_band_net = BaseASPPNet(2, 64) 47 | 48 | self.stg2_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0) 49 | self.stg2_full_band_net = BaseASPPNet(32, 64) 50 | 51 | self.stg3_bridge = layers.Conv2DBNActiv(130, 64, 1, 1, 0) 52 | self.stg3_full_band_net = BaseASPPNet(64, 128) 53 | 54 | self.out = nn.Conv2d(128, 2, 1, bias=False) 55 | self.aux1_out = nn.Conv2d(64, 2, 1, bias=False) 56 | self.aux2_out = nn.Conv2d(64, 2, 1, bias=False) 57 | 58 | self.max_bin = n_fft // 2 59 | self.output_bin = n_fft // 2 + 1 60 | 61 | self.offset = 128 62 | 63 | def forward(self, x, aggressiveness=None): 64 | mix = x.detach() 65 | x = x.clone() 66 | 67 | x = x[:, :, :self.max_bin] 68 | 69 | bandw = x.size()[2] // 2 70 | aux1 = torch.cat([ 71 | self.stg1_low_band_net(x[:, :, :bandw]), 72 | self.stg1_high_band_net(x[:, :, bandw:]) 73 | ], dim=2) 74 | 75 | h = torch.cat([x, aux1], dim=1) 76 | aux2 = self.stg2_full_band_net(self.stg2_bridge(h)) 77 | 78 | h = torch.cat([x, aux1, aux2], dim=1) 79 | h = self.stg3_full_band_net(self.stg3_bridge(h)) 80 | 81 | mask = torch.sigmoid(self.out(h)) 82 | mask = F.pad( 83 | input=mask, 84 | pad=(0, 0, 0, self.output_bin - mask.size()[2]), 85 | mode='replicate') 86 | 87 | if self.training: 88 | aux1 = torch.sigmoid(self.aux1_out(aux1)) 89 | aux1 = F.pad( 90 | input=aux1, 91 | pad=(0, 0, 0, self.output_bin - aux1.size()[2]), 92 | mode='replicate') 93 | aux2 = torch.sigmoid(self.aux2_out(aux2)) 94 | aux2 = F.pad( 95 | input=aux2, 96 | pad=(0, 0, 0, self.output_bin - aux2.size()[2]), 97 | mode='replicate') 98 | return mask * mix, aux1 * mix, aux2 * mix 99 | else: 100 | if aggressiveness: 101 | mask[:, :, :aggressiveness['split_bin']] = torch.pow(mask[:, :, :aggressiveness['split_bin']], 1 + aggressiveness['value'] / 3) 102 | mask[:, :, aggressiveness['split_bin']:] = torch.pow(mask[:, :, aggressiveness['split_bin']:], 1 + aggressiveness['value']) 103 | 104 | return mask * mix 105 | 106 | def predict(self, x_mag, aggressiveness=None): 107 | h = self.forward(x_mag, aggressiveness) 108 | 109 | if self.offset > 0: 110 | h = h[:, :, :, self.offset:-self.offset] 111 | assert h.size()[3] > 0 112 | 113 | return h 114 | -------------------------------------------------------------------------------- /lib_v5/sox/Sox goes here.txt: -------------------------------------------------------------------------------- 1 | Sox goes here -------------------------------------------------------------------------------- /lib_v5/sv_ttk/__init__.py: -------------------------------------------------------------------------------- 1 | from pathlib import Path 2 | 3 | inited = False 4 | root = None 5 | 6 | 7 | def init(func): 8 | def wrapper(*args, **kwargs): 9 | global inited 10 | global root 11 | 12 | if not inited: 13 | from tkinter import _default_root 14 | 15 | path = (Path(__file__).parent / "sun-valley.tcl").resolve() 16 | 17 | try: 18 | _default_root.tk.call("source", str(path)) 19 | except AttributeError: 20 | raise RuntimeError( 21 | "can't set theme. " 22 | "Tk is not initialized. " 23 | "Please first create a tkinter.Tk instance, then set the theme." 24 | ) from None 25 | else: 26 | inited = True 27 | root = _default_root 28 | 29 | return func(*args, **kwargs) 30 | 31 | return wrapper 32 | 33 | 34 | @init 35 | def set_theme(theme): 36 | if theme not in {"dark", "light"}: 37 | raise RuntimeError(f"not a valid theme name: {theme}") 38 | 39 | root.tk.call("set_theme", theme) 40 | 41 | 42 | @init 43 | def get_theme(): 44 | theme = root.tk.call("ttk::style", "theme", "use") 45 | 46 | try: 47 | return {"sun-valley-dark": "dark", "sun-valley-light": "light"}[theme] 48 | except KeyError: 49 | return theme 50 | 51 | 52 | @init 53 | def toggle_theme(): 54 | if get_theme() == "dark": 55 | use_light_theme() 56 | else: 57 | use_dark_theme() 58 | 59 | 60 | use_dark_theme = lambda: set_theme("dark") 61 | use_light_theme = lambda: set_theme("light") 62 | -------------------------------------------------------------------------------- /lib_v5/sv_ttk/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /lib_v5/sv_ttk/__pycache__/__init__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/__pycache__/__init__.cpython-39.pyc -------------------------------------------------------------------------------- /lib_v5/sv_ttk/sun-valley.tcl: -------------------------------------------------------------------------------- 1 | source [file join [file dirname [info script]] theme dark.tcl] 2 | 3 | option add *tearOff 0 4 | 5 | proc set_theme {mode} { 6 | if {$mode == "dark"} { 7 | ttk::style theme use "sun-valley-dark" 8 | 9 | array set colors { 10 | -fg "#0000FF" 11 | -bg "#0e0e0f" 12 | -disabledfg "#0000FF" 13 | -selectfg "#0000FF" 14 | -selectbg "#003b50" 15 | } 16 | 17 | ttk::style configure . \ 18 | -background $colors(-bg) \ 19 | -foreground $colors(-fg) \ 20 | -troughcolor $colors(-bg) \ 21 | -focuscolor $colors(-selectbg) \ 22 | -selectbackground $colors(-selectbg) \ 23 | -selectforeground $colors(-selectfg) \ 24 | -insertwidth 0 \ 25 | -insertcolor $colors(-fg) \ 26 | -fieldbackground $colors(-selectbg) \ 27 | -font {"Century Gothic" 10} \ 28 | -borderwidth 0 \ 29 | -relief flat 30 | 31 | tk_setPalette \ 32 | background [ttk::style lookup . -background] \ 33 | foreground [ttk::style lookup . -foreground] \ 34 | highlightColor [ttk::style lookup . -focuscolor] \ 35 | selectBackground [ttk::style lookup . -selectbackground] \ 36 | selectForeground [ttk::style lookup . -selectforeground] \ 37 | activeBackground [ttk::style lookup . -selectbackground] \ 38 | activeForeground [ttk::style lookup . -selectforeground] 39 | 40 | ttk::style map . -foreground [list disabled $colors(-disabledfg)] 41 | 42 | option add *font [ttk::style lookup . -font] 43 | option add *Menu.selectcolor $colors(-fg) 44 | option add *Menu.background #0e0e0f 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/arrow-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/arrow-down.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/arrow-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/arrow-right.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/arrow-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/arrow-up.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-accent-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-accent-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-accent-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-accent-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-accent-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-accent-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-accent-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-accent-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-close-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-close-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-close-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-rest_alternative!!.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-rest_alternative!!.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-titlebar-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-titlebar-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/button-titlebar-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/button-titlebar-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/card.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-tri-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-tri-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-tri-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-tri-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-tri-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-tri-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-tri-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-tri-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-unsel-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-unsel-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-unsel-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-unsel-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-unsel-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-unsel-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/check-unsel-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/check-unsel-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/empty.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/entry-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/entry-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/entry-focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/entry-focus.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/entry-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/entry-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/entry-invalid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/entry-invalid.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/entry-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/entry-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/notebook-border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/notebook-border.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/notebook.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/progress-pbar-hor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/progress-pbar-hor.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/progress-pbar-vert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/progress-pbar-vert.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/progress-trough-hor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/progress-trough-hor.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/progress-trough-vert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/progress-trough-vert.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/radio-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/radio-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/radio-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/radio-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/radio-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/radio-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/radio-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/radio-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/radio-unsel-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/radio-unsel-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/radio-unsel-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/radio-unsel-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/radio-unsel-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/radio-unsel-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/radio-unsel-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/radio-unsel-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scale-thumb-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scale-thumb-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scale-thumb-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scale-thumb-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scale-thumb-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scale-thumb-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scale-thumb-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scale-thumb-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scale-trough-hor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scale-trough-hor.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scale-trough-vert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scale-trough-vert.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scroll-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scroll-down.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scroll-hor-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scroll-hor-thumb.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scroll-hor-trough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scroll-hor-trough.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scroll-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scroll-left.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scroll-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scroll-right.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scroll-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scroll-up.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scroll-vert-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scroll-vert-thumb.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/scroll-vert-trough.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/scroll-vert-trough.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/separator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/separator.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/sizegrip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/sizegrip.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/switch-off-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/switch-off-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/switch-off-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/switch-off-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/switch-off-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/switch-off-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/switch-off-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/switch-off-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/switch-on-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/switch-on-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/switch-on-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/switch-on-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/switch-on-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/switch-on-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/switch-on-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/switch-on-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/tab-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/tab-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/tab-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/tab-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/tab-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/tab-selected.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/treeheading-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/treeheading-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/treeheading-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/treeheading-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/dark/treeheading-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/dark/treeheading-rest.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/box-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/box-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/box-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/box-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/box-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/box-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/box-invalid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/box-invalid.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/button-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/card.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/check-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/check-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/check-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/check-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/check-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/check-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/check-tri-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/check-tri-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/check-tri-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/check-tri-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/check-tri-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/check-tri-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/circle-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/circle-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/circle-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/circle-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/circle-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/circle-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/combo-button-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/combo-button-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/combo-button-focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/combo-button-focus.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/combo-button-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/combo-button-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/down-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/down-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/down.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/empty.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/hor-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/hor-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/hor-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/hor-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/hor-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/hor-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/notebook.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/off-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/off-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/off-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/off-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/on-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/on-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/on-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/on-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/on-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/on-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/outline-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/outline-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/outline-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/outline-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/radio-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/radio-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/radio-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/radio-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/radio-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/radio-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/radio-tri-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/radio-tri-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/radio-tri-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/radio-tri-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/radio-tri-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/radio-tri-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/rect-accent-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/rect-accent-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/rect-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/rect-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/rect-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/rect-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/rect-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/rect-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/right.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/scale-hor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/scale-hor.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/scale-vert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/scale-vert.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/separator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/separator.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/size.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tab-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tab-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tab-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tab-disabled.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tab-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tab-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tick-hor-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tick-hor-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tick-hor-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tick-hor-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tick-hor-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tick-hor-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tick-vert-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tick-vert-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tick-vert-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tick-vert-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tick-vert-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tick-vert-hover.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tree-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tree-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/tree-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/tree-pressed.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/up-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/up-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/up.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/vert-accent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/vert-accent.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/vert-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/vert-basic.png -------------------------------------------------------------------------------- /lib_v5/sv_ttk/theme/light/vert-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/lib_v5/sv_ttk/theme/light/vert-hover.png -------------------------------------------------------------------------------- /main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/main.png -------------------------------------------------------------------------------- /models.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch._C import has_mkl 3 | import torch.nn as nn 4 | import numpy as np 5 | import librosa 6 | 7 | dim_c = 4 8 | model_path = 'model' 9 | 10 | class Conv_TDF_net_trim(nn.Module): 11 | def __init__(self, device, n_fft_scale, dim_f, load, model_name, target_name, 12 | L, dim_t, hop=1024): 13 | 14 | super(Conv_TDF_net_trim, self).__init__() 15 | 16 | self.dim_f, self.dim_t = dim_f, 2**dim_t 17 | self.n_fft = n_fft_scale 18 | self.hop = hop 19 | self.n_bins = self.n_fft//2+1 20 | self.chunk_size = hop * (self.dim_t-1) 21 | self.window = torch.hann_window(window_length=self.n_fft, periodic=False).to(device) 22 | self.target_name = target_name 23 | #print(n_fft_scale) 24 | out_c = dim_c*4 if target_name=='*' else dim_c 25 | self.freq_pad = torch.zeros([1, out_c, self.n_bins-self.dim_f, self.dim_t]).to(device) 26 | 27 | def stft(self, x): 28 | x = x.reshape([-1, self.chunk_size]) 29 | x = torch.stft(x, n_fft=self.n_fft, hop_length=self.hop, window=self.window, center=True) 30 | x = x.permute([0,3,1,2]) 31 | x = x.reshape([-1,2,2,self.n_bins,self.dim_t]).reshape([-1,dim_c,self.n_bins,self.dim_t]) 32 | return x[:,:,:self.dim_f] 33 | 34 | def istft(self, x, freq_pad=None): 35 | freq_pad = self.freq_pad.repeat([x.shape[0],1,1,1]) if freq_pad is None else freq_pad 36 | x = torch.cat([x, freq_pad], -2) 37 | c = 4*2 if self.target_name=='*' else 2 38 | x = x.reshape([-1,c,2,self.n_bins,self.dim_t]).reshape([-1,2,self.n_bins,self.dim_t]) 39 | x = x.permute([0,2,3,1]) 40 | x = torch.istft(x, n_fft=self.n_fft, hop_length=self.hop, window=self.window, center=True) 41 | return x.reshape([-1,c,self.chunk_size]) 42 | 43 | def stft(wave, nfft, hl): 44 | wave_left = np.asfortranarray(wave[0]) 45 | wave_right = np.asfortranarray(wave[1]) 46 | spec_left = librosa.stft(wave_left, nfft, hop_length=hl) 47 | spec_right = librosa.stft(wave_right, nfft, hop_length=hl) 48 | spec = np.asfortranarray([spec_left, spec_right]) 49 | 50 | return spec 51 | 52 | def istft(spec, hl): 53 | spec_left = np.asfortranarray(spec[0]) 54 | spec_right = np.asfortranarray(spec[1]) 55 | wave_left = librosa.istft(spec_left, hop_length=hl) 56 | wave_right = librosa.istft(spec_right, hop_length=hl) 57 | wave = np.asfortranarray([wave_left, wave_right]) 58 | 59 | return wave 60 | 61 | def spec_effects(wave, algorithm='Default', value=None): 62 | doubleout = spec = [stft(wave[0],2048,1024),stft(wave[1],2048,1024)] 63 | if algorithm == 'Min_Mag': 64 | doubleout 65 | v_spec_m = np.where(np.abs(spec[1]) <= np.abs(spec[0]), spec[1], spec[0]) 66 | wave = istft(v_spec_m,1024) 67 | elif algorithm == 'Max_Mag': 68 | doubleout 69 | v_spec_m = np.where(np.abs(spec[1]) >= np.abs(spec[0]), spec[1], spec[0]) 70 | wave = istft(v_spec_m,1024) 71 | elif algorithm == 'Default': 72 | doubleout 73 | #wave = [istft(spec[0],1024),istft(spec[1],1024)] 74 | wave = (wave[1] * value) + (wave[0] * (1-value)) 75 | elif algorithm == 'Invert_p': 76 | doubleout 77 | X_mag = np.abs(spec[0]) 78 | y_mag = np.abs(spec[1]) 79 | max_mag = np.where(X_mag >= y_mag, X_mag, y_mag) 80 | v_spec = spec[1] - max_mag * np.exp(1.j * np.angle(spec[0])) 81 | wave = istft(v_spec,1024) 82 | return wave 83 | 84 | 85 | def get_models(name, device, n_fft_scale, dim_f, load=True, stems='bdov'): 86 | 87 | if name=='tdf_extra': 88 | models = [] 89 | if 'b' in stems: 90 | models.append( 91 | Conv_TDF_net_trim( 92 | device=device, load=load, n_fft_scale=n_fft_scale, 93 | model_name='Conv-TDF', target_name='bass', 94 | L=11, dim_f=dim_f, dim_t=8 95 | ) 96 | ) 97 | if 'd' in stems: 98 | models.append( 99 | Conv_TDF_net_trim( 100 | device=device, load=load, n_fft_scale=n_fft_scale, 101 | model_name='Conv-TDF', target_name='drums', 102 | L=9, dim_f=dim_f, dim_t=7 103 | ) 104 | ) 105 | if 'o' in stems: 106 | models.append( 107 | Conv_TDF_net_trim( 108 | device=device, load=load, n_fft_scale=n_fft_scale, 109 | model_name='Conv-TDF', target_name='other', 110 | L=11, dim_f=dim_f, dim_t=8 111 | ) 112 | ) 113 | if 'v' in stems: 114 | models.append( 115 | Conv_TDF_net_trim( 116 | device=device, load=load, n_fft_scale=n_fft_scale, 117 | model_name='Conv-TDF', target_name='vocals', 118 | L=11, dim_f=dim_f, dim_t=8 119 | ) 120 | ) 121 | 122 | return models 123 | 124 | else: 125 | print('Model undefined') 126 | return None 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /models/Demucs_Models/demucs_models_go_here.txt: -------------------------------------------------------------------------------- 1 | demucs_models_go_here.txt -------------------------------------------------------------------------------- /models/Demucs_Models/v3_repo/demucs_models_go_here.txt: -------------------------------------------------------------------------------- 1 | demucs_models_go_here -------------------------------------------------------------------------------- /models/MDX_Net_Models/MDX-Net_Models_go_here.txt: -------------------------------------------------------------------------------- 1 | MDX-Net Models go here -------------------------------------------------------------------------------- /models/Main_Models/VR_Architecture_Models_go_here.txt: -------------------------------------------------------------------------------- 1 | VR_Architecture_Models_go_here -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pyAesCrypt 2 | asteroid>=0.5.0 3 | audioread 4 | audiosegment 5 | boto3 6 | diffq 7 | dora-search 8 | julius 9 | librosa==0.8.0 10 | loguru 11 | musdb 12 | natsort 13 | norbert 14 | numba 15 | numpy==1.22.0 16 | onnxruntime-gpu 17 | opencv-python 18 | openunmix 19 | Pillow 20 | psutil 21 | pyAesCrypt 22 | pydub 23 | pyglet 24 | pyperclip 25 | pyyaml 26 | resampy==0.2.2 27 | samplerate 28 | screeninfo 29 | scipy 30 | SoundFile 31 | soundstretch 32 | wget 33 | -------------------------------------------------------------------------------- /tkinterdnd2/__init__.py: -------------------------------------------------------------------------------- 1 | # dnd actions 2 | PRIVATE = 'private' 3 | NONE = 'none' 4 | ASK = 'ask' 5 | COPY = 'copy' 6 | MOVE = 'move' 7 | LINK = 'link' 8 | REFUSE_DROP = 'refuse_drop' 9 | 10 | # dnd types 11 | DND_TEXT = 'DND_Text' 12 | DND_FILES = 'DND_Files' 13 | DND_ALL = '*' 14 | CF_UNICODETEXT = 'CF_UNICODETEXT' 15 | CF_TEXT = 'CF_TEXT' 16 | CF_HDROP = 'CF_HDROP' 17 | 18 | FileGroupDescriptor = 'FileGroupDescriptor - FileContents'# ?? 19 | FileGroupDescriptorW = 'FileGroupDescriptorW - FileContents'# ?? 20 | 21 | from . import TkinterDnD 22 | from .TkinterDnD import Tk 23 | from .TkinterDnD import TixTk 24 | 25 | 26 | -------------------------------------------------------------------------------- /tkinterdnd2/__pycache__/TkinterDnD.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/tkinterdnd2/__pycache__/TkinterDnD.cpython-38.pyc -------------------------------------------------------------------------------- /tkinterdnd2/__pycache__/TkinterDnD.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/tkinterdnd2/__pycache__/TkinterDnD.cpython-39.pyc -------------------------------------------------------------------------------- /tkinterdnd2/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/tkinterdnd2/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /tkinterdnd2/__pycache__/__init__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/tkinterdnd2/__pycache__/__init__.cpython-39.pyc -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/linux64/libtkdnd2.9.2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/tkinterdnd2/tkdnd/linux64/libtkdnd2.9.2.so -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/linux64/pkgIndex.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Tcl package index file 3 | # 4 | package ifneeded tkdnd 2.9.2 \ 5 | "source \{$dir/tkdnd.tcl\} ; \ 6 | tkdnd::initialise \{$dir\} libtkdnd2.9.2.so tkdnd" 7 | 8 | package ifneeded tkdnd::utils 2.9.2 \ 9 | "source \{$dir/tkdnd_utils.tcl\} ; \ 10 | package provide tkdnd::utils 2.9.2" 11 | -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/osx64/libtkdnd2.9.2.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/tkinterdnd2/tkdnd/osx64/libtkdnd2.9.2.dylib -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/osx64/pkgIndex.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # Tcl package index file 3 | # 4 | package ifneeded tkdnd 2.9.2 \ 5 | "source \{$dir/tkdnd.tcl\} ; \ 6 | tkdnd::initialise \{$dir\} libtkdnd2.9.2.dylib tkdnd" 7 | 8 | package ifneeded tkdnd::utils 2.9.2 \ 9 | "source \{$dir/tkdnd_utils.tcl\} ; \ 10 | package provide tkdnd::utils 2.9.2" 11 | -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/osx64/tkdnd_macosx.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # tkdnd_macosx.tcl -- 3 | # 4 | # This file implements some utility procedures that are used by the TkDND 5 | # package. 6 | 7 | # This software is copyrighted by: 8 | # Georgios Petasis, Athens, Greece. 9 | # e-mail: petasisg@yahoo.gr, petasis@iit.demokritos.gr 10 | # 11 | # Mac portions (c) 2009 Kevin Walzer/WordTech Communications LLC, 12 | # kw@codebykevin.com 13 | # 14 | # 15 | # The following terms apply to all files associated 16 | # with the software unless explicitly disclaimed in individual files. 17 | # 18 | # The authors hereby grant permission to use, copy, modify, distribute, 19 | # and license this software and its documentation for any purpose, provided 20 | # that existing copyright notices are retained in all copies and that this 21 | # notice is included verbatim in any distributions. No written agreement, 22 | # license, or royalty fee is required for any of the authorized uses. 23 | # Modifications to this software may be copyrighted by their authors 24 | # and need not follow the licensing terms described here, provided that 25 | # the new terms are clearly indicated on the first page of each file where 26 | # they apply. 27 | # 28 | # IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY 29 | # FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 30 | # ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY 31 | # DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE 32 | # POSSIBILITY OF SUCH DAMAGE. 33 | # 34 | # THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, 35 | # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, 36 | # FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE 37 | # IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE 38 | # NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR 39 | # MODIFICATIONS. 40 | # 41 | 42 | #basic API for Mac Drag and Drop 43 | 44 | #two data types supported: strings and file paths 45 | 46 | #two commands at C level: ::tkdnd::macdnd::registerdragwidget, ::tkdnd::macdnd::unregisterdragwidget 47 | 48 | #data retrieval mechanism: text or file paths are copied from drag clipboard to system clipboard and retrieved via [clipboard get]; array of file paths is converted to single tab-separated string, can be split into Tcl list 49 | 50 | if {[tk windowingsystem] eq "aqua" && "AppKit" ni [winfo server .]} { 51 | error {TkAqua Cocoa required} 52 | } 53 | 54 | namespace eval macdnd { 55 | 56 | proc initialise { } { 57 | ## Mapping from platform types to TkDND types... 58 | ::tkdnd::generic::initialise_platform_to_tkdnd_types [list \ 59 | NSPasteboardTypeString DND_Text \ 60 | NSFilenamesPboardType DND_Files \ 61 | NSPasteboardTypeHTML DND_HTML \ 62 | ] 63 | };# initialise 64 | 65 | };# namespace macdnd 66 | 67 | # ---------------------------------------------------------------------------- 68 | # Command macdnd::HandleEnter 69 | # ---------------------------------------------------------------------------- 70 | proc macdnd::HandleEnter { path drag_source typelist { data {} } } { 71 | variable _pressedkeys 72 | variable _actionlist 73 | set _pressedkeys 1 74 | set _actionlist { copy move link ask private } 75 | ::tkdnd::generic::SetDroppedData $data 76 | ::tkdnd::generic::HandleEnter $path $drag_source $typelist $typelist \ 77 | $_actionlist $_pressedkeys 78 | };# macdnd::HandleEnter 79 | 80 | # ---------------------------------------------------------------------------- 81 | # Command macdnd::HandlePosition 82 | # ---------------------------------------------------------------------------- 83 | proc macdnd::HandlePosition { drop_target rootX rootY {drag_source {}} } { 84 | variable _pressedkeys 85 | variable _last_mouse_root_x; set _last_mouse_root_x $rootX 86 | variable _last_mouse_root_y; set _last_mouse_root_y $rootY 87 | ::tkdnd::generic::HandlePosition $drop_target $drag_source \ 88 | $_pressedkeys $rootX $rootY 89 | };# macdnd::HandlePosition 90 | 91 | # ---------------------------------------------------------------------------- 92 | # Command macdnd::HandleLeave 93 | # ---------------------------------------------------------------------------- 94 | proc macdnd::HandleLeave { args } { 95 | ::tkdnd::generic::HandleLeave 96 | };# macdnd::HandleLeave 97 | 98 | # ---------------------------------------------------------------------------- 99 | # Command macdnd::HandleDrop 100 | # ---------------------------------------------------------------------------- 101 | proc macdnd::HandleDrop { drop_target data args } { 102 | variable _pressedkeys 103 | variable _last_mouse_root_x 104 | variable _last_mouse_root_y 105 | ## Get the dropped data... 106 | ::tkdnd::generic::SetDroppedData $data 107 | ::tkdnd::generic::HandleDrop {} {} $_pressedkeys \ 108 | $_last_mouse_root_x $_last_mouse_root_y 0 109 | };# macdnd::HandleDrop 110 | 111 | # ---------------------------------------------------------------------------- 112 | # Command macdnd::GetDragSourceCommonTypes 113 | # ---------------------------------------------------------------------------- 114 | proc macdnd::GetDragSourceCommonTypes { } { 115 | ::tkdnd::generic::GetDragSourceCommonTypes 116 | };# macdnd::GetDragSourceCommonTypes 117 | 118 | # ---------------------------------------------------------------------------- 119 | # Command macdnd::platform_specific_types 120 | # ---------------------------------------------------------------------------- 121 | proc macdnd::platform_specific_types { types } { 122 | ::tkdnd::generic::platform_specific_types $types 123 | }; # macdnd::platform_specific_types 124 | 125 | # ---------------------------------------------------------------------------- 126 | # Command macdnd::platform_specific_type 127 | # ---------------------------------------------------------------------------- 128 | proc macdnd::platform_specific_type { type } { 129 | ::tkdnd::generic::platform_specific_type $type 130 | }; # macdnd::platform_specific_type 131 | 132 | # ---------------------------------------------------------------------------- 133 | # Command tkdnd::platform_independent_types 134 | # ---------------------------------------------------------------------------- 135 | proc ::tkdnd::platform_independent_types { types } { 136 | ::tkdnd::generic::platform_independent_types $types 137 | }; # tkdnd::platform_independent_types 138 | 139 | # ---------------------------------------------------------------------------- 140 | # Command macdnd::platform_independent_type 141 | # ---------------------------------------------------------------------------- 142 | proc macdnd::platform_independent_type { type } { 143 | ::tkdnd::generic::platform_independent_type $type 144 | }; # macdnd::platform_independent_type 145 | -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/win64/libtkdnd2.9.2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/tkinterdnd2/tkdnd/win64/libtkdnd2.9.2.dll -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/win64/pkgIndex.tcl: -------------------------------------------------------------------------------- 1 | package ifneeded tkdnd 2.9.2 \ 2 | "source \{$dir/tkdnd.tcl\} ; \ 3 | tkdnd::initialise \{$dir\} libtkdnd2.9.2[info sharedlibextension] tkdnd" 4 | 5 | package ifneeded tkdnd::utils 2.9.2 \ 6 | "source \{$dir/tkdnd_utils.tcl\} ; \ 7 | package provide tkdnd::utils 2.9.2" -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/win64/tkdnd2.9.2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NanKeRen2020/UVR5_Linux/62c83f43e61ce3fa72b50630057eb67bdde66a30/tkinterdnd2/tkdnd/win64/tkdnd2.9.2.lib -------------------------------------------------------------------------------- /tkinterdnd2/tkdnd/win64/tkdnd_macosx.tcl: -------------------------------------------------------------------------------- 1 | # 2 | # tkdnd_macosx.tcl -- 3 | # 4 | # This file implements some utility procedures that are used by the TkDND 5 | # package. 6 | 7 | # This software is copyrighted by: 8 | # Georgios Petasis, Athens, Greece. 9 | # e-mail: petasisg@yahoo.gr, petasis@iit.demokritos.gr 10 | # 11 | # Mac portions (c) 2009 Kevin Walzer/WordTech Communications LLC, 12 | # kw@codebykevin.com 13 | # 14 | # 15 | # The following terms apply to all files associated 16 | # with the software unless explicitly disclaimed in individual files. 17 | # 18 | # The authors hereby grant permission to use, copy, modify, distribute, 19 | # and license this software and its documentation for any purpose, provided 20 | # that existing copyright notices are retained in all copies and that this 21 | # notice is included verbatim in any distributions. No written agreement, 22 | # license, or royalty fee is required for any of the authorized uses. 23 | # Modifications to this software may be copyrighted by their authors 24 | # and need not follow the licensing terms described here, provided that 25 | # the new terms are clearly indicated on the first page of each file where 26 | # they apply. 27 | # 28 | # IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY 29 | # FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 30 | # ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY 31 | # DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE 32 | # POSSIBILITY OF SUCH DAMAGE. 33 | # 34 | # THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, 35 | # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, 36 | # FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE 37 | # IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE 38 | # NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR 39 | # MODIFICATIONS. 40 | # 41 | 42 | #basic API for Mac Drag and Drop 43 | 44 | #two data types supported: strings and file paths 45 | 46 | #two commands at C level: ::tkdnd::macdnd::registerdragwidget, ::tkdnd::macdnd::unregisterdragwidget 47 | 48 | #data retrieval mechanism: text or file paths are copied from drag clipboard to system clipboard and retrieved via [clipboard get]; array of file paths is converted to single tab-separated string, can be split into Tcl list 49 | 50 | if {[tk windowingsystem] eq "aqua" && "AppKit" ni [winfo server .]} { 51 | error {TkAqua Cocoa required} 52 | } 53 | 54 | namespace eval macdnd { 55 | 56 | proc initialise { } { 57 | ## Mapping from platform types to TkDND types... 58 | ::tkdnd::generic::initialise_platform_to_tkdnd_types [list \ 59 | NSPasteboardTypeString DND_Text \ 60 | NSFilenamesPboardType DND_Files \ 61 | NSPasteboardTypeHTML DND_HTML \ 62 | ] 63 | };# initialise 64 | 65 | };# namespace macdnd 66 | 67 | # ---------------------------------------------------------------------------- 68 | # Command macdnd::HandleEnter 69 | # ---------------------------------------------------------------------------- 70 | proc macdnd::HandleEnter { path drag_source typelist { data {} } } { 71 | variable _pressedkeys 72 | variable _actionlist 73 | set _pressedkeys 1 74 | set _actionlist { copy move link ask private } 75 | ::tkdnd::generic::SetDroppedData $data 76 | ::tkdnd::generic::HandleEnter $path $drag_source $typelist $typelist \ 77 | $_actionlist $_pressedkeys 78 | };# macdnd::HandleEnter 79 | 80 | # ---------------------------------------------------------------------------- 81 | # Command macdnd::HandlePosition 82 | # ---------------------------------------------------------------------------- 83 | proc macdnd::HandlePosition { drop_target rootX rootY {drag_source {}} } { 84 | variable _pressedkeys 85 | variable _last_mouse_root_x; set _last_mouse_root_x $rootX 86 | variable _last_mouse_root_y; set _last_mouse_root_y $rootY 87 | ::tkdnd::generic::HandlePosition $drop_target $drag_source \ 88 | $_pressedkeys $rootX $rootY 89 | };# macdnd::HandlePosition 90 | 91 | # ---------------------------------------------------------------------------- 92 | # Command macdnd::HandleLeave 93 | # ---------------------------------------------------------------------------- 94 | proc macdnd::HandleLeave { args } { 95 | ::tkdnd::generic::HandleLeave 96 | };# macdnd::HandleLeave 97 | 98 | # ---------------------------------------------------------------------------- 99 | # Command macdnd::HandleDrop 100 | # ---------------------------------------------------------------------------- 101 | proc macdnd::HandleDrop { drop_target data args } { 102 | variable _pressedkeys 103 | variable _last_mouse_root_x 104 | variable _last_mouse_root_y 105 | ## Get the dropped data... 106 | ::tkdnd::generic::SetDroppedData $data 107 | ::tkdnd::generic::HandleDrop {} {} $_pressedkeys \ 108 | $_last_mouse_root_x $_last_mouse_root_y 0 109 | };# macdnd::HandleDrop 110 | 111 | # ---------------------------------------------------------------------------- 112 | # Command macdnd::GetDragSourceCommonTypes 113 | # ---------------------------------------------------------------------------- 114 | proc macdnd::GetDragSourceCommonTypes { } { 115 | ::tkdnd::generic::GetDragSourceCommonTypes 116 | };# macdnd::GetDragSourceCommonTypes 117 | 118 | # ---------------------------------------------------------------------------- 119 | # Command macdnd::platform_specific_types 120 | # ---------------------------------------------------------------------------- 121 | proc macdnd::platform_specific_types { types } { 122 | ::tkdnd::generic::platform_specific_types $types 123 | }; # macdnd::platform_specific_types 124 | 125 | # ---------------------------------------------------------------------------- 126 | # Command macdnd::platform_specific_type 127 | # ---------------------------------------------------------------------------- 128 | proc macdnd::platform_specific_type { type } { 129 | ::tkdnd::generic::platform_specific_type $type 130 | }; # macdnd::platform_specific_type 131 | 132 | # ---------------------------------------------------------------------------- 133 | # Command tkdnd::platform_independent_types 134 | # ---------------------------------------------------------------------------- 135 | proc ::tkdnd::platform_independent_types { types } { 136 | ::tkdnd::generic::platform_independent_types $types 137 | }; # tkdnd::platform_independent_types 138 | 139 | # ---------------------------------------------------------------------------- 140 | # Command macdnd::platform_independent_type 141 | # ---------------------------------------------------------------------------- 142 | proc macdnd::platform_independent_type { type } { 143 | ::tkdnd::generic::platform_independent_type $type 144 | }; # macdnd::platform_independent_type 145 | -------------------------------------------------------------------------------- /uvr_patch_version.txt: -------------------------------------------------------------------------------- 1 | UVR_Patch_7_25_2022_936 --------------------------------------------------------------------------------