KR20220069244A - 인공지능 기반 악기 연주 보조 시스템 및 방법 - Google Patents

인공지능 기반 악기 연주 보조 시스템 및 방법 Download PDF

Info

Publication number
KR20220069244A
KR20220069244A KR1020200156177A KR20200156177A KR20220069244A KR 20220069244 A KR20220069244 A KR 20220069244A KR 1020200156177 A KR1020200156177 A KR 1020200156177A KR 20200156177 A KR20200156177 A KR 20200156177A KR 20220069244 A KR20220069244 A KR 20220069244A
Authority
KR
South Korea
Prior art keywords
performance
player
data
practice
music
Prior art date
Application number
KR1020200156177A
Other languages
English (en)
Other versions
KR102433890B1 (ko
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 KR1020200156177A priority Critical patent/KR102433890B1/ko
Publication of KR20220069244A publication Critical patent/KR20220069244A/ko
Application granted granted Critical
Publication of KR102433890B1 publication Critical patent/KR102433890B1/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
    • G10H1/0008Associated control or indicating means
    • G10H1/0016Means for indicating which keys, frets or strings are to be actuated, e.g. using lights or leds
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B15/00Teaching music
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G1/00Means for the representation of music
    • G10G1/02Chord or note indicators, fixed or adjustable, for keyboard of fingerboards
    • 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/066Musical 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 pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
    • 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/091Musical 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 performance evaluation, i.e. judging, grading or scoring the musical qualities or faithfulness of a performance, e.g. with respect to pitch, tempo or other timings of a reference performance
    • 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/021Indicator, i.e. non-screen output user interfacing, e.g. visual or tactile instrument status or guidance information using lights, LEDs, seven segments displays
    • G10H2220/026Indicator, i.e. non-screen output user interfacing, e.g. visual or tactile instrument status or guidance information using lights, LEDs, seven segments displays associated with a key or other user input device, e.g. key indicator lights
    • G10H2220/031Blinking or flashing indicator lights

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

인공지능 기반 악기 연주 보조 시스템이 연습곡을 연주하는 연주자의 악기 연주를 보조하는 방법으로서, 연주자의 선호곡 정보를 기초로 연주자가 악기를 통해 연주할 연습곡을 선택하고, 선택한 연습곡에 대한 악보 데이터를 제공한다. 악보 데이터를 기초로 연주자가 악기를 연주하면, 악기로부터 연습곡의 연주 데이터를 수집하여 악보 데이터에 표시하고, 악보 데이터와 연주 데이터 사이의 오차율을 계산하여 연습곡의 연주 완성도를 확인한다. 그리고 연주 완성도에 대한 패턴과 유사한 패턴으로 연습곡을 연주한 비교 연주자를 선택하고, 비교 연주자가 연습곡과 함께 연주한 다른 연습곡들을 연주자의 추천 연습곡으로 제공한다.

Description

인공지능 기반 악기 연주 보조 시스템 및 방법{Artificial intelligence-based instrument performance assistance system and method}
본 발명은 인공지능 기반 악기 연주 보조 시스템 및 방법에 관한 것이다.
최근 한 가지 이상의 악기를 다루고자, 악기 연주를 위한 레슨을 받는 어린 학생들뿐 아니라 성인들이 증가하고 있다. 그러나 악기 교육의 특성상 한 장소에서 여러 명 이상의 동시 교육이 어려운 관계로 한 선생님이 제한된 수의 학습자를 지도하는 방법 위주로 악기 교육이 진행되었다.
하지만, 전자 통신 산업의 발달로 말미암아 유튜브와 같은 콘텐츠 제공 플랫폼을 통해 다양한 형태의 악기 연주 지도 방법들이 제공되고 있다. 또한, 복수의 사람들의 모이지 못하도록 하는 집합금지명령 상황이 종종 발생하고 있어, 악기 연주 학습자가 독학으로 또는 비대면으로 악기 연주를 위한 레슨을 받을 수밖에 없다.
그러나 개인이 독학으로 악기 연주를 배우기가 어렵고, 악기 연주 콘텐츠를 이용하여 독학을 하더라도 스스로 악기 연주를 얼마나 잘 습득하고 있는지 판단할 수 있는 기준 정보가 제공되지 않는다. 따라서, 악기 연주 학습자 스스로 본인의 현재 실력을 확신하지 못한다는 단점이 있다.
또한, 악기 연주 학습자가 쉽게 구할 수 있는 연습곡은 악기 연주 학습자의 개인 취향에 따라 선택할 수 있는 것이 아니라 일괄적으로 제공되는 연습곡이 대부분이다. 이에 따라, 악기 연주 학습자가 쉽게 흥미와 관심을 잃어버리게 된다.
또한, 개인 혼자서 연주 연습을 하는 경우에는 다른 연주자와 합주할 수 없는 어려움이 있기 때문에, 전문 음악 애호가들뿐만 아니라 일반인에게도 흥미와 관심을 끌어 낼 수 있는 새로운 악기 연주 보조 서비스가 필요한 실정이다.
따라서, 본 발명은 악기 연주 학습자의 취향에 따라 연습곡을 제공할 뿐만 아니라, 해당 연습곡을 연주하였을 때 얼마나 잘 연주하였는지 연주 완성도 정보를 피드백으로 제공하는 인공지능 기반 악기 연주 보조 시스템 및 방법을 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 악기와 연동하여 대상 연주자의 악기 연주를 보조하는 시스템으로서,
복수의 연습곡들에 대한 악보 데이터들과, 복수의 연주자들이 각각 연주한 곡들의 연주 데이터들을 관리하는 저장 장치, 상기 대상 연주자가 상기 악기를 이용하여 연주하는 연습곡의 연주 데이터를 수집하고, 수집한 연주 데이터와 상기 저장 장치에서 관리하는 연주 데이터들을 기초로 상기 연습곡에 대한 추천 연습곡들을 제공하는 인터페이스, 그리고 상기 연습곡의 연주 데이터를 악보 데이터 상에 표시하고, 표시한 연주 데이터와 악보 데이터 사이의 오차율을 계산하여 상기 연습곡의 연주 완성도로 결정하고, 상기 연습곡을 연주한 비교 연주자가 상기 연습곡과 함께 연주한 적어도 하나의 다른 연습곡을 상기 추천 연습곡으로 선택하는 프로세서를 포함한다.
상기 저장 장치는, 상기 대상 연주자의 연주자 정보와 상기 대상 연주자가 연주한 복수의 연주 데이터들을 관리하며, 상기 연주자 정보는 상기 대상 연주자가 연습한 적어도 하나의 연습곡 정보, 상기 연습곡 정보를 기초로 추출된 상기 연주자의 선호곡 정보, 그리고 상기 연주자의 연주 레벨 정보와 목표 연주 레벨 정보를 포함할 수 있다.
상기 프로세서는, 상기 복수의 연습곡들 중 상기 연주자의 선호곡 정보와 상기 연주 레벨 정보를 기초로, 상기 복수의 연습곡들 중 상기 대상 연주자가 연주할 상기 연습곡을 추출할 수 있다.
상기 프로세서는, 상기 연습곡에 대응하는 악보 데이터와, 상기 악보 데이터 상에 표시되는 연주 데이터가 겹쳐지는 정도를 기초로 상기 오차율을 계산할 수 있다.
상기 프로세서는, 상기 연습곡의 연주 완성도에 대한 패턴을 확인하고, 상기 연습곡에 대응하여 상기 저장 장치에 저장된 복수의 연주 데이터들 중 상기 연주 완성도의 패턴과 유사한 연주 완성도로 상기 연습곡을 연주한 연주자를 상기 비교 연주자로 선정하며, 상기 비교 연주자가 상기 연습곡을 연주한 연주 완성도와 상기 연주자의 상기 연주 완성도를 비교 데이터로 제공할 수 있다.
상기 프로세서는, 상기 연습곡을 연주한 횟수만큼 각각 연주 완성도를 생성하고, 상기 각각 생성된 연주 완성도를 상기 연습곡에 대한 연주 기록으로서 제공할 수 있다.
상기 프로세서는, 상기 계산한 오차율 중 미리 설정한 횟수 이상으로 임계값 이상의 오차율이 반복적으로 계산된 연주 구간을 학습 대상 구간으로 설정할 수 있다.
상기 프로세서는, 상기 학습 대상 구간에 포함된 복수의 음표들, 각 음표들의 박자, 코드 구성을 입력 데이터로 하고, 상기 입력 데이터를 음악 작곡 장치에 입력하면 상기 학습 대상 구간의 악보가 출력되도록 상기 음악 작곡 장치를 학습할 수 있다.
상기 프로세서는, 학습된 상기 음악 작곡 장치로 적어도 하나의 음표와 박자를 초기 데이터를 기초로 입력하고, 상기 초기 데이터를 기초로 상기 학습 대상 구간의 악보의 멜로디와 유사한 연주 음악을 작곡할 수 있다.
상기 프로세서는, 상기 작곡한 연주 음악의 마디별로 머니 코드 화성전개에 따라 화성을 설정할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 인공지능 기반 악기 연주 보조 시스템이 연습곡을 연주하는 연주자의 악기 연주를 보조하는 방법으로서,
상기 연주자의 선호곡 정보를 기초로 상기 연주자가 상기 악기를 통해 연주할 연습곡을 선택하고, 선택한 연습곡에 대한 악보 데이터를 제공하는 단계, 상기 악보 데이터를 기초로 상기 연주자가 악기를 연주하면, 상기 악기로부터 상기 연습곡의 연주 데이터를 수집하여 상기 악보 데이터에 표시하는 단계, 상기 악보 데이터와 상기 연주 데이터 사이의 오차율을 계산하여 상기 연습곡의 연주 완성도를 확인하는 단계, 그리고 상기 연주 완성도에 대한 패턴과 유사한 패턴으로 상기 연습곡을 연주한 비교 연주자를 선택하고, 상기 비교 연주자가 상기 연습곡과 함께 연주한 다른 연습곡들을 상기 연주자의 추천 연습곡으로 제공하는 단계를 포함한다.
상기 악보 데이터를 제공하는 단계는, 복수의 연습곡들 중 상기 연주자의 선호곡 정보와 상기 연주자의 연주 레벨 정보를 기초로, 상기 복수의 연습곡들 중 상기 대상 연주자가 연주할 상기 연습곡을 추출하는 단계를 포함할 수 있다.
상기 연주 완성도를 확인하는 단계는, 상기 연습곡에 대응하는 악보 데이터와, 상기 악보 데이터 상에 표시되는 연주 데이터가 겹쳐지는 정도를 기초로 상기 오차율을 계산할 수 있다.
상기 계산한 오차율 중 미리 설정한 횟수 이상으로 임계값 이상의 오차율이 반복적으로 계산된 연주 구간을 학습 대상 구간으로 설정할 수 있다.
상기 학습 대상 구간에 포함된 복수의 음표들, 각 음표들의 박자, 코드 구성을 포함하는 입력 데이터를 음악 작곡 장치에 입력하면, 상기 학습 대상 구간의 악보가 출력되도록 상기 음악 작곡 장치를 학습시키는 단계를 더 포함할 수 있다.
상기 음악 작곡 장치를 학습시키는 단계 이후에, 학습된 상기 음악 작곡 장치로 적어도 하나의 음표와 박자를 초기 데이터를 기초로 입력하고, 상기 초기 데이터를 기초로 상기 학습 대상 구간의 악보의 멜로디와 유사한 연주 음악을 작곡할 수 있다.
본 발명에 따르면, 비대면 악기 연주 학습이나 독학으로 악기 연주를 학습하는 악기 연주 학습자의 취향에 따라 연습곡을 선택하여 제공할 수 있다.
또한, 악기 연주 학습자가 선택된 연습곡을 연주할 때 악보 위에 연주자의 연주를 그려주어 직관적으로 연주자 스스로의 연주 상황을 확인할 수 있게 제공하며, 연주자가 자가 모니터링할 수 있도록 연주 기록을 제공할 수 있다.
또한, 학습자가 원하는 연주 실력 향상을 위하여, 비슷한 실력을 갖추는 다른 학습자들의 연주력 향상에 도움이 된 연습곡을 학습자에게 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 악기 연주 보조 시스템이 적용된 환경의 예시도이다.
도 2는 본 발명의 본 발명의 실시예에 따른 컴퓨터 시스템을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 악기 연주 보조 시스템이 악기 연주를 보조하는 방법에 대한 흐름도이다.
도 4는 본 발명의 실시예에 따라 연주자의 연습곡 연주를 악보에 표시하는 예시도이다.
도 5는 본 발명의 실시예에 따라 제공되는 연주자와 비교 연주자의 연주 완성도를 비교하는 예시도이다.
도 6은 본 발명의 실시예에 따라 제공되는 연습곡의 연주 기록을 나타낸 예시도이다.
도 7은 본 발명의 실시예에 따라 연주자에게 제공되는 추천 연습곡을 나타낸 예시도이다.
도 8은 본 발명의 실시예에 따른 자동 작곡 방법에 대한 흐름도이다.
도 9는 본 발명의 또 다른 실시예에 따라 악기 연주 보조 시스템이 연주자의 모션에 따른 음악을 제공하는 예시도이다.
도 10은 본 발명의 실시예에 따라 연주자의 연주를 악기 연주 보조 시스템이 재현, 편곡하여 피드백하는 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 인공지능 기반 악기 연주 보조 시스템을 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 악기 연주 보조 시스템이 적용된 환경의 예시도이다.
도 1에 도시된 바와 같이, 악기 연주 보조 시스템(100)은 악기 연주 학습자(이하, 설명의 편의를 위하여 '연주자'라 지칭함)가 연주하는 악기(200)와 연동한다. 본 발명의 실시예에서는 설명의 편의를 위하여 피아노를 예를 들어 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 이때, 악기(200)는 악기 연주 보조 시스템(100)으로 연주 정보를 전송하거나 악기 연주 보조 시스템(100)으로부터 전송되는 데이터를 수신할 수 있는 전자 악기를 예로 하여 설명한다.
악기(200)는 악기 연주 보조 시스템(100)으로부터 학습자가 악기(200)를 이용하여 연주 연습을 수행할 때, 연주자의 취향에 따라 연습곡을 선택하여 제공한다. 그리고 악기 연주 보조 시스템(100)이 연습곡 악보 위에 연주자의 연주 정보를 매핑하면, 이를 연주자가 확인할 수 있도록 디스플레이한다.
악기 연주 보조 시스템(100)은 연주자들이 각각 입력한 연주자 정보들, 그리고 연주자들이 연습곡을 연주할 때 수집한 연주 정보 등을 저장, 관리한다.
임의의 연주자가 악기(200)의 연주 연습을 시도할 때, 악기 연주 보조 시스템(100)은 관리하는 정보들을 기초로 해당 연주자가 선호하는 연습곡을 선택하여 악기(200)를 통해 제공한다. 또는, 악기 연주 보조 시스템(100)은 연주자가 목표로 하는 연주 실력 레벨에 해당하는 다른 연주자들의 연습곡을 악기(200)를 통해 해당 연주자에게 제공할 수 있다.
또한, 악기 연주 보조 시스템(100)은 연주자가 제공된 연습곡을 연주하면, 연주 정보를 수집하고 이를 기초로 연주 완성도를 채점한다. 그리고 악기 연주 보조 시스템(100)은 해당 연주자의 연주 완성도와 유사한 연주 완성도를 보이는 다른 연주자를 탐색하여 다른 연주자의 연주 완성도와 다른 연주자가 해당 연습곡을 연주하기 전에 연습했던 또 다른 연습곡들에 대한 정보를 악기(200)로 제공하거나, 연주자가 소지한 단말(300)로 제공할 수도 있다.
또한, 악기 연주 보조 시스템(100)은 해당 연주자가 자신의 연주 기록을 단말(300)을 통해 모니터링하고자 하면, 해당 연주자의 연주 기록을 제공한다.
또한, 악기 연주 보조 시스템(100)은 연주자의 연주 기록이나 선호 음악 등을 기초로, 연주자가 연주할 곡을 창작하여 제공한다. 이때, 악기 연주 보조 시스템(100)은 학습된 인공 신경망을 이용하여 연주자의 연주 기록, 선호도 등 연주자 정보를 기초로 연주 음악을 창작하여 제공하며, 이에 대한 설명은 이후 상세히 한다.
이러한 환경에서, 악기(200)로 다양한 악기 연주 보조 정보를 제공하고, 인공지능으로 연주자에게 알맞은 연주 음악을 창작하여 제공하는 악기 연주 보조 시스템(100)의 구조에 대해 도 2를 참조로 설명한다.
도 2는 본 발명의 본 발명의 실시예에 따른 컴퓨터 시스템을 나타내는 도면이다.
본 발명의 실시예에 따른 악기 연주 보조 시스템(100)은 도 2와 같은 컴퓨터 시스템(400)으로 구현될 수 있다.
컴퓨터 시스템(400)은 버스(420)를 통해 통신하는 프로세서(410), 메모리(430), 사용자 인터페이스 입력 장치(440), 사용자 인터페이스 출력 장치(450), 그리고 저장 장치(460) 중 적어도 하나를 포함할 수 있다.
프로세서(410)는 중앙 처리 장치(central processing unit, CPU)이거나, 또는 메모리(430) 또는 저장 장치(460)에 저장된 명령을 실행하는 반도체 장치일 수 있다. 프로세서(410)는 이후 설명할 악기 연주 보조 시스템(100)의 기능들 및 방법을 구현하도록 구성될 수 있다.
메모리(430) 및 저장 장치(460)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(430)는 ROM(read only memory)(431) 및 RAM(random access memory)(432)을 포함할 수 있다. 본 발명의 실시예에서 메모리(430)는 프로세서(410)의 내부 또는 외부에 위치할 수 있고, 메모리(430)는 이미 알려진 다양한 수단을 통해 프로세서(410)와 연결될 수 있다.
악기 연주 보조 시스템(100)은 연주자가 악기(200)를 학습하기에 앞서 악기(200)에 설치되어 있거나 악기(200)에 설치되어 있는 악기 연주 학습 프로그램을 실행하면, 악기 연주 보조 시스템(100)의 프로세서(410)는 연주자의 식별 정보를 기초로 연주자에 매핑되어 저장 장치(460)에 저장되어 있는 연주자 정보와 연주 데이터를 확인한다.
여기서 연주자 정보는 연주자에게 부여된 식별 정보, 연주자가 연습했던 연습곡 정보, 연주자의 기존 연습곡 정보나 식별 정보를 토대로 추출한 선호곡 정보 등을 포함한다.
식별 정보는 연주자의 이름, 연주자가 연습하는 악기 종류, 현재 연주자의 연주 레벨과 목표로 하는 연주 목표 레벨 등의 정보를 포함한다.
연습곡 정보는 연주자가 연습했던 적어도 하나의 연습곡들의 식별 정보와 각 연습곡의 장르 정보, 각 연습곡의 완성도를 나타내는 오차율 정보를 포함한다. 또한, 연습곡 정보는 각 연습곡별로 해당 연습곡을 연습했던 연주자의 식별 정보와 해당 연습곡을 연주하기 전에 연주자들에 의해 주로 선행되었거나 미리 설정되어 있는 선행 연습곡들의 정보가 매핑될 수 있다.
선호곡 정보는 연주자가 연습해왔던 연습곡을 기초로 프로세서(410)가 확인한 연주 선호 장르 정보를 포함한다. 또한, 선호곡 정보는 연주자가 기 입력한 연습곡 선호 장르 정보를 포함한다.
프로세서(410)는 메모리(430)에 저장되어 있는 연주자 정보를 기초로 연주자에게 제공할 추천 연습곡을 선택한다. 프로세서(410)가 복수의 연습곡 정보를 기초로 추천 연습곡을 선택하는 방법은 학습 데이터를 이용하여 연습곡 추천 모듈을 학습시켜 선택하거나, 각 추천 연습곡들의 장르 정보를 확인하여 많이 선택된 장르에 대응하는 연습곡을 추천 연습곡으로 선택할 수도 있다. 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
프로세서(410)는 연주자에 의해 선택되었거나 프로세서(410)가 선택한 연습곡의 악보를 사용자 인터페이스 출력 장치(450)를 통해 악기(200)로 출력한다. 여기서, 연습곡의 악보는 MID 파일 형태로 제공되는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
그리고 프로세서(410)는 연주자가 연습곡을 연주하면, 연주자의 연주 데이터를 연습곡의 원곡 악보 미디 데이터 상에 실시간 표시하여 악기(200)로 제공한다. 이때, 프로세서(410)는 오선지 악보 위에 사용자가 연주한 입력을 음표로 표현하여 제공할 수도 있고, 음표 형태가 아니라 바(bar) 형태 등 다른 형태로 제공할 수도 있다. 그리고, 프로세서(410)가 연주자의 연주 데이터를 원곡 악보 미디 데이터 상에 실시간으로 표시하는 방법은 다양한 방법으로 실행될 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
프로세서(410)는 악보 상에 표시한 연주 정보와 연습곡의 악보 정보를 기초로, 연주자의 연습곡 연주 완성도를 채점한다. 프로세서(410)는 연습곡의 원곡 악보 미디 데이터와 연주자의 연주 데이터의 오차율을 산출하여 연주 완성도를 채점하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 여기서 프로세서(410)는 악보의 마디별로 오차율을 산출하며, 프로세서(410)가 오차율을 산출하는 방법에 대해서는 이후 설명한다.
프로세서(410)는 연주자가 연습곡의 연주를 완료하면, 해당 연습곡을 이미 연습한 다른 연주자들의 연주 완성도가 채점된 연주 정보를 확인한다. 그리고 연주자의 연주 완성도와 유사한 완성도를 나타낸 다른 연주자(이하, 설명의 편의를 위하여, '비교 연주자'라 지칭함)의 기본 정보와 비교 연주자의 연주 패턴 등을 제공한다.
프로세서(410)는 또한, 연주자가 선택한 특정 연습곡을 연습하기 전에 연습에 도움이 될 만한 또 다른 연습곡(이하, 설명의 편의를 위하여 '선행 연습곡'이라 지칭함)들을 추천할 수도 있다. 즉, 비교 대상 연주자가 해당 연습곡을 연습하면서 실력 향상이 이루어지는 동안 어떤 선행 연습곡들을 연습했는지 확인하고, 확인한 선행 연습곡들을 추천 연습곡으로 제공할 수 있다.
프로세서(410)는 연주자의 연주 정보를 기초로 악기 연주 보조 시스템(100)을 구성하는 음악 작곡 장치(도면 미도시)를 학습시킨다. 이때, 음악 작곡 장치는 RNN(Recurrent Neural Network)으로 구성되어 프로세서(410) 내부에서 음악을 작곡하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
프로세서(410)는 연주 정보의 마디별로 계산된 오차율을 기초로 연주자가 연습곡에서 자주 틀리는 구간 또는 가장 정확하게 연주한 구간 등의 연주 정보를 추출한다. 이 이외에도, 프로세서(410)는 연주 기록을 기초로 연주자가 정확하게 연주한 연습곡의 빠르기 또는 연주자가 자주 틀린 연습곡의 빠르기 정보 등도 추출한다.
본 발명의 실시예에서는 연주자가 자주 틀리는 구간의 연주 정보를 추출하여 음악을 작곡하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 이를 위해, 프로세서(410)는 기 계산한 오차율 중 미리 설정한 임계값 이상의 오차율을 미리 설정한 횟수 이상으로 가지는 구간을 자주 틀리는 구간으로 설정하는 것을 예로 하여 설명한다.
프로세서(410)는 자주 틀리는 구간에 포함된 적어도 하나의 마디에 대한 구간 정보를 확인하고, 구간 정보를 학습 데이터로 사용하여 음악 작곡 장치를 학습시킨다. 이때, 프로세서(410)는 추출한 구간 정보들을 음악 작곡 장치로 입력하면, 연주자가 연주했던 연주곡의 악보가 출력되도록 음악 작곡 장치를 학습시킨다.
그리고, 프로세서(410)는 학습된 음악 작곡 장치에 연주자로부터 입력된 적어도 하나의 음표와 쉼표, 빠르기 등의 정보를 포함하는 선택 정보를 입력하면, 학습시킨 연주곡의 멜로디와 유사한 음악을 작곡한다.
예를 들어, 연주자가 자주 틀린 구간의 연주 스킬을 프로세서(410)가 인공지능으로 작곡한 음악으로 연습하고자 한다면, 프로세서(410)는 자주 틀린 구간에서 모든 음표(또는, 노트라고도 지칭함)를 기준으로 코드 구성과 해당 음표 전후에 위치한 음표들의 코드 구성, 그리고 해당 구간의 변조, 음표, 박자, 쉼표, 빠르기 등을 작곡 기초 정보로 확인한다.
그리고 프로세서(410)는 작곡 기초 정보를 토대로 하나의 제1 음표와 다음에 제2 음표가 주어질 확률을 계산한다. 프로세서(410)는 모든 음표와 다음에 주어질 음표 사이의 확률 분포로 음악 작곡 장치를 학습시킨다.
그리고 프로세서(410)는 작곡 기초 정보를 토대로 연주자가 선호하는 장르에 맞춰 음악을 작곡하여 제공한다. 이때 프로세서(410)는 연주자가 자주 틀리는 구간을 충분히 연습할 수 있도록, 코드 구성들이 다양한 형태로 반영되도록 음악을 작곡하는 것을 예로 하여 설명한다. 프로세서(410)가 작곡 기초 정보를 토대로 음악을 작곡하는 방법은 다양한 방법으로 실행될 수 있으며, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다. 상술한 악기 연주 보조 시스템(100)이 연주자에게 연습곡을 추천하고, 추천한 연습곡으로 연습하는 연주자에게 피드백을 제공하는 방법에 대해 도 3을 참조로 설명한다.
도 3은 본 발명의 실시예에 따른 악기 연주 보조 시스템이 악기 연주를 보조하는 방법에 대한 흐름도이다.
도 3에 도시된 바와 같이, 악기 연주 보조 시스템(100)은 단말(300)로부터 임의의 연주자가 악기 연습을 위한 연습곡 제공을 요청받거나 악기(200)가 실행되면, 연주자의 요청에 따라 연습곡을 선택한 후 선택한 연습곡의 악보를 악기(200)로 제공한다(S100). 이때, 악보는 MID 파일로 제공되는 것을 예로 하여 설명한다.
본 발명의 실시예에서는 연주자가 연습곡의 제공을 요청하는 것을 예로 하여 설명하나, 연주자가 직접 연습곡을 선택할 수도 있다. 이러한 경우라면, 악기 연주 보조 시스템(100)은 연주자가 직접 선택한 연습곡에 대한 연습곡 정보를 획득하여 저장하고, 해당 연습곡의 악보를 악기(200)에 제공할 수 있다.
여기서, 악기 연주 보조 시스템(100)은 임의의 연주자가 연습곡 제공을 요청할 때, 연주자의 연주자 정보를 기초로 연주자가 선호하는 장르의 연습곡을 선택하거나 연주자의 연주 레벨에 적합한 연습곡을 선택하여 제공한다. 즉, 연주자가 선호하는 음악 장르, 또는 연주자의 연주 레벨과 유사한 타 연주자들이 연습했던 연습곡들 중 어느 하나를 선택할 수도 있다. 다양한 연습곡들 중 연주자에게 적합한 연습곡을 선택하는 방법은 다양하게 수행할 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
악기(200)에 제공된 연습곡 악보를 보며 연주자가 연습곡을 연주하면, 악기 연주 보조 시스템(100)은 악기(200)를 통해 연주자가 연주하는 연습곡의 연주 데이터를 수집한다(S110). 여기서 연주 데이터는 연습곡의 연주가 시작되는 시점부터 종료 시점까지 연주자가 악기(200)를 연주한 시점, 악기(200)에서 발생된 음의 길이 음의 높이 등을 포함한다. 연주 데이터는 이미 알려진 것으로, 본 발명의 실시예에서는 상세한 설명을 생략한다.
악기 연주 보조 시스템(100)은 현재 연주중인 연습곡의 악보 상에, 연주자가 연주하는 연주 데이터를 표시하여 함께 제공한다(S120). 이때, 연주 데이터는 연습곡의 원곡 미디 데이터를 표시하는 표시 수단과 상이한 표시 수단으로 표시한다.
악기 연주 보조 시스템(100)은 연습곡의 연주가 종료되면, 연습곡의 원곡 데이터와 연주자의 연주 데이터를 이용하여 오차율을 계산한다(S130).
즉, 원곡 데이터와 연주 데이터는 MID 파일로 제공되거나 수집된다. MID 파일은 실제 악보상에 표시되어 있는 복수의 마디들의 수에 해당하는 마디들이 있고, 각 마디에는 실제 악보상의 음의 길이와 높낮이를 표현하는 다양한 길이와 높이의 틱들이 포함되어 있다. 따라서, 악기 연주 보조 시스템(100)은 원곡 데이터의 각 마디를 구성하는 틱들에 연주 데이터 상의 틱들이 겹쳐지는 정도를 정규화하여 오차율로 산출한다.
악기 연주 보조 시스템(100)은 S130 계산한 오차율을 기초로, 연주자가 해당 연습곡을 연주한 연주 완성도로 저장한다(S140). 연주 완성도는 연습곡의 첫 번째 마디에서부터 마지막 마디까지 오차율을 그래프 형태로 포함한다.
악기 연주 보조 시스템(100)은 S140 단계에서 저장한 연주자의 연주 완성도와 유사한 연주 완성도를 나타내는 비교 연주자가 있는지 탐색한다(S150). 이를 위해, 연주자의 연주 완성도를 동일한 연습곡에 매핑되어 저장되어 있는 복수의 다른 연주자들의 연주 완성도들과 비교한다. 악기 연주 보조 시스템(100)이 두 연주 완성도를 다양한 방법으로 비교할 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
악기 연주 보조 시스템(100)은 유사한 연주 완성도로 연습곡을 연주한 다른 연주자가 있으면, 다른 연주자를 비교 연주자로 확인한다. 그리고 연주자의 연주 완성도와 비교 연주자의 연주 완성도를 비교하여 연주자에게 제공한다(S160). 이를 통해, 연주자는 해당 연습곡을 타 연주자들이 얼마나 정확하게 연주하는지 파악할 수 있다.
이와 동시에, 악기 연주 보조 시스템(100)은 연주자가 해당 연습곡의 연습 정도를 스스로 모니터링할 수 있도록 하기 위해, 연주 기록을 제공한다(S170). 여기서 연주 기록은, 연주자가 동일한 연습곡을 복수 번 연습했다고 가정할 때, 날짜별로 해당 연습곡의 연주 완성도를 표시하여, 연주자로 하여금 한눈에 연주 완성도를 확인할 수 있도록 제공한다.
그리고 악기 연주 보조 시스템(100)은 연주 기록과 함께, 해당 연습곡의 연습에 도움이 될 만한 추천 연습곡들을 선택하여 제공한다(S180). 추천 연습곡은 해당 연습곡을 연습했던 타 연주자들의 연주 완성도를 확인하고, 연주 완성도가 미리 설정한 임계 정도 이상으로 좋아진 대상 연주자가 있는지 확인한다. 그리고 대상 연주자가 해당 연습곡을 연습하는 시기에 함께 연습했던 타 연습곡들을 추천 연습곡으로 선택하여 연주자에게 제공한다.
상술한 방법 중, S120 단계에서 연주자의 연주 데이터를 악보에 함께 표시하여 제공하는 실시예에 대해 도 4를 참조로 설명한다.
도 4는 본 발명의 실시예에 따라 연주자의 연습곡 연주를 악보에 표시하는 예시도이다.
도 4에 도시된 바와 같이, X축은 연습곡 악보의 마디에 해당하며 악보 데이터 상에 제1 표시 수단(①)으로 표시된 틱들은 연습곡의 음표들에 해당한다. 그리고 제2 표시 수단(②)으로 표시된 틱들은 연주자가 실제 연주한 연주 데이터에 해당한다.
본 발명의 실시예에서는 제2 표시 수단(②)으로 연주 데이터를 틱 형태로 표시하는 것을 예로 하여 설명하나, 실제 음표로 표시하여 제공할 수도 있다.
다음은 상술한 방법 중 악기 연주 보조 시스템(100)이 S160 단계에서 연주자의 연주 완성도와 비교 연주자의 연주 완성도를 제공하는 예에 대해 도 5를 참조로 설명한다.
도 5는 본 발명의 실시예에 따라 제공되는 연주자와 비교 연주자의 연주 완성도를 비교하는 예시도이다.
도 5에 도시된 바와 같이, X축은 연습곡 악보의 마디에 해당하며, Y축은 연주자와 비교 연주자가 연습곡을 연주한 오차율을 나타낸다.
연주자가 해당 연습곡을 특정 마디(③)에서 가장 높은 오차율로 연주했다고 가정한다. 그리고 연주곡의 첫 시작부터 특정 마디(③)까지 오차율이 점점 높아지고, 특정 마디(③)를 기점으로 연주곡의 마지막 마디까지는 오차율이 점점 줄어들게 연주했다고 가정한다.
악기 연주 보조 시스템(100)은 동일한 연습곡을 연주한 복수의 연주자들 중, 유사한 패턴으로 연주한 연주자들이 있는지 확인한다. 그리고 유사한 패턴으로 연주한 비교 연주자의 연주 완성도를 해당 연주자의 연주 완성도와 함께 비교할 수 있도록 제공한다.
다음은, 상술한 방법 중 악기 연주 보조 시스템(100)이 S170 단계에서 연주자가 자가 모니터링을 할 수 있도록 해당 연습곡의 연주 기록을 제공하는 예에 대해 도 6을 참조로 설명한다
도 6은 본 발명의 실시예에 따라 제공되는 연습곡의 연주 기록을 나타낸 예시도이다.
도 6의 (a)는 연주자가 연습곡을 연주했던 복수의 연주 기록을 나타낸 것이고, 도 6의 (b)는 상기 도 5에서 비교 연주자로 선택된 연주자가 해당 연습곡을 연주했던 복수의 연주 기록을 나타낸 것이다. 그리고 도 6의 (c)는 해당 연습곡을 이상적으로 연주했다고 가정할 때의 연주 기록을 나타낸 예시도이다.
도 6에 도시된 바와 같이, 연주자와 비교 연주자가 동일한 연습곡을 5회 연주했다고 가정하면, 각각 연습곡을 연주한 연주 기록을 한 화면을 통해 제공한다. 이를 토대로 연주자는 연습곡의 연주 완성도를 파악하며, 해당 연습곡을 연주했던 비교 연주자와의 연주 완성도의 차이를 확인할 수 있다.
다음은 악기 연주 보조 시스템(100)이 연주자에게 연습곡을 연주하는데 도움이 될 만한 추천 연습곡을 제공하는 예에 대해 도 7을 참조로 설명한다.
도 7은 본 발명의 실시예에 따라 연주자에게 제공되는 추천 연습곡을 나타낸 예시도이다.
악기 연주 보조 시스템(100)은 상술한 도 6의 (c)의 연주 기록이 저장된 타 연주자가 해당 연습곡을 연주하면서 실력 향상이 이루어지는 동안, 어떤 곡들을 연습했는지 추출할 수 있다.
도 7에 도시된 바와 같이, 타 연주자가 해당 연습곡을 연주할 때, 예를 들어 'Carol of the bells', 'Game of Thrones'등의 다른 곡들을 함께 연주하였다고 가정하면, 악기 연주 보조 시스템(100)은 해당 곡들이 연습곡의 연주 실력 향상에 직간접적으로 도움이 되었다고 판단한다. 따라서, 연주자에게 해당 곡들을 추천 연습곡으로 제공한다.
이와 같이, 실제 연주자들이 연주한 연주 데이터를 통해 연주자에게 효과적으로 연주자의 강점과 부족한 점을 제공할 수 있다. 또한, 다양하게 수집된 연주 데이터들을 통해 연주자에게 적합한 연습곡을 추출하거나 연주자의 선호도에 맞는 연습곡을 추천함으로써, 연주자가 용이하게 악기를 연습할 수 있도록 보조할 수 있다.
다음은, 본 발명의 실시예의 악기 연주 보조 시스템(100)을 이용하여 학습된 음악 장치가 자동으로 작곡하는 방법에 대해 도 8을 참조로 설명한다.
도 8은 본 발명의 실시예에 따른 자동 작곡 방법에 대한 흐름도이다.
도 8에 도시된 바와 같이, 악기 연주 보조 시스템(100)은 연주자들의 연주 정보를 기초로 작곡 기초 정보를 추출한다(S200). 여기서 작곡 기초 정보에는 연주자 선호 장르, 연주자가 자주 틀리는 구간의 멜로디, 박자, 음표, 쉼표, 화성 등의 정보를 포함한다. 본 발명의 실시예에서는 연주자가 자주 틀리는 구간을 연습하기 위해, 자주 틀리는 구간의 멜로디와 유사한 형태의 멜로디가 생성되도록 작곡 기초 정보로 추출하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
악기 연주 보조 시스템(100)은 S200 단계에서 추출한 작곡 기초 정보를 입력 데이터로 사용한다. 악기 연주 보조 시스템(100)은 입력 데이터를 RNN 또는 FNN(Feedforward Neural Network) 등의 인공 신경망으로 구성된 음악 작곡 장치로 입력하고, 음악 작곡 장치에서 연주자들이 연주했던 연주곡에 대한 악보가 출력되도록 학습시킨다(S210).
즉, 악기 연주 보조 시스템(100)은 곡의 멜로디를 이용하여 인공 신경망을 학습시키기 위해, 연주자가 자주 틀리는 구간의 멜로디를 구성하는 음표, 쉼표, 박자를 숫자로 표현한다. 이때, 음표는 7옥타브 중 2옥타브에서 4옥타브 만을 사용하고, 각 옥타브에 해당하는 음표(2옥타브 도에서부터 4옥타브 시까지)에 1부터 36까지 숫자를 매핑한다. 즉, 2옥타브 도에 해당하는 음표에는 1을 매핑하고, 3옥타브 도 샵에 해당하는 음표에는 14를 매핑한다.
그리고, 악기 연주 보조 시스템(100)은 온음표부터 64분음표까지 7개의 박자에 1~7까지 숫자로 매핑하고, 점음표에 숫자 8을 매핑한다. 본 발명의 실시예에서는 설명의 편의를 위하여 36개의 옥타브 음표와 8개의 박자를 예를 들어 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
음표와 박자에 각각 숫자를 매핑한 후, 악기 연주 보조 시스템(100)은 연주자가 자주 틀리는 구간의 곡을 멜로디에 따라, 음표와 쉼표를 표현하는 하나의 시계열 데이터(이하, 설명의 편의를 위하여 '음표 시계열 데이터'라 지칭함)와 박자를 표현하는 하나의 시계열 데이터(이하, 설명의 편의를 위하여 '박자 시계열 데이터'라 지칭함)를 생성한다. 악기 연주 보조 시스템(100)이 곡에서 음표 시계열 데이터와 박자 시계열 데이터를 생성하는 방법은 다양하게 실행될 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
악기 연주 보조 시스템(100)은 생성한 음표 시계열 데이터와 박자 시계열 데이터를 인공 신경 망으로 구성된 음악 작곡 장치로 입력하고, 출력으로 해당 구간의 악보가 출력되도록 학습시킨다. 이때, 악기 연주 보조 시스템(100)은 마디별로 입력 데이터를 음악 작곡 장치로 입력하여 마디를 구분해줌으로써, 음표가 한쪽으로 치우치게 되는 등의 오류 발생 문제점을 해결한다.
즉, 마디를 구분하는 입력 데이터를 음악 작곡 장치로 순차적으로 삽입하여 음악 작곡 장치를 학습시키기 때문에, 학습할 곡의 시계열 데이터가 동일해도 악기 음악 작곡 장치는 입력을 구분할 수 있다. 이와 같은 마디 구분 입력을 위한 특정 값이 매핑될 필요는 없다.
음악 작곡 장치가 학습되면, 악기 연주 보조 시스템(100)은 입력된 연주자 정보를 기초로 연주자에게 특화된 연주 음악을 작곡한다(S220). 즉, 연주자가 선호하는 음악 장르나 연주자가 미리 설정된 수의 초기 음표, 쉼표, 박자를 초기 데이터로 입력하면, 음악 작곡 장치는 입력 받은 초기 데이터를 기초로 연주 음악을 작곡한다.
이때, 음악 작곡 장치는 학습을 위해 사용되었던 원래 곡과 동일한 곡을 작곡하여 출력할 수도 있고, 학습했던 곡과 유사한 멜로디 느낌을 가지나 다른 멜로디로 작곡하여 출력할 수도 있다. 음악 작곡 장치는 학습된 신경망에서 연주 음악이 작곡되는 것이므로, 음악 이론에 맞지 않는 결과가 출력될 수도 있다.
따라서, 악기 연주 보조 시스템(100)은 S220 단계에서 작곡한 연주 음악을 화성 후처리하여 멜로디를 수정한다(S230). 악기 연주 보조 시스템(100)이 연주 음악을 화성 후처리하기 위해, 먼저 S220 단계에서 생성된 연주 음악의 멜로디를 마디별로 구분하여 화성 후보군을 생성한다.
그리고, 각 마디별로 선정된 화성 후보군을 기본으로, 4마디 별로 머니 코드(money chord) 화성전개가 되도록, 각 마디 별로 화성을 선택한다. 여기서, 머니 코드는 여러 음악에서 주로 사용되는 코드로 화성을 전개하는 방법으로, 머니 코드에 대한 설명과 코드 진행 방법에 대한 설명은 이미 알려진 것으로 본 발명의 실시예에서는 상세한 설명을 생략한다.
악기 연주 보조 시스템(100)은 머니 코드 화성전개에 맞도록 생성한 연주 음악의 각 마디 별로 화성을 선정하고, 해당 화성에 맞도록 멜로디 수정하여 최종 연주 음악으로 출력한다. 이를 위해, 악기 연주 보조 시스템(100)에는 머니 코드 정보가 저장되어 있는 것을 예로 하여 설명한다.
이상에서 설명한 바와 같이, 본 발명은 피아노 연주자에게 추천 연습곡을 제공하거나 연주 음악을 작곡하는 예에 대해 설명하였으나, 타악기나 현악기의 연주 음악을 작곡할 수도 있다.
본 발명의 또 다른 실시예에서는 비 음악가들이 실제 악기가 아닌 제공된 인터페이스를 이용하여 연주 모션을 흉내내면, 악기 연주 보조 시스템(100)이 비 음악가들의 모션과 유사한 음악을 제공할 수도 있다. 이에 대해 도 9를 참조로 설명한다.
도 9는 본 발명의 또 다른 실시예에 따라 악기 연주 보조 시스템이 연주자의 모션에 따른 음악을 제공하는 예시도이다.
도 9에 도시된 바와 같이, 연주자들이 제공된 인터페이스(500)를 이용하여 손을 위아래로 움직여 멜로디의 상승과 하강 움직임을 모사하면, 악기 연주 보조 시스템(100)은 연주자의 움직임을 파악하여 연주자의 움직임과 같은 멜로디의 음악을 제공할 수 있다. 이를 위해, 악기 연주 보조 시스템(100)은 연주자의 움직임을 확인하여 연주 빠르기나 손의 상승/하강 움직임을 파악한다.
그리고, 악기 연주 보조 시스템(100)은 파악한 연주 빠르기나 상승/하강 움직임과 유사한 빠르기 및 상승/하강 멜로디 라인을 가지는 음악을 검색하여 해당 음악을 제공한다.
이를 위해, 악기 연주 보조 시스템(100)은 연주자의 손 움직임을 촬영할 수 있는 촬영 수단(예를 들어, 카메라 등)(600)과 연주자가 연주 모션을 흉내낼 수 있는 인터페이스(500)를 추가로 포함할 수 있다. 그리고 인터페이스(500)에는 복수개의 버튼이 구비되어 있어, 연주자가 해당 버튼들을 눌러 연주 움직임을 모사하는 것을 예로 하여 설명한다.
악기 연주 보조 시스템(100)은 촬영 수단(600)이 촬영한 연주자의 손 움직임과 인터페이스(500)에 구비된 버튼이 눌릴 때 발생하는 신호(이하, '버튼 눌림 신호'라 지칭함)를 수집한다. 그리고 연주자의 손 움직임 영상을 분석하여 손의 상승과 하강 움직임을 파악하고, 버튼에서 발생한 버튼 눌림 신호의 신호 간격을 기초로 손 움직임의 빠르기를 판단한다.
악기 연주 보조 시스템(100)이 손 움직임 영상을 분석하는 방법이나, 영상에서 손의 상승과 하강 움직임을 파악하는 방법은 다양한 영상 처리 방법으로 수행할 수 있으므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
이때, 본 발명의 실시예에서는 인터페이스(500)에 8개의 버튼이 구비되어 있는 것을 예로 하여 설명한다. 따라서, 악기 연주 보조 시스템(100)은 8개의 버튼을 실제 피아노의 88개 건반에 매핑하여야 한다. 악기 연주 보조 시스템(100)이 8개의 버튼을 88개 건반에 매핑하는 방법은 여러 방법을 통해 수행할 수 있다.
예를 들어, 악기 연주 보조 시스템(100)은 단일 옥타브에 대해 고정된 스케일로 버튼에 매핑할 수 있다. 또한, 고정 매핑을 사용하는 대신, 기존 피아노 연주 세트에 대해 훈련된 개별 자동 인코더 아키텍처를 사용하여 버튼을 건반에 매핑할 수도 있다.
악기 연주 보조 시스템(100)은 파악한 정보들을 기초로, 기 저장되어 있는 음악들의 정보와 비교하여 연주자가 흉내 낸 연주 모션에 대응하는 음악을 선택한다.
다음은 본 발명의 또 다른 실시예에 따라 악기 연주 보조 시스템(100)이 연주자의 연주를 재현하고, 편곡하여 연주자에게 피드백하는 예에 대해 도 10을 참조로 설명한다.
도 10은 본 발명의 실시예에 따라 연주자의 연주를 악기 연주 보조 시스템이 재현, 편곡하여 피드백하는 예시도이다.
도 10에 도시된 바와 같이, 연주자가 피아노를 이용하여 특정 악보를 연주하면, 악기 연주 보조 시스템(100)은 연주자의 연주를 도 10의 (a)에 나타낸 바와 같이 재현할 수 있다. 본 발명의 실시예에서는 설명의 편의를 위하여 연주자가 연주한 곡이나 악기 연주 보조 시스템(100)이 재현 또는 편곡하여 피드백하는 곡을 악보로 표시하여 나타낸다.
또한, 악기 연주 보조 시스템(100)은 연주자의 연주 곡을 재현할 뿐만 아니라 도 10의 (b)에 나타낸 바와 같이 연주자가 연주한 곡을 편곡하여 피드백으로 제공할 수도 있다. 도 10의 (b)에서는 화성, 멜로디 등을 모두 편곡하여 피드백으로 제공하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
이를 위해, 악기 연주 보조 시스템(100)은 다양한 멜로디들과, 각 멜로디에 대응하여 기 편곡된 편곡 멜로디를 학습 데이터로 제공받는다. 그리고 각 멜로디가 입력되면 편곡 멜로디가 출력되도록 학습되어 있다. 본 발명의 실시예에서는 설명의 편의를 위하여 악기 연주 보조 시스템(100)이 멜로디를 편곡할 수 있도록 학습되어 있는 것을 예로 하여 설명하나, 화성, 리듬 등 다양한 형태로 편곡할 수 있도록 학습되어 있다.
악기 연주 보조 시스템(100)이 학습 데이터를 이용하여 편곡 모듈(도면 미도시)을 편곡하기 위해, CNN(Convolutional Neural Network), LSTM(Long Short Term Memory) 기반의 딥러닝 모듈을 활용하는 것을 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다. 딥러닝 모듈을 활용하여 편곡 모듈을 학습시키는 방법은 다양한 방법으로 실행될 수 있으므로, 본 발명의 실시예에서는 어느 하나의 설명으로 한정하지 않는다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (16)

  1. 악기와 연동하여 대상 연주자의 악기 연주를 보조하는 시스템으로서,
    복수의 연습곡들에 대한 악보 데이터들과, 복수의 연주자들이 각각 연주한 곡들의 연주 데이터들을 관리하는 저장 장치,
    상기 대상 연주자가 상기 악기를 이용하여 연주하는 연습곡의 연주 데이터를 수집하고, 수집한 연주 데이터와 상기 저장 장치에서 관리하는 연주 데이터들을 기초로 상기 연습곡에 대한 추천 연습곡들을 제공하는 인터페이스, 그리고
    상기 연습곡의 연주 데이터를 악보 데이터 상에 표시하고, 표시한 연주 데이터와 악보 데이터 사이의 오차율을 계산하여 상기 연습곡의 연주 완성도로 결정하고, 상기 연습곡을 연주한 비교 연주자가 상기 연습곡과 함께 연주한 적어도 하나의 다른 연습곡을 상기 추천 연습곡으로 선택하는 프로세서
    를 포함하는, 인공지능 기반 악기 연주 보조 시스템.
  2. 제1항에 있어서,
    상기 저장 장치는,
    상기 대상 연주자의 연주자 정보와 상기 대상 연주자가 연주한 복수의 연주 데이터들을 관리하며,
    상기 연주자 정보는 상기 대상 연주자가 연습한 적어도 하나의 연습곡 정보, 상기 연습곡 정보를 기초로 추출된 상기 연주자의 선호곡 정보, 그리고 상기 연주자의 연주 레벨 정보와 목표 연주 레벨 정보를 포함하는, 인공지능 기반 악기 연주 보조 시스템.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 복수의 연습곡들 중 상기 연주자의 선호곡 정보와 상기 연주 레벨 정보를 기초로, 상기 복수의 연습곡들 중 상기 대상 연주자가 연주할 상기 연습곡을 추출하는, 인공지능 기반 악기 연주 보조 시스템.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 연습곡에 대응하는 악보 데이터와, 상기 악보 데이터 상에 표시되는 연주 데이터가 겹쳐지는 정도를 기초로 상기 오차율을 계산하는, 인공지능 기반 악기 연주 보조 시스템.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 연습곡의 연주 완성도에 대한 패턴을 확인하고, 상기 연습곡에 대응하여 상기 저장 장치에 저장된 복수의 연주 데이터들 중 상기 연주 완성도의 패턴과 유사한 연주 완성도로 상기 연습곡을 연주한 연주자를 상기 비교 연주자로 선정하며, 상기 비교 연주자가 상기 연습곡을 연주한 연주 완성도와 상기 연주자의 상기 연주 완성도를 비교 데이터로 제공하는, 인공지능 기반 악기 연주 보조 시스템.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 연습곡을 연주한 횟수만큼 각각 연주 완성도를 생성하고, 상기 각각 생성된 연주 완성도를 상기 연습곡에 대한 연주 기록으로서 제공하는, 인공지능 기반 악기 연주 보조 시스템.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 계산한 오차율 중 미리 설정한 횟수 이상으로 임계값 이상의 오차율이 반복적으로 계산된 연주 구간을 학습 대상 구간으로 설정하는, 인공지능 기반 악기 연주 보조 시스템.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 학습 대상 구간에 포함된 복수의 음표들, 각 음표들의 박자, 코드 구성을 입력 데이터로 하고, 상기 입력 데이터를 음악 작곡 장치에 입력하면 상기 학습 대상 구간의 악보가 출력되도록 상기 음악 작곡 장치를 학습시키는, 인공지능 기반 악기 연주 보조 시스템.
  9. 제8항에 있어서,
    상기 프로세서는,
    학습된 상기 음악 작곡 장치로 적어도 하나의 음표와 박자를 초기 데이터를 기초로 입력하고, 상기 초기 데이터를 기초로 상기 학습 대상 구간의 악보의 멜로디와 유사한 연주 음악을 작곡하는, 인공지능 기반 악기 연주 보조 시스템.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 작곡한 연주 음악의 마디별로 머니 코드 화성전개에 따라 화성을 설정하는, 인공지능 기반 악기 연주 보조 시스템.
  11. 인공지능 기반 악기 연주 보조 시스템이 연습곡을 연주하는 연주자의 악기 연주를 보조하는 방법으로서,
    상기 연주자의 선호곡 정보를 기초로 상기 연주자가 상기 악기를 통해 연주할 연습곡을 선택하고, 선택한 연습곡에 대한 악보 데이터를 제공하는 단계,
    상기 악보 데이터를 기초로 상기 연주자가 악기를 연주하면, 상기 악기로부터 상기 연습곡의 연주 데이터를 수집하여 상기 악보 데이터에 표시하는 단계,
    상기 악보 데이터와 상기 연주 데이터 사이의 오차율을 계산하여 상기 연습곡의 연주 완성도를 확인하는 단계, 그리고
    상기 연주 완성도에 대한 패턴과 유사한 패턴으로 상기 연습곡을 연주한 비교 연주자를 선택하고, 상기 비교 연주자가 상기 연습곡과 함께 연주한 다른 연습곡들을 상기 연주자의 추천 연습곡으로 제공하는 단계
    를 포함하는, 인공지능 기반 악기 연주 보조 방법.
  12. 제11항에 있어서,
    상기 악보 데이터를 제공하는 단계는,
    복수의 연습곡들 중 상기 연주자의 선호곡 정보와 상기 연주자의 연주 레벨 정보를 기초로, 상기 복수의 연습곡들 중 상기 대상 연주자가 연주할 상기 연습곡을 추출하는 단계
    를 포함하는, 인공지능 기반 악기 연주 보조 방법.
  13. 제11항에 있어서,
    상기 연주 완성도를 확인하는 단계는,
    상기 연습곡에 대응하는 악보 데이터와, 상기 악보 데이터 상에 표시되는 연주 데이터가 겹쳐지는 정도를 기초로 상기 오차율을 계산하는, 인공지능 기반 악기 연주 보조 방법.
  14. 제13항에 있어서,
    상기 계산한 오차율 중 미리 설정한 횟수 이상으로 임계값 이상의 오차율이 반복적으로 계산된 연주 구간을 학습 대상 구간으로 설정하는, 인공지능 기반 악기 연주 보조 방법.
  15. 제14항에 있어서,
    상기 학습 대상 구간에 포함된 복수의 음표들, 각 음표들의 박자, 코드 구성을 포함하는 입력 데이터를 음악 작곡 장치에 입력하면, 상기 학습 대상 구간의 악보가 출력되도록 상기 음악 작곡 장치를 학습시키는 단계
    를 더 포함하는, 인공지능 기반 악기 연주 보조 방법.
  16. 제15항에 있어서,
    상기 음악 작곡 장치를 학습시키는 단계 이후에,
    학습된 상기 음악 작곡 장치로 적어도 하나의 음표와 박자를 초기 데이터를 기초로 입력하고, 상기 초기 데이터를 기초로 상기 학습 대상 구간의 악보의 멜로디와 유사한 연주 음악을 작곡하는, 인공지능 기반 악기 연주 보조 방법.
KR1020200156177A 2020-11-20 2020-11-20 인공지능 기반 악기 연주 보조 시스템 및 방법 KR102433890B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200156177A KR102433890B1 (ko) 2020-11-20 2020-11-20 인공지능 기반 악기 연주 보조 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200156177A KR102433890B1 (ko) 2020-11-20 2020-11-20 인공지능 기반 악기 연주 보조 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20220069244A true KR20220069244A (ko) 2022-05-27
KR102433890B1 KR102433890B1 (ko) 2022-08-18

Family

ID=81796620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200156177A KR102433890B1 (ko) 2020-11-20 2020-11-20 인공지능 기반 악기 연주 보조 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102433890B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200335073A1 (en) * 2018-05-28 2020-10-22 Sunland Information Technology Co., Ltd. Systems, methods, smart musical instruments, computer readable media for music score matching
KR102552867B1 (ko) * 2022-12-20 2023-07-10 (주)위치스컬쳐 인공지능 모델을 이용한 사용자 성격 유형 분석 결과 맞춤형 악기, 강사 및 연습곡 추천 방법, 장치 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102165844B1 (ko) * 2020-07-07 2020-10-14 주식회사 상원에이펙스 피아노 연주 학습 보조 장치
KR20210128287A (ko) * 2020-04-16 2021-10-26 한국과학기술원 피아노 독학 보조 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128287A (ko) * 2020-04-16 2021-10-26 한국과학기술원 피아노 독학 보조 시스템
KR102165844B1 (ko) * 2020-07-07 2020-10-14 주식회사 상원에이펙스 피아노 연주 학습 보조 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200335073A1 (en) * 2018-05-28 2020-10-22 Sunland Information Technology Co., Ltd. Systems, methods, smart musical instruments, computer readable media for music score matching
US11580942B2 (en) * 2018-05-28 2023-02-14 Sunland Information Technology Co., Ltd. Systems, methods, smart musical instruments, computer readable media for music score matching
KR102552867B1 (ko) * 2022-12-20 2023-07-10 (주)위치스컬쳐 인공지능 모델을 이용한 사용자 성격 유형 분석 결과 맞춤형 악기, 강사 및 연습곡 추천 방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR102433890B1 (ko) 2022-08-18

Similar Documents

Publication Publication Date Title
Bell et al. Integrating computational thinking with a music education context
Karpinski Aural skills acquisition: The development of listening, reading, and performing skills in college-level musicians
CN103514866B (zh) 一种乐器演奏评分的方法及装置
WO2022067832A1 (zh) 一种乐器教学系统及其使用方法、计算机可读存储介质
Percival et al. Effective use of multimedia for computer-assisted musical instrument tutoring
KR20110127644A (ko) 음악 연주 교습을 위한 컴퓨터 기반 시스템
KR102433890B1 (ko) 인공지능 기반 악기 연주 보조 시스템 및 방법
JP3842403B2 (ja) 音楽教習システム、音楽教習方法、及び同方法を実現するためのプログラムを記録した記録媒体
KR102165844B1 (ko) 피아노 연주 학습 보조 장치
Acquilino et al. Current state and future directions of technologies for music instrument pedagogy
Kim et al. An overview of automatic piano performance assessment within the music education context
Carnovalini et al. A rhythm-aware serious game for social interaction
Rider The assessment of cognitive functioning level through musical perception
JP2013083845A (ja) 情報処理装置および方法、並びにプログラム
JP2522928Y2 (ja) 電子楽器
JP3582320B2 (ja) 音楽教習システム、音楽教習方法、及び同方法を実現するためのプログラムを記録した記録媒体
Kumaki et al. Design and implementation of a positioning learning support system for violin beginners, using true, vague and false information
Percival Computer-assisted musical instrument tutoring with targeted exercises
Sébastien et al. Constituting a musical sign base through score analysis and annotation
JP4743612B2 (ja) 演奏学習支援システム
JP3767612B2 (ja) 音楽教習システム、音楽教習方法、及び音楽教習プログラムを記録したコンピュータ読み取り可能な記録媒体
Wyatt et al. Ear training for the contemporary musician
Dzhambazov et al. Sing master: an intelligent mobile game for teaching singing
JP4612329B2 (ja) 情報処理装置およびプログラム
JP4162556B2 (ja) コードに関する情報検索表示装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right