Lewati ke isi

AI & Otomasi

Transkripsi Audio Bahasa Indonesia dengan Whisper

Langkah transkripsi audio bahasa Indonesia dengan faster-whisper dan whisper.cpp di server sendiri, memilih ukuran model, serta beda kecepatan CPU dan GPU.

Terbit 6 menit baca

Jawaban singkat

Whisper adalah model pengenal suara open-source dari OpenAI yang mendukung bahasa Indonesia. Untuk server sendiri, faster-whisper (Python) dan whisper.cpp (C/C++) lebih hemat sumber daya. Model small atau medium cukup untuk banyak keperluan di CPU, large-v3 dan turbo nyaman dengan GPU.

Daftar isi
  1. Langkah 1: Pilih ukuran model
  2. Langkah 2: Siapkan server
  3. Langkah 3: Transkripsi dengan faster-whisper
  4. Langkah 4: Atau pakai whisper.cpp
  5. Langkah 5: Rapikan hasilnya
  6. Contoh pemakaian
  7. Ringkasan pilihan
  8. Pertanyaan yang sering diajukan
  9. Checklist sebelum memproses rekaman penting

Punya rekaman wawancara, rapat, atau panggilan pelanggan berjam-jam yang perlu diubah jadi teks, tapi tidak ingin mengunggahnya ke layanan pihak ketiga? Whisper bisa dijalankan di server atau komputer sendiri, gratis, dan mendukung bahasa Indonesia. Kuncinya ada di memilih varian yang tepat dan ukuran model yang sesuai dengan mesinmu.

Whisper dirilis OpenAI sebagai model open-source, dengan kode dan bobot model berlisensi MIT. Selain versi aslinya, ada dua varian populer untuk dipasang sendiri: faster-whisper, implementasi ulang memakai mesin CTranslate2, dan whisper.cpp, port ke C/C++ tanpa dependensi eksternal. Panduan di bawah memakai keduanya.

Langkah 1: Pilih ukuran model

Whisper hadir dalam beberapa ukuran. Model besar lebih akurat, tetapi lebih lambat dan butuh memori lebih banyak. Untuk bahasa Indonesia, pakai model multibahasa, bukan varian berakhiran .en yang khusus bahasa Inggris.

Menurut repositori resmi OpenAI, perkiraan kebutuhan VRAM dan kecepatan relatif (dibanding model large, diukur dengan audio bahasa Inggris di GPU A100) adalah sebagai berikut:

  • tiny (39 juta parameter): sekitar 1 GB, kira-kira 10x lebih cepat
  • base (74 juta): sekitar 1 GB, kira-kira 7x
  • small (244 juta): sekitar 2 GB, kira-kira 4x
  • medium (769 juta): sekitar 5 GB, kira-kira 2x
  • large (1.550 juta): sekitar 10 GB, acuan 1x
  • turbo (809 juta): sekitar 6 GB, kira-kira 8x

Turbo adalah versi large-v3 yang dioptimalkan agar jauh lebih cepat dengan penurunan akurasi kecil. Catatannya, turbo tidak dilatih untuk tugas terjemahan. Untuk sekadar transkripsi bahasa Indonesia, itu tidak masalah.

Pedoman praktis: mulai dari small di server tanpa GPU untuk uji coba, naik ke medium bila hasilnya kurang akurat, dan pakai large-v3 atau turbo bila tersedia GPU.

Langkah 2: Siapkan server

Transkripsi berjalan di CPU maupun GPU. CPU cukup untuk volume kecil dan tidak mendesak, misalnya beberapa rekaman per hari yang boleh selesai dalam hitungan jam. GPU NVIDIA membuat model besar jauh lebih praktis.

Untuk server Linux, siapkan Python 3.9 atau lebih baru bila memakai faster-whisper, atau compiler C/C++ dan CMake bila memakai whisper.cpp. Panduan memilih vCPU dan RAM ada di memilih spesifikasi VPS.

Langkah 3: Transkripsi dengan faster-whisper

Menurut dokumentasinya, faster-whisper hingga 4 kali lebih cepat dari implementasi asli OpenAI dengan akurasi yang sama, memakai memori lebih sedikit, dan bisa lebih efisien lagi dengan kuantisasi 8-bit di CPU maupun GPU. Pemasangannya satu perintah:

pip install faster-whisper

FFmpeg tidak perlu dipasang terpisah karena dekode audio memakai PyAV. Contoh skrip untuk CPU dengan int8:

from faster_whisper import WhisperModel

model = WhisperModel("medium", device="cpu", compute_type="int8")
segments, info = model.transcribe(
    "wawancara.mp3",
    language="id",
    beam_size=5,
    vad_filter=True,
)
for s in segments:
    print("[%.1fs -> %.1fs] %s" % (s.start, s.end, s.text))

Untuk GPU, ganti device="cuda" dan compute_type="float16". Versi terbaru CTranslate2 membutuhkan CUDA 12 dan cuDNN 9.

