2P by GN⁺ | ★ favorite | 댓글 2개
  • Navidrome 소스 코드와 데이터 모델을 보며 정리한 사례들로, 음악 메타데이터는 제목·아티스트·앨범·커버·릴리스만 다뤄도 정규화하기 어려운 예외가 많음
  • , , ', (), <|°_°|>, 슬래시, 공백, 이모지, 수식, EICAR 테스트 문자열 같은 이름은 파일명·검색·정렬·보안 도구와 쉽게 충돌함
  • 무제 앨범, 여러 커버, 같은 제목의 여러 앨범, 7시간·13시간·4723시간짜리 트랙, 99개 트랙 중 대부분이 4초 무음인 EP는 음악 단위의 길이와 구조에 대한 단순 가정을 깨뜨림
  • 동일 인물의 여러 별칭, 밴드명 변경, 지역별 이름 차이, 같은 이름의 여러 밴드, 국제화된 이름이 겹치면 문자열 하나로 아티스트를 식별하기 어려움
  • MusicBrainz 같은 데이터베이스 스키마가 앨범·릴리스·아티스트·별칭·트랙을 세밀하게 나누는 이유는 이런 예외를 실제로 처리해야 하기 때문임

제목과 이름이 깨뜨리는 기본 가정

  • 음악 메타데이터에서 앨범 이름은 사람이 보기에는 창의적이지만, 시스템에는 특수문자 처리 문제가 됨
    • Justice의 †
    • David Bowie의 ★
    • Frank Zappa의 '
    • Sigur Rós의 ()
    • Prince의 Love Symbol; Prince는 1993년에 무대 이름도 이 심볼로 바꿨고 “The Artist Formerly Known as Prince”로 불렸음
    • Caravan Palace의 <|°_°|>
  • 운영체제와 파일 시스템도 이름에 흔들림
    • MASTER BOOT RECORD의 앨범명 체계는 Windows와 Linux 모두에서 문제가 될 수 있음
    • Linux 환경에서는 The You Suck Flying Circus의 ///////-//-///// 같은 이름이 특히 눈에 띔
    • Marco.V의 C:/del*mp3는 파일 경로처럼 보이는 제목임
    • Auto!Automatic!!의 Another Round Won't Get Us Down에는 \\\\\라는 트랙과 //////////라는 트랙이 있음
  • 검색과 정렬도 단순하지 않음
    • Vaporwave 장르 아티스트는 Hallmark '87의 A T R I U M처럼 글자 사이에 공백을 넣는 경우가 있음
    • Laughing Mantis는 EICAR 테스트 파일 문자열과 같은 이름의 곡 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*를 냈음

무제, 혼동되는 제목, 긴 제목

  • 앨범에는 제목이 없는 경우가 있음
    • Rammstein의 최신 앨범
    • Led Zeppelin의 네 번째 앨범
    • KoЯn의 여덟 번째 앨범
  • 제목이 없는 것처럼 보이거나 헷갈리는 앨범명도 많음
    • The Byrds의 (untitled)
    • R Kelly의 untitled
    • Autechre의 untilted
    • +/-의 Self-Titled Long-Playing Debut Album
    • Tintern Abbey의 7인치 바이닐 싱글 A면은 Beeside
    • Weezer는 Weezer라는 제목의 앨범을 여러 장 냈고, 같은 해에 두 번 낸 경우도 있음
    • Underoath의 Ø (Disambiguation)은 Wikipedia의 Ø disambiguation 페이지와 혼동을 만듦
    • Meghan Trainor의 Title
  • 매우 긴 앨범 제목은 UI, 검색, 표시 영역을 압박함

