KR20230127530A - A Recommendation Method For Music Score And Concerto Gathering And Device Thereof - Google Patents

A Recommendation Method For Music Score And Concerto Gathering And Device Thereof Download PDF

Info

Publication number
KR20230127530A
KR20230127530A KR1020220024945A KR20220024945A KR20230127530A KR 20230127530 A KR20230127530 A KR 20230127530A KR 1020220024945 A KR1020220024945 A KR 1020220024945A KR 20220024945 A KR20220024945 A KR 20220024945A KR 20230127530 A KR20230127530 A KR 20230127530A
Authority
KR
South Korea
Prior art keywords
score
user
attribute
sheet music
vector
Prior art date
Application number
KR1020220024945A
Other languages
Korean (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 KR1020220024945A priority Critical patent/KR20230127530A/en
Publication of KR20230127530A publication Critical patent/KR20230127530A/en

Links

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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/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

Abstract

악보 및 협주 추천 방법 및 추천 장치에 대한 것으로, 악보 및 협주 추천 방법은 사용자 질의답변 중 관심곡에 대한 분위기, 속도 및 난이도 속성값과 사용자 질의답변 중 분위기, 속도 및 난이도에 대한 속성값에 기초하여 사용자 속성벡터를 산출하는 단계 악보에 대한 미리 저장된 난이도, 속도 및 장르에 대한 정보를 각각의 정보의 속성에 대한 속성값으로 변환하고, 악보의 음역대를 분석하여 미리 저장된 악기의 음역대 정보에 기초하여 연주 악기의 속성값을 생성하고, 악보의 조표에 기초하여 조성을 산출하고 산출된 조성에 기초하여 분위기의 속성값을 생성하여 난이도, 속도, 장르, 연주 악기 및 분위기 속성에 대한 속성값으로 악보 속성벡터를 생성하는 단계, 악보 속성벡터를 저장부에 저장된 복수의 악보에 대해서 악보별로 생성하는 단계, 사용자 속성벡터와 복수의 악보 속성벡터 간의 유사도에 기초하여 유사도가 높은 순으로 추천 악보 리스트를 생성하는 단계 및 추천된 악보 리스트의 연주 악기 및 사용자 속성벡터의 연주 악기 정보에 기초하여 추천 협주 리스트를 생성하는 단계를 포함할 수 있다.This relates to a method and recommendation device for recommending scores and concertos. The method for recommending scores and concertos is based on attribute values of atmosphere, speed, and difficulty for a song of interest among user questions and answers, and attribute values for atmosphere, speed, and difficulty among user questions and answers. Calculating a user attribute vector Converts pre-stored information about difficulty, speed, and genre of the score into attribute values for each attribute of the information, analyzes the musical score, and plays based on the pre-stored information about the musical instrument's pitch range Musical instrument property values are generated, key signatures are calculated based on the key signature of the score, and atmosphere property values are generated based on the calculated key signatures, and sheet music property vectors are converted into property values for difficulty, speed, genre, playing instrument, and atmosphere properties. Generating a sheet music property vector for each sheet music for a plurality of sheet music stored in a storage unit, generating a list of recommended sheet music in order of high similarity based on the similarity between the user property vector and the plurality of sheet music property vectors; and and generating a recommended concerto list based on playing instruments of the recommended score list and playing instrument information of the user property vector.

Description

악보 및 협주 추천 방법 및 추천 장치 {A Recommendation Method For Music Score And Concerto Gathering And Device Thereof}Sheet Music and Concerto Recommendation Method and Recommendation Device {A Recommendation Method For Music Score And Concerto Gathering And Device Thereof}

사용자 속성 및 악보 속성에 기초한 악보 및 협주 추천 방법 및 추천 장치에 대한 것이다.A method and apparatus for recommending sheet music and concerto based on user properties and sheet music properties.

악보 및 협주 추천 장치는 사용자의 성향을 분석하여 분석된 사용자의 성향에 적합한 컨텐츠를 추천해주는 시스템으로 최근 컨텐츠 제공 서비스의 활성화로 인해 다양한 사용자 맞춤형 컨텐츠 추천 방법이 일상에 보급되고 있다.A musical score and concerto recommendation device is a system that analyzes a user's tendency and recommends content suitable for the analyzed user's tendency. Due to the recent activation of content providing services, various user-customized content recommendation methods are popularized in daily life.

또한, 사용자의 취미생활의 다양화로 악기 연주를 취미로 하는 사용자가 증가하는 추세이지만, 처음 악기를 연주하고 독학으로 배우는 사람들은 인터넷 매체의 비정량화된 정보에 기초하여 악보를 선택하거나, 악보를 선택하였더라도 사용자가 원하지 않는 분위기이거나 악보의 난이도가 어려운 악보를 선택하는 문제가 있다. 또한, 악보를 제공하는 서비스도 곡명 및 작곡가의 한정적인 정보로 검색을 하여 사용자에게 적합한 악보를 추천해주는 장치가 부족한 실정이다.In addition, with the diversification of users' hobbies, the number of users who play musical instruments as a hobby is increasing, but those who play musical instruments for the first time and learn by themselves select scores based on non-quantified information from Internet media or select scores. Even if it is, there is a problem of selecting a score that is not desired by the user or has a difficult difficulty level. In addition, a service providing sheet music is lacking in a device that recommends a suitable sheet music to a user by performing a search with limited information on a song title and composer.

또한, 사용자 맞춤형 악보를 선택하였다고 하더라고, 협주가 필요한 악보의 경우 악보에 적절한 타 사용자와의 협주를 모집하는데 어려움이 있는 실정이다.In addition, even if a user-customized score is selected, in the case of a score that requires concerto, it is difficult to recruit concertos with other users suitable for the score.

대한민국 등록특허공보 제10-1057919호("사용자들의 재생 목록 분석을 통한 맞춤형 음악 추천 방법", 성균관대학교산학협력단, 20161.08.11)Republic of Korea Patent Registration No. 10-1057919 ("Customized music recommendation method through analysis of users' playlist", Sungkyunkwan University Industry-University Cooperation Foundation, 20161.08.11)

복수의 악보에 대한 속성 및 사용자의 속성을 매칭하여 사용자 개별 특성에 맞는 악보 및 협주를 추천하는 악보 및 협주 추천 방법 및 그 추천 장치을 제공할 수 있다.It is possible to provide a score and concerto recommendation method and a recommendation device for recommending a score and concerto suitable for a user's individual characteristics by matching properties of a plurality of sheet music and user's properties.

악보 및 협주 추천 방법의 일 실시예는 사용자 질의답변 중 관심곡에 대한 분위기, 속도 및 난이도 속성값과 사용자 질의답변 중 분위기, 속도 및 난이도에 대한 속성값에 기초하여 사용자 속성벡터를 산출하는 단계 악보에 대한 미리 저장된 난이도, 속도 및 장르에 대한 정보를 각각의 정보의 속성에 대한 속성값으로 변환하고, 악보의 음역대를 분석하여 미리 저장된 악기의 음역대 정보에 기초하여 연주 악기의 속성값을 생성하고, 악보의 조표에 기초하여 조성을 산출하고 산출된 조성에 기초하여 분위기의 속성값을 생성하여 난이도, 속도, 장르, 연주 악기 및 분위기 속성에 대한 속성값으로 악보 속성벡터를 생성하는 단계, 악보 속성벡터를 저장부에 저장된 복수의 악보에 대해서 악보별로 생성하는 단계, 사용자 속성벡터와 복수의 악보 속성벡터 간의 유사도에 기초하여 유사도가 높은 순으로 추천 악보 리스트를 생성하는 단계 및 추천된 악보 리스트의 연주 악기 및 사용자 속성벡터의 연주 악기 정보에 기초하여 추천 협주 리스트를 생성하는 단계를 포함할 수 있다.An embodiment of a method for recommending sheet music and concerto includes calculating a user attribute vector based on attribute values of atmosphere, speed, and difficulty for a music of interest among user question answers and attribute values for mood, speed, and difficulty among user question answers. converting information about difficulty, speed, and genre stored in advance into attribute values for attributes of each information, analyzing the musical score and generating attribute values of playing instruments based on pre-stored information about the musical instruments, Generating a score property vector with attribute values for difficulty, speed, genre, playing instrument, and mood by calculating a key based on the key signature of the score and generating attribute values of atmosphere based on the calculated key; Generating a plurality of sheet music stored in a storage unit for each sheet music, generating a recommended sheet music list in order of high similarity based on the similarity between the user property vector and the plurality of sheet music property vectors, and playing instruments in the recommended sheet music list, and A step of generating a recommended concerto list based on playing instrument information of the user attribute vector may be included.

또한, 일 실시예에 따라서 사용자 속성벡터를 산출하는 단계는, 관심곡에 대한 속성값과 사용자 질의답변 중 포함된 속성값을 분위기, 속도 및 난이도의 속성 별로 속성값의 평균값을 산출하여 속성별 사용자 속성값을 산출하는 것을 특징으로 할 수 있다.In addition, the step of calculating the user attribute vector according to an embodiment may include calculating an average value of attribute values for the music of interest and attribute values included in the user's Q&A for each attribute such as atmosphere, speed, and difficulty, and then calculating the average of the attribute values for the user per attribute. It may be characterized by calculating an attribute value.

또한, 일 실시예에 따라서 악보 속성벡터를 산출하는 단계는, 산출된 조성이 장조(Major)이면 분위기를 밝음으로 결정하여 분위기의 속성값을 생성하고, 산출된 조성이 단조(Minor)이면 분위기를 어두움으로 결정하여 분위기의 속성값을 생성하는 것을 특징으로 할 수 있다.In addition, in the step of calculating the sheet music attribute vector according to an embodiment, if the calculated key is major, the atmosphere is determined to be bright to generate the property value of the atmosphere, and if the calculated key is minor, the atmosphere is determined. It may be characterized in that the attribute value of the atmosphere is generated by determining the darkness.

또한, 일 실시예에 따라서 악보 속성벡터를 산출하는 단계는, 악보의 미리 저장된 난이도는 악보의 사용자 평가에 기초하여 저장되는 것을 특징으로 할 수 있다.Also, in the step of calculating the score property vector according to an embodiment, the pre-stored level of difficulty of the score may be stored based on user evaluation of the score.

또한, 일 실시예에 따라서 악보 속성벡터를 산출하는 단계는, 악보에 대한 속도의 속성값은 악보의 속도에 대응되는 저장부에 저장된 룩업 테이블 상의 값으로 결정하는 것을 특징으로 할 수 있다.In addition, the step of calculating the score attribute vector according to an embodiment may be characterized in that the attribute value of the speed of the score is determined as a value on a lookup table stored in a storage unit corresponding to the speed of the score.

또한, 일 실시예에 따라서 악보 속성벡터를 산출하는 단계는, 악보의 음역대는 옥타브와 계이름을 저장부에 저장된 룩업 테이블에 기초하여 옥타브 속성 및 계이름 속성을 포함하는 벡터 형태로 생성되어 분석하는 것을 특징으로 할 수 있다.In addition, in the step of calculating the score attribute vector according to an embodiment, the pitch range of the score is generated and analyzed in the form of a vector including an octave attribute and a term name attribute based on a lookup table stored in a storage unit. can be done with

또한, 일 실시예에 따라서 추천 악보 리스트를 생성하는 단계는, 복수의 악보 속성벡터 중 사용자 속성벡터의 연주 악기 및 장르 속성값을 포함하는 복수의 악보 속성벡터를 선별하고, 선별된 복수의 악보 속성벡터와 사용자 속성벡터의 분위기, 속도 및 난이도 속성의 수치 간의 유사도를 산출해 유사도가 높은 악보 속성벡터에 대응되는 악보를 우선순위로 추천 악보 리스트를 생성하는 것을 특징으로 할 수 있다.In addition, the step of generating a recommended sheet music list according to an embodiment may include selecting a plurality of sheet music property vectors including performance instrument and genre property values of a user property vector among a plurality of sheet music property vectors, and selecting a plurality of sheet music property vectors selected. It may be characterized in that the similarity between the vector and the numerical values of the atmosphere, speed, and difficulty properties of the user property vector is calculated, and a score corresponding to the score property vector having a high degree of similarity is given priority to generate a list of recommended music scores.

또한, 일 실시예에 따라서 악보 속성벡터를 산출하는 단계 이후, 악보에 코드에 대한 정보가 포함되어 있는지 여부를 체크하여 코드에 대한 정보가 없는 경우, 마디에 포함된 음들을 입력으로, Triad 코드를 레이블로 하는 코드 예측모델로 악보의 코드를 결정하는 단계를 더 포함하는 것을 특징으로 할 수 있다.In addition, according to an embodiment, after the step of calculating the score property vector, it is checked whether information about the code is included in the score, and if there is no information about the code, the triad code is obtained by using the notes included in the bar as input. It may be characterized by further comprising the step of determining the code of the musical score with a chord prediction model as a label.

또한, 일 실시예에 따라서 레이블로 하는 Triad 코드는 Major 코드, Minor 코드, Augmented 코드, Diminished 코드 4가지인 것을 특징으로 할 수 있다.In addition, according to an embodiment, triad codes used as labels may be characterized in that they include four major codes, minor codes, augmented codes, and diminished codes.

복수의 악보에 대한 악보 속성벡터와 사용자 질의 및 미리 저장된 사용자 정보에 대한 사용자 속성벡터에 기초하여 사용자 개별 특성에 맞는 악보 및 협주를 추천할 수 있다.It is possible to recommend scores and concertos suitable for individual characteristics of users based on the score property vectors for a plurality of scores and the user property vectors for user queries and pre-stored user information.

도 1은 일 실시예에 따른 악보 및 협주 추천장치의 블록도이다.
도 2는 일 실시예에 따른 악보 분석부의 블록도이다.
도 3은 일 실시예에 따른 악보에서 악보 속성벡터를 생성하는 일례를 도시하고 있다.
도 4는 일 실시예에 따른 악보에서 악보 음역대에 대한 벡터속성값을 산출하는 개념을 도시하고 있다.
도 5는 일 실시예에 따른 악보 음역대에 기초한 연주 가능 악기를 산출하기위한 룩업 테이블이다.
도 6은 일 실시예에 따른 악보에서 조표에 기초하여 조성을 산출하기위한 룩업 테이블이다.
도 7은 일 실시예에 따른 악보에서 속도 벡터속성값을 산출하기 위한 룩업 테이블이다.
도 8은 일 실시예에 따른 악보의 코드를 결정하는 개념을 도시하고 있다.
도 9는 일 실시예에 따른 사용자 질의문의 일례를 도시하고 있다.
도 10은 일 실시예에 따른 사용자 질의 답변에 기초하여 사용자 속성벡터를 산출하는 일례를 도시하고 있다.
도 11은 일 실시예에 따른 사용자 속성벡터 및 악보 속성벡터에 기초하여 악보를 추천하는 개념을 도시하고 있다.
도 12는 일 실시예에 따른 악보 및 협주 추천 방법에 대한 플로우 차트이다.
1 is a block diagram of a sheet music and concerto recommendation apparatus according to an embodiment.
2 is a block diagram of a sheet music analysis unit according to an embodiment.
3 illustrates an example of generating a score property vector from a score according to an embodiment.
4 illustrates a concept of calculating a vector attribute value for a musical score range in a musical score according to an embodiment.
5 is a lookup table for calculating playable musical instruments based on musical score ranges according to an embodiment.
6 is a lookup table for calculating a key based on a key signature in a musical score according to an embodiment.
7 is a lookup table for calculating a velocity vector attribute value in a sheet music according to an embodiment.
8 illustrates a concept of determining a code of a musical score according to an embodiment.
9 illustrates an example of a user query according to an embodiment.
10 illustrates an example of calculating a user attribute vector based on a user query answer according to an embodiment.
11 illustrates a concept of recommending sheet music based on a user property vector and a sheet music property vector according to an embodiment.
12 is a flowchart of a method for recommending sheet music and concerto according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the embodiments described below in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs. It is provided to completely inform the person who has the scope of the invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. The terms used in this specification will be briefly described, and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected from general terms that are currently widely used as much as possible while considering the functions in the present invention, but these may vary depending on the intention of a person skilled in the art or precedent, the emergence of new technologies, and the like. In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, not simply the name of the term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 “부”, “모듈”, “유닛” 등의 용어는 적어도 하나의 기능 또는 동작을 처리하는 단위를 의미하며, 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소, 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다. 그렇지만 “부”, “모듈”, “유닛” 등의 용어가 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. “부”, “모듈”, “유닛” 등은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "“부”, “모듈”, “유닛” 등의 용어는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. When it is said that a certain part "includes" a certain component throughout the specification, it means that it may further include other components without excluding other components unless otherwise stated. In addition, terms such as “unit”, “module”, and “unit” used in the specification mean a unit that processes at least one function or operation, and includes software, hardware components such as FPGA or ASIC, or software and hardware. It can be implemented as a combination of However, terms such as “unit”, “module”, and “unit” are not meant to be limited to software or hardware. A “unit”, “module”, “unit”, etc. may be configured to be in an addressable storage medium or configured to reproduce one or more processors. Thus, as an example, terms such as ""unit", "module", and "unit" refer to components such as software components, object-oriented software components, class components, and task components, and processes. fields, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. .

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily carry out the present invention. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted.

“제1”, “제2” 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. “및/또는” 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.Terms including ordinal numbers such as “first” and “second” may be used to describe various elements, but elements are not limited by the terms. Terms are only used to distinguish one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The term “and/or” includes a combination of a plurality of related items or any one of a plurality of related items.

이하, 첨부된 도면을 참조하여 사용자 속성 및 악보 속성에 기초한 악보 및 협주 추천 방법 및 사용자 속성 및 악보 속성에 기초한 악보 및 협주 추천 장치(1)의 일 실시예에 대해서 설명하도록 한다.Hereinafter, with reference to the accompanying drawings, an embodiment of a score and concerto recommendation method based on user properties and sheet music properties and a sheet music and concerto recommendation device 1 based on user properties and sheet music properties will be described.

도 1은 악보 및 협주 추천 장치(1)의 블록도를 도시하고 있다.1 shows a block diagram of a sheet music and concerto recommendation device 1 .

악보 및 협주 추천 장치(1)는 사용자 질의 및 미리 저장된 사용자 정보에 기초하여 사용자 속성벡터를 생성하고, 복수의 악보에 대한 악보 속성벡터를 생성하여 사용자 속성벡터와 유사한 악보 속성벡터를 갖는 악보를 추천하고, 추천된 악보에 포함된 연주 가능 악기에 기초하여 사용자에게 협주를 추천할 수 있다. 또한, 악보 및 협주 추천 장치(1)는 입력부(100), 저장부(200), 출력부(300) 및 프로세서(400)를 포함할 수 있다. The sheet music and concerto recommendation apparatus 1 generates a user property vector based on a user query and pre-stored user information, generates a sheet music property vector for a plurality of sheet music, and recommends a sheet music having a sheet music property vector similar to the user property vector. And, based on the playable instruments included in the recommended score, a concerto may be recommended to the user. In addition, the sheet music and concerto recommendation device 1 may include an input unit 100 , a storage unit 200 , an output unit 300 and a processor 400 .

입력부(100)는 악보 및 협주 추천 장치(1)의 코드 예측모델(443)을 생성하기 위한 코드 정보, 악보 속성벡터를 생성하기 위한 복수의 악보, 악보의 난이도 및 장르에 대한 정보, 질의에 대한 사용자의 답변, 협주를 추천하기 위한 사용자의 위치정보, 협주가능시간, 악보에 대한 코드, 장르, 분위기, 속도, 음역, 악기, 조표, 조성에 대한 정보를 수신하고, 수신한 신호를 저장부(200), 출력부(300) 및 프로세서(400)에 전달할 수 있다. 또한, 입력부(100)는 악보 및 협주 추천 장치(1)의 동작 개시를 위한 적어도 하나의 명령(예를 들어, 장소 추천을 위한 프로그램(앱, 애플리케이션 또는 소프트웨어 등으로 지칭 가능함)의 구동을 위한 명령 등)을 수신하고, 이를 프로세서(400)로 전달할 수도 있다. 실시예에 따라서, 입력부(100)는, 사용자가 키보드나 터치스크린 등에 대해 물리적 조작을 하거나 다른 장치(미도시) 등이 유무선 통신 네트워크를 통해 상술한 데이터를 전달함으로써 상술한 데이터를 입력 받을 수도 있다. 필요에 따라서, 입력부(100)는 수신한 데이터를 저장부(200)로 전달하는 것도 가능하며, 이 경우 저장부(200)는 이들 데이터를 일시적 또는 비일시적으로 저장할 수 있다. 입력부(100)는 예를 들어, 키보드, 마우스, 태블릿, 터치 스크린, 터치 패드, 트랙 볼, 트랙패드, 스캐너 장치, 영상 촬영 모듈, 초음파 스캐너, 동작 감지 센서, 진동 센서, 수광 센서, 감압 센서, 근접 센서 및/또는 데이터 입출력 단자 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.The input unit 100 includes code information for generating the code prediction model 443 of the score and concerto recommendation device 1, a plurality of scores for generating a score property vector, information on the difficulty and genre of the score, and information on queries. Receives the user's answer, the user's location information for recommending a concerto, the time available for concerto, the code for the score, the genre, the atmosphere, the speed, the range, the instrument, the key signature, and the key, and stores the received signal ( 200), the output unit 300, and the processor 400. In addition, the input unit 100 includes at least one command for starting the operation of the sheet music and concerto recommendation device 1 (eg, a command for driving a program for recommending a place (which can be referred to as an app, application, or software). etc.) may be received and transmitted to the processor 400. Depending on the embodiment, the input unit 100 may receive the above-described data when a user physically manipulates a keyboard or a touch screen, or another device (not shown) transmits the above-described data through a wired or wireless communication network. . If necessary, the input unit 100 may transfer received data to the storage unit 200, and in this case, the storage unit 200 may temporarily or non-temporarily store these data. The input unit 100 may include, for example, a keyboard, a mouse, a tablet, a touch screen, a touch pad, a track ball, a track pad, a scanner device, an image capturing module, an ultrasonic scanner, a motion detection sensor, a vibration sensor, a light receiving sensor, a pressure sensor, A proximity sensor and/or a data input/output terminal may be included, but is not limited thereto.

저장부(200)는 입력부(100)를 통해 입력되거나, 프로세서(400)의 처리 과정에서 필요하거나, 프로세서(400)의 처리 과정에서 생성되거나 프로세서(400)의 처리 결과에 따른 데이터를 일시적으로 또는 비일시적으로 저장할 수 있다. 예를 들어, 저장부(200)는 사용자 질의, 사용자가 미리 저장한 악보 속성에 관한 선호 정보 및 협주 선호 정보, 사용자의 위치 정보, 협주 가능시간, 복수의 악보, 악보에 대한 속성정보, 코드 예측모델(443)을 생성하기 위한 Triad 코드 정보를 포함할 수 있다. 저장부(200)는 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있다. 주기억장치는 예를 들어, 롬(ROM) 및/또는 램(RAM)과 같은 반도체 저장 매체를 이용하여 구현된 것일 수 있고, 보조기억장치는, 플래시 메모리 장치(솔리드 스테이트 드라이브(SSD, Solid State Drive) 등), SD(Secure Digital) 카드, 하드 디스크 드라이브(HDD, Hard Disc Drive), 콤팩트 디스크, 디브이디(DVD) 또는 레이저 디스크 등과 같이 데이터를 영구적 또는 반영구적으로 저장 가능한 장치를 기반으로 구현될 수 있다.The storage unit 200 stores data input through the input unit 100, required in the processing of the processor 400, generated in the processing of the processor 400, or data according to processing results of the processor 400 temporarily or can be temporarily stored. For example, the storage unit 200 includes a user query, preference information and concerto preference information about properties of musical scores stored in advance by the user, location information of the user, time available for concertos, a plurality of musical scores, attribute information about musical scores, and code prediction. Triad code information for generating the model 443 may be included. The storage unit 200 may include at least one of a main memory device and an auxiliary memory device. The main memory device may be implemented using a semiconductor storage medium such as ROM and/or RAM, and the auxiliary memory device may be a flash memory device (solid state drive (SSD)). ), etc.), SD (Secure Digital) card, hard disk drive (HDD, Hard Disc Drive), compact disk, DVD (DVD) or laser disk, etc. can be implemented based on a device that can store data permanently or semi-permanently. .

