Shazam ทำงานอย่างไร ถึงรู้ว่าเพลงไหนชื่ออะไร

by mk
27 September 2010 - 13:12

ผู้อ่าน Blognone คงรู้จักโปรแกรม Shazam ที่เอาไว้ฟังเพลงแล้วให้มันบอกว่าเพลงนี้ชื่ออะไร ถ้าใครเคยลองจะรู้ว่ามันแม่นมาก (โดยเฉพาะเพลงภาษาอังกฤษ)

ทางเว็บไซต์ Gizmodo สงสัยว่ากระบวนการทำงานของ Shazam เป็นอย่างไร จึงไปขุดในเปเปอร์วิจัยของหนึ่งในผู้ก่อตั้ง Shazam ที่เผยแพร่ต่อสาธารณะ ขั้นตอนการทำงานมีดังนี้

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

ในบทความต้นฉบับยังมีรายละเอียดอื่นๆ เช่น หน้าตาของ fingerprint, วิธีการเก็บข้อมูล fingerprint (เก็บเป็น hash โดยใช้ความถี่เป็น first key), วิธีการคำนวณความใกล้เคียง ฯลฯ ใครสนใจเรื่อง data structure และการออกแบบระบบ สมควรอ่านอย่างยิ่ง

ที่มา - Gizmodo

Blognone Jobs Premium