Synthèse vocale de base
Le fichiertalk.php ci-dessous synthétise la voix à partir d’un texte et l’écrit dans un fichier WAV.
Synthèse en une seule étape (méthode tts)
Pour éviter les deux étapes createAudioQuery + synthesis, utilisez la méthode tts() :
Synthèse à partir de notation katakana
Vous pouvez également synthétiser à partir de la notation katakana de style AquesTalk :Utiliser un dictionnaire utilisateur
Pour enregistrer la prononciation de mots personnalisés, utilisezUserDict :
Ajuster l’AudioQuery
En ajustant le JSON obtenu viacreateAudioQuery avant la synthèse, vous pouvez contrôler finement l’intonation, le tempo, etc. :
Récupérer les accent phrases
Vous pouvez récupérer les informations d’accent phrases d’un texte pour vérification ou édition :Utiliser le mode GPU
Sur un environnement où le GPU est disponible, spécifierAccelerationMode::Gpu accélère la synthèse :
Utiliser plusieurs modèles vocaux
En chargeant plusieurs fichiers.vvm, vous pouvez utiliser plusieurs voix de personnages en changeant d’ID de style :
OnExistingVoiceModelId comme deuxième argument de loadVoiceModel(). La valeur par défaut Error lève une exception, Reload recharge le modèle et Skip ne fait rien :
Générer du PCM par trames
En découpant avecslice() par plages de trames un AudioFeature créé avec createAudioFeature(), puis en appelant render(), vous pouvez convertir même un long texte en données audio petit à petit. L’exemple suivant écrit le PCM par tranches d’environ 0,3 seconde :
La sortie de
render() n’est pas un fichier WAV, mais des données PCM 16 bits brutes. Cette méthode nécessite un modèle VVM v2. L’API C fournit la création d’AudioFeature et le rendu par plage, mais pas l’API de haut niveau streaming_synthesis.