Voix off IA gratuites avec Qwen3-TTS dans ComfyUI : 9 voix, conception de voix et clonage

Mon template RunPod installe Qwen3-TTS, le modèle open source d'Alibaba, avec quatre workflows prêts à l'emploi. Ce que fait chacun, comment les scripts de n'importe quelle longueur sont gérés et de quel matériel vous avez besoin.

Anton Tenitsky13 octobre 20265 min de lectureCode sur GitHub

Ce guide a été traduit de l'anglais par IA et peut contenir des erreurs. Lire l'original.

Statut: Testé en local. Les quatre workflows tournent sur mon portable RTX 3080 en local. Un premier démarrage sur un vrai pod RunPod n'est pas encore vérifié ; je mettrai ce guide à jour dès que ce sera fait.

Les avatars parlants, les vidéos explicatives et les dialogues de jeu ont tous besoin d’une voix off. Qwen3-TTS, de l’équipe Qwen d’Alibaba, est un modèle ouvert de synthèse vocale avec neuf voix intégrées, la conception de voix à partir d’une description écrite et le clonage de voix. J’ai construit un template qui le fait tourner dans ComfyUI, principalement pour produire les voix off de mes vidéos d’avatars.

ComfyUI n’a pas de nodes Qwen3-TTS propres, le template inclut donc un petit pack de nodes qui pilote le paquet officiel qwen-tts de Qwen. Vous obtenez quatre workflows dans la barre latérale, chacun avec des valeurs par défaut fonctionnelles, si bien que le premier essai ne demande aucune saisie. Tout est sur GitHub.

En bref

  • Open source : les modèles sont publiés sous Apache-2.0, qui autorise l’usage commercial.
  • 9 voix intégrées qui parlent chacune 10 langues.
  • Concevez une voix à partir d’une description, ou clonez-en une à partir d’un enregistrement de 3 à 20 secondes.
  • Des scripts de n’importe quelle longueur, découpés et réassemblés automatiquement.
  • Tourne sur tout GPU de 8 Go ou plus. Environ 13,6 Go de modèles ; prévoyez un volume de 40 Go.

Les 9 voix intégrées

Voix Langue d’origine Caractère
Ryan Anglais Voix masculine dynamique, rythme marqué
Aiden Anglais Américain ensoleillé, médium clair
Vivian Chinois Jeune femme lumineuse, un peu mordante
Serena Chinois Jeune femme chaleureuse et douce
Uncle_Fu Chinois Homme expérimenté, grave et moelleux
Dylan Chinois (Pékin) Jeune homme de Pékin
Eric Chinois (Sichuan) Homme vif de Chengdu, légèrement rauque
Ono_Anna Japonais Femme enjouée, légère et agile
Sohee Coréen Femme chaleureuse, riche en émotion

Chaque voix parle les dix langues prises en charge (anglais, chinois, japonais, coréen, allemand, français, russe, portugais, espagnol et italien), et sonne mieux dans sa langue d’origine. Vous pouvez orienter n’importe laquelle avec une consigne de style.

Le template fournit un pool de voix : un clip de référence de chaque voix intégrée avec sa transcription exacte, 16 clips au total, dans ComfyUI/input/voices/. Écoutez-les dans JupyterLab pour choisir une voix avant de rendre quoi que ce soit.

Les quatre workflows

Workflow Modèle Ce qu’il fait
1. Voix intégrée CustomVoice L’une des neuf voix lit votre script, dans la langue et le style de votre choix
2. Conception de voix VoiceDesign Décrivez une voix (« une narratrice calme et chaleureuse, la trentaine »). Elle prononce un échantillon et l’enregistre dans le pool de voix
3. Clonage de voix Base N’importe quelle voix du pool lit tout votre script, cohérente du début à la fin
4. Ajouter votre voix Aucun Ajoute votre propre enregistrement et sa transcription au pool de voix

Les workflows 2, 3 et 4 fonctionnent ensemble via le pool de voix : concevez une voix ou ajoutez votre propre enregistrement, et elle arrive dans le pool ; puis le workflow de clonage lit votre script complet avec cette voix. La voix off terminée est enregistrée en .wav et en .mp3 dans output/voiceover/, et se lit directement sur le node Save.

Des scripts de n’importe quelle longueur

Un seul appel à Qwen3-TTS est plafonné à 2 048 trames de codec, soit environ 2,5 minutes de parole, et les longs appels uniques dérivent en rythme. Le template :

  1. Découpe le script en parties d’au plus 400 caractères, toujours à une fin de phrase ou de paragraphe.
  2. Rend chaque partie avec la même voix et la même seed.
  3. Les assemble avec une pause de 0,25 seconde entre les phrases et de 0,6 seconde après un paragraphe (une ligne vide dans votre script).

