ฉันได้อ่านคำถามมากมายเกี่ยวกับ SO และตรงไปตรงมาพวกเขาแต่ละคนไม่ได้อธิบายวิธีการเฉพาะเกี่ยวกับเรื่องนี้ บางคนพูดว่า "ทำ FFT" และบางคนก็พูดว่า "การข้ามศูนย์" เป็นต้น แต่ฉันก็แค่เข้าใจว่าอินพุตเสียงดิจิตอลนั้นประกอบไปด้วยแอมพลิจูดสำหรับความถี่เฉพาะและดี .. ไม่ค่อยรู้เท่าไหร่ เกินมัน
ตอนนี้ฉันรู้ทฤษฎี Nyquist, ความถี่, แอมพลิจูด, อนุกรมฟูริเยร์และอื่น ๆ และเมื่อ 2-3 ปีที่แล้วตอนที่ฉันทำในหลักสูตรมหาวิทยาลัยของฉันในบางภาคการศึกษา แต่ก่อนหน้านั้นเราไม่ได้สอนการใช้ฟูริเยร์ในโลกแห่งความเป็นจริงและฉันก็ไม่อยากที่จะขุดเรื่องมากไปกว่าการเรียนรู้มากพอที่จะผ่านเรื่องไป แต่ตอนนี้ฉันจะต้องใช้ทุกอย่าง
นี่คือภาพรวมของเสียงที่ฉันพยายามตรวจจับ:
เห็นได้ชัดว่าเสียงมีกราฟที่ไม่ซ้ำกัน ฉันแค่ต้องการที่จะเข้าใจวิธีการแยกลักษณะเฉพาะของพวกเขาสำหรับเส้นแหลมคมที่ไม่ซ้ำกันในกราฟ เช่นเดียวกับแอมพลิจูดความถี่และอื่น ๆ และสำหรับเวลาเท่าไหร่ - ถึงแม้ว่ามันจะไม่สำคัญก็ตาม
ฉันต้องการขั้นตอนง่าย ๆ รายการคำสั่งไม่คลุมเครือ - ฉันสามารถ google ศัพท์ที่ฉันจะไม่เข้าใจ
เช่นนี้อาจ? -
รับข้อมูลเสียงอินพุต
พลอตโตกราฟ
รับกราฟกราฟสำหรับเสียงที่คุณต้องการตรวจจับในสภาพแวดล้อมที่ไม่มีเสียง
ศึกษากราฟนั้น - วาดลักษณะเฉพาะของเสียงนั้น
สร้างฟังก์ชั่นบางอย่างที่สามารถตรวจจับลักษณะเฉพาะเหล่านั้นในฟีดเสียงสดโดยใช้คุณสมบัติของเสียงที่พบใน (4)
หากพบการแข่งขันดี - งานเสร็จแล้ว
ขัดอัลกอริธึมเพื่อกำจัดเชิงลบที่ผิดพลาด
ฉันสับสนที่ไหน - ฉันจะไปประมาณ 3,4,5 อย่างไร โดยเฉพาะอย่างยิ่ง 3 และ 4 เนื่องจากฉันกำลังสร้างซอฟต์แวร์ที่ผู้ใช้จะสามารถบันทึกเสียงใด ๆ เป็นสัญญาณอินพุตท่าทางที่จะใช้ในภายหลังฉันต้องการให้ระบบของฉันสามารถบันทึกเสียงใด ๆ และจับคู่กับเสียงสด ฟีดเพื่อตรวจจับท่าทางเสียงนั้น เช่นบอกว่าไอหรือนิ้วหักหรือผิวปากหรือตบมือ หรือพูดพยัญชนะ - หรือหรือหรือZเพียงเกี่ยวกับเสียงใด ๆ
ฉันกำลังคิดที่จะให้ผู้ใช้บันทึกเสียงที่พวกเขาต้องการจัดเก็บเป็นท่าทางในสภาพแวดล้อมที่ค่อนข้าง และผู้ใช้จะทำให้เสียงเฉพาะในระหว่างช่องว่างภายในเวลาที่เงียบสงบ ; 3 วินาทีในการเริ่มต้นและในตอนท้ายของการบันทึก
ดังนั้นในช่วง 3 วินาทีแรกระบบของฉันจะสร้างสัญญาณอินพุตปัจจุบันว่าเป็นเสียงแบ็คกราวด์แบบเงียบปกติ จากนั้นการเปลี่ยนแปลงอย่างฉับพลันในกราฟจะเป็นการเริ่มต้นอินพุตเสียง และเมื่อหยุดลงการบันทึกจะดำเนินต่อไปอีก 3 วินาทีการเติมเวลาเงียบที่ตามมา ผู้ใช้จะต้องทำเอง จากนั้นจะจัดเก็บลักษณะเฉพาะของส่วนนั้นโดยอัตโนมัติในระหว่างที่การเปลี่ยนแปลงอย่างฉับพลันในกราฟใช้เวลานานระหว่างที่ระยะห่างระหว่างเวลา
และดังนั้นลักษณะของส่วนนั้นจะถูกบันทึกเป็นข้อมูลท่าทางของเสียงนั้นซึ่งจะถูกใช้เพื่อตรวจจับเสียงนั้นในฟีดเสียงสดในภายหลัง
ปัญหาคือว่าฉันคิดทั้งหมดนี้ในภาษาอังกฤษธรรมดา ฉันต้องคิดในวิชาคณิตศาสตร์และฟิสิกส์เพื่อให้สามารถใช้งานได้อย่างมีประสิทธิภาพในรหัสของฉัน ฉันแค่ไม่รู้เรื่องเกี่ยวกับสิ่งที่จะเขียนและจะเขียนมันที่ไหนในรหัสของฉัน - แม้จะมีห้องสมุดและคำถามมากมายเกี่ยวกับเรื่องนี้
และขออภัยถ้ามันยาว