2 คะแนน โดย GN⁺ 2023-12-06 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

ชื่อสรุป: หลักการของเทคโนโลยีการรู้จำเพลงของ Shazam

Shazam คืออะไร?

  • Shazam เป็นแอปที่ใช้ระบุเพลงที่กำลังเปิดอยู่รอบตัว
  • เปิดแอปแล้วบันทึกเสียงไม่กี่วินาทีขณะเพลงกำลังเล่น จากนั้นจึงค้นหาในฐานข้อมูล
  • ในอดีตเคยให้บริการผ่านหมายเลขโทรศัพท์ และด้วยข้อจำกัดของคุณภาพการโทร การรู้จำเพลงจึงเป็นงานที่ยาก

ทำไมการรู้จำเพลงจึงยาก

  • สำหรับคนที่ไม่คุ้นเคยกับการประมวลผลสัญญาณ การรู้จำเพลงเป็นปัญหาที่ยากเพราะสัญญาณเสียงมีความซับซ้อน
  • วิธีแบบ brute force ที่พยายามหา部分หนึ่งของเพลงในแทร็กทั้งหมดนั้นช้ามาก และรูปแบบของสัญญาณอาจเปลี่ยนไปมากจากเสียงรบกวนพื้นหลังและผลกระทบด้านความถี่

ภาพรวมของระบบ

  • Shazam แบ่งเป็นสองกระบวนการคือการลงทะเบียนเพลงและการรู้จำเพลง โดยทั้งสองกระบวนการมีขั้นตอนร่วมกัน เช่น การคำนวณสเปกโตรแกรม การหา peak ในสเปกโตรแกรม และการแฮช peak
  • กระบวนการลงทะเบียนจะเก็บแฮชไว้ในฐานข้อมูล ส่วนกระบวนการรู้จำจะเปรียบเทียบกับแฮชในฐานข้อมูลเพื่อระบุเพลงที่กำลังเล่นอยู่

การคำนวณสเปกโตรแกรม

  • เพื่อให้ได้สเปกโตรแกรมของเสียง จำเป็นต้องเข้าใจ Fourier transform
  • Fourier transform บอกได้ว่ามีความถี่ใดอยู่ในเสียง และใช้สร้างสเปกโตรแกรมที่แสดงการเปลี่ยนแปลงของความถี่ตามเวลา

สเปกโตรแกรม

  • สเปกโตรแกรมแบ่งเพลงออกเป็นช่วงเล็ก ๆ แล้วใช้ Fourier transform เพื่อแสดงความถี่ที่เปลี่ยนไปตามเวลาได้ดีขึ้น
  • สเปกโตรแกรมเป็นกราฟ 3 มิติที่มีเวลา (แกน X), ความถี่ (แกน Y) และความเข้ม (แกน Z/สี)

การสร้างลายนิ้วมือ

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

การหา peak

  • peak ในสเปกโตรแกรมแสดงถึงความถี่ที่แรงที่สุดในสัญญาณ และควรกระจายอย่างสม่ำเสมอเพื่อนำไปใช้ในลายนิ้วมือเสียง
  • ใช้เทคนิค maximum filter เพื่อเน้น peak ในสเปกโตรแกรมและหาตำแหน่งของมัน

การแฮช

  • สร้างแฮชจากการจับคู่ peak ในสเปกโตรแกรมเพื่อเพิ่มความเป็นเอกลักษณ์
  • แฮชจะรวมความถี่ของ peak สองจุดและผลต่างของเวลา แล้วเก็บไว้ในฐานข้อมูล

การจับคู่

  • อธิบายกระบวนการค้นหาลายนิ้วมือที่ตรงกับตัวอย่างเสียงที่กำหนดจากคอลเล็กชันลายนิ้วมือในฐานข้อมูล
  • ค้นหาแฮช จัดกลุ่มตามเพลง แล้วตรวจสอบว่าแฮชตรงกันหรือไม่ เพื่อเลือกแทร็กที่ตรงกันมากที่สุด

