voice.answer()
answer() メソッドは、リアルタイム Voice Provider に AI の応答生成を指示します。ユーザー入力の受信後に AI へ明示的に応答を求める必要がある、音声間の会話で特に役立ちます。
使用例使用例への直接リンク
import { OpenAIRealtimeVoice } from '@mastra/voice-openai-realtime'
import { getMicrophoneStream } from '@mastra/node-audio'
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',
apiKey: process.env.OPENAI_API_KEY,
},
speaker: 'alloy', // Default voice
})
// Connect to the real-time service
await voice.connect()
// Register event listener for responses
voice.on('speaker', stream => {
// Handle audio response
stream.pipe(speaker)
})
// Send user audio input
const microphoneStream = getMicrophoneStream()
await voice.send(microphoneStream)
// Trigger the AI to respond
await voice.answer()
パラメーターパラメーターへの直接リンク
options?:
Record<string, unknown>
応答に使用する Provider 固有のオプション
戻り値戻り値への直接リンク
応答が開始されると解決する Promise<void> を返します。
注意事項注意事項への直接リンク
- 音声間の通信をサポートするリアルタイム Voice Provider だけが実装します
- この機能をサポートしない Voice Provider で呼び出すと、警告を記録して直ちに解決します
- 通常、応答音声は直接返されず、'speaking' イベントで送出されます
- 対応する Provider では、AI に生成させる代わりに、このメソッドで特定の応答を送信できます
- 会話フローを作成する際は、一般に
send()と組み合わせて使用します