KR20220056487A - 코드반주 학습서비스 제공 장치, 방법 및 프로그램 - Google Patents

코드반주 학습서비스 제공 장치, 방법 및 프로그램 Download PDF

Info

Publication number
KR20220056487A
KR20220056487A KR1020200141115A KR20200141115A KR20220056487A KR 20220056487 A KR20220056487 A KR 20220056487A KR 1020200141115 A KR1020200141115 A KR 1020200141115A KR 20200141115 A KR20200141115 A KR 20200141115A KR 20220056487 A KR20220056487 A KR 20220056487A
Authority
KR
South Korea
Prior art keywords
data
accompaniment
user
code
chord
Prior art date
Application number
KR1020200141115A
Other languages
English (en)
Inventor
김성환
김하균
유인성
Original Assignee
김성환
김하균
유인성
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김성환, 김하균, 유인성 filed Critical 김성환
Priority to KR1020200141115A priority Critical patent/KR20220056487A/ko
Publication of KR20220056487A publication Critical patent/KR20220056487A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • 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/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Acoustics & Sound (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

본 발명의 다양한 실시 예에 따르면, 코드반주 학습서비스 제공 장치는, 코드반주 학습데이터, 사용자 연습기록 데이터 및 곡별 사용자 연주 데이터를 저장하는 데이터베이스; 및 어플리케이션을 통해 사용자 장치에 코드반주 학습 서비스를 제공하는 제어부;를 포함하고, 상기 제어부는, 상기 어플리케이션을 통해 사용자 장치로부터 음원 데이터를 수신하고, 상기 음원 데이터를 제1 딥러닝 알고리즘에 입력하여 코드반주로 변환하고, 상기 변환한 코드반주의 연습이 가능한 코드반주 학습 인터페이스를 상기 어플리케이션을 통해 상기 사용자 장치에 제공하고, 상기 어플리케이션을 통해 상기 코드반주에 대응하는 사용자의 연주 데이터를 입력 받고, 상기 연주 데이터를 제2 딥러닝 알고리즘에 입력하여 사용자 연주 평가 데이터를 출력하고, 상기 사용자 연주 평가 데이터에 기반하여 사용자에 적합한 다음 코드반주를 추천할 수 있다.

Description

코드반주 학습서비스 제공 장치, 방법 및 프로그램{DEVICE, METHOD AND PROGRAM FOR PROVIDNG LEARNING SERVICE FOR CHORD ACCOMPANIMENT}
본 발명은 코드반주 학습서비스 제공 장치, 방법 및 프로그램에 관한 것으로, 보다 자세하게는 딥러닝 알고리즘을 이용하여 사용자의 요청곡을 코드반주로 변환하여 제공하며 사용자 연주데이터를 분석하여 다음 연주할 곡을 추천할 수 있는 장치, 방법 및 프로그램에 관한 것이다.
기존의 악기(예: 피아노) 교육 어플리케이션들은 컨텐츠 제공자가 직접 곡 DB를 입력하는 방식있으며, 이로 인하여 사용자들은 자신이 원하는 곡들을 어플리케이션에서 자유롭게 연습할 수 없었다. 또한, 기존의 시스템은 악보를 그대로 따라하는 것이기 때문에 초심자들은 쉽게 접근할 수 없었고, 중급자 및 고급자들 중 코드반주를 연습하고 싶은 사람들에게는 악기 교육 어플리케이션이 제공하는 연습 시스템이 효과적이지 않았다.
예를 들어, 음악 교육 방법 및 이를 실시하는 기록매체에 저장된 음악 교육 애플리케이션(KR 10-2018-0091410)은 연주자의 연주를 바탕으로 사용자의 연주와 비교를 해주는 애플리케이션에 대해 개시하고 있으며, 선택한 악보에 대해서 음정, 음량, 및 화성을 연주자가 녹음한 뒤, 이 내용을 분석하여 사용자와 비교한다. 그러나, 악보를 데이터로 확보하여 직접 제공해야한다는 점 및 연주자가 존재하여 연주자가 자신의 연주를 등록해야 한다는 점이 한계점이다.
또한, 미디어 컨텐츠 서비스 시스템(KR 10-2018-0044583)은 마이크를 통해 사용자의 연주를 입력 받아 주파수 분석을 통해 다양한 정보를 뽑는 방법에 관한 것이며, 이를 DB에 저장시킨 뒤, 연주 악보를 생성할 수 있다. 그러나 주파수 분석으로 인한 기술의 한계가 존재하며 화성, 악보 등에 대해서 사용자 참여를 통한 정보 발전이 불가능한 문제점이 있었다.
따라서, 이와 같은 문제를 해결하기 위해 딥러닝 알고리즘을 적용하여 사용자가 원하는 곡에 대한 코드반주를 제공하고, 사용자의 연주에 대해 피드백을 제공하는 기술이 필요하다.
KR 공개특허 10-2018-0091410 KR 공개특허 10-2018-0044583
본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 사용자가 원하는 곡을 요청하면 장치가 이 곡에 대한 음원을 제1 딥러닝 알고리즘에 기초하여 화성, 박자, 주 선율 등을 추출하여 게임의 형태/악보의 형태로 사용자에게 제공할 수 있는 장치, 방법 및 프로그램을 제공하는데 그 목적이 있다.
또한, 본 발명은 사용자의 연주를 제2 딥러닝 알고리즘에 기초하여 화성, 멜로디, 박자를 분석 후, 사용자의 연습데이터를 기반으로 다음 연주할 곡을 추천할 수 있는 장치, 방법 및 프로그램을 제공하는데 그 목적이 있다.
본 발명의 다양한 실시 예에 따르면, 코드반주 학습서비스 제공 장치는, 코드반주 학습데이터, 사용자 연습기록 데이터 및 곡별 사용자 연주 데이터를 저장하는 데이터베이스; 및 어플리케이션을 통해 사용자 장치에 코드반주 학습 서비스를 제공하는 제어부;를 포함하고, 상기 제어부는, 상기 어플리케이션을 통해 사용자 장치로부터 음원 데이터를 수신하고, 상기 음원 데이터를 제1 딥러닝 알고리즘에 입력하여 코드반주로 변환하고, 상기 변환한 코드반주의 연습이 가능한 코드반주 학습 인터페이스를 상기 어플리케이션을 통해 상기 사용자 장치에 제공하고, 상기 어플리케이션을 통해 상기 코드반주에 대응하는 사용자의 연주 데이터를 입력 받고, 상기 연주 데이터를 제2 딥러닝 알고리즘에 입력하여 사용자 연주 평가 데이터를 출력하고, 상기 사용자 연주 평가 데이터에 기반하여 사용자에 적합한 다음 코드반주를 추천할 수 있다.
상기와 같은 본 발명에 따르면, 아래와 같은 다양한 효과들을 가진다.
본 발명에 따르면, 사용자가 원하는 곡을 직접 장치에 요청하여 연습에 필요한 정보들을 얻을 수 있다.
또한 본 발명에 따르면, 악보가 아닌, 게임의 형태로 초보자도 쉽게 연습할 수 있다.
또한 본 발명에 따르면, 사용자 참여형으로 장치가 생성한 자료에 대해서 사용자가 직접 수정을 하고, 수정된 내용을 다른 사람에게 공유할 수 있다.
또한 본 발명에 따르면, 딥러닝 알고리즘을 통해서 더욱 신뢰도 있는 반주 데이터를 생성할 수 있다.
또한 본 발명에 따르면, 딥러닝 알고리즘을 통해서 사용자의 연주를 더욱 정확하게 파악할 수 있다.
또한 본 발명에 따르면, 사용자의 연주 데이터를 바탕으로 다른 곡들을 추천할 수 있다.
또한 본 발명에 따르면, 단순히 악보의 내용을 따라하는 것이 아니라, 더 나은 화성을 연주하도록 다른 곡들을 추천받을 수 있다.
도 1 및 도 2는 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 장치 및 사용자 장치를 나타낸 블록도다.
도 3은 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 장치를 나타낸 블록도다.
도 4는 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 방법을 나타낸 흐름도다.
도 5 내지 도 9는 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 방법을 나타낸 예시도다.
이하 본 발명의 다양한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명의 실시 예를 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 서버)를 포함할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
도 1 및 도 2는 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 장치 및 사용자 장치를 나타낸 블록도다. 도 3은 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 장치를 나타낸 블록도다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 장치(100)는 사용자가 제공한 음원 데이터에 기반하여 코드반주를 생성하고, 코드반주에 기반하여 코드반주 학습 인터페이스를 사용자 장치(200)에 제공하고, 사용자의 연주 데이터에 기초하여 다음 연주할 곡을 추천할 수 있다. 코드반주 학습 서비스 제공 장치(100)는 서버일 수 있으며, 어플리케이션을 통해 사용자 장치(200)에 학습 서비스를 제공할 수 있다.
일 실시 예에서, 코드반주 학습 서비스 제공 장치(100)는, 코드반주 학습데이터, 사용자 연습기록 데이터 및 곡별 사용자 연주 데이터를 저장하는 데이터베이스(120) 및 어플리케이션을 통해 사용자 장치(200)에 코드반주 학습 서비스를 제공하는 제어부(110)를 포함할 수 있다.
예를 들어, 코드반주 학습서비스 제공 장치(100) 및 사용자 장치(200)는 서로 네트워크를 통해 연결될 수 있다. 네트워크는 무선 네트워크 및 유선 네트워크를 포함할 수 있다. 예를 들어, 상기 네트워크는 근거리 통신 네트워크(예: 블루투스, WiFi direct 또는 IrDA(infrared data association)) 또는 원거리 통신 네트워크(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN))일 수 있다.
일 실시 예에서, 사용자 장치(200)는 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다.
도 2를 참조하면, 일 실시 예에서, 사용자 장치(200)는 사용자 업로드 데이터를 어플리케이션을 통해 장치(100)에 전송할 수 있다. 여기서, 사용자 업로드 데이터는 음원 데이터(예: 음원 링크, 음원 파일)를 포함할 수 있다. 또한, 사용자 장치(200)는 어플리케이션을 통해 사용자의 연주데이터(예: 사용자가 연주한 메타데이터, 히스토리 등)를 제공받을 수 있으며, 제3 자 리뷰 데이터(예: 댓글, 좋아요 등)를 획득할 수 있다.
일 실시 예에서, 도 2에 도시된 바와 같이 어플리케이션이 제공하는 서비스는 UI 레이어, 어플리케이션 레이어, 엔진 레이어 및 데이터베이스 레이어로 구분될 수 있으며, UI 레이어는 연습정보 요약 대쉬보드, 코드 메타 연습화면, 사용자 연주 피드백 UI 및 커뮤니티 보드를 포함할 수 있으며, 어플리케이션 레이어는 코드 기반 반주 연습(예: MIR 기반의 반주연습기능, 구간반복, 양손 따로 연습, 멜로디/반주 자동재생, 사용자가 친 노트 표시), 사용자 연주 피드백(예: 정확도 측정, 내 이전 연주와 비교, 다른 비슷한 곡 추천), 커뮤니티 기능(예: 연주정보 프로필 관리, 같은 곡의 타 유저 연주에 대한 레이팅, 타 유저에 대한 팔로우)를 포함할 수 있으며, 엔진 레이어는 MIR Engine, MIR(Feedback) 및 Recommend system을 포함할 수 있으며, 데이터베이스 레이어는 Chord Meta DB, 사용자 연습기록 데이터 및 곡별 사용자 연주 데이터를 포함할 수 있다.
예를 들어, 도 2에 따라 본 발명을 설명하면, 사용자는 장치(100)에게 음원 링크나 음원 파일을 전송하여 코드반주 악보 기반 연습 환경을 요청할 수 있으며, 장치(100)는 MIR 서버로 코드반주 변환을 요청하고, 그 결과를 다시 사용자 장치(200)의 어플리케이션으로 전송할 수 있고, 어플리케이션에서는 전송받은 코드반주를 바탕으로 게임형태 또는 악보형태로 사용자에게 그 곡에 대한 코드반주 학습 인터페이스가 제공될 수 있다. 코드반주 학습 인터페이스는 구간반복 및 양손을 따로 연습할 수 있는 기능을 제공하며, 해당 곡의 코드와 그 코드를 어떻게 쳐야 하는지 게임 형태(피아노 UI 위에 막대가 떨어지는 형태), 또는 악보의 형태를 포함할 수 있다. 사용자는 제공받은 코드반주 학습 인터페이스를 통해서 연습을 진행한 뒤, 어플리케이션에 연동된 딥러닝 알고리즘을 통해서 소리를 입력 받아 사용자의 연주를 평가받을 수 있다. 연주에 대한 평가는 사용자가 해당 화음을 정확하게 쳤는지, 그리고 박자를 정확하게 쳤는 지를 평가받는다. 또한, 사용자는 음계별로, 화음별로 얼마나 정확하게 쳤는지 파악하여 해당 부족한 음계, 또는 화음 정보를 바탕으로 다음 곡을 추천받을 수 있다.
도 3을 참조하여 본 발명의 기술적인 동작 흐름을 보다 구체적으로 설명하면, 어플레이케이션에서 사용자가 API 서버로 코드반주 요청을 음원과 함께 요청하면, API 서버는 이를 MIR Encoder Worker에게 Message Queue를 통해 코드반주 변환을 요청한다. Message Queue를 계속 Polling하고 있던 MIR Encoder Worker는 메시지가 들어오면 일련의 과정을 거쳐 wav 음원으로 된 곡을 beat별 화음 정보, 및 화음 정보를 바탕으로 자동 생성된 반주 정보를 JSON의 형태로 API 서버로 전송한다. 이후 Message Queue에 담긴 메시지의 수에 따라 MIR Encoder Worker의 개수는 클라우드 상에서 자동 조정된다. 코드반주 정보 JSON을 받은 API 서버는 이를 다시 어플리케이션으로 전송한다. 어플리케이션에서는 JSON 데이터를 바탕으로 코드반주 학습 인터페이스를 사용자에게 제공한다. 사용자는 어플리케이션으로 생성된 코드반주를 수정하여 API 서버로 반주 수정을 요청하고, 수정한 반주를 다른 사람들에게 공유할 수 있다. 사용자는 생성한 코드반주를 삭제할 수 있다. 한편, 장치(100)는 어플리케이션을 제공하는 서버일 수 있으며, MIR 서버 및 API 서버는 장치(100)와 독립적으로 구현되거나 통합될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 방법을 나타낸 흐름도다. 도 5 내지 도 9는 본 발명의 일 실시 예에 따른 코드반주 학습 서비스 제공 방법을 나타낸 예시도다. 도 4의 동작들은 도 1에 도시된 코드반주 학습서비스 제공 장치(100)에 의해 수행될 수 있다.
도 4를 참조하면, 일 실시 예에서, 제어부(110)는 동작 41에서, 어플리케이션을 통해 사용자 장치(200)로부터 음원 데이터를 수신할 수 있다. 예를 들어, 음원 데이터는 음원 링크 또는 음원 파일을 포함할 수 있다.
일 실시 예에서, 제어부(110)는 동작 42에서, 음원 데이터를 제1 딥러닝 알고리즘에 입력하여 코드반주로 변환할 수 있다. 예를 들어, 제1 딥러닝 알고리즘은 도 5 및 도 6에 개시된 구조일 수 있으며 입력 값이 음원 데이터, 출력 값이 코드반주일 수 있다. 코드반주는 사용자가 연주할 수 있는 형태로 제공될 수 있도록 음원에서 추출된 화성, 박자, 주 선율, beat별 화음 정보 등을 포함하는 정보일 수 있다.
구체적으로, 제1 딥러닝 알고리즘에 기초하여 코드반주 변환을 설명하면, 도 5에 도시된 바와 같이 제어부(110)는, 음원 데이터를 Constant Q Transform을 통해 시간 주파수 연속(Time-Frequency Series) 데이터로 변환하고, 시간 주파수 연속 데이터를 완전연결층(Fully connected layer)에 입력하여 임베딩(Embedding)하면서 포지셔널 인코딩(Positional Encoding)을 삽입한 제1 데이터를 출력하고, 제1 데이터를 셀프 어텐션 레이어(Self Attention Layer)에 입력하여 제2 데이터를 출력하고, 제2 데이터를 완전연결층에 입력하여 제3 데이터를 출력하고, 제3 데이터를 소프트맥스(softmax) 함수를 통해 시간 별 코드 확률로 변환할 수 있다. 이러한 모델의 기초는 구글의 "Attention is All You Need(2017)"의 아키텍쳐에 기반하여 생성될 수 있다. 물론, 도 5의 모델 자체는 상기 아키텍쳐와 다르며 일부 구성이 유사할 수 있다.
또한, 도 6에 도시된 바와 같이, 제어부(110)는, 음원 데이터를 복수의 프레임으로 나눈 후 단시간 푸리에 변환(Short time Fourier Transform, STFT)을 적용하여 변환 데이터를 출력하고, 변환 데이터를 제곱하여 파워 스펙트로그램(Power Spectrogram)을 추출하고, 추출한 파워 스펙트로그램을 컨볼루션 뉴럴 네트워크(Convolutional Neural Network)에 입력하여 제4 데이터를 출력하고, 제4 데이터를 임시 컨볼루션 뉴럴 네트워크(Temporal Convolutional Neural Network)에 입력하여 제5 데이터를 출력하고, 제5 데이터를 소프트맥스(softmax) 함수를 통해 코드 확률을 출력하고, 코드 확률을 다이나믹 베이시안 네트워크(Dynamic Baysian Network)에 입력하여 시간 별 비트의 위치 데이터를 추출할 수 있다. 이러한 모델의 기초는 Wavenet(2016)에서 사용한 Temporal Convolutional Network의 아키텍쳐에 기반하여 생성될 수 있다. 물론, 도 6의 모델 자체는 상기 아키텍쳐와 다르며 일부 구성이 유사할 수 있다.
이어서, 제어부(110)는, 시간 별 코드 확률 및 시간 별 비트의 위치 데이터를 병합하여 음원 데이터에 대한 비트별 코드 정보를 추출하고, 추출한 비트별 코드 정보 및 미리 저정한 반주 리듬 데이터에 기초하여 코드반주를 생성할 수 있다.
일 실시 예에서, 제어부(110)는 동작 43에서, 변환한 코드반주의 연습이 가능한 코드반주 학습 인터페이스를 어플리케이션을 통해 사용자 장치에 제공할 수 있다.
예를 들어, 도 7을 참조하면, 코드반주 학습 인터페이스의 화면 상단에는 게임 뷰를 띄울지, 코드를 나열하는 화면을 띄울지, 악보를 띄울 지에 대하여 선택할 수 있는 버튼을 제공하고, 곡의 속도, 재생 컨트롤 등을 할 수 있는 UX를 제공한다.
또한, 화면 중간에는 사용자가 어떤 건반을 눌러야 하는지 막대가 떨어지는 형태로 UI를 제공한다. 화면 중간 내용은 사용자가 게임 뷰를 선택하면 막대의 형태로 보여주고, 코드뷰를 선택하면 화면 위에 코드들이 나열된 형태를 보여준다. 악보뷰를 선택하면 막대의 형태 대신에 실제 피아노 악보를 보여줄 수 있다.
또한, 화면 하단에는 왼손/오른손으로 나누어진 사용자가 직접 눌러볼 수 있는 피아노 건반 UX와, 현재 쳐야하는 Chord, 다음 쳐야 하는 Chord, 그리고 이전에 쳤던 Chord와 정확도 측정 결과를 확인할 수 있다. 정확도 측정 결과는 "최고에요!", "좋아요!", "아쉬워요!" 등 평가가 이루어진다. 정확도 측정은 사용자 장치(200)의 마이크를 통해서 실시간으로 소리를 입력 받아 제2 딥러닝 알고리즘을 통해서 어떤 음을 눌렀는지 파악 후, 원래 쳐야 하는 타겟 코드와 사용자가 친 코드를 비교하여서 코드 정확도를 측정한다.
예를 들어, 사용자의 연습 후에는 도 8과 같은 피드백 결과 화면이 코드반주 학습 인터페이스를 통해 제공될 수 있다. 예컨대, 화면에서는 사용자가 어느 부분에서 틀렸는지 Heat-map 형태로 보여준다. 사용자가 어떤 코드를 자주 틀렸는지 그 아래에 나열하여서 보여준다. 오른쪽에는 사용자의 연주에서 정확한 화음을 연주하였는지, 정확한 박자로 연주하였는 지를 평가한 종합 결과를 표시하고, 이 내용을 바탕으로 사용자의 연주에 A+, A, B+ 등의 등급을 매겨서 보여준다. 모든 연습 결과는 장치(100)의 DB에 저장되어 사용자의 연습 추이를 확인할 수 있도록 한다.
일 실시 예에서, 제어부(110)는 동작 44에서, 어플리케이션을 통해 코드반주에 대응하는 사용자의 연주 데이터를 입력 받을 수 있다. 예를 들어, 사용자 장치(200)에 구비된 마이크를 이용하여 어플리케이션에서 사용자의 연주 소리를 입력 받아 연주 데이터를 생성할 수 있다.
일 실시 예에서, 제어부(110)는 동작 45에서, 연주 데이터를 제2 딥러닝 알고리즘에 입력하여 사용자 연주 평가 데이터를 출력할 수 있다.
예를 들어, 도 9를 참조하면, 제어부(110)는, 연주 데이터를 복수의 윈도우로 나누어 로그 멜스펙트로그램(Log Mel-Spectrogram)을 추출하고, 추출한 로그 멜스펙트로그램을 각각 온셋 디텍션(Onset Detection) 모델 및 프레임 디텍션(Frame Detection) 모델에 각각 입력할 수 있다.
또한, 제어부(110)는, 추출한 로그 멜스펙트로그램을 온셋 디텍션 모델의 컨볼루션 뉴럴 네트워크, 바이 디렉셔널 LTSM 네트워크(Bi Directional LSTM Network) 및 완전연결층에 순차적으로 입력하여 복수개의 음에 대한 온셋 확률(Onset Probability)를 산출할 수 있다.
또한, 제어부(110)는 추출한 로그 멜스펙트로그램을 프레임 디텍션 모델의 컨볼루션 네트워크 및 완전연결층에 순차적으로 입력하여 제6 데이터를 출력하고, 제6 데이터 및 온셋 확률을 프레임 디텍션 모델의 바이 디렉셔널 LTSM 네트워크(Bi Directional LSTM Network) 및 완전연결층에 순차적으로 입력하여 복수개의 음에 대한 프레임 확률(Frame Probability)를 출력하고, 프레임 확률에 기초하여 시간 별 복수개의 음에 대한 확률을 산출하고, 시간 별 복수개의 음에 대한 확률에 기초하여 연주 데이터의 시간 별 음의 위치를 확인할 수 있다. 예컨대, 실시간으로 사용자의 연주에서 음을 파악하기 위한 제2 딥러닝 알고리즘은 Google Magenta의 'Onsets and Frames(2018)' 모델에 기초하여 생성될 수 있다.
이어서, 제어부(110)는 입력된 연주 데이터에서 확인한 시간 별 음의 위치를 연주한 곡의 코드반주 관련 정보와 비교하여 정확하게 일치하는 지 여부를 확인할 수 있고, 시간 별 음의 위치가 원래 악보와 일치할수록 높은 평가 점수를 받을 수 있다.
일 실시 예에서, 제어부(110)는 동작 46에서, 사용자 연주 평가 데이터에 기반하여 사용자에 적합한 다음 코드반주를 추천할 수 있다. 예를 들어, 사용자가 연주 실수가 많아 평가 점수가 낮을 경우 현재 연주한 곡과 유사한 난이도의 곡을 추천할 수 있고, 사용자의 평가 점수가 높을 경우, 한 단계 높은 레벨의 연주 곡을 추천할 수 있다.
본 발명의 다양한 실시 예에 따르면, 코드반주 학습서비스 제공 장치는, 코드반주 학습데이터, 사용자 연습기록 데이터 및 곡별 사용자 연주 데이터를 저장하는 데이터베이스; 및 어플리케이션을 통해 사용자 장치에 코드반주 학습 서비스를 제공하는 제어부;를 포함하고, 상기 제어부는, 상기 어플리케이션을 통해 사용자 장치로부터 음원 데이터를 수신하고, 상기 음원 데이터를 제1 딥러닝 알고리즘에 입력하여 코드반주로 변환하고, 상기 변환한 코드반주의 연습이 가능한 코드반주 학습 인터페이스를 상기 어플리케이션을 통해 상기 사용자 장치에 제공하고, 상기 어플리케이션을 통해 상기 코드반주에 대응하는 사용자의 연주 데이터를 입력 받고, 상기 연주 데이터를 제2 딥러닝 알고리즘에 입력하여 사용자 연주 평가 데이터를 출력하고, 상기 사용자 연주 평가 데이터에 기반하여 사용자에 적합한 다음 코드반주를 추천할 수 있다.
다양한 실시 예에 따르면, 상기 제어부는, 상기 음원 데이터를 Constant Q Transform을 통해 시간 주파수 연속(Time-Frequency Series) 데이터로 변환하고, 상기 시간 주파수 연속 데이터를 완전연결층(Fully connected layer)에 입력하여 임베딩(Embedding)하면서 포지셔널 인코딩(Positional Encoding)을 삽입한 제1 데이터를 출력하고, 상기 제1 데이터를 셀프 어텐션 레이어(Self Attention Layer)에 입력하여 제2 데이터를 출력하고, 상기 제2 데이터를 완전연결층에 입력하여 제3 데이터를 출력하고, 상기 제3 데이터를 소프트맥스(softmax) 함수를 통해 시간 별 코드 확률로 변환할 수 있다.
다양한 실시 예에 따르면, 상기 제어부는, 상기 음원 데이터를 복수의 프레임으로 나눈 후 단시간 푸리에 변환(Short time Fourier Transform, STFT)을 적용하여 변환 데이터를 출력하고, 상기 변환 데이터를 제곱하여 파워 스펙트로그램(Power Spectrogram)을 추출하고, 상기 추출한 파워 스펙트로그램을 컨볼루션 뉴럴 네트워크(Convolutional Neural Network)에 입력하여 제4 데이터를 출력하고, 상기 제4 데이터를 임시 컨볼루션 뉴럴 네트워크(Temporal Convolutional Neural Network)에 입력하여 제5 데이터를 출력하고, 상기 제5 데이터를 소프트맥스(softmax) 함수를 통해 코드 확률을 출력하고, 상기 코드 확률을 다이나믹 베이시안 네트워크(Dynamic Baysian Network)에 입력하여 시간 별 비트의 위치 데이터를 추출할 수 있다.
다양한 실시 예에 따르면, 상기 제어부는, 상기 시간 별 코드 확률 및 상기 시간 별 비트의 위치 데이터를 병합하여 상기 음원 데이터에 대한 비트별 코드 정보를 추출하고, 추출한 비트별 코드 정보 및 미리 저정한 반주 리듬 데이터에 기초하여 코드반주를 생성할 수 있다.
다양한 실시 예에 따르면, 상기 제어부는, 상기 연주 데이터를 복수의 윈도우로 나누어 로그 멜스펙트로그램(Log Mel-Spectrogram)을 추출하고, 상기 추출한 로그 멜스펙트로그램을 각각 온셋 디텍션(Onset Detection) 모델 및 프레임 디텍션(Frame Detection) 모델에 각각 입력할 수 있다.
다양한 실시 예에 따르면, 상기 제어부는, 상기 추출한 로그 멜스펙트로그램을 상기 온셋 디텍션 모델의 컨볼루션 뉴럴 네트워크, 바이 디렉셔널 LTSM 네트워크(Bi Directional LSTM Network) 및 완전연결층에 순차적으로 입력하여 복수개의 음에 대한 온셋 확률(Onset Probability)를 산출할 수 있다.
다양한 실시 예에 따르면, 상기 제어부는, 상기 추출한 로그 멜스펙트로그램을 상기 프레임 디텍션 모델의 컨볼루션 네트워크 및 완전연결층에 순차적으로 입력하여 제6 데이터를 출력하고, 상기 제6 데이터 및 상기 온셋 확률을 상기 프레임 디텍션 모델의 바이 디렉셔널 LTSM 네트워크(Bi Directional LSTM Network) 및 완전연결층에 순차적으로 입력하여 복수개의 음에 대한 프레임 확률(Frame Probability)를 출력하고, 상기 프레임 확률에 기초하여 시간 별 복수개의 음에 대한 확률을 산출하고, 상기 시간 별 복수개의 음에 대한 확률에 기초하여 상기 연주 데이터의 시간 별 음의 위치를 확인할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치에 의해 수행되는 딥러닝 기반 코드반주 학습서비스 제공 방법은, 어플리케이션을 통해 사용자 장치로부터 음원 데이터를 수신하는 단계; 상기 음원 데이터를 제1 딥러닝 알고리즘에 입력하여 코드반주로 변환하는 단계; 상기 변환한 코드반주의 연습이 가능한 코드반주 학습 인터페이스를 상기 어플리케이션을 통해 상기 사용자 장치에 제공하는 단계; 상기 어플리케이션을 통해 상기 코드반주에 대응하는 사용자의 연주 데이터를 입력 받는 단계; 상기 연주 데이터를 제2 딥러닝 알고리즘에 입력하여 사용자 연주 평가 데이터를 출력하는 단계; 및 상기 사용자 연주 평가 데이터에 기반하여 사용자에 적합한 다음 코드반주를 추천하는 단계;를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 음원 데이터를 Constant Q Transform을 통해 시간 주파수 연속(Time-Frequency Series) 데이터로 변환하는 단계; 상기 시간 주파수 연속 데이터를 완전연결층(Fully connected layer)에 입력하여 임베딩(Embedding)하면서 포지셔널 인코딩(Positional Encoding)을 삽입한 제1 데이터를 출력하는 단계; 상기 제1 데이터를 셀프 어텐션 레이어(Self Attention Layer)에 입력하여 제2 데이터를 출력하는 단계; 상기 제2 데이터를 완전연결층에 입력하여 제3 데이터를 출력하는 단계; 상기 제3 데이터를 소프트맥스(softmax) 함수를 통해 시간 별 코드 확률로 변환하 는 단계; 상기 음원 데이터를 복수의 프레임으로 나눈 후 단시간 푸리에 변환(Short time Fourier Transform, STFT)을 적용하여 변환 데이터를 출력하는 단계; 상기 변환 데이터를 제곱하여 파워 스펙트로그램(Power Spectrogram)을 추출하는 단계; 상기 추출한 파워 스펙트로그램을 컨볼루션 뉴럴 네트워크(Convolutional Neural Network)에 입력하여 제4 데이터를 출력하는 단계; 상기 제4 데이터를 임시 컨볼루션 뉴럴 네트워크(Temporal Convolutional Neural Network)에 입력하여 제5 데이터를 출력하는 단계; 상기 제5 데이터를 소프트맥스(softmax) 함수를 통해 코드 확률을 출력하는 단계; 상기 코드 확률을 다이나믹 베이시안 네트워크(Dynamic Baysian Network)에 입력하여 시간 별 비트의 위치 데이터를 추출하는 단계; 상기 시간 별 코드 확률 및 상기 시간 별 비트의 위치 데이터를 병합하여 상기 음원 데이터에 대한 비트별 코드 정보를 추출하는 단계; 추출한 비트별 코드 정보 및 미리 저정한 반주 리듬 데이터에 기초하여 코드반주를 생성하는 단계;를 포함할 수 있다.
코드반주 학습서비스 제공 프로그램은 하드웨어인 컴퓨터와 결합되어, 제8항 내지 제9항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장될 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 코드반주 학습 서비스 제공 장치
200: 사용자 장치

