การแปลงฟูริเยร์แบบไม่ต่อเนื่อง - ค้นหาพื้นฐานอย่างรวดเร็วหรือไม่


9

ครั้งแรกฉันขอโทษเพราะฉันเป็นนักพัฒนาซอฟต์แวร์และเป็นเวลานานมากที่ฉันไม่ได้ดำน้ำในวิชาคณิตศาสตร์ที่บริสุทธิ์ดังนั้นคำถามของฉันอาจดูเหมือนโง่ ฉันหวังว่าไม่

บริบทคือการจดจำเสียงในเพลง

หากคุณจดโน้ตดนตรีและใช้การแปลงฟูริเยร์กับมันคุณจะมีจำนวนผลรวมของแอมพลิจูดไม่ จำกัด ตามความถี่ที่กำหนด ตัวอย่างเช่นถ้าฉันเล่นโน้ตที่มีพื้นฐานอยู่Fในเครื่องดนตรีใด ๆ หลังจากการแปลงฟูริเยร์ฉันจะมีฮาร์โมนิกส์ที่ F,2F,3F,,nF. ความถี่ทุกความถี่จะมีแอมพลิจูดที่กำหนดซึ่งกำหนดเสียงต่ำของเครื่องดนตรี (เปียโนเสียงทรัมเป็ต ... ทั้งหมดตามรอยแยกนี้ แต่คุณจะมีแอมพลิจูดที่แตกต่างกันสำหรับทุกฮาร์โมนิก)

ตอนนี้สิ่งที่ฉันต้องการจะทำคือจากสัญญาณเสียงที่ระบุค้นหา F. แค่นั้น. มันซับซ้อนกว่าที่คิดเพราะคุณจะมีเสียงรบกวนจากพื้นหลังเสมอ ...F ไม่จำเป็นต้องใช้ความถี่พร้อมแอมพลิจูดสูงสุด!

ดังนั้นความคิดของฉันสำหรับการค้นหา F คือการใช้ DFT (จริง ๆ แล้ว FFT สำหรับความเร็ว) และค้นหาความบ้าคลั่ง F, ดังนั้น F+2F+3F++nF สูงสุดในเอาต์พุต FFT

คุณคิดว่าเป็นไปได้หรือไม่ คุณคิดว่าเป็นไปได้ในเวลาอันสั้น (สมมติว่า <5 มิลลิวินาที)


อาจเป็นคำตอบ: edaboard.com/thread197897.html

ใช่ แต่นั่นเป็นวิธีการอื่นใช่ไหม IMHO ง่ายกว่า แต่น่าเชื่อถือน้อยกว่าเพราะไม่สามารถแยกความแตกต่างระหว่างเสียงฮาร์โมนิกและฮาร์โมนิกเสียง ...
Dinaiz

คำตอบ:


6

สิ่งที่คุณจะอธิบายเป็นที่คล้ายกันมากวิธีฮาร์มอนิสินค้าสเปกตรัมของการประมาณค่าสนามที่ระบุไว้ในนี้กระดาษ Stanford CCRMA

FFT ไม่ได้ให้ผลรวม "แอมพลิจูดแบบไม่มีขีด จำกัด " กับคุณ แต่จะมีจำนวนผลลัพธ์ที่แน่นอนขึ้นอยู่กับความยาวของ FFT

5 mS เป็นเพียง 1 งวดของโน้ต 200 Hz และเพียงเศษเสี้ยวของระยะเวลาต่ำกว่า 200 Hz การรู้จำเสียงดนตรีมักต้องใช้การได้ยินหรือการวิเคราะห์ระยะเวลาหลายช่วงของเสียงแหลม และเพลงจำนวนมากใช้โน้ตด้านล่าง G2 หากคุณมีความยาวของข้อมูลเพียงพอการคำนวณระยะพิทช์จากข้อมูลนั้นอาจใช้เวลาเพียงลำดับไมโครวินาทีแทนที่จะเป็นมิลลิวินาทีบนพีซีหรืออุปกรณ์มือถือที่ทันสมัย


จุดดี. อย่างไรก็ตามถ้าคุณมี 2F และ 3F อยู่แล้วคุณไม่ต้องการ F จริงๆใช่ไหม ในตัวอย่างของคุณ 2F = 400hz และ 3F = 600hz ดังนั้นคุณอาจพบว่า F เป็น 200 แม้ว่าจะไม่ได้ยินเสียงเพียงพอที่จะมีระยะเวลา 5 ms ใช่ไหม? นอกจากนี้ฉันได้ยินเกี่ยวกับการแปลงเวฟเล็ต คุณคิดว่ามันเป็นวิธีที่ดีกว่าในการทำเช่นนี้?
Dinaiz

@Dinaiz: ขึ้นอยู่กับแหล่งที่มาของเสียงแหลมและว่าชิ้นส่วนของความถี่โอเวอร์โทนนั้นอยู่กับที่หรือไม่ เวฟเล็ตเป็นคำถามที่แยกจากกันโดยสิ้นเชิง
hotpaw2

ดังนั้นวิธีนี้จึงไม่เหมาะที่จะหา f0 ใน "เวลาจริง" ในสถานะของงานศิลปะปัจจุบันเป็นไปได้หรือไม่ที่จะหา f0 ในเวลาไม่กี่มิลลิวินาทีไม่ว่าจะด้วยเครื่องมือใด ๆ หรือเป็นสาเหตุที่หายไปและฉันควรเลิกภารกิจ : D
Dinaiz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.