
Viettts est une boîte à outils open source offrant à la communauté un puissant modèle Vietnamien TTS, capable de synthèse vocale naturelle et de clonage vocal robuste. Conçu pour une expérimentation efficace, Viettts soutient la recherche et l'application dans les technologies vocales vietnamiennes.
Viettts peut être installé via un installateur Python (Linux uniquement, avec la prise en charge de Windows et MacOS à venir bientôt) ou Docker.
git clone https://github.com/dangvansam/viet-tts.git
cd viet-tts
# (Optional) Install Python environment with conda, you could also use virtualenv
conda create --name viettts python=3.10
conda activate viettts
# Install
pip install -e . && pip cache purgeInstallez Docker, Nvidia Driver, Nvidia Container Toolkit et CUDA.
Exécutez les commandes suivantes:
git clone https://github.com/dangvansam/viet-tts.git
cd viet-tts
# Build docker images
docker compose build
# Run with docker-compose - will create server at: http://localhost:8298
docker compose up -d
# Or run with docker run - will create server at: http://localhost:8298
docker run -itd --gpu=alls -p 8298:8298 -v ./pretrained-models:/app/pretrained-models -n viet-tts-service viet-tts:latest viettts server --host 0.0.0.0 --port 8298Vous pouvez utiliser des voix disponibles ci-dessous pour synthétiser la parole.
| IDENTIFIANT | Voix | Genre | Jouer audio |
|---|---|---|---|
| 1 | nsnd-le-chuc | ? | |
| 2 | discoursy_10 | ? | |
| 3 | atuan | ? | |
| 4 | discoursy_11 | ? | |
| 5 | cdteam | ? | |
| 6 | discoursy_12 | ? | |
| 7 | cross_lingual_prompt | ? | |
| 8 | discoursy_2 | ? | |
| 9 | diep-chi | ? | |
| 10 | discoursy_3 | ? | |
| 11 | doremon | ? | |
| 12 | discoursy_4 | ? | |
| 13 | jack-sparrow | ? | |
| 14 | discoursy_5 | ? | |
| 15 | nguyen-ngoc-ngan | ? | |
| 16 | discoursy_6 | ? | |
| 17 | nu-nhe-nhang | ? | |
| 18 | discoursy_7 | ? | |
| 19 | quynh | ? | |
| 20 | discoursy_8 | ? | |
| 21 | discoursy_9 | ? | |
| 22 | fils-tung-mtp | ? | |
| 23 | zéro_shot_prompt | ? | |
| 24 | discoursy_1 | ? |
L'interface de ligne de commande (CLI) de Viettts vous permet de générer rapidement la parole directement à partir du terminal. Voici comment l'utiliser:
# Usage
viettts --help
# Start API Server
viettts server --host 0.0.0.0 --port 8298
# List all built-in voices
viettts show-voices
# Synthesize speech from text with built-in voices
viettts synthesis --text " Xin chào " --voice 0 --output test.wav
# Clone voice from a local audio file
viettts synthesis --text " Xin chào " --voice Download/voice.wav --output cloned.wavVous devez définir des variables d'environnement pour le client OpenAI:
# Set base_url and API key as environment variables
export OPENAI_BASE_URL=http://localhost:8298
export OPENAI_API_KEY=viet-tts # not use in current versionPour créer une parole à partir du texte d'entrée:
from pathlib import Path
from openai import OpenAI
client = OpenAI ()
output_file_path = Path ( __file__ ). parent / "speech.wav"
with client . audio . speech . with_streaming_response . create (
model = 'tts-1' ,
voice = 'cdteam' ,
input = 'Xin chào Việt Nam.' ,
speed = 1.0 ,
response_format = 'wav'
) as response :
response . stream_to_file ( 'a.wav' ) # Get all built-in voices
curl --location http://0.0.0.0:8298/v1/voices
# OpenAI format (bult-in voices)
curl http://localhost:8298/v1/audio/speech
-H " Authorization: Bearer viet-tts "
-H " Content-Type: application/json "
-d ' {
"model": "tts-1",
"input": "Xin chào Việt Nam.",
"voice": "son-tung-mtp"
} '
--output speech.wav
# API with voice from local file
curl --location http://0.0.0.0:8298/v1/tts
--form ' text="xin chào" '
--form ' audio_file=@"/home/viettts/Downloads/voice.mp4" '
--output speech.wav import fs from "fs" ;
import path from "path" ;
import OpenAI from "openai" ;
const openai = new OpenAI ( ) ;
const speechFile = path . resolve ( "./speech.wav" ) ;
async function main ( ) {
const mp3 = await openai . audio . speech . create ( {
model : "tts-1" ,
voice : "1" ,
input : "Xin chào Việt Nam." ,
} ) ;
console . log ( speechFile ) ;
const buffer = Buffer . from ( await mp3 . arrayBuffer ( ) ) ;
await fs . promises . writeFile ( speechFile , buffer ) ;
}
main ( ) ; Le code source de Viettts est publié sous la licence Apache 2.0 . Les modèles prélevés et les échantillons audio sont sous licence CC BY-NC , basé sur un ensemble de données dans le monde. Nous nous excusons pour tout inconvénient que cela peut provoquer.
Le contenu fourni ci-dessus est à des fins académiques uniquement et vise à démontrer des capacités techniques. Certains exemples proviennent d'Internet. Si un contenu enfreint vos droits, veuillez nous contacter pour demander sa suppression.