Claims (10)

  1. 코드반주 학습데이터, 사용자 연습기록 데이터 및 곡별 사용자 연주 데이터를 저장하는 데이터베이스; 및
    어플리케이션을 통해 사용자 장치에 코드반주 학습 서비스를 제공하는 제어부;를 포함하고,
    상기 제어부는,
    상기 어플리케이션을 통해 사용자 장치로부터 음원 데이터를 수신하고,
    상기 음원 데이터를 제1 딥러닝 알고리즘에 입력하여 코드반주로 변환하고,
    상기 변환한 코드반주의 연습이 가능한 코드반주 학습 인터페이스를 상기 어플리케이션을 통해 상기 사용자 장치에 제공하고,
    상기 어플리케이션을 통해 상기 코드반주에 대응하는 사용자의 연주 데이터를 입력 받고,
    상기 연주 데이터를 제2 딥러닝 알고리즘에 입력하여 사용자 연주 평가 데이터를 출력하고,
    상기 사용자 연주 평가 데이터에 기반하여 사용자에 적합한 다음 코드반주를 추천하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 장치.
  2. 제1 항에 있어서, 상기 제어부는,
    상기 음원 데이터를 Constant Q Transform을 통해 시간 주파수 연속(Time-Frequency Series) 데이터로 변환하고,
    상기 시간 주파수 연속 데이터를 완전연결층(Fully connected layer)에 입력하여 임베딩(Embedding)하면서 포지셔널 인코딩(Positional Encoding)을 삽입한 제1 데이터를 출력하고,
    상기 제1 데이터를 셀프 어텐션 레이어(Self Attention Layer)에 입력하여 제2 데이터를 출력하고,
    상기 제2 데이터를 완전연결층에 입력하여 제3 데이터를 출력하고,
    상기 제3 데이터를 소프트맥스(softmax) 함수를 통해 시간 별 코드 확률로 변환하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 장치.
  3. 제2 항에 있어서, 상기 제어부는,
    상기 음원 데이터를 복수의 프레임으로 나눈 후 단시간 푸리에 변환(Short time Fourier Transform, STFT)을 적용하여 변환 데이터를 출력하고,
    상기 변환 데이터를 제곱하여 파워 스펙트로그램(Power Spectrogram)을 추출하고,
    상기 추출한 파워 스펙트로그램을 컨볼루션 뉴럴 네트워크(Convolutional Neural Network)에 입력하여 제4 데이터를 출력하고,
    상기 제4 데이터를 임시 컨볼루션 뉴럴 네트워크(Temporal Convolutional Neural Network)에 입력하여 제5 데이터를 출력하고,
    상기 제5 데이터를 소프트맥스(softmax) 함수를 통해 코드 확률을 출력하고,
    상기 코드 확률을 다이나믹 베이시안 네트워크(Dynamic Baysian Network)에 입력하여 시간 별 비트의 위치 데이터를 추출하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 장치.
  4. 제3 항에 있어서, 상기 제어부는,
    상기 시간 별 코드 확률 및 상기 시간 별 비트의 위치 데이터를 병합하여 상기 음원 데이터에 대한 비트별 코드 정보를 추출하고,
    추출한 비트별 코드 정보 및 미리 저정한 반주 리듬 데이터에 기초하여 코드반주를 생성하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 장치.
  5. 제1 항에 있어서, 상기 제어부는,
    상기 연주 데이터를 복수의 윈도우로 나누어 로그 멜스펙트로그램(Log Mel-Spectrogram)을 추출하고,
    상기 추출한 로그 멜스펙트로그램을 각각 온셋 디텍션(Onset Detection) 모델 및 프레임 디텍션(Frame Detection) 모델에 각각 입력하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 장치.
  6. 제5 항에 있어서, 상기 제어부는,
    상기 추출한 로그 멜스펙트로그램을 상기 온셋 디텍션 모델의 컨볼루션 뉴럴 네트워크, 바이 디렉셔널 LTSM 네트워크(Bi Directional LSTM Network) 및 완전연결층에 순차적으로 입력하여 복수개의 음에 대한 온셋 확률(Onset Probability)를 산출하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 장치.
  7. 제6 항에 있어서, 상기 제어부는,
    상기 추출한 로그 멜스펙트로그램을 상기 프레임 디텍션 모델의 컨볼루션 네트워크 및 완전연결층에 순차적으로 입력하여 제6 데이터를 출력하고,
    상기 제6 데이터 및 상기 온셋 확률을 상기 프레임 디텍션 모델의 바이 디렉셔널 LTSM 네트워크(Bi Directional LSTM Network) 및 완전연결층에 순차적으로 입력하여 복수개의 음에 대한 프레임 확률(Frame Probability)를 출력하고,
    상기 프레임 확률에 기초하여 시간 별 복수개의 음에 대한 확률을 산출하고,
    상기 시간 별 복수개의 음에 대한 확률에 기초하여 상기 연주 데이터의 시간 별 음의 위치를 확인하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 장치.
  8. 전자 장치에 의해 수행되는 딥러닝 기반 코드반주 학습서비스 제공 방법에 있어서,
    어플리케이션을 통해 사용자 장치로부터 음원 데이터를 수신하는 단계;
    상기 음원 데이터를 제1 딥러닝 알고리즘에 입력하여 코드반주로 변환하는 단계;
    상기 변환한 코드반주의 연습이 가능한 코드반주 학습 인터페이스를 상기 어플리케이션을 통해 상기 사용자 장치에 제공하는 단계;
    상기 어플리케이션을 통해 상기 코드반주에 대응하는 사용자의 연주 데이터를 입력 받는 단계;
    상기 연주 데이터를 제2 딥러닝 알고리즘에 입력하여 사용자 연주 평가 데이터를 출력하는 단계; 및
    상기 사용자 연주 평가 데이터에 기반하여 사용자에 적합한 다음 코드반주를 추천하는 단계;를 포함하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 방법.
  9. 제8 항에 있어서,
    상기 음원 데이터를 Constant Q Transform을 통해 시간 주파수 연속(Time-Frequency Series) 데이터로 변환하는 단계;
    상기 시간 주파수 연속 데이터를 완전연결층(Fully connected layer)에 입력하여 임베딩(Embedding)하면서 포지셔널 인코딩(Positional Encoding)을 삽입한 제1 데이터를 출력하는 단계;
    상기 제1 데이터를 셀프 어텐션 레이어(Self Attention Layer)에 입력하여 제2 데이터를 출력하는 단계;
    상기 제2 데이터를 완전연결층에 입력하여 제3 데이터를 출력하는 단계;
    상기 제3 데이터를 소프트맥스(softmax) 함수를 통해 시간 별 코드 확률로 변환하는 단계;
    상기 음원 데이터를 복수의 프레임으로 나눈 후 단시간 푸리에 변환(Short time Fourier Transform, STFT)을 적용하여 변환 데이터를 출력하는 단계;
    상기 변환 데이터를 제곱하여 파워 스펙트로그램(Power Spectrogram)을 추출하는 단계;
    상기 추출한 파워 스펙트로그램을 컨볼루션 뉴럴 네트워크(Convolutional Neural Network)에 입력하여 제4 데이터를 출력하는 단계;
    상기 제4 데이터를 임시 컨볼루션 뉴럴 네트워크(Temporal Convolutional Neural Network)에 입력하여 제5 데이터를 출력하는 단계;
    상기 제5 데이터를 소프트맥스(softmax) 함수를 통해 코드 확률을 출력하는 단계;
    상기 코드 확률을 다이나믹 베이시안 네트워크(Dynamic Baysian Network)에 입력하여 시간 별 비트의 위치 데이터를 추출하는 단계;
    상기 시간 별 코드 확률 및 상기 시간 별 비트의 위치 데이터를 병합하여 상기 음원 데이터에 대한 비트별 코드 정보를 추출하는 단계;
    추출한 비트별 코드 정보 및 미리 저정한 반주 리듬 데이터에 기초하여 코드반주를 생성하는 단계;를 포함하는 것을 특징으로 하는 딥러닝 기반 코드반주 학습서비스 제공 방법.
  10. 하드웨어인 컴퓨터와 결합되어, 제8항 내지 제9항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된, 딥러닝 기반 코드반주 학습서비스 제공 프로그램.
