audio - freemake - mp3 to asset converter




프로그래밍 방식으로 mp3를 비교하는 방법 (5)

나는 프로그래밍 방식으로 mp3를 비교할 수 있기를 좋아합니다. 내가 뭘로 모르는 문제인지. 머리글? 히스토그램? 채널? 누구든지이 주제에 대한 경험이 있습니까?


나는 자주 중복 파일을 찾기 위해 리눅스에서 fdupes를 사용한다. fdupes는 md5 체크섬을 사용합니다.


비교하면 무엇을 의미합니까? 메타 데이터 (저자, 제목 등 ...), 오디오 데이터? 무슨 목적을 위해 ?

오디오 데이터를 비교하는 대중적이고 기본적인 방법은 MFCC와 같은 일부 스펙트럼 기능에 대해 거리를 계산하는 것입니다.

http://en.wikipedia.org/wiki/Mel_frequency_cepstral_coefficient


귀하의 질문에 더 잘 대답하기 위해 나는 당신이하고 싶은 것을 정확히 알아야한다고 생각합니다.

실제 노래를 비교하려는 경우 musicDNS에는 오디오 지문을 만들 수있는 라이브러리가 있습니다. libOFA라는 라이브러리는 여기 에서 찾을 수 있습니다 . 이 핑거 프린팅 시스템은 예를 들어 musicbrainz에서 디지털 오디오 파일을 데이터베이스와 일치시키는 데 사용됩니다. 이론적으로 이것을 사용하여 두 개의 다른 디지털 파일을 비교할 수 있습니다.

태그 데이터 (id3v1 / id3v2)를 비교하려는 경우 taglib에 대해 언급 할 수있는 많은 라이브러리가 있으며 libmpg123에는 태그 데이터를 추출하는 고유 한 기능이 있습니다.

libOFA 접근법에 대한 좋은 점은 지문 채취가 오디오 자체에서 이루어지기 때문에 서로 다른 형식을 서로 비교할 수 있다는 것입니다.


나는 당신이 이것에 가지고 갈 수 있던 접근의 숫자다는 것을 짐작한다 :

1. 태그 비교

mp3의 태그에있는 데이터를 비교할 수 있습니다. 태그는 ID3 형식으로 보관됩니다. 태그에 액세스하는 데 도움이되는 라이브러리가 많이 있습니다. 인기있는 선택 인 tagLib (.net 앱용 TagLib Sharp )

2. 음향 지문

이것은 압축이나 포맷에 관계없이 일치하는 것을 찾을 수있는 가장 강력한 방법입니다. 고유 한 지문이 파일의 실제 오디오에서 만들어 지므로 노래 를 식별 할 수 있습니다. echoprint 는 이것의 오픈 소스 예제입니다.

3. 파일에서 해시 만들기

이 방법을 사용하면 정확하게 일치하는 콘텐츠가 포함 된 파일을 찾을 수 있습니다.

좀 더 읽을 거리 :

  • 여기에 mp3 컬렉션 관리에 대한 흥미로운 MSDN 기사가 있습니다 (태그 읽기 포함) : 링크 텍스트 (시각적 기본이지만 유용 할 수 있습니다.)

  • 여기에 파일 형식에 대한 약간의 설명이 있습니다 : 링크 텍스트


나는 오디오 지문에 대한 나의 석사 학위 논문 을 썼다. 이 논문은 음악이 어떻게 들리는지를 비교하는 문제에 대한 몇 가지 오픈 소스 솔루션을 나열하고 이들 사이의 성능 비교를 제공합니다. 과잉 공격 일지 모르지만 거기에는 정말 괜찮은 응용 프로그램이 있습니다.

태그가 달린 데이터로만 비교하려는 경우, 살펴볼 표준은 ID3 입니다. 기본적으로 두 가지 버전이 있는데 첫 번째 버전은 매우 단순하며 (ID3v1) MP3의 끝에 128 바이트 블록으로 구성됩니다. ID3v2는 MP3의 시작 부분에보다 크고 다양한 크기의 블록을 넣습니다.





compare