Tôi đang cố gắng viết một tập lệnh Python để tìm kiếm các tệp mp3/4 trùng lặp bằng cách sử dụng dữ liệu của bài hát làm cơ sở để so sánh. Tình trạng của tôi liên quan đến nhiều tập tin mp3/4 với tên tập tin tương tự, nhưng thẻ ID3 khác nhau. Lúc đầu, tôi đã thử lặp qua và sử dụng md5 để tìm các tệp trùng lặp (bỏ qua tên tệp). Điều này, tất nhiên, không hoạt động khi các thẻ ID3 không khớp.Truy cập dữ liệu nhạc MP3 bằng cách sử dụng Python
Kết quả là tôi đang tìm cách trích xuất dữ liệu nhạc từ mp3/4 để chạy qua md5 và tìm bất kỳ bản sao nào. cách tốt nhất để làm việc này là gì?
Âm nhạc có thể (trong khi 'giống hệt') có các bitrate khác nhau (trừ khi bạn có thể chắc chắn mọi thứ không mất dữ liệu) sẽ làm cho việc so sánh * dữ liệu đơn giản trở nên vô dụng. Vì vậy, bạn sẽ cần một kỹ thuật tiên tiến hơn (có thể thống kê). Tôi chắc chắn rằng một người nào đó trên SO sẽ có thể cung cấp một số con trỏ ... – ChristopheD
Điểm tốt, thay vì md5 đơn giản một phân tích thường xuyên fft là thích hợp hơn. Tuy nhiên, âm lượng có thể khác nhau. Sau đó, tôi cho rằng bạn sẽ tìm kiếm mối tương quan giữa hai ffts và mong đợi tương quan cao có lẽ? Nó sẽ trở nên phức tạp bởi vì một số bài hát có thể bao gồm "foresounds" - một phần giới thiệu, hoặc một bài phát biểu - rất khó để phát hiện. –
@Hamish: Tôi tự hỏi liệu anh ấy có muốn xem xét những điều đó như là khác biệt hay không (ví dụ: một buổi biểu diễn trực tiếp của một số bài hát, chẳng hạn như phần giới thiệu được nói so với bản thu âm của phòng thu cụ thể). Nó thực sự phụ thuộc vào cách bạn xác định "trùng lặp", tôi giả sử. Điều này đang trở thành một vấn đề khá thú vị. :) – Faisal