メインコンテンツへ移動

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() と組み合わせて使用します