ครั้งแรกฉันขอโทษเพราะฉันเป็นนักพัฒนาซอฟต์แวร์และเป็นเวลานานมากที่ฉันไม่ได้ดำน้ำในวิชาคณิตศาสตร์ที่บริสุทธิ์ดังนั้นคำถามของฉันอาจดูเหมือนโง่ ฉันหวังว่าไม่
บริบทคือการจดจำเสียงในเพลง
หากคุณจดโน้ตดนตรีและใช้การแปลงฟูริเยร์กับมันคุณจะมีจำนวนผลรวมของแอมพลิจูดไม่ จำกัด ตามความถี่ที่กำหนด ตัวอย่างเช่นถ้าฉันเล่นโน้ตที่มีพื้นฐานอยู่ในเครื่องดนตรีใด ๆ หลังจากการแปลงฟูริเยร์ฉันจะมีฮาร์โมนิกส์ที่ . ความถี่ทุกความถี่จะมีแอมพลิจูดที่กำหนดซึ่งกำหนดเสียงต่ำของเครื่องดนตรี (เปียโนเสียงทรัมเป็ต ... ทั้งหมดตามรอยแยกนี้ แต่คุณจะมีแอมพลิจูดที่แตกต่างกันสำหรับทุกฮาร์โมนิก)
ตอนนี้สิ่งที่ฉันต้องการจะทำคือจากสัญญาณเสียงที่ระบุค้นหา . แค่นั้น. มันซับซ้อนกว่าที่คิดเพราะคุณจะมีเสียงรบกวนจากพื้นหลังเสมอ ... ไม่จำเป็นต้องใช้ความถี่พร้อมแอมพลิจูดสูงสุด!
ดังนั้นความคิดของฉันสำหรับการค้นหา คือการใช้ DFT (จริง ๆ แล้ว FFT สำหรับความเร็ว) และค้นหาความบ้าคลั่ง , ดังนั้น สูงสุดในเอาต์พุต FFT
คุณคิดว่าเป็นไปได้หรือไม่ คุณคิดว่าเป็นไปได้ในเวลาอันสั้น (สมมติว่า <5 มิลลิวินาที)