출력부(300)는 하나 또는 둘 이상의 추천 악보를 사용자에게 제공할 수 있고, 필요에 따라 추천 악보에 대한 정보나, 추천 악보에 포함된 악기 리스트 및 추천 협주 리스트에 대한 정보 등을 사용자에게 더 제공하는 것도 가능하다. 또한, 출력부(300)는 사용자 정보나 악보 정보를 입력 받기 위해 마련된 적어도 하나의 질의를 동시에 또는 순차적으로 출력하는 것도 가능하다. 출력부(300)는 상술한 정보를 시각적 또는 청각적 형태로 사용자에게 제공할 수도 있고 또는 유무선 통신 네트워크를 통해 상술한 정보를 다른 장치로 전달할 수도 있다. 실시예에 따라서, 출력부(300)는 디스플레이, 프린터 장치, 스피커 장치, 영상 출력 단자, 데이터 입출력 단자 또는 통신 모듈 등을 포함할 수도 있다.The output unit 300 may provide one or more recommended musical scores to the user, and further provide the user with information about the recommended musical scores or information about the instrument list and recommended concerto list included in the recommended musical scores, if necessary. It is also possible to do Also, the output unit 300 may simultaneously or sequentially output at least one query prepared to receive user information or sheet music information. The output unit 300 may provide the above-described information to a user in a visual or auditory form, or may transmit the above-described information to another device through a wired or wireless communication network. Depending on the embodiment, the output unit 300 may include a display, a printer device, a speaker device, an image output terminal, a data input/output terminal, or a communication module.

