시스템에서 가장 두 배가 많은 노래에주의를 기울여 내 음악 라이브러리를 정리하고 싶습니다. 나는 그 (것)들을 모두 목록으로 만들 수 있고, 그것을 수동으로 분류하고 그것을 할 수 있었다. 그러나 그것은 너무 오랫동안 잡을 것이다. 목록을 가장 가능한 중복으로 정렬하길 원합니다. 그래서 노래에 10 개의 중복이 있다면 그것은 서로 닮은 10 개의 노래 이름이 있다는 것을 의미하므로 가장 좋은 버전을 유지하기 위해 먼저 노래에 집중할 것입니다.문자열 색인 또는 해시 색인 생성 및 비교
난 내가 각 노래의 X 시간을 비교하는 것은이 levenshtein의 문자열 비교 기술과 보석
require 'levenshtein'
Levenshtein.distance("string1", "string2") => 1
를 사용하여 두 songnames 비교 그러나이 전 곡의 X 번호를 가정 해 봅시다 수 '내가 할 수 있기 때문에 정상적인 파일 정렬에 의지 할 때, 필자는 몇 가지 중복 된 것을 놓치고 싶다. 예를 들어
The Beatles - Hey Jude
Beatles, The - hey jude
Beatles_-_Hey_Judy_(remastered)
는 비틀즈를 제공해야합니다 - 헤이 주디 (X3)
다음 정렬 할 수 있습니다 내림차순의 모든 중복을 줄 것 파일 이름을 기준으로 인덱스를 생성하는 방법이 있나요? 비교할 수있는 해시의 종류?
나는 다른 음악을 비교하는 방법을 알고 있지만 결함이 있으며 다른 유형의 파일을 비교하는 데에도 유용 할 것입니다.
[pHash] (https://github.com/toy/pHash)와 같은 것을보고 실제 오디오를 비교하고 일치하는 신뢰 수준을 부여 할 수 있습니다. –
은 흥미로운 보석으로 보이지만, 설치가 끝나면 내가 필요합니다. C : /Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/lib/ffi/library.rb : 121 : in 'block in ffi_lib ': 라이브러리'.dll '을 열 수 없습니다 : 지정한 모듈을 찾을 수 없습니다. (LoadError) – peter
보석이 사용하는 [phash 라이브러리를 다운로드하고 설치] (http://phash.org/download/)해야합니다. –