AI
Speech-to-Text Bahasa Indonesia di Production: WER Whisper Nyata
September 202613 menit baca

Paper Whisper dari OpenAI mencatat WER 7,1 persen untuk bahasa Indonesia pada benchmark FLEURS dengan large-v2, dan 16,3 persen dengan whisper-small. FLEURS berisi ucapan bersih yang dibacakan, jadi angka itu adalah batas bawah, bukan ramalan. Evaluasi independen tahun 2024 pada korpus Indonesia 80,54 jam yang memuat ucapan spontan mencatat whisper-small di WER 30,87, kira-kira dua kali angka FLEURS-nya.
Whisper memprediksi satu language token per jendela audio tiga puluh detik, sebelum mengeluarkan teks transkrip apa pun, sehingga seluruh jendela di-decode sebagai bahasa Indonesia atau bahasa Inggris. Sebuah studi code-switching Indonesia-Inggris tahun 2024 mengukur character error rate 4,10 persen pada bahasa Indonesia monolingual dan 91,76 persen pada ucapan ber-code-switching alami dengan model yang sama. Code-switching adalah sumber error terbesar pada audio kantor dan call center Indonesia yang nyata.
Kunci saja. Fungsi transcribe milik Whisper menjalankan language detection hanya pada maksimal tiga puluh detik pertama lalu menerapkan satu tebakan itu ke seluruh file, sehingga sapaan bahasa Inggris di awal bisa membuat empat puluh menit bahasa Indonesia di-decode di bawah prior bahasa Inggris. Managed API mendeteksi per request, jadi kunci juga bahasanya di setiap chunk.
Hanya di atas volume yang cukup tinggi. Satu GPU pada harga list RunPod $0,34 per jam berbiaya sekitar $245 sebulan, yang setara dengan kira-kira 680 jam transkripsi OpenAI pada tarif publiknya $0,006 per menit. Di bawah sekitar 23 jam audio per hari managed API lebih murah dan tidak butuh kode, jadi alasan sebenarnya untuk self-hosting adalah data residency dan fine-tuning, bukan harga.
Bisa jalan, tetapi semua WER yang dipublikasikan berhenti berlaku. Whisper me-resample semua input ke 16.000 Hz, dan menaikkan rekaman telepon 8 kHz tidak menambah informasi apa pun di atas 4 kHz, sehingga model bekerja pada separuh bandwidth yang dipakai saat pelatihannya. Mintalah rekaman sebelum mixdown ke platform panggilan Anda, dan ukur akurasinya pada audio Anda sendiri sebelum memilih vendor mana pun.

