KR101580247B1 - 스트리밍 음원의 리듬분석 장치 및 방법 - Google Patents

스트리밍 음원의 리듬분석 장치 및 방법 Download PDF

Info

Publication number
KR101580247B1
KR101580247B1 KR1020150010723A KR20150010723A KR101580247B1 KR 101580247 B1 KR101580247 B1 KR 101580247B1 KR 1020150010723 A KR1020150010723 A KR 1020150010723A KR 20150010723 A KR20150010723 A KR 20150010723A KR 101580247 B1 KR101580247 B1 KR 101580247B1
Authority
KR
South Korea
Prior art keywords
note
data
rhythm
sound
point
Prior art date
Application number
KR1020150010723A
Other languages
English (en)
Inventor
황규성
Original Assignee
주식회사 조이롤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 조이롤 filed Critical 주식회사 조이롤
Priority to KR1020150010723A priority Critical patent/KR101580247B1/ko
Application granted granted Critical
Publication of KR101580247B1 publication Critical patent/KR101580247B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/814Musical performances, e.g. by evaluating the player's ability to follow a notation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

스트리밍 음원의 리듬분석 장치 및 방법이 개시된다.
스트리밍 데이터를 입력받는 데이터 입력 모듈, 상기 스트리밍 데이터를 시간정보와 소리크기정보로 이루어진 PCM 데이터로 변환시키는 PCM 데이터 변환 모듈, 상기 PCM 데이터를 일정한 시간을 기준으로 나누어 타이밍 블록(Timing Block)을 생성하고 상기 타이밍 블록 각각의 소리크기의 합을 계산하여 상기 스트리밍 데이터의 메타(Meta) 데이터로 저장하는 타이밍 블록(Timing Block) 분석 모듈, 상기 타이밍 블록 각각의 소리크기의 합에 기초하여 피크 포인트를 추출하고 상기 피크 포인트를 이용하여 상기 타이밍 블록 각각에 대응하는 노트를 추출하는 리듬 분석 모듈 및 상기 타이밍 블록 각각에 대응하는 노트에 따라 상기 스트리밍 데이터의 통합 리듬 데이터를 생성하는 리듬 데이터 생성 모듈을 포함하는 스트리밍 음원의 리듬분석 장치를 제공한다.

Description