커버, 트랙 수, 길이, 릴리스 버전

  • 일부 앨범은 커버가 여러 개라서 “앨범 하나 = 커버 하나” 가정이 맞지 않음
    • The Police의 Synchronicity는 커버 변형이 36개 있음
    • Art Garfunkel의 Fate for Breakfast는 커버가 6개였지만, 미국에서 흥행에 실패해 대부분 한 가지만 봤음
    • Ian Dury & The Blockheads의 Do It Yourself는 최소 34개 슬리브가 있었음
  • 커버 이미지 자체가 논란이나 검열판을 만들기도 함
  • 트랙은 제목이 없거나 이름 자체가 혼란스러울 수 있음
  • 트랙 길이와 구성에는 극단적 사례가 있음
    • NǽnøĉÿbbŒrğ VbëřřĦōlökäävsŦ의 “Doom Apocalypse X, The Ultimate Fate Of The Universe (Part IX: The Photon Era)”는 거의 7시간이며, 전체 앨범 “The Ultimate Fate Of The Universe”는 23시간에 조금 못 미침
    • Pipe Choir Three의 The Rise and Fall of Bossanova는 13시간짜리 곡을 5파트로 나눔
    • Bull of Heaven의 209: Blurred With Tears And Suffering Beyond Hope는 4723시간 54분 37초 트랙을 포함함
    • Nine Inch Nails의 Broken은 99개 트랙을 갖고, 7번부터 97번까지는 각각 4초 무음임
  • 대부분의 앨범은 여러 버전이나 릴리스를 가짐
    • The Eminem Show는 15개 버전이 있음
    • All Lights Fucked on the Hairy Amp Drooling은 1994년 카세트 27트랙, 2022년 재발매 4트랙, 부트렉 31트랙이 있음
    • God Speed You Black Emperor!는 2002년에 “Godspeed You! Black Emperor”로 이름을 바꿈
    • Sybreed의 Antares는 일본판·미국판·러시아판·스위스 프로모·유럽 프로모의 트랙 수와 11번째 트랙이 다름
    • Art of Noise의 Close-Up 싱글은 같은 카탈로그 번호와 같은 슬리브를 가진 영국판 4개가 서로 다른 트랙을 담았고, 그중 하나는 “Close-Up” 트랙 자체가 없었음
    • Taylor Swift는 음악의 완전한 소유권을 되찾기 위해 앨범을 다시 녹음함
  • 라이선스 문제도 릴리스 차이를 만듦
    • MF DOOM의 MM..FOOD는 2004년에 나왔고, 정리되지 않은 Sesame Street 샘플 때문에 2007년에 재녹음 버전이 나옴

아티스트 식별이 어려워지는 경우

  • 트랙 하나에 아티스트가 매우 많이 붙을 수 있음
    • GRAY (그레이)의 “119 REMIX”는 제목처럼 119명의 아티스트가 참여함
  • 밴드는 이름을 바꾸거나 지역별로 다른 이름을 쓰기도 함
    • GZR은 첫 앨범에서 g//z/r, 두 번째에서 geezer, 세 번째에서 GZR로 표기됨
    • Ghost는 한동안 미국에서만 Ghost B.C.로 알려졌음
    • Suede는 미국에서 “The London Suede”로 알려짐
    • Zoviet France:$OVIET:FRANCE:, Soviet France, :Zoviet-France:, :zoviet*france: 같은 표기가 있음
    • Invent, Animate는 두 아티스트로 혼동되지 않기 위해 “Invent, Animate”로 이름을 바꿈
  • 어떤 아티스트는 여러 이름을 사용함
    • Aphex Twin은 Blue Calx, Caustic Window, Brian Tregaskin, The Dice Man, Polygon Window, Power-Pill, Richard D. James, GAK, The Tuss, user48736353001 등 여러 별칭이 있음
    • Filipe Santos도 여러 이름 사례로 제시됨
  • 밴드명 자체가 검색·정렬 규칙을 흔듦
  • 서로 다른 밴드가 같은 이름을 쓸 수 있음
    • “Emperor”는 노르웨이 블랙 메탈 밴드, 드럼앤베이스 프로듀서, 트랜스 아티스트, 일본 메탈 밴드, Arknights 세계의 가상 펭귄 힙합 아티스트 등 여러 대상을 가리킬 수 있음
    • Havamal은 Viking metal 밴드와 다른 Viking metal 밴드를 모두 가리킬 수 있음
    • Bulldog Breed는 영국 출신 밴드 두 팀을 가리킬 수 있고, 둘 다 “Made in England”라는 앨범을 냈음
    • Avishai Cohen은 이스라엘 출신 재즈 뮤지션 두 명을 가리킴
    • Revolver, Peace, Hybrid, End 같은 흔한 “멋진” 이름은 중복이 많음
  • 국제화도 식별을 더 어렵게 함
    • Пётр Ильич Чайковский, 즉 Tchaikovsky는 MusicBrainz에 31개 이름이 있음

