KR101714432B1 - 악보의 난이도 수준을 평가하는 장치 및 방법 - Google Patents

악보의 난이도 수준을 평가하는 장치 및 방법 Download PDF

Info

Publication number
KR101714432B1
KR101714432B1 KR1020150125071A KR20150125071A KR101714432B1 KR 101714432 B1 KR101714432 B1 KR 101714432B1 KR 1020150125071 A KR1020150125071 A KR 1020150125071A KR 20150125071 A KR20150125071 A KR 20150125071A KR 101714432 B1 KR101714432 B1 KR 101714432B1
Authority
KR
South Korea
Prior art keywords
note
score
musical
notes
frequency
Prior art date
Application number
KR1020150125071A
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 KR1020150125071A priority Critical patent/KR101714432B1/ko
Application granted granted Critical
Publication of KR101714432B1 publication Critical patent/KR101714432B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/005Musical accompaniment, i.e. complete instrumental rhythm synthesis added to a performed melody, e.g. as output by drum machines
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/051Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction or detection of onsets of musical sounds or notes, i.e. note attack timings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/135Musical aspects of games or videogames; Musical instrument-shaped game input interfaces
    • G10H2220/151Musical difficulty level setting or selection

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

본 발명은 악보의 난이도 수준을 평가하는 기술에 관한 것으로, 적어도 하나의 연산 장치 및 데이터 입력 장치를 구비하여 악보의 난이도 수준을 평가하는 방법은, 연산 장치가 데이터 입력 장치를 통해 악보를 입력받아 음표의 종류(type)를 포함하는 구조화된 전자 악보로 변환하고, 구조화된 전자 악보로부터 음표(note)에 할당된 값과 악보의 구조에 기초하여 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하고, 식별된 구성 요소에 기초하여 하나의 마디 내의 음표의 개수를 나타내는 마디별 음표의 빈도수를 산출하며, 악보 내의 모든 마디에서 획득된 전체 음표 빈도수 및 미리 설정된 악보의 난이도 범위에 기초하여 악보의 난이도 수준을 결정한다.

Description

