Voix¶
Je veux entendre mon dialogue parlé sans enregistrer d'acteurs¶
Générez l'audio de synthèse vocale (TTS, text-to-speech) — il est livré déjà câblé au fournisseur local gratuit. Le fournisseur TTS par défaut de Libretto est MSVoice (Windows SAPI) : local, gratuit, sans réseau, déjà configuré dans le plugin. Vous obtenez de l'audio parlé pour relecture sans toucher au moindre réglage.

- Cliquez sur Generate Assets — le générateur TTS produit une prise audio par réplique parlée.
- Cliquez sur Generate Sequences — l'audio est placé sur la timeline.
- Prévisualisez la scène : vos répliques sont maintenant parlées.
Piège
Seules les répliques Text dotées d'un Speaker reçoivent une voix. Les répliques Reply
du joueur ne sont jamais doublées — pour donner une voix au joueur, écrivez de vraies répliques
Text parlées par le personnage joueur (p. ex. dans un Choice). Le TTS est un placeholder :
il existe pour relire le rythme, la mise en scène et les caméras avec du vrai audio, pas pour être
livré comme voix finale.
Voir aussi : Text to speech · Génération
Mes personnages sonnent tous pareil, ou parlent la mauvaise langue¶
Donnez à chaque personnage une ligne dans la table de personnages MSVoice, et différenciez les voix de même genre avec le pitch et le débit. Une machine typique n'a que deux voix SAPI anglaises (David et Zira), donc deux personnages masculins choisissent tous deux David automatiquement et sonnent à l'identique — la table est le moyen de les distinguer et de contrôler la langue.

