--- library_name: transformers license: apache-2.0 language: - wo base_model: - parler-tts/parler-tts-mini-multilingual-v1.1 pipeline_tag: text-to-speech ---  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) ```sh pip install git+https://github.com/huggingface/parler-tts.git ``` ## Utilisation ## Exemple de base ```py 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 ```py 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 ```py description = "A warm and natural voice, with a conversational flow" ``` 2. ### Voix professionnelle ```py description = "A professional, clear and composed voice, perfect for formal presentations" ``` 3. ### Voix pour l'éducation ```py 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 : ai@concree.com