악보의 난이도 수준을 평가하는 장치 및 방법{Apparatus and method for estimating difficulty level of music score}
본 발명은 악보의 난이도 수준을 평가하는 기술에 관한 것으로, 특히 XML 형식으로 전자화된 악보로부터 추출한 음표(note)를 수치화하고 사용자가 원하는 수준에 맞는 악보의 난이도를 파악할 수 있도록 하는 악보의 난이도 수준을 자동으로 분석하여 평가하는 장치, 방법 및 이를 기록한 기록매체에 관한 것이다.
종이로 된 악보를 유통하던 시대를 지나 전자화된 악보를 사용자에게 제공하고, 이를 획득한 사용자가 전자 악보를 이용하여 음악을 연주하거나 학습에 활용하는 시대가 도래하였다. 그럼에도 불구하고, 여전히 많은 악보들은 종이 형태로 존재하며 격식을 갖춘 연주회장에서는 아날로그 방식의 악보를 연주자가 직접 활용하는 경우도 다수 존재한다.
한편, 연주자들을 위하여 종이에 활자 인쇄된 다수의 악보들을 전자 문서로 가공하고, 음악을 배우고 가르치는 분야에서 널리 활용될 수 있도록 일련의 커리큘럼으로 설계하는 작업 또한 필요하다. 음악 분야에서는 과거로부터 축적된 경험에 의존하여 악보의 난이도를 결정하고, 이들을 다양한 순서와 교육 과정으로 편집하여 학생들에게 제공하던 방식이 일반적이었다.
그러나 전자 문서로서 악보가 옮겨온 이후에도 여전히 이러한 전문가의 수작업에 의하여 악보의 난이도를 분류하고 체계화하는 일이 이루어지고 있으며, 이는 다수의 악보를 분류하거나 새로 작곡된 악보를 분류함에 있어서도 매우 비효율적임이 지적되었다.
이하에서 소개되는 선행기술문헌에는 악보를 이미지 캡처하거나 전자 파일로 수신하여 이로부터 오디오 연주를 위한 표현을 생성하는 구성이 개괄적으로 기술되어 있으나, 여전히 악보를 해석하여 그 난이도 수준을 자동으로 평가하는 기술적 수단에 대해서는 제시하고 있는 바가 전혀 없다.
한국특허공개공보 10-2007-0095332, 2007년 09월 28일 공개
본 발명이 해결하고자 하는 기술적 과제는, 종래의 전자 악보 기술이 종이 악보 또는 단순 이미지로서 변환된 악보를 악보 내에 표현된 구성 요소의 의미가 포함되도록 전자 악보로서 가공, 변환하는데 그치고 있는 한계를 극복하고, 다수의 악보들의 난이도 수준을 판별함에 있어서 전적으로 전문가의 경험과 지식에 의존하고 있는 불편을 해소하며, 또한 악보의 난이도를 분류하는 개인의 성향에 따라 난이도 수준 평가에 일관성이 없거나 악보의 단편적인 특성만을 평가에 반영하는 문제점을 해결하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 적어도 하나의 연산 장치 및 데이터 입력 장치를 구비하여 악보의 난이도 수준을 평가하는 방법은, 연산 장치가 데이터 입력 장치를 통해 악보를 입력받아 음표의 종류(type)를 포함하는 구조화된 전자 악보로 변환하는 단계; 상기 연산 장치가 상기 구조화된 전자 악보로부터 음표(note)에 할당된 값과 악보의 구조에 기초하여 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하는 단계; 상기 연산 장치가 식별된 상기 구성 요소에 기초하여 하나의 마디 내의 음표의 개수를 나타내는 마디별 음표의 빈도수를 산출하는 단계; 및 상기 연산 장치가 악보 내의 모든 마디에서 획득된 전체 음표 빈도수 및 미리 설정된 악보의 난이도 범위에 기초하여 상기 악보의 난이도 수준을 결정하는 단계;를 포함한다.
일 실시예에 따른 상기 악보의 난이도 수준을 평가하는 방법에서, 상기 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하는 단계는, 마디를 나타내는 마디 태그(tag)를 이용하여 상기 구조화된 전자 악보를 분리하고 분리된 마디의 개수를 계수하는 단계; 및 화음(chord)을 나타내는 화음 태그를 이용하여 화음을 이루는 음표를 식별하는 단계;를 포함한다.
일 실시예에 따른 상기 악보의 난이도 수준을 평가하는 방법에서, 상기 마디별 음표의 빈도수를 산출하는 단계는, 마디별로 하나의 마디 내에 포함된 음표(note) 각각의 가중치(weight) 및 식별된 상기 구성 요소 중 화음을 고려하여 마디별 음표의 빈도수를 산출할 수 있다.
일 실시예에 따른 상기 악보의 난이도 수준을 평가하는 방법에서, 상기 음표 각각의 가중치는, 하나의 마디 내에서 음표에 할당된 박자에 반비례하는 값으로 설정될 수 있다.
일 실시예에 따른 상기 악보의 난이도 수준을 평가하는 방법에서, 상기 마디별 음표의 빈도수는, 하나의 마디 내에 포함된 모든 음표에 대하여 각각의 가중치와 화음(chord)을 이루는 음표의 개수를 승산하고 승산된 값들을 모두 합산함으로써 산출할 수 있다.
일 실시예에 따른 상기 악보의 난이도 수준을 평가하는 방법에서, 상기 마디별 음표의 빈도수를 산출하는 단계는, 마디별 박자에 반비례하도록 설정된 균형 인자(balancing factor)를 상기 마디별 음표의 빈도수에 승산함으로써 박자가 상이한 마디 또는 악보들 간의 난이도 차이를 반영할 수 있다.
일 실시예에 따른 상기 악보의 난이도 수준을 평가하는 방법에서, 상기 전체 음표 빈도수는, 악보 내의 모든 마디에 대하여 상기 마디별 음표의 빈도수를 산출하고, 산출된 마디별 음표의 빈도수를 합산한 값을 전체 마디의 개수로 제산하여 획득될 수 있다.
일 실시예에 따른 상기 악보의 난이도 수준을 평가하는 방법에서, 상기 구조화된 전자 악보로 변환하는 단계는, 악보를 이미지 파일로 입력받는 단계; 입력된 상기 이미지 파일로부터 문자 및 음표를 인식하는 단계; 및 인식된 문자 및 음표를 속성별로 분류하여 계층적으로 태깅(tagging)함으로써 XML(eXtensible Markup Language) 기반의 전자 악보를 생성하는 단계;를 포함할 수 있다.
일 실시예에 따른 상기 악보의 난이도 수준을 평가하는 방법에서, 상기 음표의 종류는 음의 종류(note) 및 길이를 포함할 수 있다.
나아가, 이하에서는 상기 기재된 악보의 난이도 수준을 평가하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 장치는, 전자화된 데이터 형태의 악보를 입력받는 데이터 입력부; 입력된 상기 악보의 난이도 수준을 평가하는 프로그램을 저장하는 메모리; 및 상기 악보의 난이도 수준을 평가하는 프로그램을 구동하는 연산부;를 포함하되, 상기 메모리에 저장된 프로그램은, 입력된 상기 악보를 음표의 종류(type)를 포함하는 구조화된 전자 악보로 변환하고, 상기 구조화된 전자 악보로부터 음표(note)에 할당된 값과 악보의 구조에 기초하여 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하고, 식별된 상기 구성 요소에 기초하여 하나의 마디 내의 음표의 개수를 나타내는 마디별 음표의 빈도수를 산출하며, 악보 내의 모든 마디에서 획득된 전체 음표 빈도수 및 미리 설정된 악보의 난이도 범위에 기초하여 상기 악보의 난이도 수준을 결정하는 명령어를 포함한다.
일 실시예에 따른 악보의 난이도 수준을 평가하는 장치에서, 상기 메모리에 저장된 프로그램은, 마디를 나타내는 마디 태그(tag)를 이용하여 상기 구조화된 전자 악보를 분리하고 분리된 마디의 개수를 계수하며, 화음(chord)을 나타내는 화음 태그를 이용하여 화음을 이루는 음표를 식별하고, 마디별로 하나의 마디 내에 포함된 음표(note) 각각의 가중치(weight) 및 식별된 상기 구성 요소 중 화음을 고려하여 마디별 음표의 빈도수를 산출할 수 있다.
일 실시예에 따른 악보의 난이도 수준을 평가하는 장치에서, 상기 음표 각각의 가중치는, 하나의 마디 내에서 음표에 할당된 박자에 반비례하는 값으로 설정되고, 상기 마디별 음표의 빈도수는, 하나의 마디 내에 포함된 모든 음표에 대하여 각각의 가중치와 화음(chord)을 이루는 음표의 개수를 승산하고 승산된 값들을 모두 합산함으로써 산출할 수 있다.
일 실시예에 따른 악보의 난이도 수준을 평가하는 장치에서, 상기 메모리에 저장된 프로그램은, 마디별 박자에 반비례하도록 설정된 균형 인자(balancing factor)를 상기 마디별 음표의 빈도수에 승산함으로써 박자가 상이한 마디 또는 악보들 간의 난이도 차이를 반영할 수 있다.
일 실시예에 따른 악보의 난이도 수준을 평가하는 장치에서, 상기 전체 음표 빈도수는, 악보 내의 모든 마디에 대하여 상기 마디별 음표의 빈도수를 산출하고, 산출된 마디별 음표의 빈도수를 합산한 값을 전체 마디의 개수로 제산하여 획득될 수 있다.
일 실시예에 따른 악보의 난이도 수준을 평가하는 장치에서, 상기 메모리에 저장된 프로그램은, 상기 데이터 입력부를 통해 악보를 이미지 파일로 입력받고, 입력된 상기 이미지 파일로부터 문자 및 음표를 인식하며, 인식된 문자 및 음표를 속성별로 분류하여 계층적으로 태깅(tagging)함으로써 XML(eXtensible Markup Language) 기반의 전자 악보를 생성하되, 상기 음표의 종류는 음의 종류(note) 및 길이를 포함할 수 있다.
본 발명의 실시예들은, 종이 악보 또는 이미지로서 입력된 악보를 구조화된 전자 악보로 변환하고 이로부터 구성 요소의 의미를 추출/식별하며 음표에 할당된 값을 활용하여 악보의 난이도 수준을 자동으로 판단함으로써 다수의 전자 악보들의 분류를 용이하게 할 뿐만 아니라, 객관적이고 수치화된 분류 기준을 제공함으로써 악보 전반에 걸쳐 일관성있는 난이도 변별이 가능하다.
도 1은 악보의 난이도 수준을 분류하는 일반적인 가이드라인을 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법을 도시한 흐름도이다.
도 3은 XML 기반의 악보를 표현하기 위한 태그(tag)를 예시한 도면이다.
도 4는 본 발명의 실시예들이 채택하고 있는 음표의 구조화 및 음표의 값의 일례이다.
도 5는 본 발명의 실시예들이 채택하고 있는 음표(note)의 계층 구조를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법에서 음표의 빈도수를 산출하기 위한 음표(note)의 가중치(weight)를 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법에서 일반화를 위한 박자의 균형 인자를 예시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법에서 음표(note)의 빈도수에 관하여 미리 설정된 난이도 수준(level)을 예시한 도면이다.
도 9a 및 도 9b는 본 발명의 실시예들이 제안하는 악보의 난이도 수준을 평가하는 방법을 이용하여 제 1 악보를 입력받아 XML 기반의 전자 악보로 변환한 결과를 예시한 도면이다.
도 10a 내지 도 10d는 본 발명의 실시예들이 제안하는 악보의 난이도 수준을 평가하는 방법을 이용하여 제 2 악보를 입력받아 XML 기반의 전자 악보로 변환한 결과를 예시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 장치를 도시한 블록도이다.
본 발명의 실시예들을 설명하기에 앞서, 악보의 난이도 수준을 평가하는 전통적인 음악 분야의 분류 기준과 이에 따른 문제점을 검토한 후, 이러한 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 기술적 수단을 개괄적으로 소개하도록 한다.
기존 악보의 레벨을 나누기 위해서는 다양한 기준 내지 가이드라인이 활용될 수 있으며, 이를 위해 권위있는 기관 내지 기업의 분류표가 활용되었다. 도 1은 악보의 난이도 수준을 분류하는 일반적인 가이드라인을 예시한 도면으로서, 전자 악보 판매 기업인 'Sheet Music Plus'사의 레벨 가이드라인(Level Guidelines)을 도시하였다. 도 1의 가이드라인에 따르면, 악보의 난이도를 위치(Position), 음계(Scales), 화음(Chords), 리듬(Rhythms), 기타고려사항 등을 통해서 나누고 있음을 알 수 있다.
그러나, 도 1의 레벨 가이드라인은 분류 기준이 정확하고 객관적으로 수치화되어 있지 않고, 대략적인 위치(Position), 음계(Scales), 화음(Chords), 리듬(Rhythms) 등으로만 나누어질 뿐만 아니라, 그 분류 역시 전적으로 전문가의 경험과 감각에 의존하고 있다. 이러한 기존 방법의 경우, 수치화 및 전자화의 부재로 인하여 다수의 전자 악보가 쏟아져 나오고 있는 현대시대에 전자 악보의 정확한 수치 및 레벨을 추출해 내지 못하는 단점이 있다. 또한, 전자 악보의 한 표현법이자 XML 기반 악보 표현 언어인 'MusicXML' 형식이 파일이 존재함에도 이러한 형식의 파일을 자동으로 분류할 수 있는 알고리즘이 존재하지 않는다는 점에 주목하였다.
따라서 이하에서 제시되는 본 발명의 실시예들은 사용자 수준에 맞는 난이도를 위한 레벨을 수치화되고 자동화된 방식을 통해 결정하고자 한다. 또한, 본 발명의 실시예들은 이러한 전자 악보의 난이도 수준을 수치화하는 알고리즘을 제안함으로써 MusicXML 형식과 같은 모든 전자 악보에 적용시킬 수 있도록 한다. 이러한 MusicXML은 다양한 음악적 표현이 가능한 XML의 한 종류로서 응용성 및 확장성이 높은 파일 형식에 해당한다.
본 발명의 실시예들이 제안하는 개괄적인 목표 및 주요 구성을 다음과 같이 정리할 수 있다.
첫째, 본 발명의 실시예들은 XML 기반 악보 표현 언어를 이용한 전자 악보(예를 들어, MusicXML 파일이 될 수 있다.)에서 추출해낸 음표(note)를 수치화하고 각각의 난이도를 계산하여 악보의 레벨을 자동으로 파악할 수 있도록 하는 악보 레벨링 장치 및 방법을 제안한다.
둘째, 사용자에게 악보가 어느 정도의 수준인지를 알려주기 위해서 음표(note)를 수치화하는 과정이 필요하므로, 본 발명의 실시예들은 음표(note)의 수치화를 위한 값을 할당하는 방법을 제공한다.
셋째, 본 발명의 실시예들은 수치화된 음표(note)값을 기반으로 한 음표 빈도수를 이용하여 해당 악보의 레벨을 계산하는 방법을 제시하고, 최종적으로 레벨을 결정하는 과정을 설명한다.
이하에서는, 도면을 참조하여 상기된 기술적 과제를 해결하기 위한 본 발명의 실시예들을 구체적으로 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 명칭 및 도면 부호로 나타내고 있음에 유의하여야 한다.
도 2는 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법을 도시한 흐름도이다. 도 2의 평가 방법은 적어도 하나의 연산 장치 및 데이터 입력 장치를 구비하여 수행될 수 있으며, 각각의 단계별로 수반되는 하드웨어 구성을 순차적으로 소개하도록 한다.
본 실시예를 통해 음표(note)를 고려하여 악보 레벨을 결정하기 위해서 처리해야할 사항은, 음표(note)의 정의 및 구조화, 구조화된 음표(note) 값의 할당, 본 발명에서 제시하는 수식을 통한 음표 빈도수 계산, 악보 레벨의 범위 정의 및 음표 빈도수를 통한 레벨 결정 과정을 포함할 수 있다.
S110 단계에서, 연산 장치는 데이터 입력 장치를 통해 악보를 입력받아 음표의 종류(type)를 포함하는 구조화된 전자 악보로 변환한다. 이를 위하여, 전자 악보 내에서 식별에 활용될 수 있는 기술적 수단(예를 들어, 이미지 형식의 악보를 MusicXML 표현으로 변환할 경우, XML 문서 내에 포함되는 태그가 활용될 수 있다.)을 이용하여 각각의 구성 요소 내지 음표(note)를 정의하고 구조화하는 과정이 필요하다.
S120 단계에서, 상기 연산 장치는 상기 S110 단계를 통해 구조화된 전자 악보로부터 음표(note)에 할당된 값과 악보의 구조에 기초하여 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별한다. 이 과정에서는 전자 악보에서 음표(note) 값을 추출하는 기술을 이용하여 미리 정의된 음표(note), 구성 요소 및 구조를 고려하여 각각에 할당된 값을 획득한다.
S130 단계에서, 상기 연산 장치는 S120 단계를 통해 식별된 상기 구성 요소에 기초하여 하나의 마디 내의 음표의 개수를 나타내는 마디별 음표의 빈도수를 산출한다. 음표의 빈도수를 계산하는 이 과정은 이후 구조화된 음표(note)의 값을 바탕으로 수식을 이용하여 보다 구체적으로 설명하도록 한다.
S140 단계에서, 상기 연산 장치는 악보 내의 모든 마디에서 획득된 전체 음표 빈도수 및 미리 설정된 악보의 난이도 범위에 기초하여 상기 악보의 난이도 수준을 결정한다. 이를 위해, 음표(note)가 가질 수 있는 값을 바탕으로 악보 레벨의 범위를 결정하는 과정이 선행되어야 하며, 이후 모든 음표에서 얻은 음표의 빈도수를 토대로 최종적으로 악보의 난이도 수준을 결정하게 된다.
도 3은 XML 기반의 악보를 표현하기 위한 태그(tag)를 예시한 도면으로서, 레코다레(Recordare)사에서 개발한 XML의 일례인 MusicXML 언어로 표현되었다. 이러한 MusicXML 언어는 온라인에서의 음악 접근을 쉽도록 하며 사용자들이 다양하고 쉬운 방법으로 온라인 및 컴퓨터상에서 악보를 활용할 수 있도록 해주고 응용성과 확장성이 크다. MusicXML은 다양한 음악적 표현과 완전한 악보의 기록 및 표현이 가능하며, 현재 MusEdit, Sibelius, Finale, MagicScore 과 같은 악보 제작 및 연주 소프트웨어 프로그램에 활용되고 있으며 서양 음악 악보 기록법에 사용되는 음악 응용프로그램의 표준처럼 사용되고 있다.
이러한 MusicXML의 주요한 정보는 < >태그(tag)와 </ >태그(tag)의 사이에 존재하는 값으로 표현된다. 도 3에는 MusicXML에서 사용되는 태그의 내용과 MusicXML에서 사용되는 태그를 기반으로 한 태그 요소를 기술하였다.
따라서, 본 발명의 실시예들에 따른 악보의 난이도 수준 평가 방법에서는, 악보 내에 존재하는 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하기 위하여, 전자 악보 내에 포함된 태그를 분석하여 이 중 마디에 관한 정보를 추출하게 된다. 예를 들어, 마디를 나타내는 마디 태그(tag)를 이용하여 상기 구조화된 전자 악보를 분리하고 분리된 마디의 개수를 계수하거나, 화음(chord)을 나타내는 화음 태그를 이용하여 화음을 이루는 음표를 식별하는 것이 가능하다.
이하에서는 이러한 구조화된 전자 문서에 기초하여 악보 내에 포함된 음표(note)의 구조화 및 벡터 생성 과정을 설명하도록 한다.
도 4는 본 발명의 실시예들이 채택하고 있는 음표의 구조화 및 음표의 값의 일례로서, 음표(note) 정의 및 구조화는 다음과 같다.
본 발명의 실시예들에서 악보 난이도를 위한 레벨은 일례로서 총 10개로 정의될 수 있다. 음표의 빈도수(time frequency)에 따른 기존 악보들의 난이도를 분석하여 알맞은 수식을 도출하여 레벨을 정한다. 악보의 레벨을 음표의 빈도수(note frequency)를 기준으로 나눈 이유는 일반적으로 한 마디(measure) 안의 연주하는 음표(note)수가 많을수록 어렵기 때문이다. 악보 연주 시 손가락이 움직이는 거리는 음계(step)을 기준으로 계산한다.
도 4는 음표(note)마다 가질 수 있는 요소를 나열한 것으로서, 도 4에서 음표의 종류(type)는 MusicXML에서 나타낼 수 있는 음표의 종류 중 일부를 나타내었으며, MusicXML에서 나타낼 수 있는 최소 음표(note)는 1024분 음표(note)이다. MusicXML에서 표현할 수 있는 최소 음표가 확장될 경우에도 본 실시예를 확장시켜서 적용할 수 있다.
또한, 도 4에서는 음표의 종류(type)로 구조화하였으며 음표(note)의 종류에 대한 음표 값을 명시하였다. 각 값은 변환 가능한 모든 악보를 MusicXML로 변환할 때 해당 음표(note)에 해당하는 값으로 MusicXML <note> </note> 태그 사이에 그 값이 명시된다.
도 5는 본 발명의 실시예들이 채택하고 있는 음표(note)의 계층 구조를 도시한 도면으로서, 음표와 요소 그룹을 트리 구조로 표현하였다. 음표(note)를 구조화시키는 이유는 음표(note)의 값을 일반화하여 사용하기 위해서인데, 앞서 소개한 도 4를 기반으로 음표를 이루는 값들에 대해서 설명하면 다음과 같다.
(1) 음표의 종류(type)
음표의 종류(type)는 해당 음이 어떤 종류의 음표(note) 인지, 얼마만큼의 박자 길이로 연주를 해야 하는지를 나타낸다. 예를 들어, 음표의 종류는, 온음표(whole note), 2분음표(half note), 4분음표(quarter note), 8분음표(eighth note), 16분음표(sixteenth note) 등이 존재한다. 온음표(whole note)는 4박자를 나타내는 음이며, 2분음표(half note)는 2박자를, 4분음표(quarter note)는 1박자를, 8분음표(eighth note)는 1/2박자를, 16분음표(sixteenth note)는 1/4박자를 나타내는 음이다.
음표의 종류(type)에 따라 음의 종류와 길이를 알아낼 수 있다. 예를 들어, MusicXML에서 <type> quarter </type>로 표현되어 있으면 해당 음의 종류(type)이 4분 음표(quarter note)라는 의미이고, 해당 음표(note)의 박자는 1박자가 됨을 의미한다.
따라서, 본 발명의 실시예들에 따른 악보의 난이도 수준을 판단하는 방법에서, 음표의 종류는 음의 종류(note) 및 길이를 포함하는 것이 바람직하다.
이제, 악보를 MusicXML 파일로 변환하면 음계(step)와 종류(type) 등의 음표(note)의 값을 알 수 있다. 본 발명의 실시예들에서는 PDF형식의 악보를 MusicXML의 형식으로 변환하여 사용하였으나, PDF 형식뿐만 아니라 이미지 형식의 악보를 MusicXML 형태로 변환하는 것 또한 가능하다.
따라서, 본 발명의 실시예들에 따른 악보의 난이도 수준을 판단하는 방법에서, 구조화된 전자 악보로 변환하는 과정은, 악보를 이미지 파일로 입력받고, 입력된 이미지 파일로부터 문자 및 음표를 인식하며, 인식된 문자 및 음표를 속성별로 분류하여 계층적으로 태깅(tagging)함으로써 XML(eXtensible Markup Language) 기반의 전자 악보를 생성할 수 있다.
(2) 악보의 난이도 수준을 결정하는 요소들
이하에서는, 악보의 난이도 수준을 결정하는 다양한 요소들을 순차적으로 설명하도록 한다. 악보의 레벨 요소 값을 할당하는 방법은 전자악보를 MusicXML로 변환하여 얻은 각 음표의 태그 값을 기반으로 목적에 맞는 연산 수식을 만들어서 적용할 수 있다. 이러한 난이도 수준의 평가에 활용될 수 있는 고려 요소와 그 의미는 다음과 같다.
첫 번째 고려 요소는 음표 빈도수이다. 음표 빈도수(note frequency)는 한 마디 안의 음표(note)의 개수를 의미한다. 한 마디 안에 음표(note)의 개수가 많을수록 치는 횟수가 많아지기 때문에 어렵다고 판단하게 된다. 또한 화음(chord)을 고려하여 화음(chord)의 가중치를 음표 빈도수(note frequency)안에 적용할 수 있고, 화음(chord)이 존재할 경우에는 같이 치는 음표(note)의 개수가 많아지기 때문에 음표의 빈도수(note frequency) 값이 높아진다.
두 번째 고려 요소는 화음이다. 화음(chord)은 한 손으로 두 개 이상의 음표(note)를 동시에 연주하는 것을 의미한다. 한 손으로 칠 수 있는 최대의 음표(note) 개수는 5개이다. 한 번에 많은 음을 칠수록 악보가 어렵다는 의미이므로 화음(chord)이 많을수록 어렵다고 판단하게 된다. 또한 화음(chord)은 독립적으로 고려할 수 없으므로 화음(chord)의 가중치를 빈도수에 적용한다. 화음(chord)이 존재할 경우에는 기존의 음표(note)의 빈도수 보다 빈도수 값이 높아진다.
이제, 이러한 고려 요소에 기반하여 악보 내의 음표 빈도수(note frequency)를 계산하는 방법을 설명한다. 한 마디를 기준으로 하여 음표(note)의 빈도수를 계산에 이용하는 사항은 다음과 같다.
전자악보에서 추출한 MusicXML에서 <measure>, <note>, <chord> 태그를 이용한다. <measure>태그는 한 마디를 의미하는 태그로서 <measure=#>로 태그가 표시된다. #은 해당 마디가 악보에서 몇 번째 마디인지를 의미한다. <note>태그는 해당 마디에 존재하는 음표(note)의 다양한 정보를 <note>와 </note>사이에 기술하고 있으며, 기본적으로는 <measure>태그 안에 존재하는 <note>태그의 수만을 이용하여 음표(note)의 빈도수를 구할 수 있다. 해당 사항을 이용하여 발전시킨 내용을 아래에서 설명하도록 한다. </chord> 태그는 화음(chord)을 나타내는 태그로 </note>뒤에 위치하게 된다. </chord>태그가 존재하면 </chord>태그 뒤에 나오는 <note>태그는 그 앞의 <note>와 화음(chord)을 이룬다는 의미이다.
1) 음표(note)에 따른 가중치(weight)
각 음표(note)마다 가중치(weight)를 부여한 이유는 박자가 클수록 마디 안에서 연주하는 빈도가 줄어듦을 의미하고 박자가 작을수록 같은 마디 안에서 연주해야 할 빈도가 늘어나기 때문이다. 이를 수치로 표현하기 위해서 박자에 가중치를 부여하여 해당 음표(note)들의 빈도수의 차이를 알 수 있도록 하기 위해서 가중치를
Figure 112015085962886-pat00001
로 나타내었다. 예를 들어,
Figure 112015085962886-pat00002
박자에서
Figure 112015085962886-pat00003
박자인 4분음표(quarter note)가 4개 연주된다면,
Figure 112015085962886-pat00004
박자인 1024분 음표(note)는 1024번 연주되어야 한다.
도 6은 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법에서 음표의 빈도수를 산출하기 위한 음표(note)의 가중치(weight)를 예시한 도면으로서, 마디를 기준으로 음표의 빈도수(note frequency)를 계산하기 위한 가중치(weight)를 표시하였다. MusicXML에서는 음표(note)를 1024분 음표까지만 표현하므로 1024분 음표까지만 표로 나타내었다. MusicXML에서 음표(note)의 종류를 확장한다면 이를 반영할 수 있다.
따라서, 본 발명의 실시예들에 따른 악보의 난이도 판단 방법에서, 마디별 음표의 빈도수를 산출하는 과정은, 마디별로 하나의 마디 내에 포함된 음표(note) 각각의 가중치(weight) 및 식별된 상기 구성 요소 중 화음을 고려하여 마디별 음표의 빈도수를 산출하는 것이 바람직하다. 이때, 음표 각각의 가중치는, 하나의 마디 내에서 음표에 할당된 박자에 반비례하는 값으로 설정될 수 있다.
2) 화음(chord)에 따른 가중치를 적용한 음표의 빈도수 (note frequency)
악보에서 화음(chord)에 따라서 악보의 수준을 좀 더 세밀하게 구분할 수 있다. 일반적으로 한 음만을 연주할 때보다 여러 음을 같이 연주하는 화음(chord)이 어렵다고 판단된다. 따라서 화음(chord)은 연주 빈도로 따지면 한 번이지만, 화음(chord)일 경우에는 화음(chord)을 이루는 음표(note) 개수만큼 가중치를 부여한다. 화음(chord) 안에서는 박자가 다를 수 없기 때문에 해당하는 화음(chord)의 음표(note) 가중치에 화음(chord)을 이루는 음표(note)의 개수를 곱하여 가중치를 계산한다. 한 손으로 연주 가능한 화음(chord)을 이루는 최대 음표(note) 개수는 5개이므로 한 음만을 연주할 때보다 최대 5배까지 가중치가 부여되게 된다. 즉, 화음(chord)을 이루는 음표(note)의 개수가 하나이면 화음(chord)이 아닌 한 음으로 고려하면 된다. 또한, 화음(chord)을 이루는 음표(note)의 개수가 2개이면 해당 화음(chord)의 가중치는 음표(note)의 가중치 * 2, 화음(chord)을 이루는 음표(note)의 개수가 3개이면 해당 화음(chord)의 가중치는 음표(note)의 가중치 * 3, 화음(chord)을 이루는 음표(note)의 개수가 4개이면 해당 화음(chord)의 가중치는 음표(note)의 가중치 * 4, 화음(chord)을 이루는 음표(note)의 개수가 5개이면 해당 화음(chord)의 가중치는 음표(note)의 가중치 * 5가 된다. 따라서 위의 내용을 수식으로 작성하면 화음을 고려한 한 마디 안에서 i번째 음표의 값
Figure 112015085962886-pat00005
는 다음의 수학식 1과 같다.
Figure 112015085962886-pat00006
Figure 112015085962886-pat00007
는 i번째 음표의 음표 가중치로 앞서 소개한 도 6을 참고한다. N는 화음을 이루는 음표의 개수로 화음을 이루는 최대 개수는 5이므로 N의 범위는 (1≤N≤5)로 한다.
수학식 1의 값을 참조하여 k번째 마디의 음표의 빈도수(note frequency)
Figure 112015085962886-pat00008
를 계산하는 식을 구하면 다음의 수학식 2와 같다.
Figure 112015085962886-pat00009
여기서
Figure 112015085962886-pat00010
는 수학식 1의 결과값이고 n은 k번째 마디의 음표의 개수를 의미한다. 음표의 개수는 화음일 경우에는 1개로 보고 계산한다.
요약하건대, 본 발명의 실시예들에 따른 악보의 난이도 수준을 평가하는 방법에서 산출하는 마디별 음표의 빈도수는, 하나의 마디 내에 포함된 모든 음표에 대하여 각각의 가중치와 화음(chord)을 이루는 음표의 개수를 승산하고 승산된 값들을 모두 합산함으로써 산출하는 것이 바람직하다.
3) 박자(time signature)에 따른 균형 인자(balancing factor)
악보마다 혹은 한 악보의 마디마다 연주하는 박자가 다를 수 있으므로 박자를 일반화시켜서 비교할 수 있도록 해야 한다. 이를 위해서는 본 발명에서는 박자를 기준으로 균형을 맞출 수 있는 균형 인자를 나타낸 표를 작성하였다. 균형 인자는 박자에 관계없이 악보들의 음표의 빈도수(note frequency)를 비교할 수 있도록 하는 인자를 의미한다. 따라서 균형 인자는
Figure 112015085962886-pat00011
의 값으로 한다. 이때, 악보에서 제시된 박자는 고려하되 악보 자체의 빠르기는 고려하지 않았다.
도 7은 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법에서 일반화를 위한 박자의 균형 인자를 예시한 도면으로서, 한 마디를 기준으로 위의 수학식 1과 수학식 2를 통해서 계산한 음표의 빈도수(note frequency)에 적용할 균형인자를 나타내었다.
본 발명의 실시예들에서는 박자를 기준으로 균형 인자가 작성되었지만 기준 박자는 바뀔 수 있고, 박자를 기준으로 균형 인자를 다시 정해서 활용하는 것이 가능하다. 또한, 악보의 첫 번째 마디가 못갖춘마디(박자의 수를 다 갖추지 못한 마디)일 경우에는 마지막 마디와 합쳐 갖춘마디(박자가 지니는 박자의 수를 갖춘마디)로 만든 후에 한 마디로 취급하여 계산할 수 있다. 나아가, 오른손과 왼손을 동시에 연주할 경우에 본 발명의 실시예들에서는 오른손으로 연주하는 음표 빈도수 계산 결과 값과 왼손으로 연주하는 음표 빈도수 계산 결과 값을 합산하여 그 레벨을 결정하였지만, 사용자가 원하는 경우 한 손(오른손 또는 왼손)으로 연주하는 음표 빈도수의 결과 값만을 이용하여 레벨을 출력할 수도 있다.
다음의 수학식 3은 k번째 마디의 박자를 고려한 음표의 빈도수(note frequency)
Figure 112015085962886-pat00012
를 구하는 식이다.
Figure 112015085962886-pat00013
Figure 112015085962886-pat00014
는 수학식 2에서 k번째 마디에서 화음(chord)을 고려한 음표의 빈도수(note frequency)값이다.
Figure 112015085962886-pat00015
는 k번째 마디의 박자 가중치를 의미한다. 박자의 가중치는 앞서 소개한 도 6을 참조한다.
요약하건대, 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법에서 마디별 음표의 빈도수를 산출하는 과정은, 마디별 박자에 반비례하도록 설정된 균형 인자(balancing factor)를 상기 마디별 음표의 빈도수에 승산함으로써 박자가 상이한 마디 또는 악보들 간의 난이도 차이를 반영하는 것이 바람직하다.
한편, 하나의 악보는 여러 마디로 이루어져 있고, 악보의 음표의 빈도수(note frequency) 레벨을 구하기 위해서는 수학식 4를 이용하여 전체 악보의 음표의 빈도수(note frequency)의 평균을 구한다.
Figure 112015085962886-pat00016
즉, 각 마디마다 구한 음표의 빈도수(note frequency) 값의 합을 전체 마디수로 나누어서 한 악보의 최종적인 음표의 빈도수(note frequency) 값을 구하게 된다. 한 악보의 최종적인 음표의 빈도수(note frequency) 평균값
Figure 112015085962886-pat00017
은 수학식 3에서 구한 박자와 화음을 모두 고려한 k번째 마디의 음표의 빈도수(note frequency) 값
Figure 112015085962886-pat00018
를 처음 값
Figure 112015085962886-pat00019
에서 마지막 마디 L의 값
Figure 112015085962886-pat00020
까지 더한다. 여기서 L은 한 악보의 전체 마디수를 의미한다.
요약하건대, 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법에서 전체 음표 빈도수는, 악보 내의 모든 마디에 대하여 마디별 음표의 빈도수를 산출하고, 산출된 마디별 음표의 빈도수를 합산한 값을 전체 마디의 개수로 제산함으로써 획득되는 것이 바람직하다.
(3) 음표의 빈도수(note frequency)를 이용한 악보의 레벨
앞서 획득된 전체 음표 빈도수를 이용하여 악보의 난이도를 결정하기 위해서는 미리 빈도수 레벨을 결정할 필요가 있다. 음악 이론서인 BASIC MUSIC THEORY(Joe Procopio, "BASIC MUSIC THEORY", Joe Procopio International, 2010, 7쪽 참조)에 따르면 64분 음표이상인 64분 음표, 128분음표, 점128분 음표, 256분 음표 등은 악보에서 거의 사용되지 않는다. 일반적인 음악 이론에 따르면 32분 음표도 악보에서 사용 빈도가 드물다. 따라서 4/4박자 안에서 16분음표가 한 마디 안에 최대로 존재하며 16분 음표가 모두 음표 5개로 이루어진 화음일 때 최대 레벨(Level10)에 적용하였다. 또한 최소 레벨의 상한 값은 4/4박자 안에 쉼표가 존재할 경우부터 화음(chord)을 이루지 않는 온음표(note)가 하나 존재할 경우로 지정하였다.
악보의 난이도가 증가할수록 음표의 빈도수(note frequency) 값이 거의 일정하게 증가하기 때문에 Level1부터 Level10까지는 등차수열로 계산하여 레벨을 지정하였다. 위 발명의 실시예에서 제시한 레벨의 단계는 SMP Level Level10까지 존재했기 때문에 본 발명에서도 레벨을 10개로 나누었지만 사용자가 원하는 경우 레벨을 확장 및 축소시킬 수 있다.
도 8은 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 방법에서 음표(note)의 빈도수에 관하여 미리 설정된 난이도 수준(level)을 예시한 도면으로서, 수학식 4에서 구한 한 악보 전체의 화음과 박자를 고려한 음표의 빈도수(note frequency) 값들이 최종적으로 어떻게 레벨로 나뉘는지 정확한 수치를 기재하였다. 본 발명의 실시예들에서 음표의 빈도수 값은 소수점 2자리까지 반올림하여 계산된 값이다. 레벨에 해당하는 수치는 악보에 따라서 소수점 2자리 이상의 값으로 확장하여 사용 가능하다.
이제, 음표 빈도에 의한 악보 레벨링 방법을 이용한 레벨 도출 과정을 두 가지 예를 통하여 설명하도록 한다. 이를 위해, 음표 빈도에 의한 악보 레벨링 방법을 이용하여 두 개의 악보로부터 레벨을 도출하였다.
첫 번째 악보의 예시로서, 도 9a 및 도 9b는 본 발명의 실시예들이 제안하는 악보의 난이도 수준을 평가하는 방법을 이용하여 제 1 악보("Happy Birthday")를 입력받아 XML 기반의 전자 악보로 변환한 결과를 예시한 도면으로서, 도 9a는 "Happy Birthday" 악보이고, 도 9b는 "Happy Birthday" 악보의 두 번째 마디(measure number=“2”)를 MusicXML로 변환한 것이다. 이때 첫 번째 마디가 못갖춘마디(박자의 수를 다 갖추지 못한 마디)이므로, 마지막 끝마디와 합산하여 갖춘마디(박자가 지니는 박자의 수를 갖춘마디)를 계산한다. 계산 과정은 이후 표 1 내지 표 8을 통해 제시하도록 한다.
두 번째 악보의 예시로서, 도 10a 내지 도 10d는 본 발명의 실시예들이 제안하는 악보의 난이도 수준을 평가하는 방법을 이용하여 제 2 악보를 입력받아 XML 기반의 전자 악보로 변환한 결과를 예시한 도면으로서, 도 10a는 Scott Joplin가 작곡한 "Sun Flower Slow Drag"이며, 도 10b 내지 도 10d는 이 악보의 일부인 첫 번째 마디(measure number=“1”)를 MusicXML로 변환한 것이다. 계산 과정은 이후 표 9 내지 표 28을 통해 제시하도록 한다.
이제, 각각의 악보의 예시를 이용하여 음표의 빈도수와 난이도 수준을 결정하는 과정을 자세히 설명한다. 계산 과정을 설명하는 표에서 각각의 부호가 의미하는 다음과 같다.
(a): 음표순번
(b): 음표의 종류
(c): 음표의 가중치
(d): 화음 가중치
(e): 화음에 따른 가중치를 적용한 음표의 빈도수
(f): 균형인자를 적용한 음표의 빈도수(
Figure 112015085962886-pat00021
박자의 균형인자 =
Figure 112015085962886-pat00022
)
먼저, 첫 번째 악보인 "Happy Birthday"부터 악보의 음표 빈도수를 계산하도록 하자. 표 1 내지 표 8은 각각 첫 번째 마디부터 여덟 번째 마디를 순차적으로 나타낸다.
Figure 112015085962886-pat00023
Figure 112015085962886-pat00024
Figure 112015085962886-pat00025
Figure 112015085962886-pat00026
Figure 112015085962886-pat00027
Figure 112015085962886-pat00028
Figure 112015085962886-pat00029
Figure 112015085962886-pat00030
상기된 표 1 내지 표 8에 기초하여 산출된 음표의 빈도수 최종 값은 다음의 수학식 5와 같다.
Figure 112015085962886-pat00031
즉, 악보 "Happy Birth Day"를 구성하는 마디는 총 8마디로 음표의 빈도수 최종 값은 각 마디에서의 (f)균형인자를 적용한 음표의 빈도수를 모두 더한 값 나누기 총 마디 수로 한다. 9마디의 값을 모두 더한 음표의 빈도수 최종 값은 (8.45+4+7.78+4+7.78+4+9.78+4)/8 = (49.79)/8 = 6.22이다. 따라서 앞서 소개한 도 8에 따라 음표의 빈도수 레벨을 참고하여 악보 "Happy Birth Day"의 최종적인 난이도 수준을 결정하면 레벨 '2'가 된다.
이제, 두 번째 악보인 "Sun Flower Slow Drag"의 음표 빈도수를 계산하자. 계산 과정을 설명하는 표에서 각각의 부호가 의미하는 바는 첫 번째 악보의 경우와 동일하나, (f): 균형인자를 적용한 음표의 빈도수의 경우에는 (
Figure 112015085962886-pat00032
박자의 균형인자 = 2)가 된다.
표 9 내지 표 28은 각각 첫 번째 마디부터 스무 번째 마디를 순차적으로 나타낸다.
Figure 112015085962886-pat00033
Figure 112015085962886-pat00034
Figure 112015085962886-pat00035
Figure 112015085962886-pat00036
Figure 112015085962886-pat00037
Figure 112015085962886-pat00038
Figure 112015085962886-pat00039
Figure 112015085962886-pat00040
Figure 112015085962886-pat00041
Figure 112015085962886-pat00042
Figure 112015085962886-pat00043
Figure 112015085962886-pat00044
Figure 112015085962886-pat00045
Figure 112015085962886-pat00046
Figure 112015085962886-pat00047
Figure 112015085962886-pat00048
Figure 112015085962886-pat00049
Figure 112015085962886-pat00050
Figure 112015085962886-pat00051
Figure 112015085962886-pat00052
상기된 표 9 내지 표 28에 기초하여 산출된 음표의 빈도수 최종 값은 다음의 수학식 6과 같다.
Figure 112015085962886-pat00053
여기서,
Figure 112015085962886-pat00054
는 악보의 왼손 음표의 빈도수를 나타내고,
Figure 112015085962886-pat00055
는 악보의 오른손 음표의 빈도수를 나타낸다.
악보 "Sun Flower Slow Drag"를 구성하는 마디는 총 20마디로 음표의 빈도수 최종 값은 각 마디에서의 (f)균형인자를 적용한 음표의 빈도수를 모두 더한 값 나누기 마디수로 한다. 즉, (22+22+34+34+52+52+28+28+88+36+104+32+64+32+80+32+80+36+104+24+64+36+88+36+80+36+104+36+64+36+104+32+104+40+32+40+2+104+32+32)/20 = (2086)/20 = 104.3 이다. 따라서 도 8에 따른 음표의 빈도수 레벨을 참고하여 악보 "Sun Flower Slow Drag"의 레벨을 결정하면 레벨 '4'가 된다.
결론적으로 첫 번째 악보(Happy Birth Day)의 음표 빈도수는 6.22으로 도출되며, 레벨 2로 결정할 수 있다. 두 번째 악보(Sun Flower Sun Drag)의 음표 빈도수는 104.3으로 도출되며, 레벨 4로 결정할 수 있다. 두 가지 예제 적용을 통해서 양손 악보가 한손 악보보다 어렵다는 가정과 음표가 많으면 더 어려운 난이도의 악보라는 가정이 성립함을 확인하였다.
도 11은 본 발명의 일 실시예에 따른 악보의 난이도 수준을 평가하는 장치(100)를 도시한 블록도로서, 앞서 소개한 도 2의 악보의 난이도 수준 평가 방법을 하드웨어의 관점에서 기술한 것으로서, 여기서는 설명의 중복을 피하고자 각 구성을 중심으로 수행 동작과 기능을 약술하도록 한다.
데이터 입력부(10)는, 전자화된 데이터 형태의 악보를 입력받는 기술적 수단으로서, 이러한 악보는 pdf 형식 또는 이미지 형식이 될 수 있으며, 구현의 관점에서 디지털 데이터를 입력받을 수 있는 다양한 수단 내지 종이 악보와 같은 아날로그 데이터를 입력받을 수 있는 카메라 또는 스캐너 등이 활용될 수 있다.
메모리(30)는 입력된 상기 악보의 난이도 수준을 평가하는 프로그램(40)을 저장하는 기술적 수단으로서, 구현의 관점에서 통상적인 고속의 메모리뿐만 아니라, 자기 디스크 또는 자기 테이프 등 대용량 데이터를 축적하는 다양한 수단이 활용될 수 있다. 보다 구체적으로, 상기 메모리에 저장된 프로그램은, 입력된 상기 악보를 음표의 종류(type)를 포함하는 구조화된 전자 악보로 변환하고, 상기 구조화된 전자 악보로부터 음표(note)에 할당된 값과 악보의 구조에 기초하여 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하고, 식별된 상기 구성 요소에 기초하여 하나의 마디 내의 음표의 개수를 나타내는 마디별 음표의 빈도수를 산출하며, 악보 내의 모든 마디에서 획득된 전체 음표 빈도수 및 미리 설정된 악보의 난이도 범위에 기초하여 상기 악보의 난이도 수준을 결정하는 명령어를 포함한다.
또한, 상기 메모리(30)에 저장된 프로그램(40)은, 마디를 나타내는 마디 태그(tag)를 이용하여 상기 구조화된 전자 악보를 분리하고 분리된 마디의 개수를 계수하며, 화음(chord)을 나타내는 화음 태그를 이용하여 화음을 이루는 음표를 식별하고, 마디별로 하나의 마디 내에 포함된 음표(note) 각각의 가중치(weight) 및 식별된 상기 구성 요소 중 화음을 고려하여 마디별 음표의 빈도수를 산출할 수 있다. 이때, 상기 음표 각각의 가중치는, 하나의 마디 내에서 음표에 할당된 박자에 반비례하는 값으로 설정되고, 상기 마디별 음표의 빈도수는, 하나의 마디 내에 포함된 모든 음표에 대하여 각각의 가중치와 화음(chord)을 이루는 음표의 개수를 승산하고 승산된 값들을 모두 합산함으로써 산출하는 것이 바람직하다. 나아가, 상기 메모리(30)에 저장된 프로그램(40)은, 마디별 박자에 반비례하도록 설정된 균형 인자(balancing factor)를 상기 마디별 음표의 빈도수에 승산함으로써 박자가 상이한 마디 또는 악보들 간의 난이도 차이를 반영할 수 있다.
마지막으로, 전체 음표 빈도수는, 악보 내의 모든 마디에 대하여 상기 마디별 음표의 빈도수를 산출하고, 산출된 마디별 음표의 빈도수를 합산한 값을 전체 마디의 개수로 제산하여 획득될 수 있다.
또한, 상기 메모리(30)에 저장된 프로그램(40)은, 상기 데이터 입력부(10)를 통해 악보를 이미지 파일로 입력받고, 입력된 상기 이미지 파일로부터 문자 및 음표를 인식하며, 인식된 문자 및 음표를 속성별로 분류하여 계층적으로 태깅(tagging)함으로써 XML(eXtensible Markup Language) 기반의 전자 악보를 생성하되, 상기 음표의 종류는 음의 종류(note) 및 길이를 포함하는 것이 바람직하다.
연산부(20)는 메모리(30)에 접근하여 상기 악보의 난이도 수준을 평가하는 프로그램(40)을 독출한 후 이러한 프로그램을 구동하는 기술적 수단으로서, 본 장치의 핵심적인 일련의 기능들이 정의된 프로그램을 실행하는 중추이다.
한편, 이러한 악보의 변환 과정 내정 내지 난이도 수준의 결정 과정에서 도출되는 다양한 정보들은 선택적으로 구비될 수 있는 디스플레이부(50)를 통해 사용자에게 제공될 수도 있다.
상기된 본 발명의 실시예들에 따르면, 종이 악보 또는 이미지로서 입력된 악보를 구조화된 전자 악보로 변환하고 이로부터 구성 요소의 의미를 추출/식별하며 음표에 할당된 값을 활용하여 악보의 난이도 수준을 자동으로 판단함으로써 다수의 전자 악보들의 분류를 용이하게 할 뿐만 아니라, 객관적이고 수치화된 분류 기준을 제공함으로써 악보 전반에 걸쳐 일관성있는 난이도 변별이 가능하다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100 : 악보의 난이도 수준 평가 장치
10 : 데이터 입력부
20 : 연산부
30 : 메모리
40 : 프로그램
50 : 디스플레이부

