Voxtral TTS
Voxtral 4B TTS 2603, VoxtralTTS मॉड्यूल के ज़रिए Apple Silicon पर स्थानीय रूप से चलता है: 20 प्रीसेट आवाज़ें, नौ भाषाएँ और 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.wavSwift 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प्रीसेट आवाज़ें
en | casual_male, casual_female, cheerful_female, neutral_male, neutral_female |
fr | fr_male, fr_female |
es | es_male, es_female |
de | de_male, de_female |
it | it_male, it_female |
pt | pt_male, pt_female |
nl | nl_male, nl_female |
ar | ar_male |
hi | hi_male, hi_female |
सीमाएँ और स्थिति प्रबंधन
केवल पहले से तय आवाज़ें उपलब्ध हैं; संदर्भ ऑडियो से आवाज़ की क्लोनिंग उपलब्ध नहीं है। SDK, CLI, WebSocket और HTTP PCM में ऑडियो बनते समय ही भेजा जाता है। पूरा इनपुट पाठ शुरुआत में देना होगा। मॉडल वेट CC BY-NC 4.0 लाइसेंस के अंतर्गत हैं।
हर अनुरोध का भाषा मॉडल कैश, कोडेक इतिहास और रैंडम सीड अलग होता है। कॉलबैक उपभोक्ता की प्रक्रिया पूरी होने तक प्रतीक्षा करता है। डिफ़ॉल्ट खंड 3 फ़्रेम (240 मिलीसेकंड ऑडियो) का है और सीमा 500 फ़्रेम (40 सेकंड) है। कुछ ऑडियो भेजने के बाद भी त्रुटि हो सकती है; अंतिम संकेत केवल सामान्य समापन पर भेजा जाता है।
VoxtralTTSOptions(streamingChunkFrames: 3) · generateStreaming(onChunk:) · AudioChunk.isFinal.