Lewati ke konten utama

Voxtral TTS: Panduan dengan Contoh Praktis

Pelajari cara kerja model text-to-speech pertama Mistral, bagaimana perbandingannya dengan alternatif yang ada, dan cara menghasilkan ucapan menggunakan Python SDK dengan contoh kode langkah demi langkah.
Diperbarui 12 Mei 2026  · 9 mnt baca

Hingga Maret 2026, Mistral baru membangun setengah pipeline suara. Model Voxtral Transcribe menangani ucapan-ke-teks, tetapi belum ada cara untuk melakukan arah sebaliknya. Jika Anda ingin aplikasi Anda berbicara, Anda harus menggunakan penyedia lain, biasanya ElevenLabs untuk kloning suara yang ekspresif, TTS-1 dari OpenAI untuk integrasi minimal, atau Neural2 dari Google Cloud jika Anda sudah berada dalam ekosistem tersebut.

Voxtral TTS mengisi celah itu. Ini adalah model text-to-speech pertama Mistral, sebuah sistem dengan 4,1 miliar parameter yang menghasilkan ucapan dalam sembilan bahasa dari referensi audio singkat. Bobot model tersedia di Hugging Face, dan API cloud tersedia dengan tarif $0,016 per 1.000 karakter, dengan bobot terbuka untuk self-hosting.

Catatan penamaan: model Voxtral sebelumnya dari Juli 2025 adalah model ucapan-ke-teks. Voxtral TTS, dirilis 26 Maret 2026, berjalan ke arah sebaliknya.

Apa Itu Voxtral TTS?

Voxtral TTS adalah model text-to-speech yang mengonversi teks tertulis menjadi audio ucapan dalam sembilan bahasa: Inggris, Prancis, Jerman, Spanyol, Belanda, Portugis, Italia, Hindi, dan Arab. Anda dapat menggunakan salah satu dari 20 suara preset bawaan, atau menyuplai klip audio referensi untuk mengkloning suara penutur tertentu. Panjang klip yang direkomendasikan untuk kloning adalah 5 hingga 25 detik, meskipun model menerima serendah 3 detik.

Klaim utama Mistral adalah jejak yang kecil dikombinasikan dengan kualitas tingkat frontier. Bobot BF16 default di Hugging Face sekitar 8 GB, dan self-hosting memerlukan GPU dengan setidaknya 16 GB VRAM untuk menutupi overhead inferensi. Makalah riset mencatat bahwa versi terkuantisasi dapat menurunkan bobot menjadi sekitar 3 GB, meskipun itu bukan rilis default. Pierre Stock, VP Sains Mistral, mengatakan kepada VentureBeat bahwa model ini bahkan dapat berjalan di ponsel pintar, meskipun itu bergantung pada kuantisasi dan saya tidak dapat memverifikasinya secara independen.

Model ini juga mendukung apa yang Mistral sebut "Voice-as-an-instruction." Alih-alih mengandalkan tag SSML atau label emosi eksplisit untuk mengontrol seperti apa suara yang dihasilkan, Voxtral TTS menyimpulkan nada, ritme, dan penyampaian emosional langsung dari referensi suara yang Anda berikan. Berikan klip referensi seseorang yang berbicara dengan bersemangat, dan ucapan yang dihasilkan cenderung mencerminkan cara penyampaian itu. Ini adalah pendekatan yang berbeda dari ElevenLabs, yang menggunakan tag emosi eksplisit untuk mengarahkan generasi.

Gambaran arsitektur

Voxtral TTS adalah model transformer berbasis autoregresif dan flow-matching yang dibangun di atas Ministral 3B. Model ini memiliki tiga komponen: backbone decoder transformer 3,4 miliar parameter yang memprediksi token semantik dari input teks dan suara; transformer akustik flow-matching 390 juta parameter yang mengonversi token tersebut menjadi representasi audio; dan codec audio neural 300 juta parameter yang dibangun Mistral dari nol, beroperasi pada 12,5 Hz dengan frame 80 milidetik. Codec inilah yang menjaga representasi audio tetap efisien: ia beroperasi di ruang laten yang sangat terkompresi, itulah sebabnya model 4,1 miliar parameter penuh dapat menghasilkan audio berkualitas tinggi sambil menjaga bobot BF16 sekitar 8 GB.

