Beranda → Blog → Transkripsi pesan suara: WhatsApp, Telegram, dan lainnya
Transkripsi pesan suara: WhatsApp, Telegram, dan lainnya
Pesan suara nyaman bagi pengirim dan merepotkan bagi penerima: tidak bisa dipindai sekilas, tidak bisa dicari, dan tidak bisa dibaca saat rapat. Transkripsi otomatis menyelesaikan itu — berikut cara memasangnya di dalam bot atau alur kerja layanan.
Apa yang membedakan pesan suara
Pesan suara punya tiga ciri yang perlu diperhitungkan:
- Format ogg/opus. WhatsApp dan Telegram memampatkan suara ke opus — tidak perlu dikonversi lebih dulu, berkasnya diterima apa adanya.
- Durasi pendek. Pesan biasa berkisar tiga detik sampai satu menit. Makin pendek rekaman, makin sedikit konteks bagi model.
- Ucapan spontan. Kalimat terpotong, bising jalanan, kata pengisi — semuanya masuk ke transkrip, karena yang dikenali adalah apa yang benar-benar diucapkan.
Mengirim pesan suara untuk ditranskrip
Berkas dikirim persis seperti yang datang dari aplikasi pesan:
from openai import OpenAI
client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="kunci Anda")
with open("pesan_suara.ogg", "rb") as f:
text = client.audio.transcriptions.create(model="whisper-1", file=f).text
print(text)
Format dikenali dari isi berkas, bukan dari ekstensinya, jadi nama berkas yang keliru tidak mengganggu pengenalan.
Bot yang membalas pesan suara dengan teks
Alurnya sederhana: terima pesan suara, unduh berkasnya, kirim untuk ditranskrip, balas teksnya ke obrolan.
async def on_voice(message, bot):
file = await bot.download(message.voice.file_id) # ogg/opus
text = client.audio.transcriptions.create(
model="whisper-1", file=("suara.ogg", file), language="id",
).text
await message.reply(text or "Suaranya tidak terdengar jelas")
Jawaban datang dalam permintaan yang sama, jadi pengguna menerima teksnya beberapa detik setelah mengirim pesan.
Pesan pendek: cara menaikkan akurasi
Pada rekaman dua atau tiga detik pekerjaannya lebih berat: konteksnya sedikit dan deteksi bahasa bisa meleset. Tiga cara yang hampir selalu membantu:
- Sebutkan bahasanya —
language="id". Deteksi otomatis dimatikan dan galat pada frasa pendek hilang. - Beri tahu bentuk isi yang diharapkan lewat
prompt. Untuk kode verifikasi:prompt="Kode verifikasi empat digit". - Periksa keyakinannya. Respons
verbose_jsonmemuat probabilitas bahasa: nilai rendah adalah sinyal bahwa rekaman itu perlu dicek ulang.
Arus pesan dalam banyak bahasa
Kalau pesan datang dalam bahasa yang berbeda-beda, tidak ada yang perlu diatur: bahasa dikenali otomatis dari bunyinya, dan 99 bahasa didukung. Respons verbose_json mengembalikan bahasa yang terdeteksi — praktis untuk mengarahkan percakapan ke agen yang menguasainya.
Satu catatan: bahasa ditentukan dari awal rekaman. Kalau seseorang mulai dalam bahasa Indonesia lalu beralih ke Inggris, transkripsi lanjut dalam «mode Indonesia» — pesan semacam itu lebih baik diproses terpisah.
Menangani keheningan dan rekaman kosong
Sebagian pesan suara ternyata kosong: tombol tertekan tak sengaja, koneksi putus, atau hanya derau tanpa ucapan. Untuk kasus seperti itu layanan mengembalikan teks kosong, bukan kalimat karangan — penyaring bawaan memotong «halusinasi» khas jaringan saraf seperti teks penutup dan ucapan terima kasih karena sudah menonton.
Di dalam kode cukup periksa string kosong dan jangan tampilkan jawaban tanpa makna kepada pengguna.
Coba dengan rekaman Anda sendiri. Pendaftaran memakan waktu satu menit, dan menit gratisnya cukup untuk menilai kualitasnya.
Ambil kunci API gratisPertanyaan yang sering diajukan
Perlukah ogg dikonversi ke wav sebelum dikirim?
Tidak. Berkas diterima dalam format yang diberikan aplikasi pesan: ogg, opus, mp3, m4a, wav, dan format umum lainnya.
Apakah pesan suara berbahasa Indonesia dikenali dengan baik?
Ya, bahasa Indonesia termasuk bahasa dengan kualitas pengenalan yang baik. Bahasanya terdeteksi otomatis, tetapi untuk arus satu bahasa lebih baik disebutkan secara eksplisit.
Berapa lama transkripsi satu pesan suara?
Pesan biasa sampai satu menit selesai dalam satu sampai dua detik, dan jawabannya kembali dalam permintaan yang sama.
Apa yang kembali kalau tidak ada ucapan dalam rekaman?
Teks kosong. Layanan tidak mengarang isi yang memang tidak ada.
Apakah ada batas ukuran berkas?
Ada, 25 MB per permintaan. Untuk pesan suara itu sangat longgar: dalam opus, ukuran segitu setara beberapa jam ucapan.
Bacaan terkait
- Cara mengubah rekaman telepon menjadi teks — Panduan langkah demi langkah mengubah rekaman percakapan telepon menjadi teks lewat API dalam hitungan menit. Lengkap dengan contoh Python, C#, dan daftar galat.
- Subtitle SRT dan VTT otomatis dari video dan webinar — Cara mendapatkan berkas subtitle bertanda waktu dari rekaman webinar atau video: ekstraksi audio, format SRT dan VTT, contoh kode, dan masalah yang sering muncul.
- Bahasa mana yang benar-benar ditangani dengan baik — 99 bahasa yang didukung tidak setara: mana yang bisa diandalkan, di mana akurasinya turun, bagaimana deteksi bekerja, dan apa yang harus dilakukan saat bahasanya berganti.