Whisper Notes kini mendukung diarization pembicara di perangkat

28 Juli 2026
·
8 min read
·Whisper Notes Team

Transkrip memberi tahu apa yang diucapkan. Untuk wawancara, rapat, dan podcast, kita juga perlu tahu siapa yang mengucapkannya — masalah yang disebut diarization pembicara (speaker diarization) dalam riset ujaran. Mulai iPhone 1.8.5, Mac App Store 1.3.2, dan versi Mac unduhan langsung 1.5.1, Whisper Notes menjalankan seluruh proses ini di perangkat.

Artikel ini menjelaskan cara kerjanya, membagikan hasil benchmark terhadap data acuan yang dibuat di cloud, serta membahas satu pola kegagalan yang tidak bisa kami hilangkan — dan solusi yang kami buat sebagai gantinya.

Apa yang dikerjakan

Buka catatan — rekaman, file audio atau video yang diimpor, atau rekaman rapat — lalu ketuk tombol pembicara. Beberapa detik kemudian, setiap paragraf memiliki label pembicara dan stempel waktu.

Diarization pembicara di perangkat dalam Whisper Notes untuk Mac: transkrip podcast dengan label pembicara dan stempel waktu, diproses secara lokal Label pembicara di Whisper Notes untuk iPhone: transkrip dengan nama dan stempel waktu per pembicara

Label pembicara di Mac dan iPhone. Ketuk sebuah kalimat untuk berpindah ke momen itu dalam audio.

Label awalnya bernama Pembicara 1 dan Pembicara 2. Mengganti satu nama akan memperbarui seluruh transkrip. Ketuk kalimat mana pun untuk memindahkan audio ke posisi tepatnya, sehingga kutipan mudah dicocokkan dengan suara asli.

Mengganti nama pembicara di Whisper Notes — label diperbarui di seluruh transkrip

Mengganti nama pembicara memperbarui setiap paragraf dalam catatan.

Rekaman rapat menjalankan identifikasi pembicara otomatis setelah panggilan berakhir (dapat dimatikan di Pengaturan). Label tetap ada saat diekspor: Salin Transkrip dengan Pembicara membawanya ke papan klip, sementara file SRT dan VTT menyimpannya dalam subtitel.

Diarization bekerja pada suara, bukan kata. Karena itu, perilakunya sama di 100+ bahasa yang dapat ditranskripsikan aplikasi.

Model 19 MB di Neural Engine

Diarization menjawab “siapa berbicara kapan” dalam tiga langkah. Audio dipotong menjadi segmen yang berisi suara. Setiap segmen diubah menjadi sidik suara — vektor ringkas yang menjelaskan suara, bukan kata-kata. Lalu sidik suara dikelompokkan; segmen dalam kelompok yang sama mendapat label yang sama.

Whisper Notes memakai pipeline community-1 dari pyannote yang dikonversi ke Core ML agar kedua tahap berjalan di Neural Engine. Unduhan satu kali berukuran 19 MB, dan percakapan 5.7 menit diproses dalam 2–4 detik di Mac seri M.

Audio → segmen suara → sidik suara → kelompok → label

Setiap tahap berjalan di perangkat.

Ini lebih penting untuk diarization dibanding transkripsi. Sidik suara adalah data biometrik; ia mengenali seseorang seperti sidik jari. Pemrosesan lokal berarti sidik suara Anda, rekan kerja, dan narasumber dihitung, dikelompokkan, lalu dibuang di perangkat. Data itu tidak pernah dikirim keluar.

Apa yang kami ukur

Kami memakai benchmark tetap yang terdiri dari dua file. Data acuan dibuat oleh layanan ASR dan diarization cloud ElevenLabs, lalu diperiksa manual. Penilaian menetapkan setiap 10 ms ujaran kepada seorang pembicara dan memilih pemetaan terbaik antara hasil dan acuan. Dua file adalah sampel kecil, jadi angka ini bersifat indikatif, bukan kesimpulan akhir.

File pertama mewakili kasus umum: podcast bahasa Inggris lima menit dengan dua suara yang jelas berbeda. Kebanyakan wawancara, podcast, dan rapat satu lawan satu mirip dengan kondisi ini.

Podcast Inggris dua pembicara (5 menit) Hasil
Atribusi tingkat frame (resolusi 10 ms) 96.7%
Akurasi tingkat kalimat (hasil yang dibaca) 99.1%
Waktu pemrosesan, Neural Engine seri M 2–4 detik

Sisa 0.9% berasal dari tiga pergeseran batas dengan total 3.4 detik, mendekati resolusi data acuan itu sendiri. Untuk materi seperti ini, hasil di perangkat sebanding dengan layanan cloud yang membuat acuan kami.

Kasus sulit

