Thuật toán Audio Fingerprinting

Một phần của tài liệu Wanotube – nền tảng chia sẻ video trực tuyến (khóa luận tốt nghiệp) (Trang 35 - 37)

Chương 2 CƠ SỞ LÝ THUYẾT

2.1. Công nghệ nhận diện âm thanh

2.1.5. Thuật toán Audio Fingerprinting

Vào năm 2003, Shazam - một ứng dụng miễn phí có thể giúp bạn nhận diện giai điệu của một bài hát bất kỳ - đã tiết lộ thuật toán nhận diện âm thanh của họ [8].

Vốn dĩ fingerprint - vân tay được sử dụng cho các công nghệ sinh trắc học nhận dạng vân tay. Bạn sẽ khơng khó để bắt gặp các thiết bị sử dụng cơng nghệ này như máy chấm cơng vân tay. Khóa cửa vân tay, khóa két vân tay, hệ thống kiểm sốt ra vào bằng vân tay. Điện thoại di động thơng minh đơn giản bởi vì cơng nghệ này có rất nhiều ưu điểm so với các công nghệ nhận dạng khác.

Tính bảo mật cao là ưu điểm nổi trội của cơng nghệ nhận dạng vân tay. Nó được sử dụng rất nhiều trong các hệ thống đảm bảo an ninh. Mỗi dấu vân tay gần như là duy nhất (tỷ lệ trùng dấu vân tay là 1/64 tỷ dấu vân tay [9]). Và với đặc tính này nó cho thấy khả năng bảo mật bằng dấu vân tay của công nghệ này cao đến mức nào.

Quay lại với Audio fingerprinting, họ cũng tuân theo nguyên lý tương tự. Audio fingerprint chính là một bản tóm tắt cơ đọng dưới dạng âm thanh của âm thanh mà có thể xác định âm thanh tương tự trong cơ sở dữ liệu một cách nhanh chóng.

Đầu tiên, họ chuyển ảnh phổ trở thành một biểu đồ nhìn như một bản đồ “ngôi sao”. Mỗi một chấm (ngơi sao) chính là những tần số cao nhất tại một thời điểm nhất định. Bằng cách này, chúng ta không chỉ giảm từ đồ thị 3D xuống 2D mà ta còn giảm đáng kể những data points trên đồ thị. Đây là phần quan trọng đầu tiên trong công nghệ của Shazam. Mỗi một bài hát trong Shazam database được lưu trữ dưới dạng fingerprint như vầy.

9

Hình 2.2: Ảnh phổ trước và sau khi được chuyển đổi về không gian 2 chiều [10] Khi bạn mở điện thoại và nhấn nút Shazam, ứng dụng truy cập vào micro của bạn và Khi bạn mở điện thoại và nhấn nút Shazam, ứng dụng truy cập vào micro của bạn và bắt đầu tạo ra fingerprint của sóng âm nó nhận được. Phương pháp này giúp app Shazam có thể lọc ra tiếng ồn bởi vì nó chỉ tạo data points cho các tần số riêng biệt (stand-out frequencies). Sau khi app đã tạo ra fingerprint cho audio của bạn, nó sẽ gửi về server xử lý việc nhận diện.

Việc so sánh từng đoạn fingerprint nhận được với tất cả các fingerprint có trong database khơng hiệu quả, rất tốn thời gian và tài nguyên.

Nên Shazam đã nghĩ ra cách đó chính là khơng chỉ so sánh 1 note mà so sánh nhiều note trong một thời gian cụ thể (như cách não bộ chúng ta vậy).

Họ xây dựng danh mục fingerprint của họ dưới dạng bảng băm (hash table) trong đó khóa là tần số. Nhưng khóa đó khơng là một tần số mà là một hash của nhiều tần số. Việc này càng giúp giảm việc đụng độ (trùng khóa) và cải thiện đáng kể hiệu năng trong bảng băm.

10

Một phần của tài liệu Wanotube – nền tảng chia sẻ video trực tuyến (khóa luận tốt nghiệp) (Trang 35 - 37)