ตรวจจับชิ้นส่วนของเพลง


9

หวังว่านี่จะไม่เป็นอัตนัยเกินไป ...

ฉันกำลังมองหาทิศทางในความพยายามที่จะตรวจสอบ "ส่วน" ที่แตกต่างกันของเพลงโดยไม่คำนึงถึงสไตล์ดนตรี ฉันไม่มีความคิดว่าจะดูที่ไหน แต่เชื่อมั่นในพลังของเว็บไซต์ StackOverflow อื่น ๆ ฉันคิดว่ามีคนที่นี่สามารถช่วยชี้ทิศทาง

ในแง่พื้นฐานที่สุดคนหนึ่งสามารถตรวจจับส่วนต่าง ๆ ของเพลงโดยการจัดกลุ่มรูปแบบการทำซ้ำอย่างต่อเนื่องและเรียกพวกเขาว่า "ส่วน" นั่นอาจไม่ยากนัก - คอมพิวเตอร์ตรวจจับการซ้ำซ้อนของสัญญาณได้ดีแม้ว่าจะมีการเปลี่ยนแปลงเล็กน้อย

แต่มันยากเมื่อ "ส่วน" ทับซ้อนกันเหมือนที่พวกเขาทำในเพลงส่วนใหญ่

เป็นการยากที่จะพูดว่าเพลงประเภทไหนที่เหมาะสมที่สุดสำหรับระบบประเภทนี้ ฉันเดาว่าเพลงไพเราะสไตล์คลาสสิคส่วนใหญ่จะเป็นกระบวนการที่ง่ายที่สุด

ความคิดใดที่จะมองหาการวิจัยในพื้นที่นี้?


ฉันคิดว่ามีแอพ iPhone สำหรับการรับรู้เพลงจากการบันทึกตัวอย่าง และฉันคิดว่ามีบทความอธิบายแอพนี้ ฉันขอโทษที่ฉันไม่มีลิงค์ แต่ฉันจะเริ่มต้นด้วยสิ่งนั้น
mpiktas

1
@mpiktas: คุณอาจหมายถึงปพลิเคชันเช่นSoundHoundหรือแซม มีเอกสารทางเทคนิคว่า Shazam ทำงานอย่างไรแม้ว่าจะไม่ได้ลงรายละเอียดมากเกินไป แม้ว่าฉันไม่แน่ใจว่าเป็นสิ่งที่ OP ต้องการ แต่อาจเป็นจุดเริ่มต้นที่ดี
โก้

เพื่อการโพสต์บล็อกสั้น ๆ ที่ดีบน Shazam (จากพื้นฐานฉันเชื่อว่าบนกระดาษสีขาว) คุณสามารถลองlaplacian.wordpress.com/2009/01/10/how-shazam-works
raegtin

คำตอบ:


6

ฉันไม่มีความเชี่ยวชาญในการประมวลผลสัญญาณ แต่ฉันรู้เรื่องทฤษฎีดนตรีค่อนข้างยุติธรรม ในทางตรงกันข้ามดนตรีคลาสสิกอาจเป็นเพลงที่ยากที่สุดในการวิเคราะห์ด้วยวิธีการทางคณิตศาสตร์อย่างง่าย คุณควรเริ่มจากสิ่งที่เรียบง่ายและซ้ำซากขึ้นเช่นเพลงป๊อปหรือเทคโน ป๊อปมักจะมีรูปแบบ verse-chorus-verse ... ฯลฯ ที่อาจเอื้อต่อรุ่นเป้าหมายที่เรียบง่ายของคุณ

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

  1. ความผันผวนที่ช้าที่สุดในเพลงป๊อปของคุณน่าจะเป็นการเปลี่ยนระหว่างข้อและคอรัสและกลับไปเป็นข้อ (อาจ 0.75 ความสั่นสะเทือนต่อนาที?)

  2. ถัดไปคุณอาจพบว่าการสั่นความถี่สูงขึ้นระหว่างการทำเสียงประสานของคุณนั่นคือในแต่ละเพลงของคุณ (ประมาณ 6 รอบต่อนาที)

  3. ความถี่สูงสุดถัดไปฉันคิดว่าจะเป็นแถบภายในวัด (อาจจะประมาณ 24 oscillations ต่อนาที?) ซึ่งรูปแบบการก้าวเดินและการประสานของเนื้อเพลงมักจะทำซ้ำในเพลงป๊อป / พื้นบ้าน

  4. ทำความเข้าใจกับรายละเอียดเลือดจากนั้นคุณจะพบจังหวะและจังหวะที่ซ้ำไปซ้ำมาในแต่ละแท่งของเพลง การเลือกและแยกสิ่งเหล่านี้อย่างใดอย่างหนึ่ง (ที่อาจ 148 oscillations / เต้นต่อนาที?) มีแนวโน้มที่จะส่งผลให้เตะกลองเบสหรือตีกระดึงหรือสิ่งที่ตามลำดับที่คล้ายกัน

  5. อยู่ระหว่างจังหวะและโทนเสียงคุณอาจจะพบกับองค์ประกอบโวหารอย่างรวดเร็วของเพลงของคุณเช่นการเลือกความเร็ว / การกวาดบนกีตาร์ไฟฟ้าหรือจังหวะการร้องแรปเร็ว (ฉันไม่รู้ว่ามันอาจจะเร็วแค่ไหน แต่ฉันจะเดาได้ว่าจะอยู่ที่ 1,000 ครั้งต่อนาทีหรือมากกว่านั้น)

  6. ในที่สุดเร็วและอาจซับซ้อนที่สุดคือองค์ประกอบของเสียงและเสียงต่ำ ฉันรู้ว่าโน้ต "middle A" นั้นได้รับการกำหนดมาตรฐานให้เป็น 440 Hz นั่นคือ 440 oscillations ต่อวินาที ฉันแน่ใจว่ามีเทคนิคในการสร้างความแตกต่างจากคุณภาพเสียงและเสียงต่ำของเครื่องดนตรีประเภทใดที่ใช้อยู่ มีอัลกอริทึมที่ดีพอสมควรสำหรับการตรวจจับเสียงร้องของมนุษย์ อย่างไรก็ตามอย่างที่ฉันพูดฉันไม่มีผู้เชี่ยวชาญด้านการประมวลผลสัญญาณ


