Kamu bicara ke speaker: "Hei Mira, putarkan sedikit dream pop."

Musik pun mengalir, warna synth yang agak berkabut. Kamu dengarkan beberapa detik, lalu mengernyit: "Lewati lagu ini."

"Sudah aku lewati."

Kamu iseng bertanya: "Menurutmu lagu ini bagaimana?"

"Lembut sekali."

Ini adalah voice agent yang didemonstrasikan resmi oleh kanal Google Cloud Tech, namanya Mira. Dia bisa mendengar, bisa dipotong bicaranya, dan responsnya nyaris tanpa jeda โ€” rasanya seperti menelepon, bukan bicara ke mesin penjawab.

Kalau kamu pernah membuat aplikasi suara sendiri, kamu mungkin tahu betapa sulitnya membuat rasa "seperti menelepon" itu. Kebanyakan orang, saat pertama kali mencoba, justru membuat mesin penjawab berbalut suara: setelah kamu selesai bicara satu kalimat penuh baru dia membacakan jawabannya, dan kalau kamu mencoba menyela, dia tetap membacakan skripnya sampai selesai. Kamu kira itu karena modelnya kurang pintar โ€” padahal sebenarnya sejak awal arsitekturnya sudah salah pilih.

Bot Suaramu Mungkin Selama Ini Hanya Bisa "Membaca Skrip", Bukan "Mendengarkan"

Kebanyakan AI suara memakai text-to-speech (TTS): kamu berikan teks, dia keluarkan suara โ€” satu arah, sekali jalan. Dia bisa bicara, tapi tidak bisa mendengarmu, bahkan tidak tahu apakah kamu masih ada di situ.

Gemini Live API berbeda โ€” ini "suara ke suara", dua arah dan real-time: suaramu didengarkan langsung sebagai audio, dan dia juga menjawab langsung dengan audio. Yang dia tangkap bukan cuma kata-kata, tapi juga nada bicara, jeda, emosi โ€” hal-hal yang hilang begitu diubah jadi teks. Yang lebih penting, dia mulai bicara sambil menyusun jawabannya, tidak perlu menunggu seluruh kalimat selesai dipikirkan dulu. Satu kalimat: TTS itu "membaca", Live itu "mendengarkan", dan jawabannya dihasilkan sambil diucapkan.

Membuka Saluran yang Tidak Pernah Ditutup, Baru Bisa Disebut "Percakapan"

Arsitekturnya terbagi tiga bagian: browser bertugas merekam dan memutar suara; Gemini Live adalah model intinya; di tengah ada backend kecil yang menjaga koneksi yang terus-menerus terbuka dengan Gemini, meneruskan audio apa adanya. Antara browser dan backend berjalan lewat WebSocket โ€” kalau permintaan web biasa itu tanya sekali lalu ditutup, saluran ini justru terus terbuka, sehingga audio bisa mengalir dua arah tanpa henti.

Backend melakukan dua hal sekaligus: mengirim audio dari mikrofon ke atas, dan menerima suara dari Gemini ke bawah โ€” dua hal ini berjalan paralel, tidak saling menunggu, dan itulah sebabnya "telepon" ini terasa terus hidup. Loop intinya cuma empat langkah: buka koneksi, kirim audio, terima audio, putar audio. Sampai di sini, kamu sudah punya agent yang "bisa jalan" โ€” tapi bisa jalan dan benar-benar jadi percakapan yang nyata, itu dua hal yang berbeda.

Sekadar Bisa Bicara Saja Belum Cukup, Dia Harus Bisa "Mendengar Kapan Kamu Selesai Bicara"

Supaya terasa hidup, masih ada tiga hal yang kurang. Yang pertama: bagaimana model tahu kamu sudah selesai bicara? Jawabannya adalah Voice Activity Detection (VAD) โ€” model terus-menerus bertanya pada dirinya sendiri: sekarang ada orang yang sedang bicara, atau sedang sunyi? Dari situ dia menemukan titik awal dan akhir giliran bicaramu โ€” itu juga sebabnya walau kamu diam, audio tetap harus terus dikirim sebagai stream. Kabar baiknya, Gemini Live sudah punya VAD bawaan, kamu tidak perlu menulis sendiri logika deteksinya dari nol.

Yang Benar-Benar Membuatmu Percaya "Ini Hidup" Adalah Saat Kamu Memotong Bicaranya

Hal kedua adalah bisa tidaknya "menyela" (barge-in). Walkie-talkie tidak bisa melakukan ini, tapi percakapan sungguhan bisa โ€” kamu bicara di tengah kalimatnya dan langsung menimpanya, lawan bicaramu pun berhenti. VAD yang sama juga dipakai untuk mendeteksi apakah kamu mulai bicara saat model sedang bicara; begitu terdeteksi, model akan berhenti sendiri dan mengirim sinyal "telah diinterupsi".

Detail kecil yang sering diabaikan justru yang membuat interupsi terasa benar-benar instan: aplikasi seharusnya langsung menghentikan putaran suara lokal begitu mikrofon mendengar kamu mulai bicara, tanpa menunggu sinyal itu bolak-balik lewat jaringan dulu. Hentikan dulu putaran suaranya, baru biarkan model menyusul โ€” kalau langkah ini dilakukan dengan benar, interupsi terasa seperti percakapan manusia sungguhan, bukan robot yang telat merespons.

Cuma Bisa Bicara Saja Belum Cukup Menarik, Kamu Harus Memberinya Sepasang Tangan

