> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Synthèse vocale (TTS) La synthèse vocale (Text-to-Speech ou TTS) dans Mastra propose une API unifiée permettant de produire du contenu audio parlé à partir de texte au moyen de différents fournisseurs. En intégrant la TTS à vos applications, vous pouvez améliorer l'expérience utilisateur grâce à des interactions vocales naturelles, faciliter l'accès aux personnes malvoyantes et créer des interfaces multimodales plus attrayantes. La TTS est un composant essentiel de toute application vocale. Associée à la STT (Speech-to-Text), elle constitue le socle des systèmes d'interaction vocale. Les modèles les plus récents prennent en charge la STS ([Speech-to-Speech](https://mastra.zisheng.pro/fr/guides/voice/speech-to-speech)), qui permet des interactions en temps réel, mais à un coût élevé ($). ## Configuration Pour utiliser la TTS dans Mastra, vous devez fournir un `speechModel` lors de l'initialisation du fournisseur de services vocaux. Celui-ci comprend notamment les paramètres suivants : - **`name`** : le modèle TTS précis à utiliser. - **`apiKey`** : votre clé d'API pour l'authentification. - **Options propres au fournisseur** : options supplémentaires qui peuvent être requises ou prises en charge par le fournisseur de services vocaux choisi. L'option **`speaker`** permet de choisir différentes voix pour la synthèse vocale. Chaque fournisseur propose des voix aux caractéristiques distinctes en matière de **diversité des voix**, de **qualité**, de **personnalité vocale** et de **prise en charge multilingue**. **Comportement** : tous ces paramètres sont facultatifs. Vous pouvez utiliser les réglages par défaut du fournisseur de services vocaux ; ceux-ci varient selon le fournisseur choisi. ```typescript const voice = new OpenAIVoice({ speechModel: { name: 'tts-1-hd', apiKey: process.env.OPENAI_API_KEY, }, speaker: 'alloy', }) // If using default settings the configuration can be simplified to: const voice = new OpenAIVoice() ``` ## Fournisseurs disponibles Mastra prend en charge plusieurs fournisseurs de synthèse vocale, chacun offrant des fonctionnalités et des voix qui lui sont propres. Vous pouvez choisir celui qui correspond le mieux aux besoins de votre application : - [**OpenAI**](https://mastra.zisheng.pro/fr/reference/voice/openai) : voix de haute qualité, avec une intonation et une expressivité naturelles - [**Azure**](https://mastra.zisheng.pro/fr/reference/voice/azure) : service vocal de Microsoft proposant différentes voix et langues - [**ElevenLabs**](https://mastra.zisheng.pro/fr/reference/voice/elevenlabs) : voix ultraréalistes, chargées d'émotion et offrant un contrôle précis - [**PlayAI**](https://mastra.zisheng.pro/fr/reference/voice/playai) : spécialisé dans les voix naturelles aux styles variés - [**Google**](https://mastra.zisheng.pro/fr/reference/voice/google) : synthèse vocale de Google avec prise en charge multilingue - [**Cloudflare**](https://mastra.zisheng.pro/fr/reference/voice/cloudflare) : synthèse vocale optimisée pour l'edge et les applications à faible latence - [**Deepgram**](https://mastra.zisheng.pro/fr/reference/voice/deepgram) : technologie vocale basée sur l'IA offrant une grande précision - [**Speechify**](https://mastra.zisheng.pro/fr/reference/voice/speechify) : synthèse vocale optimisée pour la lisibilité et l'accessibilité - [**Sarvam**](https://mastra.zisheng.pro/fr/reference/voice/sarvam) : spécialisé dans les langues et les accents indiens - [**Murf**](https://mastra.zisheng.pro/fr/reference/voice/murf) : voix off de qualité studio avec des paramètres personnalisables Chaque fournisseur est distribué sous la forme d'un package distinct que vous pouvez installer selon vos besoins : ```bash pnpm add @mastra/voice-openai@latest # Example for OpenAI ``` ## Utiliser la méthode speak La méthode principale de la TTS est `speak()`, qui convertit du texte en parole. Elle accepte des options permettant d'indiquer la voix ainsi que d'autres paramètres propres au fournisseur. Voici comment l'utiliser : ```typescript import { Agent } from '@mastra/core/agent' import { OpenAIVoice } from '@mastra/voice-openai' const voice = new OpenAIVoice() const agent = new Agent({ id: 'voice-agent', name: 'Voice Agent', instructions: 'You are a voice assistant that can help users with their tasks.', model: 'openai/gpt-5.6-sol', voice, }) const { text } = await agent.generate('What color is the sky?') // Convert text to speech to an Audio Stream const readableStream = await voice.speak(text, { speaker: 'default', // Optional: specify a speaker properties: { speed: 1.0, // Optional: adjust speech speed pitch: 'default', // Optional: specify pitch if supported }, }) ``` ## Enregistrer la sortie vocale La méthode `speak()` renvoie un flux audio. Redirigez ce flux vers un fichier lorsque vous devez enregistrer le contenu vocal généré afin de le lire ou de le traiter ultérieurement : ```typescript import { createWriteStream } from 'fs' import path from 'path' const audio = await agent.voice.speak('Hello, world!') const filePath = path.join(process.cwd(), 'agent.mp3') const writer = createWriteStream(filePath) audio.pipe(writer) await new Promise((resolve, reject) => { writer.on('finish', () => resolve()) writer.on('error', reject) }) ``` Pour une présentation plus générale des fournisseurs de services vocaux utilisables avec les agents, consultez [Voice dans Mastra](https://mastra.zisheng.pro/fr/guides/voice/overview).