Diagram yang menunjukkan tiga komponen arsitektur Voxtral TTS: backbone decoder transformer, transformer akustik flow-matching, dan codec audio neural yang memroses input teks dan suara menjadi output audio

Gambaran arsitektur Voxtral TTS. Sumber: Mistral AI.

Pipeline tiga tahap ini juga yang memungkinkan kloning suara: codec menangkap karakteristik penutur di ruang laten, yang kemudian digunakan backbone dan transformer akustik untuk mereproduksi suara tersebut pada teks baru.

Kloning suara zero-shot

Dengan kloning suara, Anda memberikan klip referensi singkat dan model menghasilkan ucapan yang menangkap aksen, intonasi, dan ritme penutur, termasuk jeda dan tempo yang alami.

Yang mengejutkan saya dalam riset adalah kemampuan lintas bahasa. Jika Anda memberikan referensi suara bahasa Prancis dan mengetik prompt dalam bahasa Jerman, model cenderung menghasilkan ucapan bahasa Jerman yang terdengar mirip dengan penutur Prancis tersebut, menyerap banyak aksen dan karakteristik vokalnya. Ini bukan sesuatu yang secara eksplisit dilatih oleh model. Ini adalah perilaku yang muncul, dan dapat berguna untuk penerjemahan ucapan-ke-ucapan ketika menjaga suara penutur asli lintas bahasa menjadi penting.

Satu detail praktis: kloning suara kustom memerlukan API Mistral. Rilis bobot terbuka dibatasi pada 20 suara preset yang sama. Jika Anda ingin mengkloning suara spesifik pada versi self-hosted, Anda memerlukan endpoint pembuatan suara dari API.

Tolok Ukur Voxtral TTS

Semua data tolok ukur di sini berasal dari evaluasi internal Mistral sendiri. Model ini cukup baru sehingga, saat tulisan ini dibuat, belum ada tolok ukur pihak ketiga independen yang diterbitkan. Artificial Analysis Speech Arena Leaderboard, peringkat TTS independen, belum menambahkan Voxtral TTS.

Mistral menggunakan evaluasi preferensi manusia daripada metrik otomatis seperti Mean Opinion Score (MOS), dengan alasan dalam makalah riset bahwa skor otomatis tidak secara andal menangkap kealamian lintas bahasa dan budaya. Pengujian dilakukan dalam perbandingan mendengarkan buta oleh anotator penutur asli di seluruh sembilan bahasa yang didukung.

Dalam pengujian menggunakan suara andalan bawaan masing-masing model, Voxtral TTS lebih disukai oleh anotator manusia dalam 58,3% perbandingan. Dalam pengujian kloning suara zero-shot, di mana kedua model menerima klip referensi singkat dan menghasilkan ucapan dari teks yang sama, tingkat itu naik menjadi 68,4%. Kesenjangan paling lebar terjadi pada bahasa Hindi (sekitar 80% preferensi) dan Spanyol (sekitar 88% preferensi). Belanda menjadi titik lemah, yakni 49,4%, yang berarti ElevenLabs Flash v2.5 unggul dalam bahasa tersebut.

Bagan batang dari Mistral AI yang menunjukkan tingkat kemenangan Voxtral TTS melawan ElevenLabs Flash v2.5 dalam uji preferensi manusia untuk suara andalan dan kloning suara

Hasil preferensi manusia dari evaluasi Mistral. Sumber: Mistral AI.

Mistral juga menjalankan serangkaian uji pengarah emosi terpisah, kali ini membandingkan dengan ElevenLabs v3 dan Gemini 2.5 Flash TTS alih-alih Flash v2.5. Melawan ElevenLabs v3, kedua model relatif seimbang pada pengarah eksplisit; Voxtral sedikit unggul pada pengarah implisit. Melawan Gemini 2.5 Flash TTS, Gemini unggul sekitar 65%, menjadikannya performer yang lebih baik dalam perbandingan itu. Angka-angka ini, seperti semua di bagian ini, berasal dari makalah Mistral sendiri.

Untuk latensi, Mistral melaporkan 70 milidetik pada satu NVIDIA H200. Waktu end-to-end hingga audio pertama dari API sekitar 0,8 detik dengan PCM dan kira-kira 1,5 hingga 2 detik dengan MP3.

