melon_thumb-1

2017년 2학기에 이준환 교수님 정보 비주얼라이제이션을 수강했다. 기말 팀 프로젝트로 멜론(Melon) 음악 차트 시각화 대쉬보드 플랫폼인 "Melon Chart Explorer(멜론 차트 익스플로러)"를 개발했다. 약 10일 동안 팀프로젝트를 진행했고 시각화 라이브러리로 유명한 d3.js를 사용했다. 아쉽게도 소스코드는 오픈하지 못해, 내용 위주로 설명하고자 한다.

장범준은 매년 벚꽃연금을 받고 있을까?

음원 차트는 대중음악을 평가하는 척도로서 대중들의 선호, 장르, 유행, 인기 아티스트를 보여주는 음악 산업의 중요한 데이터이다. 음원차트가 곧 '인기'를 입증하다보니 유명 아이돌 가수의 팬들 사이에서는 신규 앨범 발매 직후 해당 가수의 싱글이 멜론 실시간 차트에서 몇 위를 ‘찍었느냐’, 그리고 그 순위가 어느 정도 지속되느냐가 초미의 관심사이다.

최근 한 방송에서 장범준은 매년 봄마다 '벚꽃엔딩' 덕분에 벚꽃연금을 받는다고 밝혔다. 벚꽃이 필 무렵, 방송, 라디오, 상점 등 버스커버스커의 벚꽃엔딩이 지겹게도 울려 펴진다. 정말 장범준이 매년 벚꽃연금을 받고 있을까 궁금해졌다.

etoday

대형 인터넷 음원 사이트인 멜론(MelOn), 지니, 네이버 뮤직, 벅스, 뮤직(Bugs Music), 지니(Genie) 모두
국내 음원 차트 순위를 제공하며, 일반적인 리스트형식의 표를 통해 한시적인 기간(주간)의 데이터를 나타내고 있다.

대표적인 음원 차트인 멜론 Top 100 역시 기본적인 표를 통해 데이터 실시간-급상승-일간-주간-월간목록으로 구분하여 데이터 리스트를 제공한다.

실시간-급상승-일간-주간-월간목록 표

그러나 이 차트를 보고 장범준이 벚꽃연금을 받고 있는지 직관적으로 알 수 있을까? '벚꽃엔딩'이 어느 계절에, 얼마나 오랫동안 사랑받고 있는지 단순한 순위 표만 보고 알 수 없다. 이는 <표>의 한계상 데이터를 통한 직관적인 인사이트 도출이 어렵기 때문이다.

물론 멜론에서는 실시간 TOP3 순위 변동을 보여주는 라인 그래프가 있다.

melon-graph

그러나 가장 중요한 음원 순위 정보를 담은 표의 시각화는 없었다. 장기간의 축적된 차트 데이터를 통해 다양한 정보 해석을 할 수 있음에도 불구하고 직관적으로 파악할 수 있는 도구는 없다. 예를 들면 2017년 6월부터 12월까지 방탄소년단의 모든 곡들의 순위 변동을 알고 싶다면, 현재 멜론 top100 표를 가지고 알 수 있는 방법은 없을 것이다. 아마 방탄소년단 소속사의 관계자 누군가는 한 땀씩 엑셀 작업을 하고 있을지도 모르겠다.

따라서 멀티 차트 시각화를 통해 인터렉티브한 인터페이스와 직관적인 인사이트를 줄 수 있는 시각화가 필요하다고 판단했다. 음악 차트를 시각화 한다면, 가령 장범준이 매해 봄 벚꽃연금을 진짜 받고 있는지 알 수 있지 않을까?

음악 차트 순위 시각화

"Music Chart", "Music Ranking Visualization"과 관련된 프로젝트를 리서치했고, 관련 시각화 예시들을 통해 구체적인 아이디어와 영감을 얻었다.

1. nytimes. 빌보드 차트 내 마이클 잭슨 곡 순위 변동

jackson-billboard

  • Methodology : Line Graph, Time-serial Chart
  • Contents: 1982년 "Thriller"와 1987년 "Bad" 앨범을 냈을 시기가 전성기를 알 수 있다.

2. Splunk Inc. 아티스트 다운로드 대시보드

music-chart-download-1

  • Methodology : Sankey Diagrams, Bar graph
  • Contents: 다운로드 별 아티스트 순위, 디바이스 별 아티스트 다운로드 수, 시간별 다운로드 수 아티스트 점유율

3. Pudding. 빌보드 차트 히스토리 시각화 (The Billboard Top 100)

billboard-pudding

  • Methodology : Interactive & Dynamic Graph, Time-serial Chart, Real-Time Chart Rendering
  • Contents: 해당 월별 순위 변경 auto-rending, 아티스트 검색, 해당 시점(월, 년) 선택

Melon Music Chart Explorer 디자인

무엇보다 시간에 따른 변화와 양상을 한눈에 파악할 수 있는 인터렉티브한 인터페이스가 중요하기 때문에 아래와 같은 요구 사항을 바탕으로 차트 요소를 구성했다.

  • 전반적인 가요계의 추이를 읽을 수 있다.
  • 사용자가 설정한 기간에 따라 차트 정보를 유동적으로 표시한다.
  • 각 곡/아티스트/앨범의 시간에 따른 순위 추위 파악한다.

그리고 최종적으로 음악 변동 순위 분석 & 대시보드 플랫폼인 멜론 뮤직 차트 익스플로러(Melon Music Chart Explorer)를 만들었다.

Database

벅스, 네이버 뮤직, 멜론 등 국내 유명 음악스트리밍 서비스에서 음악 순위를 제공하고 있으나, 현재 순위 데이터 관련 오픈 API는 없다. 따라서 데이터 수집을 위해 크롤링이 필수였다. 멜론 차트는 타 서비스에 비해 데이터 속성이 풍부했고, 크롤링하기도 쉬운 구조였다. 크롤링 도구로는 파이썬을 사용했다.

