> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # voice.connect() La méthode `connect()` établit une connexion WebSocket ou WebRTC pour une communication speech-to-speech en temps réel. Elle doit être appelée avant d'utiliser d'autres fonctionnalités en temps réel telles que `send()` ou `answer()`. ## Exemple d'utilisation ```typescript import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime' import Speaker from '@mastra/node-speaker' const speaker = new Speaker({ sampleRate: 24100, // Audio sample rate in Hz - standard for high-quality audio on MacBook Pro channels: 1, // Mono audio output (as opposed to stereo which would be 2) bitDepth: 16, // Bit depth for audio quality - CD quality standard (16-bit resolution) }) // Initialize a real-time voice provider const voice = new OpenAIRealtimeVoice({ realtimeConfig: { model: 'gpt-5.1-realtime', apiKey: process.env.OPENAI_API_KEY, options: { sessionConfig: { turn_detection: { type: 'server_vad', threshold: 0.6, silence_duration_ms: 1200, }, }, }, }, speaker: 'alloy', // Default voice }) // Connect to the real-time service await voice.connect() // Now you can use real-time features voice.on('speaker', stream => { stream.pipe(speaker) }) // With connection options await voice.connect({ timeout: 10000, // 10 seconds timeout reconnect: true, }) ``` ## Paramètres **options** (`Record`): Options de connexion propres au fournisseur ## Valeur de retour Renvoie une `Promise` qui se résout lorsque la connexion est correctement établie. ## Options propres au fournisseur Chaque fournisseur vocal en temps réel peut prendre en charge des options différentes pour la méthode `connect()` : ### OpenAI Realtime **options** (`Options`): Options de configuration. **options.timeout** (`number`): Délai d'expiration de la connexion en millisecondes **options.reconnect** (`boolean`): Indique si la reconnexion doit être automatique en cas de perte de la connexion ## Utilisation avec `CompositeVoice` Lors de l'utilisation de `CompositeVoice`, la méthode `connect()` délègue l'opération au fournisseur en temps réel configuré : ```typescript import { CompositeVoice } from '@mastra/core/voice' import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime' const realtimeVoice = new OpenAIRealtimeVoice() const voice = new CompositeVoice({ realtime: realtimeVoice, }) // This will use the OpenAIRealtimeVoice provider await voice.connect() ``` ## Remarques - Cette méthode est uniquement implémentée par les fournisseurs vocaux en temps réel compatibles avec les fonctionnalités speech-to-speech - Si elle est appelée sur un fournisseur vocal qui ne prend pas en charge cette fonctionnalité, elle consigne un avertissement et se résout immédiatement - La connexion doit être établie avant d'utiliser d'autres méthodes en temps réel telles que `send()` ou `answer()` - Lorsque vous n'avez plus besoin de l'instance Voice, appelez `close()` afin de libérer correctement les ressources - Selon leur implémentation, certains fournisseurs peuvent se reconnecter automatiquement en cas de perte de la connexion - Les erreurs de connexion sont généralement levées sous forme d'exceptions qui doivent être interceptées et traitées ## Méthodes associées - [voice.send()](https://mastra.zisheng.pro/fr/reference/voice/voice.send) : envoie des données audio au fournisseur vocal - [voice.answer()](https://mastra.zisheng.pro/fr/reference/voice/voice.answer) : demande au fournisseur vocal de répondre - [voice.close()](https://mastra.zisheng.pro/fr/reference/voice/voice.close) : se déconnecte du service en temps réel - [voice.on()](https://mastra.zisheng.pro/fr/reference/voice/voice.on) : enregistre un listener pour les événements Voice