KR1020200141115A 2020-10-28 2020-10-28 코드반주 학습서비스 제공 장치, 방법 및 프로그램 KR20220056487A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200141115A KR20220056487A (ko) 2020-10-28 2020-10-28 코드반주 학습서비스 제공 장치, 방법 및 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200141115A KR20220056487A (ko) 2020-10-28 2020-10-28 코드반주 학습서비스 제공 장치, 방법 및 프로그램

Publications (1)

Publication Number Publication Date
KR20220056487A true KR20220056487A (ko) 2022-05-06

Family

ID=81584405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141115A KR20220056487A (ko) 2020-10-28 2020-10-28 코드반주 학습서비스 제공 장치, 방법 및 프로그램

Country Status (1)

Country Link
KR (1) KR20220056487A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117151548A (zh) * 2023-10-31 2023-12-01 福建省晋江职业中专学校 以手部动作判断为基础的音乐线上学习方法及系统
KR102650841B1 (ko) * 2023-03-30 2024-03-26 주식회사 아몽아트드림 비대면 음악 교육 방법 및 이를 수행하는 비대면 음악 교육 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180044583A (ko) 2016-10-24 2018-05-03 주식회사 유라코퍼레이션 와이어 거치지그
KR20180091410A (ko) 2017-02-07 2018-08-16 김동보 기능성 숙면 베개

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180044583A (ko) 2016-10-24 2018-05-03 주식회사 유라코퍼레이션 와이어 거치지그
KR20180091410A (ko) 2017-02-07 2018-08-16 김동보 기능성 숙면 베개

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102650841B1 (ko) * 2023-03-30 2024-03-26 주식회사 아몽아트드림 비대면 음악 교육 방법 및 이를 수행하는 비대면 음악 교육 장치
CN117151548A (zh) * 2023-10-31 2023-12-01 福建省晋江职业中专学校 以手部动作判断为基础的音乐线上学习方法及系统