문자 인코딩, 운영체제, 데이터 모델

댓글과 토론

이 글은 이미 GeekNews에 올라온 적이 있습니다.
음악을 다룰 때 고려해야 할 엣지케이스들

Hacker News 의견들
  • Metallica의 "Kill 'Em All"을 중고 CD 매장에 팔고 다시 같은 "Kill 'Em All"을 샀을 때, 점원이 꽤 혼란스러워하던 기억이 있음
    어떤 판본에는 커버곡 Am I EvilBlitzkrieg가 두 곡 더 들어 있는데, 두 CD의 식별 번호가 같아서 더 헷갈림
    방금 판 CD를 왜 다시 사느냐고 당연히 물어서 보여줬더니, 이런 경우는 처음 본다며 어안이 벙벙해했음

  • The The, so much for skipping articles like "A" or "The" I guess.

    예전에 Google에서 "The Who"를 검색한 밈 이미지가 있었는데, 결과 위에 "'The'는 흔한 단어라 검색어에서 제거했습니다" / "'Who'는 흔한 단어라 검색어에서 제거했습니다"라고 나왔음

    • 흔한 게시판 소프트웨어 중 하나가 기본값으로 3글자 이하 검색어를 전부 무시하거나 차단했음
      약어를 많이 쓰는 기술 포럼에서는 믿기 힘들 정도로 짜증 나는 설정임
    • Siri를 망가뜨리는 밴드 이름은 실제로 내 삶에 있는 문제임
      Them, 너희 얘기다 O_o
    • 2000년대 초중반에 유명한 통계 소프트웨어 R로 꽤 많은 작업을 했음
      당시에는 R로 뭔가 하는 방법을 Google에서 찾으려면 메일링 리스트 아카이브 위치를 알고 그 도메인으로 검색을 제한하는 식의 꽤 구체적인 요령이 필요했음
      나중에 Google이 내부적으로 R을 많이 쓰기 시작하자 갑자기 그 문제가 사라졌음
  • Taylor Swift가 예전 곡을 전부 다시 녹음해 재발매한 것도 꽤 유명한 사례임
    누군가 Alexa에게 "Love Story"를 틀어 달라고 하면 Taylor에게 더 많은 로열티가 가는 버전을 틀어야 할까, 아니면 어떤 음악 출판사에 더 많이 가는 버전을 틀어야 할까
    곡의 인기도 순위를 매길 때는 여러 버전을 서로 다른 곡처럼 취급하면 안 될 가능성이 큼

    • 스트리밍 서비스의 많이 재생된 곡 목록에서 같은 곡이 두 번 순위에 오르는 경우가 있음
      싱글 버전앨범 버전이 둘 다 있기 때문임
  • 관련: https://github.com/minimaxir/big-list-of-naughty-strings
    Big List of Naughty Strings는 사용자 입력 데이터로 쓰였을 때 문제를 일으킬 가능성이 높은 문자열 목록임

    • 관련된 데다 웃긴 글: https://www.sempf.net/post/On-Testing1
    • 흔한 LLM 주입 문자열도 이 목록에 추가해야 함
    • 수십 년간 시스템 관리자로 일해 보니, 대다수 코더는 이 목록을 본 적도 없고 앞으로도 안 볼 거라고 장담할 수 있음 :|
  • 그냥 A라는 밴드를 빠뜨린 것 같음
    이 밴드는 “nothing”이라는 곡을 냈음 https://en.wikipedia.org/wiki/Nothing_(A_song)
    예전에 Amazon에서 이들의 앨범을 찾느라 애먹었던 기억이 나고, 지금도 딱히 더 쉬워 보이지 않음

    • 또는 80년대 초 Jethro Tull의 앨범 A도 있음
    • 그 앨범 나왔을 때 정말 좋아했음
      하지만 검색은 정말 불가능해서 결국 CD를 사야 했음
  • Some tracks are long

    녹음된 트랙만 말하는 것 같긴 한데, 13시간은 초보자 숫자임[0]
    [0] https://en.wikipedia.org/wiki/As_Slow_as_Possible#Halberstad...

    • 녹음된 트랙 중에는 4,700시간짜리도 있음
      https://www.discogs.com/release/3580802-Bull-Of-Heaven-209-B...
      5.5년짜리 트랙도 있지만 일부만 공개됐음
      https://www.discogs.com/release/3580806-Bull-Of-Heaven-210-L...
      그래도 약 13,000시간임
    • 짧은 피아노곡이 하나 있는데[1], 작곡가의 원래 지시가 천 번 넘게 반복하라는 것이라서[2] 실제 연주는 24시간을 넘김
      그래서 당연히 거의 연주되지 않음
      John Cage의 As Slow as Possible 같은 것도 있는데, 지금도 진행 중인 공연이 있음
      2001년에 시작했고 2640년에 끝나니, 끝을 보려면 서둘러야 할지도 모름
      [1] 아마 Ravel 곡일 텐데, 기억도 빠른 검색도 지금은 잘 안 맞음
      [2] 2347 같은 식의 약간 임의적으로 들리는 특별한 숫자였던 것 같음
    • 꼭 이 얘기를 하는 건 아니겠지만, 제목도 아주 길 수 있음
      Sufjan Stevens의 "The Black Hawk War, or, How to Demolish an Entire Civilization and Still Feel Good About Yourself in the Morning, or, We Apologize for the Inconvenience but You're Going to Have to Leave Now, or, 'I Have Fought the Big Knives and Will Continue to Fight Them Until They Are Off Our Lands!'"가 떠오름
      어린 스크립트 키디였던 내게 FAT32 전체 경로 길이 제한 255자를 가르쳐 준 곡임
  • Marco V의 C:\del.mp3*도 특별 언급할 만함
    https://www.discogs.com/release/133498-MarcoV-Cdelmp3-Solari...

    • 거의 음악계의 Bobby Tables
  • emma essex의 음악을 듣기 시작한 뒤로, 지금 같은 시대에도 유니코드 처리가 얼마나 반쯤만 구현돼 있는지 알게 됨
    좋아하는 예로는 앨범 "𝅙𝅙" (U+1D159)에 수록된 "HHSU 𓃚 𝕮𝖆𝖒𝖇𝖎𝖚𝖒, 𝕏𝕪𝕝𝕖𝕞, 𝓗𝓮𝓪𝓻𝓽𝔀𝓸𝓸𝓭"의 "⎆", "♫♫♩♫‿♩ but it's 怒首領蜂 大往生", "rtrc{(''»'')²2}:≞(''»''01);" 등이 있음

    • Apple Music은 "⎆"라는 곡을 너무 싫어하는지, 내 계정에서는 그 곡이 앨범에서 통째로 빠져 있음
    • 이걸 보고 UTF-8을 유니코드 코드 포인트로 바꾸는 명령줄 도구를 찾아봤고, 알고 보니 uconv -x hex/unicode였음
      첫 번째 예시는 대부분 수학용 영숫자 기호처럼 보임
      https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symb...
      누군가 유니코드 개인 사용 영역 문자를 써 본 적이 있는지 궁금함
      흥미로운 결과가 나올 수 있음
    • HN이 문자 일부를 지워 버렸을 것 같음
  • GZR, also known as g//z/r on their first album, geezer on their second, and GZR on their third.

    앨범마다 밴드 이름을 바꿨는데, 세 앨범의 앨범명이 전부 동일했다면 인상적이었을 것 같음

    • album_grouping_key나 musicbrainz_albumid 같은 게 있었다면 20년 전에 해결할 수 있었을 텐데
      “끔찍하네”
    • 이런 밴드명 변경 경계 사례는 데이터셋 내부에서 엔티티에 ID를 부여해 분리하면 해결됨
      이 단계에서는 경계 사례라고 부를 일인지도 잘 모르겠음
  • Autechre의 Untilted는 일부러 헷갈리게 만든 앨범 제목 중 내가 가장 좋아하는 사례임
    글에도 나오지만, 작은 글씨로 렌더링되면 눈으로 보고 있어도 제목이 "Untitled"가 아니라는 게 명확하지 않음

    • 맹세컨대 몇 년 동안 들어 왔는데도, 앨범명이 "untitled"가 아니라는 걸 최근에야 깨달았음
      잘했다, Ae!