스트리밍 음원의 리듬분석 장치 및 방법{DEVICE AND METHOD OF RHYTHM ANALYSIS FOR STREAMING SOUND SOURCE}
본 발명은 스트리밍 음원의 리듬분석 장치 및 방법에 관한 것으로서, 보다 상세하게는 스트리밍 음원에서 게임에 적용하기 위한 리듬 데이터를 생성하는 리듬분석 장치 및 방법에 관한 것이다.
일반적으로 리듬액션 게임이란 PC, PDA, 휴대폰 등과 같은 단말기를 이용하며, 음의 높이, 빠르기, 세기 등의 음악의 구성요소를 이용하여 약속된 액션을 취하는 게임을 말하며, 이러한 리듬액션 게임에는 음악파일과 재생되는 음악에 맞춰 약속된 액션의 실행을 위한 리듬데이터가 필요하다.
종래의 리듬액션 게임은 게임 프로그램 제공업체에서 공급하는 리듬데이터를 사용하기 때문에 정해진 음악파일만으로 리듬액션 게임을 구현할 수 있다.
따라서, 사용자가 원하는 음악파일, 예를 들어, 사용자가 부른 노래, 동영상의 음원, 영화 효과음 및 스트리밍 기반의 실시간 음원을 이용하는 리듬액션 게임은 제공할 수 없다는 문제점이 있다.
또한, 종래의 리듬액션 게임에 난이도를 적용할 경우, 하나의 음원에서 각 난이도에 대응하는 리듬데이터를 별도로 생성해야 하기 때문에 비용이 많이 들고 저장 공간이 따로 필요하다는 문제점이 있다.
따라서, 종래의 리듬액션 게임과는 달리 사용자의 만족도를 더 높여줄 수 있도록 다양한 음악파일로 리듬데이터를 생성할 수 있는 기술의 개발이 필요한 상황이다.
한국공개특허 제2010-0092689호
본 발명의 일측면은 스트리밍 데이터에서 게임에 적용할 수 있는 리듬 데이터를 생성하는 방법으로서, 스트리밍 기반의 실시간 음원 데이터를 분석하여 리듬데이터를 생성하는 방법을 제공한다.
또한, 간단한 옵션 설정으로 별도의 저장 공간 없이 스트리밍 데이터에서 난이도를 적용한 리듬 데이터를 생성하는 방법을 제공한다.
본 발명의 일측면은 스트리밍 데이터에서 게임에 적용할 수 있는 리듬 데이터를 생성하는 리듬분석 장치에 있어서, 스트리밍 데이터를 입력받는 데이터 입력 모듈; 상기 스트리밍 데이터를 시간정보와 소리크기정보로 이루어진 PCM 데이터로 변환시키는 PCM 데이터 변환 모듈; 상기 PCM 데이터를 일정한 시간을 기준으로 나누어 타이밍 블록(Timing Block)을 생성하고, 상기 타이밍 블록 각각의 소리크기의 합을 계산하여 상기 스트리밍 데이터의 메타(Meta) 데이터로 저장하는 타이밍 블록(Timing Block) 분석 모듈; 상기 타이밍 블록 각각의 소리크기의 합에 기초하여 피크 포인트를 추출하고, 상기 피크 포인트를 이용하여 상기 타이밍 블록 각각에 대응하는 노트를 추출하는 리듬 분석 모듈; 및 상기 타이밍 블록 각각에 대응하는 노트에 따라 상기 스트리밍 데이터의 통합 리듬 데이터를 생성하는 리듬 데이터 생성 모듈을 포함할 수 있다.
한편, 상기 타이밍 블록 분석 모듈은, 음악의 32분음표 기준 시간보다 작은 시간인 T1 및 상기 T1의 n배인 T2를 설정하고, 상기 PCM 데이터를 상기 T2의 구간으로 나누어 제 1 타이밍 블록을 생성하고, 상기 제 1 타이밍 블록의 시작 지점에서 상기 T1만큼 지난 지점을 시작 지점으로 하며 상기 T2의 구간을 가지는 제 2 타이밍 블록을 생성하는 과정을 상기 스트리밍 데이터의 스트리밍이 끝날 때까지 반복하여 상기 PCM 데이터를 상기 T1을 기준으로 중첩되게 나누어 상기 타이밍 블록을 생성할 수 있다.
또한, 상기 리듬 분석 모듈은, 최소 1.2배 이상의 실수값인 R배를 설정하고, 상기 타이밍 블록 중 현재 분석 지점의 타이밍 블록의 소리크기의 합이 상기 현재 분석 지점 이전의 5개 이상의 연속된 타이밍 블록 각각의 소리크기의 합의 평균값보다 상기 R배 이상인 경우, 상기 현재 분석 지점의 타이밍 블록을 상기 피크 포인트로 추출할 수 있다.
또한, 상기 리듬 분석 모듈은, 난이도 설정용 기준 시간을 설정하고, 상기 피크 포인트 중 첫 번째로 추출된 피크 포인트는 단일 노트로 추출하고, 상기 첫 번째로 추출된 피크 포인트로부터 상기 난이도 설정용 기준 시간이 지난 지점의 피크 포인트를 또 다른 단일 노트로 추출하는 것을 반복하여 상기 피크 포인트에서 상기 단일 노트를 추출할 수 있다.
또한, 상기 리듬 분석 모듈은, 상기 단일 노트로 추출된 피크 포인트 중 현재 분석 지점의 피크 포인트의 소리 크기의 합이 상기 현재 분석 지점 이전의 피크 포인트의 소리 크기의 합의 상기 R배 이상일 경우, 상기 현재 분석 지점의 피크 포인트를 더블 노트로 추출할 수 있다.
또한, 상기 리듬 분석 모듈은, 최소 5.0% 이상의 실수값인 L%를 설정하고, 상기 단일 노트로 추출된 피크 포인트 중 현재 분석 지점 이후의 피크 포인트의 소리크기의 합이 상기 현재 분석 지점의 피크 포인트의 소리크기의 합의 상하 상기 L% 범위 내에 포함되는 타이밍 블록의 소리크기의 합을 가지는 피크 포인트가 적어도 하나 이상 연속해서 존재할 경우, 상기 연속하는 적어도 하나 이상의 피크 포인트를 하나의 롱 노트로 추출할 수 있다.
또한, 상기 리듬 분석 모듈은, 최소 롱 노트 인식 길이를 설정하고, 상기 추출한 롱 노트의 길이가 상기 설정한 최소 롱 노트 인식 길이보다 작을 경우, 슬라이드 노트로 추출할 수 있다.
또한, 상기 리듬 분석 모듈은, 상기 추출한 하나의 롱 노트의 구간에 포함된 특정 타이밍 블록의 소리크기의 합이 상기 현재 분석 지점의 타이밍 블록의 소리크기의 합의 상하 상기 L% 범위 내에 존재하지 않는 경우, 슬라이드 노트를 중간에 가지고 있는 롱 노트로 추출할 수 있다.
한편, 본 발명의 다른 측면은 스트리밍 데이터에서 게임에 적용할 수 있는 리듬 데이터를 생성하는 리듬분석 방법에 있어서, 스트리밍 데이터를 입력받는 단계; 상기 스트리밍 데이터를 시간정보와 소리크기정보로 이루어진 PCM 데이터로 변환하는 단계; 상기 PCM 데이터를 일정한 시간을 기준으로 나누어 타이밍 블록(Timing Block)을 생성하고, 상기 타이밍 블록 각각의 소리크기의 합을 계산하여 스트리밍 데이터의 메타(Meta) 데이터로 저장하는 단계; 상기 타이밍 블록 각각의 소리크기의 합에 기초하여 피크 포인트를 추출하고, 상기 피크 포인트를 이용하여 상기 타이밍 블록 각각에 대응하는 노트를 추출하는 단계; 및 상기 타이밍 블록 각각에 대응하는 노트에 따라 상기 입력된 스트리밍 데이터의 통합 리듬 데이터를 생성하는 단계를 포함할 수 있다.
한편, 상기 타이밍 블록을 생성하는 것은, 상기 스트리밍 데이터의 스트리밍이 끝날 때까지 상기 PCM 데이터를 음악의 32분음표 기준 시간보다 작은 시간을 기준으로 중첩되게 나누어 생성할 수 있다.
또한, 상기 타이밍 블록 각각에 대응하는 노트를 추출하는 것은, 난이도를 적용하여 단일 노트, 더블 노트, 롱 노트 및 슬라이드 노트 중 하나의 노트를 추출할 수 있다.
상술한 본 발명의 일측면에 따르면, 스트리밍 데이터에서 게임에 적용할 수 잇는 리듬 데이터를 생성함으로써, 사용자가 원하는 다양한 스트리밍 기반의 실시간 음원을 이용하는 리듬액션 게임을 제공하여 사용자의 만족감을 높여줄 수 있다.
또한, 간단한 옵션 설정으로 별도의 저장 공간 없이 스트리밍 데이터에서 난이도를 적용한 리듬 데이터를 생성함으로써, 리듬액션 게임을 제공하는 데 필요한 저장공간을 최소화할 수 있으며 비용을 절감시킬 수 있다.
도 1은 본 발명의 실시예에 따른 리듬 분석 장치에서 생성한 리듬 데이터를 적용하여 제공되는 리듬액션 게임의 한 장면이다.
도 2는 본 발명의 실시예에 따른 리듬 분석 장치를 도시한 블록도이다.
도 3은 본 발명의 실시예에 따른 리듬 분석 장치에서의 리듬 분석 방법을 도시한 순서도이다.
도 4는 본 발명의 실시예에 따른 피크 포인트로 추출된 타이밍 블록(Timing Block)을 나타낸 그래프이다.
도 5는 본 발명의 실시예에 따른 난이도를 적용한 단일 노트로 추출된 타이밍 블록(Timing Block)을 나타낸 그래프이다.
도 6은 본 발명의 실시예에 따른 더블 노트로 추출된 타이밍 블록(Timing Block)을 나타낸 그래프이다.
도 7은 본 발명의 실시예에 따른 롱 노트로 추출된 타이밍 블록(Timing Block)을 나타낸 그래프이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예를 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 리듬 분석 장치에서 생성한 리듬 데이터를 적용하여 제공되는 리듬액션 게임의 한 장면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 리듬 분석 장치에서 스트리밍 데이터의 리듬분석을 통해 생성한 리듬 데이터는 단일 노트(61), 더블 노트(62), 롱 노트(63), 슬라이드 노트(64)중 하나의 형태로 나타낼 수 있다.
리듬액션 게임은 상술한 노트의 종류에 따라 약속된 다른 종류의 액션을 입력 받을 수 있다. 단일 노트(61)는 한 번의 짧은 입력을 받을 수 있고, 더블 노트(62)는 동시에 두 개의 입력을 받을 수 있고, 롱 노트(63)는 길게 입력을 받을 수 있으며, 슬라이드 노트(64)는 옆으로 미는 입력을 받을 수 있다. 여기에서, 입력하는 방법은 디스플레이를 터치하거나, 키보드를 이용하여 입력하는 등 리듬액션 게임이 제공되는 단말기에 따라 달라질 수 있다.
이하, 도 2 내지 도 7을 참조하여 본 발명의 실시예에 따른 리듬 분석 장치에서 리듬 데이터를 생성하는 방법에 대해 상세하게 설명하기로 한다.
도 2는 본 발명의 실시예에 따른 리듬 분석 장치를 도시한 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 리듬 분석 장치(1)는 스트리밍 데이터를 입력받는 데이터 입력 모듈(100), 입력된 스트리밍 데이터를 시간정보와 소리크기정보로 이루어진 PCM 데이터로 변환시키는 PCM 데이터 변환 모듈(200), PCM 데이터를 일정한 시간을 기준으로 중첩되게 나누어 타이밍 블록(Timing Block)을 생성하고, 타이밍 블록 각각의 소리크기의 합을 계산하고, 계산한 값을 스트리밍 데이터의 메타(Meta) 데이터로 저장하는 타이밍 블록(Timing Block) 분석 모듈(300), 계산한 타이밍 블록의 소리크기의 합에 기초하여 피크 포인트를 추출하고, 추출한 피크 포인트를 이용하여 타이밍 블록 각각에 대응하는 노트를 추출하는 리듬 분석 모듈(400) 및 추출한 타이밍 블록 각각에 대응하는 노트에 따라 입력된 스트리밍 데이터의 리듬 데이터를 생성하는 리듬 데이터 생성 모듈을 포함할 수 있다.
도 3은 본 발명의 실시예에 따른 리듬 분석 장치에서의 리듬 분석 방법을 도시한 순서도이다.
도 3을 참조하면, 리듬 분석 장치(1)에 포함된 데이터 입력 모듈(100)에서 스트리밍 데이터를 입력 받을 수 있다(10). 이때, 스트리밍 데이터는 스트리밍 기반의 실시간 음원 데이터로, 소리정보를 포함하고 있는 모든 형태의 데이터, 예를 들어, 동영상 및 프로그래밍 언어로 제작된 멀티미디어 음원 데이터 등을 포함할 수 있다.
또한, 리듬 분석 장치(1)에 포함된 PCM 데이터 변환 모듈(200)에서 데이터 입력 모듈(100)을 통해 입력된 스트리밍 데이터를 시간정보와 소리크기정보로 이루어진 PCM 데이터로 변환시킬 수 있다(20).
또한, 리듬 분석 장치(1)에 포함된 타이밍 블록 분석 모듈(300)에서 PCM 데이터 변환 모듈(200)을 통해 변환된 PCM 데이터를 일정한 시간을 기준으로 나누어 타이밍 블록을 생성할 수 있다(30).
더 구체적으로는, 먼저 음악의 32분음표 기준 시간보다 작은 시간인 T1 및 T1의 n배인 T2를 설정하고, PCM 데이터를 T2의 구간으로 나누어 제 1 타이밍 블록을 생성하고, 제 1 타이밍 블록의 시작 지점에서 T1만큼 지난 지점을 시작 지점으로 하며 T2의 구간을 가지는 제 2 타이밍 블록을 생성하는 과정을 스트리밍 데이터의 스트리밍이 끝날 때까지 반복함으로써 PCM 데이터를 T1을 기준으로 중첩되게 나누어 타이밍 블록을 생성할 수 있다.
이때, T2를 T1의 8배로 설정하면 T2는 음악의 4분음표 기준 시간보다 작은 시간으로 설정될 수 있다. 따라서, T2의 구간을 가지는 타이밍 블록을 생성하고, 타이밍 블록을 이용한 리듬 분석을 통해 리듬 데이터를 생성하면 음악의 한 박자 정도의 리듬 데이터가 추출되기 때문에 익숙한 박자로 즐길 수 있는 리듬액션 게임을 제공할 수 있다. 이와 같이, T1의 n배인 T2를 결정하는 n의 값에 따라 리듬 분석을 통해 생성되는 리듬 데이터의 박자의 빠르기를 결정할 수 있다. 그러나, n의 값을 32 이상으로 설정하면, 첫 번째 타이밍 블록에 대응하는 리듬데이터를 생성하는 데 사용자가 버퍼링을 느낄 수 있는 시간이 소요될 수 있다는 점을 고려하여 n의 값을 설정하여야 한다.
또한, 타이밍 블록을 중첩되게 나누어 생성하면, 스트리밍 기반의 실시간 음원 데이터의 전후 관계의 내용이 리듬 데이터를 생성하는 데 반영될 수 있으며, 미세한 잡음이나 갑작스런 소리의 변화를 일부 무시할 수 있게 됨으로써 스트리밍 데이터의 박자 분석이 깨지는 것을 방지할 수 있다.
예를 들어, [782346556743322]의 PCM 데이터가 있을 경우, T1을 하나의 소리크기를 포함할 수 있는 시간으로 가정하고, T2는 T1의 8배로 설정하면 여덟개의 소리크기를 포함할 수 있는 시간으로 가정할 수 있다. 따라서, PCM 데이터를 T2로 나누어 제 1 타이밍 블록인 [78234655]을 생성하고, 제 1 타이밍 블록에서 T1이 지난 지점, 즉, 소리 크기 8을 시작점으로 하며 여덟개의 소리크기를 포함하는 제 2 타이밍 블록인 [82346556]을 생성할 수 있다. 이와 같은 방법으로 [23465567], [34655674], [46556743], [65567433], [55674332], [56743322] 로 PCM 데이터를 T1을 기준으로 중첩되게 나누어진 타이밍 블록을 생성할 수 있다.
한편, 타이밍 블록을 생성한 뒤, 리듬 분석 장치(1)에 포함된 PCM 데이터 변환 모듈(300)에서 타이밍 블록 각각의 소리크기의 합을 계산할 수 있다(40).
예를 들어, [782346556743322]의 PCM 데이터에서 생성한 타이밍 블록 [78234655], [82346556], [23465567], [34655674], [46556743], [65567433], [55674332], [56743322] 각각의 소리크기를 [40], [39], [38], [40], [40], [39], [35], [32]로 계산할 수 있다.
또한, 리듬 분석 장치(1)에 포함된 PCM 데이터 변환 모듈(300)에서 타이밍 블록 각각의 소리크기의 합을 메타 데이터로 추출(50)하고 추출한 메타 데이터를 저장할 수 있다(55).
예를 들어, [782346556743322]의 PCM 데이터의 메타 데이터는 [40], [39], [38], [40], [40], [39], [35], [32]로 추출할 수 있으며, 추출한 메타 데이터를 저장하고, 추후, 동일한 스트리밍 데이터가 입력되어 분석할 경우, 상술한 과정을 생략하고 저장된 메타 데이터를 이용하여 리듬 분석을 수행할 수 있다.
또한, 리듬 분석 장치(1)에 포함된 리듬 분석 모듈(400)에서 타이밍 블록 각각의 소리크기의 합에 기초하여 피크 포인트를 추출할 수 있다(60).
더 구체적으로는, 먼저, 사용자가 리듬 분석 장치(1)에서 생성한 리듬 데이터를 이용하는 리듬액션 게임의 난이도를 선택할 수 있다. 이때, 난이도는 보통 모드, 어려운 모드, 매우 어려운 모드 등의 단계로 나누어질 수 있으며, 각 모드의 명칭 및 난이도의 단계는 변경될 수 있다. 또한, 사용자가 선택한 난이도에 따라 피크 포인트를 추출하는 데 필요한 상수 R값을 설정할 수 있다. 여기에서, R값은 1.2이상이며 난이도가 낮아질수록 R은 증가할 수 있다.
예를 들어, 사용자가 게임의 난이도를 매우 어려운 모드로 선택하면 R은 1.2로 설정되며, 사용자가 게임의 난이도를 보통 모드로 선택하면 R은 1.6으로 설정될 수 있다.
R값을 설정하면, PCM 데이터에서 피크 포인트를 추출할 수 있다. 중첩된 타이밍 블록으로 나누어진 PCM 데이터에서 현재 분석해야 하는 타이밍 블록의 소리크기의 합이 현재 분석해야 하는 타이밍 블록 이전의 연속된 5개 이상의 타이밍 블록 각각의 소리크기의 합의 평균값보다 R배 이상인 경우 피크 포인트로 추출할 수 있다.
예를 들어, 도 4를 참조하면, x축은 시간을 나타내며 y축은 타이밍 블록의 소리크기의 합을 나타낼 수 있다. 이때, 시간의 단위는 s로 설정하며 타이밍 블록의 소리크기의 단위는 dB로 설정할 수 있다. R값은 1.2로 가정할 수 있다. 현재 분석 지점의 타이밍 블록(P55)의 소리크기의 합이 현재 분석 지점 이전의 연속된 5개 이상의 타이밍 블록(P40, P30, P20, P10, …) 각각의 소리크기의 합의 평균값보다 1.2배 이상이기 때문에 현재 분석 지점의 타이밍 블록(P55)은 피크 포인트로 추출할 수 있다. 이와 같은 방법으로 피크 포인트로 추출한 타이밍 블록은 도 4 의 그래프에서 (■) 로 표시할 수 있다.
또한, 리듬 분석 장치(1)에 포함된 리듬 분석 모듈(400)에서 추출한 피크 포인트를 이용하여 단일 노트(61), 더블 노트(62), 롱 노트(63), 슬라이드 노트(64) 중 하나의 노트를 추출할 수 있다.
더 구체적으로는, PCM 데이터에서 첫 번째로 추출된 피크 포인트는 단일 노트(61)로 추출할 수 있다. 또한, 사용자가 선택한 난이도에 따라 난이도 설정용 기준 시간을 생성하고, 첫 번째로 추출된 피크 포인트에서 난이도 설정용 기준 시간이 지난 지점의 피크 포인트를 두 번째 단일 노트로 추출할 수 있다. 또한, 두 번째 단일 노트로 추출된 피크 포인트에서 난이도 설정용 기준 시간이 지난 지점의 피크 포인트를 세 번째 단일 노트로 추출할 수 있다. 이와 같은 과정을 반복하여 PCM 데이터에서 단일 노트를 추출할 수 있다. 여기에서, 난이도 설정용 기준 시간은 사용자가 선택한 난이도가 낮은 단계일수록 길어질 수 있다.
예를 들어, 사용자가 게임의 난이도를 매우 어려운 모드로 선택하면 난이도 설정용 기준 시간은 음악 악보상 32분음표의 시간 간격, 어려운 모드로 선택하면 난이도 설정용 기준 시간은 음악 악보상 16분음표의 시간 간격, 보통 모드로 선택하면 난이도 설정용 기준 시간은 음악 악보상 8분음표의 시간 간격으로 생성할 수 있다.
도 5를 참조하면, x축은 시간을 나타내며 y축은 타이밍 블록의 소리크기의 합을 나타낼 수 있다. 이때, 시간의 단위는 s로 설정하며 타이밍 블록의 소리크기의 단위는 dB로 설정할 수 있다. PCM 데이터에서 첫 번째로 추출된 피크 포인트가 P10 이라고 가정하면, P10은 단일 노트로 추출할 수 있다. 또한, P10에서 난이도 설정용 기준 시간이 지난 지점 이후의 피크 포인트(P55)를 두 번째 단일 노트로 추출할 수 있다. 이와 같은 과정을 반복하여 PCM데이터에서 단일 노트를 추출할 수 있다. 단일 노트로 추출된 피크 포인트는 도 5 의 그래프에서 (■) 로 표시할 수 있다.
또한, 추출한 단일 노트를 이용하여 더블 노트(62)를 추출할 수 있다. 이때, 사용자가 선택한 난이도에 따라 설정한 R값을 이용할 수 있다. 현재 분석 지점의 단일 노트로 추출된 피크 포인트의 소리크기의 합이 현재 분석 지점 이전의 단일 노트로 추출된 피크 포인트의 소리크기의 합의 R배 이상일 경우 더블 노트로 추출할 수 있다. 여기에서, R값이 작을수록 더블노트가 많이 추출될 수 있기 때문에 게임의 난이도는 높아질 수 있다.
예를 들어, 도 6을 참조하면, x축은 시간을 나타내며 y축은 타이밍 블록의 소리크기의 합을 나타낼 수 있다. 이때, 시간의 단위는 s로 설정하며 타이밍 블록의 소리크기의 단위는 dB로 설정할 수 있으며 R값은 1.2로 가정할 수 있다. 또한, 단일 노트로 추출된 피크 포인트를 순차적으로 나열한 것을 확인할 수 있다. 현재 분석 지점의 피크 포인트(P16)의 소리크기의 합이 현재 분석 지점 이전의 피크 포인트(P8)의 소리크기의 합의 1.2배 이상이기 때문에 현재 분석 지점의 피크 포인트(P16)는 더블 노트로 추출할 수 있다. 이와 같은 방법으로 추출한 더블 노트는 도 6 의 그래프에서 (■) 로 표시할 수 있다.
또한, 추출한 단일 노트를 이용하여 롱 노트(63)를 추출할 수 있다. 사용자가 선택한 난이도에 따라 L값을 설정하고, 현재 분석 지점 이후의 적어도 하나 이상의 단일 노트로 추출된 피크 포인트의 소리크기의 합이 현재 분석 지점의 단일 노트로 추출된 피크 포인트의 소리크기의 합의 상하 L% 범위 내에 연속해서 존재할 경우, 연속되는 단일 노트로 추출된 피크 포인트를 하나의 롱 노트로 추출할 수 있다. 여기에서, L값은 5.0이상이며 L값이 작을수록 롱 노트가 적게 추출될 수 있기 때문에 게임의 난이도는 높아질 수 있다.
도 7을 참조하면, x축은 시간을 나타내며 y축은 타이밍 블록의 소리크기의 합을 나타낼 수 있다. 이때, 시간의 단위는 s로 설정하며 타이밍 블록의 소리크기의 단위는 dB로 설정할 수 있다. L값은 10으로 가정할 수 있다.
현재 분석 지점의 단일 노트로 추출된 피크 포인트(P-a) 이후의 단일 노트로 추출된 피크 포인트(P-b, P-c)의 소리크기의 합이 현재 분석 지점의 단일 노트로 추출된 피크 포인트(P-a)의 소리크기의 합의 상하 10% 범위 내에 연속해서 존재하기 때문에, P-a 부터 P-c까지의 타이밍 블록을 롱 노트로 추출할 수 있다. 이와 같은 방법으로 추출한 롱 노트는 도 7 의 그래프에서 빗금으로 표시할 수 있다.
또한, 추출한 롱 노트를 이용하여 슬라이드 노트(64)를 추출할 수 있다. 먼저 최소 롱 노트 인식 길이를 설정하고, 롱 노트 추출 과정에서 롱 노트의 길이가 최소 롱 노트 인식 길이보다 작을 경우, 하나의 롱 노트로 표현하기 애매한 상황이기 때문에 옆으로 미는 슬라이드 노트로 추출할 수 있다. 슬라이드 노트로 추출함으로써 음악적으로 음 하나가 튀는 상황에 대해서 사용자가 인식할 수 있어 리듬감을 살려줄 수 있다.
또한, 추출한 롱 노트의 구간 가운데 특정 타이밍 블록의 소리크기의 합이 롱 노트의 추출 기준에 적합하지 않고, 단일 노트의 추출 기준에 적합한 경우 슬라이드 노트를 중간에 가지고 있는 롱 노트로 추출할 수 있다.
한편, 사용자의 더블, 롱, 슬라이드 노트의 온 또는 오프 설정에 따라 상술한 더블, 롱, 슬라이드 노트를 생성하는 과정을 생략하고 단일 노트만을 추출할 수도 있다.
또한, 리듬 분석 장치(1)에 포함된 리듬 데이터 생성 모듈(500)에서 추출한 타이밍 블록 각각에 대응하는 노트에 따라 실제 리듬게임에 적용할 수 있는 통합 리듬 데이터를 생성할 수 있다(70).
또한, 생성한 통합 리듬 데이터를 게임 UI Tread 또는 Processor로 전송할 수 있다(80). 생성한 통합 리듬 데이터를 게임에 적용하기 위해서는 상술한 본 발명의 리듬 분석 모듈(1)과는 별도의 Thread 또는 Processor에서 구동되는 게임 UI 모듈이 더 필요하다.
이와 같은, 스트리밍 음원의 리듬을 분석하는 기술은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 데이터 입력 모듈
200: PCM 데이터 변환 모듈
300: 타이밍 블록(Timing Block) 분석 모듈
400: 리듬 분석 모듈
500: 리듬 데이터 생성 모듈

