• Stars
    star
    154
  • Rank 242,095 (Top 5 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SOVA TTS

SOVA TTS is a speech syntthesis solution based on Tacotron 2 architecture. It is designed as a REST API service and it can be customized (both code and models) for your needs.

Installation

The easiest way to deploy the service is via docker-compose, so you have to install Docker and docker-compose first. Here's a brief instruction for Ubuntu:

Docker installation

  • Install Docker:
$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo usermod -aG docker $(whoami)

In order to run docker commands without sudo you might need to relogin.

  • Install docker-compose:
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
  • (Optional) If you're planning on using CUDA run these commands:
$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
  sudo apt-key add -
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
$ sudo apt-get update
$ sudo apt-get install nvidia-container-runtime

Add the following content to the file /etc/docker/daemon.json:

{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "default-runtime": "nvidia"
}

Restart the service:

$ sudo systemctl restart docker.service

Build and deploy

  • Clone the repository, download the pretrained models archive and extract the contents into the project folder:
$ git clone --recursive https://github.com/sovaai/sova-tts.git --branch v1.1
$ cd sova-tts/
$ wget http://dataset.sova.ai/SOVA-TTS/Data_v1.1.tar
$ tar -xvf Data_v1.1.tar && rm Data_v1.1.tar
  • Build docker image

    • Build sova-tts-gpu image if you're planning on using GPU:
    $ sudo docker-compose build sova-tts-gpu
    • Build sova-tts image if you're planning on using CPU:
    $ sudo docker-compose build sova-tts
  • Run the desired service container

    • GPU:
    $ sudo docker-compose up -d sova-tts-gpu
    • CPU:
    $ sudo docker-compose up -d sova-tts

Testing

To test the service you can send a POST request:

$ curl --request POST 'http://localhost:8899/synthesize/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "text": "Добрый день! Как ваши дел+а?",
    "voice": "Natasha"
}'

Acknowledgements

Original Tacotron 2 implementation by NVIDIA.

More Repositories

1

sova-asr

SOVA ASR (Automatic Speech Recognition)
Python
169
star
2

sova-dataset

115
star
3

sova-tts-engine

Tacotron2 based engine for the SOVA-TTS project
Python
66
star
4

chatKit-lib

TypeScript
59
star
5

chatKit

Open Source React Chat Widget. Ready for use and can be connected to any backend like Chatbot/NLP/Live Chat engine or messenger.
55
star
6

sova-tts-tps

NLP-preprocessor for the SOVA-TTS project
Python
51
star
7

chatKit-dl-module

CK Dialog Language module
TypeScript
41
star
8

sova-tts-vocoder

Python
39
star
9

sova-engine

Диалоговое Ядро
C++
38
star
10

sova-tts-binding

Python
38
star
11

chatKit-dialogflow-webhook

TypeScript
38
star
12

chatKit-rasa-module

CK Rasa module
TypeScript
38
star
13

chatKit-demo

Demo of CK widget with standart functionality
38
star
14

sova-dp

Dialog Processor
Shell
37
star
15

chatKit-dialogflow-module

CK Dialogflow module
TypeScript
37
star
16

sova-bls-test-widget

JavaScript
35
star
17

sova-bls-http-api

C
34
star
18

sova-bls-ext-journal

Python
34
star
19

sova-bls-core

Python
33
star
20

sova-bls-ext-context

Python
33
star
21

sova-bls-ext-preprocessor

Python
33
star
22

sova-bls-ext-postprocess

Python
32
star
23

sova-skills

SOVA Skills
22
star
24

sova-nlu

Python
5
star
25

sova-voice-studio

SOVA Voice Studio
CSS
3
star
26

sova-caller

Go
3
star
27

sova-ma-android

SOVA Mobile Application for Android
Java
3
star
28

sova-dc

SOVA DC - service for decentralized SOVA ASR/SOVA TTS computing in a distributed network
Python
3
star
29

sova-ma-ios

SOVA Mobile Application for iOS
Swift
2
star
30

sova-ide

SOVA IDE
Shell
1
star
31

sova-devkit

SOVA Developer Kit
Python
1
star