Claims (16)

  1. 적어도 하나의 연산 장치 및 데이터 입력 장치를 구비하여 악보의 난이도 수준을 평가하는 방법에 있어서,
    연산 장치가 데이터 입력 장치를 통해 악보를 입력받아 음표의 종류(type)를 포함하는 구조화된 전자 악보로 변환하는 단계;
    상기 연산 장치가 상기 구조화된 전자 악보로부터 음표(note)에 할당된 값과 악보의 구조에 기초하여 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하는 단계;
    상기 연산 장치가 식별된 상기 구성 요소에 기초하여 하나의 마디 내의 음표의 개수를 나타내는 마디별 음표의 빈도수를 산출하는 단계; 및
    상기 연산 장치가 악보 내의 모든 마디에서 획득된 전체 음표 빈도수 및 미리 설정된 악보의 난이도 범위에 기초하여 상기 악보의 난이도 수준을 결정하는 단계;를 포함하며,
    상기 마디별 음표의 빈도수를 산출하는 단계는,
    박자가 상이한 마디들의 음표의 빈도수(note frequency)를 비교하기 위해 마디별 박자에 반비례하도록 설정된 균형 인자(balancing factor)를 상기 마디별 음표의 빈도수에 승산하는 악보의 난이도 수준을 평가하는 방법.
  2. 제 1 항에 있어서,
    상기 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하는 단계는,
    마디를 나타내는 마디 태그(tag)를 이용하여 상기 구조화된 전자 악보를 분리하고 분리된 마디의 개수를 계수하는 단계; 및
    화음(chord)을 나타내는 화음 태그를 이용하여 화음을 이루는 음표를 식별하는 단계;를 포함하는 악보의 난이도 수준을 평가하는 방법.
  3. 제 1 항에 있어서,
    상기 마디별 음표의 빈도수를 산출하는 단계는,
    마디별로 하나의 마디 내에 포함된 음표(note) 각각의 가중치(weight) 및 식별된 상기 구성 요소 중 화음을 고려하여 마디별 음표의 빈도수를 산출하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 방법.
  4. 제 3 항에 있어서,
    상기 음표 각각의 가중치는,
    하나의 마디 내에서 음표에 할당된 박자에 반비례하는 값으로 설정되는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 방법.
  5. 제 3 항에 있어서,
    상기 마디별 음표의 빈도수는,
    하나의 마디 내에 포함된 모든 음표에 대하여 각각의 가중치와 화음(chord)을 이루는 음표의 개수를 승산하고 승산된 값들을 모두 합산함으로써 산출하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 방법.
  6. 제 1 항에 있어서,
    상기 균형 인자는,
    음표의 빈도수가 박자에 관계없도록 서로 상이한 박자를 일반화시킴으로써 박자가 상이한 마디 또는 악보들 간의 난이도 차이를 반영하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 방법.
  7. 제 1 항에 있어서,
    상기 전체 음표 빈도수는,
    악보 내의 모든 마디에 대하여 상기 마디별 음표의 빈도수를 산출하고, 산출된 마디별 음표의 빈도수를 합산한 값을 전체 마디의 개수로 제산함으로써 획득되는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 방법.
  8. 제 1 항에 있어서,
    상기 구조화된 전자 악보로 변환하는 단계는,
    악보를 이미지 파일로 입력받는 단계;
    입력된 상기 이미지 파일로부터 문자 및 음표를 인식하는 단계; 및
    인식된 문자 및 음표를 속성별로 분류하여 계층적으로 태깅(tagging)함으로써 XML(eXtensible Markup Language) 기반의 전자 악보를 생성하는 단계;를 포함하는 악보의 난이도 수준을 평가하는 방법.
  9. 제 1 항에 있어서,
    상기 음표의 종류는 음의 종류(note) 및 길이를 포함하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 방법.
  10. 제 1 항 내지 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 전자화된 데이터 형태의 악보를 입력받는 데이터 입력부;
    입력된 상기 악보의 난이도 수준을 평가하는 프로그램을 저장하는 메모리; 및
    상기 악보의 난이도 수준을 평가하는 프로그램을 구동하는 연산부;를 포함하되,
    상기 메모리에 저장된 프로그램은,
    입력된 상기 악보를 음표의 종류(type)를 포함하는 구조화된 전자 악보로 변환하고, 상기 구조화된 전자 악보로부터 음표(note)에 할당된 값과 악보의 구조에 기초하여 마디의 개수와 각각의 마디를 구성하는 구성 요소를 식별하고, 식별된 상기 구성 요소에 기초하여 하나의 마디 내의 음표의 개수를 나타내는 마디별 음표의 빈도수를 산출하되 박자가 상이한 마디들의 음표의 빈도수(note frequency)를 비교하기 위해 마디별 박자에 반비례하도록 설정된 균형 인자(balancing factor)를 상기 마디별 음표의 빈도수에 승산하며, 악보 내의 모든 마디에서 획득된 전체 음표 빈도수 및 미리 설정된 악보의 난이도 범위에 기초하여 상기 악보의 난이도 수준을 결정하는 명령어를 포함하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 장치.
  12. 제 11 항에 있어서,
    상기 메모리에 저장된 프로그램은,
    마디를 나타내는 마디 태그(tag)를 이용하여 상기 구조화된 전자 악보를 분리하고 분리된 마디의 개수를 계수하며, 화음(chord)을 나타내는 화음 태그를 이용하여 화음을 이루는 음표를 식별하고,
    마디별로 하나의 마디 내에 포함된 음표(note) 각각의 가중치(weight) 및 식별된 상기 구성 요소 중 화음을 고려하여 마디별 음표의 빈도수를 산출하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 장치.
  13. 제 12 항에 있어서,
    상기 음표 각각의 가중치는, 하나의 마디 내에서 음표에 할당된 박자에 반비례하는 값으로 설정되고,
    상기 마디별 음표의 빈도수는, 하나의 마디 내에 포함된 모든 음표에 대하여 각각의 가중치와 화음(chord)을 이루는 음표의 개수를 승산하고 승산된 값들을 모두 합산함으로써 산출하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 장치.
  14. 제 11 항에 있어서,
    상기 균형 인자는,
    음표의 빈도수가 박자에 관계없도록 서로 상이한 박자를 일반화시킴으로써 박자가 상이한 마디 또는 악보들 간의 난이도 차이를 반영하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 장치.
  15. 제 11 항에 있어서,
    상기 전체 음표 빈도수는,
    악보 내의 모든 마디에 대하여 상기 마디별 음표의 빈도수를 산출하고, 산출된 마디별 음표의 빈도수를 합산한 값을 전체 마디의 개수로 제산하여 획득되는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 장치.
  16. 제 11 항에 있어서,
    상기 메모리에 저장된 프로그램은,
    상기 데이터 입력부를 통해 악보를 이미지 파일로 입력받고, 입력된 상기 이미지 파일로부터 문자 및 음표를 인식하며, 인식된 문자 및 음표를 속성별로 분류하여 계층적으로 태깅(tagging)함으로써 XML(eXtensible Markup Language) 기반의 전자 악보를 생성하되,
    상기 음표의 종류는 음의 종류(note) 및 길이를 포함하는 것을 특징으로 하는 악보의 난이도 수준을 평가하는 장치.