File kedua sengaja dibuat sulit: dua suara pria yang mirip di ruangan bergema, dengan pewawancara yang menyela 19 kali, rata-rata 2.3 detik per selaan. Tamu berbicara selama 272 detik; pewawancara 43 detik. Inilah profil akustik yang membuat diarization pembicara gagal dalam bahasa apa pun: suara mirip bergantian dalam tuturan singkat.

Pengelompokan otomatis gagal di sini. Kedua sidik suara terlalu dekat sehingga algoritme menggabungkannya dan memberikan hampir seluruh percakapan pada satu label. Rekamannya kebetulan berupa wawancara bahasa Mandarin, sehingga kami dapat menguji hipotesis yang jelas — model khusus bahasa akan bekerja lebih baik. Kami menjalankan dua model pembicara yang dilatih khusus dengan ujaran Mandarin melalui pipeline CPU:

Model Podcast Inggris Kasus sulit* Waktu (audio 5.7 menit)
pyannote community-1 (digunakan, Neural Engine) 96.7% 81–82% 2–4 detik
CAM++ (dilatih dengan bahasa Mandarin, CPU) 93.9% 81.2% 36–103 detik
ERes2NetV2 (dilatih dengan bahasa Mandarin, CPU) 80.5% 220–290 detik

* Atribusi tingkat frame pada kasus sulit dengan jumlah pembicara ditentukan. Tanpanya, semua model menyusut ke satu pembicara.

Keduanya gagal dengan cara yang sama meski memakai komputasi 10 hingga 100 kali lebih besar. Kesulitannya bersifat akustik, bukan linguistik — batasnya adalah apa yang mampu dibedakan embedding suara saat ini dalam bahasa apa pun.

Ini menyingkirkan perbaikan yang paling jelas dan mengarah ke cara lain: berikan fakta yang tidak bisa disimpulkan pipeline — jumlah orang di ruangan. Saat jumlahnya ditentukan (opsi menu 2 hingga 6), file sulit meningkat dari kegagalan menjadi akurasi kalimat 89%. Deteksi otomatis tetap menjadi default karena benar pada materi biasa.

Jalankan kembali Deteksi Pembicara di Whisper Notes dengan jumlah pembicara tertentu, serta ekspor SRT dan VTT berlabel pembicara

Jalankan ulang deteksi dengan jumlah pembicara yang tepat. Menu yang sama mengekspor SRT dan VTT beserta label pembicara.

Memperbaiki selaan singkat

Setelah jumlah pembicara ditetapkan, sekitar separuh kesalahan tersisa berada pada selaan di bawah tiga detik. Klip dua detik memberi sangat sedikit sinyal pada model embedding; dalam percakapan cepat, sidik suaranya juga menyerap sebagian suara pembicara di sebelahnya.

Karena itu, setelah pengelompokan, pipeline memeriksa ulang setiap kalimat yang lebih pendek dari 3.5 detik: menghitung kembali sidik suara dengan mask tepat pada frame kalimat tersebut, membandingkannya dengan jangkar tiap pembicara — rata-rata giliran bicara terpanjang — dan mengganti label hanya saat selisihnya tegas. Model yang ada dipakai kembali; tidak ada unduhan tambahan.

Akurasi kalimat menyeluruh Sebelum perbaikan Sesudah
Kasus sulit (jumlah pembicara diberikan) 89.0% 94.8%
Podcast Inggris (otomatis) 98.5% 99.1%

Ambang keputusan dibuat konservatif: penyempurna mengganti 21 label di kedua file tanpa menambah kesalahan baru.

Keterbatasan

• Label muncul setelah rekaman selesai, bukan saat panggilan berlangsung. Jika Anda memerlukan teks langsung dengan nama pembicara selama rapat, layanan cloud seperti Otter atau Notta lebih tepat.

• Ucapan yang tumpang tindih mendapat satu label per kalimat.

• Suara yang mirip masih sulit. 94.8% pada file sulit adalah batas saat ini dengan petunjuk jumlah pembicara, bukan masalah yang sudah selesai.

Ketersediaan

Identifikasi pembicara termasuk dalam pembelian satu kali $6.99, bersama tiga mesin transkripsi aplikasi — Parakeet V3, Whisper Large V3 Turbo, dan SenseVoice — serta pengeditan AI lokal. Tidak ada paket terpisah dan tidak perlu akun.

iPhone: App Store, versi 1.8.5 atau lebih baru.

Mac App Store: versi 1.3.2 atau lebih baru.

Unduhan langsung Mac (DMG): versi 1.5.1 atau lebih baru dari whispernotes.app, dengan uji coba gratis.

Untuk mengetahui cara kerja rekaman rapat, baca artikel transkripsi rapat offline kami.