> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Speech-to-Text (STT) La fonctionnalité Speech-to-Text (STT) de Mastra fournit une interface standardisée pour convertir une entrée audio en texte auprès de plusieurs fournisseurs de services. STT permet aux applications compatibles avec la voix de répondre à la parole humaine. Elle prend en charge les interactions mains libres et améliore l’accessibilité pour les utilisateurs en situation de handicap. Elle offre également une interface plus naturelle. ## Configuration Pour utiliser STT dans Mastra, vous devez fournir un `listeningModel` lors de l’initialisation du fournisseur vocal. Celui-ci comprend des paramètres tels que : - **`name`** : le modèle STT spécifique à utiliser. - **`apiKey`** : votre clé API d’authentification. - **Options propres au fournisseur** : options supplémentaires qui peuvent être requises ou prises en charge par le fournisseur vocal concerné. **Comportement** : tous ces paramètres sont facultatifs. Vous pouvez utiliser les paramètres par défaut fournis par le fournisseur vocal ; ils dépendent du fournisseur que vous utilisez. ```typescript const voice = new OpenAIVoice({ listeningModel: { name: 'whisper-1', apiKey: process.env.OPENAI_API_KEY, }, }) // If using default settings the configuration can be simplified to: const voice = new OpenAIVoice() ``` ## Fournisseurs disponibles Mastra prend en charge plusieurs fournisseurs Speech-to-Text, chacun ayant ses propres capacités et atouts : - [**OpenAI**](https://mastra.zisheng.pro/fr/reference/voice/openai) : transcription de haute précision avec les modèles Whisper - [**Azure**](https://mastra.zisheng.pro/fr/reference/voice/azure) : reconnaissance vocale de Microsoft offrant une fiabilité adaptée aux entreprises - [**ElevenLabs**](https://mastra.zisheng.pro/fr/reference/voice/elevenlabs) : reconnaissance vocale avancée prenant en charge plusieurs langues - [**Google**](https://mastra.zisheng.pro/fr/reference/voice/google) : reconnaissance vocale de Google avec une prise en charge étendue des langues - [**Cloudflare**](https://mastra.zisheng.pro/fr/reference/voice/cloudflare) : reconnaissance vocale optimisée pour l’edge, destinée aux applications à faible latence - [**Deepgram**](https://mastra.zisheng.pro/fr/reference/voice/deepgram) : reconnaissance vocale alimentée par l’IA, très précise pour différents accents - [**Sarvam**](https://mastra.zisheng.pro/fr/reference/voice/sarvam) : spécialisé dans les langues et accents indiens Chaque fournisseur est implémenté sous forme de package distinct, que vous pouvez installer selon vos besoins : ```bash pnpm add @mastra/voice-openai@latest # Example for OpenAI ``` ## Utiliser la méthode listen La méthode principale de STT est `listen()`, qui convertit un contenu audio parlé en texte. Voici comment l’utiliser : ```typescript import { Agent } from '@mastra/core/agent' import { OpenAIVoice } from '@mastra/voice-openai' import { getMicrophoneStream } from '@mastra/node-audio' const voice = new OpenAIVoice() const agent = new Agent({ id: 'voice-agent', name: 'Voice Agent', instructions: 'You are a voice assistant that provides recommendations based on user input.', model: 'openai/gpt-5.6-sol', voice, }) const audioStream = getMicrophoneStream() // Assume this function gets audio input const transcript = await agent.voice.listen(audioStream, { filetype: 'm4a', // Optional: specify the audio file type }) console.log(`User said: ${transcript}`) const { text } = await agent.generate( `Based on what the user said, provide them a recommendation: ${transcript}`, ) console.log(`Recommendation: ${text}`) ``` ## Transcrire un fichier audio La méthode `listen()` accepte un flux de données audio provenant d’un microphone ou d’un fichier. Utilisez `createReadStream()` lorsque vous souhaitez transcrire un fichier audio : ```typescript import { createReadStream } from 'fs' import path from 'path' const audioFilePath = path.join(process.cwd(), 'agent.m4a') const audioStream = createReadStream(audioFilePath) const transcription = await agent.voice.listen(audioStream, { filetype: 'm4a', }) console.log(`Transcription: ${transcription}`) ``` Pour une présentation plus générale des fournisseurs vocaux associés aux Agents, consultez [Voice dans Mastra](https://mastra.zisheng.pro/fr/guides/voice/overview).