프로세서(400)는 사용자로부터 사용자 정보를 획득하기 위한 질의를 생성하거나, 하나 또는 둘 이상의 사용자가 미리 입력하거나 현재 입력한 정보를 이용하여 사용자 속성벡터를 생성할 수 있다. 또한, 프로세서(400)는 저장부(200)로부터 데이터베이스(210) 상에 저장된 복수의 악보를 분석하여 악보 별로 악보에 포함된 정보에 기초하여 악보에 대한 속성값들을 분석하여 악보 속성벡터를 생성할 수 있고, 입력값과 코드 레이블에 기초하여 코드 예측모델(443)을 생성하여 악보의 코드를 결정할 수 있다. 또한, 프로세서(400)는 복수의 악보의 개별 악보 속성벡터와 사용자 속성벡터를 비교하여 사용자 속성벡터와 유사한 악보 속성벡터를 갖는 악보를 결정할 수 있다. The processor 400 may generate a query for obtaining user information from a user, or may generate a user attribute vector using information previously or currently input by one or more users. In addition, the processor 400 analyzes a plurality of musical scores stored in the database 210 from the storage unit 200 and analyzes attribute values for each musical score based on information included in each musical score to generate a musical score property vector. In addition, the chord of the score may be determined by generating the chord prediction model 443 based on the input value and the chord label. In addition, the processor 400 may determine a score having a score property vector similar to the user property vector by comparing the individual score property vectors of the plurality of scores with the user property vector.

프로세서(400)는, 상술한 적어도 하나의 동작을 실행하기 위하여 저장부(200)에 저장된 프로그램을 실행시킬 수도 있다. 프로세서(400)는, 예를 들어, 중앙 처리 장치(CPU: Central Processing Unit), 그래픽 처리 장치(GPU: Graphic Processing Unit), 마이크로 컨트롤러 유닛(MCU: Micro Controller Unit), 애플리케이션 프로세서(AP: Application Processor), 전자 제어 유닛(ECU: Electronic Controlling Unit), 마이컴(Micom: Micro Processor) 및/또는 이외 각종 연산 및 제어 처리를 수행할 수 있는 적어도 하나의 전자 장치 등을 포함할 수 있다. 이들 처리 또는 제어 장치는, 예를 들어, 하나 또는 둘 이상의 반도체 칩, 회로 또는 관련 부품 등을 단독으로 이용하거나 조합하여 구현된 것일 수도 있다.The processor 400 may execute a program stored in the storage unit 200 in order to execute at least one operation described above. The processor 400 may include, for example, a central processing unit (CPU), a graphic processing unit (GPU), a micro controller unit (MCU), an application processor (AP), ), an electronic control unit (ECU), a micro processor (Micom), and/or at least one electronic device capable of performing other various calculation and control processes. These processing or control devices may be implemented using, for example, one or more semiconductor chips, circuits, or related components alone or in combination.

프로세서(400)는 분석부(410) 및 추천부(470)를 포함할 수 있다.The processor 400 may include an analysis unit 410 and a recommendation unit 470 .

분석부(410)는 입력부(100)와 저장부(200)로부터 정보를 수신하고, 수신된 정보에 기초하여 사용자에 대한 사용자 속성벡터 및 복수의 악보에 대한 악보 별 악보 속성벡터를 생성할 수 있다. 분석부(410)는 사용자 속성벡터를 생성하는 질의 분석부(420) 및 악보 속성벡터를 생성하는 악보 분석부(430)를 포함할 수 있다.The analysis unit 410 may receive information from the input unit 100 and the storage unit 200, and based on the received information, generate a user property vector for a user and a sheet music property vector for each sheet music for a plurality of sheet music. . The analyzer 410 may include a query analyzer 420 that generates a user attribute vector and a score analyzer 430 that generates a score attribute vector.

이하, 도 9 및 도 10을 참고하여 질의 분석부(420)에 대해서 설명하도록 한다.Hereinafter, the query analyzer 420 will be described with reference to FIGS. 9 and 10 .

질의 분석부(420)는 입력부(100)로부터 사용자 질의에 대한 답변을 수신하여 사용자 성향에 대한 속성값을 생성할 수 있다.The query analyzer 420 may receive an answer to the user's query from the input unit 100 and generate attribute values for the user's propensity.

질의는 도 9에 도시된 바와 같이 사용자의 악보 및 연주 악기에 대한 선호 성향을 파악하기 위한 것으로 예를들어, a문항에서는 사용자 연주 악기에 대한 질의, b문항에서는 사용자의 관심 곡에 대한 질의(관심곡에 기초하여 장르, 분위기, 빠르기, 난이도 성향 정보 추출), c문항에서는 사용자가 선호하는 분위기에 대한 질의, d문항에서는 사용자가 선호하는 곡의 속도에 대한 질의, e문항에서는 사용자가 선호하는 연주 난이도에 대한 질의로 구성될 수 있다.As shown in FIG. 9, the query is for grasping the user's preference for sheet music and musical instruments to be played. Genre, mood, tempo, and difficulty tendency information extracted based on the song), question c asked about the user's preferred atmosphere, question d asked about the user's preferred song speed, and question e asked about the user's preferred performance It can consist of queries about difficulty.

질의 분석부(420)는 사용자의 질의에 대한 답변을 분석하여 사용자 속성벡터 값을 생성할 수 있다. 구체적으로, 도 10에 도시된 바와 같이 질의 분석부(420)는 질의 답변내용 중 a문항인 사용자 선호 악기가 피아노인 것으로 인식하고, 사용자 속성벡터 값 중 연주 악기에 대한 항목을 피아노로 결정할 수 있다. 또한, 질의 분석부(420)는 b문항인 사용자 관심곡에 대한 답변에 기초하여 저장부(200)에 저장된 관심곡의 장르에 기초하여 사용자가 선택한 복수의 관심곡 중 가장 많이 카운팅된 장르를 사용자 속성벡터 값 중 장르에 대한 항목으로 결정할 수 있다. 즉, 사용자가 4가지의 곡 중 선택한 3가지의 곡 중 장르가 재즈가 2번, 클래식이 1번 카운팅이 되었으면, 질의 분석부(420)는 사용자 속성벡터 값 중 장르에 대한 항목을 재즈로 결정할 수 있다.The query analyzer 420 may generate a user attribute vector value by analyzing an answer to the user's query. Specifically, as shown in FIG. 10 , the query analyzer 420 recognizes that the user's preferred musical instrument, which is question a in the question answer content, is the piano, and determines the item for the playing instrument among the user attribute vector values to be the piano. . In addition, the query analyzer 420 selects the most-counted genre among a plurality of songs of interest selected by the user based on the genres of the songs of interest stored in the storage unit 200 based on the answer to question b, which is the user's songs of interest. It can be determined as an item for genre among attribute vector values. That is, if the genre of the three songs selected by the user is counted 2 times for jazz and 1 time for classical music, the query analysis unit 420 determines jazz as the genre item among the user attribute vector values. can

또한, 질의 분석부(420)는 사용자가 질의를 통해 선택한 항목 중 분위기(c문항), 속도(d문항), 난이도(e문항)에 대한 선택한 항목의 미리 측정된 점수(속성값)와 저장부(200)에 저장된 사용자가 선택한 관심곡의 분위기, 속도, 난이도에 대한 관심곡 속성값을 기초로 사용자 속성벡터 값 중 분위기, 속도, 난이도에 대한 항목 별 값을 결정할 수 있다. 예를 들어, 질의 분석부(420)는 사용자 속성벡터 값의 항목 중 분위기를 c문항의 사용자 답변내용을 1점으로 결정하고, 사용자가 관심곡으로 선택한 곡의 곡별 분위기 점수(1점, 1점, 1점)를 저장부(200)로부터 수신하여 이에 대한 평균값을 산출하여 분위기에 대한 속성벡터 값을 "1"로 결정할 수 있다. 또한, 질의 분석부(420)는 사용자 속성벡터 값의 항목 중 속도를 d문항의 사용자 답변내용을 7점으로 결정하고, 사용자가 관심곡으로 선택한 곡의 곡별 속도 점수(3점, 1점, 5점)를 저장부(200)로부터 수신하여 이에 대한 평균값을 산출하여 분위기에 대한 속성벡터 값을 "4"로 결정할 수 있다. 또한, 질의 분석부(420)는 사용자 속성벡터 값의 항목 중 난이도를 e문항의 사용자 답변내용을 5점으로 결정하고, 사용자가 관심곡으로 선택한 곡의 곡별 난이도 점수(2점, 1점, 4점)를 저장부(200)로부터 수신하여 이에 대한 평균값을 산출하여 분위기에 대한 속성벡터 값을 "3"로 결정할 수 있다.In addition, the query analyzer 420 stores pre-measured scores (attribute values) of selected items for atmosphere (c item), speed (d item), and difficulty (e item) among items selected by the user through a query. Based on the attribute values for the mood, speed, and difficulty of the music of interest selected by the user stored in 200, values for each item of mood, speed, and difficulty among user attribute vector values may be determined. For example, the query analyzer 420 determines the mood among the items of the user attribute vector value as 1 point for the user's answer to question c, and the mood score for each song selected by the user as a favorite song (1 point, 1 point) , 1 point) is received from the storage unit 200 and an average value thereof is calculated to determine the attribute vector value for the atmosphere as “1”. In addition, the query analysis unit 420 determines the speed among the items of the user attribute vector value as 7 points for the user's answer to item d, and the speed score for each song (3 points, 1 point, 5 points) of the song selected by the user as a favorite song. point) is received from the storage unit 200 and an average value thereof is calculated to determine the attribute vector value for the atmosphere as “4”. In addition, the query analysis unit 420 determines the difficulty level of the user attribute vector value items as 5 points for the user's answer to question e, and determines the difficulty score for each song of the user's favorite song (2 points, 1 point, 4 points). point) is received from the storage unit 200 and an average value thereof is calculated to determine the attribute vector value for the atmosphere as “3”.

질의 분석부(420)는 이러한 사용자의 질의에 대한 답변 중 사용자 속성벡터 속성에 대한 항목과 관심곡의 미리 저장된 정보에 기초하여 사용자 속성벡터를 생성할 수 있다.The query analyzer 420 may generate a user attribute vector based on pre-stored information about a user attribute vector attribute item and a song of interest among answers to the user's query.

또한, 질의 분석부(420)는 입력부(100)를 통해 입력되거나 저장부(200)에 저장된 사용자의 악보 선호 성향 또는 사용자의 위치정보, 선호 협주 인원, 협주 가능 시간을 추가적으로 사용자 속성벡터에 포함시켜 사용자 속성벡터를 생성할 수 있다.In addition, the query analyzer 420 additionally includes the user's sheet music preference tendency or the user's location information, preferred number of concertos, and time available for concerto input through the input unit 100 or stored in the storage unit 200 in the user attribute vector You can create a user attribute vector.

이하, 도 2 내지 도 8을 참고하여 악보 분석부(430)에 대해서 설명하도록 한다.Hereinafter, the sheet music analyzer 430 will be described with reference to FIGS. 2 to 8 .

악보 분석부(430)는 입력된 복수의 악보에 대한 정보를 분석하여 복수의 악보 별로 코드를 결정하거나 악보 속성코드를 생성할 수 있다. 악보 분석부(430)는 코드 생성부(440), 속성 분석부(450) 및 악보 속성벡터 생성부(460)를 포함할 수 있다.The sheet music analysis unit 430 may analyze information on a plurality of input musical scores to determine a code for each of a plurality of musical scores or generate a musical score property code. The sheet music analyzer 430 may include a code generator 440, a property analyzer 450, and a sheet music property vector generator 460.

코드 생성부(440)는 분석 대상인 악보의 코드를 결정할 수 있다. 코드 생성부(440)는 분석 대상인 악보에 코드가 포함되었는지 여부를 검출하여 코드가 포함된 경우 포함된 코드를 악보의 코드로 결정하고, 코드가 포함되지 않은 경우 코드 예측모델(443)을 통해 코드를 결정할 수 있다. 코드 생성부(440)는 코드 검출부(441), 코드 결정부(442) 및 코드 예측모델(443)을 포함할 수 있다.The code generation unit 440 may determine the code of the score to be analyzed. The code generation unit 440 detects whether or not a code is included in the score to be analyzed, and if the code is included, determines the included code as a code of the score, and if the code is not included, the code through the code prediction model 443 can decide The code generation unit 440 may include a code detection unit 441 , a code determination unit 442 and a code prediction model 443 .

코드 검출부(441)는 분석 대상인 악보에 코드가 포함되어 있는지 여부를 검출하고, 이를 코드 결정부(442)에 전달할 수 있다.The code detection unit 441 may detect whether or not a code is included in the score to be analyzed, and transmit it to the code determination unit 442 .

코드 결정부(442)는 코드 검출부(441)에서 악보에 코드가 포함되어 있는 경우 포함된 코드를 각 마디의 코드로 결정하여 출력할 수 있다. 또한, 코드 결정부(442)는 코드 검출부(441)에서 악보에 코드가 포함되지 않은 경우 코드 예측모델(443)을 통해 예측된 코드를 각 마디의 코드로 결정할 수 있다.The code determination unit 442 may determine and output the included code as the code of each bar when the code is included in the score in the code detection unit 441 . In addition, the code determination unit 442 may determine the code predicted through the code prediction model 443 as the code of each measure when the code is not included in the score in the code detection unit 441 .

코드 예측모델(443)은 코드 검출부(441)에서 악보에 코드가 포함되지 않은 경우 악보 중 마디의 마디 별 포함됨 구성음을 입력으로 하여 마디 별 코드를 예측할 수 있다. 구체적으로, 코드 예측모델(443)은 기계학습(Machine Learning)의 DNN(Deep Neural Network) 모델을 기반으로 설계될 수 있다. 코드 예측모델(443)은 입력값을 분석 대상 악보 한 마디에 포함된 구성음으로 설정하고 레이블을 Traid(3도 화음) 코드로 설정하여 분석 대상 악보의 마디 별 코드를 예측할 수 있다. 이 경우 입력인 구성음은 숫자로 변경되어 입력되며 구성음에 대한 숫자 변환은 도 4의 하단에 도시된 계이름 별 숫자 표기와 같을 수 있다. 또한, 코드 예측모델(443)은 레이블로 Traid 코드를 도 8에 도시된 바와 같이 4가지 코드(Major 코드, Minor 코드, Augmented 코드, Diminished 코드)로만 분류할 수 있다.The code prediction model 443 may predict the code for each bar by inputting the constituent sounds included in each bar of the bar in the sheet music when the code detector 441 does not include the code in the sheet music. Specifically, the code prediction model 443 may be designed based on a deep neural network (DNN) model of machine learning. The code prediction model 443 can predict the code for each measure of the score to be analyzed by setting the input value to a component sound included in one measure of the score to be analyzed and setting the label to a Traid (third chord) code. In this case, the input constitutive sounds are changed into numbers and inputted, and the number conversion for the constitutive sounds may be the same as the numerical representation of each field name shown at the bottom of FIG. 4. In addition, the code prediction model 443 can classify the Traid code as a label into only four codes (Major code, Minor code, Augmented code, and Diminished code) as shown in FIG. 8 .

속성 분석부(450)는 분석 대상인 악보에 포함된 속성벡터의 속성값을 분석하여 이를 텍스트 또는 수치로 변환할 수 있다. 구체적으로, 속성 분석부(450)는 도 2에 도시된 바와 같은 악보를 분석하여 최저음은 2옥타브 파# (F#), 최고음은 3옥타브 솔(G)로 인식하여 음역대를 2옥타브 파#(F#)에서 3옥타브 솔(G)까지임을 결정할 수 있고, 조표는 ??(#, 올림)에서 변화음은 파(F)와 도(C)이고, 끝음이 레(D)이기 때문에 조성은 D장조(라장조)임을 결정할 수 있고, 곡의 속도는 100~108 BPM임을 결정할 수 있다. 속성 분석부(450)는 음역 분석부(451), 속도 분석부(452), 조표 분석부(453) 및 조성 분석부(454)를 포함할 수 있다.The attribute analyzer 450 may analyze attribute values of attribute vectors included in the score to be analyzed and convert them into text or numerical values. Specifically, the attribute analyzer 450 analyzes the score shown in FIG. 2, recognizes the lowest note as 2 octave wave# (F#) and the highest note as 3 octave sole (G), and sets the range to 2 octave wave# ( It can be determined that it is from F#) to 3 octave Sol (G), and the key signature is ?? It can be determined that it is a major key (D major), and the speed of the song can be determined to be 100 to 108 BPM. The attribute analyzer 450 may include a voice range analyzer 451, a velocity analyzer 452, a key signature analyzer 453, and a tonality analyzer 454.

음역 분석부(451)는 악보의 최고음과 최저음을 감지하여 음역대를 분석할 수 있다. 예를 들어, 음역 분석부(451)는 도 3에 도시된 악보에서 최고음은 3옥타브 솔(G), 최저음음 2옥타브 파#(F#)임을 감지하고 음역대는 2옥타브 파#(F#)에서 3옥타브 솔(G)까지임을 결정할 수 있다.The voice range analyzer 451 may analyze the range by detecting the highest and lowest notes of the sheet music. For example, in the score shown in FIG. 3, the sound range analysis unit 451 detects that the highest pitch is 3 octave sol (G) and the lowest pitch is 2 octave wave # (F#), and the pitch range is 2 octave wave # (F#). It can be determined that it is up to 3 octaves sol (G).