Claims (11)

  1. 스트리밍 데이터를 입력받는 데이터 입력 모듈;
    상기 스트리밍 데이터를 시간정보와 소리크기정보로 이루어진 PCM 데이터로 변환시키는 PCM 데이터 변환 모듈;
    상기 PCM 데이터를 음악의 32분음표 기준 시간보다 작은 시간을 기준으로 중첩되게 나누어 타이밍 블록(Timing Block)을 생성하고, 상기 타이밍 블록 각각의 소리크기의 합을 계산하여 상기 스트리밍 데이터의 메타(Meta) 데이터로 저장하는 타이밍 블록(Timing Block) 분석 모듈;
    상기 타이밍 블록 각각의 소리크기의 합에 기초하여 피크 포인트를 추출하고, 상기 피크 포인트를 이용하여 상기 타이밍 블록 각각에 대응하는 노트를 추출하는 리듬 분석 모듈; 및
    상기 타이밍 블록 각각에 대응하는 노트에 따라 상기 스트리밍 데이터의 통합 리듬 데이터를 생성하는 리듬 데이터 생성 모듈을 포함하는 스트리밍 음원의 리듬분석 장치.
  2. 제 1 항에 있어서,
    상기 타이밍 블록 분석 모듈은,
    음악의 32분음표 기준 시간보다 작은 시간인 T1 및 상기 T1의 n배인 T2를 설정하고, 상기 PCM 데이터를 상기 T2의 구간으로 나누어 제 1 타이밍 블록을 생성하고, 상기 제 1 타이밍 블록의 시작 지점에서 상기 T1 만큼 지난 지점을 시작 지점으로 하며 상기 T2의 구간을 가지는 제 2 타이밍 블록을 생성하는 과정을 상기 스트리밍 데이터의 스트리밍이 끝날 때까지 반복하여 상기 PCM 데이터를 상기 T1을 기준으로 중첩되게 나누어 상기 타이밍 블록을 생성하는 것을 특징으로 하는 스트리밍 음원의 리듬분석 장치.
  3. 제 2 항에 있어서,
    상기 리듬 분석 모듈은,
    최소 1.2배 이상의 실수값인 R배를 설정하고, 상기 타이밍 블록 중 현재 분석 지점의 타이밍 블록의 소리크기의 합이 상기 현재 분석 지점 이전의 5개 이상의 연속된 타이밍 블록 각각의 소리크기의 합의 평균값보다 상기 R배 이상인 경우, 상기 현재 분석 지점의 타이밍 블록을 상기 피크 포인트로 추출하는 것을 특징으로 하는 스트리밍 음원의 리듬분석 장치.
  4. 제 3 항에 있어서,
    상기 리듬 분석 모듈은,
    난이도 설정용 기준 시간을 설정하고, 상기 피크 포인트 중 첫 번째로 추출된 피크 포인트는 단일 노트로 추출하고, 상기 첫 번째로 추출된 피크 포인트로부터 상기 난이도 설정용 기준 시간이 지난 지점의 피크 포인트를 또 다른 단일 노트로 추출하는 것을 반복하여 상기 피크 포인트에서 상기 단일 노트를 추출하는 것을 특징으로 하는 스트리밍 음원의 리듬분석 장치.
  5. 제 4 항에 있어서,
    상기 리듬 분석 모듈은,
    상기 단일 노트로 추출된 피크 포인트 중 현재 분석 지점의 피크 포인트의 소리 크기의 합이 상기 현재 분석 지점 이전의 피크 포인트의 소리 크기의 합의 상기 R배 이상일 경우, 상기 현재 분석 지점의 피크 포인트를 더블 노트로 추출하는 것을 특징으로 하는 스트리밍 음원의 리듬분석 장치.
  6. 제 4 항에 있어서,
    상기 리듬 분석 모듈은,
    최소 5.0% 이상의 실수값인 L%를 설정하고, 상기 단일 노트로 추출된 피크 포인트 중 현재 분석 지점 이후의 피크 포인트의 소리크기의 합이 상기 현재 분석 지점의 피크 포인트의 소리크기의 합의 상하 상기 L% 범위 내에 포함되는 타이밍 블록의 소리크기의 합을 가지는 피크 포인트가 적어도 하나 이상 연속해서 존재할 경우, 연속하는 적어도 하나 이상의 상기 피크 포인트를 하나의 롱 노트로 추출하는 것을 특징으로 하는 스트리밍 음원의 리듬분석 장치.
  7. 제 6 항에 있어서,
    상기 리듬 분석 모듈은,
    최소 롱 노트 인식 길이를 설정하고, 상기 롱 노트의 길이가 상기 최소 롱 노트 인식 길이보다 작을 경우, 슬라이드 노트로 추출하는 것을 특징으로 하는 스트리밍 음원의 리듬분석 장치.
  8. 제 6 항에 있어서,
    상기 리듬 분석 모듈은,
    상기 롱 노트의 구간에 포함된 특정 타이밍 블록의 소리크기의 합이 상기 현재 분석 지점의 타이밍 블록의 소리크기의 합의 상하 상기 L% 범위 내에 존재하지 않는 경우, 슬라이드 노트를 중간에 가지고 있는 롱 노트로 추출하는 것을 특징으로 하는 스트리밍 음원의 리듬분석 장치.
  9. 스트리밍 데이터를 입력받는 단계;
    상기 스트리밍 데이터를 시간정보와 소리크기정보로 이루어진 PCM 데이터로 변환하는 단계;
    상기 PCM 데이터를 음악의 32분음표 기준 시간보다 작은 시간을 기준으로 중첩되게 나누어 타이밍 블록(Timing Block)을 생성하고, 상기 타이밍 블록 각각의 소리크기의 합을 계산하여 스트리밍 데이터의 메타(Meta) 데이터로 저장하는 단계;
    상기 타이밍 블록 각각의 소리크기의 합에 기초하여 피크 포인트를 추출하고, 상기 피크 포인트를 이용하여 상기 타이밍 블록 각각에 대응하는 노트를 추출하는 단계; 및
    상기 타이밍 블록 각각에 대응하는 노트에 따라 상기 입력된 스트리밍 데이터의 통합 리듬 데이터를 생성하는 단계를 포함하는 스트리밍 음원의 리듬분석 방법.
  10. 삭제
  11. 제 9 항에 있어서,
    상기 타이밍 블록 각각에 대응하는 노트를 추출하는 것은,
    난이도를 적용하여 단일 노트, 더블 노트, 롱 노트 및 슬라이드 노트 중 하나의 노트를 추출하는 것인 스트리밍 음원의 리듬분석 방법.
