본문으로 건너뛰기

미스트랄

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 엔드포인트에서 허용되는 명명된 별칭이지만 목록에는 포함되지 않습니다.