- 음악 검색 시스템은 등록과 검색 두 단계로 이루어짐
- 등록: 기존 음원을 소리 지문(Audio Fingerprint)으로 변환해 데이터베이스에 저장
- 검색: 입력 음원을 소리 지문으로 변환한 후 데이터베이스와 비교해 유사 음원 검색
- 베경 지식
-
WAV 파일: 비압축 PCM 형식으로, 데이터 변형 없이 원본 유지
-
샘플링(Sampling): 아날로그 신호를 디지털로 변환, 샘플링 속도가 높을수록 정확성 증가
-
스펙트로그램(Spectrogram): 주파수와 진폭 변화를 시각화한 그래프
-
푸리에 변환: 신호를 주파수 영역으로 변환해 소리 분석
-
피크(Peak): 주요 주파수 성분을 나타내는 데이터로, 노이즈를 제거하고 압축 가능
-
소리 지문(Audio Fingerprint): 피크 데이터를 해싱해 생성, 데이터베이스 저장 및 검색에 사용
- 구현 과정
- WAV 파일을 읽고 샘플링 데이터를 생성
- 샘플링 데이터를 푸리에 변환해 스펙트로그램 생성
- 스펙트로그램에서 피크 추출
- 피크 데이터를 해싱해 소리 지문 생성
- 소리 지문을 데이터베이스에 저장하거나 검색해 유사 음원 확인