음성.답변()
그만큼answer()방법은 실시간 음성 제공자에서 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>를 반환합니다.
메모메모에 대한 직접 링크
- 이 메서드는 음성 간 통신 기능을 지원하는 실시간 음성 Provider에서만 구현됩니다.
- 이 기능을 지원하지 않는 음성 Provider에서 호출하면 경고를 기록하고 즉시 완료됩니다.
- 응답 오디오는 일반적으로 직접 반환되지 않고 'speaking' 이벤트를 통해 방출됩니다.
- 이를 지원하는 Provider에서는 AI가 응답을 생성하게 하는 대신 이 메서드로 특정 응답을 보낼 수 있습니다.
- 이 메서드는 일반적으로 대화 흐름을 만들기 위해
send()와 함께 사용됩니다.