2010-09-30 32 views
5

Tôi đang chơi với điện thoại của mình và có ứng dụng này trên đó khi bạn sử dụng nó để ghi lại 10 giây của một bài hát, nó sẽ cho bạn biết tiêu đề và tác giả của bài hát đó. Bây giờ là một kỹ sư phần mềm, tôi không thể không tự hỏi, Làm thế nào để nó hoạt động?Phần mềm: Phần mềm nhận dạng bài hát như thế nào?

Trả lời

9

Vâng, thực sự Shazam đã viết một bài báo giải thích các hoạt động bên trong của thuật toán, bạn có thể tìm thấy nó at this address (pdf).

Về cơ bản, họ có một cơ sở dữ liệu khổng lồ về tất cả các bài hát mà thuật toán có thể nhận ra và họ tạo ra một loại "hashtag" của âm nhạc bằng cách sử dụng quang phổ của nó. Sau đó, khi bạn ghi lại một phần của bài hát và gửi cho họ, họ sẽ chuyển nó qua cùng một thuật toán và cố gắng kết hợp nó với các thẻ bắt đầu bằng # được lưu trữ trong cơ sở dữ liệu.

Tất nhiên điều đó phức tạp hơn nhiều so với khi họ phải quản lý tiếng ồn ghi và các nội dung tương tự, nhưng đó là ý tưởng cơ bản.

+0

Không nói về shazam, nhưng tôi có ý tưởng cơ bản + một số tài liệu đọc. Cảm ơn! – Emerion

+1

Vâng, ngay cả khi nó không phải là Shazam, nó cũng phải hoạt động như cũ. Thuật toán "băm" có thể và có lẽ sẽ có sự khác biệt, nhưng ý tưởng sẽ giống nhau. Không có gì. – Gimly

Các vấn đề liên quan