Similar Documents

Publication Publication Date Title
Koops et al. Annotator subjectivity in harmony annotations of popular music
Clarke Empirical methods in the study of performance
KR102107588B1 (ko) 가창 평가 방법 및 이를 수행하기 위한 컴퓨팅 장치
US9697739B1 (en) Music training system and method
KR101942814B1 (ko) 사용자 허밍 멜로디 기반 반주 제공 방법 및 이를 위한 장치
Bao et al. Neural melody composition from lyrics
CN108986843B (zh) 音频数据处理方法及装置、介质和计算设备
Cogliati et al. Transcribing Human Piano Performances into Music Notation.
KR20220056487A (ko) 코드반주 학습서비스 제공 장치, 방법 및 프로그램
KR102165844B1 (ko) 피아노 연주 학습 보조 장치
Gupta et al. A technical framework for automatic perceptual evaluation of singing quality
KR101813704B1 (ko) 사용자 음색 분석 장치 및 음색 분석 방법
Luo et al. Toward piano teaching evaluation based on neural network
US11600252B2 (en) Performance analysis method
Kim et al. Statistical approach to automatic expressive rendition of polyphonic piano music
Dubnov Unified view of prediction and repetition structure in audio signals with application to interest point detection
KR102077642B1 (ko) 시창평가 시스템 및 그것을 이용한 시창평가방법
Ortega et al. Phrase-level modeling of expression in violin performances
CN113870897A (zh) 音频数据教学测评方法及其装置、设备、介质、产品
US20210090458A1 (en) Recommend apparatus, information providing system, method, and storage medium
Dzhambazov Towards a drum transcription system aware of bar position
Dubnov Musical information dynamics as models of auditory anticipation
Liu et al. Emotion Recognition of Violin Music based on Strings Music Theory for Mascot Robot System.
KR102532811B1 (ko) 악보 제작 기능을 포함하는 음악 레슨 시스템 및 이의 동작 방법
US20230410676A1 (en) Information processing system, electronic musical instrument, information processing method, and machine learning system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application