KR1020150010723A 2015-01-22 2015-01-22 스트리밍 음원의 리듬분석 장치 및 방법 KR101580247B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150010723A KR101580247B1 (ko) 2015-01-22 2015-01-22 스트리밍 음원의 리듬분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150010723A KR101580247B1 (ko) 2015-01-22 2015-01-22 스트리밍 음원의 리듬분석 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101580247B1 true KR101580247B1 (ko) 2015-12-28

Family

ID=55085050

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150010723A KR101580247B1 (ko) 2015-01-22 2015-01-22 스트리밍 음원의 리듬분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101580247B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277636A (zh) * 2017-06-15 2017-10-20 广州华多网络科技有限公司 一种直播过程中的互动方法、用户端、主播端及系统
KR20220036116A (ko) * 2020-09-15 2022-03-22 (주)구니스 리듬 게임 패턴의 자동 생성 기능이 구비된 리듬 게임 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100004667A (ko) * 2008-07-04 2010-01-13 주식회사 코리아리즘 리듬액션 게임에 사용되는 불특정 음원에 대한 리듬데이터생성장치 및 방법
KR20100092689A (ko) 2009-02-13 2010-08-23 김정희 스트리밍 음원을 이용한 게임제공방법 및 그 시스템
KR20100124578A (ko) * 2009-05-19 2010-11-29 주식회사 게임빌 리듬게임방법
KR20110096400A (ko) * 2010-02-22 2011-08-30 철 석 사용자 보유 음원을 이용한 음악 게임 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100004667A (ko) * 2008-07-04 2010-01-13 주식회사 코리아리즘 리듬액션 게임에 사용되는 불특정 음원에 대한 리듬데이터생성장치 및 방법
KR20100092689A (ko) 2009-02-13 2010-08-23 김정희 스트리밍 음원을 이용한 게임제공방법 및 그 시스템
KR20100124578A (ko) * 2009-05-19 2010-11-29 주식회사 게임빌 리듬게임방법
KR20110096400A (ko) * 2010-02-22 2011-08-30 철 석 사용자 보유 음원을 이용한 음악 게임 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277636A (zh) * 2017-06-15 2017-10-20 广州华多网络科技有限公司 一种直播过程中的互动方法、用户端、主播端及系统
CN107277636B (zh) * 2017-06-15 2020-04-03 广州华多网络科技有限公司 一种直播过程中的互动方法、用户端、主播端及系统
KR20220036116A (ko) * 2020-09-15 2022-03-22 (주)구니스 리듬 게임 패턴의 자동 생성 기능이 구비된 리듬 게임 장치
KR102410712B1 (ko) 2020-09-15 2022-06-20 (주)구니스 리듬 게임 패턴의 자동 생성 기능이 구비된 리듬 게임 장치