데이터는 2012년 1월 1일 부터 2017년 12월 3일까지 약 5년간 멜론 차트 데이터를 순차적으로 크롤링을 했고, 최종 json파일을 만들었다. 멜론에서는 아래와 같이 곡마다 많은 정보를 담고 있다.

infomation

Album 해당 곡의 앨범 명
Artist 가수 명
Artist Agency 가수 소속사
Artist Debut Date 가수 데뷔일
Artist Group Info 가수 그룹 유형 (솔로/ 그룹)
Artist Sex 가수의 성별
Rank 순위
RankDiff 전주대비 순위 변동
Song Genre 장르
Song Release Date 곡 발매일
Song Title 곡명

UI

최종 구현한 UI 대시보드는 아래와 같다.

final-1

메인 차트는 2012년도부터 2017년도 까지 총 기간을 나타내는 히트맵이다. 가로축은 각 주(week)를 나타내며 세로축은 주간 순위를 나타낸다.(위에서부터 1위 ~ 100위) 우측 주간 차트 표에서 곡, 아티스트, 앨범을 클릭하면 빨간 색 네모로 해당 구간에 마킹이 된다. 각 점들을 이을 수 있어 라인 그래프를 볼 수 있게 했다.

메인 차트의 배경으로 Sex, Group, Sex+Group, Genre, Weeks in Chart를 별도로 옵션을 주어, 각 파라미터에 따른 분포를 시각화했다.

그리고 마지막 하단에는 1.전체구간(2012년부터 2017년까지), 2. 슬라이드 바를 통해 2.설정한 구간(기간)을 설정한 차트 정보의 다양한 정보를 시각화했다.

해당 기간 별 아티스트 수 변화, 성별/그룹/장르의 정도, 그리고 장르별 분포도를 시각화했다.

데모

melon-chart-demo

봄에는 '버스커버스커의 벚꽃엔딩', 여름에는 '시스타'

이제 개발된 Melon Chart Explorer로 나온 결과를 살펴보자.

버스커버스커 벚꽃엔딩을 먼저 보았다.

busker

어김없이 매년 3월이 찾아오면 벚꽃엔딩은 순위권 진입한다. 벚꽃이 만개하는 4월 중순에는 정점을 찍다 벚꽃이 진 4월 말 ~ 5월 초 순위권 밖으로 밀려난다. 벚꽃엔딩 최초 발매일 2012년 봄이였으니 5년이 지난 지금도 매년 봄이 찾아오면 대중은 벚꽃엔딩을 찾아 듣는다. 그러나 점차 순위권 진입 빈도가 낮아지고 있고, 최고 순위도 하강하는 추세다. 장범준이 말한 "벚꽃연금"은 실제였다! 그의 벚꽃연금이 지속될 수 있을까?

"썸머깡패"라고 불리는 씨스타는 어떨까?

sistar

2012년부터 2016년까지 4년째 여름에만 활동하며 시원함과 청량감 음악으로 대중을 사로잡고 있는 시스타는 앨범 발매 때마자 문제없이 top 10에 진입, 1위의 타이틀을 거머쥔다. 여름이 찾아오는 6월부터 무더위가 끝날 8월 말까지, 여름시즌동안 씨스타의 인기는 지속된다. 안타깝게 2017년 여름을 앞두고 돌연 해체를 밝혔음에도, 대중은 여전히 여름마다 씨스타의 음악을 듣고 있다.

국민여동생 아이유는?

iu

2008년 데뷔해 올해 10년차를 맞은 아이유는 2010년 ‘좋은 날’, 2011년 ‘너랑 나’, 2013년 ‘분홍신’ 등 히트곡을 발표하며 '국민 여동생'으로 팬들의 큰 사랑을 받았다. 아이유는 앨범 이외에도 피처링, 리메이크 앨범 등 많은 음악 작업에 참여하고 있으며 대다수 곡이 큰 사랑을 받고 있었기 때문에 거의 모든 곡이 순위권에 올랐다. 타이틀 곡의 경우 발매 1시간 만에 모든 국내 음악 차트에서 순위 1위를 휩쓸다고 하니, 시각화를 통해 본 아이유의 음악적 성과는 대단하다. 올해도 역시 아이유는 빛났다.

마치며

이처럼 개발된 Melon Chart Explorer는 연도별, 계절별, 분기별 음악트렌드 및 대중 선호 경향 파악이 가능하기 때문에 국내 음악산업의 경향을 한 눈에 파악할 수 있다는 장점이 있다.

국내 유행곡(Hit Song)의 유형 및 음악적 특성을 무엇이고, 대중들의 선호는 어떠한 특성으로 집중되는지 연구자료로 활용할 수 있다. 또한 기획사 및 발매사의 분포를 통해 차트에 가장 많은 곡이 진입된 기획사를 파악하여 대중음악의 산업적 형태를 읽을 수 있을 것이다.

향후 좀더 많은 데이터가 확보된다면 아티스트의 음악 차트 순위권 예측과 경쟁 아티스트와 비교 분석도 가능하기 때문에, 아이돌 그룹의 데뷔, 음반 발매 일정, 음악 특징 등을 고려하는 데 뒷받침이 될 수 있다. 이처럼 멜론 차트 익스플로러는 음악 콘텐츠를 생산하고 결정하는데 다양한 시각을 제공하며, 음악산업을 계획을 수립하는데 방향성을 제시하는 근거로 활용될 수 있을 것이라 기대한다.

기회가 된다면 코드는 물론, 사용자 경험을 개선하여 실제 서비스를 오픈해보고 싶은 생각든 프로젝트였다.