6

เพลงมักจะอธิบายโดยใช้ตัวอธิบายMPEG7พร้อมด้วยเนื้อหาเพิ่มเติมบางอย่างเช่นMFCCsคำนวณจากชิ้นส่วนของวิธีการเคลื่อนย้ายหน้าต่างบางอย่าง (เช่นคุณมีขนาดหน้าต่างและกระโดดบางส่วนเริ่มต้นด้วยหน้าต่างที่วางไว้ที่จุดเริ่มต้นของเสียงคำนวณ อธิบายบนหน้าต่างจากนั้นย้ายโดยกระโดดและทำซ้ำจนกว่าจะถึงจุดสิ้นสุด)
วิธีนี้ชิ้นส่วนถูกแปลงเป็นตาราง ในกรณีของคุณสามารถใช้การจัดกลุ่มบางอย่างบน chunks และตรวจสอบ "ส่วน" เหล่านั้น


ตอนนี้มันเป็นมากกว่านี้! คำตอบทางเทคนิคที่ดี
เครื่องจักรโหยหา

5

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

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

การวิเคราะห์สัญญาณและดนตรีโดยทั่วไปเป็นปัญหาที่ได้รับความนิยมอย่างมากในการเรียนรู้ของเครื่อง มีความคุ้มครองเริ่มต้นที่ดีในคริสบิชอปเป็นตำราโครงข่ายประสาทเทียมสำหรับการจดจำรูปแบบและรูปแบบการรับรู้และการเรียนรู้ของเครื่อง นี่คือตัวอย่างของกระดาษ MSc ที่มีส่วนการจัดหมวดหมู่เพลง แต่มีความครอบคลุมที่ดีในการดึงคุณสมบัติผู้เขียนที่อ้างถึงอย่างน้อยหนึ่งในตำราบิชอปและแหล่งที่มาอื่น ๆ นอกจากนี้เขายังแนะนำแหล่งที่มาหลายแห่งสำหรับเอกสารปัจจุบันเพิ่มเติมในหัวข้อ

หนังสือที่มีคณิตศาสตร์หรือสถิติมากกว่า (อย่างน้อยก็โดยการประพันธ์หากไม่ได้อยู่ในเนื้อหา):

เนื่องจากฉันพูดถึงอธิการและมุมมองการคำนวณของการเรียนรู้ของเครื่องฉันจะบอกเรื่องราวเพียงครึ่งเดียวถ้าฉันไม่ได้แนะนำให้คุณดูองค์ประกอบล่าสุดของการเรียนรู้ทางสถิติ (ซึ่งมีให้ดาวน์โหลดฟรีตามกฎหมาย) โดย Hastie , Tibshirani และ Friedman ฉันจำไม่ได้ว่าเป็นตัวอย่างการประมวลผลเสียงในข้อความนี้โดยเฉพาะ แต่มีวิธีการมากมายที่สามารถปรับให้เข้ากับปัญหานี้ได้

หนึ่งมูลค่าข้อความเพิ่มเติมพิจารณาคือ ม.ค. Beran ของสถิติในการแต่งเพลง มีเครื่องมือทางสถิติจำนวนมากสำหรับการวิเคราะห์ผลงานดนตรีและมีการอ้างอิงมากมาย

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


4

ไม่ใช่คำตอบที่ดี แต่มีสองที่ที่ควรมองหาการวิจัยคือ:

International Society for Music Retrieval มีบทความที่ตีพิมพ์มากมายเกี่ยวกับหัวข้อนี้น่าทึ่งว่ามีข้อมูลอยู่ที่ใด www.ismir.net

& Echo Nest (การเริ่มต้นกับ API เพื่อทำสิ่งที่คล้ายกัน) echonest.com

ปรับปรุง: พวกเขายังปล่อยรหัสลายนิ้วมือโอเพนซอร์สบางส่วน http://echoprint.me/


0

ฉันสนใจปัญหาที่คล้ายกัน นี่คือทางออก มันไม่ได้เป็นข้อเสนอทางวิทยาศาสตร์เก่าที่เรียกว่าพล็อตสเคป ดูรายละเอียดบทความนี้ (มันดูดี)

นอกจากนี้ฉันขอแนะนำให้คุณเยี่ยมชมเว็บไซต์ของผู้แต่งด้วยเนื่องจากมีแอพพลิเคชั่นด้านสถิติที่คล้ายกันมากมายในเพลง เมื่อค้นหาแหล่งข้อมูลที่คล้ายคลึงกันอื่น ๆ ฉันแนะนำให้ใช้คำค้นข้อมูลเพลงที่มีพื้นที่ใกล้เคียงกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.