음역 분석부(451)는 최고음, 최저음 및 음역대에 대한 계이름을 숫자형태의 속성값의 벡터로 변환할 수 있다. 구체적으로, 음역 분석부(451)는 도 4에 도시된바와 같이 악보에서 계이름을 숫자로 변환하고, 악보에 포함된 음을 옥타브와 계이름으로 구성된 벡터로 변환할 수 있다. 예를 들어, 음역 분석부(451)는 벡터로 변환하고자 하는 음이 1옥타브 도(C)인 경우 벡터를 v={1, 1}로 변환할 수 있고, -1옥타브 레(D)인 경우 벡터를 v={-1, 2}로 변환할 수 있다.The voice range analysis unit 451 may convert the name of the highest pitch, the lowest pitch, and the name of the pitch into a vector of attribute values in the form of numbers. Specifically, as shown in FIG. 4 , the sound range analysis unit 451 may convert the name of a musical score into a number, and convert the notes included in the musical score into a vector consisting of an octave and the name of a musical score. For example, if the sound to be converted into a vector is 1 octave degree (C), the sound range analysis unit 451 may convert the vector to v = {1, 1}, and if it is -1 octave (D) You can convert a vector to v={-1, 2}.

속도 분석부(452)는 악보에 포함된 곡의 속도를 인식하여 이를 수치로 변환할 수 있다. 속도 분석부(452)는 악보에 포함된 곡의 속도가 텍스트(Tempo signature, 빠르기 기호)로 기재되었는지 아니면 BPM의 숫자형태로 기재되었는지 인식하여, 인식된 빠르기에 대응되는 속성값으로 변환할 수 있다. 속도 분석부(452)는 도 7에 도시된 바와 같이 10단계의 곡의 빠르기를 룩업 테이블 상의 속성값으로 변환할 수 있다.The speed analyzer 452 may recognize the speed of a song included in the sheet music and convert it into a numerical value. The speed analysis unit 452 recognizes whether the speed of the song included in the score is written in text (tempo signature, tempo symbol) or BPM numerical form, and converts it into an attribute value corresponding to the recognized tempo. . As shown in FIG. 7 , the speed analyzer 452 may convert the speed of the music in step 10 into an attribute value on the lookup table.

조표 분석부(453)는 악보에 포함된 조표를 분석하여 이를 조성 분석을 통해 악보의 분위기 속성값을 산출하는데 이용할 수 있다.The key signature analyzer 453 may analyze the key signature included in the musical score and use it to calculate the mood attribute value of the musical score through tonal analysis.

조성 분석부(454)는 조표 분석부(453)에서 분석된 조표 및 끝음에 기초하여 악보의 조성을 분석할 수 있다.The tone analyzer 454 may analyze the composition of the musical score based on the key signature and ending notes analyzed by the key signature analyzer 453 .

구체적으로, 조성 분석부(454)는 조표 분석부(453)에서 분석한 조표가 #(샵)인 경우 가장 마지막 #의 온음 하나 위의 음(A음)과 단 3도 아래의 음(B음)이 후보가 되어 A음은 Major(장조), B음은 Minor(단조)가 되고, 2개의 후보 중 악보의 곡 끝음과 동일한 음을 해당 조성으로 선택할 수 있다. 또한, 조성 분석부(454)는 조표 분석부(453)에서 분석한 조표가 ♭(플랫)인 경우 뒤에서 2번째 ♭의 음 (A음)과 단 3도 아래의 음(B음)이 후보가 되어 A음은 Major(장조), B음은 Minor(단조)가 되고, 2개의 후보 중 악보의 곡 끝음과 동일한 음을 해당 조성으로 선택할 수 있다. 예를 들어, 조성 분석부(454)는 도 6에 도시된 룩업 테이블과 같이 조표와 끝음에 기초하여 악보에 해당하는 조성을 결정할 수 있다.Specifically, when the key signature analyzed by the key signature analysis unit 453 is # (sharp), the tonality analyzer 454 is a sound one whole note above the last # (note A) and a note below a minor third (note B). ) becomes a candidate, and A note becomes Major (major key) and B note becomes Minor (minor key). In addition, if the key signature analyzed by the key signature analysis unit 453 is ♭ (flat), the tonality analysis unit 454 is a candidate for the second ♭ note (A note) and a minor third lower (B note). The note A becomes Major (major) and the note B becomes Minor (minor), and among the two candidates, the same note as the end note of the music score can be selected as the corresponding key. For example, the tonality analyzer 454 may determine the tonality corresponding to the musical score based on key signatures and endings, as shown in the lookup table shown in FIG. 6 .

악보 속성벡터 생성부(460)는 분석부에서 분석한 음역, 속도, 조표 및 조성에 기초하여 분석 대상 악보에 대한 복수의 속성(연주 악기, 장르, 분위기, 속도, 난이도) 별 속성값을 산출하여 악보 속성벡터를 생성할 수 있다.The sheet music property vector generation unit 460 calculates property values for each of a plurality of properties (playing instrument, genre, atmosphere, speed, difficulty) of the sheet music to be analyzed based on the range, speed, key signature, and tonality analyzed by the analysis unit, You can create a sheet music property vector.

구체적으로, 악보 속성벡터 생성부(460)는 음역 분석부(451)에서 결정한 악보의 음역대와 도 5에 도시된 저장부(200)에 저장된 악기 별 음역대를 비교하여 악보에서 연주 가능한 음역대의 악기를 선정하여 악보 속성벡터의 연주 악기에 대한 속성에 속성값으로 연주 악기를 텍스트로 생성할 수 있다. 또한, 악보 속성벡터 생성부(460)는 악보에 포함된 곡의 장르에 대한 정보를 장르에 대한 속성에 속성값으로 장르를 텍스트로 생성할 수 있다. 또한, 악보 속성벡터 생성부(460)는 조성 분석부(454)에서 결정한 조성이 장조(Major)일 경우 밝음으로 속성값을 1로 설정하고, 단조(minor)일 경우 어두움으로 속성값을 0으로 설정할 수 있다. 또한, 악보 속성벡터 생성부(460)는 속도 분석부(452)에서 분석한 악보의 속도에 기초하여 도 7에 도시된 바와 같이 룩업 테이블 상의 속도 벡터 값을 속성값으로 설정할 수 있다. 또한, 악보 속성벡터 생성부(460)는 악보에 포함된 해당 곡의 난이도를 속성값으로 변환하거나, 미리 연주한 타 사용자의 의견에 기초하여 복수의 타 사용자의 의견을 수치화하여 이를 평균으로 하여 해당 곡의 난이도를 설정하고 속성값으로 변환할 수 있다.Specifically, the score property vector generator 460 compares the pitch range of the score determined by the musical score analysis unit 451 with the pitch range for each instrument stored in the storage unit 200 shown in FIG. By selecting it, the playing instrument can be created as text as the property value of the playing instrument of the score property vector. Also, the score attribute vector generation unit 460 may generate information on the genre of a song included in the score as an attribute value of the genre as a text. In addition, the score attribute vector generation unit 460 sets the attribute value to 1 as bright when the key determined by the composition analysis unit 454 is major, and sets the attribute value to 0 as dark when it is minor. can be set In addition, the score attribute vector generator 460 may set a speed vector value on the lookup table as an attribute value, as shown in FIG. 7 , based on the speed of the score analyzed by the speed analyzer 452 . In addition, the score property vector generation unit 460 converts the difficulty of the song included in the score into an attribute value, or digitizes the opinions of a plurality of other users based on the opinions of other users who have played in advance, averages them, and You can set the difficulty of the song and convert it into an attribute value.

추천부(470)는 사용자 속성벡터 및 악보 속성벡터에 기초하여 사용자에게 추천하기 위한 악보 및 협주를 결정할 수 있다. 추천부(470)는 추천할 악보를 결정하는 악보 추천부(480) 및 결정된 악보에 기초하여 악보에 포함된 연주 가능 악기에 대한 타 사용자와의 추천 협주 모임을 결정하는 협주 추천부(490)를 포함할 수 있다.The recommendation unit 470 may determine musical scores and concertos to be recommended to the user based on the user property vector and the sheet music property vector. The recommender 470 includes a score recommender 480 that determines a score to be recommended and a concerto recommender 490 that determines a recommended concerto meeting with other users for playable instruments included in the score based on the determined score. can include

악보 추천부(480)는 사용자 속성벡터를 복수의 악보에 대한 악보 속성벡터 각각을 비교하여 사용자 속성벡터와 가장 유사한 악보 속성벡터를 선별하여 악보 추천 리스트를 생성할 수 있다.The sheet music recommendation unit 480 may generate a sheet music recommendation list by comparing the user property vector with each sheet music property vector for a plurality of sheet music and selecting a sheet music property vector most similar to the user property vector.

구체적으로, 악보 추천부(480)는 도 11에 도시된 바와 같이 사용자 속성벡터와 복수의 악보 속성벡터 간의 유사도를 산출할 수 있다. 악보 추천부(480)는 도 11의 제1영역과 같이 속성벡터의 속성값이 텍스트로 구성된 연주 악기 및 장르에 대한 속성에 대해서는 사용자 속성벡터의 해당 속성값이 악보 속성벡터 속성값 내에 포함되어 있는지 여부로 유사도를 산출할 수 있다. 또한, 악보 추천부(480)는 도 11의 제2영역과 같이 속성벡터의 속성값이 숫자로 구성된 분위기, 속도 및 난이도에 대한 속성에 대해서는 아래의 수학식 1을 통해 유사도를 산출할 수 있다.Specifically, as shown in FIG. 11 , the sheet music recommendation unit 480 may calculate a similarity between a user property vector and a plurality of sheet music property vectors. As shown in the first region of FIG. 11, the music score recommendation unit 480 checks whether the corresponding attribute value of the user attribute vector is included in the attribute value of the score attribute vector for the attributes of the musical instrument and genre in which the attribute value of the attribute vector is composed of text. The degree of similarity can be calculated. In addition, as shown in the second region of FIG. 11, the score recommendation unit 480 may calculate the similarity through Equation 1 below for the attributes of the atmosphere, speed, and difficulty in which the attribute values of the attribute vector are composed of numbers.

(A: 사용자 속성벡터, B: 악보 속성벡터, i: 속성벡터의 속성 순번)(A: user attribute vector, B: score attribute vector, i: attribute sequence of attribute vector)

협주 추천부(490)는 악보 추천부(480)에서 추천된 악보에 기초하여 추천된 악보에 대한 협주를 추천할 수 있다. 구체적으로, 협주 추천부(490)는 사용자 속성벡터에 포함된 사용자의 지역정보, 나이, 연주 악기 수준에 기초하여 추천된 악보를 연주할 모임인 협주를 추천할 수 있다. 또한, 협주 추천부(490)는 추천된 협주 중 온라인으로 진행되는 협주인지, 오프라인 협주 지역, 나이에 기초하여 추천된 협주 리스트 중 일부를 표시할 수 있다.The concerto recommendation unit 490 may recommend a concerto for the recommended sheet music based on the sheet music recommended by the sheet music recommendation unit 480 . Specifically, the concerto recommendation unit 490 may recommend a concerto, which is a group to play the recommended sheet music, based on the user's region information included in the user attribute vector, age, and playing instrument level. In addition, the concerto recommendation unit 490 may display some of the recommended concerto lists based on whether the recommended concerto is performed online, offline concerto region, or age.

이하, 도 12를 참조하여 악보 및 협주 추천 방법에 대해서 설명하도록 한다.Hereinafter, with reference to FIG. 12, a method for recommending sheet music and concerto will be described.

악보 및 협주 추천 장치(1)는 사용자로부터 질의에 대한 연주 악기, 관심곡, 선호 분위기, 선호 속도, 선호 난이도에 대한 정보가 포함된 사용자 질의답변을 수신하여 사용자 질의답변 중 관심곡에 대한 분위기, 속도 및 난이도 속성값과 상기 사용자 질의답변 중 분위기, 속도 및 난이도에 대한 속성값에 기초하여 사용자 속성벡터를 산출(S10)할 수 있다.The sheet music and concerto recommendation device 1 receives a user question answer including information about the playing instrument, the music of interest, the preferred mood, the preferred speed, and the preferred level of difficulty in response to the query from the user. A user attribute vector may be calculated based on attribute values of speed and difficulty and attribute values for atmosphere, speed, and difficulty among the user question and answer (S10).

악보 및 협주 추천 장치(1)는 복수의 악보에 대한 악보 속성벡터를 생성하기 위해 악보의 미리 저장된 난이도, 속도 및 장르에 대한 정보를 속성값으로 변환(S20)하고, 악보의 음역대를 분석하여 저장부(200)에 저장된 미리 저장된 악기의 음역대 정보에 기초하여 악보의 음역대에 대응되는 악기를 선별하여 해당 악기를 연주 악기에 대한 속성의 속성값으로 지정하여 연주 악기의 속성값을 생성(S30)할 수 있다. 또한, 악보 및 협주 추천 장치(1)는 악보의 조표를 산출하고 산출된 조표에 기초하여 악보의 조성을 산출하고 산출된 조성에 기초하여 분위기의 속성값을 생성(S40)할 수 있다. The score and concerto recommendation apparatus 1 converts pre-stored information about difficulty, speed, and genre of a score into attribute values in order to generate a score attribute vector for a plurality of scores (S20), and analyzes and stores the musical score range. Based on the range information of musical instruments stored in advance stored in the unit 200, an instrument corresponding to the range of the score is selected, and the corresponding instrument is designated as the property value of the performance instrument to generate the property value of the performance instrument (S30). can In addition, the score and concerto recommendation apparatus 1 may calculate the key table of the score, calculate the composition of the score based on the calculated key table, and generate an attribute value of the mood based on the calculated key table (S40).

악보 및 협주 추천 장치(1)는 난이도, 속도, 장르, 연주 악기 및 분위기에 대한 속성값에 기초하여 복수의 악보에 대해서 악보 별 악보 속성벡터를 생성(S50)할 수 있다.The sheet music and concerto recommendation apparatus 1 may generate sheet music property vectors for each sheet music for a plurality of sheet music based on property values of difficulty, speed, genre, playing instrument, and atmosphere (S50).

악보 및 협주 추천 장치(1)는 사용자 속성벡터와 복수의 악보 속성벡터 간의 유사도를 산출하여 연주 악기 및 장르는 텍스트 카운팅으로, 분위기, 속도 및 난이도는 수치 유사도를 산출하여 유사도가 높은 순으로 추천 악보 리스트를 생성(S60)할 수 있다.The sheet music and concerto recommendation apparatus 1 calculates the similarity between the user property vector and a plurality of sheet music property vectors, and calculates the musical instrument and genre to be played by text counting, and the atmosphere, speed, and difficulty to calculate the numerical similarity, and recommended sheet music in the order of high similarity. A list can be created (S60).

악보 및 협주 추천 장치(1)는 추천된 악보 리스트의 연주 악기 및 사용자 속성벡터의 연주 악기 정보에 기초하여 추천 협주 리스트를 생성(S70)할 수 있다.The sheet music and concerto recommendation apparatus 1 may generate a recommended concerto list based on the information of the playing instruments of the recommended music score list and the playing instruments of the user property vector (S70).

본원 발명의 실시예 들과 관련된 기술 분야에서 통상의 지식을 가진 자는 상기 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 방법들은 한정적인 관점이 아닌 설명적 관점에서 고려되어야 한다. 본 발명의 범위는 발명의 상세한 설명이 아닌 특허청구 범위에 나타나며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art related to the embodiments of the present invention will be able to understand that it may be implemented in a modified form without departing from the essential characteristics of the above description. Therefore, the disclosed methods are to be considered in an illustrative rather than a limiting sense. The scope of the present invention is shown in the claims rather than the detailed description of the invention, and all differences within the equivalent range should be construed as being included in the scope of the present invention.

1: 악보 및 협주 추천 장치
100: 입력부
200: 저장부
300: 출력부
400: 프로세서
410: 분석부
420: 질의 분석부
430: 악보 분석부
470: 추천부
480: 악보 추천부
490: 협주 추천부
1: Sheet music and concerto recommendation device
100: input unit
200: storage unit
300: output unit
400: processor
410: analysis unit
420: query analysis unit
430: sheet music analysis unit
470: recommendation unit
480: sheet music recommendation unit
490: ensemble recommendation unit

Claims (9)