Ringkasan Utama
Paper Whisper dari OpenAI mencatat word error rate 7,1 persen untuk bahasa Indonesia di FLEURS dengan large-v2, tetapi FLEURS berisi ucapan bersih yang dibacakan. Evaluasi independen pada ucapan spontan menaikkan angka itu sekitar dua kali lipat, dan code-switching Indonesia-Inggris memperburuknya jauh lebih dalam. Pilih model speech-to-text dengan mengukurnya pada tiga puluh menit rekaman Anda sendiri, bukan pada benchmark yang dipublikasikan.
Ini satu kalimat yang mungkin diucapkan seorang agent customer service Indonesia empat puluh kali sehari: tolong follow up invoice yang outstanding itu ya, nanti saya forward ke finance. Tiga belas kata, lima di antaranya bahasa Inggris, dalam susunan kalimat Indonesia, diucapkan dengan kecepatan percakapan lewat saluran telepon 8 kHz. Semua angka word error rate bahasa Indonesia yang bisa Anda temukan diukur pada audio yang sama sekali tidak menyerupai itu.
Tulisan ini berisi angka-angkanya lengkap dengan benchmark yang menyertainya. Paper Whisper sendiri memuat tabel per bahasa yang hampir tidak pernah dikutip orang, sebuah evaluasi Indonesia tahun 2024 menerbitkan angka yang sangat berbeda untuk model yang sama, dan sebuah studi code-switching tahun 2024 menerbitkan angka yang paling pantas membuat Anda khawatir. Setelah itu: di mana language detection salah jalan, parameter mana yang penting untuk bahasa Indonesia, cara melakukan chunking pada rekaman panggilan panjang, dan berapa biaya GPU dibandingkan tarif per menit.
Mulai dari angka primernya. Appendix D paper Whisper memuat Table 13, WER pada FLEURS, dirinci per bahasa dan per ukuran model. Kolom bahasa Indonesia berbunyi: tiny 51,7, base 33,1, small 16,3, medium 10,2, large 8,5, large-v2 7,1. Itu pengukuran OpenAI sendiri atas model OpenAI sendiri, dan dari sanalah hampir semua klaim yang beredar bahwa Whisper mencapai sekitar 7 persen untuk bahasa Indonesia berasal.
Sekarang angka keduanya. Pada Oktober 2024 sebuah tim menerbitkan evaluasi model multilingual untuk ucapan bahasa Indonesia dengan variasi yang sengaja dicampur, disusun menjadi korpus 80,54 jam dari rapat parlemen, berita, Common Voice, FLEURS, podcast dan talkshow. Pada test set itu whisper-small mencatat WER 30,87. Model yang sama mencatat 16,3 di FLEURS. Tidak ada yang berubah selain audionya.
Pembagian di dalam paper itu adalah bagian yang layak diingat. whisper-small mencapai WER 27,22 pada ucapan yang dibacakan, formal dan bersih, lalu 40,66 pada ucapan spontan, informal dan bersih. Itu tiga belas poin penurunan tanpa tambahan noise sama sekali, murni karena penuturnya berhenti membaca teks. Versi fine-tuned dari whisper-small kemudian mencatat 14,85 secara keseluruhan, kurang dari setengah error model aslinya. Word error rate yang dikutip tanpa benchmark-nya adalah angka marketing, dan setiap angka di bawah ini membawa benchmark-nya masing-masing.
Opsi-opsi ini tidak terbelah rapi menjadi open dan managed, dan juga tidak terurut berdasarkan harga. Kolom akurasi selalu menyebut benchmark-nya, dan jika sebuah angka adalah klaim vendor sendiri, hal itu dinyatakan.
| Opsi | WER bahasa Indonesia, dan diukur di mana | Perkiraan biaya per jam audio | Bentuk latency | Jebakan operasionalnya |
|---|---|---|---|---|
| Whisper small, self-hosted | 16,3 di FLEURS; 30,87 di set Indonesia 80 jam dengan variasi campuran | Hanya waktu GPU | Batch, sekitar 2 GB VRAM | Runtuh pada ucapan spontan, WER 40,66 di bagian informal |
| Whisper large-v2, self-hosted | 7,1 di FLEURS, dari tabel OpenAI sendiri | Hanya waktu GPU | Batch, sekitar 10 GB VRAM | Lisensi MIT, tetapi queue, retry dan GPU-nya jadi tanggungan Anda |
| Whisper small yang di-fine-tune untuk bahasa Indonesia | 14,85 di set campuran yang sama, dibanding 30,87 versi standar | Waktu GPU plus satu training run | Batch, footprint 2 GB yang sama | Anda butuh audio Indonesia berlabel, dan itu bagian yang mahal |
| API whisper-1 dari OpenAI | Bobot yang sama dengan large-v2, jadi 7,1 di FLEURS | Sekitar $0,36 | Hitungan detik per request | Batas 25 MB per request, jadi panggilan panjang harus di-chunk dulu |
| ElevenLabs Scribe | Vendor mengklaim 2,4 persen di FLEURS untuk Scribe v1 | Sekitar $0,22 | Hitungan detik, tier realtime lebih mahal | Benchmark dijalankan vendor sendiri, dan halaman yang sama juga menyebut 3,1 persen |
| Deepgram Nova-3 dengan language dikunci ke id | Tidak ada angka Indonesia resmi; ElevenLabs mencantumkan Nova-2 di 10,4 persen pada FLEURS | Sekitar $0,26 | Streaming, di bawah satu detik | Mode code-switching miliknya sendiri sama sekali tidak mencakup bahasa Indonesia |
Ubah semua harga menjadi biaya per jam audio sebelum membandingkan apa pun. OpenAI mencantumkan $0,006 per menit untuk whisper-1 dan $0,003 untuk gpt-4o-mini-transcribe, Deepgram mencantumkan $0,0043 per menit untuk Nova-3 pre-recorded pada tarif pay-as-you-go, dan ElevenLabs mencantumkan $0,22 per jam audio untuk Scribe v2 serta $0,39 untuk tier realtime. Kutipan per menit dan per jam berjarak enam puluh kali lipat, dan itu kesalahan yang mudah sekali terjadi di dalam spreadsheet.
Harga list sebagaimana dipublikasikan tiap vendor: Harga API OpenAI · Harga API ElevenLabs · Harga Deepgram
Kembali ke kalimat pembuka tadi. Ini bukan penyerapan kata. Follow up, invoice, outstanding dan forward adalah kata bahasa Inggris dengan fonologi Inggris, dijatuhkan ke dalam sintaksis bahasa Indonesia oleh penutur yang fasih keduanya dan tidak sedang memberi aba-aba peralihan kepada siapa pun. Percakapan kantor di Indonesia penuh dengan pola ini, begitu pula percakapan klinik, percakapan tim lapangan, dan apa pun yang melibatkan sistem yang layarnya dirancang dalam bahasa Inggris.
Arsitektur Whisper mengambil satu keputusan di titik ini yang menjelaskan sebagian besar kerusakannya. Decoder-nya mengeluarkan satu language token lebih dulu, satu token dari himpunan sembilan puluh sembilan bahasa, diprediksi sebelum ada teks transkrip sama sekali, dan paper-nya menyatakan dengan jelas bahwa hal ini terjadi sekali per jendela audio tiga puluh detik. Semua yang muncul sesudahnya di-decode dengan syarat pilihan itu. Tidak ada cara menyatakan bahwa jendela ini berbahasa Indonesia kecuali empat kata di dalamnya. Model harus memilih satu sisi, lalu mengeja bahasa yang lain menurut cara sisi yang dipilihnya mengeja.
Besarannya terdokumentasi. Sebuah studi tahun 2024 melatih ASR pada 24 jam audio Inggris dan 40 jam audio Indonesia lalu mengukur character error rate dengan tiga cara. Monolingual Inggris: 2,43 persen. Monolingual Indonesia: 4,10 persen. Code-switching Indonesia-Inggris hasil sintesis: 37,57 persen. Code-switching Indonesia-Inggris yang alami, spontan dan sedikit berisik: 91,76 persen. Itu character error rate, bukan word error rate, dan diukur pada Speech-Transformer, bukan pada Whisper, jadi jangan memindahkan angkanya. Pindahkan bentuknya: model yang membaca bahasa Indonesia pada 4 persen CER dan bahasa Indonesia ber-code-switching pada 92 persen bukan sedang menurun, melainkan gagal.
Metode semi-supervised mereka, sebuah machine speech chain yang dilatih pada audio code-switching tanpa label, menurunkan kasus sintesis ke 18,56 persen dan kasus alami hanya sampai 82,62 persen. Perbaikan pada data sintetis besar dan pada data alami kecil, dan justru itulah temuannya: audio code-switching yang bersih adalah masalah rekayasa yang bisa diselesaikan, sedangkan audio code-switching spontan yang berisik masih menjadi riset terbuka.
Kalau Anda memilih managed API karena ia mengiklankan code-switching, bacalah daftar bahasanya, bukan daftar fiturnya. Multilingual Codeswitching milik Deepgram diaktifkan dengan language=multi, dan pada Nova-3 mode itu mencakup Inggris, Spanyol, Prancis, Jerman, Hindi, Rusia, Portugis, Jepang, Italia dan Belanda. Bahasa Indonesia memang didukung Nova-3, tetapi hanya ketika Anda mengunci language=id, yaitu mode satu bahasa, yang justru merupakan mode yang tidak bisa melakukan code-switching.
Baris paling menentukan dalam sebuah panggilan Whisper adalah baris yang justru sering dihilangkan orang. Baca whisper/transcribe.py: kalau Anda tidak mengirim language, fungsi itu menjalankan detect_language pada maksimal tiga puluh detik pertama, mengambil argmax-nya, menuliskan pemenangnya ke decode_options, dan memakainya untuk seluruh file. Satu tebakan, diambil dari bagian pembuka, diterapkan pada semua yang datang sesudahnya. Sebuah panggilan berbahasa Indonesia yang dibuka dengan sapaan bahasa Inggris dan nama perusahaan berbahasa Inggris adalah panggilan di mana detector punya peluang nyata memilih English lalu men-decode empat puluh menit bahasa Indonesia di bawah prior bahasa Inggris.
# openai-whisper, transcribing one Indonesian customer-service call.
# WRONG - no language argument.
# transcribe() calls detect_language() on up to the FIRST 30 SECONDS only, takes
# the argmax, writes it into decode_options and reuses it for the entire file.
# A call opening "Hello, selamat pagi, dengan Rina di sini" can lock <|en|> and
# then decode forty minutes of Indonesian under an English prior.
result = model.transcribe("call-2026-09-12.wav")
# RIGHT - pin the language, then fix the two defaults that hurt long call audio.
result = model.transcribe(
"call-2026-09-12.wav",
language="id", # emits <|id|> in every 30-second window; no detection runs
task="transcribe", # "translate" is X->English. It will hand you fluent
# English text and look exactly like a successful run.
condition_on_previous_text=False,
# Defaults to True: each window's output becomes the next window's prompt.
# Good for consistency, ruinous for call audio - one bad window starts a
# repetition loop that every later window inherits. The docstring says so.
compression_ratio_threshold=2.4, # gzip ratio of the decoded text; above this
# the segment counts as failed and is retried
# further up the temperature ladder
logprob_threshold=-1.0, # below this, same treatment
no_speech_threshold=0.6, # raise it on noisy 8 kHz lines, or hold
# music comes back as confident words
initial_prompt=(
"Transkrip layanan pelanggan. "
"Istilah yang muncul: invoice, outstanding, follow up, "
"PPN, resi, COD, refund, nomor order."
),
# The prompt does NOT change the language token. It raises the probability of
# these exact English spellings so the Indonesian prior stops respelling them.
word_timestamps=True,
)Mengunci language ke id memperbaiki hal itu dan memunculkan masalah yang lebih kecil sebagai gantinya: setiap kata bahasa Inggris di dalam audio kini di-decode di bawah prior bahasa Indonesia. Untuk audio bisnis Indonesia itu pertukaran yang tepat, karena bahasa Indonesia adalah matrix language dan bahasa Inggris yang tersisip hanya minoritas token. Tetap saja itu pertukaran, bukan perbaikan, dan initial_prompt adalah tuas yang sebagian mengompensasinya. Memberi decoder istilah bahasa Inggris yang Anda harapkan, ditulis dalam ejaan Inggris, menaikkan probabilitasnya tanpa menyentuh language token sama sekali.
from openai import OpenAI
client = OpenAI()
# Same trap, wider blast radius: detection runs PER REQUEST. A forty-minute call
# split into twelve uploads gets twelve independent language guesses, so one
# English-heavy chunk flips mid-call while every other chunk stays Indonesian.
with open("call-2026-09-12.part01.mp3", "rb") as audio:
r = client.audio.transcriptions.create(
model="whisper-1",
file=audio, # 25 MB hard limit per request - hence the chunking
language="id", # ISO 639-1. Omit it and you are back to guessing.
prompt="invoice, outstanding, follow up, PPN, resi, COD, refund",
# whisper-1 truncates this at 224 tokens. Spend them on the code-switched
# nouns you actually expect, not on a polite instruction sentence.
response_format="verbose_json",
timestamp_granularities=["word"], # verbose_json + whisper-1 only
temperature=0,
)
seg = r.segments[0]
print(seg.avg_logprob, seg.no_speech_prob)
# Log both. Whisper's own decoder treats avg_logprob below -1.0 as a failed
# segment, so a run of segments hugging that line is the cheapest early warning
# that the problem is the audio and not the model.Managed API membawa jebakan yang sama dengan dampak lebih luas, karena deteksi berjalan per request dan rekaman panjang berarti banyak request. Kunci bahasanya pada setiap chunk, atau terimalah bahwa chunk ketujuh bisa berbeda pendapat dengan chunk keenam soal bahasa apa yang dipakai di panggilan itu.
Setel condition_on_previous_text ke False untuk rekaman panggilan. Nilai defaultnya True, yang berarti output tiap jendela dimasukkan sebagai prompt untuk jendela berikutnya. Itu bagus untuk konsistensi dan fatal ketika satu jendela meleset, karena repetition loop yang dihasilkannya lalu merambat maju ke semua jendela sesudahnya. Docstring Whisper sendiri menyebut kegagalan persis ini.
Endpoint transkripsi OpenAI membatasi upload pada 25 MB, dan panduannya menyuruh Anda memecah file yang lebih besar sambil menghindari potongan di tengah kalimat. Paruh kedua instruksi itulah yang penting dan justru paling sering dilewati. Memotong rekaman dua jam setiap sepuluh menit berdasarkan jam akan menjatuhkan sebagian potongan tepat di tengah kata, dan Whisper tidak mengembalikan separuh kata di kedua sisi sambungan. Ia mengembalikan satu kata utuh yang terdengar meyakinkan dan tidak pernah diucapkan.
from silero_vad import load_silero_vad, read_audio, get_speech_timestamps
SR = 8000 # the rate the call recording actually IS. Do not upsample here:
# Silero handles 8 kHz natively, and one resample later in the
# pipeline is already one more than zero.
MAX_CHUNK_S = 600 # ten minutes. Well under the 25 MB upload cap for mono audio,
# and short enough that a failed chunk is cheap to retry.
model = load_silero_vad()
wav = read_audio("call-2026-09-12.wav", sampling_rate=SR)
speech = get_speech_timestamps(wav, model, sampling_rate=SR, return_seconds=True)
def pack(regions, max_s):
"""Group speech regions into chunks whose boundaries all land in silence."""
chunks, start, end = [], None, None
for r in regions:
if start is None:
start, end = r["start"], r["end"]
elif r["end"] - start > max_s:
chunks.append((start, end)) # close at the END of the previous
start, end = r["start"], r["end"] # region, i.e. inside the gap
else:
end = r["end"]
if start is not None:
chunks.append((start, end))
return chunks
for i, (a, b) in enumerate(pack(speech, MAX_CHUNK_S)):
# -c copy cuts the ORIGINAL file, so re-encode artefacts never stack up.
print(f"ffmpeg -i call.wav -ss {a:.2f} -to {b:.2f} -c copy part{i:03d}.wav")Potonglah pada keheningan. Jalankan voice activity detector di seluruh file, ambil region ucapannya, kemas menjadi chunk sampai batas ukuran atau durasi Anda, dan letakkan setiap batas di dalam jeda. Biayanya nyaris nol dan ia menghapus satu kelas kesalahan yang selain itu tidak terlihat sampai ada orang membaca transkripnya dengan teliti.
Silero VAD adalah yang biasa saya pakai: berlisensi MIT, dipasang dengan pip install silero-vad, tanpa key dan tanpa registrasi, dan mendukung 8000 Hz serta 16000 Hz secara native, yang sangat penting untuk bagian berikutnya. README-nya melaporkan satu chunk 30 ms diproses di bawah 1 ms pada satu thread CPU, jadi menjalankannya di seluruh rekaman panjang sebelum transkripsi praktis gratis. snakers4/silero-vad
Whisper melakukan resample pada setiap input ke 16.000 Hz sebelum menghitung mel spectrogram-nya. Hal itu dinyatakan di bagian arsitektur paper-nya dan bukan sebuah setting. Rekaman call center di Indonesia datang pada 8 kHz karena itulah yang dibawa jalur telepon, dan menaikkan 8 kHz ke 16 kHz tidak memulihkan apa pun, sebab tidak ada sinyal di atas 4 kHz di dalam file yang bisa dipulihkan. Model itu berjalan pada separuh bandwidth yang dimiliki distribusi pelatihannya.
Saya belum menemukan pengukuran khusus bahasa Indonesia tentang berapa biayanya, dan saya tidak akan mengarangnya. Yang bisa saya katakan adalah hal ini membuat semua angka yang dipublikasikan dalam tulisan ini tidak berlaku untuk audio telepon tanpa pengukuran ulang, karena FLEURS dan Common Voice sama-sama wideband. Tiga hal layak dikerjakan sebelum Anda menerima kerugian itu:
Aturan umumnya, sebuah pipeline sebaiknya menyentuh audio sesedikit mungkin, dan setiap konversi di dalamnya harus konversi yang alasannya bisa Anda sebutkan.
Biaya komputasinya murah dan aritmetikanya tidak intuitif, jadi berikut hitungannya secara utuh. README faster-whisper mem-benchmark large-v2 pada fp16 dengan batch size 8, mentranskrip 13 menit audio dalam 17 detik di RTX 3070 Ti, yang berarti sekitar 46 kali real time. RunPod mencantumkan RTX 4090 pada $0,34 per jam di tier community-nya. Dua angka publik itu adalah satu-satunya input yang dibutuhkan perhitungan ini.
# Break-even, derived from two published numbers and nothing else.
#
# faster-whisper README - large-v2, fp16, batch_size 8, RTX 3070 Ti 8GB:
# 13 minutes of audio in 17 seconds -> 13*60/17 = 45.9x real time
# RunPod list price - RTX 4090, community tier:
# $0.34 per GPU-hour
GPU_HOUR = 0.34
REALTIME_FACTOR = 45.9
MONTH_HOURS = 720 # a GPU rented by the month is billed for all of them,
# busy or idle. That is the entire argument.
gpu_month = GPU_HOUR * MONTH_HOURS # $244.80
# Managed list prices, every one converted to dollars per HOUR OF AUDIO first.
managed = {
"OpenAI whisper-1": 0.006 * 60, # $0.360/h
"Deepgram Nova-3": 0.0043 * 60, # $0.258/h pre-recorded, pay-as-you-go
"ElevenLabs Scribe v2": 0.22, # $0.220/h
}
for name, rate in managed.items():
audio_hours = gpu_month / rate
gpu_hours = audio_hours / REALTIME_FACTOR
print(f"{name:22} {audio_hours:6.0f} audio-hours to break even, "
f"{gpu_hours:5.1f} GPU-hours of real work, "
f"{gpu_hours / MONTH_HOURS:.1%} duty cycle")
# OpenAI whisper-1 680 audio-hours to break even, 14.8 GPU-hours of real work, 2.1% duty cycle
# Deepgram Nova-3 949 audio-hours to break even, 20.7 GPU-hours of real work, 2.9% duty cycle
# ElevenLabs Scribe v2 1113 audio-hours to break even, 24.2 GPU-hours of real work, 3.4% duty cycleDua input tersebut, keduanya dipublikasikan: Benchmark faster-whisper · Harga GPU RunPod
Jadi satu GPU yang dibiarkan menyala sebulan penuh berbiaya kira-kira setara dengan 680 jam transkripsi OpenAI, atau 949 jam Deepgram, atau 1.113 jam ElevenLabs Scribe. Di bawah sekitar 23 jam audio per hari, managed API jelas lebih murah dan Anda tidak perlu menulis kode apa pun untuk sampai ke sana. Di atas angka itu GPU menang di atas kertas, tetapi lihat duty cycle-nya: 680 jam audio pada 46 kali real time itu kurang dari 15 jam GPU, jadi mesin yang Anda sewa bulanan menganggur selama 98 persen waktunya.
Sehingga versi jujur dari argumen ini begini. Sewa GPU per detik, bukan per bulan, dan biaya komputasinya runtuh menjadi beberapa dolar saja, dan pada titik itu yang sebenarnya Anda bayar adalah orkestrasi, cold start, logika retry, dan orang yang harus bangun jam dua pagi. Harga bukan alasan untuk self-hosting. Audio yang tidak boleh keluar dari infrastruktur Anda sendiri adalah alasan. Keinginan melakukan fine-tune pada data Indonesia Anda sendiri, yang menurut hasil 14,85 itu memang layak dilakukan, adalah alasan. Menghemat dua ratus dolar sebulan bukan alasan.
Semua angka WER dalam tulisan ini, termasuk yang paling saya percaya, dihitung setelah text normalization, dan paper Whisper terbuka mengakui bahwa mereka mengembangkan normalizer mereka sendiri dan bahwa normalizer itu umumnya menghasilkan WER lebih rendah daripada pembandingnya. Normalisasi menentukan apakah Rp 1.500.000 dan satu juta lima ratus ribu rupiah dihitung sebagai jawaban yang sama. Untuk bahasa Indonesia, dengan angkanya, gelarnya, dan spasi imbuhannya yang tidak konsisten, satu pilihan itu menggeser skor lebih jauh daripada kebanyakan pilihan model.
Jadi perlakukan WER yang dipublikasikan sebagai batas bawah. Audio benchmark dibacakan oleh penutur yang kooperatif ke mikrofon yang layak, pada bandwidth penuh, dalam satu bahasa. Audio Anda adalah orang yang sedang tertekan di telepon, di ruangan berkipas, beralih ke bahasa Inggris untuk setiap kata benda yang berasal dari layar ERP, dengan logat daerah yang nyaris tidak terlihat oleh data pelatihan. Satu-satunya angka yang memprediksi pengalaman production Anda adalah angka yang Anda ukur sendiri.
Set referensi itu memakan waktu satu sore dan akan menjadi aset paling berguna dalam proyeknya. Ia juga satu-satunya hal yang bisa memberi tahu Anda apakah code-switching menyumbang 5 persen token Anda atau 30 persen, dan angka itulah yang menentukan apakah seluruh rencana ini layak atau tidak.
Perlakukan setiap word error rate bahasa Indonesia yang dipublikasikan sebagai pernyataan tentang sebuah benchmark, bukan tentang audio Anda. Kunci parameter language, potong pada keheningan alih-alih pada jam, pertahankan sample rate yang Anda terima, dan bangun set referensi internal tiga puluh menit sebelum memilih apa pun. Empat keputusan itu akan menggerakkan kualitas transkrip Anda lebih jauh daripada pilihan modelnya.
Sumber dan bacaan lanjutan