미스트랄
MistralVoice 클래스는 Mistral의 Voxtral 오디오 Model을 사용하여 텍스트 음성 변환 및 음성 텍스트 변환 기능을 제공합니다. 버퍼링 및 스트리밍 TTS, 분할을 통한 일괄 전사, 참조 오디오를 통한 음성 복제를 지원합니다.
사용예사용예에 대한 직접 링크
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()
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
= { name: 'voxtral-mini-tts-2603' }
텍스트-음성 합성을 위한 구성입니다.
MistralModelConfig
name?:
string
음성 합성에 사용할 Model ID입니다.
apiKey?:
string
Mistral API 키입니다. 지정하지 않으면 MISTRAL_API_KEY 환경 변수를 사용합니다.
listeningModel?:
MistralModelConfig
= { name: 'voxtral-mini-latest' }
음성-텍스트 인식을 위한 구성입니다.
MistralModelConfig
name?:
string
음성 변환에 사용할 Model ID입니다. 고정된 버전을 사용하려면 'voxtral-mini-2507'을 사용하세요.
apiKey?:
string
Mistral API 키입니다. 지정하지 않으면 MISTRAL_API_KEY 환경 변수를 사용합니다.
speaker?:
string
= 'en_paul_neutral'
음성 합성의 기본 음성 ID입니다. 사용 가능한 ID는 getSpeakers()에서 가져옵니다.
행동 양식행동 양식에 대한 직접 링크
speak(input, options?)speakinput-options에 대한 직접 링크
Mistral의 Voxtral TTS Model을 사용하여 텍스트를 음성으로 변환합니다. 버퍼링된 출력과 스트리밍 출력을 모두 지원합니다.
input:
string | NodeJS.ReadableStream
음성으로 변환할 텍스트 또는 텍스트 스트림입니다.
options?:
MistralSpeakOptions
구성 옵션입니다.
MistralSpeakOptions
speaker?:
string
사용할 음성 ID입니다. 생성자의 기본값을 재정의합니다.
responseFormat?:
'pcm' | 'wav' | 'mp3' | 'flac' | 'opus'
오디오 출력 형식입니다. 지연 시간이 가장 짧은 스트리밍에는 'pcm'을 사용하세요.
refAudio?:
string
일회성 음성 복제를 위한 Base64 인코딩 참조 오디오입니다(최소 2~3초).
model?:
string
이 호출에 사용할 음성 Model을 재정의합니다.
stream?:
boolean
스트리밍 TTS를 활성화합니다. 오디오 청크는 도착하는 즉시 스트림에 기록됩니다.
보고:Promise<NodeJS.ReadableStream>
listen(audioStream, options?)listenaudiostream-options에 대한 직접 링크
Mistral의 Voxtral 전사 Model을 사용하여 오디오를 전사합니다. 분할, 컨텍스트 바이어스 및 타임스탬프 세부 수준을 지원합니다.
audioStream:
NodeJS.ReadableStream
텍스트로 변환할 오디오 스트림입니다.
options?:
MistralListenOptions
구성 옵션입니다.
MistralListenOptions
language?:
string
언어 코드입니다(예: 'en'). 지정하면 정확도가 향상됩니다.
diarize?:
boolean
화자 분할을 활성화합니다.
contextBias?:
string[]
어휘 안내에 사용할 단어나 구문입니다.
timestampGranularities?:
('segment' | 'word')[]
음성 변환 세그먼트의 타임스탬프 세부 수준입니다.
filetype?:
string
입력 스트림의 오디오 파일 확장자 힌트입니다.
보고:Promise<string>
getSpeakers()getspeakers에 대한 직접 링크
Mistral Voices API에서 사용 가능한 사전 설정 음성을 가져옵니다. 각 항목에는 다음이 포함됩니다.
voiceId:
string
음성의 고유 식별자입니다.
name:
string
음성의 표시 이름입니다.
languages?:
string[]
음성에서 지원하는 언어입니다.
gender?:
string | null
음성의 성별입니다.
getListener()getlistener에 대한 직접 링크
보고{ enabled: true }.
메모메모에 대한 직접 링크
- API 키는 생성자 옵션 또는
MISTRAL_API_KEY환경 변수를 통해 제공할 수 있습니다. - TTS는 9개 언어를 지원합니다: 영어, 프랑스어, 스페인어, 포르투갈어, 이탈리아어, 네덜란드어, 독일어, 힌디어, 아랍어
- STT는 13개 언어를 지원합니다: 영어, 중국어, 힌디어, 스페인어, 아랍어, 프랑스어, 포르투갈어, 러시아어, 독일어, 일본어, 한국어, 이탈리아어, 네덜란드어
- 최상의 결과를 얻으려면 TTS 입력 텍스트를 요청당 300단어 미만으로 유지해야 합니다.
- STT는 요청당 최대 3시간의 오디오를 지원합니다.
refAudio를 사용한 음성 복제에는 최소 2~3초의 참조 오디오가 필요합니다.getSpeakers()는 UUID 식별자가 있는 사전 설정 음성을 반환합니다. 기본값en_paul_neutral은 TTS 엔드포인트에서 허용되는 명명된 별칭이지만 목록에는 포함되지 않습니다.