Une voix conçue pour un long script : la conception de voix rend chaque partie à partir de la description, la voix peut donc légèrement varier d’une partie à l’autre. La solution, et la voie recommandée par Qwen, est de concevoir un court échantillon avec le workflow 2, puis de le cloner pour tout le script avec le workflow 3.

Votre propre voix : enregistrez de 3 à 20 secondes de parole propre, tapez exactement ce que vous avez dit, et ajoutez les deux avec le workflow 4. Ne clonez que des voix que vous avez le droit d’utiliser.

Matériel et coût

Chacun des trois modèles 1,7B a besoin d’environ 4 Go de VRAM, et un seul est chargé à la fois, donc tout GPU de 8 Go ou plus convient. La parole est générée un jeton à la fois, un GPU plus rapide aide donc moins ici que pour la vidéo.

  • Sur mon portable RTX 3080, le pool de voix s’est rendu à environ 5 secondes par seconde de parole. Un GPU de bureau ou de centre de données est plusieurs fois plus rapide.
  • Sur RunPod, une RTX A5000 à 0,27 $/h suffit largement. Il n’y a aucune raison de payer une RTX 5090 pour cela.
  • Stockage : les trois modèles font environ 13,6 Go. Un volume réseau de 40 Go coûte environ 2,80 $ par mois en stockage standard.

L’exécuter sur RunPod

  1. Créez un volume réseau de 40 Go. Le template refuse de tourner sans, afin que vos modèles et vos voix survivent d’une session à l’autre.
  2. Déployez le template sur un GPU de 8 Go ou plus, avec le volume attaché.
  3. Surveillez les logs au premier démarrage. Vous attendez Voice pool: 16 clips, les téléchargements de modèles, puis Setup complete!
  4. Ouvrez ComfyUI (port 8188) et choisissez un workflow dans la barre latérale Workflows.
  5. Utilisez JupyterLab (port 8888) pour écouter le pool de voix et télécharger vos voix off.

Les démarrages suivants sautent tout ce qui est déjà installé. Si les volumes réseau et les pods sont nouveaux pour vous, mon introduction à RunPod en explique les bases.

Note de sécurité : JupyterLab tourne sans identifiant par défaut, donc quiconque connaît l’URL du pod obtient un shell. Pour un travail client, définissez JUPYTER_NO_AUTH=0 et un JUPYTER_PASSWORD au déploiement.

Pour les créateurs de templates

Si vous construisez votre propre template RunPod au lieu d’utiliser celui-ci, voici quelques détails du dépôt qui ont pris le plus de temps :

  • L’image de base est runpod/comfyui:1.4.0-comfyuiv0.35.0-cuda12.8, avec un disque de conteneur de 5 Go et le volume réseau monté sur /workspace.
  • qwen-tts 0.1.1 ne s’importe pas avec transformers 5.x, fourni par l’image. Le template épingle transformers 4.57.3 dans l’environnement de ComfyUI et le vérifie à chaque démarrage.
  • La commande de démarrage vérifie le DNS de GitHub et de Hugging Face, se rabat sur des résolveurs publics si nécessaire et retente le clone jusqu’à dix fois.

Nouveau sur RunPod ? Mon lien de parrainage offre aux nouveaux comptes inscrits avec Google entre 5 et 500 $ de crédit après leurs 10 premiers dollars, et je touche une petite commission.

Crédits : Qwen3-TTS par l’équipe Qwen d’Alibaba, Apache-2.0. Template, nodes et workflows par moi, gratuits sur GitHub.

Questions fréquentes

Qwen3-TTS est-il gratuit pour un usage commercial ?

Les modèles sont publiés sous licence Apache-2.0, qui autorise l'usage commercial. Le clonage est une autre question : ne clonez que des voix que vous avez le droit d'utiliser.

Quelles langues Qwen3-TTS prend-il en charge ?

Anglais, chinois, japonais, coréen, allemand, français, russe, portugais, espagnol et italien. Chaque voix intégrée parle les dix.

Quelle peut être la durée d'une voix off ?

N'importe laquelle. Le template découpe le script aux fins de phrase et de paragraphe, rend chaque partie avec la même voix et la même seed, et les assemble avec des pauses naturelles.

De quel GPU ai-je besoin ?

N'importe quel GPU avec 8 Go de VRAM ou plus. Sur RunPod, une RTX A5000 est largement suffisante.

Puis-je le faire tourner en local plutôt que sur RunPod ?

Oui. Les nodes et workflows ComfyUI sont dans le dépôt GitHub, et ils tournent sur un GPU de portable de 8 Go.

Anton Tenitsky est artiste 3D avec plus de 15 ans d'expérience en infographie, qui a travaillé avec Nickelodeon, Gameloft, Marvel Rivals et de nombreux autres clients. En savoir plus sur moi

Guides associés