# 음악 검색 시스템 만들기

> Clean Markdown view of GeekNews topic #18827. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18827](https://news.hada.io/topic?id=18827)
- GeekNews Markdown: [https://news.hada.io/topic/18827.md](https://news.hada.io/topic/18827.md)
- Type: news
- Author: [kciter1](https://news.hada.io/@kciter1)
- Published: 2025-01-21T08:46:06+09:00
- Updated: 2025-01-21T08:46:06+09:00
- Original source: [kciter.so](https://kciter.so/posts/music-recognition-system/)
- Points: 25
- Comments: 1

## Summary

음악 검색 시스템은 음원을 소리 지문으로 변환하여 데이터베이스에 저장하고, 입력 음원을 소리 지문으로 변환하여 데이터베이스와 비교해 유사 음원을 검색하는 방식으로 작동합니다. WAV 파일을 읽고 샘플링 데이터를 생성한 후, 푸리에 변환을 통해 스펙트로그램을 생성하고, 여기서 피크를 추출하여 소리 지문을 생성합니다. 생성된 소리 지문은 데이터베이스에 저장되거나 검색에 사용됩니다.

## Topic Body

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

## Comments



### Comment 33781

- Author: supersanic
- Created: 2025-01-23T15:24:12+09:00
- Points: 1

우미
