KR20180016813A - 연주제어장치 및 그 동작 방법 - Google Patents

연주제어장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20180016813A
KR20180016813A KR1020160100623A KR20160100623A KR20180016813A KR 20180016813 A KR20180016813 A KR 20180016813A KR 1020160100623 A KR1020160100623 A KR 1020160100623A KR 20160100623 A KR20160100623 A KR 20160100623A KR 20180016813 A KR20180016813 A KR 20180016813A
Authority
KR
South Korea
Prior art keywords
text
note
score
performance
specific
Prior art date
Application number
KR1020160100623A
Other languages
English (en)
Other versions
KR102034005B1 (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 KR1020160100623A priority Critical patent/KR102034005B1/ko
Publication of KR20180016813A publication Critical patent/KR20180016813A/ko
Application granted granted Critical
Publication of KR102034005B1 publication Critical patent/KR102034005B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G3/00Recording music in notation form, e.g. recording the mechanical operation of a musical instrument
    • G10G3/04Recording music in notation form, e.g. recording the mechanical operation of a musical instrument using electrical means
    • 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
    • G09B15/001Boards or like means for providing an indication of chords
    • G09B15/002Electrically operated systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10DSTRINGED MUSICAL INSTRUMENTS; WIND MUSICAL INSTRUMENTS; ACCORDIONS OR CONCERTINAS; PERCUSSION MUSICAL INSTRUMENTS; AEOLIAN HARPS; SINGING-FLAME MUSICAL INSTRUMENTS; MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR
    • G10D3/00Details of, or accessories for, stringed musical instruments, e.g. slide-bars
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G1/00Means for the representation of music
    • G10G1/02Chord or note indicators, fixed or adjustable, for keyboard of fingerboards

Abstract

본 발명은 연주관련기호(예: 음표)를 포함하는 악보가 미리 정의된 텍스트 형태로 변환되도록 함으로써, 악기만 소지하고 있다면 별도의 악보 없이도 다양한 기능(되감기, 빨리감기, 연주위치이동)을 지연 없이 이용하여 악기 연주(연습)를 수행할 수 있도록 하는 동시에 사용자의 선택에 따라 연주시점 및 연주속도가 자유롭게 변경되도록 하여 다양한 버전으로 악기 연주(연습)가 가능하도록 하는 연주제어장치 및 그 동작 방법을 제안한다.

Description

연주제어장치 및 그 동작 방법{APPARATUS FOR CONTROLLING PERFORMANCE AND CONTROL METHOD THEREOF}
본 발명은 현악기(예: 기타) 연주를 제어하기 위한 기술에 관한 것으로, 더욱 상세하게는, 연주관련기호(예: 음표)를 포함하는 악보가 미리 정의된 텍스트 형태로 변환되도록 함으로써 사용자가 연주시점 및 연주속도를 자유롭게 선택하여 연주(연습)할 수 있도록 하기 위한 방안에 관한 것이다.
최근 여가활동에 대한 관심 증가와 매체를 통해 방송되는 오디션 프로그램 열풍 등에 따라 악기에 대한 사람들의 관심이 높아지면서 기타(guitar)와 같은 현악기에 대한 수요도 증가하는 추세에 있다.
그러나, 현악기를 연주하기 위해서는 악보와 악기를 번갈아 보면서 코드를 습득하고 그 코드에 해당하는 적합한 운지법에 따라 연주해야 하기 때문에 초보자들이 혼자 독학으로 연주(연습)하기에 어려움이 따른다.
이러한 문제점을 해소하기 위해 악보를 아스키코드 등으로 변환하여 관련 LED의 발광을 제어하여 독학으로 연주할 수 있도록 하는 기술이 제안되기도 하였다.
그러나, 이러한 종래 현악기 연주 제어 기술의 경우, 바이너리 형태로 표시된 음원을 디지털값으로 변환하여 해당 LED의 온/오프를 제어하는 방식으로 운영되므로 처리성능이 낮은 임베디드 장치에서는 오히려 지연이 발생하여 정확한 타이밍을 제공할 수 없거나 또는 처리 자체가 불가능한 한계점이 있다.
이에, 종래 방식으로는 정확하게 연주(연습)를 수행할 수 없을 뿐만 아니라, 사용자가 원하는 연주시점으로 이동하여 해당 시점부터 연주를 하거나 반복, 되감기, 빨리감기 등의 기능을 원활하게 제공할 수 없는 문제가 발생하게 된다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 연주관련기호(예: 음표)를 포함하는 악보가 미리 정의된 텍스트 형태로 변환되도록 함으로써, 악기만 소지하고 있다면 별도의 악보 없이도 다양한 기능(되감기, 빨리감기, 연주위치이동)을 지연 없이 이용하여 악기 연주(연습)를 수행할 수 있도록 하는 동시에 사용자의 선택에 따라 연주시점 및 연주속도가 자유롭게 변경되도록 하여 다양한 버전으로 악기 연주(연습)가 가능하도록 하는데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 연주제어장치는 사용자 단말에 의해 선택된 적어도 하나의 연주관련기호를 포함하는 기본 악보를 확인하는 확인부; 상기 적어도 하나의 연주관련기호에 대응하여 해당 LED가 제어될 수 있도록 적어도 하나의 구분자를 기반으로 상기 적어도 하나의 연주관련기호를 텍스트 형태로 변환하여 텍스트 악보를 생성하는 변환관리부; 및 상기 텍스트 악보에 기초하여 상기 LED의 점등을 제어하는 실행관리부를 포함하는 것을 특징으로 한다.
상기 확인부는, 상기 사용자 단말에 의해 상기 기본 악보가 선택되는 경우, 기 저장된 적어도 하나의 악보 중 상기 기본 악보를 검출하여 상기 기본 악보에 대응하는 텍스트 악보의 존재 여부를 확인하는 것을 특징으로 한다.
상기 연주관련기호는 곡 전체의 속도와 관련되는 템포(Tempo) 및 서로 다른 박자로 연주되어야 하는 적어도 하나의 음표, 음을 내지 않는 쉼표 중 적어도 하나를 포함하며, 상기 구분자는 각 음표의 시작을 표시하기 위해 각 음표 별로 할당되는 제1 구분자 및 상기 제1 구분자가 할당된 해당 음표에 의해 동시에 연주되어야 하는 적어도 하나의 음을 구분하기 위한 제2 구분자를 포함하는 것을 특징으로 한다.
상기 변환관리부는, 상기 템포에 기초하여 각 음표에 대응하는 박자를 연주하기 위한 연주기간(duration)을 제1 세부텍스트로 결정하는 기간텍스트결정부; 각 음표에 의해 제어되어야 하는 해당 LED의 위치정보를 제2 세부텍스트로 결정하는 위치텍스트결정부; 및 상기 제1 세부텍스트 및 상기 제2 세부텍스트를 기반으로 각 음표를 텍스트 스트림 형태로 변환하여 상기 텍스트 악보를 생성하는 악보생성부를 포함하는 것을 특징으로 한다.
상기 실행관리부는, 상기 제1 구분자가 확인되면, 상기 제1 구분자가 할당된 해당 음표의 해당 제1 세부텍스트 및 해당 제2 세부텍스트에 따라 해당 LED의 점등이 제어되도록 제어신호를 전달하는 신호관리부를 포함하는 것을 특징으로 한다.
상기 실행관리부는, 상기 곡 전체의 전체연주시간 중 특정연주시간으로의 이동이 요청되는 경우, 상기 텍스트 악보 상에 포함되는 제1 구분자 별로 관련되는 제1 세부텍스트를 더하여 연주시간누적값을 생성하고, 상기 연주시간누적값과 상기 특정연주시간을 비교한 결과에 기초하여 상기 특정연주시간에 대응하는 특정이동지점을 결정하는 누적이동관리부를 더 포함하는 것을 특징으로 한다.
상기 실행관리부는, 상기 곡 전체의 전체연주시간 중 특정연주시간으로의 이동이 요청되는 경우, 상기 텍스트 악보에 할당되는 전체 인덱스 중 상기 전체연주시간과 상기 특정연주시간을 기반으로 특정인덱스를 검출하고, 상기 특정인덱스와 관련되는 특정 제1 구분자가 할당된 해당 음표를 상기 특정연주시간에 대응하는 특정이동지점으로 결정하는 추정이동관리부를 더 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명에 따른 연주제어장치의 동작방법 은 사용자 단말에 의해 선택된 적어도 하나의 연주관련기호를 포함하는 기본 악보를 확인하는 확인단계; 상기 적어도 하나의 연주관련기호에 대응하여 해당 LED가 제어될 수 있도록 적어도 하나의 구분자를 기반으로 상기 적어도 하나의 연주관련기호를 텍스트 형태로 변환하여 텍스트 악보를 생성하는 변환관리단계; 및 상기 텍스트 악보에 기초하여 상기 LED의 점등을 제어하는 실행관리단계를 포함하는 것을 특징으로 한다.
상기 확인단계는, 상기 사용자 단말에 의해 상기 기본 악보가 선택되는 경우, 기 저장된 적어도 하나의 악보 중 상기 기본 악보를 검출하여 상기 기본 악보에 대응하는 텍스트 악보의 존재 여부를 확인하는 것을 특징으로 한다.
상기 연주관련기호는 곡 전체의 속도와 관련되는 템포(Tempo) 및 서로 다른 박자로 연주되어야 하는 적어도 하나의 음표, 음을 내지 않는 쉼표 중 적어도 하나를 포함하며, 상기 구분자는 각 음표의 시작을 표시하기 위해 각 음표 별로 할당되는 제1 구분자 및 상기 제1 구분자가 할당된 해당 음표에 의해 동시에 연주되어야 하는 적어도 하나의 음을 구분하기 위한 제2 구분자를 포함하는 것을 특징으로 한다.
상기 변환관리단계는, 상기 템포에 기초하여 각 음표에 대응하는 박자를 연주하기 위한 연주기간(duration)을 제1 세부텍스트로 결정하는 기간텍스트결정단계; 각 음표에 의해 제어되어야 하는 해당 LED의 위치정보를 제2 세부텍스트로 결정하는 위치텍스트결정단계; 및 상기 제1 세부텍스트 및 상기 제2 세부텍스트를 기반으로 각 음표를 텍스트 스트림 형태로 변환하여 상기 텍스트 악보를 생성하는 악보생성단계를 포함하는 것을 특징으로 한다.
상기 실행관리단계는, 상기 제1 구분자가 확인되면, 상기 제1 구분자가 할당된 해당 음표의 해당 제1 세부텍스트 및 해당 제2 세부텍스트에 따라 해당 LED의 점등이 제어되도록 제어신호를 전달하는 신호관리단계를 포함하는 것을 특징으로 한다.
상기 실행관리단계는, 상기 곡 전체의 전체연주시간 중 특정연주시간으로의 이동이 요청되는 경우, 상기 텍스트 악보 상에 포함되는 제1 구분자 별 관련되는 제1 세부텍스트를 더하여 연주시간누적값을 생성하고, 상기 연주시간누적값과 상기 특정연주시간을 비교한 결과에 기초하여 상기 특정연주시간에 대응하는 특정이동지점을 결정하는 누적이동관리단계를 더 포함하는 것을 특징으로 한다.
상기 실행관리단계는, 상기 곡 전체의 전체연주시간 중 특정연주시간으로의 이동이 요청되는 경우, 상기 텍스트 악보에 할당되는 전체 인덱스 중 상기 전체연주시간과 상기 특정연주시간을 기반으로 특정인덱스를 검출하고, 상기 특정인덱스와 관련되는 특정 제1 구분자가 할당된 해당 음표를 상기 특정연주시간에 대응하는 특정이동지점으로 결정하는 추정이동관리단계를 더 포함하는 것을 특징으로 한다.
이에, 본 발명의 연주제어장치 및 그 동작 방법에 의하면, 연주관련기호(예: 음표)를 포함하는 악보가 미리 정의된 텍스트 형태로 변환되도록 함으로써, 악기만 소지하고 있다면 별도의 악보 없이도 다양한 기능(되감기, 빨리감기, 연주위치이동)을 지연 없이 이용하여 악기 연주(연습)를 수행할 수 있도록 하는 동시에 사용자의 선택에 따라 연주시점 및 연주속도가 자유롭게 변경되도록 하여 다양한 버전으로 악기 연주(연습)가 가능하도록 하는 효과가 성취된다.
도 1은 본 발명의 일 실시예에 따른 연주제어장치가 적용될 통신 환경을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 악기의 라인과 플랫을 매트릭스 형식으로 표현한 일례를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 연주제어장치의 개략적인 구성도를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 기본 악보를 텍스트 형태로 변환한 텍스트 악보의 일례를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 연주제어장치에서 수행되는 연주 제어 동작 흐름을 나타내는 도면이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다.
먼저, 도 1을 참조하여 본 발명의 연주제어장치가 적용될 통신 환경을 설명하도록 하겠다.
도 1에 도시된 바와 같이, 본 발명이 적용될 통신 환경은, 사용자 단말(100), 컨텐츠 서버(200) 및 악기 단말(300)을 포함하는 구성을 가질 수 있다.
사용자 단말(100)은, 컨텐츠 서버(200) 및 악기 단말(300)과 연동하여 동작하며, 컨텐츠 서버(200)에 기 저장된 악보 중 사용자에 의해 선택되는 악보가 악기 단말(300)로 전송되도록 중계하는 기능을 수행하기 위한 장치이다.
이러한 사용자 단말(100)은, 상대방과의 통화를 시도(발신)하거나 또는 상대방으로부터 시도되는 통화를 수신(착신)하는 등 기본적인 통화 서비스를 이용할 수 있는 디바이스로서, 유선 단말일 수도 있고 무선 단말일 수도 있다.
물론, 사용자 단말(100)은, 기본적인 통화 서비스 외에도, 메시지(예: SMS, MMS 등)를 발/착신하는 등의 메시지 서비스와, 데이터 다운로드 및 정보 검색 등의 데이터 서비스를 이용할 수도 있다.
예를 들어, 위 사용자 단말(100)로는 예컨대, 스마트 폰, 태블릿 PC, 및 PDA 등이 해당될 수 있으며, 이에 제한되는 것이 아닌 컨텐츠 서버(200) 및 악기 단말(300)과 연동하여 중계역할을 수행할 수 있는 장치는 모두 포함될 수 있다.
한편, 사용자 단말(100)이 컨텐츠 서버(200) 및 악기 단말(300)과 연동하게 하는 매체로는 예컨대, 사용자 단말(100) 자체에서 실행되는 애플리케이션 또는 사용자 단말(100)에서 브라우저를 호출하여 접속할 수 있는 온라인 서비스페이지가 해당될 수 있는 데, 본 발명의 일 실시예에서는 사용자 단말(100)에서 상기 연동이 가능하게 하는 매체가 애플리케이션임을 전제 하기로 한다.
즉, 사용자 단말(100)은, 애플리케이션이 실행되면, 애플리케이션을 통해 컨텐츠 서버(200)로 접속하여 기 저장된 악보 리스트를 확인하는 동시에 근거리 무선 통신을 통해 악기 단말(300)과 연동하게 되며, 사용자에 의해 기 저장된 악보 리스트 전체 또는 일부가 선택되게 되면, 선택된 악보를 악기 단말(300)로 전송할 것을 컨텐츠 서버(200)로 요청하게 된다. 이에, 악기 단말(300)은, 사용자에 의해 선택된 악보를 컨텐츠 서버(200)로부터 다운로드 받을 수 있게 되는 것이다.
컨텐츠 서버(200)는, 악기를 연주하기 위한 적어도 하나의 악보를 미리 저장하고, 사용자 단말(100)의 요청에 따라 선택된 악보를 악기 단말(300)로 전송한다.
본 발명의 실시예에서는 사용자 단말(100)의 요청에 따라 악기 단말(300)로 악보를 전송하는 것으로 언급하였으나, 이에 한정되지 않으며, 사용자 단말(100)의 중계 없이 악기 단말(300)이 컨텐츠 서버(200)로 직접 요청하는 방식으로 악보 전송이 수행될 수 있음은 물론이다.
악기 단말(300)은, 악기(G)에 탑재되어 컨텐츠 서버(200)로부터 다운로드된 악보를 저장하며, 다운로드된 악보에 기초하여 악기(G)에 포함되는 적어도 하나의 LED의 점등을 제어한다.
본 발명의 일 실시예에 따른 악기(G)는, 연주관련기호(예: 음표)를 포함하는 악보에 의해 연주 가능한 모든 악기를 포함하는 것일 수 있으나, 이하에서는 설명의 편의를 위해 기타 등과 같은 현악기인 것으로 가정하여 설명하도록 하겠다.
이러한, 악기(G)는, 넥(310)과 바디(320)로 구성되며, 넥(310)에는 라인그룹(311), 플랫그룹(312) 및 헤드(313)가 포함된다. 이하에서는 설명의 편의를 위해 도 2와 같이 라인그룹(311)은 6개의 라인(L1-L6)으로 구성되며, 플랫그룹(312)은 7개의 플랫(F1-F7)으로 구성되는 것으로 언급하여 설명하도록 하겠다.
이처럼, 손으로 운지되어야 하는 부분이 라인(L1-L6)과 플랫(F1-F7)에 의해 형성되는 매트릭스 형식으로 표현되게 되므로, 라인(L1-L6)과 플랫(F1-F7)이 각각 교차하는 위치에 배치되는 LED의 위치정보를 라인(L1-L6)과 플랫(F1-F7)을 이용하여 표현할 수 있게 된다.
이에, 본 발명에서는 라인(L1-L6)과 플랫(F1-F7)을 기반으로 좌표형식으로 표현되는 LED의 위치정보를 기반으로 연주관련기호(예: 음표)를 포함하는 기본 악보를 텍스트 형태로 변환할 수 있게 되는데, 보다 구체적인 방법은 후술하도록 하겠다.
한편, 본 발명에서 제안하는 연주관련기호(예: 음표)를 포함하는 악보를 미리 정의된 텍스트 형태로 변환하여 텍스트 악보를 생성하는 기능은 컨텐츠 서버(200)에서 모두 수행되고 악기 단말(300)은 단순히 제어신호를 수신하여 해당 LED를 제어하는 형태일 수 있고, 이 경우 후술할 본 발명의 연주제어장치(도 3의 400)는 컨텐츠 서버(200)와 동일한 디바이스일 것이다.
이와 달리, 상기 텍스트 악보를 생성하는 기능이 악기 단말(300)에서 모두 수행되는 형태일 수도 있고, 이 경우 후술할 본 발명의 연주제어장치(도 3의 400)는 악기 단말(300)과 동일한 디바이스일 것이다.
물론, 본 발명의 상기 텍스트 악보를 생성하는 기능이, 서비스 기능이 컨텐츠 서버(200) 및 악기 단말(300)에 분할되어 컨텐츠 서버(200) 및 악기 단말(300)에서 연동 수행되는 형태일 수도 있고, 이 경우 후술할 본 발명의 연주제어장치(도 3의 400) 내 각 기능부는 컨텐츠 서버(200) 및 악기 단말(300)에 분산 구성될 것이다.
이하에서는, 도 3을 참조하여 본 발명의 일 실시예에 따른 연주제어장치의 구성을 구체적으로 설명하겠다.
도 3에 도시된 바와 같이, 본 발명에 따른 연주제어장치(400)는, 사용자 단말(100)에 의해 선택된 적어도 하나의 연주관련기호를 포함하는 기본 악보를 수신하는 확인부(410), 적어도 하나의 연주관련기호에 대응하여 해당 LED가 제어될 수 있도록 적어도 하나의 구분자를 기반으로 적어도 하나의 연주관련기호를 텍스트 형태로 변환하여 텍스트 악보를 생성하는 변환관리부(420) 및 텍스트 악보에 기초하여 해당 LED의 점등을 제어하는 실행관리부(430)를 포함하는 구성을 가질 수 있다.
또한, 본 발명에 따른 연주제어장치(400)는, 악보를 텍스트 스트림 형태로 변환되도록 하는 것과 관련되는 모든 정보(예: 연주관련기호, 구분자, LED 위치정보, 텍스트 스트림 형식 등)를 저장하는 저장부(440)를 더 포함하는 구성을 가질 수 있다.
이상의 확인부(410), 변환관리부(420), 실행관리부(430) 및 저장부(440)를 포함하는 연주제어장치(400)의 구성 전체 내지는 적어도 일부는, 프로세서에 의해 실행되는 소프트웨어 모듈 형태 또는 하드웨어 모듈 형태로 구현되거나, 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로도 구현될 수 있다.
결국, 본 발명의 일 실시예에 따른 연주제어장치(400)는 연주관련기호(예: 음표)를 포함하는 악보가 미리 정의된 텍스트 형태로 변환되도록 함으로써 사용자가 연주시점 및 연주속도를 자유롭게 선택하여 연주(연습)할 수 있도록 하게 되는 데, 이하에서는 이를 위한 연주제어장치(400) 내 각 구성에 대해 구체적으로 설명하기로 한다.
이하의 설명에서는, 설명의 편의를 위해 본 발명의 연주제어장치(400) 내 각 기능부가 컨텐츠 서버(200) 및 악기 단말(300)에 분산되는 형태로 구현되게 되며, 이에 컨텐츠 서버(200)는 기본 악보를 텍스트 악보로 변환하여 악기 단말(300)로 전송하는 기능을 수행하며, 악기 단말(300)은 텍스트 악보를 기반으로 해당 LED 제어, 특정연주시점으로의 이동(빨리감기, 뒤로감기, 점프 등) 기능을 수행하게 되는 것으로 언급하여 설명하도록 하겠다.
확인부(410)는, 사용자 단말(100)에 의해 선택된 기본 악보를 확인하는 기능을 수행한다.
보다 구체적으로, 확인부(410)는, 사용자 단말(100)로부터 기본 악보가 선택되는 경우, 기 저장된 적어도 하나의 악보 중 기본 악보를 검출하고, 기본 악보에 대응하는 텍스트 악보가 존재하는 지의 여부를 확인한다.
여기서, 기본 악보는, 적어도 하나의 연주관련기호를 포함하는 일반적인 악보(예: 오선악보)일 수 있다. 연주관련기호는, 곡 전체의 속도와 관련되는 템포(Tempo) 및 서로 다른 박자로 연주되어야 하는 적어도 하나의 음표, 음을 내지 않는 쉼표 등과 같이 연주를 위해 악보 상에 표시되는 모든 기호를 포함한다.
즉, 확인부(410)는, 사용자가 선택한 기본 악보에 대응하는 텍스트 악보가 미리 변환되어 저장된 경우에는 해당 텍스트 악보가 악기 단말(300)로 전달되도록 제어하게 된다.
한편, 확인부(410)는, 사용자가 선택한 기본 악보에 대응하는 텍스트 악보가 미리 변환되어 저장되지 않은 경우에는 기본 악보가 텍스트 형태로 변환될 수 있도록 변환관리부(420)로 기본 악보에 대한 변환을 요청한다.
변환관리부(420)는, 기본 악보를 텍스트 형태로 변환하여 텍스트 악보를 생성하는 기능을 수행한다.
보다 구체적으로, 변환관리부(420)는, 확인부(410)로부터 기본 악보에 대한 텍스트 변환이 요청되는 경우, 적어도 하나의 구분자를 기반으로 기본 악보 내 연주관련기호를 텍스트 형태로 변환하여 텍스트 악보를 생성한다.
여기서, 구분자는, 각 음표의 시작을 표시하기 위해 각 음표 별로 할당되는 제1 구분자 및 제1 구분자가 할당된 해당 음표에 의해 동시에 연주되어야 하는 적어도 하나의 음을 구분하기 위한 제2 구분자를 포함한다.
이러한, 제1 구분자는 운영자의 설정에 따라 다양한 기호(예: !, @ 등)로 결정될 수 있으며, 이하에서는 '@'가 제1 구분자인 것으로 언급하여 설명하도록 하겠다. 제2 구분자 역시 운영자의 설정에 따라 다양한 기호(예: !, - 등)로 결정될 수 있으며, 이하에서는 '-'가 제2 구분자인 것으로 언급하여 설명하도록 하겠다.
이러한 변환관리부(420)는, 기간텍스트결정부(421), 위치텍스트결정부(422) 및 악보생성부(423)를 포함하는 구성을 가질 수 있다.
기간텍스트결정부(421)는, 템포(빠르기)에 기초하여 각 음표에 대응하는 박자를 연주하기 위한 연주기간(Duration)을 제1 세부텍스트로 결정한다.
보다 구체적으로, 기간텍스트결정부(421)는, 기본 악보 상에 표시된 템포(빠르기)를 기반으로 전체 곡의 속도에 대한 bpm(beats per minute)을 확인한다.
예를 들어, 템포(빠르기)가 TEMP=80으로 표시된 경우, 기간텍스트결정부(421)는, TEMP=80이 4분음표(♩) 한 박자를 1분에 80번 연주하는 빠르기의 곡을 나타내는 것이므로 전체 곡의 속도를 80bpm으로 확인한다. 이하에서는 설명의 편의를 위해 템포(빠르기)가 80bpm인 것으로 언급하여 설명하도록 하겠다.
이후, 기간텍스트결정부(421)는, 각 음표에 대한 연주기간(Duration)을 밀리세크(millisecond) 단위로 산출한 결과를 기반으로 제1 세부텍스트를 결정하게 된다.
즉, 기간텍스트결정부(421)는, 템포(빠르기)가 80bpm일 때, 1분(60,000ms) 동안에 4분음표 한 박자가 연주되어야 하는 시간을 산출(60,000ms/80bpm=750ms)하여 Dq(duration for a quarter note)로 결정한다. 이어서, 기간텍스트결정부(421)는, 4분음표의 연주기간(Dq)에 대한 제1 세부텍스트를 Q로 결정한다.
이후, 기간텍스트결정부(421)는, 4분음표에 대한 연주기간(Dq=750ms)을 기준으로 나머지 각 음표(온음, 2분음표, 8분으표, 16분음표, 32분음표 등)에 대한 연주기간을 산출하고, 각 음표(온음, 2분음표, 8분으표, 16분음표, 32분음표 등)의 연주기간 각각에 대한 제1 세부텍스트를 (W, H, E, S, q, e)로 결정한다.
■ 온음표(W) = 4 * Dq = 3000ms
■ 2분음표(H) = 2 * Dq = 1500ms
■ 4분음표(Q) = 1 * Dq = 750ms
■ 8분음표(E) = Dq/2 = 375ms
■ 16분음표(S) = Dq/4 = 187.5ms
■ 4분음표 셋잇단음표(q) = Dq/3 = 250ms
■ 8분음표 셋잇단음표(e) = Dq/6 = 125ms
본 발명의 일 실시예에서는 전술과 같이 템포(빠르기)에 따라 4분음표에 대한 연주기간이 기준으로 결정된 후 나머지 각 음표(온음, 2분음표, 8분으표, 16분음표, 32분음표 등)에 대한 연주기간이 결정되게 되므로, 텍스트 악보로가 악기 단말(300)로 다운로드 된 이후 사용자에 의해 악기 단말(300)에 포함되는 특정속도제어버튼(도시하지 않음)이 조작되어 템포(빠르기)가 변경되더라도 4분음표의 연주기간(Dq)만 변경되면 나머지 음표(온음, 2분음표, 8분으표, 16분음표, 32분음표 등)에 대한 연주기간이 자동으로 조절되므로 사용자의 선택에 따라 자유롭게 연주 속도를 변경할 수 있는 효과가 도출된다.
위치텍스트결정부(422)는, 각 음표에 의해 제어되어야 하는 해당 LED의 위치정보를 제2 세부텍스트로 결정한다.
보다 구체적으로, 위치텍스트결정부(422), 전술한 도 2에서 언급한 바와 같이 손으로 운지되어야 하는 부분이 라인(L1-L6)과 플랫(F1-F7)에 의해 형성되는 매트릭스 형식으로 표현되게 되므로, 각 음표와 관련되는 해당 LED를 위치정보를 매트릭스 상에서의 라인과 플랫의 좌표인 (라인번호, 플랫번호)로 결정하게 된다.
예를 들어, 임의의 음표에 의해 제어되어야 하는 LED 1이 라인(L1)과 플랫(F1)이 교차하는 위치에 배치되는 경우일 때, 위치텍스트결정부(422)는, 매트릭스 상에서의 라인(L1)과 플랫(F1)의 좌표인 (1, 1)을 LED 1의 위치정보로 결정한다.
이후, 위치텍스트결정부(422)는, 좌표형식으로 표현된 LED의 위치정보인 (라인번호, 플랫번호)를 제2 세부텍스트로 결정한다.
악보생성부(423)는, 미리 정의된 텍스트 스트림 형식을 확인하여 텍스트 악보를 생성한다.
보다 구체적으로, 악보생성부(423)는, 기본 악보에 포함되는 연주관련기호를 텍스트로 변환하기 위해 운영자에 의해 미리 정의된 텍스트 스트림 형식을 확인한다.
여기서, 텍스트 스트림 형식이라 함은, 기본 악보를 텍스트로 표시하기 위해 운영자에 의해 미리 정의되는 텍스트 나열순서, 나열규칙 등에 관한 것일 수 있으며, 시스템/장치의 운영상황이나 기 운영결과를 기반으로 다양한 형식으로 변환될 수 있음은 물론이다.
이하에서는 설명의 편의를 위해 텍스트 스트림 형식에는 템포가 가장 먼저 표시되며, 이후 각 음표의 시작을 제1 구분자(@)로 구분한 후 해당 음표의 특성에 따라 연주기간(Duration)인 제1 세부텍스트(W, H, Q, E, S, q, e), LED 위치정보인 제2 세부텍스트(라인번호, 플랫번호), 해당 음표에 의해 동시에 연주되어야 하는 적어도 하나의 음을 구분하기 위한 제2 구분자(-)를 이용하여 아래와 같이 표현되는 것으로 언급하여 설명하도록 하겠다.
■ Tempo@DurationLine,Fret-Line,Fret-Line,Fret@DurationLine,Fret...
이처럼 텍스트 스트림 형식이 확인되면, 악보생성부(423)는, 기본 악보에 포함되는 연주관련기호를 적어도 하나의 구분자, 제1 세부텍스트(W, H, Q, E, S, q, e), 제2 세부텍스트(라인번호, 플랫번호)를 이용하여 텍스트 스트림 형식에 따라 변환하여 텍스트 악보를 생성하게 된다.
예를 들어, 기본 악보에 포함되는 연주관련기호가 80bpm의 템포(빠르기), 4분음표, 8분음표일 때 텍스트 악보(80@Q1,5@E4,8-2,4)의 생성을 살펴보면, 악보생성부(423)는, 텍스트 스트림 형식에 따라 템포(빠르기)인 80을 가정 먼저 표시하고, 4분음표의 시작을 제1 구분자(@)로 구분한 후 4분음표에 대한 제1 세부텍스트인 Q를 표시하고 4분음표에 의해 제어되어야 하는 해당 LED의 위치정보인 제2 세부텍스트(1,5)를 표시하여 4분음표까지의 텍스트 변환을 수행한다.
이어서, 악보생성부(423)는, 다음 순서의 음표인 8분음표의 시작을 제1 구분자(@)로 구분한 후 8분음표에 대한 제1 세부텍스트인 E를 표시하고 8분음표에 의해 제어되어야 하는 해당 LED의 위치정보인 제2 세부텍스트(4,8)와 동시에 연주되어야 하는 다른 음의 해당 LED의 위치정보인 제2 세부텍스트(2,4)를 표시하여 텍스트 악보(80@Q1,5@E4,8-2,4)의 생성을 완료하게 된다.
실행관리부(430)는, 텍스트 악보에 기초하여 모든 실행을 제어하는 기능을 수행한다.
보다 구체적으로, 실행관리부(430)는, 변환관리부(420)에 의해 텍스트 악보의 생성이 완료되면, 텍스트 악보에 포함되는 제1 구분자(@), 제2 구분자(-), 제1 세부텍스트(W, H, Q, E, S, q, e), 제2 세부텍스트(라인번호, 플랫번호)의 표시 순서를 확인하여 해당 LED 제어, 특정연주시점으로의 이동(빨리감기, 뒤로감기, 점프 등) 기능을 수행한다.
이러한 실행관리부(430)는, 신호관리부(431), 누적이동관리부(432) 및 추정이동관리부(433)를 포함하는 구성을 가질 수 있다.
신호관리부(431)는, 텍스트 악보 상에서 가장 먼저 표시되는 템포(빠르기) 이후에 음표의 시작을 시작을 구분하기 위한 제1 구분자(@)가 확인되면, 제1 구분자(@)가 할당된 해당 음표의 해당 제1 세부텍스트 및 해당 제2 세부텍스트에 따라 해당 LED의 점등이 제어되도록 제어신호를 전달한다.
이와 관련하여, 전술에서 언급한 템포(빠르기)가 80bpm, 4분음표, 8분음표를 포함하는 기본 악보에 대한 텍스트 악보(80@Q1,5@E4,8-2,4)를 예를 들어 설명하면, 템포(빠르기)를 나타내는 80이 표시된 이후 제1 구분자(@)가 확인되면, 신호관리부(431)는 제1 구분자(@)가 할당된 4분음표의 해당 제1 세부텍스트(Q)와 해당 제2 세부텍스트(1,5)를 이용하여 LED의 점등이 제어하게 된다.
즉, 신호관리부(431)는, 4분음표의 시작을 나타내는 제1 구분자(@)가 표시된 이후 다음 8분음표의 시작을 나타내는 제1 구분자(@)가 표시되기 직전까지의 사이에 표시되는 제1 세부텍스트(Q)와 제2 세부텍스트(1,5)를 4분음표의 제1 구분자(@)와 관련되는 텍스트로 확인하고, 이를 이용하여 제1 세부텍스트(Q)에 대응하는 연주기간(750ms) 동안 제2 세부텍스트(1,5)에 대응하는 해당 LED가 점등되도록 제어하기 위한 제어신호를 생성하여 전달하게 된다.
누적이동관리부(432)는, 누적이동방식을 기반으로 사용자가 이동하길 원하는 특정연주시점에 대응하는 특정이동지점을 확인하여 이동하도록 제어하는 기능을 수행한다.
보다 구체적으로, 누적이동관리부(432)는, 곡 전체의 전체연주시간 중 특정연주시점으로의 이동이 요청되는 경우, 텍스트 악보 상에 포함되는 제1 구분자(@) 별로 관련되는 연주기간(Duration)을 누적하여 연주시간누적값을 생성한다.
즉, 누적이동관리부(432)는, 텍스트 악보 상에 포함되는 제1 구분자(@) 별로 관련되는 제1 세부텍스트(W, H, Q, E, S, q, e)를 이용하여 각 연주기간을 확인하고, 각 연주기간을 더하여 연주시간누적값을 생성한다.
이후, 누적이동관리부(432)는, 연주시간누적값과 특정연주시점을 비교한 결과에 기초하여 사용자가 이동하려는 특정연주시점에 대응하는 특정연주지점을 결정하게 된다.
이와 관련하여, 도 4의 (A)에서는 한 마디(1 bar)의 연주 시간이 3초이고, 100마디로 구성되는 곡 전체의 전체연주시간(3초*100마디=300초)이 5분인 기본 악보의 일례를 보여주고 있으며, 도 4의 (B)에는 (A)의 기본 악보를 텍스트 형태로 변환한 텍스트 악보의 일례를 보여주고 있다.
도 4의 (A)에 도시된 바와 같이, 기본 악보에는 모든 마디의 음표들이 동일하게 반복되며, 사용자가 이동하려는 특정연주시점이 280초 지점인 경우, 누적이동관리부(432)는, 도 4의 (B)에 도시된 텍스트 악보 상에 포함되는 제1 구분자(@) 별로 관련되는 제1 세부텍스트를 확인하고, 제1 세부텍스트에 대응하는 연주기간을 더하여 연주시간누적값을 생성한다.
보다 구체적으로, 누적이동관리부(432)는, 먼저 텍스트 악보 상의 첫번째 마디(1 bar)에 포함되는 7개의 제1 구분자(@) 별로 관련되는 제1 세부텍스트(Q, S, E, Q, S, E, E)를 확인하고, 제1 세부텍스트(Q, S, E, Q, S, E, E)에 대응하는 연주기간(750ms, 187.5ms, 375ms, 750ms, 187.5ms, 375ms, 375ms)을 더하여 연주시간누적값(3sec)을 산출한다.
동일한 방식으로, 94번째 마디(94 bar)의 두 번째 제1 구분자(@)까지의 관련되는 제1 세부텍스트를 누적하면서 더하게 되면, 누적이동관리부(432)는, 연주시간누적값으로 279.9375초를 산출하게 된다.
전술에 따라 연주시간누적값이 산출되면, 누적이동관리부(432)는, 연주시간누적값과 특정연주시점(280초)을 비교하여 특정연주시점(280초)을 초과하지 않는 연주시간누적값을 이용하여 특정연주시점(280초)에 대응하는 특정이동지점을 결정하게 된다.
즉, 94번째 마디(94 bar)의 두 번째 제1 구분자(@)까지 누적된 연주시간누적값이 279.9375초일 때, 이어지는 세 번째 제1 구분자(@)와 관련된 제1 세부텍스트(E)에 대응하는 연주기간(375ms)를 누적하게 되면 연주시간누적값이 280.3125초가 되어 특정연주시점(280초)을 초과하게 되므로, 누적이동관리부(432)는, 94번째 마디(94 bar)의 세 번째 제1 구분자(@)와 관련되는 연주기간(375ms)을 모두 더하는 것이 아니라 연주기간(375ms) 중 특정연주시점(280초)에 도달하게 되는 연주기간(63ms)까지만 연주되도록 하여 해당 지점을 특정이동지점으로 결정하게 된다.
전술한 누적이동방식의 경우, 텍스트 악보 상의 마디 별로 연주시간을 누적하여 연주시간누적값을 생성해야 하므로 94번째 마디(94 bar)의 두 번째 제1 구분자(@)까지 누적을 수행하게 되면 검색 및 연산 횟수의 총합이 653회(93*7+2)가 되는 것을 확인할 수 있다. 이에, 누적이동방식의 경우 후술할 추정이동방식에 비해 보다 정밀하게 특정이동지점으로 결정할 수는 있지만 그만큼 다수의 검색 및 연산이 이루어져야 하므로 보다 처리 성능이 우수한 임베디스 시스템에 적용하는 것이 바람직할 것이다.
추정이동관리부(433)는, 추정이동방식을 기반으로 사용자가 이동하길 원하는 특정연주시점에 대응하는 특정이동지점을 확인하여 이동하도록 제어하는 기능을 수행한다.
보다 구체적으로, 추정이동관리부(433)는, 곡 전체의 전체연주시간 중 특정연주시점으로의 이동이 요청되는 경우, 텍스트 악보에 할당되는 전체 인덱스 중 전체연주시간과 특정연주시점을 기반으로 특정인덱스를 검출하고, 특정인덱스와 관련되는 특정 제1 구분자가 할당된 해당 음표를 특정연주시점에 대응하는 특정이동지점으로 결정한다.
이하에서도 전술에서 언급한 도 4의 (A) 및 (B)를 참고하여, 사용자가 이동하려는 특정연주시점이 280초 지점을 추정이동방식을 통해 결정하는 방법에 대하여 보다 구체적으로 설명하도록 하겠다.
먼저, 추정이동관리부(433)는, 텍스트 악보 상의 첫번째 마디(1 bar)를 표현하기 위해 43개의 텍스트가 사용되었으며, 곡 전체가 100마디로 구성되었으므로 4300개의 텍스트에 인덱스(I1-I4300)를 할당하게 된다.
이후, 추정이동관리부(433)는, 텍스트 악보 상의 전체연주시간(300초) 중 사용자가 이동하길 원하는 지점인 특정연주시점(280초)에 비례하는 상대적인 위치에 해당하는 특정인덱스를 검출한다.
즉, 추정이동관리부(433)는, 특정연주시점(280초)을 전체연주시간(300초)으로 나누고 텍스트 악보의 전체 텍스트 개수인 4300을 곱하여 텍스트 악보 상에서의 상대적인 위치에 해당하는 특정인덱스(I4013)를 검출한다.
이처럼, 특정인덱스(I4013)가 검출되면, 추정이동관리부(433)는, 텍스트 악보에 할당된 인덱스(I1-I4300) 중 특정인덱스(I4013)를 검색하여 추정텍스트(4)를 확인할 수 있게 된다.
이후, 추정이동관리부(433)는, 추정텍스트(4)와 관련되는 음표에 할당된 제1 구분자(@)를 검출하기 위해 추정텍스트(4)에 인접하는 94번째 마디(94 bar)의 두 번째 제1 구분자(@)와 세 번째 제1 구분자(@)를 확인한다.
이때, 텍스트 악보의 텍스트 스트림 형식을 기반으로 살펴보면 94번째 마디(94 bar)의 세 번째 제1 구분자(@)의 경우 추정텍스트(4) 보다 나열순서가 뒤에 위치하게 되므로, 추정이동관리부(433)는, 94번째 마디(94 bar)의 두 번째 제1 구분자(@)를 특정인덱스(I4013)와 관련되는 특정 제1 구분자로 판단하고, 특정 제1 구분자가 할당된 해당 음표를 특정연주시점에 대응하는 특정이동지점으로 결정한다.
결국, 94번째 마디(94 bar)의 두 번째 제1 구분자(@)가 할당된 해당 음표를 특정이동지점으로 결정하고, 해당 음표의 텍스트 스트림(S6,2-6,4-6,6)부터 연주를 시작하게 된다.
전술한 추정이동방식의 경우, 텍스트 악보 상에 포함되는 전체 인덱스(I1-I4300) 중 특정인덱스(I4013)를 검출하여 특정 제1 구분자로 이동하기만 하면 특정이동지점이 결정되므로 검색 및 연산 횟수의 총합이 2회가 되는 것을 확인할 수 있다. 이에, 임베디스 시스템의 처리 성능이 낮은 경우에도 추정이동방식을 통해 지연 없이 정확한 연주(연습)가 수행되도록 할 수 있으며, 사용자가 원하는 특정연주시점으로 자유롭게 이동되도록 할 수 있게 되는 것이다.
본 발명의 일 실시예에서는 실행관리부(430) 내에 누적이동관리부(432) 및 추정이동관리부(433)가 함께 구현되는 것으로 도시하였으나, 이는 임베디드 시스템의 처리 성능이나, 또는 제공하려는 기능(빨리감기, 뒤로감기, 연주지점이동 등), 또는 운영자/사용자의 설정에 따라 선택적으로 적용하기 위한 것일 뿐, 누적이동관리부(432)만 존재하도록 구현하거나, 또는 추정이동관리부(433)만 존재하도록 구현하는 등의 다양한 구현 방식을 적용할 수 있음은 물론이다.
한편, 전술한 특정연주시점으로 이동하기 위해 이용된 누적이동방식 및 추정이동방식의 경우, 빨리감기, 뒤로감기 등의 기능을 수행할 때도 동일하게 적용할 수 있다.
일례로, 전술에서 언급한 도 4의 (A) 및 (B)를 참고하면, 특정연주시점(280초)에서 뒤로감기 3초를 처리할 때 추정이동방식을 이용하는 경우, 텍스트 악보 상의 전체연주시간(300초) 중 뒤로감기 하려는 시간인 3초에 비례하는 상대적인 위치는 3초/300초 * 4300 = 43개의 텍스트만큼에 대응하는 것을 확인할 수 있게 된다. 따라서, 특정연주시점(280초)일 때의 인덱스(I4013)에서 -43개의 인덱스만큼 이동하여 특정인덱스(I3970)를 검출할 수 있게 된다. 이후, 특정인덱스(I3970)에 대응하는 추정텍스트를 확인하고, 추정텍스트와 관련되는 직전 제1 구분자(@)가 할당된 음표를 뒤로감기 3초를 수행했을 때의 해당 음표로 결정하게 된다.
한편, 빨리감기, 뒤로감기 등의 기능을 시간 단위로 이동하지 않고 음표 단위로 이동하여 결정하는 것도 가능하다. 이러한 음표 단위로 이동하는 방법은, 제1 구분자(@)가 할당되는 각 음표 단위로 이동하는 것으로, 현재 인덱스에서 요청된 개수만큼의 제1 구분자(@)를 검색하여 빨리감기, 뒤로감기 등의 기능을 수행하는 것이다.
전술한 방식 이외에도 특정연주시점으로 이동하거나, 빨리감기, 뒤로감기 등의 기능을 수행하기 위해 고정 위치에 절대적인 연주시각 정보(0, 3000, 6000, 9000)를 다음과 같이 각 마디마다 표시할 수도 있다.
템포(Tempo):80
0@Q6,2@S6,2-6,4-6,6@E6,2@Q5,3@S6,4@E6,6@E6,6
3000@Q6,2@S6,2-6,4-6,6@E6,2@Q5,3@S6,4@E6,6@E6,6
6000@Q6,2@S6,2-6,4-6,6@E6,2@Q5,3@S6,4@E6,6@E6,6
9000@Q6,2@S6,2-6,4-6,6@E6,2@Q5,3@S6,4@E6,6@E6,6
또는, 특정시간 단위로 연주 위치를 표시하는 인덱스 파일을 활용할 수도 있다. 즉, 1분 지점의 인덱스는 860, 2분 지점의 인덱스는 1720, 3분 지점의 인덱스는 2580 등으로 인덱스 값을 별도의 데이터로 다음과 같이 관리하여 이용할 수도 있다.
tempo:80
Index:0,860,1720,2580,3440,…
@Q6,2@S6,2-6,4-6,6@E6,2@Q5,3@S6,4@E6,6@E6,6...
이상에서 설명한 바와 같이, 본 발명에 따르면, 연주관련기호(예: 음표)를 포함하는 악보가 미리 정의된 텍스트 형태로 변환되도록 함으로써, 악기만 소지하고 있다면 별도의 악보 없이도 다양한 기능(되감기, 빨리감기, 연주위치이동)을 지연 없이 이용하여 악기 연주(연습)를 수행할 수 있도록 하는 동시에 사용자의 선택에 따라 연주시점 및 연주속도가 자유롭게 변경되도록 하여 다양한 버전으로 악기 연주(연습)가 가능하도록 하는 효과를 도출한다.
이하에서는, 도 5를 참조하여 본 발명의 실시예에 따른 연주제어장치에서 수행되는 연주 제어 동작 흐름을 구체적으로 설명하도록 한다. 이하에서는 설명의 편의를 위해 전술의 도 1 내지 도 4에서 언급한 참조번호를 언급하여 설명하도록 하겠다.
그리고, 이하의 설명에서는, 설명의 편의를 위해 본 발명의 연주제어장치(400) 내 각 기능부가 컨텐츠 서버(200) 및 악기 단말(300)에 분산되는 형태로 구현되는 것으로 가정하여 설명하겠다.
확인부(410)는, 사용자 단말(100)로부터 기본 악보가 선택되는 경우, 기 저장된 적어도 하나의 악보 중 기본 악보를 검출하고, 기본 악보에 대응하는 텍스트 악보가 존재하는 지의 여부를 확인한다(S100).
여기서, 기본 악보는, 적어도 하나의 연주관련기호를 포함하는 일반적인 악보(예: 오선악보)일 수 있다. 연주관련기호는, 곡 전체의 속도와 관련되는 템포(Tempo) 및 서로 다른 박자로 연주되어야 하는 적어도 하나의 음표, 음을 내지 않는 쉼표 등과 같이 연주를 위해 악보 상에 표시되는 모든 기호를 포함한다.
즉, 확인부(410)는, 사용자가 선택한 기본 악보에 대응하는 텍스트 악보가 미리 변환되어 저장된 경우에는 해당 텍스트 악보가 악기 단말(300)로 전달되도록 제어하게 된다.
한편, 확인부(410)는, 사용자가 선택한 기본 악보에 대응하는 텍스트 악보가 미리 변환되어 저장되지 않은 경우에는 기본 악보가 텍스트 형태로 변환될 수 있도록 변환관리부(420)로 기본 악보에 대한 변환을 요청한다.
변환관리부(420)는, 적어도 하나의 구분자를 기반으로 기본 악보 내 연주관련기호를 텍스트 형태로 변환하여 텍스트 악보를 생성한다(S110).
여기서, 구분자는, 각 음표의 시작을 표시하기 위해 각 음표 별로 할당되는 제1 구분자 및 제1 구분자가 할당된 해당 음표에 의해 동시에 연주되어야 하는 적어도 하나의 음을 구분하기 위한 제2 구분자를 포함한다.
이러한, 제1 구분자는 운영자의 설정에 따라 다양한 기호(예: !, @ 등)로 결정될 수 있으며, 이하에서는 '@'가 제1 구분자인 것으로 언급하여 설명하도록 하겠다. 제2 구분자 역시 운영자의 설정에 따라 다양한 기호(예: !, - 등)로 결정될 수 있으며, 이하에서는 '-'가 제2 구분자인 것으로 언급하여 설명하도록 하겠다.
보다 구체적으로, 변환관리부(420)는, 템포(빠르기)에 기초하여 각 음표에 대응하는 박자를 연주하기 위한 연주기간(Duration)을 제1 세부텍스트로 결정한다.
즉, 변환관리부(420)는, 기본 악보 상에 표시된 템포(빠르기)를 기반으로 전체 곡의 속도에 대한 bpm(beats per minute)을 확인한다. 이후, 변환관리부(420)는, 각 음표에 대한 연주기간(Duration)을 밀리세크(millisecond) 단위로 산출한 결과를 기반으로 제1 세부텍스트를 결정하게 된다.
예를 들어, 템포(빠르기)가 80bpm일 때, 변환관리부(420)는, 1분(60,000ms) 동안에 4분음표 한 박자가 연주되어야 하는 시간을 산출(60,000ms/80bpm=750ms)하여 Dq(duration for a quarter note)로 결정한다. 이어서, 변환관리부(420)는, 4분음표의 연주기간(Dq)에 대한 제1 세부텍스트를 Q로 결정한다. 이후, 변환관리부(420)는, 4분음표에 대한 연주기간(Dq=750ms)을 기준으로 나머지 각 음표(온음, 2분음표, 8분으표, 16분음표, 32분음표 등)에 대한 연주기간을 산출하고, 각 음표(온음, 2분음표, 8분으표, 16분음표, 32분음표 등)의 연주기간 각각에 대한 제1 세부텍스트를 (W, H, E, S, q, e)로 결정한다.
한편, 변환관리부(420)는, 각 음표에 의해 제어되어야 하는 해당 LED의 위치정보를 제2 세부텍스트로 결정한다.
보다 구체적으로, 변환관리부(420)는, 전술한 도 2에서 언급한 바와 같이 손으로 운지되어야 하는 부분이 라인(L1-L6)과 플랫(F1-F7)에 의해 형성되는 매트릭스 형식으로 표현되게 되므로, 각 음표와 관련되는 해당 LED를 위치정보를 매트릭스 상에서의 라인과 플랫의 좌표인 (라인번호, 플랫번호)로 결정하게 된다. 이후, 변환관리부(420)는, 좌표형식으로 표현된 LED의 위치정보인 (라인번호, 플랫번호)를 제2 세부텍스트로 결정한다.
전술에 따라 제1 세부텍스트 및 제2 세부텍스트의 결정이 완료되면, 변환관리부(420)는, 미리 정의된 텍스트 스트림 형식을 확인하여 텍스트 악보를 생성한다.
여기서, 텍스트 스트림 형식이라 함은, 기본 악보를 텍스트로 표시하기 위해 운영자에 의해 미리 정의되는 텍스트 나열순서, 나열규칙 등에 관한 것일 수 있으며, 시스템/장치의 운영상황이나 기 운영결과를 기반으로 다양한 형식으로 변환될 수 있음은 물론이다.
이후, 변환관리부(420)는, 기본 악보에 포함되는 연주관련기호를 적어도 하나의 구분자, 제1 세부텍스트(W, H, Q, E, S, q, e), 제2 세부텍스트(라인번호, 플랫번호)를 이용하여 텍스트 스트림 형식에 따라 변환하여 텍스트 악보를 생성하게 된다.
이처럼 기본 악보에 대한 텍스트 변환이 완료되어 텍스트 악보가 생성되면, 실행관리부(430)는, 텍스트 악보에 포함되는 제1 구분자(@), 제2 구분자(-), 제1 세부텍스트(W, H, Q, E, S, q, e), 제2 세부텍스트(라인번호, 플랫번호)의 표시 순서를 확인하여 해당 LED의 점등을 제어한다(S120).
즉, 실행관리부(430)는, 텍스트 악보 상에서 가장 먼저 표시되는 템포(빠르기) 이후에 음표의 시작을 시작을 구분하기 위한 제1 구분자(@)가 확인되면, 제1 구분자(@)가 할당된 해당 음표의 해당 제1 세부텍스트 및 해당 제2 세부텍스트에 따라 해당 LED의 점등이 제어되도록 제어신호를 전달한다.
이와 관련하여, 전술에서 언급한 템포(빠르기)가 80bpm, 4분음표, 8분음표를 포함하는 기본 악보에 대한 텍스트 악보(80@Q1,5@E4,8-2,4)를 예를 들어 설명하면, 템포(빠르기)를 나타내는 80이 표시된 이후 제1 구분자(@)가 확인되면, 실행관리부(430)는 제1 구분자(@)가 할당된 4분음표의 해당 제1 세부텍스트(Q)와 해당 제2 세부텍스트(1,5)를 이용하여 LED의 점등이 제어하게 된다.
즉, 실행관리부(430)는, 4분음표의 시작을 나타내는 제1 구분자(@)가 표시된 이후 다음 8분음표의 시작을 나타내는 제1 구분자(@)가 표시되기 직전까지의 사이에 표시되는 제1 세부텍스트(Q)와 제2 세부텍스트(1,5)를 4분음표의 제1 구분자(@)와 관련되는 텍스트로 확인하고, 이를 이용하여 제1 세부텍스트(Q)에 대응하는 연주기간(750ms) 동안 제2 세부텍스트(1,5)에 대응하는 해당 LED가 점등되도록 제어하기 위한 제어신호를 생성하여 전달하게 된다.
한편, 실행관리부(430)는, 특정연주시점으로의 이동이 요청되었는지의 여부를 판단한다(S130). 이때, 특정연주시점으로의 이동이 요청이 있음을 판단하는 기준은 악기 단말(300)에 포함되는 특정이동요청버튼(도시하지 않음)의 신호변화를 이용할 수 있으며, 이 외에도 다양한 요청 확인 방식을 적용할 수 있음은 물론이다.
S130 단계의 판단결과, 특정연주시점으로의 이동이 요청된 경우, 실행관리부(430)는, 누적이동방식 또는 추정이동방식을 기반으로 특정연주시점에 대응하는 특정이동지점을 결정하게 된다(S140).
먼저 누적이동방식을 기반으로 특정이동지점을 결정하는 방법에 대하여 보다 구체적으로 설명하도록 하겠다.
실행관리부(430)는, 곡 전체의 전체연주시간 중 특정연주시점으로의 이동이 요청되는 경우, 텍스트 악보 상에 포함되는 제1 구분자(@) 별로 관련되는 연주기간(Duration)을 누적하여 연주시간누적값을 생성한다.
즉, 실행관리부(430)는, 텍스트 악보 상에 포함되는 제1 구분자(@) 별로 관련되는 제1 세부텍스트(W, H, Q, E, S, q, e)를 이용하여 각 연주기간을 확인하고, 각 연주기간을 더하여 연주시간누적값을 생성한다. 이후, 실행관리부(430)는, 연주시간누적값과 특정연주시점을 비교한 결과에 기초하여 사용자가 이동하려는 특정연주시점에 대응하는 특정연주지점을 결정하게 된다.
보다 구체적으로, 도 4의 (A) 및 (B)를 참고하여 설명하면, 실행관리부(430)는, 먼저 텍스트 악보 상의 첫번째 마디(1 bar)에 포함되는 7개의 제1 구분자(@) 별로 관련되는 제1 세부텍스트(Q, S, E, Q, S, E, E)를 확인하고, 제1 세부텍스트(Q, S, E, Q, S, E, E)에 대응하는 연주기간(750ms, 187.5ms, 375ms, 750ms, 187.5ms, 375ms, 375ms)을 더하여 연주시간누적값(3sec)을 산출한다. 동일한 방식으로, 94번째 마디(94 bar)의 두 번째 제1 구분자(@)까지의 관련되는 제1 세부텍스트를 누적하면서 더하게 되면, 누적이동관리부(432)는, 연주시간누적값으로 279.9375초를 산출하게 된다.
전술에 따라 연주시간누적값이 산출되면, 실행관리부(430)는, 연주시간누적값과 특정연주시점(280초)을 비교하여 특정연주시점(280초)을 초과하지 않는 연주시간누적값을 이용하여 특정연주시점(280초)에 대응하는 특정이동지점을 결정하게 된다.
즉, 94번째 마디(94 bar)의 두 번째 제1 구분자(@)까지 누적된 연주시간누적값이 279.9375초일 때, 이어지는 세 번째 제1 구분자(@)와 관련된 제1 세부텍스트(E)에 대응하는 연주기간(375ms)를 누적하게 되면 연주시간누적값이 280.3125초가 되어 특정연주시점(280초)을 초과하게 되므로, 실행관리부(430)는, 94번째 마디(94 bar)의 세 번째 제1 구분자(@)와 관련되는 연주기간(375ms)을 모두 더하는 것이 아니라 연주기간(375ms) 중 특정연주시점(280초)에 도달하게 되는 연주기간(63ms)까지만 연주되도록 하여 해당 지점을 특정이동지점으로 결정하게 된다.
다음은 추정이동방식을 기반으로 특정이동지점을 결정하는 방법에 대하여 보다 구체적으로 설명하도록 하겠다.
실행관리부(430)는, 곡 전체의 전체연주시간 중 특정연주시점으로의 이동이 요청되는 경우, 텍스트 악보에 할당되는 전체 인덱스 중 전체연주시간과 특정연주시점을 기반으로 특정인덱스를 검출하고, 특정인덱스와 관련되는 특정 제1 구분자가 할당된 해당 음표를 특정연주시점에 대응하는 특정이동지점으로 결정한다.
보다 구체적으로, 도 4의 (A) 및 (B)를 참고하여 설명하면, 실행관리부(430)는, 텍스트 악보 상의 첫번째 마디(1 bar)를 표현하기 위해 43개의 텍스트가 사용되었으며, 곡 전체가 100마디로 구성되었으므로 4300개의 텍스트에 인덱스(I1-I4300)를 할당하게 된다.
이후, 실행관리부(430)는, 텍스트 악보 상의 전체연주시간(300초) 중 사용자가 이동하길 원하는 지점인 특정연주시점(280초)에 비례하는 상대적인 위치에 해당하는 특정인덱스를 검출한다.
즉, 실행관리부(430)는, 특정연주시점(280초)을 전체연주시간(300초)으로 나누고 텍스트 악보의 전체 텍스트 개수인 4300을 곱하여 텍스트 악보 상에서의 상대적인 위치에 해당하는 특정인덱스(I4013)를 검출한다. 이처럼, 특정인덱스(I4013)가 검출되면, 실행관리부(430)는, 텍스트 악보에 할당된 인덱스(I1-I4300) 중 특정인덱스(I4013)를 검색하여 추정텍스트(4)를 확인할 수 있게 된다.
이후, 실행관리부(430)는, 추정텍스트(4)와 관련되는 음표에 할당된 제1 구분자(@)를 검출하기 위해 추정텍스트(4)에 인접하는 94번째 마디(94 bar)의 두 번째 제1 구분자(@)와 세 번째 제1 구분자(@)를 확인한다.
이때, 텍스트 악보의 텍스트 스트림 형식을 기반으로 살펴보면 94번째 마디(94 bar)의 세 번째 제1 구분자(@)의 경우 추정텍스트(4) 보다 나열순서가 뒤에 위치하게 되므로, 실행관리부(430)는, 94번째 마디(94 bar)의 두 번째 제1 구분자(@)를 특정인덱스(I4013)와 관련되는 특정 제1 구분자로 판단하고, 특정 제1 구분자가 할당된 해당 음표를 특정연주시점에 대응하는 특정이동지점으로 결정한다.
결국, 94번째 마디(94 bar)의 두 번째 제1 구분자(@)가 할당된 해당 음표를 특정이동지점으로 결정하고, 해당 음표의 텍스트 스트림(S6,2-6,4-6,6)부터 연주를 시작하게 된다.
전술에 따라 누적이동방식 또는 추정이동방식을 기반으로 특정연주시점에 대응하는 특정이동지점이 결정되면, 실행관리부(430)는, 텍스트 악보 내 특정이동지점으로 이동하여 특정이동지점의 음표에 의해 제어되어야 하는 해당 LED의 점등을 제어하게 된다(S150, S160).
이후, 실행관리부(430)는, 텍스트 악보 상에 다음 음표가 존재하는 지를 확인한다(S170).
S170 단계의 판단결과, 다음 음표가 존재하는 것으로 확인되면, 실행관리부(430)는 다음 음표에 의해 제어되어야 하는 해당 LED의 점등을 제어하기 위해 S160 단계로 이동하여 이후의 동일한 과정을 반복하여 수행한다.
한편, S170 단계의 판단결과, 다음 음표가 존재하지 않는 것으로 확인되면, 실행관리부(430)는 텍스트 악보 상에 존재하는 모든 음표에 대한 연주(연습)가 완료된 것으로 판단하여 LED 제어를 종료한다(S180).
이상에서 설명한 바와 같이, 본 발명에 따르면, 연주관련기호(예: 음표)를 포함하는 악보가 미리 정의된 텍스트 형태로 변환되도록 함으로써, 악기만 소지하고 있다면 별도의 악보 없이도 다양한 기능(되감기, 빨리감기, 연주위치이동)을 지연 없이 이용하여 악기 연주(연습)를 수행할 수 있도록 하는 동시에 사용자의 선택에 따라 연주시점 및 연주속도가 자유롭게 변경되도록 하여 다양한 버전으로 악기 연주(연습)가 가능하도록 하는 효과를 도출한다.
본 발명의 실시예들은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명의 연주제어장치 및 그 동작 방법에 따르면, 연주관련기호(예: 음표)를 포함하는 악보가 미리 정의된 텍스트 형태로 변환되도록 함으로써, 악기만 소지하고 있다면 별도의 악보 없이도 다양한 기능(되감기, 빨리감기, 연주위치이동)을 지연 없이 이용하여 악기 연주(연습)를 수행할 수 있도록 하는 동시에 사용자의 선택에 따라 연주시점 및 연주속도가 자유롭게 변경되도록 하여 다양한 버전으로 악기 연주(연습)가 가능하도록 할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100: 사용자 단말 200: 컨텐츠 서버
300: 악기 단말
400: 연주제어장치
410: 확인부 420: 변환관리부
430: 실행관리부 440: 저장부

Claims (14)

  1. 사용자 단말에 의해 선택된 적어도 하나의 연주관련기호를 포함하는 기본 악보를 확인하는 확인부;
    상기 적어도 하나의 연주관련기호에 대응하여 해당 LED가 제어될 수 있도록 적어도 하나의 구분자를 기반으로 상기 적어도 하나의 연주관련기호를 텍스트 형태로 변환하여 텍스트 악보를 생성하는 변환관리부; 및
    상기 텍스트 악보에 기초하여 상기 LED의 점등을 제어하는 실행관리부
    를 포함하는 것을 특징으로 하는 연주제어장치.
  2. 제 1 항에 있어서,
    상기 확인부는,
    상기 사용자 단말에 의해 상기 기본 악보가 선택되는 경우, 기 저장된 적어도 하나의 악보 중 상기 기본 악보를 검출하여 상기 기본 악보에 대응하는 텍스트 악보의 존재 여부를 확인하는 것을 특징으로 하는 연주제어장치.
  3. 제 1 항에 있어서,
    상기 연주관련기호는 곡 전체의 속도와 관련되는 템포(Tempo) 및 서로 다른 박자로 연주되어야 하는 적어도 하나의 음표, 음을 내지 않는 쉼표 중 적어도 하나를 포함하며,
    상기 구분자는 각 음표의 시작을 표시하기 위해 각 음표 별로 할당되는 제1 구분자 및 상기 제1 구분자가 할당된 해당 음표에 의해 동시에 연주되어야 하는 적어도 하나의 음을 구분하기 위한 제2 구분자를 포함하는 것을 특징으로 하는 연주제어장치.
  4. 제 3 항에 있어서,
    상기 변환관리부는,
    상기 템포에 기초하여 각 음표에 대응하는 박자를 연주하기 위한 연주기간(duration)을 제1 세부텍스트로 결정하는 기간텍스트결정부;
    각 음표에 의해 제어되어야 하는 해당 LED의 위치정보를 제2 세부텍스트로 결정하는 위치텍스트결정부; 및
    상기 제1 세부텍스트 및 상기 제2 세부텍스트를 기반으로 각 음표를 텍스트 스트림 형태로 변환하여 상기 텍스트 악보를 생성하는 악보생성부를 포함하는 것을 특징으로 하는 연주제어장치.
  5. 제 3 항에 있어서,
    상기 실행관리부는,
    상기 제1 구분자가 확인되면, 상기 제1 구분자가 할당된 해당 음표의 해당 제1 세부텍스트 및 해당 제2 세부텍스트에 따라 해당 LED의 점등이 제어되도록 제어신호를 전달하는 신호관리부를 포함하는 것을 특징으로 하는 연주제어장치.
  6. 제 5 항에 있어서,
    상기 실행관리부는,
    상기 곡 전체의 전체연주시간 중 특정연주시간으로의 이동이 요청되는 경우, 상기 텍스트 악보 상에 포함되는 제1 구분자 별로 관련되는 제1 세부텍스트를 더하여 연주시간누적값을 생성하고, 상기 연주시간누적값과 상기 특정연주시간을 비교한 결과에 기초하여 상기 특정연주시간에 대응하는 특정이동지점을 결정하는 누적이동관리부를 더 포함하는 것을 특징으로 하는 연주제어장치.
  7. 제 5 항에 있어서,
    상기 실행관리부는,
    상기 곡 전체의 전체연주시간 중 특정연주시간으로의 이동이 요청되는 경우, 상기 텍스트 악보에 할당되는 전체 인덱스 중 상기 전체연주시간과 상기 특정연주시간을 기반으로 특정인덱스를 검출하고, 상기 특정인덱스와 관련되는 특정 제1 구분자가 할당된 해당 음표를 상기 특정연주시간에 대응하는 특정이동지점으로 결정하는 추정이동관리부를 더 포함하는 것을 특징으로 하는 연주제어장치.
  8. 사용자 단말에 의해 선택된 적어도 하나의 연주관련기호를 포함하는 기본 악보를 확인하는 확인단계;
    상기 적어도 하나의 연주관련기호에 대응하여 해당 LED가 제어될 수 있도록 적어도 하나의 구분자를 기반으로 상기 적어도 하나의 연주관련기호를 텍스트 형태로 변환하여 텍스트 악보를 생성하는 변환관리단계; 및
    상기 텍스트 악보에 기초하여 상기 LED의 점등을 제어하는 실행관리단계를 포함하는 것을 특징으로 하는 연주제어장치의 동작방법.
  9. 제 8 항에 있어서,
    상기 확인단계는,
    상기 사용자 단말에 의해 상기 기본 악보가 선택되는 경우, 기 저장된 적어도 하나의 악보 중 상기 기본 악보를 검출하여 상기 기본 악보에 대응하는 텍스트 악보의 존재 여부를 확인하는 것을 특징으로 하는 연주제어장치의 동작방법.
  10. 제 8 항에 있어서,
    상기 연주관련기호는 곡 전체의 속도와 관련되는 템포(Tempo) 및 서로 다른 박자로 연주되어야 하는 적어도 하나의 음표, 음을 내지 않는 쉼표 중 적어도 하나를 포함하며,
    상기 구분자는 각 음표의 시작을 표시하기 위해 각 음표 별로 할당되는 제1 구분자 및 상기 제1 구분자가 할당된 해당 음표에 의해 동시에 연주되어야 하는 적어도 하나의 음을 구분하기 위한 제2 구분자를 포함하는 것을 특징으로 하는 연주제어장치의 동작방법.
  11. 제 10 항에 있어서,
    상기 변환관리단계는,
    상기 템포에 기초하여 각 음표에 대응하는 박자를 연주하기 위한 연주기간(duration)을 제1 세부텍스트로 결정하는 기간텍스트결정단계;
    각 음표에 의해 제어되어야 하는 해당 LED의 위치정보를 제2 세부텍스트로 결정하는 위치텍스트결정단계; 및
    상기 제1 세부텍스트 및 상기 제2 세부텍스트를 기반으로 각 음표를 텍스트 스트림 형태로 변환하여 상기 텍스트 악보를 생성하는 악보생성단계를 포함하는 것을 특징으로 하는 연주제어장치의 동작방법.
  12. 제 11 항에 있어서,
    상기 실행관리단계는,
    상기 제1 구분자가 확인되면, 상기 제1 구분자가 할당된 해당 음표의 해당 제1 세부텍스트 및 해당 제2 세부텍스트에 따라 해당 LED의 점등이 제어되도록 제어신호를 전달하는 신호관리단계를 포함하는 것을 특징으로 하는 연주제어장치의 동작방법.
  13. 제 11 항에 있어서,
    상기 실행관리단계는,
    상기 곡 전체의 전체연주시간 중 특정연주시간으로의 이동이 요청되는 경우, 상기 텍스트 악보 상에 포함되는 제1 구분자 별 관련되는 제1 세부텍스트를 더하여 연주시간누적값을 생성하고, 상기 연주시간누적값과 상기 특정연주시간을 비교한 결과에 기초하여 상기 특정연주시간에 대응하는 특정이동지점을 결정하는 누적이동관리단계를 더 포함하는 것을 특징으로 하는 연주제어장치의 동작방법.
  14. 제 11 항에 있어서,
    상기 실행관리단계는,
    상기 곡 전체의 전체연주시간 중 특정연주시간으로의 이동이 요청되는 경우, 상기 텍스트 악보에 할당되는 전체 인덱스 중 상기 전체연주시간과 상기 특정연주시간을 기반으로 특정인덱스를 검출하고, 상기 특정인덱스와 관련되는 특정 제1 구분자가 할당된 해당 음표를 상기 특정연주시간에 대응하는 특정이동지점으로 결정하는 추정이동관리단계를 더 포함하는 것을 특징으로 하는 연주제어장치의 동작방법.
KR1020160100623A 2016-08-08 2016-08-08 연주제어장치 및 그 동작 방법 KR102034005B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160100623A KR102034005B1 (ko) 2016-08-08 2016-08-08 연주제어장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160100623A KR102034005B1 (ko) 2016-08-08 2016-08-08 연주제어장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20180016813A true KR20180016813A (ko) 2018-02-20
KR102034005B1 KR102034005B1 (ko) 2019-10-18

Family

ID=61394818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160100623A KR102034005B1 (ko) 2016-08-08 2016-08-08 연주제어장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102034005B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240116A (ja) * 1996-12-28 1998-09-11 Casio Comput Co Ltd 演奏表示装置
KR20030083648A (ko) * 2003-09-30 2003-10-30 정희창 텍스트자료 입력에 의한 미디파일 생성시스템
JP2012215630A (ja) * 2011-03-31 2012-11-08 Kawai Musical Instr Mfg Co Ltd 楽譜演奏装置及び楽譜演奏プログラム
KR20140100288A (ko) * 2013-02-06 2014-08-14 한국기술교육대학교 산학협력단 교육용 기타

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240116A (ja) * 1996-12-28 1998-09-11 Casio Comput Co Ltd 演奏表示装置
KR20030083648A (ko) * 2003-09-30 2003-10-30 정희창 텍스트자료 입력에 의한 미디파일 생성시스템
JP2012215630A (ja) * 2011-03-31 2012-11-08 Kawai Musical Instr Mfg Co Ltd 楽譜演奏装置及び楽譜演奏プログラム
KR20140100288A (ko) * 2013-02-06 2014-08-14 한국기술교육대학교 산학협력단 교육용 기타

Also Published As

Publication number Publication date
KR102034005B1 (ko) 2019-10-18

Similar Documents

Publication Publication Date Title
US11348561B2 (en) Performance control method, performance control device, and program
EP2863384B1 (en) Method of notes selection for musical articulation in a polyphonic electronic music instrument.
US10534811B2 (en) Artificial intelligence methodology to automatically generate interactive play along songs
CN109845249A (zh) 用外部信息同步midi文件的方法和系统
JP4535015B2 (ja) 電子楽器システム
JP5228315B2 (ja) 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム
JP4770419B2 (ja) 楽音発生装置、及びプログラム
KR20180016813A (ko) 연주제어장치 및 그 동작 방법
JP2006201654A (ja) 伴奏追従システム
JP4561664B2 (ja) 電子楽器システム
JP2016166994A (ja) カラオケ装置及びカラオケ用プログラム
JP5537246B2 (ja) 歌唱位置表示システム
JP6638673B2 (ja) 教習装置、教習プログラムおよび教習方法
US20230410676A1 (en) Information processing system, electronic musical instrument, information processing method, and machine learning system
JP6838357B2 (ja) 音響解析方法および音響解析装置
JP6596346B2 (ja) カラオケシステム
JP6083400B2 (ja) 楽曲選択装置、及び楽曲選択用プログラム
JP5792677B2 (ja) カラオケ演奏のテンポ変更時における補助テンポ出力システム
JP4978176B2 (ja) 演奏装置、演奏実現方法およびプログラム
JP6594144B2 (ja) 楽曲検索システム
JP2010085658A (ja) 難易度推定システムおよびプログラム
JP6724776B2 (ja) 電子楽器および電子楽器システム
JP6590593B2 (ja) 楽曲検索システム
JP2017068141A (ja) データ生成編集装置、カラオケシステム及びプログラム
JP6415355B2 (ja) カラオケシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2017101006010; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20171215

Effective date: 20190719

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant