> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # 오픈AI Mastra의 OpenAIVoice 클래스는 OpenAI Model을 사용하여 텍스트 음성 변환 및 음성 텍스트 변환 기능을 제공합니다. ## 사용예 ```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', }) ``` ## 구성 ### 생성자 옵션 **speechModel** (`OpenAIConfig`): 텍스트-음성 합성을 위한 구성입니다. (Default: `{ name: 'tts-1' }`) **speechModel.name** (`'tts-1' | 'tts-1-hd' | 'whisper-1'`): Model 이름입니다. 더 높은 품질의 오디오에는 'tts-1-hd'를 사용하세요. **speechModel.apiKey** (`string`): OpenAI API 키입니다. 지정하지 않으면 OPENAI\_API\_KEY 환경 변수를 사용합니다. **listeningModel** (`OpenAIConfig`): 음성-텍스트 인식을 위한 구성입니다. (Default: `{ name: 'whisper-1' }`) **listeningModel.name** (`'tts-1' | 'tts-1-hd' | 'whisper-1'`): Model 이름입니다. 더 높은 품질의 오디오에는 'tts-1-hd'를 사용하세요. **listeningModel.apiKey** (`string`): OpenAI API 키입니다. 지정하지 않으면 OPENAI\_API\_KEY 환경 변수를 사용합니다. **speaker** (`OpenAIVoiceId`): 음성 합성의 기본 음성 ID입니다. (Default: `'alloy'`) ## 행동 양식 ### `speak()` OpenAI의 텍스트 음성 변환 Model을 사용하여 텍스트를 음성으로 변환합니다. **input** (`string | NodeJS.ReadableStream`): 음성으로 변환할 텍스트 또는 텍스트 스트림입니다. **options** (`Options`): 구성 옵션입니다. **options.speaker** (`OpenAIVoiceId`): 음성 합성에 사용할 음성 ID입니다. **options.speed** (`number`): 말하기 속도 배율입니다. 보고:`Promise` ### `listen()` OpenAI의 Whisper Model을 사용하여 오디오를 텍스트로 변환합니다. **audioStream** (`NodeJS.ReadableStream`): 텍스트로 변환할 오디오 스트림입니다. **options** (`Options`): 구성 옵션입니다. **options.filetype** (`string`): 입력 스트림의 오디오 형식입니다. 보고:`Promise` ### `getSpeakers()` 각 노드에 다음이 포함된 사용 가능한 음성 옵션의 배열을 반환합니다. **voiceId** (`string`): 음성의 고유 식별자 ## 메모 - API 키는 생성자 옵션 또는 `OPENAI_API_KEY` 환경 변수를 통해 제공할 수 있습니다. - `tts-1-hd` Model은 더 높은 품질의 오디오를 제공하지만 처리 시간이 더 길 수 있습니다. - 음성 인식은 mp3, wav, webm을 포함한 다양한 오디오 형식을 지원합니다.