diff --git a/VoiceChangerDemo.ipynb b/VoiceChangerDemo.ipynb index 48d744aa..f5fcc046 100644 --- a/VoiceChangerDemo.ipynb +++ b/VoiceChangerDemo.ipynb @@ -5,7 +5,7 @@ "colab": { "name": "VoiceChangerDemo", "provenance": [], - "authorship_tag": "ABX9TyMYxiOpYpg7Jdcqs6o5zO6u", + "authorship_tag": "ABX9TyN+y1T1MS3ZgOANG4v8pjEP", "include_colab_link": true }, "kernelspec": { @@ -74,7 +74,7 @@ "base_uri": "https://localhost:8080/" }, "id": "vV1t7PBRm-o6", - "outputId": "58e3f73b-3a8f-417a-b76c-c650f94669a7" + "outputId": "d87ce1ad-decb-4589-b1d5-dc2d6d36415d" }, "execution_count": 1, "outputs": [ @@ -82,7 +82,7 @@ "output_type": "stream", "name": "stdout", "text": [ - "Sat Dec 10 06:05:51 2022 \n", + "Thu Jan 12 09:34:13 2023 \n", "+-----------------------------------------------------------------------------+\n", "| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 |\n", "|-------------------------------+----------------------+----------------------+\n", @@ -91,7 +91,7 @@ "| | | MIG M. |\n", "|===============================+======================+======================|\n", "| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n", - "| N/A 47C P0 26W / 70W | 0MiB / 15109MiB | 0% Default |\n", + "| N/A 71C P8 13W / 70W | 0MiB / 15109MiB | 0% Default |\n", "| | | N/A |\n", "+-------------------------------+----------------------+----------------------+\n", " \n", @@ -123,8 +123,14 @@ "cell_type": "code", "source": [ "# (2-1) 使用するモデルとコンフィグファイルの指定\n", + "if \"MODEL\" in locals():\n", + " del MODEL\n", + "if \"ONNX\" in locals():\n", + " del ONNX\n", + "\n", "CONFIG=\"/content/drive/MyDrive/VoiceChanger/config.json\"\n", - "MODEL=\"/content/drive/MyDrive/VoiceChanger/G_326000.pth\"" + "#MODEL=\"/content/drive/MyDrive/VoiceChanger/G_326000.pth\"\n", + "ONNX=\"/content/drive/MyDrive/VoiceChanger/G_326000.onnx\"" ], "metadata": { "id": "nSXATMWYb4Ik" @@ -140,7 +146,7 @@ "base_uri": "https://localhost:8080/" }, "id": "2wxD-gRSMU5R", - "outputId": "17c5e430-da38-41b4-b59d-032e0a6639b9" + "outputId": "6142b113-1ee8-4548-ae7f-9e32fe47d592" }, "outputs": [ { @@ -171,18 +177,17 @@ "cell_type": "code", "source": [ "# (3) リポジトリのクローン\n", - "!git clone --depth 1 https://github.com/w-okada/voice-changer.git -b ver_1.2\n", - "%cd voice-changer/demo/MMVC_Trainer/monotonic_align \n", - "!cythonize -3 -i core.pyx &> /dev/null\n", - "!mv core.cpython-*.so monotonic_align &> /dev/null\n", - "%cd /content/voice-changer/demo/\n" + "!git clone --depth 1 https://github.com/w-okada/voice-changer.git -b v.1.3.2\n", + "%cd voice-changer/server\n", + "!git clone --depth 1 https://github.com/isletennos/MMVC_Trainer.git -b v1.3.2.2\n", + "!cd MMVC_Trainer/monotonic_align/ && python setup.py build_ext --inplace && cd -" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "86wTFmqsNMnD", - "outputId": "aa92d88d-4bd6-4931-f801-79a32b7f6abe" + "outputId": "98890058-6301-4c50-8779-d7b5098cdb55" }, "execution_count": 4, "outputs": [ @@ -191,13 +196,21 @@ "name": "stdout", "text": [ "Cloning into 'voice-changer'...\n", - "remote: Enumerating objects: 1030, done.\u001b[K\n", - "remote: Counting objects: 100% (1030/1030), done.\u001b[K\n", - "remote: Compressing objects: 100% (919/919), done.\u001b[K\n", - "remote: Total 1030 (delta 21), reused 982 (delta 11), pack-reused 0\u001b[K\n", - "Receiving objects: 100% (1030/1030), 71.87 MiB | 22.15 MiB/s, done.\n", + "remote: Enumerating objects: 143, done.\u001b[K\n", + "remote: Counting objects: 100% (143/143), done.\u001b[K\n", + "remote: Compressing objects: 100% (128/128), done.\u001b[K\n", + "remote: Total 143 (delta 21), reused 57 (delta 5), pack-reused 0\u001b[K\n", + "Receiving objects: 100% (143/143), 1.51 MiB | 4.06 MiB/s, done.\n", "Resolving deltas: 100% (21/21), done.\n", - "Note: checking out 'e824f89e8fac9d202d5ff72ebb13a4e1bf57b4d3'.\n", + "/content/voice-changer/server\n", + "Cloning into 'MMVC_Trainer'...\n", + "remote: Enumerating objects: 920, done.\u001b[K\n", + "remote: Counting objects: 100% (920/920), done.\u001b[K\n", + "remote: Compressing objects: 100% (830/830), done.\u001b[K\n", + "remote: Total 920 (delta 4), reused 891 (delta 1), pack-reused 0\u001b[K\n", + "Receiving objects: 100% (920/920), 53.04 MiB | 16.74 MiB/s, done.\n", + "Resolving deltas: 100% (4/4), done.\n", + "Note: checking out 'f17c8c57d1ab7512633e6c57521f1eef6851bd0e'.\n", "\n", "You are in 'detached HEAD' state. You can look around, make experimental\n", "changes and commit them, and you can discard any commits you make in this\n", @@ -208,118 +221,17 @@ "\n", " git checkout -b \n", "\n", - "/content/voice-changer/demo/MMVC_Trainer/monotonic_align\n", - "/content/voice-changer/demo\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "# ファイルの配置\n", - "アプリケーションの挙動を記した設定ファイルをコピーします(4-1)。(4-2)はコピーした設定ファイルを表示しています。もしかしたらうまく動かないときに役立つかもしれません。" - ], - "metadata": { - "id": "jmDY8W_fnuSi" - } - }, - { - "cell_type": "code", - "source": [ - "# (4-1) 設定ファイルの配置\n", - "!cp ../template/setting_mmvc_colab.json ../frontend/dist/assets/setting.json\n" - ], - "metadata": { - "id": "Bn4kV8TgXp8i" - }, - "execution_count": 5, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "# (4-2) 設定ファイルの確認\n", - "!cat ../frontend/dist/assets/setting.json\n" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "pjxPsOOaXXTj", - "outputId": "2c418c42-235e-4d7b-db62-858c226a2478" - }, - "execution_count": 6, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "{\n", - " \"app_title\": \"voice-changer\",\n", - " \"majar_mode\": \"colab\",\n", - " \"voice_changer_server_url\": \"/test\",\n", - " \"sample_rate\": 48000,\n", - " \"buffer_size\": 1024,\n", - " \"prefix_chunk_size\": 48,\n", - " \"chunk_size\": 48,\n", - " \"speakers\": [\n", - " {\n", - " \"id\": 100,\n", - " \"name\": \"ずんだもん\"\n", - " },\n", - " {\n", - " \"id\": 107,\n", - " \"name\": \"user\"\n", - " },\n", - " {\n", - " \"id\": 101,\n", - " \"name\": \"そら\"\n", - " },\n", - " {\n", - " \"id\": 102,\n", - " \"name\": \"めたん\"\n", - " },\n", - " {\n", - " \"id\": 103,\n", - " \"name\": \"つむぎ\"\n", - " }\n", - " ],\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", - " \"screen\": {\n", - " \"enable_screen\": true,\n", - " \"backgournd_image_url\": \"./assets/images/bg_natural_sougen.jpg\"\n", - " },\n", - " \"avatar\": {\n", - " \"enable_avatar\": false,\n", - " \"motion_capture_face\": false,\n", - " \"motion_capture_upperbody\": false,\n", - " \"lip_overwrite_with_voice\": false,\n", - " \"avatar_url\": \"./assets/vrm/zundamon/zundamon.vrm\",\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_offset_rate\": 0.3,\n", - " \"cross_fade_end_rate\": 0.6,\n", - " \"cross_fade_type\": 2\n", - " },\n", - " \"transcribe\": {\n", - " \"lang\": \"日本語(ja-JP)\",\n", - " \"expire_time\": 5\n", - " }\n", - "}\n" + "Compiling core.pyx because it changed.\n", + "[1/1] Cythonizing core.pyx\n", + "/usr/local/lib/python3.8/dist-packages/Cython/Compiler/Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /content/voice-changer/server/MMVC_Trainer/monotonic_align/core.pyx\n", + " tree = Parsing.p_module(s, pxd, full_module_name)\n", + "running build_ext\n", + "building 'monotonic_align.core' extension\n", + "creating build\n", + "creating build/temp.linux-x86_64-3.8\n", + "x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.8/dist-packages/numpy/core/include -I/usr/include/python3.8 -c core.c -o build/temp.linux-x86_64-3.8/core.o\n", + "x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 -Wl,-Bsymbolic-functions -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/core.o -o /content/voice-changer/server/MMVC_Trainer/monotonic_align/monotonic_align/core.cpython-38-x86_64-linux-gnu.so\n", + "/content/voice-changer/server\n" ] } ] @@ -348,12 +260,13 @@ "!pip install python-multipart &> /dev/null\n", "!pip install uvicorn &> /dev/null\n", "!pip install websockets &> /dev/null\n", - "!pip install pyOpenSSL &> /dev/null" + "!pip install pyOpenSSL &> /dev/null\n", + "!pip install onnxruntime-gpu &> /dev/null" ], "metadata": { "id": "LwZAAuqxX7yY" }, - "execution_count": 7, + "execution_count": 5, "outputs": [] }, { @@ -374,15 +287,13 @@ "**`INFO:root:Loaded checkpoint ...`**\n", "\n", "```\n", - "INFO:root:Loaded checkpoint '/content/drive/MyDrive/VoiceChanger/G_326000.pth' (iteration 1136)\n", - "VoiceChanger Initialized (GPU_NUM:1)\n", + " warnings.warn(\n", + " Phase name:__main__\n", + " PHASE3:__main__\n", + "VoiceChanger Initialized (GPU_NUM:1, mps_enabled:False)\n", " PHASE1:__main__\n", "Start MMVC SocketIO Server\n", - " CONFIG:/content/drive/MyDrive/VoiceChanger/config.json, MODEL:/content/drive/MyDrive/VoiceChanger/G_326000.pth\n", - "DEBUG:asyncio:Using selector: EpollSelector\n", - " Phase name:MMVCServerSIO\n", - " PHASE3:MMVCServerSIO\n", - "INFO:root:Loaded checkpoint '/content/drive/MyDrive/VoiceChanger/G_326000.pth' (iteration 1136)\n", + " CONFIG:/content/drive/MyDrive/VoiceChanger/config.json, MODEL:None ONNX_MODEL:/content/drive/MyDrive/VoiceChanger/G_326000.onnx\n", "```\n", "\n" ], @@ -398,13 +309,22 @@ "PORT = 10000 + random.randint(1, 9999)\n", "LOG_FILE = f\"LOG_FILE_{PORT}\"\n", "\n", - "get_ipython().system_raw(f'python3 MMVCServerSIO.py -t MMVC -p {PORT} -c {CONFIG} -m {MODEL} --colab True >{LOG_FILE} 2>&1 &')\n", + "if \"MODEL\" in locals() and \"ONNX\" in locals():\n", + " model_param = f\" -m {MODEL} -o {ONNX}\"\n", + "elif \"MODEL\" in locals():\n", + " model_param = f\" -m {MODEL}\"\n", + "elif \"ONNX\" in locals():\n", + " model_param = f\" -o {ONNX}\"\n", + "else:\n", + " model_param = f\"\"\n", + "\n", + "get_ipython().system_raw(f'python3 MMVCServerSIO.py -t MMVC -p {PORT} -c {CONFIG} {model_param} --colab True >{LOG_FILE} 2>&1 &')\n", "#print(f\"PORT:{PORT}, LOG_FILE:{LOG_FILE}\")" ], "metadata": { "id": "iNOAB7zISI6J" }, - "execution_count": 8, + "execution_count": 17, "outputs": [] }, { @@ -418,25 +338,24 @@ "base_uri": "https://localhost:8080/" }, "id": "chu06KpAjEK6", - "outputId": "2b9883a7-b350-4958-af11-8d48ad833bbb" + "outputId": "8186d701-e52f-49b7-80b8-c71a90185ce2" }, - "execution_count": 10, + "execution_count": 26, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ + "/usr/local/lib/python3.8/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py:54: UserWarning: Specified provider 'OpenVINOExecutionProvider' is not in available provider names.Available providers: 'TensorrtExecutionProvider, CUDAExecutionProvider, CPUExecutionProvider'\n", + " warnings.warn(\n", + "/usr/local/lib/python3.8/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py:54: UserWarning: Specified provider 'DmlExecutionProvider' is not in available provider names.Available providers: 'TensorrtExecutionProvider, CUDAExecutionProvider, CPUExecutionProvider'\n", + " warnings.warn(\n", "\u001b[32m Phase name:__main__\u001b[0m\n", "\u001b[32m PHASE3:__main__\u001b[0m\n", - "INFO:root:Loaded checkpoint '/content/drive/MyDrive/VoiceChanger/G_326000.pth' (iteration 1136)\n", - "VoiceChanger Initialized (GPU_NUM:1)\n", + "VoiceChanger Initialized (GPU_NUM:1, mps_enabled:False)\n", "\u001b[32m PHASE1:__main__\u001b[0m\n", "\u001b[17mStart MMVC SocketIO Server\u001b[0m\n", - "\u001b[34m CONFIG:/content/drive/MyDrive/VoiceChanger/config.json, MODEL:/content/drive/MyDrive/VoiceChanger/G_326000.pth\u001b[0m\n", - "DEBUG:asyncio:Using selector: EpollSelector\n", - "\u001b[32m Phase name:MMVCServerSIO\u001b[0m\n", - "\u001b[32m PHASE3:MMVCServerSIO\u001b[0m\n", - "INFO:root:Loaded checkpoint '/content/drive/MyDrive/VoiceChanger/G_326000.pth' (iteration 1136)\n" + "\u001b[34m CONFIG:/content/drive/MyDrive/VoiceChanger/config.json, MODEL:None ONNX_MODEL:/content/drive/MyDrive/VoiceChanger/G_326000.onnx\u001b[0m\n" ] } ] @@ -461,7 +380,7 @@ "# (7) プロキシを起動\n", "from google.colab.output import eval_js\n", "proxy = eval_js( \"google.colab.kernel.proxyPort(\" + str(PORT) + \")\" )\n", - "print(f\"{proxy}front/\")" + "print(f\"{proxy}front/?colab=true\")" ], "metadata": { "id": "nkRjZm95l87C", @@ -469,15 +388,15 @@ "base_uri": "https://localhost:8080/", "height": 34 }, - "outputId": "2cc7ba41-08d9-4582-ad15-959c741597a0" + "outputId": "fd12861a-5d2e-4d7c-cb8d-ec339abe671b" }, - "execution_count": 11, + "execution_count": 28, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "https://5qu91u3piw-496ff2e9c6d22116-11612-colab.googleusercontent.com/front/\n" + "https://ta48o8p4y4e-496ff2e9c6d22116-16132-colab.googleusercontent.com/front/?colab=true\n" ] } ] diff --git a/VoiceChangerDemo_Simple.ipynb b/VoiceChangerDemo_Simple.ipynb index 684a836e..247ad366 100644 --- a/VoiceChangerDemo_Simple.ipynb +++ b/VoiceChangerDemo_Simple.ipynb @@ -4,7 +4,7 @@ "metadata": { "colab": { "provenance": [], - "authorship_tag": "ABX9TyNHic28siLmJowyxLZXYH/C", + "authorship_tag": "ABX9TyP/3QiGmJfI/yvB8/t/WTXG", "include_colab_link": true }, "kernelspec": { @@ -231,8 +231,7 @@ " PHASE3:__main__\n", " PHASE1:__main__\n", "Start MMVC SocketIO Server\n", - " CONFIG:None, MODEL:None\n", - "DEBUG:asyncio:Using selector: EpollSelector\n", + " CONFIG:None, MODEL:None ONNX_MODEL:None\n", "```\n", "\n" ],