Dua opsi yang berguna: language="id" memaksa bahasa Indonesia sehingga model tidak salah menebak bahasa di awal rekaman, dan vad_filter=True memakai Silero VAD untuk membuang bagian tanpa suara. Model diunduh otomatis dari Hugging Face saat pertama dijalankan.

Langkah 4: Atau pakai whisper.cpp

whisper.cpp cocok bila kamu ingin satu program ringan tanpa lingkungan Python. Langkah dasarnya:

git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
cmake -B build
cmake --build build -j --config Release
sh ./models/download-ggml-model.sh small

Contoh program whisper-cli di repositori ini menerima file WAV 16-bit, jadi ubah dulu audio lain dengan ffmpeg:

ffmpeg -i rekaman.mp3 -ar 16000 -ac 1 -c:a pcm_s16le rekaman.wav
./build/bin/whisper-cli -m models/ggml-small.bin -f rekaman.wav -l id

Opsi -l id penting: per 4 November 2026, dokumentasi contoh whisper-cli menyebut bahasa bawaannya en, jadi tanpa opsi ini rekaman bahasa Indonesia akan diproses sebagai bahasa Inggris. Daftar lengkap opsinya bisa dilihat dengan whisper-cli -h. whisper.cpp mendukung banyak akselerator, antara lain CUDA untuk NVIDIA, Vulkan, ROCm untuk AMD, Metal di Apple Silicon, dan OpenVINO untuk CPU serta GPU Intel.

Langkah 5: Rapikan hasilnya

Transkrip mentah biasanya masih perlu dirapikan: tanda baca, nama orang, nama produk, dan istilah teknis. Beberapa cara yang membantu:

  • Audio yang bersih. Satu mikrofon dekat pembicara jauh lebih baik dari rekaman ruangan.
  • Glosarium. Simpan daftar nama dan istilah yang sering salah dengar, lalu perbaiki dengan cari-ganti atau dengan bantuan model bahasa.
  • Pemisahan pembicara. Whisper sendiri tidak menandai siapa berbicara. Bila perlu, gunakan alat diarisasi terpisah atau rekam setiap pembicara di jalur audio sendiri.
  • Ringkasan. Transkrip bisa dirangkum oleh model bahasa lokal, langkahnya ada di menjalankan LLM dengan Ollama.

Untuk rekaman panggilan pelanggan, pastikan ada pemberitahuan perekaman dan rekaman disimpan dengan akses terbatas. Server yang menyimpan rekaman juga perlu diamankan, lihat cara mengamankan VPS baru.

Contoh pemakaian

Wawancara untuk riset atau konten: transkrip memudahkan mencari kutipan dan menyusun artikel. Rapat internal: transkrip lalu dirangkum jadi notulen, perbandingannya dengan fitur bawaan aplikasi rapat dibahas di AI transkrip notulen rapat. Rekaman layanan pelanggan: transkrip bisa dicari untuk menemukan keluhan yang berulang.

Ringkasan pilihan

KebutuhanPilihan yang masuk akal
Uji coba di server tanpa GPUfaster-whisper, model small, int8
Akurasi lebih baik di CPU, tidak mendesakfaster-whisper, model medium, int8
Volume besar dengan GPU NVIDIAfaster-whisper, large-v3 atau turbo, float16
Program ringan tanpa Pythonwhisper.cpp dengan model ggml
GPU non-NVIDIA atau Apple Siliconwhisper.cpp (Vulkan, ROCm, Metal)

Pertanyaan yang sering diajukan

Apakah Whisper gratis untuk dipakai bisnis?

Kode dan bobot model Whisper dirilis dengan lisensi MIT, yang mengizinkan pemakaian komersial. Biaya yang ada adalah biaya server dan listriknya.

Seberapa akurat untuk bahasa Indonesia?

Akurasinya bergantung pada ukuran model, kualitas audio, dan logat. Repositori Whisper menyertakan grafik tingkat kesalahan per bahasa, tetapi cara terbaik adalah menguji dengan rekamanmu sendiri.

Apakah bisa real-time?

Panduan ini berfokus pada rekaman yang sudah jadi, dan untuk itulah Whisper paling nyaman dipakai. Transkripsi langsung butuh pengaturan tambahan dan perangkat yang lebih kuat, jadi uji dulu di mesinmu sebelum mengandalkannya.

Apakah perlu koneksi internet?

Hanya saat mengunduh model pertama kali. Setelah itu transkripsi berjalan sepenuhnya di mesinmu.

Checklist sebelum memproses rekaman penting

  • Ukuran model sudah diuji dengan sampel rekaman nyata.
  • Bahasa dipaksa ke Indonesia (id).
  • Audio dikonversi ke format yang didukung bila memakai whisper.cpp.
  • Ada glosarium nama dan istilah untuk koreksi.
  • Rekaman dan transkrip disimpan dengan akses terbatas.

Sumber & referensi

Baca juga