{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "Source Separation first notebook.ipynb", "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "accelerator": "GPU" }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "Dq4MslQv59DL" }, "source": [ "## Install Environments" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "_CatHHIM02YW", "outputId": "159ec4b1-b14c-46df-fa1b-62cd8b6d9090" }, "source": [ "!pip install git+https://github.com/Appleholic/audioset_augmentor\n", "!pip install git+https://github.com/ludlows/python-pesq\n", "!pip install git+https://github.com/Appleholic/pytorch_sound@v0.0.3\n", "!pip install gdown pyworld numpy -U" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Collecting git+https://github.com/Appleholic/audioset_augmentor\n", " Cloning https://github.com/Appleholic/audioset_augmentor to /tmp/pip-req-build-5rml8yst\n", " Running command git clone -q https://github.com/Appleholic/audioset_augmentor /tmp/pip-req-build-5rml8yst\n", "Collecting fire\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/34/a7/0e22e70778aca01a52b9c899d9c145c6396d7b613719cd63db97ffa13f2f/fire-0.3.1.tar.gz (81kB)\n", "\u001b[K |████████████████████████████████| 81kB 6.8MB/s \n", "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from audioset-augmentor==0.0.1) (1.1.4)\n", "Collecting youtube-dl\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/97/04/666cd3b77f5b55922f4499683adeeaa24140451f744d2f5b23fc9bd027ad/youtube_dl-2020.11.19-py2.py3-none-any.whl (1.8MB)\n", "\u001b[K |████████████████████████████████| 1.8MB 10.7MB/s \n", "\u001b[?25hRequirement already satisfied: librosa in /usr/local/lib/python3.6/dist-packages (from audioset-augmentor==0.0.1) (0.6.3)\n", "Collecting ffmpeg_normalize\n", " Downloading https://files.pythonhosted.org/packages/52/e1/84cc0d352ad3523cc6d7ac9a0fa608170747b65eeee29b537dc5d39848bc/ffmpeg_normalize-1.20.2-py2.py3-none-any.whl\n", "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from fire->audioset-augmentor==0.0.1) (1.15.0)\n", "Requirement already satisfied: termcolor in /usr/local/lib/python3.6/dist-packages (from fire->audioset-augmentor==0.0.1) (1.1.0)\n", "Requirement already satisfied: numpy>=1.15.4 in /usr/local/lib/python3.6/dist-packages (from pandas->audioset-augmentor==0.0.1) (1.18.5)\n", "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas->audioset-augmentor==0.0.1) (2018.9)\n", "Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.6/dist-packages (from pandas->audioset-augmentor==0.0.1) (2.8.1)\n", "Requirement already satisfied: scikit-learn!=0.19.0,>=0.14.0 in /usr/local/lib/python3.6/dist-packages (from librosa->audioset-augmentor==0.0.1) (0.22.2.post1)\n", "Requirement already satisfied: decorator>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa->audioset-augmentor==0.0.1) (4.4.2)\n", "Requirement already satisfied: joblib>=0.12 in /usr/local/lib/python3.6/dist-packages (from librosa->audioset-augmentor==0.0.1) (0.17.0)\n", "Requirement already satisfied: scipy>=1.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa->audioset-augmentor==0.0.1) (1.4.1)\n", "Requirement already satisfied: numba>=0.38.0 in /usr/local/lib/python3.6/dist-packages (from librosa->audioset-augmentor==0.0.1) (0.48.0)\n", "Requirement already satisfied: audioread>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa->audioset-augmentor==0.0.1) (2.1.9)\n", "Requirement already satisfied: resampy>=0.2.0 in /usr/local/lib/python3.6/dist-packages (from librosa->audioset-augmentor==0.0.1) (0.2.2)\n", "Collecting colorama>=0.4.3\n", " Downloading https://files.pythonhosted.org/packages/44/98/5b86278fbbf250d239ae0ecb724f8572af1c91f4a11edf4d36a206189440/colorama-0.4.4-py2.py3-none-any.whl\n", "Requirement already satisfied: tqdm>=4.38.0 in /usr/local/lib/python3.6/dist-packages (from ffmpeg_normalize->audioset-augmentor==0.0.1) (4.41.1)\n", "Requirement already satisfied: llvmlite<0.32.0,>=0.31.0dev0 in /usr/local/lib/python3.6/dist-packages (from numba>=0.38.0->librosa->audioset-augmentor==0.0.1) (0.31.0)\n", "Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from numba>=0.38.0->librosa->audioset-augmentor==0.0.1) (50.3.2)\n", "Building wheels for collected packages: audioset-augmentor, fire\n", " Building wheel for audioset-augmentor (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for audioset-augmentor: filename=audioset_augmentor-0.0.1-cp36-none-any.whl size=5954 sha256=0439051d830289e57586a4a31a85442de911af5e88584995b8bb3172501a63a8\n", " Stored in directory: /tmp/pip-ephem-wheel-cache-9woejkzq/wheels/56/71/48/a9dd7f2759e89af9c424e94c04f7a5354f6b8648e8c853dd48\n", " Building wheel for fire (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for fire: filename=fire-0.3.1-py2.py3-none-any.whl size=111005 sha256=52629d5efadb86eb222038b41609f6c3bbc0ebb819fa147809a05ce4b54b30bf\n", " Stored in directory: /root/.cache/pip/wheels/c1/61/df/768b03527bf006b546dce284eb4249b185669e65afc5fbb2ac\n", "Successfully built audioset-augmentor fire\n", "Installing collected packages: fire, youtube-dl, colorama, ffmpeg-normalize, audioset-augmentor\n", "Successfully installed audioset-augmentor-0.0.1 colorama-0.4.4 ffmpeg-normalize-1.20.2 fire-0.3.1 youtube-dl-2020.11.19\n", "Collecting git+https://github.com/ludlows/python-pesq\n", " Cloning https://github.com/ludlows/python-pesq to /tmp/pip-req-build-gho2kxbs\n", " Running command git clone -q https://github.com/ludlows/python-pesq /tmp/pip-req-build-gho2kxbs\n", "Building wheels for collected packages: pesq\n", " Building wheel for pesq (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for pesq: filename=pesq-0.0.1-cp36-cp36m-linux_x86_64.whl size=162019 sha256=23cd8969c53bdcfd89894cc27f41dc34ec42fec088d7b1ef228998d56c3e1164\n", " Stored in directory: /tmp/pip-ephem-wheel-cache-uj527_2p/wheels/32/72/33/2a1ea0badd4bd2a9f4c8b14795705e7db1825b3cd0ab406043\n", "Successfully built pesq\n", "Installing collected packages: pesq\n", "Successfully installed pesq-0.0.1\n", "Collecting git+https://github.com/Appleholic/pytorch_sound@v0.0.3\n", " Cloning https://github.com/Appleholic/pytorch_sound (to revision v0.0.3) to /tmp/pip-req-build-i5nmpsgx\n", " Running command git clone -q https://github.com/Appleholic/pytorch_sound /tmp/pip-req-build-i5nmpsgx\n", " Running command git checkout -q 53258dd9435da280768ee1554e66374d2f1a0853\n", "Collecting numpy==1.15.3\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/16/21/2e88568c134cc3c8d22af290865e2abbd86efa58a1358ffcb19b6c74f9a3/numpy-1.15.3-cp36-cp36m-manylinux1_x86_64.whl (13.9MB)\n", "\u001b[K |████████████████████████████████| 13.9MB 253kB/s \n", "\u001b[?25hCollecting librosa==0.7.0\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/ad/6e/0eb0de1c9c4e02df0b40e56f258eb79bd957be79b918511a184268e01720/librosa-0.7.0.tar.gz (1.6MB)\n", "\u001b[K |████████████████████████████████| 1.6MB 46.3MB/s \n", "\u001b[?25hCollecting soundfile\n", " Downloading https://files.pythonhosted.org/packages/eb/f2/3cbbbf3b96fb9fa91582c438b574cff3f45b29c772f94c400e2c99ef5db9/SoundFile-0.10.3.post1-py2.py3-none-any.whl\n", "Requirement already satisfied: torch in /usr/local/lib/python3.6/dist-packages (from pytorch-sound==0.0.0) (1.7.0+cu101)\n", "Collecting tensorboardX\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/af/0c/4f41bcd45db376e6fe5c619c01100e9b7531c55791b7244815bac6eac32c/tensorboardX-2.1-py2.py3-none-any.whl (308kB)\n", "\u001b[K |████████████████████████████████| 317kB 51.9MB/s \n", "\u001b[?25hRequirement already satisfied: fire in /usr/local/lib/python3.6/dist-packages (from pytorch-sound==0.0.0) (0.3.1)\n", "Collecting inflect==0.2.5\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/66/15/2d176749884cbeda0c92e0d09e1303ff53a973eb3c6bb2136803b9d962c9/inflect-0.2.5-py2.py3-none-any.whl (58kB)\n", "\u001b[K |████████████████████████████████| 61kB 10.0MB/s \n", "\u001b[?25hCollecting Unidecode==1.0.22\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/59/ef/67085e30e8bbcdd76e2f0a4ad8151c13a2c5bce77c85f8cad6e1f16fb141/Unidecode-1.0.22-py2.py3-none-any.whl (235kB)\n", "\u001b[K |████████████████████████████████| 235kB 50.8MB/s \n", "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from pytorch-sound==0.0.0) (1.1.4)\n", "Collecting pretty_midi\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/bc/8e/63c6e39a7a64623a9cd6aec530070c70827f6f8f40deec938f323d7b1e15/pretty_midi-0.2.9.tar.gz (5.6MB)\n", "\u001b[K |████████████████████████████████| 5.6MB 22.7MB/s \n", "\u001b[?25hRequirement already satisfied: ffmpeg_normalize in /usr/local/lib/python3.6/dist-packages (from pytorch-sound==0.0.0) (1.20.2)\n", "Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from pytorch-sound==0.0.0) (4.41.1)\n", "Collecting pysndfx\n", " Downloading https://files.pythonhosted.org/packages/f6/46/05d3b20d6512b73874623f6202f11d988ed6655ebccdb877eff8e25f8d2e/pysndfx-0.3.6.tar.gz\n", "Requirement already satisfied: audioread>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->pytorch-sound==0.0.0) (2.1.9)\n", "Requirement already satisfied: scipy>=1.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->pytorch-sound==0.0.0) (1.4.1)\n", "Requirement already satisfied: scikit-learn!=0.19.0,>=0.14.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->pytorch-sound==0.0.0) (0.22.2.post1)\n", "Requirement already satisfied: joblib>=0.12 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->pytorch-sound==0.0.0) (0.17.0)\n", "Requirement already satisfied: decorator>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->pytorch-sound==0.0.0) (4.4.2)\n", "Requirement already satisfied: six>=1.3 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->pytorch-sound==0.0.0) (1.15.0)\n", "Requirement already satisfied: resampy>=0.2.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->pytorch-sound==0.0.0) (0.2.2)\n", "Requirement already satisfied: numba>=0.38.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->pytorch-sound==0.0.0) (0.48.0)\n", "Requirement already satisfied: cffi>=1.0 in /usr/local/lib/python3.6/dist-packages (from soundfile->pytorch-sound==0.0.0) (1.14.3)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.6/dist-packages (from torch->pytorch-sound==0.0.0) (3.7.4.3)\n", "Requirement already satisfied: future in /usr/local/lib/python3.6/dist-packages (from torch->pytorch-sound==0.0.0) (0.16.0)\n", "Requirement already satisfied: dataclasses in /usr/local/lib/python3.6/dist-packages (from torch->pytorch-sound==0.0.0) (0.7)\n", "Requirement already satisfied: protobuf>=3.8.0 in /usr/local/lib/python3.6/dist-packages (from tensorboardX->pytorch-sound==0.0.0) (3.12.4)\n", "Requirement already satisfied: termcolor in /usr/local/lib/python3.6/dist-packages (from fire->pytorch-sound==0.0.0) (1.1.0)\n", "Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.6/dist-packages (from pandas->pytorch-sound==0.0.0) (2.8.1)\n", "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas->pytorch-sound==0.0.0) (2018.9)\n", "Collecting mido>=1.1.16\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/20/0a/81beb587b1ae832ea6a1901dc7c6faa380e8dd154e0a862f0a9f3d2afab9/mido-1.2.9-py2.py3-none-any.whl (52kB)\n", "\u001b[K |████████████████████████████████| 61kB 10.2MB/s \n", "\u001b[?25hRequirement already satisfied: colorama>=0.4.3 in /usr/local/lib/python3.6/dist-packages (from ffmpeg_normalize->pytorch-sound==0.0.0) (0.4.4)\n", "Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from numba>=0.38.0->librosa==0.7.0->pytorch-sound==0.0.0) (50.3.2)\n", "Requirement already satisfied: llvmlite<0.32.0,>=0.31.0dev0 in /usr/local/lib/python3.6/dist-packages (from numba>=0.38.0->librosa==0.7.0->pytorch-sound==0.0.0) (0.31.0)\n", "Requirement already satisfied: pycparser in /usr/local/lib/python3.6/dist-packages (from cffi>=1.0->soundfile->pytorch-sound==0.0.0) (2.20)\n", "Building wheels for collected packages: pytorch-sound, librosa, pretty-midi, pysndfx\n", " Building wheel for pytorch-sound (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for pytorch-sound: filename=pytorch_sound-0.0.0-cp36-none-any.whl size=49658 sha256=0105568cd1b076fdf560322c9f916e1760eee701a8fb74988602bf496af4b9a7\n", " Stored in directory: /tmp/pip-ephem-wheel-cache-wncp1ktn/wheels/3d/83/10/6a0a24fc7a3585d840415f0023aca5354bb8beabffe2cb2a6d\n", " Building wheel for librosa (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for librosa: filename=librosa-0.7.0-cp36-none-any.whl size=1598345 sha256=428468801472dc8656331428d48ea604fe6a3e1fe1b2f4b69141a250a6d84cb3\n", " Stored in directory: /root/.cache/pip/wheels/49/1d/38/c8ad12fcad67569d8e730c3275be5e581bd589558484a0f881\n", " Building wheel for pretty-midi (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for pretty-midi: filename=pretty_midi-0.2.9-cp36-none-any.whl size=5591954 sha256=f166a412316fbca0bca5ccdc789a28c9048c9527ec624ba78b8e74a29d547fa9\n", " Stored in directory: /root/.cache/pip/wheels/4c/a1/c6/b5697841db1112c6e5866d75a6b6bf1bef73b874782556ba66\n", " Building wheel for pysndfx (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for pysndfx: filename=pysndfx-0.3.6-cp36-none-any.whl size=6555 sha256=a00b97c7dbce8f2a67a3c876573ceaafdd4b519f737f0f1082bb501e21feaa78\n", " Stored in directory: /root/.cache/pip/wheels/cd/76/ec/4e83f591f99a9cd17f7487fd75d83027aa65affe82dc2aa9df\n", "Successfully built pytorch-sound librosa pretty-midi pysndfx\n", "\u001b[31mERROR: umap-learn 0.4.6 has requirement numpy>=1.17, but you'll have numpy 1.15.3 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: tensorflow 2.3.0 has requirement numpy<1.19.0,>=1.16.0, but you'll have numpy 1.15.3 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: plotnine 0.6.0 has requirement numpy>=1.16.0, but you'll have numpy 1.15.3 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: pandas 1.1.4 has requirement numpy>=1.15.4, but you'll have numpy 1.15.3 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: fbprophet 0.7.1 has requirement numpy>=1.15.4, but you'll have numpy 1.15.3 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: astropy 4.1 has requirement numpy>=1.16, but you'll have numpy 1.15.3 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.\u001b[0m\n", "Installing collected packages: numpy, soundfile, librosa, tensorboardX, inflect, Unidecode, mido, pretty-midi, pysndfx, pytorch-sound\n", " Found existing installation: numpy 1.18.5\n", " Uninstalling numpy-1.18.5:\n", " Successfully uninstalled numpy-1.18.5\n", " Found existing installation: librosa 0.6.3\n", " Uninstalling librosa-0.6.3:\n", " Successfully uninstalled librosa-0.6.3\n", " Found existing installation: inflect 2.1.0\n", " Uninstalling inflect-2.1.0:\n", " Successfully uninstalled inflect-2.1.0\n", "Successfully installed Unidecode-1.0.22 inflect-0.2.5 librosa-0.7.0 mido-1.2.9 numpy-1.15.3 pretty-midi-0.2.9 pysndfx-0.3.6 pytorch-sound-0.0.0 soundfile-0.10.3.post1 tensorboardX-2.1\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "application/vnd.colab-display-data+json": { "pip_warning": { "packages": [ "numpy" ] } } }, "metadata": { "tags": [] } }, { "output_type": "stream", "text": [ "Collecting gdown\n", " Downloading https://files.pythonhosted.org/packages/50/21/92c3cfe56f5c0647145c4b0083d0733dd4890a057eb100a8eeddf949ffe9/gdown-3.12.2.tar.gz\n", " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Preparing wheel metadata ... \u001b[?25l\u001b[?25hdone\n", "Collecting pyworld\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/af/88/003eef396c966cf00088900167831946b80b8e7650843905cb9590c2d9ca/pyworld-0.2.12.tar.gz (222kB)\n", "\u001b[K |████████████████████████████████| 225kB 24.8MB/s \n", "\u001b[?25hCollecting numpy\n", "\u001b[?25l Downloading https://files.pythonhosted.org/packages/87/86/753182c9085ba4936c0076269a571613387cdb77ae2bf537448bfd63472c/numpy-1.19.4-cp36-cp36m-manylinux2010_x86_64.whl (14.5MB)\n", "\u001b[K |████████████████████████████████| 14.5MB 250kB/s \n", "\u001b[?25hRequirement already satisfied, skipping upgrade: filelock in /usr/local/lib/python3.6/dist-packages (from gdown) (3.0.12)\n", "Requirement already satisfied, skipping upgrade: six in /usr/local/lib/python3.6/dist-packages (from gdown) (1.15.0)\n", "Requirement already satisfied, skipping upgrade: tqdm in /usr/local/lib/python3.6/dist-packages (from gdown) (4.41.1)\n", "Requirement already satisfied, skipping upgrade: requests[socks] in /usr/local/lib/python3.6/dist-packages (from gdown) (2.23.0)\n", "Requirement already satisfied, skipping upgrade: cython>=0.24.0 in /usr/local/lib/python3.6/dist-packages (from pyworld) (0.29.21)\n", "Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests[socks]->gdown) (2020.6.20)\n", "Requirement already satisfied, skipping upgrade: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests[socks]->gdown) (2.10)\n", "Requirement already satisfied, skipping upgrade: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests[socks]->gdown) (3.0.4)\n", "Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests[socks]->gdown) (1.24.3)\n", "Requirement already satisfied, skipping upgrade: PySocks!=1.5.7,>=1.5.6; extra == \"socks\" in /usr/local/lib/python3.6/dist-packages (from requests[socks]->gdown) (1.7.1)\n", "Building wheels for collected packages: gdown\n", " Building wheel for gdown (PEP 517) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for gdown: filename=gdown-3.12.2-cp36-none-any.whl size=9694 sha256=9719a1ec036b11a286459a8239820e2b3aac9bda02113612261a49779dfd4e98\n", " Stored in directory: /root/.cache/pip/wheels/81/d0/d7/d9983facc6f2775411803e0e2d30ebf98efbf2fc6e57701e09\n", "Successfully built gdown\n", "Building wheels for collected packages: pyworld\n", " Building wheel for pyworld (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for pyworld: filename=pyworld-0.2.12-cp36-cp36m-linux_x86_64.whl size=609327 sha256=15c9b0f367e49350cef90bda9ace8eff3219dfca71ed47c8ad08a8d67f2f152a\n", " Stored in directory: /root/.cache/pip/wheels/d0/e4/1c/a508000462b83164d5eba9a4b46f39b4b1645ac952bbe71551\n", "Successfully built pyworld\n", "\u001b[31mERROR: tensorflow 2.3.0 has requirement numpy<1.19.0,>=1.16.0, but you'll have numpy 1.19.4 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: pytorch-sound 0.0.0 has requirement numpy==1.15.3, but you'll have numpy 1.19.4 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: datascience 0.10.6 has requirement folium==0.2.1, but you'll have folium 0.8.3 which is incompatible.\u001b[0m\n", "\u001b[31mERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.\u001b[0m\n", "Installing collected packages: gdown, numpy, pyworld\n", " Found existing installation: gdown 3.6.4\n", " Uninstalling gdown-3.6.4:\n", " Successfully uninstalled gdown-3.6.4\n", " Found existing installation: numpy 1.15.3\n", " Uninstalling numpy-1.15.3:\n", " Successfully uninstalled numpy-1.15.3\n", "Successfully installed gdown-3.12.2 numpy-1.19.4 pyworld-0.2.12\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "application/vnd.colab-display-data+json": { "pip_warning": { "packages": [ "numpy" ] } } }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "_5nUTEAI23Fx", "outputId": "06f660c6-f8b7-41a5-bc32-4e2b8273a480" }, "source": [ "# clone source_separation reposiory\n", "!git clone https://github.com/AppleHolic/source_separation" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Cloning into 'source_separation'...\n", "remote: Enumerating objects: 305, done.\u001b[K\n", "remote: Counting objects: 100% (305/305), done.\u001b[K\n", "remote: Compressing objects: 100% (136/136), done.\u001b[K\n", "remote: Total 305 (delta 201), reused 248 (delta 158), pack-reused 0\u001b[K\n", "Receiving objects: 100% (305/305), 296.00 KiB | 22.77 MiB/s, done.\n", "Resolving deltas: 100% (201/201), done.\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "tm2yTS9Z3Bqh", "outputId": "cc13d8d6-a391-49f9-9228-aae92dbc04c8" }, "source": [ "!pip install ./source_separation" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Processing ./source_separation\n", "Requirement already satisfied: torch in /usr/local/lib/python3.6/dist-packages (from source-separation==0.0.0) (1.7.0+cu101)\n", "Requirement already satisfied: librosa==0.7.0 in /usr/local/lib/python3.6/dist-packages (from source-separation==0.0.0) (0.7.0)\n", "Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from source-separation==0.0.0) (4.41.1)\n", "Requirement already satisfied: fire in /usr/local/lib/python3.6/dist-packages (from source-separation==0.0.0) (0.3.1)\n", "Requirement already satisfied: pysndfx in /usr/local/lib/python3.6/dist-packages (from source-separation==0.0.0) (0.3.6)\n", "Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from torch->source-separation==0.0.0) (1.19.4)\n", "Requirement already satisfied: dataclasses in /usr/local/lib/python3.6/dist-packages (from torch->source-separation==0.0.0) (0.7)\n", "Requirement already satisfied: future in /usr/local/lib/python3.6/dist-packages (from torch->source-separation==0.0.0) (0.16.0)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.6/dist-packages (from torch->source-separation==0.0.0) (3.7.4.3)\n", "Requirement already satisfied: scipy>=1.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (1.4.1)\n", "Requirement already satisfied: soundfile>=0.9.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (0.10.3.post1)\n", "Requirement already satisfied: scikit-learn!=0.19.0,>=0.14.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (0.22.2.post1)\n", "Requirement already satisfied: audioread>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (2.1.9)\n", "Requirement already satisfied: numba>=0.38.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (0.48.0)\n", "Requirement already satisfied: joblib>=0.12 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (0.17.0)\n", "Requirement already satisfied: decorator>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (4.4.2)\n", "Requirement already satisfied: six>=1.3 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (1.15.0)\n", "Requirement already satisfied: resampy>=0.2.0 in /usr/local/lib/python3.6/dist-packages (from librosa==0.7.0->source-separation==0.0.0) (0.2.2)\n", "Requirement already satisfied: termcolor in /usr/local/lib/python3.6/dist-packages (from fire->source-separation==0.0.0) (1.1.0)\n", "Requirement already satisfied: cffi>=1.0 in /usr/local/lib/python3.6/dist-packages (from soundfile>=0.9.0->librosa==0.7.0->source-separation==0.0.0) (1.14.3)\n", "Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from numba>=0.38.0->librosa==0.7.0->source-separation==0.0.0) (50.3.2)\n", "Requirement already satisfied: llvmlite<0.32.0,>=0.31.0dev0 in /usr/local/lib/python3.6/dist-packages (from numba>=0.38.0->librosa==0.7.0->source-separation==0.0.0) (0.31.0)\n", "Requirement already satisfied: pycparser in /usr/local/lib/python3.6/dist-packages (from cffi>=1.0->soundfile>=0.9.0->librosa==0.7.0->source-separation==0.0.0) (2.20)\n", "Building wheels for collected packages: source-separation\n", " Building wheel for source-separation (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for source-separation: filename=source_separation-0.0.0-cp36-none-any.whl size=18970 sha256=b1361b90f29232e34176d091bb18d40207e6d21972698da01b37b6c435c0804f\n", " Stored in directory: /tmp/pip-ephem-wheel-cache-vc5wac21/wheels/73/d4/38/771fc2802667b8c4e5ad5ef2fd6fcf08931a8bbac017c787e2\n", "Successfully built source-separation\n", "Installing collected packages: source-separation\n", "Successfully installed source-separation-0.0.0\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "arJvJob819YX" }, "source": [ "## Download Checkpoint" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Tw8IRCYq2A9t", "outputId": "a6295ba8-44b3-4e91-8572-f14842c22071" }, "source": [ "!gdown https://drive.google.com/uc?id=17EowHY_62oIDjArQ7WAzVecTW2ymrVhU" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Downloading...\n", "From: https://drive.google.com/uc?id=17EowHY_62oIDjArQ7WAzVecTW2ymrVhU\n", "To: /content/second_voice_bank.best.chkpt\n", "903MB [00:05, 164MB/s]\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "f0g2i8A16Xex" }, "source": [ "## Upload your test audio" ] }, { "cell_type": "code", "metadata": { "colab": { "resources": { "http://localhost:8080/nbextensions/google.colab/files.js": { "data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7CgpmdW5jdGlvbiBfdXBsb2FkRmlsZXMoaW5wdXRJZCwgb3V0cHV0SWQpIHsKICBjb25zdCBzdGVwcyA9IHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCk7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICAvLyBDYWNoZSBzdGVwcyBvbiB0aGUgb3V0cHV0RWxlbWVudCB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIG5leHQgY2FsbAogIC8vIHRvIHVwbG9hZEZpbGVzQ29udGludWUgZnJvbSBQeXRob24uCiAgb3V0cHV0RWxlbWVudC5zdGVwcyA9IHN0ZXBzOwoKICByZXR1cm4gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpOwp9CgovLyBUaGlzIGlzIHJvdWdobHkgYW4gYXN5bmMgZ2VuZXJhdG9yIChub3Qgc3VwcG9ydGVkIGluIHRoZSBicm93c2VyIHlldCksCi8vIHdoZXJlIHRoZXJlIGFyZSBtdWx0aXBsZSBhc3luY2hyb25vdXMgc3RlcHMgYW5kIHRoZSBQeXRob24gc2lkZSBpcyBnb2luZwovLyB0byBwb2xsIGZvciBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcC4KLy8gVGhpcyB1c2VzIGEgUHJvbWlzZSB0byBibG9jayB0aGUgcHl0aG9uIHNpZGUgb24gY29tcGxldGlvbiBvZiBlYWNoIHN0ZXAsCi8vIHRoZW4gcGFzc2VzIHRoZSByZXN1bHQgb2YgdGhlIHByZXZpb3VzIHN0ZXAgYXMgdGhlIGlucHV0IHRvIHRoZSBuZXh0IHN0ZXAuCmZ1bmN0aW9uIF91cGxvYWRGaWxlc0NvbnRpbnVlKG91dHB1dElkKSB7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICBjb25zdCBzdGVwcyA9IG91dHB1dEVsZW1lbnQuc3RlcHM7CgogIGNvbnN0IG5leHQgPSBzdGVwcy5uZXh0KG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSk7CiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXh0LnZhbHVlLnByb21pc2UpLnRoZW4oKHZhbHVlKSA9PiB7CiAgICAvLyBDYWNoZSB0aGUgbGFzdCBwcm9taXNlIHZhbHVlIHRvIG1ha2UgaXQgYXZhaWxhYmxlIHRvIHRoZSBuZXh0CiAgICAvLyBzdGVwIG9mIHRoZSBnZW5lcmF0b3IuCiAgICBvdXRwdXRFbGVtZW50Lmxhc3RQcm9taXNlVmFsdWUgPSB2YWx1ZTsKICAgIHJldHVybiBuZXh0LnZhbHVlLnJlc3BvbnNlOwogIH0pOwp9CgovKioKICogR2VuZXJhdG9yIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCBiZXR3ZWVuIGVhY2ggYXN5bmMgc3RlcCBvZiB0aGUgdXBsb2FkCiAqIHByb2Nlc3MuCiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIGlucHV0IGZpbGUgcGlja2VyIGVsZW1lbnQuCiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRJZCBFbGVtZW50IElEIG9mIHRoZSBvdXRwdXQgZGlzcGxheS4KICogQHJldHVybiB7IUl0ZXJhYmxlPCFPYmplY3Q+fSBJdGVyYWJsZSBvZiBuZXh0IHN0ZXBzLgogKi8KZnVuY3Rpb24qIHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpOwogIGlucHV0RWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlOwoKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIG91dHB1dEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7CgogIGNvbnN0IHBpY2tlZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgIHJlc29sdmUoZS50YXJnZXQuZmlsZXMpOwogICAgfSk7CiAgfSk7CgogIGNvbnN0IGNhbmNlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNhbmNlbCk7CiAgY2FuY2VsLnRleHRDb250ZW50ID0gJ0NhbmNlbCB1cGxvYWQnOwogIGNvbnN0IGNhbmNlbFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgY2FuY2VsLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9OwogIH0pOwoKICAvLyBXYWl0IGZvciB0aGUgdXNlciB0byBwaWNrIHRoZSBmaWxlcy4KICBjb25zdCBmaWxlcyA9IHlpZWxkIHsKICAgIHByb21pc2U6IFByb21pc2UucmFjZShbcGlja2VkUHJvbWlzZSwgY2FuY2VsUHJvbWlzZV0pLAogICAgcmVzcG9uc2U6IHsKICAgICAgYWN0aW9uOiAnc3RhcnRpbmcnLAogICAgfQogIH07CgogIGNhbmNlbC5yZW1vdmUoKTsKCiAgLy8gRGlzYWJsZSB0aGUgaW5wdXQgZWxlbWVudCBzaW5jZSBmdXJ0aGVyIHBpY2tzIGFyZSBub3QgYWxsb3dlZC4KICBpbnB1dEVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwoKICBpZiAoIWZpbGVzKSB7CiAgICByZXR1cm4gewogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgICAgfQogICAgfTsKICB9CgogIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykgewogICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgbGkuYXBwZW5kKHNwYW4oZmlsZS5uYW1lLCB7Zm9udFdlaWdodDogJ2JvbGQnfSkpOwogICAgbGkuYXBwZW5kKHNwYW4oCiAgICAgICAgYCgke2ZpbGUudHlwZSB8fCAnbi9hJ30pIC0gJHtmaWxlLnNpemV9IGJ5dGVzLCBgICsKICAgICAgICBgbGFzdCBtb2RpZmllZDogJHsKICAgICAgICAgICAgZmlsZS5sYXN0TW9kaWZpZWREYXRlID8gZmlsZS5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ24vYSd9IC0gYCkpOwogICAgY29uc3QgcGVyY2VudCA9IHNwYW4oJzAlIGRvbmUnKTsKICAgIGxpLmFwcGVuZENoaWxkKHBlcmNlbnQpOwoKICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQobGkpOwoKICAgIGNvbnN0IGZpbGVEYXRhUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4gewogICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTsKICAgICAgfTsKICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpOwogICAgfSk7CiAgICAvLyBXYWl0IGZvciB0aGUgZGF0YSB0byBiZSByZWFkeS4KICAgIGxldCBmaWxlRGF0YSA9IHlpZWxkIHsKICAgICAgcHJvbWlzZTogZmlsZURhdGFQcm9taXNlLAogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbnRpbnVlJywKICAgICAgfQogICAgfTsKCiAgICAvLyBVc2UgYSBjaHVua2VkIHNlbmRpbmcgdG8gYXZvaWQgbWVzc2FnZSBzaXplIGxpbWl0cy4gU2VlIGIvNjIxMTU2NjAuCiAgICBsZXQgcG9zaXRpb24gPSAwOwogICAgd2hpbGUgKHBvc2l0aW9uIDwgZmlsZURhdGEuYnl0ZUxlbmd0aCkgewogICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1pbihmaWxlRGF0YS5ieXRlTGVuZ3RoIC0gcG9zaXRpb24sIE1BWF9QQVlMT0FEX1NJWkUpOwogICAgICBjb25zdCBjaHVuayA9IG5ldyBVaW50OEFycmF5KGZpbGVEYXRhLCBwb3NpdGlvbiwgbGVuZ3RoKTsKICAgICAgcG9zaXRpb24gKz0gbGVuZ3RoOwoKICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGNodW5rKSk7CiAgICAgIHlpZWxkIHsKICAgICAgICByZXNwb25zZTogewogICAgICAgICAgYWN0aW9uOiAnYXBwZW5kJywKICAgICAgICAgIGZpbGU6IGZpbGUubmFtZSwKICAgICAgICAgIGRhdGE6IGJhc2U2NCwKICAgICAgICB9LAogICAgICB9OwogICAgICBwZXJjZW50LnRleHRDb250ZW50ID0KICAgICAgICAgIGAke01hdGgucm91bmQoKHBvc2l0aW9uIC8gZmlsZURhdGEuYnl0ZUxlbmd0aCkgKiAxMDApfSUgZG9uZWA7CiAgICB9CiAgfQoKICAvLyBBbGwgZG9uZS4KICB5aWVsZCB7CiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICB9CiAgfTsKfQoKc2NvcGUuZ29vZ2xlID0gc2NvcGUuZ29vZ2xlIHx8IHt9OwpzY29wZS5nb29nbGUuY29sYWIgPSBzY29wZS5nb29nbGUuY29sYWIgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYi5fZmlsZXMgPSB7CiAgX3VwbG9hZEZpbGVzLAogIF91cGxvYWRGaWxlc0NvbnRpbnVlLAp9Owp9KShzZWxmKTsK", "ok": true, "headers": [ [ "content-type", "application/javascript" ] ], "status": 200, "status_text": "" } }, "base_uri": "https://localhost:8080/", "height": 73 }, "id": "x6dXf1Ep3iXy", "outputId": "70c1f5f1-5df5-4f0e-bc20-6984c81acfe5" }, "source": [ "from google.colab import files\n", "\n", "filename = list(files.upload().keys())[0]" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", " \n", " \n", " Upload widget is only available when the cell has been executed in the\n", " current browser session. Please rerun this cell to enable.\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": { "tags": [] } }, { "output_type": "stream", "text": [ "Saving doublenoble_k7rain_part.wav to doublenoble_k7rain_part.wav\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 75 }, "id": "trFB9xdV6uCt", "outputId": "fd25dd7b-0359-42c1-9a6a-067a2284a1d7" }, "source": [ "from IPython.display import Audio\n", "import librosa\n", "\n", "wav, sr = librosa.load(filename)\n", "\n", "Audio(wav, rate=sr)" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 7 } ] }, { "cell_type": "markdown", "metadata": { "id": "Ci9l4J4H6klT" }, "source": [ "## Run separation\n", "- you should change \"Audio Input File (doublenoble_k7rain_part.wav)\" below." ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "6B0qjk_i3HmD", "outputId": "3acbc024-5531-4534-891a-85f232e12a46" }, "source": [ "!python source_separation/source_separation/synthesize.py separate doublenoble_k7rain_part.wav pred.wav refine_unet_base second_voice_bank.best.chkpt" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Loading audio file...\n", "Load model ...\n", "Inference ...\n", "Finish !\n", "\u001b[0m" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 75 }, "id": "6VbsIAx74z6J", "outputId": "0b417aed-2e7f-4168-dc23-47289945fa8a" }, "source": [ "Audio('pred.wav', rate=22050)" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 10 } ] }, { "cell_type": "markdown", "metadata": { "id": "ZV_4i59173GU" }, "source": [ "## Test Vocal Separation Case" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7uX_voTh7U9l", "outputId": "c7d4ea64-010c-49f5-ecf3-4d7b932b71cc" }, "source": [ "# download checkpoint - (vocal separation case)\n", "!gdown https://drive.google.com/uc?id=105-Symnl6SqcTr9AWHasgr0jyR_ywthU" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Downloading...\n", "From: https://drive.google.com/uc?id=105-Symnl6SqcTr9AWHasgr0jyR_ywthU\n", "To: /content/RefineSpectrogramUnet.best.chkpt\n", "1.14GB [00:06, 190MB/s]\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "resources": { "http://localhost:8080/nbextensions/google.colab/files.js": { "data": "Ly8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwovLwovLyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKLy8geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgovLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLy8KLy8gICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAovLyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCi8qKgogKiBAZmlsZW92ZXJ2aWV3IEhlbHBlcnMgZm9yIGdvb2dsZS5jb2xhYiBQeXRob24gbW9kdWxlLgogKi8KKGZ1bmN0aW9uKHNjb3BlKSB7CmZ1bmN0aW9uIHNwYW4odGV4dCwgc3R5bGVBdHRyaWJ1dGVzID0ge30pIHsKICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHN0eWxlQXR0cmlidXRlcykpIHsKICAgIGVsZW1lbnQuc3R5bGVba2V5XSA9IHN0eWxlQXR0cmlidXRlc1trZXldOwogIH0KICByZXR1cm4gZWxlbWVudDsKfQoKLy8gTWF4IG51bWJlciBvZiBieXRlcyB3aGljaCB3aWxsIGJlIHVwbG9hZGVkIGF0IGEgdGltZS4KY29uc3QgTUFYX1BBWUxPQURfU0laRSA9IDEwMCAqIDEwMjQ7CgpmdW5jdGlvbiBfdXBsb2FkRmlsZXMoaW5wdXRJZCwgb3V0cHV0SWQpIHsKICBjb25zdCBzdGVwcyA9IHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCk7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICAvLyBDYWNoZSBzdGVwcyBvbiB0aGUgb3V0cHV0RWxlbWVudCB0byBtYWtlIGl0IGF2YWlsYWJsZSBmb3IgdGhlIG5leHQgY2FsbAogIC8vIHRvIHVwbG9hZEZpbGVzQ29udGludWUgZnJvbSBQeXRob24uCiAgb3V0cHV0RWxlbWVudC5zdGVwcyA9IHN0ZXBzOwoKICByZXR1cm4gX3VwbG9hZEZpbGVzQ29udGludWUob3V0cHV0SWQpOwp9CgovLyBUaGlzIGlzIHJvdWdobHkgYW4gYXN5bmMgZ2VuZXJhdG9yIChub3Qgc3VwcG9ydGVkIGluIHRoZSBicm93c2VyIHlldCksCi8vIHdoZXJlIHRoZXJlIGFyZSBtdWx0aXBsZSBhc3luY2hyb25vdXMgc3RlcHMgYW5kIHRoZSBQeXRob24gc2lkZSBpcyBnb2luZwovLyB0byBwb2xsIGZvciBjb21wbGV0aW9uIG9mIGVhY2ggc3RlcC4KLy8gVGhpcyB1c2VzIGEgUHJvbWlzZSB0byBibG9jayB0aGUgcHl0aG9uIHNpZGUgb24gY29tcGxldGlvbiBvZiBlYWNoIHN0ZXAsCi8vIHRoZW4gcGFzc2VzIHRoZSByZXN1bHQgb2YgdGhlIHByZXZpb3VzIHN0ZXAgYXMgdGhlIGlucHV0IHRvIHRoZSBuZXh0IHN0ZXAuCmZ1bmN0aW9uIF91cGxvYWRGaWxlc0NvbnRpbnVlKG91dHB1dElkKSB7CiAgY29uc3Qgb3V0cHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG91dHB1dElkKTsKICBjb25zdCBzdGVwcyA9IG91dHB1dEVsZW1lbnQuc3RlcHM7CgogIGNvbnN0IG5leHQgPSBzdGVwcy5uZXh0KG91dHB1dEVsZW1lbnQubGFzdFByb21pc2VWYWx1ZSk7CiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXh0LnZhbHVlLnByb21pc2UpLnRoZW4oKHZhbHVlKSA9PiB7CiAgICAvLyBDYWNoZSB0aGUgbGFzdCBwcm9taXNlIHZhbHVlIHRvIG1ha2UgaXQgYXZhaWxhYmxlIHRvIHRoZSBuZXh0CiAgICAvLyBzdGVwIG9mIHRoZSBnZW5lcmF0b3IuCiAgICBvdXRwdXRFbGVtZW50Lmxhc3RQcm9taXNlVmFsdWUgPSB2YWx1ZTsKICAgIHJldHVybiBuZXh0LnZhbHVlLnJlc3BvbnNlOwogIH0pOwp9CgovKioKICogR2VuZXJhdG9yIGZ1bmN0aW9uIHdoaWNoIGlzIGNhbGxlZCBiZXR3ZWVuIGVhY2ggYXN5bmMgc3RlcCBvZiB0aGUgdXBsb2FkCiAqIHByb2Nlc3MuCiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dElkIEVsZW1lbnQgSUQgb2YgdGhlIGlucHV0IGZpbGUgcGlja2VyIGVsZW1lbnQuCiAqIEBwYXJhbSB7c3RyaW5nfSBvdXRwdXRJZCBFbGVtZW50IElEIG9mIHRoZSBvdXRwdXQgZGlzcGxheS4KICogQHJldHVybiB7IUl0ZXJhYmxlPCFPYmplY3Q+fSBJdGVyYWJsZSBvZiBuZXh0IHN0ZXBzLgogKi8KZnVuY3Rpb24qIHVwbG9hZEZpbGVzU3RlcChpbnB1dElkLCBvdXRwdXRJZCkgewogIGNvbnN0IGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpOwogIGlucHV0RWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlOwoKICBjb25zdCBvdXRwdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQob3V0cHV0SWQpOwogIG91dHB1dEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7CgogIGNvbnN0IHBpY2tlZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgIHJlc29sdmUoZS50YXJnZXQuZmlsZXMpOwogICAgfSk7CiAgfSk7CgogIGNvbnN0IGNhbmNlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogIGlucHV0RWxlbWVudC5wYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNhbmNlbCk7CiAgY2FuY2VsLnRleHRDb250ZW50ID0gJ0NhbmNlbCB1cGxvYWQnOwogIGNvbnN0IGNhbmNlbFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewogICAgY2FuY2VsLm9uY2xpY2sgPSAoKSA9PiB7CiAgICAgIHJlc29sdmUobnVsbCk7CiAgICB9OwogIH0pOwoKICAvLyBXYWl0IGZvciB0aGUgdXNlciB0byBwaWNrIHRoZSBmaWxlcy4KICBjb25zdCBmaWxlcyA9IHlpZWxkIHsKICAgIHByb21pc2U6IFByb21pc2UucmFjZShbcGlja2VkUHJvbWlzZSwgY2FuY2VsUHJvbWlzZV0pLAogICAgcmVzcG9uc2U6IHsKICAgICAgYWN0aW9uOiAnc3RhcnRpbmcnLAogICAgfQogIH07CgogIGNhbmNlbC5yZW1vdmUoKTsKCiAgLy8gRGlzYWJsZSB0aGUgaW5wdXQgZWxlbWVudCBzaW5jZSBmdXJ0aGVyIHBpY2tzIGFyZSBub3QgYWxsb3dlZC4KICBpbnB1dEVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwoKICBpZiAoIWZpbGVzKSB7CiAgICByZXR1cm4gewogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbXBsZXRlJywKICAgICAgfQogICAgfTsKICB9CgogIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykgewogICAgY29uc3QgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOwogICAgbGkuYXBwZW5kKHNwYW4oZmlsZS5uYW1lLCB7Zm9udFdlaWdodDogJ2JvbGQnfSkpOwogICAgbGkuYXBwZW5kKHNwYW4oCiAgICAgICAgYCgke2ZpbGUudHlwZSB8fCAnbi9hJ30pIC0gJHtmaWxlLnNpemV9IGJ5dGVzLCBgICsKICAgICAgICBgbGFzdCBtb2RpZmllZDogJHsKICAgICAgICAgICAgZmlsZS5sYXN0TW9kaWZpZWREYXRlID8gZmlsZS5sYXN0TW9kaWZpZWREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ24vYSd9IC0gYCkpOwogICAgY29uc3QgcGVyY2VudCA9IHNwYW4oJzAlIGRvbmUnKTsKICAgIGxpLmFwcGVuZENoaWxkKHBlcmNlbnQpOwoKICAgIG91dHB1dEVsZW1lbnQuYXBwZW5kQ2hpbGQobGkpOwoKICAgIGNvbnN0IGZpbGVEYXRhUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7CiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4gewogICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KTsKICAgICAgfTsKICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpOwogICAgfSk7CiAgICAvLyBXYWl0IGZvciB0aGUgZGF0YSB0byBiZSByZWFkeS4KICAgIGxldCBmaWxlRGF0YSA9IHlpZWxkIHsKICAgICAgcHJvbWlzZTogZmlsZURhdGFQcm9taXNlLAogICAgICByZXNwb25zZTogewogICAgICAgIGFjdGlvbjogJ2NvbnRpbnVlJywKICAgICAgfQogICAgfTsKCiAgICAvLyBVc2UgYSBjaHVua2VkIHNlbmRpbmcgdG8gYXZvaWQgbWVzc2FnZSBzaXplIGxpbWl0cy4gU2VlIGIvNjIxMTU2NjAuCiAgICBsZXQgcG9zaXRpb24gPSAwOwogICAgd2hpbGUgKHBvc2l0aW9uIDwgZmlsZURhdGEuYnl0ZUxlbmd0aCkgewogICAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1pbihmaWxlRGF0YS5ieXRlTGVuZ3RoIC0gcG9zaXRpb24sIE1BWF9QQVlMT0FEX1NJWkUpOwogICAgICBjb25zdCBjaHVuayA9IG5ldyBVaW50OEFycmF5KGZpbGVEYXRhLCBwb3NpdGlvbiwgbGVuZ3RoKTsKICAgICAgcG9zaXRpb24gKz0gbGVuZ3RoOwoKICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGNodW5rKSk7CiAgICAgIHlpZWxkIHsKICAgICAgICByZXNwb25zZTogewogICAgICAgICAgYWN0aW9uOiAnYXBwZW5kJywKICAgICAgICAgIGZpbGU6IGZpbGUubmFtZSwKICAgICAgICAgIGRhdGE6IGJhc2U2NCwKICAgICAgICB9LAogICAgICB9OwogICAgICBwZXJjZW50LnRleHRDb250ZW50ID0KICAgICAgICAgIGAke01hdGgucm91bmQoKHBvc2l0aW9uIC8gZmlsZURhdGEuYnl0ZUxlbmd0aCkgKiAxMDApfSUgZG9uZWA7CiAgICB9CiAgfQoKICAvLyBBbGwgZG9uZS4KICB5aWVsZCB7CiAgICByZXNwb25zZTogewogICAgICBhY3Rpb246ICdjb21wbGV0ZScsCiAgICB9CiAgfTsKfQoKc2NvcGUuZ29vZ2xlID0gc2NvcGUuZ29vZ2xlIHx8IHt9OwpzY29wZS5nb29nbGUuY29sYWIgPSBzY29wZS5nb29nbGUuY29sYWIgfHwge307CnNjb3BlLmdvb2dsZS5jb2xhYi5fZmlsZXMgPSB7CiAgX3VwbG9hZEZpbGVzLAogIF91cGxvYWRGaWxlc0NvbnRpbnVlLAp9Owp9KShzZWxmKTsK", "ok": true, "headers": [ [ "content-type", "application/javascript" ] ], "status": 200, "status_text": "" } }, "base_uri": "https://localhost:8080/", "height": 73 }, "id": "7AF5ja1d8U5T", "outputId": "150f081a-4b27-45c5-9b72-98262f671917" }, "source": [ "filename = list(files.upload().keys())[0]" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/html": [ "\n", " \n", " \n", " Upload widget is only available when the cell has been executed in the\n", " current browser session. Please rerun this cell to enable.\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": { "tags": [] } }, { "output_type": "stream", "text": [ "Saving bye to bye\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "ssvDuxAv8zSV", "outputId": "abcd8f64-08d7-451d-9481-283bf48011b2" }, "source": [ "!python source_separation/source_separation/synthesize.py separate bye pred.wav refine_unet_larger RefineSpectrogramUnet.best.chkpt --sample_rate=44100" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Loading audio file...\n", "Load model ...\n", "Inference ...\n", "Finish !\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "jIMjr-ggAfBg" }, "source": [ "wav, sr = librosa.load('pred.wav')\n", "\n", "Audio(wav, rate=sr)" ], "execution_count": null, "outputs": [] } ] }