Similar Documents

Publication Publication Date Title
US11456017B2 (en) Looping audio-visual file generation based on audio and video analysis
AU2021201716B2 (en) Rhythmic Synchronization Of Cross Fading For Musical Audio Section Replacement For Multimedia Playback
JP5759022B2 (ja) セマンティック・オーディオ・トラック・ミキサー
CN110603537A (zh) 增强的内容跟踪系统和方法
US20090288546A1 (en) Signal processing device, signal processing method, and program
US20120101606A1 (en) Information processing apparatus, content data reconfiguring method and program
JP2017513049A (ja) カラオケ曲の演奏に関するフィードバックをユーザに提供する方法
JP2014006480A (ja) 情報処理装置、情報処理方法及びプログラム
JP2007213058A (ja) 歌詞の繰り返しパターンに基づいて歌詞構造を抽出する装置、システム、及びその方法
US11081138B2 (en) Systems and methods for automated music rearrangement
US20140128160A1 (en) Method and system for generating a sound effect in a piece of game software
JP2003177784A (ja) 音響変節点抽出装置及びその方法、音響再生装置及びその方法、音響再生システム、音響配信システム、情報提供装置、音響信号編集装置、音響変節点抽出方法プログラム記録媒体、音響再生方法プログラム記録媒体、音響信号編集方法プログラム記録媒体、音響変節点抽出方法プログラム、音響再生方法プログラム、音響信号編集方法プログラム
Wenner et al. Scalable music: Automatic music retargeting and synthesis
KR101580247B1 (ko) 스트리밍 음원의 리듬분석 장치 및 방법
JP2004159192A (ja) 映像要約方法及びプログラム及び映像要約プログラムを格納した記憶媒体
JP2014013340A (ja) 作曲支援装置、作曲支援方法、作曲支援プログラム、作曲支援プログラムを格納した記録媒体およびメロディ検索装置
CN114078464B (zh) 音频处理方法、装置及设备
US20230197114A1 (en) Storage apparatus, playback apparatus, storage method, playback method, and medium
JP4563418B2 (ja) 音声処理装置、音声処理方法、ならびに、プログラム
US9471205B1 (en) Computer-implemented method for providing a media accompaniment for segmented activities
WO2015040743A1 (ja) アノテーション共有方法、アノテーション共有装置及びアノテーション共有プログラム
CN117524179A (zh) 歌曲节拍数据的处理方法、装置、设备及存储介质
KR20240028622A (ko) 의미 단위 이동이 가능한 미디어 플레이어를 갖는 사용자 단말장치 및 그의 동작 방법
Kosonen et al. Rhythm metadata enabled intra-track navigation and content modification in a music player
JP2018088000A (ja) 作曲支援装置、作曲支援方法、作曲支援プログラム、作曲支援プログラムを格納した記録媒体

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 5