บทสรุป

  • Shazam ใช้กระบวนการอย่างการคำนวณสเปกโตรแกรม การดึง peak การสร้างคู่แฮช และการจัดเก็บลายนิ้วมือ เพื่อใช้ลงทะเบียนและรู้จำเพลง

ความเห็นของ GN⁺

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

1 ความคิดเห็น

 
GN⁺ 2023-12-06
ความคิดเห็นจาก Hacker News
  • แนวทางแบบใช้แฮชที่มีประสิทธิภาพของ Shazam

    ตอนที่ Shazam เปิดตัวในปี 2008 การพัฒนาวิธีแปลงเพลงให้เป็นแฮชที่มีประสิทธิภาพเชิงคำนวณถือเป็นแนวทางที่ชาญฉลาด หากจะเปิดตัวบริการแบบเดียวกันในปัจจุบัน ก็คงเลือกใช้แนวทาง R&D ที่โดยพื้นฐานคือการฝึกโมเดล แต่สิ่งนี้อาจไม่มีประสิทธิภาพและมีต้นทุนสูง เนื่องจากจำนวนเพลงมีขอบเขตจำกัด แนวทางแบบใช้แฮชจึงอาจให้ประสิทธิภาพดีกว่ามาก

  • เสน่ห์แบบเวทมนตร์ที่ยังคงอยู่ของ Shazam

    Shazam เป็นหนึ่งในผลิตภัณฑ์หายากที่ให้ความรู้สึกราวกับเวทมนตร์มาได้นานกว่า 20 ปี และเป็นสิ่งที่วิศวกรควรมุ่งไปให้ถึง

  • วิดีโอของ Wall Street Journal ที่อธิบายหลักการทำงานของ Shazam

    มีวิดีโอที่ยอดเยี่ยมจาก Wall Street Journal อธิบายวิธีที่ Shazam สร้างลายนิ้วมือเสียงอันเป็นเอกลักษณ์

  • คำอธิบายเกี่ยวกับ Chromaprint และ AcoustID

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

  • บทความน่าสนใจเกี่ยวกับ Shazam และการประมวลผลสัญญาณดิจิทัล

    นี่เป็นบทนำที่ยอดเยี่ยมเกี่ยวกับวิธีการทำงานของ Shazam และการประมวลผลสัญญาณดิจิทัล เป็นงานที่คนซึ่งอยากเข้าใจว่าการรู้จำลายนิ้วมือเสียงทำงานอย่างไรควรอ่านอย่างยิ่ง

  • อัลกอริทึมลักษณะคล้ายกันที่ใช้ได้กับสื่อประเภทอื่นด้วย

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

  • ความสำคัญของเว็บไซต์ Every Noise At Once

    Every Noise At Once เป็นเว็บไซต์น่าทึ่งที่นำการจับคู่อัลกอริทึมมาใช้กับการจัดหมวดหมู่แนวเพลงและซับเจเนอร์ที่แตกแขนงออกมาจากซิกเนเจอร์ของเพลงใหม่ ๆ แต่ขณะนี้เสี่ยงจะหยุดให้บริการเพราะปัญหาโฮสติ้ง ซึ่งจะเป็นความสูญเสียครั้งใหญ่ต่อเวิลด์ไวด์เว็บ

  • ความเป็นธรรมชาติของกระบวนการรู้จำเพลง

    ระบบนี้ระบุชิ้นส่วนของทำนองและจับคู่ตามลำดับในแบบที่คล้ายกับกระบวนการรับรู้ของเราอย่างมาก ซึ่งสอดคล้องกับวิธีที่เราฟังโน้ตไม่กี่ตัวแล้วจำเพลงได้

  • การแปลงฟูเรียร์ที่ใช้ในการรู้จำเพลง

    มีการกล่าวถึงการแปลงฟูเรียร์ที่มักใช้ในการรู้จำเพลง ซึ่งถูกใช้ในเวอร์ชันโอเพนซอร์สชื่อ Echoprint ด้วย แต่บริการนั้นถูกยุติหลังจากถูก Spotify เข้าซื้อกิจการ