Voxtral TTS

Voxtral 4B TTS 2603 は VoxtralTTS モジュールを通じて Apple Silicon 上でローカルに動作し、20 のプリセット音声、9 言語、24 kHz のモノラル音声に対応します。

コマンドライン

speech speak "Hello, welcome to Voxtral." --engine voxtral --voxtral-voice casual_male --stream --voxtral-chunk-frames 3 -o hello.wav
speech speak --engine voxtral --list-speakers
speech speak "Bonjour." --engine voxtral --voxtral-voice fr_female --voxtral-max-frames 500 --voxtral-seed 0 -o bonjour.wav

Swift API

import VoxtralTTS

let model = try await VoxtralTTSModel.fromPretrained()
for try await chunk in model.generateStream(text: "Hello, welcome to Voxtral.", voice: "casual_male") {
    print(chunk.frameIndex, chunk.samples.count, chunk.isFinal)
}

サーバー API

curl http://localhost:8080/v1/audio/speech \
  -H 'Content-Type: application/json' \
  -d '{"model":"voxtral-tts","input":"Hello, welcome to Voxtral.","voice":"casual_male","response_format":"wav"}' \
  -o hello.wav

/v1/realtime: session.update → {"model":"voxtral-tts","voice":"casual_male"}; response.create → {"instructions":"Hello, welcome to Voxtral."}.

curl http://localhost:8080/v1/audio/speech \
  -H 'Content-Type: application/json' \
  -d '{"model":"voxtral-tts","input":"Hello, welcome to Voxtral.","voice":"casual_male","stream":true,"response_format":"pcm"}' \
  -o hello.pcm

プリセット音声

encasual_male, casual_female, cheerful_female, neutral_male, neutral_female
frfr_male, fr_female
eses_male, es_female
dede_male, de_female
itit_male, it_female
ptpt_male, pt_female
nlnl_male, nl_female
arar_male
hihi_male, hi_female

制限と状態管理

プリセット音声のみ対応し、参照音声からのクローンには対応していません。SDK、CLI、WebSocket、HTTP PCM で生成中の音声を出力できます。入力テキストは最初に全文を渡します。モデル重みのライセンスは CC BY-NC 4.0 です。

各リクエストは言語モデルのキャッシュ、コーデック履歴、乱数シードを個別に保持します。コールバックの処理完了を待って生成を続けます。既定のチャンクは 3 フレーム(音声 240 ミリ秒)、上限は 500 フレーム(40 秒)です。一部の音声を出力した後で失敗する場合があり、最終マーカーは正常終了時にのみ送られます。

VoxtralTTSOptions(streamingChunkFrames: 3) · generateStreaming(onChunk:) · AudioChunk.isFinal.

MLX 4-bit · Mistral · VoxtralTTS