Menguji Voxtral TTS: Contoh Langsung

Saya fokus pada tiga skenario. Pertama, apakah suara preset cukup baik untuk narasi umum, khususnya apakah kealamian runtuh pada titik-titik di mana sistem TTS biasanya gagal. Kedua, seberapa baik kloning suara menangkap penutur asli dari klip singkat, dan seberapa besar panjang klip benar-benar berpengaruh. Ketiga, seberapa besar format output memengaruhi latensi dalam praktik.

Menyiapkan

Pertama, instal SDK Python resmi dan setel kunci API Anda. Anda memerlukan akun Mistral dengan penagihan diaktifkan.

pip install mistralai

Setel kunci API Anda sebagai variabel lingkungan:

export MISTRAL_API_KEY="your-api-key-here"

Contoh 1: Pembuatan ucapan dasar

Suara preset mencakup dialek bahasa Inggris Amerika, bahasa Inggris Britania, dan bahasa Prancis, dan merupakan titik awal yang masuk akal untuk narasi umum di mana identitas penutur tidak penting.

Playground Mistral Studio untuk Voxtral TTS. Gambar oleh Penulis.

Berikut versi paling sederhana, menggunakan suara preset:

import base64
import os
from pathlib import Path
from mistralai.client import Mistral

client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))

# Generate speech from text
response = client.audio.speech.complete(
    model="voxtral-mini-tts-2603",
    input="Welcome to Voxtral TTS. This is a basic speech generation test.",
    voice_id="your-voice-id",  # Use a voice ID from your account
    response_format="mp3",
)

# Save the audio file
Path("basic_output.mp3").write_bytes(base64.b64decode(response.audio_data))
print("Saved to basic_output.mp3")

Ada beberapa hal yang perlu dicatat. Metodenya adalah .complete(), bukan .create() seperti yang mungkin Anda harapkan jika Anda berasal dari API TTS OpenAI. Respons mengembalikan audio yang disandikan base64 di response.audio_data, jadi Anda perlu mendekodenya sebelum menulis ke disk.

Hal pertama yang saya periksa adalah ritme di akhir kalimat. Banyak model TTS turun secara mekanis pada titik akhir, sebuah kadensi datar yang langsung menandai sesuatu sebagai sintetis. Itu bertahan di sini. Yang mengejutkan saya adalah jeda koma di tengah kalimat: sistem yang lebih murah cenderung memperlakukannya sebagai titik henti keras, tetapi pacing tetap berkesinambungan. Pelafalan akurat di seluruh bagian, termasuk pada kata "Voxtral" itu sendiri, yang saya kira akan menjadi batu sandungan.

Contoh 2: Membuat suara kustom

Ketika identitas penutur penting, API memungkinkan Anda membuat profil suara yang dapat digunakan kembali dari klip referensi singkat.

import base64
import os
from pathlib import Path
from mistralai.client import Mistral

client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))

# Encode your reference audio as base64
sample_audio_b64 = base64.b64encode(
    Path("reference_voice.mp3").read_bytes()
).decode()

# Create a reusable voice profile
voice = client.audio.voices.create(
    name="my-custom-voice",
    sample_audio=sample_audio_b64,
    sample_filename="reference_voice.mp3",
    languages=["en"],
    gender="male",
)

print(f"Created voice with ID: {voice.id}")

# Generate speech using the cloned voice
response = client.audio.speech.complete(
    model="voxtral-mini-tts-2603",
    input="This sentence was generated using a cloned voice from just a few seconds of reference audio.",
    voice_id=voice.id,
    response_format="mp3",
)

Path("cloned_output.mp3").write_bytes(base64.b64decode(response.audio_data))
print("Saved to cloned_output.mp3")

Keluaran terminal yang menunjukkan pembuatan profil suara kustom yang berhasil dan pembuatan audio ucapan hasil kloning menggunakan Voxtral TTS Python SDK

Keluaran terminal dari skrip kloning suara. Gambar oleh Penulis.

Upaya pertama saya menggunakan klip sekitar tiga detik. Hasilnya terdengar masuk akal tetapi generik: rentang vokal tepat, namun kehilangan infleksi spesifik yang membuat suara dapat dikenali. Bisa jadi siapa saja. Saat saya beralih ke klip delapan detik, perbedaannya jelas: keluaran hasil kloning menangkap aksen, ritme, dan sedikit kenaikan di akhir pertanyaan yang benar-benar diratakan oleh klip yang lebih pendek.

