{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "ymhGfgFSR17k"
},
"source": [
"## **Applio**\n",
"Ultimate voice cloning tool, meticulously optimized for unrivaled power, modularity, and user-friendly experience.\n",
"\n",
"[Support](https://discord.gg/IAHispano) — [Discord Bot](https://discord.com/oauth2/authorize?client_id=1144714449563955302&permissions=1376674695271&scope=bot%20applications.commands) — [Find Voices](https://applio.org/models) — [GitHub](https://github.com/IAHispano/Applio)\n",
"\n",
"
\n",
"\n",
"### **Credits**\n",
"- Encryption method: [Hina](https://github.com/hinabl)\n",
"- Extra section: [Poopmaster](https://github.com/poiqazwsx)\n",
"- Main development: [Applio Team](https://github.com/IAHispano)\n",
"\n",
"
\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"cellView": "form",
"id": "vtON700qokuQ"
},
"outputs": [],
"source": [
"# @title **Install Applio**\n",
"\n",
"import codecs\n",
"import time\n",
"import os\n",
"import csv\n",
"import shutil\n",
"import tarfile\n",
"import subprocess\n",
"from pathlib import Path\n",
"from datetime import datetime\n",
"\n",
"rot_47 = lambda encoded_text: \"\".join(\n",
" [\n",
" (\n",
" chr(\n",
" (ord(c) - (ord(\"a\") if c.islower() else ord(\"A\")) - 47) % 26\n",
" + (ord(\"a\") if c.islower() else ord(\"A\"))\n",
" )\n",
" if c.isalpha()\n",
" else c\n",
" )\n",
" for c in encoded_text\n",
" ]\n",
")\n",
"\n",
"org_name = rot_47(\"Vkkgdj\")\n",
"new_name = rot_47(\"kmjbmvh_hg\")\n",
"uioawhd = rot_47(codecs.decode(\"pbbxa://oqbpcj.kwu/QIPqaxivw/Ixxtqw.oqb\", \"rot_13\"))\n",
"uyadwa = codecs.decode(\"ncc.cl\", \"rot_13\")\n",
"!git clone --depth 1 $uioawhd\n",
"!mv $org_name $new_name\n",
"%cd $new_name/\n",
"\n",
"from IPython.display import clear_output, Javascript\n",
"\n",
"clear_output()\n",
"\n",
"E = Exception\n",
"B = print\n",
"\n",
"\n",
"def vidal_setup(ForceIn):\n",
" L = \"Kikpm.ovm.bu\"\n",
" K = \"/content/\"\n",
" C = ForceIn\n",
"\n",
" def F():\n",
" print(\"Installing pip packages...\")\n",
" subprocess.check_call([\"pip\", \"install\", \"-r\", \"requirements.txt\", \"--quiet\"])\n",
"\n",
" A = K + rot_47(L)\n",
" G = K + rot_47(L)\n",
" D = \"/\"\n",
" if not os.path.exists(A):\n",
" M = os.path.dirname(A)\n",
" os.makedirs(M, exist_ok=True)\n",
" print(\"No cached install found..\")\n",
" try:\n",
" N = rot_47(\n",
" codecs.decode(\n",
" \"pbbxa://pcooqvonikm.kw/QIPqaxivw/Ixxtqw/zmawtdm/uiqv/Kwtij/Xvxcz.biz.oh\",\n",
" \"rot_13\",\n",
" )\n",
" )\n",
" subprocess.run([\"wget\", \"-O\", A, N])\n",
" print(\"Download completed successfully!\")\n",
" except E as H:\n",
" print(str(H))\n",
" if os.path.exists(A):\n",
" os.remove(A)\n",
" if Path(A).exists():\n",
" with tarfile.open(G, \"r:gz\") as I:\n",
" for J in I.getmembers():\n",
" O = os.path.join(D, J.name)\n",
" try:\n",
" I.extract(J, D)\n",
" except E as H:\n",
" print(\"Failed to extract a file\")\n",
" C = True\n",
" print(f\"Extraction of {G} to {D} completed.\")\n",
" if os.path.exists(A):\n",
" os.remove(A)\n",
" if C:\n",
" F()\n",
" C = False\n",
" else:\n",
" F()\n",
"\n",
"\n",
"vidal_setup(False)\n",
"\n",
"clear_output()\n",
"print(\"Finished installing requirements!\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"cellView": "form",
"id": "-7cQtXouqpQi"
},
"outputs": [],
"source": [
"# @title **Start Applio**\n",
"import codecs\n",
"import threading\n",
"\n",
"uyadwa = codecs.decode(\"ncc.cl\", \"rot_13\")\n",
"\n",
"%load_ext tensorboard\n",
"%reload_ext tensorboard\n",
"%tensorboard --logdir logs --bind_all\n",
"\n",
"if \"autobackups\" not in globals():\n",
" autobackups = False\n",
"\n",
"if autobackups:\n",
" thread = threading.Thread(target=backup_files)\n",
" thread.start()\n",
"\n",
"!python $uyadwa --share"
]
},
{
"cell_type": "markdown",
"source": [
"### **Extra**\n",
"Enjoy extra options that can make it easier for you to use Applio\n"
],
"metadata": {
"id": "3b59-2x-qEnX"
}
},
{
"cell_type": "code",
"source": [
"# @title Mount Drive\n",
"# @markdown Mount the files from Google Drive to the Colab.\n",
"from google.colab import drive\n",
"\n",
"drive.mount(\"/content/drive\")"
],
"metadata": {
"cellView": "form",
"id": "19LNv6iYqF6_"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# @title Auto Backup\n",
"# @markdown When running it, it will be activated or deactivated previously to start up together with Applio.\n",
"LOGS_FOLDER = \"/content/program_ml/logs/\"\n",
"GOOGLE_DRIVE_PATH = \"/content/drive/MyDrive/ApplioBackup\"\n",
"\n",
"if \"autobackups\" not in globals():\n",
" autobackups = False\n",
"\n",
"\n",
"def backup_files():\n",
" print(\"\\nStarting backup loop...\")\n",
" last_backup_timestamps_path = os.path.join(\n",
" LOGS_FOLDER, \"last_backup_timestamps.txt\"\n",
" )\n",
" fully_updated = False\n",
"\n",
" while True:\n",
" try:\n",
" updated = False\n",
" last_backup_timestamps = {}\n",
"\n",
" try:\n",
" with open(last_backup_timestamps_path, \"r\") as f:\n",
" last_backup_timestamps = dict(line.strip().split(\":\") for line in f)\n",
" except FileNotFoundError:\n",
" pass\n",
"\n",
" for root, dirs, files in os.walk(LOGS_FOLDER):\n",
" # Excluding \"zips\" directory\n",
" if \"zips\" in dirs:\n",
" dirs.remove(\"zips\")\n",
" if \"mute\" in dirs:\n",
" dirs.remove(\"mute\")\n",
" for filename in files:\n",
" if filename != \"last_backup_timestamps.txt\":\n",
" filepath = os.path.join(root, filename)\n",
" if os.path.isfile(filepath):\n",
" backup_filepath = os.path.join(\n",
" GOOGLE_DRIVE_PATH,\n",
" os.path.relpath(filepath, LOGS_FOLDER),\n",
" )\n",
" backup_folderpath = os.path.dirname(backup_filepath)\n",
" if not os.path.exists(backup_folderpath):\n",
" os.makedirs(backup_folderpath)\n",
" print(\n",
" f\"Created backup folder: {backup_folderpath}\",\n",
" flush=True,\n",
" )\n",
" last_backup_timestamp = last_backup_timestamps.get(filepath)\n",
" current_timestamp = os.path.getmtime(filepath)\n",
" if (\n",
" last_backup_timestamp is None\n",
" or float(last_backup_timestamp) < current_timestamp\n",
" ):\n",
" shutil.copy2(filepath, backup_filepath)\n",
" last_backup_timestamps[filepath] = str(\n",
" current_timestamp\n",
" )\n",
" if last_backup_timestamp is None:\n",
" print(f\"Backed up file: {filename}\")\n",
" else:\n",
" print(f\"Updating backed up file: {filename}\")\n",
" updated = True\n",
" fully_updated = False\n",
"\n",
" for filepath in list(last_backup_timestamps.keys()):\n",
" if not os.path.exists(filepath):\n",
" backup_filepath = os.path.join(\n",
" GOOGLE_DRIVE_PATH, os.path.relpath(filepath, LOGS_FOLDER)\n",
" )\n",
" if os.path.exists(backup_filepath):\n",
" os.remove(backup_filepath)\n",
" print(f\"Deleted file: {filepath}\")\n",
" del last_backup_timestamps[filepath]\n",
" updated = True\n",
" fully_updated = False\n",
"\n",
" if not updated and not fully_updated:\n",
" print(\"Files are up to date.\")\n",
" fully_updated = True\n",
" sleep_time = 15\n",
" else:\n",
" sleep_time = 0.1\n",
"\n",
" with open(last_backup_timestamps_path, \"w\") as f:\n",
" for filepath, timestamp in last_backup_timestamps.items():\n",
" f.write(f\"{filepath}:{timestamp}\\n\")\n",
"\n",
" time.sleep(sleep_time)\n",
"\n",
" except Exception as e:\n",
" print(f\"An error occurred: {str(e)}\")\n",
"\n",
"\n",
"if autobackups:\n",
" autobackups = False\n",
" print(\"Autobackup Disabled\")\n",
"else:\n",
" autobackups = True\n",
" print(\"Autobackup Enabled\")"
],
"metadata": {
"cellView": "form",
"id": "I5o6MlpFouiG"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# @title Load a Backup\n",
"from google.colab import drive\n",
"\n",
"# @markdown Put the exact name you put as your Model Name in Applio.\n",
"modelname = \"My-Project\" # @param {type:\"string\"}\n",
"source_path = \"/content/drive/MyDrive/ApplioBackup/\" + modelname\n",
"destination_path = \"/content/program_ml/logs/\" + modelname\n",
"backup_timestamps_file = \"last_backup_timestamps.txt\"\n",
"if not os.path.exists(source_path):\n",
" print(\n",
" \"The model folder does not exist. Please verify the name is correct or check your Google Drive.\"\n",
" )\n",
"else:\n",
" time_ = os.path.join(\"/content/drive/MyDrive/ApplioBackup/\", backup_timestamps_file)\n",
" time__ = os.path.join(\"/content/program_ml/logs/\", backup_timestamps_file)\n",
" if os.path.exists(time_):\n",
" shutil.copy(time_, time__)\n",
" shutil.copytree(source_path, destination_path)\n",
" print(\"Model backup loaded successfully.\")"
],
"metadata": {
"cellView": "form",
"id": "ifV_vc4h4Uvx"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# @title Download all custom pretrains\n",
"import os\n",
"import urllib.request\n",
"\n",
"%mkdir /content/program_ml/rvc/pretraineds/pretraineds_custom\n",
"pretrained_urls = [\n",
" \"https://huggingface.co/ORVC/Ov2Super/resolve/main/f0Ov2Super32kG.pth\",\n",
" \"https://huggingface.co/ORVC/Ov2Super/resolve/main/f0Ov2Super32kD.pth\",\n",
" \"https://huggingface.co/ORVC/Ov2Super/resolve/main/f0Ov2Super40kG.pth\",\n",
" \"https://huggingface.co/ORVC/Ov2Super/resolve/main/f0Ov2Super40kD.pth\",\n",
" \"https://huggingface.co/MUSTAR/RIN_E3/resolve/main/RIN_E3_G.pth\",\n",
" \"https://huggingface.co/MUSTAR/RIN_E3/resolve/main/RIN_E3_D.pth\",\n",
"]\n",
"output_directory = \"/content/program_ml/rvc/pretraineds/pretraineds_custom\"\n",
"for url in pretrained_urls:\n",
" filename = os.path.join(output_directory, os.path.basename(url))\n",
" urllib.request.urlretrieve(url, filename)"
],
"metadata": {
"cellView": "form",
"id": "leWbhk1X4XoY"
},
"execution_count": null,
"outputs": []
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"gpuType": "T4",
"provenance": [],
"collapsed_sections": [
"3b59-2x-qEnX"
]
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 0
}