사용자 질의답변 중 관심곡에 대한 분위기, 속도 및 난이도 속성값과 상기 사용자 질의답변 중 분위기, 속도 및 난이도에 대한 속성값에 기초하여 사용자 속성벡터를 산출하는 단계;
악보에 대한 미리 저장된 난이도, 속도 및 장르에 대한 정보를 각각의 정보의 속성에 대한 속성값으로 변환하고, 상기 악보의 음역대를 분석하여 미리 저장된 악기의 음역대 정보에 기초하여 연주 악기의 속성값을 생성하고, 상기 악보의 조표에 기초하여 조성을 산출하고 산출된 조성에 기초하여 분위기의 속성값을 생성하여 상기 난이도, 상기 속도, 상기 장르, 상기 연주 악기 및 상기 분위기 속성에 대한 속성값으로 악보 속성벡터를 생성하는 단계;
상기 악보 속성벡터를 저장부에 저장된 복수의 악보에 대해서 악보별로 생성하는 단계;
상기 사용자 속성벡터와 복수의 악보 속성벡터 간의 유사도에 기초하여 유사도가 높은 순으로 추천 악보 리스트를 생성하는 단계; 및
상기 추천된 악보 리스트의 연주 악기 및 상기 사용자 속성벡터의 연주 악기 정보에 기초하여 추천 협주 리스트를 생성하는 단계;
를 포함하는 악보 및 협주 추천 방법.
Calculating a user attribute vector based on attribute values of mood, speed, and difficulty for a song of interest among user questions and answers, and attribute values for mood, speed, and difficulty among the user questions and answers;
Pre-stored information on the difficulty, speed, and genre of the score is converted into attribute values for the properties of each information, and the musical range of the score is analyzed to generate the attribute value of the playing instrument based on the pre-stored information on the musical score of the musical instrument. and calculates a tone based on the key table of the score, generates attribute values of mood based on the calculated key, and converts a score attribute vector into attribute values for the difficulty, speed, genre, playing instrument, and mood attributes. generating;
generating the sheet music property vector for each sheet music for a plurality of sheet music stored in a storage unit;
generating a list of recommended musical scores in descending order of similarity based on similarities between the user property vector and the plurality of sheet music property vectors; and
generating a recommended concerto list based on information on playing instruments of the recommended musical score list and playing instruments of the user property vector;
A method for recommending sheet music and concertos that include.
제1항에 있어서,
사용자 속성벡터를 산출하는 단계는,
상기 관심곡에 대한 속성값과 상기 사용자 질의답변 중 포함된 속성값을 상기 분위기, 상기 속도 및 상기 난이도의 속성 별로 속성값의 평균값을 산출하여 속성별 사용자 속성값을 산출하는 것을 특징으로 하는 악보 및 협주 추천 방법.
According to claim 1,
The step of calculating the user attribute vector,
A user attribute value for each attribute is calculated by calculating an average value of attribute values for the song of interest and attribute values included in the user's question and answer for each of the attributes of the atmosphere, the speed, and the difficulty, and How to recommend a concerto.
제1항에 있어서,
상기 악보 속성벡터를 산출하는 단계는,
상기 산출된 조성이 장조(Major)이면 상기 분위기를 밝음으로 결정하여 상기 분위기의 속성값을 생성하고,
상기 산출된 조성이 단조(Minor)이면 상기 분위기를 어두움으로 결정하여 상기 분위기의 속성값을 생성하는 것을 특징으로 하는 악보 및 협주 추천 방법.
According to claim 1,
In the step of calculating the score property vector,
If the calculated composition is major, the atmosphere is determined to be bright to generate attribute values of the atmosphere;
If the calculated composition is Minor, the atmosphere is determined to be dark and an attribute value of the atmosphere is generated.
제1항에 있어서,
상기 악보 속성벡터를 산출하는 단계는,
상기 악보의 미리 저장된 난이도는 상기 악보의 사용자 평가에 기초하여 저장되는 것을 특징으로 하는 악보 및 협주 추천 방법.
According to claim 1,
In the step of calculating the score property vector,
The score and concerto recommendation method, characterized in that the pre-stored difficulty of the score is stored based on user evaluation of the score.
제1항에 있어서,
상기 악보 속성벡터를 산출하는 단계는,
상기 악보에 대한 속도의 속성값은 상기 악보의 속도에 대응되는 저장부에 저장된 룩업 테이블 상의 값으로 결정하는 것을 특징으로 하는 악보 및 협주 추천 방법.
According to claim 1,
In the step of calculating the score property vector,
The score and concerto recommendation method characterized in that the attribute value of the speed of the score is determined as a value on a lookup table stored in a storage unit corresponding to the speed of the score.
제1항에 있어서,
상기 악보 속성벡터를 산출하는 단계는,
상기 악보의 음역대는 옥타브와 계이름을 저장부에 저장된 룩업 테이블에 기초하여 상기 옥타브 속성 및 상기 계이름 속성을 포함하는 벡터 형태로 생성되어 분석하는 것을 특징으로 하는 악보 및 협주 추천 방법.
According to claim 1,
In the step of calculating the score property vector,
The vocal range of the score is generated and analyzed in the form of a vector including the octave attribute and the instrument name attribute based on a lookup table stored in a storage unit for octave and instrument name.
제1항에 있어서,
상기 추천 악보 리스트를 생성하는 단계는,
상기 복수의 악보 속성벡터 중 상기 사용자 속성벡터의 상기 연주 악기 및 상기 장르 속성값을 포함하는 복수의 악보 속성벡터를 선별하고, 상기 선별된 복수의 악보 속성벡터와 상기 사용자 속성벡터의 상기 분위기, 상기 속도 및 상기 난이도 속성의 수치 간의 유사도를 산출해 유사도가 높은 악보 속성벡터에 대응되는 악보를 우선순위로 추천 악보 리스트를 생성하는 것을 특징으로 하는 악보 및 협주 추천 방법.
According to claim 1,
The step of generating the recommended sheet music list,
Among the plurality of score property vectors, a plurality of score property vectors including the performance instrument and genre attribute values of the user property vector are selected, and the atmosphere of the selected plurality of score property vectors and the user property vector is selected. A method for recommending sheet music and concerto, characterized in that by calculating the similarity between the numerical values of the speed and the difficulty attribute, and generating a list of recommended sheet music by prioritizing the sheet music corresponding to the sheet music property vector having a high similarity.
제1항에 있어서,
상기 악보 속성벡터를 산출하는 단계 이후,
상기 악보에 코드에 대한 정보가 포함되어 있는지 여부를 체크하여 상기 코드에 대한 정보가 없는 경우, 마디에 포함된 음들을 입력으로, Triad 코드를 레이블로 하는 코드 예측모델로 상기 악보의 코드를 결정하는 단계를 더 포함하는 것을 특징으로 하는 악보 및 협주 추천 방법.
According to claim 1,
After calculating the score property vector,
Checking whether the score includes information about the code, and if there is no information about the code, determining the code of the score with a code prediction model using the notes included in the measure as inputs and using the triad code as a label A method for recommending sheet music and concerto, characterized in that it further comprises a step.
제8항에 있어서,
상기 레이블로 하는 상기 Triad 코드는 Major 코드, Minor 코드, Augmented 코드, Diminished 코드 4가지인 것을 특징으로 하는 악보 및 협주 추천 방법.
According to claim 8,
The score and concerto recommendation method, characterized in that the triad codes as the labels are four major codes, minor codes, augmented codes, and diminished codes.
KR1020220024945A 2022-02-25 2022-02-25 A Recommendation Method For Music Score And Concerto Gathering And Device Thereof KR20230127530A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220024945A KR20230127530A (en) 2022-02-25 2022-02-25 A Recommendation Method For Music Score And Concerto Gathering And Device Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220024945A KR20230127530A (en) 2022-02-25 2022-02-25 A Recommendation Method For Music Score And Concerto Gathering And Device Thereof

Publications (1)

Publication Number Publication Date
KR20230127530A true KR20230127530A (en) 2023-09-01

Family

ID=87975072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220024945A KR20230127530A (en) 2022-02-25 2022-02-25 A Recommendation Method For Music Score And Concerto Gathering And Device Thereof

Country Status (1)

Country Link
KR (1) KR20230127530A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101057919B1 (en) 2009-02-20 2011-08-19 성균관대학교산학협력단 How to recommend customized music through analyzing playlists of users

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101057919B1 (en) 2009-02-20 2011-08-19 성균관대학교산학협력단 How to recommend customized music through analyzing playlists of users

Similar Documents

Publication Publication Date Title
Temperley Music and probability
EP3843083A1 (en) Method, system, and computer-readable medium for creating song mashups
US7668610B1 (en) Deconstructing electronic media stream into human recognizable portions
Aljanaki et al. A data-driven approach to mid-level perceptual musical feature modeling
JP2007256617A (en) Musical piece practice device and musical piece practice system
CN108257588B (en) Music composing method and device
Paulus Signal processing methods for drum transcription and music structure analysis
Lerch Audio content analysis
Liang et al. Measurement, recognition, and visualization of piano pedaling gestures and techniques
US20230351989A1 (en) Information processing system, electronic musical instrument, and information processing method
Ramirez et al. Automatic performer identification in celtic violin audio recordings
Ramirez et al. Performance-based interpreter identification in saxophone audio recordings
Van Balen Audio description and corpus analysis of popular music
KR20230127530A (en) A Recommendation Method For Music Score And Concerto Gathering And Device Thereof
JP2008040260A (en) Musical piece practice assisting device, dynamic time warping module, and program
JP6954780B2 (en) Karaoke equipment
JP5830840B2 (en) Voice evaluation device
JP2008040258A (en) Musical piece practice assisting device, dynamic time warping module, and program
Rönnberg Classification of heavy metal subgenres with machine learning
Lee A system for acoustic chord transcription and key extraction from audio using hidden Markov models trained on synthesized audio
Liu et al. Emotion Recognition of Violin Music based on Strings Music Theory for Mascot Robot System.
US20230368760A1 (en) Audio analysis system, electronic musical instrument, and audio analysis method
Mirza et al. Residual LSTM neural network for time dependent consecutive pitch string recognition from spectrograms: a study on Turkish classical music makams
Friberg et al. Recognition of the main melody in a polyphonic symbolic score using perceptual knowledge
Dewi et al. Gamelan Rindik Classification Based On Mood Using K-Nearest Neigbor Method