Hal ketiga adalah kemampuan bertindak. Model itu sendiri hanya bisa "bicara" โ€” dia tidak bisa memutar lagu, melewati lagu, atau menekan tombol apa pun. Karena itu dia perlu diberi tools (alat) โ€” tool adalah sebuah fungsi dalam kode, punya nama dan deskripsi, mewakili satu tindakan konkret yang bisa diminta model untuk kamu lakukan, misalnya memutar daftar lagu, melewati lagu ini, atau menjeda musik.

Ketika model menilai perlu memakai tool, dia tidak mengarang jawaban sendiri, melainkan berkata "panggil tool ini dengan parameter berikut", lalu kode programmu yang menjalankannya dan melaporkan hasilnya, baru model melanjutkan bicara โ€” model yang memutuskan, kode yang bertindak. Ada satu aturan yang khusus penting untuk suara di sini: selama tool dijalankan, model akan diam menunggu di tempat, jadi tool itu wajib berjalan cepat โ€” kalau kelamaan, seluruh percakapan akan jatuh ke keheningan.

Bisa Berjalan Bukan Berarti Kamu Sudah Menghitung Berapa Biaya "Telepon" Ini

Tiga hal sudah lengkap: VAD menemukan batas kalimatmu, barge-in memungkinkanmu menyela kapan saja, tool membuatnya benar-benar bisa bertindak. Seluruh agent yang berjalan memang terasa seperti menelepon sungguhan.

Tapi jarang ada tutorial yang mengingatkanmu: koneksi suara dua arah yang "begitu dibuka, terus terbuka" itu punya logika penggunaan yang sama sekali berbeda dari permintaan teks satu tanya satu jawab. Saat chat teks sedang sunyi, tidak terjadi apa-apa; sementara koneksi yang terus mengalirkan stream agar bisa diinterupsi kapan saja itu bekerja dengan cara yang sama sekali lain. Ini bukan masalah yang mau diselesaikan oleh demo ini โ€” tapi cepat atau lambat, ini adalah tagihan yang harus kamu buka begitu kamu membawanya ke produk sungguhan. Menghitungnya setelah pengguna terbiasa "bisa menyela kapan saja" biasanya jauh lebih menyakitkan dibanding memasukkannya ke daftar evaluasi sejak awal.

Dari "Bisa Bicara" Menjadi "Seperti Menelepon"

Kembali ke kalimat pembuka tadi, "Hei Mira, putarkan sedikit dream pop." Yang membuat adegan itu terasa nyata bukan karena modelnya bicara dengan sangat pintar, melainkan detail-detail yang nyaris tidak kamu sadari: dia terus mendengarkan, kamu menyela dan dia benar-benar berhenti, dia benar-benar bisa bertindak melewati lagu. Sejak momen kamu mulai membangun voice agent sendiri, yang perlu kamu awasi bukan cuma "apakah dia bisa bicara", tapi juga apakah dia mengerti momen saat dia diinterupsi, serta akan menjadi tagihan seperti apa saluran yang terus terbuka itu pada akhirnya. Masukkan dua hal ini ke desain versi pertamamu, baru hasilnya tidak akan sekadar jadi mesin penjawab yang bisa bicara.

Pertanyaan yang Sering Diajukan (FAQ)

Q1: Apa bedanya Gemini Live API dengan text-to-speech (TTS) biasa? TTS itu satu arah: kamu berikan teks, keluar suara, dia tidak bisa mendengarmu dan tidak tahu apakah kamu masih ada. Gemini Live dua arah dan real-time, suara ke suara, bisa menangkap nada bicara dan jeda, serta mulai bicara sambil menyusun jawabannya.

Q2: Bagaimana cara kerja interupsi suara (barge-in)? Mengandalkan Voice Activity Detection (VAD) yang sekaligus menilai apakah giliran bicaramu sudah selesai, dan apakah kamu mulai bicara saat model sedang bicara. Begitu interupsi terdeteksi, model berhenti sendiri dan mengirim sinyal interupsi; sebaiknya aplikasi juga langsung menghentikan putaran suara lokal begitu mikrofon mendengar kamu mulai bicara, supaya interupsinya terasa instan.

Q3: Apakah VAD harus ditulis sendiri? Tidak perlu. Gemini Live sudah punya Voice Activity Detection bawaan, kamu tidak perlu membangun sendiri mekanisme untuk menilai "apakah ada orang yang sedang bicara".

Q4: Kenapa tool calling di voice agent harus "cepat"? Selama tool dijalankan, model akan diam menunggu di tempat โ€” kalau kelamaan, percakapan akan jatuh ke keheningan. Suara jauh lebih sensitif terhadap respons instan dibanding chat teks, jadi desain tool wajib mengembalikan hasil secepat mungkin.

Sumber: Artikel ini ditulis ulang dan disusun berdasarkan video resmi kanal YouTube Google Cloud Tech, "Build a real-time voice AI agent with Gemini Live API" (dipublikasikan 26 Agustus 2026, sekitar 121 ribu kali ditonton), tautan asli: https://www.youtube.com/watch?v=pFc-HcUgFgY. Deskripsi kemampuan produk Gemini Live API mengacu pada demo di video aslinya; untuk fitur dan tarif aktual, silakan merujuk pada dokumentasi resmi Google Cloud. Artikel ini bukan jaminan implementasi teknis.

Bacaan lanjutan: Apa itu OpenAI Codex dan Bedanya dengan ChatGPT, Kenapa AI Token Begitu Mahal?, Apa itu Claude Fable 5?, dan Kenapa Software Mulai Beralih ke Skema Harga Berbasis Token?

Saat kamu membangun voice AI agent sendiri, tagihan seperti apa yang akan muncul dari saluran yang "begitu dibuka, terus terbuka" itu โ€” kamu ingin melihatnya sekarang, atau menunggu sampai tagihannya datang baru dicek ulang? Coba gratis AI Token King โ†’ https://aitokenking.com.tw/home