Synthèse vocale en streaming
Ce guide explique comment diffuser la synthèse vocale en streaming et, si besoin, téléverser l’audio vers AWS S3.
Ce guide présente trois approches : générer la parole sous forme de fichier, diffuser directement la réponse audio en streaming et, si vous le souhaitez, importer l’audio généré dans un bucket AWS S3 pour le partager via une URL signée.
Ce guide suppose que vous avez configuré votre clé API et votre SDK. Suivez d’abord le guide de démarrage rapide si ce n’est pas déjà fait. La section facultative consacrée à l’importation vers S3 nécessite également un compte AWS avec accès à S3.
Vous vous demandez pourquoi le streaming fonctionne ainsi ? Comprendre le streaming audio explique en détail le protocole, la mise en mémoire tampon et les compromis en matière de latence.
Convertir du texte en parole (fichier)
Pour convertir du texte en parole et l’enregistrer dans un fichier, nous utiliserons la méthode convert du SDK ElevenLabs, puis l’enregistrerons localement au format .mp3.
Vous pouvez ensuite exécuter cette fonction avec :
Convertir du texte en parole (streaming)
Si vous préférez diffuser l’audio directement en streaming sans l’enregistrer dans un fichier, vous pouvez utiliser notre fonctionnalité de streaming.
Vous pouvez ensuite exécuter cette fonction avec :
Bonus : importation vers AWS S3 et obtention d’un lien de partage sécurisé
Une fois vos données audio créées sous forme de fichier ou de flux, vous souhaiterez peut-être les partager avec vos utilisateurs. Vous pouvez notamment les importer dans un bucket AWS S3 et générer un lien de partage sécurisé.
Créer vos identifiants AWS
Pour importer les données vers S3, vous devez ajouter votre ID de clé d’accès AWS, votre clé d’accès secrète et le nom de votre région AWS à votre fichier .env. Suivez ces étapes pour obtenir vos identifiants :
- Connectez-vous à votre console de gestion AWS : accédez à la page d’accueil AWS et connectez-vous à votre compte.

- Accédez au Dashboard IAM (Identity and Access Management) : vous trouverez IAM sous « Security, Identity, & Compliance » dans le menu des services. Le Dashboard IAM gère de manière sécurisée l’accès à vos services AWS.

- Créez un nouvel utilisateur, si nécessaire : dans le Dashboard IAM, sélectionnez « Users », puis « Add user ». Saisissez un nom d’utilisateur.

- Définissez les autorisations : associez directement des politiques à l’utilisateur selon le niveau d’accès que vous souhaitez accorder. Pour les importations vers S3, vous pouvez utiliser la politique AmazonS3FullAccess. Il est toutefois recommandé d’appliquer le principe du moindre privilège, c’est-à-dire d’accorder uniquement les autorisations minimales nécessaires à l’exécution d’une tâche. Vous pouvez créer une politique personnalisée qui autorise uniquement les actions requises sur votre bucket S3.

- Vérifiez et créez l’utilisateur : vérifiez vos paramètres et créez l’utilisateur. Une fois créé, vous recevrez un ID de clé d’accès et une clé d’accès secrète. Téléchargez et enregistrez ces identifiants de manière sécurisée : la clé d’accès secrète ne pourra plus être récupérée après cette étape.

- Obtenez le nom de la région AWS : par exemple, us-east-1

Si vous n’avez pas de bucket AWS S3, vous devez en créer un en suivant ces étapes :
- Accédez au Dashboard S3 : vous trouverez S3 sous « Storage » dans le menu des services.

- Créez un bucket : dans le Dashboard S3, cliquez sur le bouton « Create bucket ».

- Saisissez un nom de bucket et cliquez sur le bouton « Create bucket ». Vous pouvez conserver les valeurs par défaut pour les autres options du bucket. Le nouveau bucket apparaîtra dans la liste.


Installer le SDK AWS et ajouter les identifiants
Installez boto3 pour interagir avec les services AWS à l’aide de pip et de npm.
Ajoutez ensuite les variables d’environnement au fichier .env comme suit :
Importer vers AWS S3 et générer l’URL signée
Ajoutez les fonctions suivantes pour importer le flux audio vers S3 et générer une URL signée.
Vous pouvez ensuite appeler la fonction d’importation avec le flux audio généré à partir du texte.
Après avoir importé le fichier audio vers S3, générez une URL signée pour partager l’accès au fichier. Cette URL est limitée dans le temps : elle expire après une certaine période, ce qui la rend sécurisée pour un partage temporaire.
Vous pouvez maintenant générer une URL à partir d’un fichier avec :
Si vous souhaitez utiliser le fichier plusieurs fois, enregistrez son chemin S3 dans votre base de données, puis régénérez l’URL signée à chaque utilisation, plutôt que d’enregistrer directement l’URL signée, car elle expirera.
Tout réunir
Pour tout réunir, vous pouvez utiliser le script suivant :
Conclusion
Vous savez désormais convertir du texte en parole et générer une URL signée pour partager le fichier audio. Cette fonctionnalité offre de nombreuses possibilités pour créer et partager du contenu de manière dynamique.
Voici quelques exemples de ce que vous pourriez concevoir avec cette fonctionnalité.
-
Podcasts éducatifs : créez du contenu éducatif personnalisé auquel les étudiants peuvent accéder à la demande. Les enseignants peuvent convertir leurs cours au format audio, les importer vers S3 et partager les liens avec leurs étudiants pour proposer une expérience d’apprentissage plus engageante en dehors du cadre scolaire traditionnel.
-
Fonctionnalités d’accessibilité pour les sites web : améliorez l’accessibilité d’un site web en proposant le contenu textuel au format audio. Les informations présentes sur les sites web deviennent ainsi plus accessibles aux personnes malvoyantes ou à celles qui préfèrent l’apprentissage auditif.
-
Messages automatisés de support client : produisez des messages audio automatisés et personnalisés pour le support client, tels que des FAQ ou des mises à jour de commande. Ils offrent une expérience client plus engageante que les emails textuels traditionnels.
-
Livres audio et narration : convertissez des livres entiers ou de courtes histoires au format audio, afin d’offrir au public une nouvelle façon de profiter de la littérature. Les auteurs et éditeurs peuvent diversifier leur offre de contenu et toucher les publics qui préfèrent écouter plutôt que lire.
-
Outils d’apprentissage des langues : développez des outils d’apprentissage des langues qui proposent aux apprenants des leçons et exercices audio. Ils permettent de s’entraîner de manière ciblée à la prononciation et à la compréhension orale.