> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # 미스트랄 MistralVoice 클래스는 Mistral의 Voxtral 오디오 Model을 사용하여 텍스트 음성 변환 및 음성 텍스트 변환 기능을 제공합니다. 버퍼링 및 스트리밍 TTS, 분할을 통한 일괄 전사, 참조 오디오를 통한 음성 복제를 지원합니다. ## 사용예 ```typescript import { MistralVoice } from '@mastra/voice-mistral' const voice = new MistralVoice() // Text-to-speech const audioStream = await voice.speak('Hello, how can I help you?', { responseFormat: 'mp3', }) // Speech-to-text const text = await voice.listen(audioStream, { language: 'en', }) // List available voices const speakers = await voice.getSpeakers() ``` ```typescript import { MistralVoice } from '@mastra/voice-mistral' // Initialize with specific configuration const voice = new MistralVoice({ speechModel: { name: 'voxtral-mini-tts-2603', apiKey: 'your-mistral-api-key', }, listeningModel: { name: 'voxtral-mini-latest', apiKey: 'your-mistral-api-key', }, speaker: 'en_paul_neutral', }) ``` ## 생성자 매개변수 **speechModel** (`MistralModelConfig`): 텍스트-음성 합성을 위한 구성입니다. (Default: `{ name: 'voxtral-mini-tts-2603' }`) **speechModel.name** (`string`): 음성 합성에 사용할 Model ID입니다. **speechModel.apiKey** (`string`): Mistral API 키입니다. 지정하지 않으면 MISTRAL\_API\_KEY 환경 변수를 사용합니다. **listeningModel** (`MistralModelConfig`): 음성-텍스트 인식을 위한 구성입니다. (Default: `{ name: 'voxtral-mini-latest' }`) **listeningModel.name** (`string`): 음성 변환에 사용할 Model ID입니다. 고정된 버전을 사용하려면 'voxtral-mini-2507'을 사용하세요. **listeningModel.apiKey** (`string`): Mistral API 키입니다. 지정하지 않으면 MISTRAL\_API\_KEY 환경 변수를 사용합니다. **speaker** (`string`): 음성 합성의 기본 음성 ID입니다. 사용 가능한 ID는 getSpeakers()에서 가져옵니다. (Default: `'en_paul_neutral'`) ## 행동 양식 ### `speak(input, options?)` Mistral의 Voxtral TTS Model을 사용하여 텍스트를 음성으로 변환합니다. 버퍼링된 출력과 스트리밍 출력을 모두 지원합니다. **input** (`string | NodeJS.ReadableStream`): 음성으로 변환할 텍스트 또는 텍스트 스트림입니다. **options** (`MistralSpeakOptions`): 구성 옵션입니다. **options.speaker** (`string`): 사용할 음성 ID입니다. 생성자의 기본값을 재정의합니다. **options.responseFormat** (`'pcm' | 'wav' | 'mp3' | 'flac' | 'opus'`): 오디오 출력 형식입니다. 지연 시간이 가장 짧은 스트리밍에는 'pcm'을 사용하세요. **options.refAudio** (`string`): 일회성 음성 복제를 위한 Base64 인코딩 참조 오디오입니다(최소 2\~3초). **options.model** (`string`): 이 호출에 사용할 음성 Model을 재정의합니다. **options.stream** (`boolean`): 스트리밍 TTS를 활성화합니다. 오디오 청크는 도착하는 즉시 스트림에 기록됩니다. 보고:`Promise` ### `listen(audioStream, options?)` Mistral의 Voxtral 전사 Model을 사용하여 오디오를 전사합니다. 분할, 컨텍스트 바이어스 및 타임스탬프 세부 수준을 지원합니다. **audioStream** (`NodeJS.ReadableStream`): 텍스트로 변환할 오디오 스트림입니다. **options** (`MistralListenOptions`): 구성 옵션입니다. **options.language** (`string`): 언어 코드입니다(예: 'en'). 지정하면 정확도가 향상됩니다. **options.diarize** (`boolean`): 화자 분할을 활성화합니다. **options.contextBias** (`string[]`): 어휘 안내에 사용할 단어나 구문입니다. **options.timestampGranularities** (`('segment' | 'word')[]`): 음성 변환 세그먼트의 타임스탬프 세부 수준입니다. **options.filetype** (`string`): 입력 스트림의 오디오 파일 확장자 힌트입니다. 보고:`Promise` ### `getSpeakers()` Mistral Voices API에서 사용 가능한 사전 설정 음성을 가져옵니다. 각 항목에는 다음이 포함됩니다. **voiceId** (`string`): 음성의 고유 식별자입니다. **name** (`string`): 음성의 표시 이름입니다. **languages** (`string[]`): 음성에서 지원하는 언어입니다. **gender** (`string | null`): 음성의 성별입니다. ### `getListener()` 보고`{ enabled: true }`. ## 메모 - API 키는 생성자 옵션 또는 `MISTRAL_API_KEY` 환경 변수를 통해 제공할 수 있습니다. - TTS는 9개 언어를 지원합니다: 영어, 프랑스어, 스페인어, 포르투갈어, 이탈리아어, 네덜란드어, 독일어, 힌디어, 아랍어 - STT는 13개 언어를 지원합니다: 영어, 중국어, 힌디어, 스페인어, 아랍어, 프랑스어, 포르투갈어, 러시아어, 독일어, 일본어, 한국어, 이탈리아어, 네덜란드어 - 최상의 결과를 얻으려면 TTS 입력 텍스트를 요청당 300단어 미만으로 유지해야 합니다. - STT는 요청당 최대 3시간의 오디오를 지원합니다. - `refAudio`를 사용한 음성 복제에는 최소 2\~3초의 참조 오디오가 필요합니다. - `getSpeakers()`는 UUID 식별자가 있는 사전 설정 음성을 반환합니다. 기본값 `en_paul_neutral`은 TTS 엔드포인트에서 허용되는 명명된 별칭이지만 목록에는 포함되지 않습니다.