GN⁺ 7시간전 | parent | ★ favorite | on: Shazam은 대체 어떻게 작동할까?(perthirtysix.com/how-the-heck-does-shazam-work)
Hacker News 의견들
  • Shazam 관련 자료를 같이 보면 좋겠음 https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf 원 논문이 있고, 진짜 관심 있으면 저자의 YouTube 발표도 찾아볼 만함 https://news.ycombinator.com/item?id=18069968 에는 Shazam 직원 글이 있고, https://news.ycombinator.com/item?id=38538996 에는 공동창업자가 인정한 설명이 있으며, https://news.ycombinator.com/item?id=41127726 에는 Go로 만든 알고리즘 재현이 있음 결국 ML도 코드 자체보다 데이터 가치가 더 큰 경우가 많다고 봄

  • 내 최근 추측은 전혀 아닐 수도 있다는 쪽임 대중음악에서는 대체로 잘 맞았는데, 아이스 스케이팅 대회 쉬는 시간에 나온 꽤 괜찮은 신스 음악들을 여러 번 Shazam 해봤더니 하나도 제대로 못 찾았음 아직 미발매 곡이었거나 극도로 니치한 음악이었을 수도 있지만, 그냥 Shazam이 크게 실패한 걸 수도 있어 보임

  • 이건 당연히 TV의 ACR에도 쓰이는 같은 계열 기술임 그런데 Shazam이 온라인에서 평판이 훨씬 좋은 건 사용자의 의도와 동의를 존중하기 때문인 듯함 TV에서도 비슷한 구현을 하되 데이터가 광고 판매로만 가지 않는다면, 소비자에게 실제로 이득이 되는 형태가 가능하지 않을까 싶음

    • 그 가치라는 게 결국 지금 재생 중인 쇼나 영화 제목을 알려주는 정도라면, 이미 일시정지 버튼 눌렀을 때 뜨는 정보와 크게 다르지 않은 것 아닌가 싶음
  • 이 글은 아마 2003년 Shazam 논문의 원래 오디오 핑거프린팅 알고리즘을 시각적으로 설명한 자료 중 최고 수준 같음 다만 지금쯤은 어느 시점에 ML 모델로 갈아탔을 것 같기도 함

  • DTW(dynamic time warping) 라는 알고리즘이 있는데 자주 간과됨 내 감으로는 Shazam에도 이게 어느 정도 쓰였을 것 같음

    • 예전에 특정 소셜 미디어 사이트에서 봇 추적할 때 DTW를 썼음 봇들은 떼 지어 행동하는 경향이 있어서, 지연된 반복 행동을 부드럽게 맞춰 보는 데 DTW가 잘 먹힘
  • 같은 녹음본 인식은 그리 어렵지 않음 같은 녹음이라면 코드 진행과 타이밍이 정확히 반복 가능해서, 이런 식의 인식 기술은 이미 10년도 훨씬 전부터 있었음 반면 커버 버전처럼 다른 녹음으로 같은 곡을 알아맞히는 건 훨씬 더 어려움 Audible Magic은 https://www.audiblemagic.com/2024/02/07/identifying-cover-songs-live-performances-ai-clones-and-more/ 에서 같은 곡의 여러 공연 버전이나 패러디까지 인식할 수 있다고 주장하는데, 당연히 AI와 더 많은 연산을 쓰는 방식임

    • 어렵지 않다는 표현이 너무 많은 걸 생략하고 있음 사회 전체 수준에서는 오래전에 해결한 단순한 기술처럼 보여도, 개별 개발자에게 답을 안 찾아보고 직접 만들라고 하면 실제로 해낼 사람은 많지 않을 거라 봄
    • 적어도 20년 이상 된 얘기임 예전에 Gracenote 컨설팅할 때 그쪽이 어떻게 동작하는지 본 기억이 있음
    • 그렇다면 그냥 타이밍 정보 삭제하면 되는 것 아닌가 싶음
  • 또 이 주제인가 싶었는데, 보니 SCP였음 이 도메인은 좀 수상해 보임 CameronMacLeod의 2022년 글보다 더 완전한 분석으로는 https://news.ycombinator.com/item?id=38531428 이 있고, Slate의 2009년 글은 https://news.ycombinator.com/item?id=893353

    • 이 맥락에서 SCP가 뭔지 잘 모르겠음 평소 떠올리는 secure copy는 전혀 안 맞음 그래도 링크들 고마움, 제목의 질문은 예전부터 막연히 궁금했는데 제대로 파고든 적은 없어서 셋 다 읽어볼 생각임
    • 그래도 이 글의 인터랙티브 요소들은 꽤 멋짐
  • 내 프로젝트 목록에 추가해야겠음 Dinosaur game인데 점프를 키 입력이 아니라 꼬끼오 소리로 하게 만들면 재밌을 듯함

  • Shazam 같은 앱이 탐지하지 못하게 막는 방법이 있는지 궁금함 노이즈를 섞는다든가 다른 기법이 가능한가 싶음

    • 노이즈가 원본보다 특정 지배적 주파수에서 더 크게 나오지 않는 이상 어렵다고 봄 글에도 예시가 있는데, 이 알고리즘은 조회를 빠르게 하려고 기본적으로 주파수 피크만 남기고 나머지는 거의 버림
    • 프로듀서나 DJ들은 이 문제를 보통 아예 발매를 안 하거나 한참 뒤에 내는 식으로 해결함
  • 1986년에 Apple ][c로 이걸 과학 프로젝트로 해봤음