diff --git "a/ttsv/notebooks/vakyansh_tts_demo.ipynb" "b/ttsv/notebooks/vakyansh_tts_demo.ipynb" new file mode 100644--- /dev/null +++ "b/ttsv/notebooks/vakyansh_tts_demo.ipynb" @@ -0,0 +1,546 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "vakyansh_tts_demo.ipynb", + "provenance": [], + "authorship_tag": "ABX9TyNhhwduU9+eajfOP6r1Y98A", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Installing Dependencies" + ], + "metadata": { + "id": "oyoFPN29HrRt" + } + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "5x4wJQGUaysK", + "outputId": "90d49030-311e-4100-b42a-3849df217887" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Cloning into 'vakyansh-tts'...\n", + "remote: Enumerating objects: 466, done.\u001b[K\n", + "remote: Counting objects: 100% (201/201), done.\u001b[K\n", + "remote: Compressing objects: 100% (175/175), done.\u001b[K\n", + "remote: Total 466 (delta 89), reused 64 (delta 22), pack-reused 265\u001b[K\n", + "Receiving objects: 100% (466/466), 259.27 KiB | 1.39 MiB/s, done.\n", + "Resolving deltas: 100% (229/229), done.\n", + "Processing /content/vakyansh-tts/src/glow_tts/monotonic_align\n", + "\u001b[33m DEPRECATION: A future pip version will change local packages to be built in-place without first copying to a temporary directory. We recommend you use --use-feature=in-tree-build to test your packages with this new behavior before it becomes the default.\n", + " pip 21.3 will remove support for this functionality. You can find discussion regarding this at https://github.com/pypa/pip/issues/7555.\u001b[0m\n", + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing wheel metadata ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from monotonic-align==1.1) (1.19.5)\n", + "Building wheels for collected packages: monotonic-align\n", + " Building wheel for monotonic-align (PEP 517) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for monotonic-align: filename=monotonic_align-1.1-cp37-cp37m-linux_x86_64.whl size=237012 sha256=3ffba87629daf17ecf86f538ead38094792d74d16b36cf691371c36f2e2c8ead\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-m1jlgsel/wheels/3a/e4/2d/953a66d439600fcb1836ffba5ef6915b944df396e8228909cb\n", + "Successfully built monotonic-align\n", + "Installing collected packages: monotonic-align\n", + "Successfully installed monotonic-align-1.1\n", + "running bdist_wheel\n", + "running build\n", + "running build_py\n", + "creating build\n", + "creating build/lib\n", + "creating build/lib/tts_infer\n", + "copying tts_infer/tts.py -> build/lib/tts_infer\n", + "copying tts_infer/num_to_word_on_sent.py -> build/lib/tts_infer\n", + "copying tts_infer/transliterate.py -> build/lib/tts_infer\n", + "copying tts_infer/__init__.py -> build/lib/tts_infer\n", + "running egg_info\n", + "creating vakyansh_tts.egg-info\n", + "writing vakyansh_tts.egg-info/PKG-INFO\n", + "writing dependency_links to vakyansh_tts.egg-info/dependency_links.txt\n", + "writing requirements to vakyansh_tts.egg-info/requires.txt\n", + "writing top-level names to vakyansh_tts.egg-info/top_level.txt\n", + "writing manifest file 'vakyansh_tts.egg-info/SOURCES.txt'\n", + "adding license file 'LICENSE.md'\n", + "writing manifest file 'vakyansh_tts.egg-info/SOURCES.txt'\n", + "copying tts_infer/requirements.txt -> build/lib/tts_infer\n", + "installing to build/bdist.linux-x86_64/wheel\n", + "running install\n", + "running install_lib\n", + "creating build/bdist.linux-x86_64\n", + "creating build/bdist.linux-x86_64/wheel\n", + "creating build/bdist.linux-x86_64/wheel/tts_infer\n", + "copying build/lib/tts_infer/tts.py -> build/bdist.linux-x86_64/wheel/tts_infer\n", + "copying build/lib/tts_infer/num_to_word_on_sent.py -> build/bdist.linux-x86_64/wheel/tts_infer\n", + "copying build/lib/tts_infer/transliterate.py -> build/bdist.linux-x86_64/wheel/tts_infer\n", + "copying build/lib/tts_infer/__init__.py -> build/bdist.linux-x86_64/wheel/tts_infer\n", + "copying build/lib/tts_infer/requirements.txt -> build/bdist.linux-x86_64/wheel/tts_infer\n", + "running install_egg_info\n", + "Copying vakyansh_tts.egg-info to build/bdist.linux-x86_64/wheel/vakyansh_tts-0.0.1-py3.7.egg-info\n", + "running install_scripts\n", + "adding license file \"LICENSE.md\" (matched pattern \"LICEN[CS]E*\")\n", + "creating build/bdist.linux-x86_64/wheel/vakyansh_tts-0.0.1.dist-info/WHEEL\n", + "creating 'dist/vakyansh_tts-0.0.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it\n", + "adding 'tts_infer/__init__.py'\n", + "adding 'tts_infer/num_to_word_on_sent.py'\n", + "adding 'tts_infer/requirements.txt'\n", + "adding 'tts_infer/transliterate.py'\n", + "adding 'tts_infer/tts.py'\n", + "adding 'vakyansh_tts-0.0.1.dist-info/LICENSE.md'\n", + "adding 'vakyansh_tts-0.0.1.dist-info/METADATA'\n", + "adding 'vakyansh_tts-0.0.1.dist-info/WHEEL'\n", + "adding 'vakyansh_tts-0.0.1.dist-info/top_level.txt'\n", + "adding 'vakyansh_tts-0.0.1.dist-info/RECORD'\n", + "removing build/bdist.linux-x86_64/wheel\n", + "Obtaining file:///content/vakyansh-tts\n", + "Requirement already satisfied: Cython==0.29.24 in /usr/local/lib/python3.7/dist-packages (from vakyansh-tts==0.0.1) (0.29.24)\n", + "Collecting inflect==5.3.0\n", + " Downloading inflect-5.3.0-py3-none-any.whl (32 kB)\n", + "Collecting layers==0.1.5\n", + " Downloading layers-0.1.5.tar.gz (5.5 kB)\n", + "Requirement already satisfied: librosa==0.8.1 in /usr/local/lib/python3.7/dist-packages (from vakyansh-tts==0.0.1) (0.8.1)\n", + "Collecting matplotlib==3.3.4\n", + " Downloading matplotlib-3.3.4-cp37-cp37m-manylinux1_x86_64.whl (11.5 MB)\n", + "\u001b[K |████████████████████████████████| 11.5 MB 11.3 MB/s \n", + "\u001b[?25hRequirement already satisfied: numpy==1.19.5 in /usr/local/lib/python3.7/dist-packages (from vakyansh-tts==0.0.1) (1.19.5)\n", + "Collecting scipy==1.5.4\n", + " Downloading scipy-1.5.4-cp37-cp37m-manylinux1_x86_64.whl (25.9 MB)\n", + "\u001b[K |████████████████████████████████| 25.9 MB 1.2 MB/s \n", + "\u001b[?25hCollecting tensorboardX==2.4\n", + " Downloading tensorboardX-2.4-py2.py3-none-any.whl (124 kB)\n", + "\u001b[K |████████████████████████████████| 124 kB 57.6 MB/s \n", + "\u001b[?25hRequirement already satisfied: tensorboard==2.7.0 in /usr/local/lib/python3.7/dist-packages (from vakyansh-tts==0.0.1) (2.7.0)\n", + "Collecting torch==1.5.1\n", + " Downloading torch-1.5.1-cp37-cp37m-manylinux1_x86_64.whl (753.2 MB)\n", + "\u001b[K |████████████████████████████████| 753.2 MB 13 kB/s \n", + "\u001b[?25hCollecting Unidecode==1.3.2\n", + " Downloading Unidecode-1.3.2-py3-none-any.whl (235 kB)\n", + "\u001b[K |████████████████████████████████| 235 kB 65.7 MB/s \n", + "\u001b[?25hRequirement already satisfied: tqdm==4.62.3 in /usr/local/lib/python3.7/dist-packages (from vakyansh-tts==0.0.1) (4.62.3)\n", + "Collecting fastapi==0.70.0\n", + " Downloading fastapi-0.70.0-py3-none-any.whl (51 kB)\n", + "\u001b[K |████████████████████████████████| 51 kB 706 kB/s \n", + "\u001b[?25hCollecting uvicorn==0.15.0\n", + " Downloading uvicorn-0.15.0-py3-none-any.whl (54 kB)\n", + "\u001b[K |████████████████████████████████| 54 kB 3.2 MB/s \n", + "\u001b[?25hCollecting gradio==2.5.2\n", + " Downloading gradio-2.5.2-py3-none-any.whl (982 kB)\n", + "\u001b[K |████████████████████████████████| 982 kB 61.2 MB/s \n", + "\u001b[?25hCollecting wavio==0.0.4\n", + " Downloading wavio-0.0.4-py2.py3-none-any.whl (9.0 kB)\n", + "Collecting pydload==1.0.9\n", + " Downloading pydload-1.0.9-py2.py3-none-any.whl (16 kB)\n", + "Collecting pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2\n", + " Downloading pydantic-1.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB)\n", + "\u001b[K |████████████████████████████████| 10.9 MB 35.1 MB/s \n", + "\u001b[?25hCollecting starlette==0.16.0\n", + " Downloading starlette-0.16.0-py3-none-any.whl (61 kB)\n", + "\u001b[K |████████████████████████████████| 61 kB 298 kB/s \n", + "\u001b[?25hCollecting Flask-Login\n", + " Downloading Flask_Login-0.5.0-py2.py3-none-any.whl (16 kB)\n", + "Collecting flask-cachebuster\n", + " Downloading Flask-CacheBuster-1.0.0.tar.gz (3.1 kB)\n", + "Collecting ffmpy\n", + " Downloading ffmpy-0.3.0.tar.gz (4.8 kB)\n", + "Collecting pydub\n", + " Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (from gradio==2.5.2->vakyansh-tts==0.0.1) (1.1.5)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from gradio==2.5.2->vakyansh-tts==0.0.1) (2.23.0)\n", + "Requirement already satisfied: Flask>=1.1.1 in /usr/local/lib/python3.7/dist-packages (from gradio==2.5.2->vakyansh-tts==0.0.1) (1.1.4)\n", + "Collecting Flask-Cors>=3.0.8\n", + " Downloading Flask_Cors-3.0.10-py2.py3-none-any.whl (14 kB)\n", + "Requirement already satisfied: pillow in /usr/local/lib/python3.7/dist-packages (from gradio==2.5.2->vakyansh-tts==0.0.1) (7.1.2)\n", + "Collecting markdown2\n", + " Downloading markdown2-2.4.2-py2.py3-none-any.whl (34 kB)\n", + "Collecting analytics-python\n", + " Downloading analytics_python-1.4.0-py2.py3-none-any.whl (15 kB)\n", + "Collecting paramiko\n", + " Downloading paramiko-2.9.1-py2.py3-none-any.whl (210 kB)\n", + "\u001b[K |████████████████████████████████| 210 kB 61.1 MB/s \n", + "\u001b[?25hCollecting pycryptodome\n", + " Downloading pycryptodome-3.12.0-cp35-abi3-manylinux2010_x86_64.whl (2.0 MB)\n", + "\u001b[K |████████████████████████████████| 2.0 MB 42.3 MB/s \n", + "\u001b[?25hRequirement already satisfied: PyYaml in /usr/local/lib/python3.7/dist-packages (from layers==0.1.5->vakyansh-tts==0.0.1) (3.13)\n", + "Collecting bashutils\n", + " Downloading Bashutils-0.0.4.tar.gz (4.2 kB)\n", + "Requirement already satisfied: resampy>=0.2.2 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (0.2.2)\n", + "Requirement already satisfied: pooch>=1.0 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (1.5.2)\n", + "Requirement already satisfied: numba>=0.43.0 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (0.51.2)\n", + "Requirement already satisfied: audioread>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (2.1.9)\n", + "Requirement already satisfied: scikit-learn!=0.19.0,>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (1.0.1)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (21.3)\n", + "Requirement already satisfied: soundfile>=0.10.2 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (0.10.3.post1)\n", + "Requirement already satisfied: joblib>=0.14 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (1.1.0)\n", + "Requirement already satisfied: decorator>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from librosa==0.8.1->vakyansh-tts==0.0.1) (4.4.2)\n", + "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /usr/local/lib/python3.7/dist-packages (from matplotlib==3.3.4->vakyansh-tts==0.0.1) (3.0.6)\n", + "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib==3.3.4->vakyansh-tts==0.0.1) (2.8.2)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib==3.3.4->vakyansh-tts==0.0.1) (0.11.0)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib==3.3.4->vakyansh-tts==0.0.1) (1.3.2)\n", + "Requirement already satisfied: progressbar2 in /usr/local/lib/python3.7/dist-packages (from pydload==1.0.9->vakyansh-tts==0.0.1) (3.38.0)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from starlette==0.16.0->fastapi==0.70.0->vakyansh-tts==0.0.1) (3.10.0.2)\n", + "Collecting anyio<4,>=3.0.0\n", + " Downloading anyio-3.4.0-py3-none-any.whl (78 kB)\n", + "\u001b[K |████████████████████████████████| 78 kB 7.8 MB/s \n", + "\u001b[?25hRequirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (3.3.6)\n", + "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (0.4.6)\n", + "Requirement already satisfied: tensorboard-data-server<0.7.0,>=0.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (0.6.1)\n", + "Requirement already satisfied: protobuf>=3.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (3.17.3)\n", + "Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (0.12.0)\n", + "Requirement already satisfied: grpcio>=1.24.3 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (1.42.0)\n", + "Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (0.37.0)\n", + "Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (1.0.1)\n", + "Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (1.35.0)\n", + "Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (57.4.0)\n", + "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from tensorboard==2.7.0->vakyansh-tts==0.0.1) (1.8.0)\n", + "Requirement already satisfied: future in /usr/local/lib/python3.7/dist-packages (from torch==1.5.1->vakyansh-tts==0.0.1) (0.16.0)\n", + "Collecting asgiref>=3.4.0\n", + " Downloading asgiref-3.4.1-py3-none-any.whl (25 kB)\n", + "Requirement already satisfied: click>=7.0 in /usr/local/lib/python3.7/dist-packages (from uvicorn==0.15.0->vakyansh-tts==0.0.1) (7.1.2)\n", + "Collecting h11>=0.8\n", + " Downloading h11-0.12.0-py3-none-any.whl (54 kB)\n", + "\u001b[K |████████████████████████████████| 54 kB 3.7 MB/s \n", + "\u001b[?25hRequirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from absl-py>=0.4->tensorboard==2.7.0->vakyansh-tts==0.0.1) (1.15.0)\n", + "Collecting sniffio>=1.1\n", + " Downloading sniffio-1.2.0-py3-none-any.whl (10 kB)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.7/dist-packages (from anyio<4,>=3.0.0->starlette==0.16.0->fastapi==0.70.0->vakyansh-tts==0.0.1) (2.10)\n", + "Requirement already satisfied: itsdangerous<2.0,>=0.24 in /usr/local/lib/python3.7/dist-packages (from Flask>=1.1.1->gradio==2.5.2->vakyansh-tts==0.0.1) (1.1.0)\n", + "Requirement already satisfied: Jinja2<3.0,>=2.10.1 in /usr/local/lib/python3.7/dist-packages (from Flask>=1.1.1->gradio==2.5.2->vakyansh-tts==0.0.1) (2.11.3)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tensorboard==2.7.0->vakyansh-tts==0.0.1) (4.8)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tensorboard==2.7.0->vakyansh-tts==0.0.1) (0.2.8)\n", + "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from google-auth<3,>=1.6.3->tensorboard==2.7.0->vakyansh-tts==0.0.1) (4.2.4)\n", + "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.7/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard==2.7.0->vakyansh-tts==0.0.1) (1.3.0)\n", + "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from Jinja2<3.0,>=2.10.1->Flask>=1.1.1->gradio==2.5.2->vakyansh-tts==0.0.1) (2.0.1)\n", + "Requirement already satisfied: importlib-metadata>=4.4 in /usr/local/lib/python3.7/dist-packages (from markdown>=2.6.8->tensorboard==2.7.0->vakyansh-tts==0.0.1) (4.8.2)\n", + "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=4.4->markdown>=2.6.8->tensorboard==2.7.0->vakyansh-tts==0.0.1) (3.6.0)\n", + "Requirement already satisfied: llvmlite<0.35,>=0.34.0.dev0 in /usr/local/lib/python3.7/dist-packages (from numba>=0.43.0->librosa==0.8.1->vakyansh-tts==0.0.1) (0.34.0)\n", + "Requirement already satisfied: appdirs in /usr/local/lib/python3.7/dist-packages (from pooch>=1.0->librosa==0.8.1->vakyansh-tts==0.0.1) (1.4.4)\n", + "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.7/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard==2.7.0->vakyansh-tts==0.0.1) (0.4.8)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->gradio==2.5.2->vakyansh-tts==0.0.1) (3.0.4)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->gradio==2.5.2->vakyansh-tts==0.0.1) (2021.10.8)\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->gradio==2.5.2->vakyansh-tts==0.0.1) (1.24.3)\n", + "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.7/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard==2.7.0->vakyansh-tts==0.0.1) (3.1.1)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn!=0.19.0,>=0.14.0->librosa==0.8.1->vakyansh-tts==0.0.1) (3.0.0)\n", + "Requirement already satisfied: cffi>=1.0 in /usr/local/lib/python3.7/dist-packages (from soundfile>=0.10.2->librosa==0.8.1->vakyansh-tts==0.0.1) (1.15.0)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.0->soundfile>=0.10.2->librosa==0.8.1->vakyansh-tts==0.0.1) (2.21)\n", + "Collecting monotonic>=1.5\n", + " Downloading monotonic-1.6-py2.py3-none-any.whl (8.2 kB)\n", + "Collecting backoff==1.10.0\n", + " Downloading backoff-1.10.0-py2.py3-none-any.whl (31 kB)\n", + "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas->gradio==2.5.2->vakyansh-tts==0.0.1) (2018.9)\n", + "Collecting bcrypt>=3.1.3\n", + " Downloading bcrypt-3.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (61 kB)\n", + "\u001b[K |████████████████████████████████| 61 kB 386 kB/s \n", + "\u001b[?25hCollecting cryptography>=2.5\n", + " Downloading cryptography-36.0.1-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB)\n", + "\u001b[K |████████████████████████████████| 3.6 MB 40.6 MB/s \n", + "\u001b[?25hCollecting pynacl>=1.0.1\n", + " Downloading PyNaCl-1.4.0-cp35-abi3-manylinux1_x86_64.whl (961 kB)\n", + "\u001b[K |████████████████████████████████| 961 kB 49.8 MB/s \n", + "\u001b[?25hRequirement already satisfied: python-utils>=2.3.0 in /usr/local/lib/python3.7/dist-packages (from progressbar2->pydload==1.0.9->vakyansh-tts==0.0.1) (2.5.6)\n", + "Building wheels for collected packages: layers, bashutils, ffmpy, flask-cachebuster\n", + " Building wheel for layers (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for layers: filename=layers-0.1.5-py3-none-any.whl size=5379 sha256=759f381849c193619d4e1d46982ad55fd081f3359d2b70d3fede9092d81d6b24\n", + " Stored in directory: /root/.cache/pip/wheels/75/6f/32/757f357608178c55254f10906905e7f8cd63b566173377c819\n", + " Building wheel for bashutils (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for bashutils: filename=Bashutils-0.0.4-py3-none-any.whl size=5472 sha256=60c44cb259b33784163362297bfeb8a6c349296e3acb89196eb4d9cab2274c08\n", + " Stored in directory: /root/.cache/pip/wheels/c7/a0/9a/b99da313eb952e5d8ab2622528c0102544d5cddca1ffc9b15e\n", + " Building wheel for ffmpy (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for ffmpy: filename=ffmpy-0.3.0-py3-none-any.whl size=4710 sha256=a2f3fdb0f222e1f7efb4cec778da16dc98a2dd5504bc1aa55f8d9210904764bf\n", + " Stored in directory: /root/.cache/pip/wheels/13/e4/6c/e8059816e86796a597c6e6b0d4c880630f51a1fcfa0befd5e6\n", + " Building wheel for flask-cachebuster (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for flask-cachebuster: filename=Flask_CacheBuster-1.0.0-py3-none-any.whl size=3371 sha256=ed02a328b3fdd4faad60c78aff1cdd40efd352cf5bcd5a15e0783d47789aaf19\n", + " Stored in directory: /root/.cache/pip/wheels/28/c0/c4/44687421dab41455be93112bd1b0dee1f3c5a9aa27bee63708\n", + "Successfully built layers bashutils ffmpy flask-cachebuster\n", + "Installing collected packages: sniffio, scipy, pynacl, monotonic, cryptography, bcrypt, backoff, anyio, starlette, pydub, pydantic, pycryptodome, paramiko, matplotlib, markdown2, h11, Flask-Login, Flask-Cors, flask-cachebuster, ffmpy, bashutils, asgiref, analytics-python, wavio, uvicorn, Unidecode, torch, tensorboardX, pydload, layers, inflect, gradio, fastapi, vakyansh-tts\n", + " Attempting uninstall: scipy\n", + " Found existing installation: scipy 1.4.1\n", + " Uninstalling scipy-1.4.1:\n", + " Successfully uninstalled scipy-1.4.1\n", + " Attempting uninstall: matplotlib\n", + " Found existing installation: matplotlib 3.2.2\n", + " Uninstalling matplotlib-3.2.2:\n", + " Successfully uninstalled matplotlib-3.2.2\n", + " Attempting uninstall: torch\n", + " Found existing installation: torch 1.10.0+cu111\n", + " Uninstalling torch-1.10.0+cu111:\n", + " Successfully uninstalled torch-1.10.0+cu111\n", + " Attempting uninstall: inflect\n", + " Found existing installation: inflect 2.1.0\n", + " Uninstalling inflect-2.1.0:\n", + " Successfully uninstalled inflect-2.1.0\n", + " Running setup.py develop for vakyansh-tts\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "torchvision 0.11.1+cu111 requires torch==1.10.0, but you have torch 1.5.1 which is incompatible.\n", + "torchtext 0.11.0 requires torch==1.10.0, but you have torch 1.5.1 which is incompatible.\n", + "torchaudio 0.10.0+cu111 requires torch==1.10.0, but you have torch 1.5.1 which is incompatible.\n", + "albumentations 0.1.12 requires imgaug<0.2.7,>=0.2.5, but you have imgaug 0.2.9 which is incompatible.\u001b[0m\n", + "Successfully installed Flask-Cors-3.0.10 Flask-Login-0.5.0 Unidecode-1.3.2 analytics-python-1.4.0 anyio-3.4.0 asgiref-3.4.1 backoff-1.10.0 bashutils-0.0.4 bcrypt-3.2.0 cryptography-36.0.1 fastapi-0.70.0 ffmpy-0.3.0 flask-cachebuster-1.0.0 gradio-2.5.2 h11-0.12.0 inflect-5.3.0 layers-0.1.5 markdown2-2.4.2 matplotlib-3.3.4 monotonic-1.6 paramiko-2.9.1 pycryptodome-3.12.0 pydantic-1.9.0 pydload-1.0.9 pydub-0.25.1 pynacl-1.4.0 scipy-1.5.4 sniffio-1.2.0 starlette-0.16.0 tensorboardX-2.4 torch-1.5.1 uvicorn-0.15.0 vakyansh-tts-0.0.1 wavio-0.0.4\n" + ] + }, + { + "output_type": "display_data", + "data": { + "application/vnd.colab-display-data+json": { + "pip_warning": { + "packages": [ + "matplotlib", + "mpl_toolkits" + ] + } + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "--2022-01-04 08:20:03-- https://storage.googleapis.com/vakyaansh-open-models/translit_models/default_lineup.json\n", + "Resolving storage.googleapis.com (storage.googleapis.com)... 142.250.141.128, 2607:f8b0:4023:c0b::80\n", + "Connecting to storage.googleapis.com (storage.googleapis.com)|142.250.141.128|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 3422 (3.3K) [application/json]\n", + "Saving to: ‘default_lineup.json’\n", + "\n", + "\rdefault_lineup.json 0%[ ] 0 --.-KB/s \rdefault_lineup.json 100%[===================>] 3.34K --.-KB/s in 0s \n", + "\n", + "2022-01-04 08:20:03 (44.3 MB/s) - ‘default_lineup.json’ saved [3422/3422]\n", + "\n", + "--2022-01-04 08:20:03-- https://storage.googleapis.com/vakyaansh-open-models/translit_models/hindi/hindi_transliteration.zip\n", + "Resolving storage.googleapis.com (storage.googleapis.com)... 142.250.141.128, 2607:f8b0:4023:c0b::80\n", + "Connecting to storage.googleapis.com (storage.googleapis.com)|142.250.141.128|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 45018357 (43M) [application/zip]\n", + "Saving to: ‘hindi_transliteration.zip’\n", + "\n", + "hindi_transliterati 100%[===================>] 42.93M 113MB/s in 0.4s \n", + "\n", + "2022-01-04 08:20:04 (113 MB/s) - ‘hindi_transliteration.zip’ saved [45018357/45018357]\n", + "\n", + "Archive: hindi_transliteration.zip\n", + " inflating: hi_111_model.pth \n", + " inflating: hi_scripts.json \n", + " inflating: hi_words_a4b.json \n", + "--2022-01-04 08:20:05-- https://storage.googleapis.com/vakyansh-open-models/tts/hindi/hi-IN/female_voice_0/glow.zip\n", + "Resolving storage.googleapis.com (storage.googleapis.com)... 142.250.141.128, 2607:f8b0:4023:c0b::80\n", + "Connecting to storage.googleapis.com (storage.googleapis.com)|142.250.141.128|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 313981548 (299M) [application/zip]\n", + "Saving to: ‘glow.zip’\n", + "\n", + "glow.zip 100%[===================>] 299.44M 109MB/s in 2.7s \n", + "\n", + "2022-01-04 08:20:08 (109 MB/s) - ‘glow.zip’ saved [313981548/313981548]\n", + "\n", + "Archive: glow.zip\n", + " creating: glow_ckp/\n", + " inflating: glow_ckp/config.json \n", + " inflating: glow_ckp/G_250.pth \n", + "--2022-01-04 08:20:12-- https://storage.googleapis.com/vakyansh-open-models/tts/hindi/hi-IN/female_voice_0/hifi.zip\n", + "Resolving storage.googleapis.com (storage.googleapis.com)... 142.250.141.128, 2607:f8b0:4023:c0b::80\n", + "Connecting to storage.googleapis.com (storage.googleapis.com)|142.250.141.128|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 51788492 (49M) [application/zip]\n", + "Saving to: ‘hifi.zip’\n", + "\n", + "hifi.zip 100%[===================>] 49.39M 88.9MB/s in 0.6s \n", + "\n", + "2022-01-04 08:20:13 (88.9 MB/s) - ‘hifi.zip’ saved [51788492/51788492]\n", + "\n", + "Archive: hifi.zip\n", + " creating: hifi_ckp/\n", + " inflating: hifi_ckp/config.json \n", + " inflating: hifi_ckp/g_00100000 \n" + ] + } + ], + "source": [ + "import os\n", + "!git clone https://github.com/Open-Speech-EkStep/vakyansh-tts\n", + "os.chdir('vakyansh-tts') \n", + "!bash install.sh\n", + "!python setup.py bdist_wheel\n", + "!pip install -e .\n", + "os.chdir('tts_infer')\n", + "!mkdir translit_models\n", + "os.chdir('translit_models')\n", + "!wget https://storage.googleapis.com/vakyaansh-open-models/translit_models/default_lineup.json\n", + "!mkdir hindi\n", + "os.chdir('hindi')\n", + "!wget https://storage.googleapis.com/vakyaansh-open-models/translit_models/hindi/hindi_transliteration.zip\n", + "!unzip hindi_transliteration\n", + "\n", + "!wget https://storage.googleapis.com/vakyansh-open-models/tts/hindi/hi-IN/female_voice_0/glow.zip\n", + "!unzip glow.zip\n", + "\n", + "!wget https://storage.googleapis.com/vakyansh-open-models/tts/hindi/hi-IN/female_voice_0/hifi.zip\n", + "!unzip hifi.zip\n", + "\n", + "!rm glow.zip\n", + "!rm hifi.zip\n", + "\n", + "os.chdir('/content/vakyansh-tts/')" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Inference Code" + ], + "metadata": { + "id": "NvQoCgYzKbWN" + } + }, + { + "cell_type": "code", + "source": [ + "from tts_infer.tts import TextToMel, MelToWav\n", + "from tts_infer.transliterate import XlitEngine\n", + "from tts_infer.num_to_word_on_sent import normalize_nums\n", + "\n", + "import re\n", + "from scipy.io.wavfile import write\n", + "device = 'cpu'\n", + "\n", + "text_to_mel = TextToMel(glow_model_dir='/content/vakyansh-tts/tts_infer/translit_models/hindi/glow_ckp', device=device)\n", + "mel_to_wav = MelToWav(hifi_model_dir='/content/vakyansh-tts/tts_infer/translit_models/hindi/hifi_ckp', device=device)\n", + "\n", + "def translit(text, lang):\n", + " reg = re.compile(r'[a-zA-Z]')\n", + " engine = XlitEngine(lang)\n", + " words = [engine.translit_word(word, topk=1)[lang][0] if reg.match(word) else word for word in text.split()]\n", + " updated_sent = ' '.join(words)\n", + " return updated_sent\n", + " \n", + "def run_tts(text, lang):\n", + " text = text.replace('।', '.') # only for hindi models\n", + " text_num_to_word = normalize_nums(text, lang) # converting numbers to words in lang\n", + " text_num_to_word_and_transliterated = translit(text_num_to_word, lang) # transliterating english words to lang\n", + " \n", + " mel = text_to_mel.generate_mel(text_num_to_word_and_transliterated)\n", + " audio, sr = mel_to_wav.generate_wav(mel)\n", + " write(filename='temp.wav', rate=sr, data=audio) # for saving wav file, if needed\n", + " return (sr, audio)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "TVW_x9L0b5W4", + "outputId": "28f0a3b9-8f72-4562-db4b-af49699d6cc3" + }, + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/vakyansh-tts/tts_infer/translit_models/hindi/glow_ckp/G_250.pth\n", + "INFO:root:Loaded checkpoint '/content/vakyansh-tts/tts_infer/translit_models/hindi/glow_ckp/G_250.pth' (iteration 250)\n", + "/content/vakyansh-tts/tts_infer/translit_models/hindi/hifi_ckp/g_00100000\n", + "Loading '/content/vakyansh-tts/tts_infer/translit_models/hindi/hifi_ckp/g_00100000'\n", + "Complete.\n", + "Removing weight norm...\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "_, audio = run_tts('hello my name is harveen', 'hi')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "aqZ5xOVidczp", + "outputId": "bdf8f92b-c673-4738-860e-0cbf3f339d6e" + }, + "execution_count": 3, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Loading hi...\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Results" + ], + "metadata": { + "id": "jaFjD59HKghg" + } + }, + { + "cell_type": "code", + "source": [ + "import IPython.display as ipd\n", + "ipd.Audio('temp.wav')" + ], + "metadata": { + "id": "zC9I2Zt5fijp", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 75 + }, + "outputId": "86d09807-41a8-48e7-ec71-4734b6ccbdc8" + }, + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ] + } + ] +} \ No newline at end of file