> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # OpenAI La classe OpenAIVoice de Mastra fournit des fonctionnalités de synthèse et de transcription vocales au moyen des modèles OpenAI. ## Exemple d’utilisation ```typescript import { OpenAIVoice } from '@mastra/voice-openai' // Initialize with default configuration using environment variables const voice = new OpenAIVoice() // Or initialize with specific configuration const voiceWithConfig = new OpenAIVoice({ speechModel: { name: 'tts-1-hd', apiKey: 'your-openai-api-key', }, listeningModel: { name: 'whisper-1', apiKey: 'your-openai-api-key', }, speaker: 'alloy', // Default voice }) // Convert text to speech const audioStream = await voice.speak('Hello, how can I help you?', { speaker: 'nova', // Override default voice speed: 1.2, // Adjust speech speed }) // Convert speech to text const text = await voice.listen(audioStream, { filetype: 'mp3', }) ``` ## Configuration ### Options du constructeur **speechModel** (`OpenAIConfig`): Configuration de la synthèse vocale. (Default: `{ name: 'tts-1' }`) **speechModel.name** (`'tts-1' | 'tts-1-hd' | 'whisper-1'`): Nom du modèle. Utilisez 'tts-1-hd' pour obtenir un son de meilleure qualité. **speechModel.apiKey** (`string`): Clé d’API OpenAI. Utilise par défaut la variable d’environnement OPENAI\_API\_KEY. **listeningModel** (`OpenAIConfig`): Configuration de la transcription vocale. (Default: `{ name: 'whisper-1' }`) **listeningModel.name** (`'tts-1' | 'tts-1-hd' | 'whisper-1'`): Nom du modèle. Utilisez 'tts-1-hd' pour obtenir un son de meilleure qualité. **listeningModel.apiKey** (`string`): Clé d’API OpenAI. Utilise par défaut la variable d’environnement OPENAI\_API\_KEY. **speaker** (`OpenAIVoiceId`): ID de la voix par défaut pour la synthèse vocale. (Default: `'alloy'`) ## Méthodes ### `speak()` Convertit du texte en parole au moyen des modèles de synthèse vocale d’OpenAI. **input** (`string | NodeJS.ReadableStream`): Texte ou flux de texte à convertir en parole. **options** (`Options`): Options de configuration. **options.speaker** (`OpenAIVoiceId`): ID de la voix à utiliser pour la synthèse vocale. **options.speed** (`number`): Multiplicateur de la vitesse d’élocution. Renvoie : `Promise` ### `listen()` Transcrit le son au moyen du modèle Whisper d’OpenAI. **audioStream** (`NodeJS.ReadableStream`): Flux audio à transcrire. **options** (`Options`): Options de configuration. **options.filetype** (`string`): Format audio du flux d’entrée. Renvoie : `Promise` ### `getSpeakers()` Renvoie un tableau des options de voix disponibles, dans lequel chaque élément contient : **voiceId** (`string`): Identifiant unique de la voix ## Remarques - Les clés d’API peuvent être fournies au moyen des options du constructeur ou de la variable d’environnement `OPENAI_API_KEY` - Le modèle `tts-1-hd` produit un son de meilleure qualité, mais son traitement peut être plus lent - La transcription vocale prend en charge plusieurs formats audio, notamment mp3, wav et webm