Dokumentasi percakapan otomatis meliputi siapa yang berbicara, kapan berbicara, dan apa yang diucapkan masih banyak bergantung pada layanan cloud berbayar yang belum memiliki kemampuan bawaan untuk mengenali identitas pembicara. Riset ini membangun dan menguji sistem yang memadukan tiga modul, yaitu speaker diarization, speaker verification, dan speech-to-text, dalam satu pipeline real-time yang berjalan sepenuhnya secara lokal pada laptop berbasis CPU tanpa GPU, serta dilengkapi dashboard web menggunakan Flask untuk pemantauan langsung. Sistem dikalibrasi menggunakan pendekatan leave-one-out threshold dan mekanisme keputusan berbasis margin untuk menekan kesalahan identifikasi, serta mekanisme pelabelan persisten (Unknown_N) untuk pembicara yang tidak terdaftar. Hasil pengujian menunjukkan bahwa sistem mampu mengenali pembicara terdaftar dengan skor kemiripan yang konsisten (0,4–0,6) serta menolak suara asing yang sebelumnya sempat salah dikenali. Namun, ditemukan pula inkonsistensi dalam pelabelan pembicara tak dikenal. Berdasarkan tinjauan literatur, temuan negatif tersebut ternyata mencerminkan keterbatasan mendasar dari pendekatan threshold sederhana dalam menangani masalah open-set speaker recognition, yang hingga saat ini masih menjadi area riset aktif.
Dalam berbagai aktivitas kolaboratif, seperti rapat tim, diskusi riset, atau kegiatan lapangan yang melibatkan banyak pembicara, dokumentasi percakapan masih banyak dilakukan secara manual, baik melalui notulensi tertulis maupun perekaman audio yang harus ditranskripsikan kembali satu per satu. Terdapat dua permasalahan operasional utama yang sering terjadi. Pertama, sulitnya melacak secara akurat siapa yang berbicara pada momen tertentu ketika banyak orang berbicara secara bergantian dalam satu sesi rekaman. Kedua, proses transkripsi manual dari suara ke teks membutuhkan waktu dan tenaga yang tidak sedikit. Solusi speech-to-text yang tersedia secara umum saat ini pun mayoritas masih berbasis layanan cloud berbayar, sehingga membutuhkan koneksi internet yang stabil dan biaya berlangganan, serta belum memiliki kemampuan bawaan untuk mengenali identitas pembicara.
Riset ini bertujuan untuk membangun dan mengevaluasi sistem otomasi berbasis kecerdasan buatan yang memadukan speaker diarization untuk mendeteksi siapa yang berbicara dan kapan, speaker verification untuk mengidentifikasi pembicara, serta speech-to-text untuk mentranskripsikan ucapan ke dalam teks. Sistem dirancang untuk berjalan secara real-time menggunakan mikrofon laptop standar, sepenuhnya secara lokal tanpa GPU maupun layanan cloud eksternal, serta dilengkapi dashboard web untuk memudahkan pemantauan. Evaluasi sistem difokuskan pada kemampuan mengenali pembicara terdaftar menggunakan tingkat kepercayaan yang terkalibrasi, membedakan pembicara yang tidak terdaftar, serta memastikan seluruh proses dapat berjalan dengan latensi yang dapat diterima pada perangkat kelas konsumen.
Riset di bidang speaker diarization dan speaker verification modern sudah cukup matang untuk skenario tertutup (closed-set) serta pemrosesan batch/offline. Sistem pyannote.audio [1] mampu mencapai Diarization Error Rate yang rendah dengan menggabungkan segmentasi neural end-to-end dan klasterisasi embedding. Sementara itu, varian arsitektur untuk kondisi online/low-latency juga telah didokumentasikan [2], meskipun pendekatan tersebut secara eksplisit mengorbankan sebagian akurasi untuk mencapai latensi yang lebih rendah. Untuk verifikasi identitas, model deep embedding seperti ECAPA-TDNN [3], yang diimplementasikan dalam toolkit SpeechBrain [4], telah menjadi standar de facto dan terbukti memiliki performa yang baik ketika seluruh pembicara yang mungkin muncul telah diketahui sebelumnya. Untuk transkripsi ucapan ke teks, model Whisper [5], yang diimplementasikan secara teroptimasi untuk CPU melalui faster-whisper [6], menjadi salah satu pilihan populer karena mendukung banyak bahasa, termasuk bahasa Indonesia, dengan kualitas yang cukup baik tanpa memerlukan pelatihan ulang.
Namun, terdapat dua tantangan utama yang masih menjadi area riset aktif, yaitu open-set speaker verification, ketika muncul suara yang tidak terdaftar dalam database, serta kalibrasi threshold pada sistem online atau streaming. Chen et al. [7] menunjukkan bahwa embedding speaker verification konvensional, termasuk ECAPA-TDNN, lebih difokuskan untuk membedakan identitas yang telah dikenal, sehingga penggunaan satu threshold sederhana belum tentu optimal untuk mengenali identitas baru. Selain itu, studi terkait probabilistic back-end untuk pengenalan dan klasterisasi pembicara secara online [8] menunjukkan bahwa metode kalibrasi konvensional, termasuk leave-one-out, umumnya menggunakan data batch, sedangkan sistem real-time bekerja secara streaming. Perbedaan kondisi tersebut dapat menyebabkan threshold yang telah dikalibrasi mengalami ketidaksesuaian ketika diterapkan dalam praktik.
Gap/Peluang Penelitian: Mayoritas riset sebelumnya dievaluasi menggunakan dataset berskala besar, seperti VoxCeleb yang melibatkan ribuan pembicara, dan/atau memanfaatkan infrastruktur GPU. Sementara itu, masih belum banyak dokumentasi empiris mengenai bagaimana kombinasi speaker diarization, speaker verification, dan speech-to-text berperilaku dalam kondisi yang lebih realistis untuk pengguna individu atau tim kecil dengan keterbatasan perangkat keras, khususnya sistem CPU-only dan data enrollment yang sangat minim, yaitu sekitar 3–5 sampel per orang seperti pada riset ini.
Arah Pendekatan: Riset ini mengadopsi pendekatan threshold terkalibrasi menggunakan metode leave-one-out dan mekanisme keputusan berbasis margin sebagai baseline praktis. Pendekatan ini tidak dimaksudkan untuk mengklaim penyelesaian masalah open-set speaker recognition secara prinsipil sebagaimana tantangan yang dijelaskan dalam [7]. Sebaliknya, penelitian ini berfokus untuk mendokumentasikan secara empiris dan jujur sejauh mana pendekatan sederhana tersebut dapat diandalkan pada skala kecil dengan perangkat CPU-only, sekaligus mengidentifikasi keterbatasannya sesuai dengan yang telah diprediksi dalam literatur sebelumnya.
Sumber dan Pengumpulan Data
Data voiceprint dikumpulkan dari empat individu terdaftar melalui proses enrollment sebanyak 3–5 sampel suara per orang. Sampel direkam secara langsung menggunakan mikrofon laptop melalui skrip perekaman kustom atau diekstraksi dari berkas audio yang telah tersedia, seperti voice note, kemudian dikonversi ke format WAV dengan sample rate 16 kHz dan satu kanal (mono). Data uji berupa sesi percakapan langsung, bukan dataset publik, yang melibatkan kombinasi pembicara terdaftar dan tidak terdaftar. Selama pengujian real-time, juga ditemukan kondisi ucapan tumpang-tindih (overlapping speech) secara insidental, meskipun kondisi tersebut belum dirancang sebagai skenario pengujian yang terstruktur.
Praproses Data
Audio dari mikrofon ditangkap pada sample rate 16 kHz dalam format mono. Segmentasi audio dilakukan menggunakan metode sliding window. Sebelum diproses oleh modul speech-to-text, diterapkan voice activity detection filter (vad_filter) untuk mengurangi kemungkinan munculnya transkripsi halusinasi pada segmen dengan tingkat kebisingan rendah atau kondisi hening.
Pembagian dan Validasi Data
Riset ini tidak melibatkan proses pelatihan ulang (training) maupun fine-tuning karena seluruh model yang digunakan merupakan model pretrained, yaitu pyannote.audio, ECAPA-TDNN, dan Whisper. Oleh karena itu, penelitian ini tidak menggunakan skema train/validation/test split secara konvensional.
Validasi dilakukan melalui proses kalibrasi threshold untuk verifikasi pembicara menggunakan skema leave-one-out pada tingkat sampel untuk setiap individu. Setiap sampel enrollment dibandingkan dengan rata-rata embedding dari sampel lain milik individu yang sama, tanpa membandingkannya dengan dirinya sendiri. Pendekatan ini digunakan untuk menghindari estimasi Equal Error Rate yang bias akibat perbandingan terhadap sampel yang identik. Penelitian ini tidak menggunakan held-out test set independen yang sepenuhnya terpisah dari data enrollment, sehingga hal tersebut dicatat sebagai salah satu keterbatasan penelitian.
Model dan Algoritma
Penelitian ini menggunakan tiga modul utama. Pertama, pyannote/speaker-diarization-community-1 [1] digunakan untuk melakukan segmentasi dan klasterisasi pembicara. Kedua, speechbrain/spkrec-ecapa-voxceleb, yang menggunakan arsitektur ECAPA-TDNN [3], [4], digunakan untuk mengekstraksi voice embedding dan melakukan verifikasi identitas pembicara.
Selain itu, dikembangkan mekanisme UnknownSpeakerRegistry secara mandiri yang memanfaatkan kembali embedding dari model ECAPA-TDNN untuk melakukan klasterisasi terhadap pembicara yang tidak terdaftar secara persisten sepanjang sesi. Pembicara tak dikenal diberikan label seperti Unknown_1, Unknown_2, dan seterusnya berdasarkan nilai cosine similarity dengan threshold sbesar 0,35.
Ketiga, faster-whisper [6], sebagai implementasi Whisper [5] yang menggunakan CTranslate2, digunakan untuk melakukan transkripsi suara menjadi teks.
Lingkungan Pengembangan dan Dependensi
Sistem dikembangkan menggunakan Python 3.11 pada sistem operasi Windows 11 Home Single Language versi 25H2. Pengujian dilakukan menggunakan laptop ASUS VivoBook M1403QA dengan prosesor AMD Ryzen 5 5600H 3,30 GHz, RAM 16 GB, serta grafis terintegrasi AMD Radeon dengan memori 496 MB tanpa GPU diskrit.
Pustaka utama yang digunakan meliputi pyannote.audio, SpeechBrain, faster-whisper, torch versi CPU-only, sounddevice, dan Flask.
Parameter Penting dan Konfigurasi Sistem
Sistem menggunakan window duration selama 4 detik dengan hop duration selama 2 detik. Threshold verifikasi pembicara berada pada kisaran 0,447 dan dihitung secara otomatis pada setiap sesi menggunakan pendekatan leave-one-out, sehingga bukan merupakan nilai tetap. Sistem juga menerapkan margin minimum sebesar 0,05 untuk membantu mengurangi kesalahan identifikasi ketika skor beberapa kandidat pembicara memiliki nilai yang berdekatan.
Untuk mekanisme klasterisasi Unknown_N, digunakan threshold sebesar 0,35. Nilai tersebut masih bersifat heuristik dan belum dikalibrasi secara statistik. Durasi minimum segmen yang dapat diproses untuk verifikasi pembicara adalah 1,0 detik, sedangkan durasi minimum untuk transkripsi adalah 0,7 detik.
Model faster-whisper diuji menggunakan beberapa ukuran model, yaitu tiny, base, dan small, dengan konfigurasi compute_type=int8 untuk mendukung pemrosesan pada CPU. Tidak dilakukan proses training maupun fine-tuning, sehingga seluruh model digunakan dalam kondisi pretrained tanpa modifikasi terhadap bobot model.
Metrik Evaluasi
Evaluasi identifikasi pembicara menggunakan skor cosine similarity dengan rentang 0–1. Selain itu, dilakukan observasi kualitatif terhadap ketepatan nama pembicara yang dikenali serta konsistensi pemberian label Unknown_N terhadap pembicara yang tidak terdaftar. Kualitas hasil transkripsi juga dievaluasi secara kualitatif berdasarkan kesesuaian teks dengan ucapan yang dihasilkan.
Pengujian juga mencakup pengukuran latensi dalam satuan detik, yaitu waktu yang dibutuhkan sejak ucapan diterima hingga hasil teks ditampilkan oleh sistem. Metrik standar seperti Diarization Error Rate (DER) dan Word Error Rate (WER) belum diterapkan pada tahap penelitian ini. Keterbatasan tersebut dicatat sebagai salah satu arah pengembangan dan evaluasi lanjutan.
Lokasi Kode dan Eksperimen Mentah
Seluruh kode sumber dan eksperimen mentah penelitian tersedia pada repositori GitHub berikut:
[Repositori GitHub AI-Identifikasi-Suara](https://github.com/ai-lab-id/AI-Identifikasi-Suara?utm_source=chatgpt.com)
Repositori menggunakan branch main.
Integrasi Pipeline ke Antarmuka Fungsional. Ketiga modul, yaitu speaker diarization, speaker verification, dan speech-to-text, diintegrasikan menjadi satu sistem yang dapat diakses dan dioperasikan secara langsung melalui dashboard web, sebagaimana ditunjukkan pada Gambar 1. Antarmuka ini menyediakan panel kontrol untuk pemilihan ukuran model speech-to-text dan pengaturan parameter margin, indikator status sesi secara real-time, daftar pembicara terdaftar, serta feed* transkrip yang diperbarui secara langsung setiap kali satu segmen ucapan selesai diproses.

Efektivitas mekanisme margin dalam menekan kesalahan false accept. Sebelum mekanisme margin diterapkan, ditemukan kasus pembicara tidak terdaftar yang keliru dikenali sebagai "chey" dengan skor 0,244; 0,258; dan 0,215. Pada saat itu, threshold yang sedang diuji ditetapkan 0,2, sehingga selisih skor terhadap threshold hanya 0,015–0,058 poin (Gambar 2), jauh di bawah margin yang dianggap aman untuk keputusan identifikasi yang meyakinkan. Pada tahap ini, sistem belum mencatat skor kandidat kedua tertinggi sebagai pembanding langsung. Fitur ini baru ditambahkan bersamaan dengan implementasi margin, sehingga selisih skor spesifik antara kandidat pertama dan kedua pada kasus ini tidak dapat dilaporkan secara kuantitatif. Namun, kedekatan skor terhadap threshold yang sangat tipis (≤0,058 poin) sudah cukup mengindikasikan keputusan identifikasi yang berada pada kondisi ambang batas rentan. Setelah mekanisme margin diaktifkan, yang mensyaratkan selisih minimum 0,05 poin antara skor kandidat pertama dan kedua, kasus serupa pada sesi pengujian berikutnya berhasil ditolak dan dilabeli tidak dikenal alih-alih dipaksa dikenali sebagai nama terdaftar.

Pelabelan pembicara tak dikenal dengan hasil sebagian berhasil, sebagian tidak konsisten. Pengujian menunjukkan UnknownSpeakerRegistry mampu mempertahankan identitas pembicara tak dikenal pada beberapa kondisi. Pembicara yang sama memperoleh label Unknown yang sama pada kemunculan berikutnya (Gambar 3, misalnya Unknown_2 konsisten pada dua kemunculan berurutan; Unknown_3 demikian pula; pembicara "chey" dikenali dengan skor tinggi 0,831 pada ucapan yang jelas). Namun, konsistensi ini belum selalu tercapai pada kondisi akustik yang berbeda (perubahan durasi ucapan, intonasi, atau kualitas sinyal). Pembicara yang sama terkadang diberi label Unknown baru, menunjukkan mekanisme klasterisasi masih memiliki keterbatasan pada variasi kondisi suara.

Pola halusinasi transkripsi pada segmen hening. Pada baris terakhir sesi yang didokumentasikan di Gambar 3, ditemukan satu segmen berlabel SPEAKER_00 tanpa identitas maupun skor kemiripan sama sekali, berisi teks "Terima kasih." Ketiadaan skor ini bukan kegagalan verifikasi, melainkan indikasi durasi segmen berada di bawah ambang batas minimum verifikasi (1,0 detik), meski masih di atas ambang batas minimum transkripsi (0,7 detik). Celah kecil antara dua ambang batas durasi yang berbeda ini menghasilkan kombinasi "teks ada, identitas tidak ada". Pola ini konsisten dengan dugaan segmen tersebut sebenarnya berisi jeda napas atau derau latar yang sangat singkat, bukan ucapan sungguhan, dan diterjemahkan Whisper menjadi frasa generik akibat karakteristik data latihannya. Aktivasi vad_filter diterapkan sebagai langkah mitigasi setelah pola ini teridentifikasi.
Regresi akurasi pada migrasi ke antarmuka web dan resolusinya. Pada percobaan awal integrasi dashboard Flask, ditemukan penurunan akurasi drastis dan tak terduga. Seluruh pembicara terdaftar, termasuk "chey" yang berjarak dekat dari mikrofon, gagal dikenali dengan skor sangat rendah (0,074–0,212), disertai teks transkripsi yang berulang kali salah. "Terima kasih" muncul pada hampir seluruh segmen. Penelusuran mengarah pada kesalahan pemilihan device audio, terkait cara thread Python menginisialisasi library audio (sounddevice/PortAudio) pada Windows. Penangkapan mikrofon yang berjalan pada thread non-utama, akibat lapisan tambahan background thread Flask, cenderung tidak mengakses device mikrofon fisik yang benar. Setelah diterapkan solusi pre-warming, yaitu inisialisasi pustaka audio pada thread utama proses Flask sebelum thread lain dijalankan, skor identifikasi pulih ke rentang yang sebanding dengan versi antarmuka terminal (0,5–0,6), mengonfirmasi akar masalah bersumber dari interaksi threading dengan perangkat keras, bukan model kecerdasan buatan itu sendiri.

Efektivitas kalibrasi threshold leave-one-out dan mekanisme margin dalam menekan kesalahan identifikasi sejalan dengan hipotesis awal riset ini dan konsisten dengan prinsip umum dalam literatur speaker verification bahwa estimasi threshold yang bias, yaitu membandingkan sampel terhadap rata-rata yang memasukkan dirinya sendiri, dapat menghasilkan Equal Error Rate yang tampak sempurna, tetapi tidak representatif pada data baru. Hal ini persis seperti yang ditemukan pada iterasi awal sistem ini (EER = 0,00% sebelum perbaikan metode kalibrasi).
Temuan terkait inkonsistensi label Unknown_N menunjukkan bahwa masalah tersebut bukan hanya disebabkan oleh implementasi sistem, tetapi juga berkaitan dengan keterbatasan pendekatan yang telah dibahas dalam literatur. Chen et al. [7] menunjukkan bahwa embedding speaker verification seperti ECAPA-TDNN dilatih untuk membedakan identitas yang telah dikenal saat training, sehingga pendekatan threshold tunggal rentan terhadap pembicara baru (open-set). Selain itu, [8] menjelaskan bahwa kalibrasi threshold konvensional, termasuk leave-one-out, umumnya menggunakan data batch, sedangkan sistem ini bekerja secara streaming, sehingga threshold yang telah dikalibrasi tetap dapat meleset dalam praktik. Latensi dan inkonsistensi label antar-window juga sejalan dengan [2] yang menunjukkan adanya trade-off antara latensi rendah dan konsistensi klaster pada online diarization. Sementara itu, penurunan akurasi setelah migrasi ke Flask menunjukkan bahwa integrasi model AI ke web serving layer dapat menimbulkan bug akibat interaksi threading dan hardware I/O audio, bukan dari model itu sendiri, sehingga menjadi salah satu engineering pitfall yang penting untuk diperhatikan dalam reproducibility penelitian serupa.
1. Skala pengujian kecil, hanya 4 individu terdaftar, dalam 1 ruangan dan menggunakan 1 perangkat mikrofon; belum diuji pada jumlah pembicara yang lebih banyak atau kondisi akustik yang lebih beragam.
2. Tidak ada evaluasi kuantitatif formal. Akurasi dievaluasi secara kualitatif dari log pengujian berulang, bukan menggunakan metrik standar (DER, WER) pada dataset uji terpisah dan terlabeli secara independen.
3. Tidak ada held-out test set. Validasi threshold verifikasi terbatas pada skema leave-one-out di level sampel enrollment itu sendiri, bukan data uji yang benar-benar terpisah dari proses kalibrasi.
4. Threshold klaster pembicara tak dikenal bersifat heuristik (0,35), belum dikalibrasi secara statistik seperti threshold verifikasi pembicara terdaftar. Berdasarkan [7], pendekatan threshold tunggal untuk open-set clustering memang diketahui memiliki batas kemampuan mendasar dibanding metode khusus seperti SRPL.
5. Ketergantungan pada infrastruktur CPU. Seluruh pengujian dilakukan pada satu unit laptop kelas konsumen (AMD Ryzen 5 5600H, RAM 16 GB, tanpa GPU diskrit); temuan latensi dan trade-off ukuran model belum dapat digeneralisasi ke lingkungan dengan spesifikasi yang berbeda.
6. Skenario tumpang-tindih suara belum diuji secara terstruktur. Deteksi overlap baru teramati secara insidental dan belum melalui skenario data uji yang dirancang secara khusus.
7. Kode/eksperimen mentah belum tertaut secara publik pada draf ini. Proses pengunggahan ke repositori masih berjalan; field ini wajib dilengkapi sebelum status naik ke published.
Riset ini menunjukkan sistem identifikasi suara real-time yang memadukan speaker diarization, speaker verification, dan speech-to-text dapat dibangun dan berjalan sepenuhnya secara lokal pada CPU standar, lengkap dengan antarmuka web. Kalibrasi threshold leave-one-out dan margin-based decision terbukti efektif dalam menekan kesalahan identifikasi pembicara terdaftar. Namun, temuan negatif terkait konsistensi pelabelan pembicara tak dikenal menegaskan bahwa pendekatan berbasis threshold sederhana memiliki batas kemampuan yang sejalan dengan tantangan open-set speaker recognition yang masih menjadi area riset aktif secara umum. Oleh karena itu, catatan riset ini belum dapat dipromosikan ke /research/ sampai butir-butir kesimpulan berikut ditindaklanjuti.
Arah riset selanjutnya:
1. Evaluasi kuantitatif formal (DER, WER) pada dataset uji terlabeli independen, yang terpisah dari data kalibrasi.
2. Eksplorasi pendekatan open-set yang lebih prinsipiil (mengacu pada [7]) sebagai perbandingan terhadap pendekatan threshold sederhana.
3. Kalibrasi threshold yang mempertimbangkan konteks online/streaming (mengacu pada [8]), bukan sekadar leave-one-out standar.
4. Pengujian dalam skala yang lebih besar, seperti jumlah pembicara, kondisi akustik, serta skenario overlapping speech yang terstruktur.
5. Dokumentasi engineering pitfall pada integrasi web, khususnya isu threading audio, sebagai bagian standar reproducibility checklist untuk riset serupa ke depan.
6. Melengkapi tautan repositori kode pada bagian Metodologi sebagai syarat reproducibility.
[1] H. Bredin, R. Yin, J. M. Coria, G. Gelly, P. Korshunov, M. Lavechin, D. Fustes, H. Titeux, W. Bouaziz, dan M.-P. Gill, “pyannote.audio: Neural Building Blocks for Speaker Diarization,” dalam Proc. ICASSP 2020, Barcelona, Spanyol, 2020.
[2] J. M. Coria, H. Bredin, S. Ghannay, dan S. Rosset, “Overlap-Aware Low-Latency Online Speaker Diarization Based on End-to-End Local Segmentation,” dalam Proc. ASRU 2021, Cartagena, Kolombia, 2021.
[3] B. Desplanques, J. Thienpondt, dan K. Demuynck, “ECAPA-TDNN: Emphasized Channel Attention, Propagation and Aggregation in TDNN Based Speaker Verification,” dalam Proc. Interspeech 2020, Shanghai, Tiongkok, 2020.
[4] M. Ravanelli, T. Parcollet, et al., “SpeechBrain: A General-Purpose Speech Toolkit,” arXiv preprint arXiv:2106.04624, 2021.
[5] A. Radford, J. W. Kim, T. Xu, G. Brockman, C. McLeavey, dan I. Sutskever, “Robust Speech Recognition via Large-Scale Weak Supervision,” OpenAI, 2022.
[6] SYSTRAN, “faster-whisper: Faster Whisper Transcription with CTranslate2,” versi terkini, 2024. [Daring]. Tersedia: [GitHub faster-whisper](https://github.com/SYSTRAN/faster-whisper?utm_source=chatgpt.com)
[7] Z. Chen, Z. Ai, X. Li, dan S. Xu, “Enhancing Open-Set Speaker Identification Through Rapid Tuning with Speaker Reciprocal Points and Negative Sample,” arXiv preprint arXiv:2409.15742, 2024.
[8] “Probabilistic Back-Ends for Online Speaker Recognition and Clustering,” arXiv preprint arXiv:2302.09523, 2023.
Hak ekonomi/komersial: PT. MKA
Cheyza amanda syafira, Muhammad Rizki
v0.1 — 20-08-2026 — Draft awal.