2023-02-17 00:08:27 +00:00
|
|
|
{
|
|
|
|
"nbformat":4,
|
|
|
|
"nbformat_minor":0,
|
|
|
|
"metadata":{
|
|
|
|
"colab":{
|
2023-02-18 16:30:05 +00:00
|
|
|
"private_outputs":true,
|
|
|
|
"provenance":[
|
|
|
|
|
|
|
|
]
|
2023-02-17 00:08:27 +00:00
|
|
|
},
|
|
|
|
"kernelspec":{
|
|
|
|
"name":"python3",
|
|
|
|
"display_name":"Python 3"
|
|
|
|
},
|
|
|
|
"language_info":{
|
|
|
|
"name":"python"
|
|
|
|
},
|
|
|
|
"accelerator":"GPU",
|
|
|
|
"gpuClass":"standard"
|
|
|
|
},
|
|
|
|
"cells":[
|
|
|
|
{
|
|
|
|
"cell_type":"markdown",
|
|
|
|
"source":[
|
|
|
|
"## Initialization"
|
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"ni41hmE03DL6"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type":"code",
|
|
|
|
"execution_count":null,
|
|
|
|
"metadata":{
|
|
|
|
"id":"FtsMKKfH18iM"
|
|
|
|
},
|
|
|
|
"outputs":[
|
|
|
|
|
|
|
|
],
|
|
|
|
"source":[
|
2023-10-24 23:39:46 +00:00
|
|
|
"!apt install python3.10-venv\n",
|
2023-02-17 00:08:27 +00:00
|
|
|
"!git clone https://git.ecker.tech/mrq/ai-voice-cloning/\n",
|
2023-03-08 15:51:13 +00:00
|
|
|
"%cd /content/ai-voice-cloning\n",
|
2023-10-24 23:39:46 +00:00
|
|
|
"# get local dependencies\n",
|
|
|
|
"!git submodule init\n",
|
|
|
|
"!git submodule update --remote\n",
|
|
|
|
"# setup venv\n",
|
|
|
|
"!python3 -m venv venv\n",
|
|
|
|
"!source ./venv/bin/activate\n",
|
|
|
|
"!python3 -m pip install --upgrade pip # just to be safe\n",
|
|
|
|
"# CUDA\n",
|
|
|
|
"!pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118\n",
|
|
|
|
"# install requirements\n",
|
|
|
|
"!python3 -m pip install -r ./modules/tortoise-tts/requirements.txt # install TorToiSe requirements\n",
|
|
|
|
"!python3 -m pip install -e ./modules/tortoise-tts/ # install TorToiSe\n",
|
|
|
|
"!python3 -m pip install -r ./modules/dlas/requirements.txt # instal DLAS requirements, last, because whisperx will break a dependency here\n",
|
|
|
|
"!python3 -m pip install -e ./modules/dlas/ # install DLAS\n",
|
|
|
|
"!python3 -m pip install -r ./requirements.txt # install local requirements"
|
2023-02-17 00:08:27 +00:00
|
|
|
]
|
|
|
|
},
|
2023-02-17 20:18:57 +00:00
|
|
|
{
|
|
|
|
"cell_type":"markdown",
|
|
|
|
"source":[
|
2023-02-18 02:07:22 +00:00
|
|
|
"# Update Repos"
|
2023-02-17 20:18:57 +00:00
|
|
|
],
|
|
|
|
"metadata":{
|
2023-02-18 02:07:22 +00:00
|
|
|
"id":"IzrGt5IcHlAD"
|
2023-02-17 20:18:57 +00:00
|
|
|
}
|
|
|
|
},
|
2023-02-17 00:08:27 +00:00
|
|
|
{
|
|
|
|
"cell_type":"code",
|
|
|
|
"source":[
|
2023-02-18 16:30:05 +00:00
|
|
|
"# for my debugging purposes\n",
|
2023-02-20 22:56:39 +00:00
|
|
|
"%cd /content/ai-voice-cloning/\n",
|
2023-02-20 23:12:53 +00:00
|
|
|
"!./update.sh"
|
2023-02-17 00:08:27 +00:00
|
|
|
],
|
|
|
|
"metadata":{
|
2023-02-18 02:07:22 +00:00
|
|
|
"id":"3DktoOXSHmtw"
|
2023-02-17 00:08:27 +00:00
|
|
|
},
|
|
|
|
"execution_count":null,
|
|
|
|
"outputs":[
|
|
|
|
|
|
|
|
]
|
|
|
|
},
|
2023-02-18 02:07:22 +00:00
|
|
|
{
|
|
|
|
"cell_type":"markdown",
|
|
|
|
"source":[
|
|
|
|
"# Mount Drive"
|
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"2Y4t9zDIZMTg"
|
|
|
|
}
|
|
|
|
},
|
2023-02-17 20:18:57 +00:00
|
|
|
{
|
|
|
|
"cell_type":"code",
|
|
|
|
"source":[
|
2023-02-18 16:30:05 +00:00
|
|
|
"# only run once, this will save all userdata to your Drive\n",
|
2023-02-22 15:45:41 +00:00
|
|
|
"# it shouldn't delete through symlinks, but you never know\n",
|
|
|
|
"\n",
|
2023-02-17 20:18:57 +00:00
|
|
|
"from google.colab import drive\n",
|
2023-02-18 02:07:22 +00:00
|
|
|
"\n",
|
|
|
|
"%cd /content/ai-voice-cloning\n",
|
2023-02-22 15:45:41 +00:00
|
|
|
"drive.flush_and_unmount()\n",
|
|
|
|
"!rm -r ./{training,results,voices,config}\n",
|
|
|
|
"drive.mount('/content/drive')\n",
|
|
|
|
"!mkdir /content/drive/MyDrive/ai-voice-cloning/\n",
|
|
|
|
"!mv /content/drive/MyDrive/{training,results,voices,config} /content/drive/MyDrive/ai-voice-cloning\n",
|
|
|
|
"!mkdir /content/drive/MyDrive/ai-voice-cloning/{training,results,voices,config}\n",
|
2023-02-24 16:23:30 +00:00
|
|
|
"!ln -s /content/drive/MyDrive/ai-voice-cloning/{training,results,voices,config} ./"
|
2023-02-17 20:18:57 +00:00
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"SGt9gyvubveT"
|
|
|
|
},
|
|
|
|
"execution_count":null,
|
|
|
|
"outputs":[
|
|
|
|
|
|
|
|
]
|
|
|
|
},
|
2023-02-17 00:08:27 +00:00
|
|
|
{
|
|
|
|
"cell_type":"markdown",
|
|
|
|
"source":[
|
2023-03-08 15:51:13 +00:00
|
|
|
"## Running"
|
2023-02-20 23:12:53 +00:00
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"EM3iNqgJF6Be"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type":"code",
|
|
|
|
"source":[
|
|
|
|
"%cd /content/ai-voice-cloning/\n",
|
2023-10-24 23:39:46 +00:00
|
|
|
"!source ./venv/bin/activate\n",
|
|
|
|
"!python3 ./src/main.py --share"
|
2023-02-20 23:12:53 +00:00
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"QRA8jF3cF-YJ"
|
|
|
|
},
|
|
|
|
"execution_count":null,
|
|
|
|
"outputs":[
|
|
|
|
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type":"markdown",
|
|
|
|
"source":[
|
|
|
|
"# Restart Runtime"
|
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"vH9KU7SMGDxb"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type":"code",
|
|
|
|
"source":[
|
|
|
|
"exit()"
|
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"EWeyUPvgGDX5"
|
|
|
|
},
|
|
|
|
"execution_count":null,
|
|
|
|
"outputs":[
|
|
|
|
|
|
|
|
]
|
|
|
|
},
|
2023-02-17 20:18:57 +00:00
|
|
|
{
|
|
|
|
"cell_type":"markdown",
|
|
|
|
"source":[
|
|
|
|
"# Fallback Training"
|
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"ggLY9A9KA21D"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type":"code",
|
|
|
|
"source":[
|
2023-02-18 02:07:22 +00:00
|
|
|
"# This is in case you can't get training through the web UI\n",
|
2023-02-17 20:18:57 +00:00
|
|
|
"%cd /content/ai-voice-cloning\n",
|
2023-02-18 02:07:22 +00:00
|
|
|
"!python ./dlas/codes/train.py -opt ./training/finetune.yaml"
|
2023-02-17 20:18:57 +00:00
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"-KayB8klA5tY"
|
|
|
|
},
|
2023-02-17 00:08:27 +00:00
|
|
|
"execution_count":null,
|
|
|
|
"outputs":[
|
|
|
|
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type":"markdown",
|
|
|
|
"source":[
|
|
|
|
"## Exporting"
|
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"2AnVQxEJx47p"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type":"code",
|
|
|
|
"source":[
|
2023-02-22 15:45:41 +00:00
|
|
|
"# if you're not using drive mounting\n",
|
2023-02-17 03:30:53 +00:00
|
|
|
"%cd /content/ai-voice-cloning\n",
|
2023-02-17 00:08:27 +00:00
|
|
|
"!apt install -y p7zip-full\n",
|
|
|
|
"from datetime import datetime\n",
|
|
|
|
"timestamp = datetime.now().strftime('%m-%d-%Y_%H:%M:%S')\n",
|
2023-02-18 02:07:22 +00:00
|
|
|
"!mkdir -p \"../{timestamp}/results\"\n",
|
|
|
|
"!mv ./results/* \"../{timestamp}/results/.\"\n",
|
|
|
|
"!mv ./training/* \"../{timestamp}/training/.\"\n",
|
2023-02-17 00:08:27 +00:00
|
|
|
"!7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on \"../{timestamp}.7z\" \"../{timestamp}/\"\n",
|
|
|
|
"!ls ~/\n",
|
|
|
|
"!echo \"Finished zipping, archive is available at {timestamp}.7z\""
|
|
|
|
],
|
|
|
|
"metadata":{
|
|
|
|
"id":"YOACiDCXx72G"
|
|
|
|
},
|
|
|
|
"execution_count":null,
|
|
|
|
"outputs":[
|
|
|
|
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|