- Ouvrez
DT_MSVoices(la MSVoice Character Table dans Project Settings ▸ Libretto – Text To Speech). - Ajoutez une ligne par personnage (
FLBRMSVoiceCharacterDesc) : réglez Character Class, et ajustez Pitch Percent / Rate Percent pour que deux personnages partageant la même voix sous-jacente soient distincts à l'oreille. - Laissez Culture vide pour que la voix suive la culture de génération ; ne la remplissez que pour épingler un personnage à une langue spécifique.
- Relancez Generate Assets (voir l'entrée de re-doublage ci-dessous).
Piège
Laissez Voice Name vide pour un choix automatique par genre + culture — portable entre machines ; une voix Windows nommée peut ne pas exister sur le PC d'un collègue. Et Culture est un piège : la remplir épingle la langue quelle que soit la culture que vous générez. Élargissez le pool en installant plus de voix SAPI via Paramètres Windows ▸ Heure et langue ▸ Voix.
Voir aussi : MSVoice — comment une voix est choisie ·
La table de personnages (DT_MSVoices)
J'ai modifié une réplique — comment la re-doubler seule, sans tout régénérer ?¶
Supprimez l'asset audio de cette seule réplique — une passe normale ne régénère que l'audio manquant, donc elle ne re-double que cette réplique. Comme une passe Generate Assets normale saute tout ce qui existe déjà et ne produit que ce qui manque, supprimer l'asset d'une seule réplique est le levier chirurgical : la passe suivante recrée exactement celle-là, et rien d'autre.
- Dans le Content Browser, trouvez l'asset audio de la réplique modifiée dans le dossier audio du
dialogue et supprimez-le — le placeholder TTS est nommé
VX_<DialoguePrefix>_<LineID>_TTS(supprimez aussi l'asset VoiceVX_<DialoguePrefix>_<LineID>si vous voulez re-doubler une réplique enregistrée). - Lancez Generate Assets normalement — sans Force — puis Generate Sequences. Seul l'asset supprimé est régénéré, donc seule cette réplique change.
Pour rafraîchir toute une section à la place, utilisez Force cadré dans l'assistant :
- Lancez Generate Assets, décochez tous les sous-dialogues sauf celui voulu, cochez Force (generate all data rather than just the missing assets), Run. Force avec tous les sous-dialogues cochés re-double le dialogue entier.
Piège
Force n'est pas conscient des diffs de texte — il re-double tout le périmètre coché, pas « seulement les répliques dont le texte a changé ». C'est pourquoi supprimer un seul asset (étape 1) est le grain le plus fin : il n'a besoin d'aucun Force. Force est un flag côté Assets (re-doublage) ; c'est une chose différente de Clean All, un flag côté Sequences qui efface et reconstruit les timelines (voir régénérer une partie d'un dialogue).
Voir aussi : Ce qui reçoit une voix · Generate Assets vs Sequences
J'ai un fournisseur TTS plus avancé — comment l'interfacer avec Libretto ?¶
Le TTS est enfichable : un fournisseur est un subsystem + un générateur d'assets que vous cochez dans Generate Assets. Libretto livre MSVoice (gratuit, local) et ElevenLabs (cloud, haute qualité). ElevenLabs est la voie « meilleures voix » toute prête ; un fournisseur entièrement personnalisé est un point d'extension côté code.
- Utilisez ElevenLabs (le fournisseur haute qualité livré) : réglez le ElevenLabs API Token
et une Character Voices Table (
FLBRElevenLabsCharacterDesc) dans les réglages TTS, puis cochez son générateur dans l'assistant Generate Assets. - Intégrez le vôtre : implémentez un
ULBRTextToSpeechSubsystemet unULBRTTSGeneratorqui écrit un WAV par réplique parlée au chemin/nom que Libretto attend, enregistrez-le dans la liste Asset Generators, et sélectionnez-le via le réglage Text To Speech Subsystem.
Piège
Les fournisseurs cloud consomment du quota et rendent la génération nettement plus lente — ne générez que ce dont vous avez besoin (sélection par sous-dialogue, et fiez-vous à skip already-generated plutôt qu'à Force). Un fournisseur personnalisé doit respecter le nommage WAV par réplique de Libretto et la sortie consciente du mount, sinon la piste audio ne trouvera pas ses prises.
Voir aussi : ElevenLabs · Les fournisseurs en un coup d'œil · Générateurs de pistes personnalisés
Je veux un script à remettre aux comédiens avant une session d'enregistrement¶
Clic-droit sur l'asset Dialogue ▸ Import/Export et choisissez un export script — ils sont distincts de la localisation. Le round-trip CSV s'adresse aux traducteurs ; un export script est le document lisible que vous remettez à un casting de voix. Trois options couvrent les besoins courants, de la feuille d'enregistrement par comédien au scénario Final Draft.
- Export Recording Script (per character) — l'option prête pour la session : une feuille
.txtpar personnage parlant, chaque comédien ne reçoit que ses répliques. Chaque ligne indique son sous-dialogue, le nom de fichier Voice cibleVX_<DialoguePrefix>_<LineID>(pour remapper directement les prises sur le bon asset), un marqueur(Off)pour la voix off, la stage direction en(| … |)et le texte. - Export To Final Draft (.fdx) — le dialogue en véritable scénario pour Final Draft (ou tout
outil compatible
.fdx) : un Scene Heading par sous-dialogue, Character / Parenthetical (stage direction) / Dialogue, et des lignes Action pour les embranchements (Choice / Reply / Comment / Silence / GoTo). - Export Dialogue To Txt file — tout le dialogue en un texte lisible par sous-dialogue, dans
l'ordre de lecture : en-têtes
#Speaker <Personnage>(avec(Off)), stage directions en(|…|), le texte, et les marqueurs#Comment / #Silence / #GoTo / #Choice. Un sélecteur de culture apparaît si le dialogue est traduit.
Lequel choisir ?
Remettez aux comédiens les feuilles par personnage — elles se mappent proprement sur les Voice assets. Utilisez Final Draft quand un auteur ou un studio veut un scénario. Utilisez Txt pour lire ou relire les embranchements d'un seul coup d'œil.
Piège
La direction que lisent les comédiens vient du champ Stage Direction de chaque ligne —
remplissez-le (en anglais, comme prévu) ou le script part sans indication. Tous les exports script
lisent la culture native par défaut (l'export Txt permet d'en choisir une autre). Pour scripter ces exports en headless, les exports par personnage et Final
Draft sont aussi sur ULBRDialogueExportLibrary (ExportRecordingScript / ExportFinalDraft),
appelables depuis Blueprint ou Python.
Voir aussi : Utiliser des prises enregistrées · Dialogue Editor · Localization (l'autre export)
Nous avons enregistré de vrais comédiens — comment utiliser ces prises à la place du TTS ?¶
Importez chaque prise enregistrée comme asset Voice de la réplique, nommé pour correspondre — il remplace automatiquement le TTS. Chaque réplique parlée a deux emplacements audio : un asset Voice (vrai enregistrement) et un asset TTS (placeholder). À l'exécution, Libretto cherche le Voice d'abord et ne retombe sur le TTS qu'à défaut, donc une prise enregistrée l'emporte pour cette réplique sans câblage supplémentaire.

- Pour chaque réplique enregistrée, importez le WAV comme SoundWave nommé
VX_<DialoguePrefix>_<LineID>(le placeholder TTS de la même réplique estVX_<DialoguePrefix>_<LineID>_TTS). - Placez-le dans le répertoire de voix de la réplique — le dossier audio conscient du mount à
côté des séquences du dialogue (dans le plugin, pas
/Game, si le dialogue vit dans un plugin). - C'est tout — la Voice enregistrée joue désormais à la place du TTS pour cette réplique.
Piège
La priorité est par réplique : une réplique sans Voice enregistrée joue toujours son TTS, donc
vous pouvez mélanger librement vraies prises et placeholders. Soignez le nom et l'ID — la
recherche se fait par nom, et une non-correspondance retombe silencieusement sur le TTS. Relancer
la génération TTS ne reconstruit que les assets …_TTS, donc vos prises Voice enregistrées ne
sont jamais écrasées par une régénération.
Voir aussi : Text to speech · Re-doubler une réplique modifiée