Metode penilaian V2

Dari gelombang mikrofon menjadi umpan balik vokal.

MemeKaraoke mengambil potongan kecil sinyal suara, mencari frekuensi dasar yang paling mungkin, lalu memvalidasi pola perubahannya sebelum membentuk nilai. Lagu asli tidak dipakai sebagai acuan.

Alur analisis real-time

  1. Browser meminta izin mikrofon melalui getUserMedia.
  2. Web Audio API dan AudioWorklet membaca buffer audio pada audio rendering thread tanpa membuat file rekaman.
  3. Sinyal terlalu pelan, terlalu singkat, atau tidak cukup periodik dilewati.
  4. Algoritme YIN memperkirakan frekuensi dasar pada bagian suara yang dianggap bernada.
  5. Sampel valid dikelompokkan menjadi segmen suara berkesinambungan; glitch oktaf singkat dikoreksi.
  6. Setiap segmen menyumbang nilai sesuai durasi suara validnya, bukan sekadar jumlah jendela.
  7. Nilai baru dianggap sah setelah sedikitnya delapan detik suara bernada valid terkumpul.
  8. Nilai sesi diringkas secara tahan pencilan dan ditampilkan setelah lagu selesai.
Kenapa AudioWorklet? Sampling audio tidak lagi bergantung pada kelancaran animasi halaman, sehingga interval analisis lebih konsisten ketika tampilan sibuk. Browser lama tetap memperoleh fallback dengan kemampuan terbatas.
50

Stabilitas pitch

Bobot 50%. Mengamati seberapa rapat penyebaran pitch pada bagian suara bernada yang valid.

32

Transisi halus

Bobot 32%. Mengamati perubahan pitch antar-sampel agar perpindahan tidak tampak patah secara acak.

18

Lompatan aman

Bobot 18%. Mengurangi pengaruh lonjakan ekstrem yang tidak membentuk pola musikal yang jelas.

Bagaimana nilai sesi dibentuk?

Nilai tidak dimulai dari nol untuk terus ditambah dan tidak pula dimulai dari seratus untuk terus dikurangi. Setiap segmen suara valid menghasilkan estimasi kualitas kontrol. Kontribusinya dibobot berdasarkan durasi, lalu nilai sesi menggabungkan rata-rata tahan pencilan, median, dan momen kuat agar satu kesalahan singkat tidak menjatuhkan seluruh penampilan.

Karena tujuannya memberi semangat latihan, tampilan saat bernyanyi menggunakan avatar dan emotikon. Angka lengkap baru muncul di akhir sesi bersama saran yang disesuaikan dengan indikator terlemah.

Bukti minimum diterapkan. Sesi memerlukan sedikitnya delapan detik suara bernada valid. Pada sesi yang masih pendek atau hanya berisi satu nada, nilai maksimum dibatasi sampai durasi dan variasi bernyanyi cukup mewakili penampilan.

Batasan teknis

KondisiDampak yang mungkin terjadiYang dapat dilakukan
Musik bocor ke mikrofonPitch instrumen dapat terbaca sebagai suara pengguna.Gunakan headphone dan aktifkan isolasi musik speaker.
Ruangan bisingSampel valid berkurang atau lompatan meningkat.Dekatkan mikrofon dan jauhi sumber noise.
Vibrato atau ornamenVariasi artistik dapat dianggap kurang stabil.Baca hasil sebagai petunjuk, bukan keputusan mutlak.
Glitch oktafPitch sesaat terbaca dua kali atau setengah frekuensi sebenarnya.Glitch singkat yang dikelilingi konteks nada serupa dikoreksi otomatis; perpindahan oktaf yang menetap tidak diubah.

Apa yang berubah pada penilaian V2?

Versi ini menyaring impuls sangat singkat seperti tepukan atau batuk yang tidak membentuk segmen pitch stabil, mengoreksi kesalahan deteksi oktaf yang hanya muncul sesaat, dan ikut mengamati kelancaran perubahan level suara. Nilai dihitung dari durasi suara bernada yang benar-benar lolos validasi. Hasil juga baru dinyatakan cukup setelah minimal delapan detik, sementara batas skor durasi dan keragaman mencegah satu nada panjang menghasilkan nilai sempurna.

Walaupun lebih tahan terhadap noise dibanding versi awal, hasil tetap bersifat eksperimental. Tanpa peta nada lagu, MemeKaraoke tidak dapat memastikan apakah melodi atau lirik yang dinyanyikan benar.