Skip to main content
La fonctionnalité de presets permet d’enregistrer dans le moteur officiel VOICEVOX des combinaisons de paramètres de synthèse vocale fréquemment utilisées et de les réutiliser. En mode client, les presets ne sont pas stockés côté Laravel : l’API de presets du moteur officiel connecté est utilisée.

Vue d’ensemble

Les presets en mode client se manipulent via la Facade Voicevox. En interne, des requêtes HTTP sont envoyées à /presets, /add_preset, /update_preset, /delete_preset et /audio_query_from_preset du moteur officiel VOICEVOX. Les presets du moteur officiel sont stockés dans la zone utilisateur propre à chaque OS sous forme de presets.yaml. Sur la version macOS de l’application VOICEVOX (version produit), ils sont généralement stockés à cet emplacement :
Quand le moteur officiel est démarré via Docker, il stocke également dans la zone utilisateur du conteneur. Les données sont conservées tant que le même conteneur est réutilisé. Si en revanche vous créez un conteneur temporaire à chaque fois (docker run --rm), les presets sont perdus à l’arrêt du conteneur. Pour une persistance fiable, montez la zone utilisateur du conteneur via un volume Docker. Ceci est distinct de storage/voicevox/presets.json du mode natif. config('voicevox.core.presets') côté Laravel n’est pas utilisé en mode client.

Prérequis

Démarrez le moteur officiel VOICEVOX.
La cible de connexion peut être changée via VOICEVOX_URL.

Structure d’un preset

Les presets envoyés et reçus en mode client sont des tableaux alignés sur le schéma de l’API du moteur officiel.

Utilisation de base

Créer un preset

Voicevox::addPreset() permet de créer un preset. Dans le moteur officiel, spécifier 0 comme id fait attribuer automatiquement un ID libre.

Récupérer tous les presets

Mettre à jour un preset

Supprimer un preset

Synthèse vocale à partir d’un preset

talkFromPreset()

Voicevox::talkFromPreset() utilise /audio_query_from_preset du moteur officiel pour créer un TalkAudioQuery avec le preset déjà appliqué.

audioQueryFromPreset()

Pour ne récupérer que le tableau de la audio query avant synthèse, utilisez audioQueryFromPreset().

Ajustements complémentaires avec tap()

Le TalkAudioQuery créé depuis un preset peut être ajusté avec tap() comme n’importe quel Voicevox::talk().

Correspondance avec l’API du moteur

Chaque méthode de la Facade Voicevox correspond à une API du moteur officiel.

Différences avec le mode natif

Exemples pratiques

Pour la narration

Pour la parole rapide

Détails des paramètres

  • speedScale : 0.5 à 2.0 (vitesse)
  • pitchScale : -0.15 à 0.15 (hauteur)
  • intonationScale : 0.0 à 2.0 (intonation)
  • volumeScale : 0.0 à 2.0 (volume)
  • prePhonemeLength : 0.0 à 1.5 (silence de début, en secondes)
  • postPhonemeLength : 0.0 à 1.5 (silence de fin, en secondes)

Précautions

En mode client, c’est le presets.yaml du moteur officiel qui est mis à jour. Rien n’est stocké dans le storage du projet Laravel.
  • Si vous créez à chaque fois un conteneur temporaire (par exemple docker run --rm), les presets sont perdus à l’arrêt du conteneur.
  • Incluez toujours à la fois speaker_uuid et style_id.
  • Pour generate(id:) sur une query créée par talkFromPreset(), spécifiez normalement le même ID que le style_id du preset.

Dépannage

Les presets ne peuvent pas être récupérés

  1. Vérifiez que le moteur officiel VOICEVOX est bien démarré.
  2. Vérifiez que VOICEVOX_URL pointe vers la bonne cible.
  3. Vérifiez que vous n’avez pas relancé un autre conteneur Docker.

L’emplacement du fichier de presets est inconnu

Sur la version build macOS, vérifiez cet emplacement :
Sous Docker, le fichier est stocké dans la zone utilisateur du moteur officiel (dans le conteneur). Pour une persistance, montez cette zone utilisateur du conteneur dans un volume Docker.

Le speaker_uuid est inconnu

Vous pouvez récupérer l’UUID depuis la liste des locuteurs.
Dernière modification le 13 juillet 2026