Adia TTS Logo

Adia_TTS Wolof

Open in HuggingFace

ADIA_TTS : Modèle de synthèse vocale en Wolof

Table des matières

  1. Introduction
  2. Caractéristiques techniques
  3. Installation
  4. Utilisation
  5. Configuration avancée
  6. Exemples
  7. Limitations
  8. Références
  9. Licence

Introduction

ADIA_TTS est un modèle de synthèse vocale (Text-to-Speech) open source en wolof, développé par CONCREE. Basé sur le modèle parler-tts-mini-multilingual-v1.1, il représente une avancée significative dans la synthèse vocale pour la langue wolof.

Points clés

  • Entraîné sur 40 heures de données vocales en wolof
  • Affiné pendant 100 epochs (~168 heures d'entraînement)
  • Qualité vocale naturelle et fluide
  • Voix unique avec contrôle des caractéristiques vocales via description

Caractéristiques techniques

Spécifications du modèle

  • Architecture : parler-tts-mini-multilingual-v1.1
  • Taille du modèle : 1.88 GB
  • Format du modèle : PyTorch
  • Fréquence d'échantillonnage : 24kHz
  • Encodage audio : 16-bit PCM

Performance

  • Temps moyen d'inférence : secondes/phrase (CPU), 20 secondes/phrase (GPU)
  • Consommation mémoire : 3.9 GB (RAM minimale recommandée)

Installation

Prérequis

Python 3.8 ou supérieur PyTorch 2.0 ou supérieur CUDA (obligatoire, pour accélération GPU)

pip install git+https://github.com/huggingface/parler-tts.git

Utilisation

Exemple de base

import torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf

device = "cuda:0" if torch.cuda.is_available() else "cpu"

# Chargement du modèle
model = ParlerTTSForConditionalGeneration.from_pretrained("CONCREE/Adia_TTS").to(device)
tokenizer = AutoTokenizer.from_pretrained("CONCREE/Adia_TTS")

# Texte en wolof à synthétiser
text = "Entreprenariat ci Senegal dafa am solo lool ci yokkuteg koom-koom, di gëna yokk liggéey ak indi gis-gis yu bees ci dëkk bi."

# Description du style vocal
description = "A clear and educational voice, with a flow adapted to learning"

# Génération
input_ids = tokenizer(description, return_tensors="pt").input_ids.to(device)
prompt_ids = tokenizer(text, return_tensors="pt").input_ids.to(device)

audio = model.generate(
    input_ids=input_ids,
    prompt_input_ids=prompt_ids,
)

# Sauvegarde
sf.write("output.wav", audio.cpu().numpy().squeeze(), model.config.sampling_rate)

Configuration avancée

Paramètres de génération

generation_config = {
    "temperature": 0.8,           # Contrôle la variabilité de la sortie
    "max_new_tokens": 1000,       # Longueur maximale de la séquence générée
    "do_sample": True,            # Active l'échantillonnage aléatoire
    "top_k": 50,                  # Limite le nombre de tokens considérés
    "repetition_penalty": 1.2,    # Pénalise la répétition de tokens
}

audio = model.generate(
    input_ids=input_ids,
    prompt_input_ids=prompt_ids,
    **generation_config
)

Styles vocaux

Exemples de descriptions pour différents styles :

  1. Voix naturelle

description = "A warm and natural voice, with a conversational flow"
  1. Voix professionnelle

description = "A professional, clear and composed voice, perfect for formal presentations"
  1. Voix pour l'éducation

description = "A clear and educational voice, with a flow adapted to learning"

Limitations

  • Performance réduite sur les phrases très longues
  • Gestion limitée des nombres et des dates
  • Temps de chargement initial du modèle relativement plus long
  • Le modèle est limité à 200 caractères maximum par inférence sans segmentation. Pour les textes plus longs, une segmentation manuelle est nécessaire.
  • La qualité des transitions entre segments peut varier selon la méthode de segmentation choisie
  • Il est recommandé de segmenter le texte aux frontières naturelles (phrases, paragraphes) pour de meilleurs résultats

Références

@misc{CONCREE-2024-Adia_TTS,
  author = {CONCREE},
  title = {Adia_TTS},
  year = {2025},
  publisher = {Hugging Face},
  journal = {Hugging Face repository},
  howpublished = {\url{https://huggingface.co/CONCREE/Adia_TTS}}
}
@misc{lyth2024natural,
  title={Natural language guidance of high-fidelity text-to-speech with synthetic annotations},
  author={Dan Lyth and Simon King},
  year={2024},
  eprint={2402.01912},
  archivePrefix={arXiv},
  primaryClass={cs.SD}
}

Licence

Ce projet est sous licence Apache 2.0. Voir le fichier LICENSE pour plus de détails.

Conditions d'utilisation

  • Les utilisateurs s'engagent à utiliser le modèle d'une manière qui respecte la langue wolof et la culture sénégalaise.
  • Nous encourageons l'utilisation de ce modèle pour développer des solutions qui améliorent l'accessibilité numérique pour les locuteurs wolof et contribuent à réduire la fracture numérique. Les projets visant l'inclusion numérique sont particulièrement bienvenus.
  • Toute utilisation du modèle doit mentionner CONCREE comme créateur original. Les utilisateurs sont fortement encouragés à partager leurs améliorations avec la communauté.
  • L'utilisation commerciale est autorisée selon les termes de la licence Apache 2.0.

Contact

Pour toute question ou support :

Email : [email protected]

Downloads last month
1,358
Safetensors
Model size
938M params
Tensor type
FP16
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Model tree for CONCREE/Adia_TTS

Finetuned
(1)
this model

Space using CONCREE/Adia_TTS 1