From 634d1cbe79fd814ff5c9cd446f598c68f97d841b Mon Sep 17 00:00:00 2001 From: w-okada <48346627+w-okada@users.noreply.github.com> Date: Wed, 31 Aug 2022 15:21:16 +0900 Subject: [PATCH] =?UTF-8?q?Colaboratory=20=E3=82=92=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E3=81=97=E3=81=A6=E4=BD=9C=E6=88=90=E3=81=97=E3=81=BE=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VoiceChangerDemo.ipynb | 580 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 580 insertions(+) create mode 100644 VoiceChangerDemo.ipynb diff --git a/VoiceChangerDemo.ipynb b/VoiceChangerDemo.ipynb new file mode 100644 index 00000000..bae6e760 --- /dev/null +++ b/VoiceChangerDemo.ipynb @@ -0,0 +1,580 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "VoiceChangerDemo", + "provenance": [], + "collapsed_sections": [], + "authorship_tag": "ABX9TyN+8irLJYUFlwMPzvHMSJof", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "accelerator": "GPU", + "gpuClass": "standard" + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [], + "metadata": { + "id": "57p7pA1Qb5wa" + } + }, + { + "cell_type": "code", + "source": [ + "!nvidia-smi" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "vV1t7PBRm-o6", + "outputId": "60fc80b2-a39e-4840-88c1-0d8d483a36ca" + }, + "execution_count": 1, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Wed Aug 31 06:14:56 2022 \n", + "+-----------------------------------------------------------------------------+\n", + "| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 |\n", + "|-------------------------------+----------------------+----------------------+\n", + "| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", + "| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", + "| | | MIG M. |\n", + "|===============================+======================+======================|\n", + "| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n", + "| N/A 72C P8 12W / 70W | 0MiB / 15109MiB | 0% Default |\n", + "| | | N/A |\n", + "+-------------------------------+----------------------+----------------------+\n", + " \n", + "+-----------------------------------------------------------------------------+\n", + "| Processes: |\n", + "| GPU GI CI PID Type Process name GPU Memory |\n", + "| ID ID Usage |\n", + "|=============================================================================|\n", + "| No running processes found |\n", + "+-----------------------------------------------------------------------------+\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "CONFIG=\"/content/drive/MyDrive/VoiceChanger/config.json\"\n", + "MODEL=\"/content/drive/MyDrive/VoiceChanger/G_326000.pth\"" + ], + "metadata": { + "id": "nSXATMWYb4Ik" + }, + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2wxD-gRSMU5R", + "outputId": "83bb80fa-9ced-43e2-a304-d53a3501b142" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Mounted at /content/drive\n" + ] + } + ], + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/drive')" + ] + }, + { + "cell_type": "code", + "source": [ + "!git clone https://github.com/w-okada/voice-changer.git\n", + "%cd voice-changer/demo/\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "86wTFmqsNMnD", + "outputId": "3fc68f14-b6b7-48bb-e285-5bed78e74f26" + }, + "execution_count": 4, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Cloning into 'voice-changer'...\n", + "remote: Enumerating objects: 266, done.\u001b[K\n", + "remote: Counting objects: 100% (266/266), done.\u001b[K\n", + "remote: Compressing objects: 100% (189/189), done.\u001b[K\n", + "remote: Total 266 (delta 123), reused 194 (delta 65), pack-reused 0\u001b[K\n", + "Receiving objects: 100% (266/266), 19.11 MiB | 35.44 MiB/s, done.\n", + "Resolving deltas: 100% (123/123), done.\n", + "/content/voice-changer/demo\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "!git checkout dev\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "CBsogR-zWH4r", + "outputId": "f4c9737b-831d-4938-d387-caf07693030e" + }, + "execution_count": 5, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Branch 'dev' set up to track remote branch 'dev' from 'origin'.\n", + "Switched to a new branch 'dev'\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "!mkdir -p ../frontend/dist\n", + "!cp -r ../docs/* ../frontend/dist/\n", + "!ls ../frontend/dist\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "uCEKf3_JNoyq", + "outputId": "746e1946-5c3a-49af-df26-d86149f8adb1" + }, + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "assets\t coffee.png index.html index.js.LICENSE.txt\n", + "audiolet favicon.ico index.js\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "!cp ../template/setting_colab.json ../frontend/dist/assets/setting.json" + ], + "metadata": { + "id": "Bn4kV8TgXp8i" + }, + "execution_count": 11, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!cat ../frontend/dist/assets/setting.json" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "pjxPsOOaXXTj", + "outputId": "1bf85102-87ed-462c-e732-cffb878d95f3" + }, + "execution_count": 12, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{\n", + " \"app_title\": \"voice-changer\",\n", + " \"majar_mode\": \"colab\",\n", + " \"voice_changer_server_url\": \"http://localhost:8080/test\",\n", + " \"sample_rate\": 48000,\n", + " \"buffer_size\": 1024,\n", + " \"prefix_chunk_size\": 24,\n", + " \"chunk_size\": 24,\n", + " \"speaker_ids\": [100, 107, 101, 102, 103],\n", + " \"speaker_names\": [\"ずんだもん\", \"user\", \"そら\", \"めたん\", \"つぐみ\"],\n", + " \"src_id\": 107,\n", + " \"dst_id\": 100,\n", + " \"vf_enable\": true,\n", + " \"voice_changer_mode\": \"realtime\",\n", + " \"gpu\": 0,\n", + " \"available_gpus\": [-1, 0, 1, 2, 3, 4],\n", + " \"avatar\": {\n", + " \"motion_capture_face\": true,\n", + " \"motion_capture_upperbody\": true,\n", + " \"lip_overwrite_with_voice\": true,\n", + " \"avatar_url\": \"./assets/vrm/zundamon/zundamon.vrm\",\n", + " \"backgournd_image_url\": \"./assets/images/bg_natural_sougen.jpg\",\n", + " \"background_color\": \"#0000dd\",\n", + " \"chroma_key\": \"#0000dd\",\n", + " \"avatar_canvas_size\": [1280, 720],\n", + " \"screen_canvas_size\": [1280, 720]\n", + " },\n", + " \"advance\": {\n", + " \"avatar_draw_skip_rate\": 3,\n", + " \"screen_draw_skip_rate\": 3,\n", + " \"visualizer_draw_skip_rate\": 3,\n", + " \"cross_fade_lower_value\": 0.1,\n", + " \"cross_fade_overlap_rate\": 0.03\n", + " }\n", + "}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# 手作業\n", + "\n", + "・configとモデルをdemoフォルダにコピー\n", + "\n", + "・docsをfrontendに変更\n", + "\n", + "・setting.jsonをfrontendにコピー\n" + ], + "metadata": { + "id": "8Na2PbLZSWgZ" + } + }, + { + "cell_type": "code", + "source": [ + "!apt-get install -y espeak libsndfile1-dev\n", + "!pip install flask\n", + "!pip install python-socketio\n", + "!pip install eventlet\n", + "!pip install unidecode\n", + "!pip install phonemizer\n", + "!pip install retry\n", + "!pip install flask\n", + "!pip install flask_cors\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "LwZAAuqxX7yY", + "outputId": "c67b2741-7a1e-448d-abf9-7b8d8f5e3d15" + }, + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Reading package lists... Done\n", + "Building dependency tree \n", + "Reading state information... Done\n", + "libsndfile1-dev is already the newest version (1.0.28-4ubuntu0.18.04.2).\n", + "The following package was automatically installed and is no longer required:\n", + " libnvidia-common-460\n", + "Use 'apt autoremove' to remove it.\n", + "The following additional packages will be installed:\n", + " espeak-data libespeak1 libportaudio2 libsonic0\n", + "The following NEW packages will be installed:\n", + " espeak espeak-data libespeak1 libportaudio2 libsonic0\n", + "0 upgraded, 5 newly installed, 0 to remove and 20 not upgraded.\n", + "Need to get 1,219 kB of archives.\n", + "After this operation, 3,031 kB of additional disk space will be used.\n", + "Get:1 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libportaudio2 amd64 19.6.0-1 [64.6 kB]\n", + "Get:2 http://archive.ubuntu.com/ubuntu bionic/main amd64 libsonic0 amd64 0.2.0-6 [13.4 kB]\n", + "Get:3 http://archive.ubuntu.com/ubuntu bionic/universe amd64 espeak-data amd64 1.48.04+dfsg-5 [934 kB]\n", + "Get:4 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libespeak1 amd64 1.48.04+dfsg-5 [145 kB]\n", + "Get:5 http://archive.ubuntu.com/ubuntu bionic/universe amd64 espeak amd64 1.48.04+dfsg-5 [61.6 kB]\n", + "Fetched 1,219 kB in 1s (1,636 kB/s)\n", + "Selecting previously unselected package libportaudio2:amd64.\n", + "(Reading database ... 155676 files and directories currently installed.)\n", + "Preparing to unpack .../libportaudio2_19.6.0-1_amd64.deb ...\n", + "Unpacking libportaudio2:amd64 (19.6.0-1) ...\n", + "Selecting previously unselected package libsonic0:amd64.\n", + "Preparing to unpack .../libsonic0_0.2.0-6_amd64.deb ...\n", + "Unpacking libsonic0:amd64 (0.2.0-6) ...\n", + "Selecting previously unselected package espeak-data:amd64.\n", + "Preparing to unpack .../espeak-data_1.48.04+dfsg-5_amd64.deb ...\n", + "Unpacking espeak-data:amd64 (1.48.04+dfsg-5) ...\n", + "Selecting previously unselected package libespeak1:amd64.\n", + "Preparing to unpack .../libespeak1_1.48.04+dfsg-5_amd64.deb ...\n", + "Unpacking libespeak1:amd64 (1.48.04+dfsg-5) ...\n", + "Selecting previously unselected package espeak.\n", + "Preparing to unpack .../espeak_1.48.04+dfsg-5_amd64.deb ...\n", + "Unpacking espeak (1.48.04+dfsg-5) ...\n", + "Setting up libportaudio2:amd64 (19.6.0-1) ...\n", + "Setting up espeak-data:amd64 (1.48.04+dfsg-5) ...\n", + "Setting up libsonic0:amd64 (0.2.0-6) ...\n", + "Setting up libespeak1:amd64 (1.48.04+dfsg-5) ...\n", + "Setting up espeak (1.48.04+dfsg-5) ...\n", + "Processing triggers for man-db (2.8.3-2ubuntu0.1) ...\n", + "Processing triggers for libc-bin (2.27-3ubuntu1.5) ...\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: flask in /usr/local/lib/python3.7/dist-packages (1.1.4)\n", + "Requirement already satisfied: click<8.0,>=5.1 in /usr/local/lib/python3.7/dist-packages (from flask) (7.1.2)\n", + "Requirement already satisfied: Jinja2<3.0,>=2.10.1 in /usr/local/lib/python3.7/dist-packages (from flask) (2.11.3)\n", + "Requirement already satisfied: itsdangerous<2.0,>=0.24 in /usr/local/lib/python3.7/dist-packages (from flask) (1.1.0)\n", + "Requirement already satisfied: Werkzeug<2.0,>=0.15 in /usr/local/lib/python3.7/dist-packages (from flask) (1.0.1)\n", + "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from Jinja2<3.0,>=2.10.1->flask) (2.0.1)\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting python-socketio\n", + " Downloading python_socketio-5.7.1-py3-none-any.whl (56 kB)\n", + "\u001b[K |████████████████████████████████| 56 kB 5.0 MB/s \n", + "\u001b[?25hCollecting bidict>=0.21.0\n", + " Downloading bidict-0.22.0-py3-none-any.whl (36 kB)\n", + "Collecting python-engineio>=4.3.0\n", + " Downloading python_engineio-4.3.4-py3-none-any.whl (52 kB)\n", + "\u001b[K |████████████████████████████████| 52 kB 2.0 MB/s \n", + "\u001b[?25hInstalling collected packages: python-engineio, bidict, python-socketio\n", + "Successfully installed bidict-0.22.0 python-engineio-4.3.4 python-socketio-5.7.1\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting eventlet\n", + " Downloading eventlet-0.33.1-py2.py3-none-any.whl (226 kB)\n", + "\u001b[K |████████████████████████████████| 226 kB 33.3 MB/s \n", + "\u001b[?25hCollecting dnspython>=1.15.0\n", + " Downloading dnspython-2.2.1-py3-none-any.whl (269 kB)\n", + "\u001b[K |████████████████████████████████| 269 kB 52.5 MB/s \n", + "\u001b[?25hRequirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.7/dist-packages (from eventlet) (1.15.0)\n", + "Requirement already satisfied: greenlet>=0.3 in /usr/local/lib/python3.7/dist-packages (from eventlet) (1.1.3)\n", + "Installing collected packages: dnspython, eventlet\n", + "Successfully installed dnspython-2.2.1 eventlet-0.33.1\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting unidecode\n", + " Downloading Unidecode-1.3.4-py3-none-any.whl (235 kB)\n", + "\u001b[K |████████████████████████████████| 235 kB 28.6 MB/s \n", + "\u001b[?25hInstalling collected packages: unidecode\n", + "Successfully installed unidecode-1.3.4\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting phonemizer\n", + " Downloading phonemizer-3.2.1-py3-none-any.whl (90 kB)\n", + "\u001b[K |████████████████████████████████| 90 kB 9.5 MB/s \n", + "\u001b[?25hCollecting segments\n", + " Downloading segments-2.2.1-py2.py3-none-any.whl (15 kB)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.7/dist-packages (from phonemizer) (1.1.0)\n", + "Collecting dlinfo\n", + " Downloading dlinfo-1.2.1-py3-none-any.whl (3.6 kB)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from phonemizer) (4.1.1)\n", + "Requirement already satisfied: attrs>=18.1 in /usr/local/lib/python3.7/dist-packages (from phonemizer) (22.1.0)\n", + "Collecting csvw>=1.5.6\n", + " Downloading csvw-3.1.1-py2.py3-none-any.whl (56 kB)\n", + "\u001b[K |████████████████████████████████| 56 kB 5.7 MB/s \n", + "\u001b[?25hRequirement already satisfied: regex in /usr/local/lib/python3.7/dist-packages (from segments->phonemizer) (2022.6.2)\n", + "Collecting clldutils>=1.7.3\n", + " Downloading clldutils-3.12.0-py2.py3-none-any.whl (197 kB)\n", + "\u001b[K |████████████████████████████████| 197 kB 63.8 MB/s \n", + "\u001b[?25hRequirement already satisfied: python-dateutil in /usr/local/lib/python3.7/dist-packages (from clldutils>=1.7.3->segments->phonemizer) (2.8.2)\n", + "Requirement already satisfied: tabulate>=0.7.7 in /usr/local/lib/python3.7/dist-packages (from clldutils>=1.7.3->segments->phonemizer) (0.8.10)\n", + "Collecting colorlog\n", + " Downloading colorlog-6.7.0-py2.py3-none-any.whl (11 kB)\n", + "Collecting colorama\n", + " Downloading colorama-0.4.5-py2.py3-none-any.whl (16 kB)\n", + "Requirement already satisfied: jsonschema in /usr/local/lib/python3.7/dist-packages (from csvw>=1.5.6->segments->phonemizer) (4.3.3)\n", + "Collecting rdflib\n", + " Downloading rdflib-6.2.0-py3-none-any.whl (500 kB)\n", + "\u001b[K |████████████████████████████████| 500 kB 53.6 MB/s \n", + "\u001b[?25hRequirement already satisfied: babel in /usr/local/lib/python3.7/dist-packages (from csvw>=1.5.6->segments->phonemizer) (2.10.3)\n", + "Collecting language-tags\n", + " Downloading language_tags-1.1.0-py2.py3-none-any.whl (210 kB)\n", + "\u001b[K |████████████████████████████████| 210 kB 65.4 MB/s \n", + "\u001b[?25hCollecting rfc3986<2\n", + " Downloading rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)\n", + "Requirement already satisfied: uritemplate>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from csvw>=1.5.6->segments->phonemizer) (3.0.1)\n", + "Collecting isodate\n", + " Downloading isodate-0.6.1-py2.py3-none-any.whl (41 kB)\n", + "\u001b[K |████████████████████████████████| 41 kB 763 kB/s \n", + "\u001b[?25hRequirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from csvw>=1.5.6->segments->phonemizer) (2.23.0)\n", + "Requirement already satisfied: pytz>=2015.7 in /usr/local/lib/python3.7/dist-packages (from babel->csvw>=1.5.6->segments->phonemizer) (2022.2.1)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from isodate->csvw>=1.5.6->segments->phonemizer) (1.15.0)\n", + "Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema->csvw>=1.5.6->segments->phonemizer) (0.18.1)\n", + "Requirement already satisfied: importlib-resources>=1.4.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema->csvw>=1.5.6->segments->phonemizer) (5.9.0)\n", + "Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from jsonschema->csvw>=1.5.6->segments->phonemizer) (4.12.0)\n", + "Requirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.7/dist-packages (from importlib-resources>=1.4.0->jsonschema->csvw>=1.5.6->segments->phonemizer) (3.8.1)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from rdflib->csvw>=1.5.6->segments->phonemizer) (57.4.0)\n", + "Requirement already satisfied: pyparsing in /usr/local/lib/python3.7/dist-packages (from rdflib->csvw>=1.5.6->segments->phonemizer) (3.0.9)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->csvw>=1.5.6->segments->phonemizer) (3.0.4)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->csvw>=1.5.6->segments->phonemizer) (2022.6.15)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->csvw>=1.5.6->segments->phonemizer) (2.10)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->csvw>=1.5.6->segments->phonemizer) (1.24.3)\n", + "Installing collected packages: isodate, rfc3986, rdflib, language-tags, colorama, csvw, colorlog, clldutils, segments, dlinfo, phonemizer\n", + "Successfully installed clldutils-3.12.0 colorama-0.4.5 colorlog-6.7.0 csvw-3.1.1 dlinfo-1.2.1 isodate-0.6.1 language-tags-1.1.0 phonemizer-3.2.1 rdflib-6.2.0 rfc3986-1.5.0 segments-2.2.1\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting retry\n", + " Downloading retry-0.9.2-py2.py3-none-any.whl (8.0 kB)\n", + "Requirement already satisfied: decorator>=3.4.2 in /usr/local/lib/python3.7/dist-packages (from retry) (4.4.2)\n", + "Requirement already satisfied: py<2.0.0,>=1.4.26 in /usr/local/lib/python3.7/dist-packages (from retry) (1.11.0)\n", + "Installing collected packages: retry\n", + "Successfully installed retry-0.9.2\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: flask in /usr/local/lib/python3.7/dist-packages (1.1.4)\n", + "Requirement already satisfied: itsdangerous<2.0,>=0.24 in /usr/local/lib/python3.7/dist-packages (from flask) (1.1.0)\n", + "Requirement already satisfied: Jinja2<3.0,>=2.10.1 in /usr/local/lib/python3.7/dist-packages (from flask) (2.11.3)\n", + "Requirement already satisfied: Werkzeug<2.0,>=0.15 in /usr/local/lib/python3.7/dist-packages (from flask) (1.0.1)\n", + "Requirement already satisfied: click<8.0,>=5.1 in /usr/local/lib/python3.7/dist-packages (from flask) (7.1.2)\n", + "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from Jinja2<3.0,>=2.10.1->flask) (2.0.1)\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting flask_cors\n", + " Downloading Flask_Cors-3.0.10-py2.py3-none-any.whl (14 kB)\n", + "Requirement already satisfied: Flask>=0.9 in /usr/local/lib/python3.7/dist-packages (from flask_cors) (1.1.4)\n", + "Requirement already satisfied: Six in /usr/local/lib/python3.7/dist-packages (from flask_cors) (1.15.0)\n", + "Requirement already satisfied: itsdangerous<2.0,>=0.24 in /usr/local/lib/python3.7/dist-packages (from Flask>=0.9->flask_cors) (1.1.0)\n", + "Requirement already satisfied: Jinja2<3.0,>=2.10.1 in /usr/local/lib/python3.7/dist-packages (from Flask>=0.9->flask_cors) (2.11.3)\n", + "Requirement already satisfied: Werkzeug<2.0,>=0.15 in /usr/local/lib/python3.7/dist-packages (from Flask>=0.9->flask_cors) (1.0.1)\n", + "Requirement already satisfied: click<8.0,>=5.1 in /usr/local/lib/python3.7/dist-packages (from Flask>=0.9->flask_cors) (7.1.2)\n", + "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from Jinja2<3.0,>=2.10.1->Flask>=0.9->flask_cors) (2.0.1)\n", + "Installing collected packages: flask-cors\n", + "Successfully installed flask-cors-3.0.10\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "get_ipython().system_raw(f'python3 serverFlask.py 8082 {CONFIG} {MODEL} >foo 2>&1 &')" + ], + "metadata": { + "id": "iNOAB7zISI6J" + }, + "execution_count": 14, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!cat foo" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "chu06KpAjEK6", + "outputId": "887c2d50-c49f-4a22-f0d0-8a3667511466" + }, + "execution_count": 18, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[2022-08-31 06:17:58,669] INFO in serverFlask: INITIALIZE MODEL\n", + "[2022-08-31 06:18:08,764] INFO in utils: Loaded checkpoint '/content/drive/MyDrive/VoiceChanger/G_326000.pth' (iteration 1136)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from google.colab import output\n", + "\n", + "output.serve_kernel_port_as_window(8082)" + ], + "metadata": { + "id": "nkRjZm95l87C", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "abf57f92-5cb6-4325-b64a-095d42f561d5" + }, + "execution_count": 27, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "application/javascript": [ + "(async (port, path, text, element) => {\n", + " if (!google.colab.kernel.accessAllowed) {\n", + " return;\n", + " }\n", + " element.appendChild(document.createTextNode(''));\n", + " const url = await google.colab.kernel.proxyPort(port);\n", + " const anchor = document.createElement('a');\n", + " anchor.href = new URL(path, url).toString();\n", + " anchor.target = '_blank';\n", + " anchor.setAttribute('data-href', url + path);\n", + " anchor.textContent = text;\n", + " element.appendChild(anchor);\n", + " })(8082, \"/\", \"https://localhost:8082/\", window.element)" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "! ls ../frontend/dist/index.html" + ], + "metadata": { + "id": "DKWni4moSyzO", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b5635a1e-6ac6-41db-a706-dc3e5fb866a5" + }, + "execution_count": 23, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "../frontend/dist/index.html\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "3hwJmseXZhJY" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file