Suara hasil kloning tidak terdengar identik dengan sumbernya, tetapi jelas berada pada register yang sama dengan tempo serupa. Dari pengujian saya, 8 hingga 15 detik adalah titik tengah yang baik antara upaya dan kualitas hasil.

Contoh 3: Perbandingan format untuk latensi

Format output memengaruhi seberapa cepat potongan audio pertama tiba. Saya menguji dua format.

import os
import time
from mistralai.client import Mistral

client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))

text = "This is a latency test comparing PCM and MP3 output formats from Voxtral TTS."
voice_id = "your-voice-id"


def time_to_first_chunk(response_format):
    start = time.time()
    stream = client.audio.speech.complete(
        model="voxtral-mini-tts-2603",
        input=text,
        voice_id=voice_id,
        response_format=response_format,
        stream=True,
    )
    for _ in stream:
        return time.time() - start  # return on first chunk


pcm_time = time_to_first_chunk("pcm")
mp3_time = time_to_first_chunk("mp3")

print(f"PCM latency: {pcm_time:.2f}s")
print(f"MP3 latency: {mp3_time:.2f}s")

Keluaran terminal dari example_3_latency.py yang menunjukkan latensi PCM di 0,86 detik dan latensi MP3 di 1,57 detik, selisih 0,71 detik

Perbandingan latensi pada dua format output. Gambar oleh Penulis.

Saya menjalankan uji MP3 terlebih dahulu, karena itu adalah default alami untuk sebagian besar alur kerja audio. Hasilnya fungsional di sekitar 1,5 hingga 2 detik, tetapi untuk agen suara, itu adalah jeda yang terasa sebelum audio mulai diputar. Dokumentasi Mistral menyebut hingga 3 detik untuk MP3; saya tidak melihat itu dalam praktik, meskipun kondisi jaringan akan bervariasi. PCM berada di kisaran 0,6 hingga 0,9 detik, konsisten dengan angka ~0,8 detik yang dilaporkan Mistral.

Komprominya adalah PCM merupakan audio mentah, tidak terkompresi, sehingga aplikasi Anda perlu menanganinya atau mengonversinya sebelum pemutaran standar. Jika Anda menyimpan ke file atau memberi makan pemutar audio standar, MP3 lebih sederhana. Jika Anda mengontrol tumpukan audio secara langsung, seperti pada pipeline agen suara, PCM adalah pilihan praktis untuk latensi.

API mendukung lima format output: MP3, WAV, PCM (float32 mentah), FLAC, dan Opus. Model menghasilkan hingga dua menit audio dalam satu kali proses. Untuk konten yang lebih panjang, API menanganinya secara otomatis menggunakan apa yang Mistral sebut "smart interleaving": membagi teks menjadi potongan, mensintesis masing-masing, dan menyambungkannya tanpa celah terdengar.

Saya juga membuat aplikasi Streamlit singkat yang menggabungkan ketiga contoh menjadi satu antarmuka. Berikut ringkasan cepat cara kerjanya:

Semua kode dari tutorial ini tersedia di repositori GitHub ini.

Harga Voxtral TTS

Voxtral TTS berharga $16 per satu juta karakter melalui API cloud. Tersedia paket gratis untuk pengujian, dan bobot terbuka di Hugging Face gratis untuk penggunaan non-komersial di bawah CC BY-NC 4.0.

Berikut perbandingannya dengan alternatif utama pada awal 2026.

Penyedia

Model

Harga per 1M Karakter

Bobot Terbuka

Mistral

Voxtral TTS

$16

Ya (non-komersial)

OpenAI

TTS-1

$15

Tidak

OpenAI

TTS-1-HD

$30

Tidak

Google Cloud

Neural2

$16

Tidak

Google Cloud

Chirp 3 HD

$30

Tidak

Amazon Polly

Neural

$16

Tidak

Azure Speech

Neural TTS

$15-16

Tidak

Deepgram

Aura-2

$30

Tidak

ElevenLabs

Flash v2.5

~$25-110 (bervariasi menurut paket)

Tidak