KR1020150125071A 2015-09-03 2015-09-03 악보의 난이도 수준을 평가하는 장치 및 방법 KR101714432B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150125071A KR101714432B1 (ko) 2015-09-03 2015-09-03 악보의 난이도 수준을 평가하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150125071A KR101714432B1 (ko) 2015-09-03 2015-09-03 악보의 난이도 수준을 평가하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101714432B1 true KR101714432B1 (ko) 2017-03-09

Family

ID=58402638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150125071A KR101714432B1 (ko) 2015-09-03 2015-09-03 악보의 난이도 수준을 평가하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101714432B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071929A (ko) * 2018-12-11 2020-06-22 동국대학교 산학협력단 난이도와 연주자의 수준을 고려한 악보 제공 장치 및 그 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020003105A (ko) * 2001-07-21 2002-01-10 김길호 다중사용자를 지원하는 노래반주방법
US7119266B1 (en) * 2003-05-21 2006-10-10 Bittner Martin C Electronic music display appliance and method for displaying music scores
KR20070095332A (ko) 2004-12-15 2007-09-28 뮤즈아미, 인크 악보 캡처 및 동기된 표현과 함께 동기된 오디오 연주를위한 시스템 및 방법
JP2010276891A (ja) * 2009-05-29 2010-12-09 Casio Computer Co Ltd 楽曲難易度評価装置および楽曲難易度評価プログラム
JP2014032244A (ja) * 2012-08-01 2014-02-20 Casio Comput Co Ltd 演奏難易度評価装置およびプログラム
JP2014228726A (ja) * 2013-05-23 2014-12-08 ヤマハ株式会社 楽曲評価装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020003105A (ko) * 2001-07-21 2002-01-10 김길호 다중사용자를 지원하는 노래반주방법
US7119266B1 (en) * 2003-05-21 2006-10-10 Bittner Martin C Electronic music display appliance and method for displaying music scores
KR20070095332A (ko) 2004-12-15 2007-09-28 뮤즈아미, 인크 악보 캡처 및 동기된 표현과 함께 동기된 오디오 연주를위한 시스템 및 방법
JP2010276891A (ja) * 2009-05-29 2010-12-09 Casio Computer Co Ltd 楽曲難易度評価装置および楽曲難易度評価プログラム
JP2014032244A (ja) * 2012-08-01 2014-02-20 Casio Comput Co Ltd 演奏難易度評価装置およびプログラム
JP2014228726A (ja) * 2013-05-23 2014-12-08 ヤマハ株式会社 楽曲評価装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071929A (ko) * 2018-12-11 2020-06-22 동국대학교 산학협력단 난이도와 연주자의 수준을 고려한 악보 제공 장치 및 그 동작 방법
KR102158380B1 (ko) 2018-12-11 2020-09-22 동국대학교 산학협력단 난이도와 연주자의 수준을 고려한 악보 제공 장치 및 그 동작 방법

