mirror of
https://github.com/w-okada/voice-changer.git
synced 2025-01-23 05:25:01 +03:00
179 lines
5.8 KiB
Plaintext
179 lines
5.8 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"id": "Lbbmx_Vjl0zo"
|
|
},
|
|
"source": [
|
|
"Realtime Voice Changer by w-okada\n",
|
|
"---\n",
|
|
"\n",
|
|
"This is a attempt to run [Realtime Voice Changer](https://github.com/w-okada/voice-changer) on Google Colab.\\\n",
|
|
"Colab File updated by [rafacasari](https://github.com/Rafacasari)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"cellView": "form",
|
|
"id": "vV1t7PBRm-o6"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# @title **Always use Colab GPU!**\n",
|
|
"# @markdown **A GPU can be used for faster processing.**\\\n",
|
|
"# @markdown You can check the Colab GPU running this cell.\\\n",
|
|
"# @markdown or use the menu **Runtime** -> **Change runtime** -> **Hardware acceleration** to select a GPU, if needed.\n",
|
|
"!nvidia-smi"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"id": "aLypf-RLIK-w"
|
|
},
|
|
"source": [
|
|
"---"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"cellView": "form",
|
|
"id": "RhdqDSt-LfGr"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# @title **[Optional]** Setup/Start Google Drive\n",
|
|
"# @markdown Using Google Drive can improve load times, since you will not need to re-download every time you use this.\n",
|
|
"\n",
|
|
"import os\n",
|
|
"from google.colab import drive\n",
|
|
"\n",
|
|
"if not os.path.exists('/content/drive'):\n",
|
|
" drive.mount('/content/drive')\n",
|
|
"\n",
|
|
"%cd /content/drive/MyDrive"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"cellView": "form",
|
|
"id": "86wTFmqsNMnD"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# @title **[1]** Clone the repository\n",
|
|
"# @markdown Clone the repository using this cell, this process should be really fast.\n",
|
|
"\n",
|
|
"!git clone --depth 1 https://github.com/w-okada/voice-changer.git &> /dev/null\n",
|
|
"\n",
|
|
"%cd voice-changer/server/\n",
|
|
"print(\"\\033[92mSuccessfully cloned the repository, proceed to the next cell!\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"cellView": "form",
|
|
"id": "LwZAAuqxX7yY"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# @title **[2]** Install Modules\n",
|
|
"# @markdown This cell can take a few minutes to run.\n",
|
|
"\n",
|
|
"!apt-get install libportaudio2 &> /dev/null\n",
|
|
"!pip install onnxruntime-gpu uvicorn faiss-gpu fairseq jedi google-colab moviepy decorator==4.4.2 sounddevice numpy==1.23.5 pyngrok --quiet\n",
|
|
"!pip install -r requirements.txt --no-build-isolation --quiet\n",
|
|
"# Maybe install Tensor packages?\n",
|
|
"#!pip install torch-tensorrt\n",
|
|
"#!pip install TensorRT\n",
|
|
"print(\"\\033[92mSuccessfully installed all packages!\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"cellView": "form",
|
|
"id": "lQxvqDH2D1MK"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# @title **[3]** Setup ngrok account\n",
|
|
"# @markdown Setup a free account at [Ngrok](https://dashboard.ngrok.com/signup), then click [this link](https://dashboard.ngrok.com/get-started/your-authtoken) to get your auth token, copy it and place it here:\n",
|
|
"\n",
|
|
"NgrokToken = '' # @param {type:\"string\"}\n",
|
|
"\n",
|
|
"!ngrok config add-authtoken {NgrokToken}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"id": "lLWQuUd7WW9U",
|
|
"cellView": "form"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# @title **[4]** Start Server\n",
|
|
"# @markdown **Run this cell AFTER ngrok setup!**\\\n",
|
|
"# @markdown This cell will start the server, the first time that you run it will download the example models, so it can take a while and console may be spammed a little bit. **So be fast to open the server link.**\n",
|
|
"import portpicker\n",
|
|
"PORT = portpicker.pick_unused_port()\n",
|
|
"\n",
|
|
"from pyngrok import ngrok\n",
|
|
"public_url = ngrok.connect(PORT).public_url\n",
|
|
"\n",
|
|
"print(\"Your server will be available at:\")\n",
|
|
"print(public_url)\n",
|
|
"print(public_url)\n",
|
|
"print(public_url)\n",
|
|
"print(\"Starting the server in 3 seconds\")\n",
|
|
"\n",
|
|
"!sleep 3\n",
|
|
"!python3 MMVCServerSIO.py \\\n",
|
|
" -p {PORT} \\\n",
|
|
" --https False \\\n",
|
|
" --content_vec_500 pretrain/checkpoint_best_legacy_500.pt \\\n",
|
|
" --content_vec_500_onnx pretrain/content_vec_500.onnx \\\n",
|
|
" --content_vec_500_onnx_on true \\\n",
|
|
" --hubert_base pretrain/hubert_base.pt \\\n",
|
|
" --hubert_base_jp pretrain/rinna_hubert_base_jp.pt \\\n",
|
|
" --hubert_soft pretrain/hubert/hubert-soft-0d54a1f4.pt \\\n",
|
|
" --nsf_hifigan pretrain/nsf_hifigan/model \\\n",
|
|
" --crepe_onnx_full pretrain/crepe_onnx_full.onnx \\\n",
|
|
" --crepe_onnx_tiny pretrain/crepe_onnx_tiny.onnx \\\n",
|
|
" --rmvpe pretrain/rmvpe.pt \\\n",
|
|
" --model_dir model_dir \\\n",
|
|
" --samples samples.json \\\n",
|
|
" --colab True"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"accelerator": "GPU",
|
|
"colab": {
|
|
"provenance": []
|
|
},
|
|
"gpuClass": "standard",
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"name": "python"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 0
|
|
}
|