Saya mencoba menerapkan permainan menyanyi yang akan menganalisis input mic mentah dan memberi tahu pemain seberapa bagus dia bernyanyi. Itu perlu dilakukan secara real-time.
Saya telah menemukan banyak utas yang menanyakan pertanyaan yang sama tetapi saya masih belum selesai dengan hal itu, mungkin karena kurangnya pengalaman saya di lapangan dan latar belakang matematika yang dangkal. Saya telah menerapkan algoritma berdasarkan artikel DSPDimension situs web pergeseran pitch: http://www.dspdimension.com/admin/pitch-shifting-using-the-ft/
Saya mengekstrak frekuensi dan besaran sebenarnya seperti yang dijelaskan dalam artikel, tapi saya tidak tahu menemukan frekuensi dasar dengan ini. Saya sudah mencoba untuk mendapatkan bin dengan magnitudo terbesar tetapi itu hanya memberi saya hasil yang tepat untuk sinyal nada yang lebih tinggi, tidak masalah faktor oversampling yang saya gunakan. Saya masih mendapatkan data buruk untuk sinyal freq rendah. Apakah pendekatan ini sepenuhnya salah atau saya berada di jalur yang benar tetapi hanya melewatkan sesuatu?
Terima kasih sebelumnya,
EDIT: Saya lupa menyebutkan bahwa saya hanya tertarik pada kelas pitch, jadi tidak apa-apa jika fundamentalnya hilang tetapi saya memiliki nada kuat dalam sampel.
EDIT2: Terima kasih untuk semua orang, saya baru saja menyelesaikan versi algoritma yang bekerja seperti pesona. Masalah estimasi pitch rendah adalah karena tes input saya. Ketika saya menyanyikan not itu cocok dengan benar. Juga, saya sedang mempertimbangkan semua harmonisa sekarang, bukan hanya puncak tertinggi.