railsloes / uberduck-ml-dev

ML models for Uberduck

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ¦† Uberduck TTS

Table of Contents

Uberduck is a tool for fun and creativity with audio machine learning, currently focused on voice cloning and neural text-to-speech. This repository includes development tools to get started with creating your own speech synthesis model. For more information on the state of this repo, please see the Wiki.

Installation

conda create -n 'uberduck-ml-dev' python=3.8
source activate uberduck-ml-dev
pip install git+https://github.com/uberduck-ai/uberduck-ml-dev.git

Development

To start contributing, install the required development dependencies in a virtual environment:

pip install nbdev nbqa pre-commit

Then install required Git hooks:

nbdev_install_git_hooks
pre-commit install

All development takes place in Jupyter notebooks in $REPO_ROOT/nbs, which are compiled to library code in $REPO_ROOT/uberduck_ml_dev. To make changes, edit edit the one of the IPython notebooks in $REPO_ROOT/nbs/ after starting a jupyter server with jupyter notebook. Once you're satisfied with the changes, build them:

./build_lib

Then install the library

python setup.py develop

🚩 Testing

Any IPython notebook cell which is not exported is a test. Run all tests:

nbdev_test_nbs

Test a single notebook:

 nbdev_test_nbs --fname nbs/text.util.ipynb

(can optionally add --verbose for more output)

Annotate a notebook cell with the #skip flag if it is code which is neither a test nor library code.

πŸ“¦οΈ nbdev

This project uses nbdev.

If you are using an older version of this template, and want to upgrade to the theme-based version, see this helper script (more explanation of what this means is contained in the link to the script).

πŸ”§ Troubleshooting Tips

  • Make sure you are using the latest version of nbdev with pip install -U nbdev
  • If you are using an older version of this template, see the instructions above on how to upgrade your template.
  • It is important for you to spell the name of your user and repo correctly in settings.ini or the website will not have the correct address from which to source assets like CSS for your site. When in doubt, you can open your browser's developer console and see if there are any errors related to fetching assets for your website due to an incorrect URL generated by misspelled values from settings.ini.
  • If you change the name of your repo, you have to make the appropriate changes in settings.ini
  • After you make changes to settings.ini, run nbdev_build_lib && nbdev_clean_nbs && nbdev_build_docs to make sure all changes are propagated appropriately.

Overview

An overview of the subpackages in this library:

models: TTS model implementations. All models descend from models.base.TTSModel.

trainer: A trainer has logic for training a model.

exec: Contains entrypoint scripts for running training jobs. Executed via a command like python -m uberduck_ml_dev.exec.train_tacotron2 --your-args here

About

ML models for Uberduck

License:Apache License 2.0


Languages

Language:Jupyter Notebook 86.6%Language:Python 13.2%Language:Shell 0.1%Language:Cython 0.1%Language:Makefile 0.0%Language:Dockerfile 0.0%