Voxtral TTS setara dengan penyedia cloud tingkat menengah dalam hal harga, bukan tingkat hemat. Mistral menyebutnya "sebagian kecil dari apa pun di pasar," tetapi itu terutama berlaku dibandingkan ElevenLabs. Dibandingkan OpenAI TTS-1, Google Neural2, dan Amazon Polly, harganya pada dasarnya sama.

Bobot terbuka adalah pembedaan utama: tidak ada penyedia lain dalam tabel yang menawarkan bobot yang dapat di-host sendiri. Untuk proyek non-komersial, itu berarti penerapan lokal gratis melalui vLLM-Omni. Untuk perusahaan, Mistral menawarkan opsi on-premise melalui platform Forge miliknya.

Komprominya adalah cakupan bahasa. Sembilan bahasa versus lebih dari 70 untuk ElevenLabs. Jika kasus penggunaan Anda melampaui daftar yang didukung, kesenjangan itu penting.

Kesimpulan

Dalam tutorial ini, kita menjalankan tiga contoh API: pembuatan ucapan dasar, kloning suara, dan latensi format output. Namun masih banyak lagi yang dapat Anda lakukan.

Baik Anda membangun agen suara, alat narasi multibahasa, atau apa pun yang memerlukan data audio tetap berada di infrastruktur Anda sendiri, Voxtral TTS adalah opsi praktis untuk dievaluasi. Sebelum masuk ke produksi, perhatikan bahwa tolok ukur bersifat laporan internal, lisensi CC BY-NC membatasi self-hosting komersial, dan self-hosting saat ini memerlukan vLLM-Omni. Dokumentasi Mistral dan makalah riset adalah titik awal yang baik.


Khalid Abdelaty's photo
Author
Khalid Abdelaty
LinkedIn

Saya seorang data engineer dan pembangun komunitas yang bekerja lintas pipeline data, cloud, dan perkakas AI sambil menulis tutorial praktis dan berdampak tinggi untuk DataCamp dan pengembang yang sedang berkembang.

FAQs

Apakah Voxtral TTS memerlukan GPU?

Untuk API cloud, tidak. Persyaratan GPU hanya muncul jika Anda meng-host sendiri bobot terbuka. Bobot BF16 default sekitar 8 GB dan memerlukan setidaknya 16 GB VRAM untuk inferensi. Makalah riset menyebut versi terkuantisasi sekitar 3 GB, tetapi itu bukan rilis default di Hugging Face.

Bisakah saya menggunakan bobot terbuka untuk komersial?

Bobot berlisensi CC BY-NC 4.0, jadi hanya untuk non-komersial. API cloud tidak memiliki pembatasan tersebut. Jika Anda memerlukan penerapan komersial on-premise, Mistral menawarkan lisensi enterprise. Perhatikan bahwa model ucapan-ke-teks mereka menggunakan lisensi Apache 2.0 yang lebih longgar, yang merupakan situasi berbeda.

Bagaimana Voxtral TTS menangani bahasa yang tidak didukung?

Tidak memunculkan galat. Berdasarkan laporan, input bahasa yang tidak didukung cenderung menghasilkan keluaran yang menurun tanpa peringatan. Verifikasi bahasa di sisi Anda sebelum mengirim permintaan.

Bisakah saya menggunakan Voxtral TTS untuk agen suara waktu nyata?

Ya. Waktu hingga audio pertama kira-kira 0,8 detik dengan PCM dan 1,5 hingga 2 detik dengan MP3, berdasarkan angka Mistral dan pengujian saya. Itu dapat digunakan untuk agen suara waktu nyata, meskipun PCM adalah pilihan yang lebih baik jika kecepatan respons penting.

Apakah kualitas kloning suara bervariasi menurut bahasa?

Ya. Menurut evaluasi Mistral sendiri, Hindi dan Spanyol menghasilkan hasil terkuat, sementara Belanda menjadi titik lemah. Data itu bersifat laporan internal, jadi anggap sebagai indikasi, tetapi patut diketahui jika Anda membangun untuk bahasa tertentu.

Topik

Belajar AI bersama DataCamp

Kursus

Memahami Kecerdasan Buatan

2 Hr
394.5K
Pelajari konsep dasar Kecerdasan Buatan seperti machine learning, deep learning, NLP, AI generatif, dan lainnya.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

12 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

Lihat Lebih BanyakLihat Lebih Banyak