Similar Documents

Publication Publication Date Title
Cuthbert et al. music21: A toolkit for computer-aided musicology and symbolic music data
JP5344715B2 (ja) コンテンツ検索装置およびコンテンツ検索プログラム
JP6231944B2 (ja) 学習モデル作成装置、判定システムおよび学習モデル作成方法
Holzapfel Relation between surface rhythm and rhythmic modes in Turkish makam music
Jiang et al. Analysis and modeling of timbre perception features in musical sounds
Şentürk et al. Linking scores and audio recordings in makam music of Turkey
Ünal et al. A hierarchical approach to makam classification of Turkish makam music, using symbolic data
KR101795760B1 (ko) 전자 악보의 레벨을 분류하는 장치 및 방법
Moss et al. The line of fifths and the co-evolution of tonal pitch-classes
Kosta et al. Dynamics and relativity: Practical implications of dynamic markings in the score
Reymore Characterizing prototypical musical instrument timbres with Timbre Trait Profiles
Konz et al. A cross-version chord labelling approach for exploring harmonic structures—A case study on Beethoven's Appassionata
Burghardt et al. Allegro: User-centered design of a tool for the crowdsourced transcription of handwritten music scores
KR101714432B1 (ko) 악보의 난이도 수준을 평가하는 장치 및 방법
Bozkurt et al. Usul and makam driven automatic melodic segmentation for Turkish music
Yu et al. MUS-ROVER: A self-learning system for musical compositional rules
JP5877775B2 (ja) コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法、プログラム、及び記憶媒体
Chakrabarty et al. Reckoning of music rhythm density and complexity through mathematical measures
JP6402637B2 (ja) 分析プログラム、分析方法及び分析装置
Anantapadmanabhan et al. Tonic-independent stroke transcription of the mridangam
Navarro-Cáceres et al. A user controlled system for the generation of melodies applying case based reasoning
Bozkurt et al. A computational analysis of Turkish makam music based on a probabilistic characterization of segmented phrases
JP7170299B2 (ja) 情報処理システム、情報処理方法及びプログラム
Chakrabarty et al. Music similarity mapping through fundamental frequencies by coefficient of concurrent deviation
Milon-Flores et al. Generating audiovisual summaries from literary works using emotion analysis

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: 20200303

Year of fee payment: 4