KR100203423B1 - 연주정보 분석장치 및 화음검출장치 - Google Patents

연주정보 분석장치 및 화음검출장치 Download PDF

Info

Publication number
KR100203423B1
KR100203423B1 KR1019940007468A KR19940007468A KR100203423B1 KR 100203423 B1 KR100203423 B1 KR 100203423B1 KR 1019940007468 A KR1019940007468 A KR 1019940007468A KR 19940007468 A KR19940007468 A KR 19940007468A KR 100203423 B1 KR100203423 B1 KR 100203423B1
Authority
KR
South Korea
Prior art keywords
information data
voice
pitch
pitch information
code
Prior art date
Application number
KR1019940007468A
Other languages
English (en)
Other versions
KR940024657A (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 우에시마 세이스케
Publication of KR940024657A publication Critical patent/KR940024657A/ko
Application granted granted Critical
Publication of KR100203423B1 publication Critical patent/KR100203423B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • 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/38Chord
    • G10H1/383Chord detection and/or recognition, e.g. for correction, or automatic bass generation
    • 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/571Chords; Chord sequences
    • G10H2210/616Chord seventh, major or minor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S84/00Music
    • Y10S84/22Chord organs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

본 발명은 연주정보를 연주정보에 맞는 다수의 파트로 자동적으로 분해하고, 연주정보로 부터의 화음검출의 검출정밀도를 높이는 연주정보 분석장치 및 화음검출장치에 관한 것으로서, 본 발명은 건반(4)의 압건음의 키-코드를 기억하며, 타이머(10)로 부터의 인터럽트신호에 의해 CPU(1)에서 8분음표 1개마다 인터럽트처리를 한다. 건반(4)에서 발생하는 키-코드를 베이스성부, 베이스코드성부, 멜로디코드 성부, 멜로디성부 등 4개의 파트로 분해한다. 압건수에 따라 음성부 해석, 2음성부 해석, 3음성부 해석 및 4음 이상의 성부해석을 한다. 음의 높이, 타이밍이 소절머리인지 여부, 강박음인지 약박음인지, 앞의 베이스성부음과의 음정, 앞의 멜로디코드 성부음과의 음정 등, 다수 조건의 조합에 의해 압건음 파트를 결정한다. 베이스코드 성부 또는 멜로디코드 성부의 파트와 화음테이블(11)로 부터 화음을 검출한다. 검출화음을 자동반주장치(5)에 출력한다.

Description

연주정보 분석장치 및 화음검출장치
제1도는 본 발명에 따른 실시예의 연주정보 분석장치 및 화음검출장치를 구비한 전자악기의 블록도.
제2도는 본 발명에 의한 실시예에 있어서의 제어프로그램의 메인루우틴 플로우차트.
제3도는 본 발명에 의한 실시예에 있어서의 인터럽트처리의 플로우차트.
제4도는 본 발명에 의한 실시예에 있어서의 성부(聲部)해석의 플로우차트.
제5도는 본 발명에 의한 실시예에 있어서의 1음성부 해석의 플로우차트.
제6도는 본 발명에 의한 실시예에 있어서의 1음 해석 강박처리의 플로우차트.
제7도는 본 발명에 의한 실시예에 있어서의 1음 해석 약박처리의 플로우차트.
제8도는 본 발명에 의한 실시예에 있어서의 아르페지오 확장처리의 플로우차트.
제9도는 본 발명에 의한 실시예에 있어서의 2음성부 해석처리의 플로우차트.
제10도는 본 발명에 의한 실시예에 있어서의 3음성부 해석처리의 플로우차트.
제11도는 본 발명에 의한 실시예에 있어서의 4음 이상의 성부 해석처리의 플로우차트.
제12도는 본 발명에 의한 실시예에 있어서의 베이스코드를 중심으로 한 화음검출처리의 플로우차트.
제13도는 본 발명에 의한 실시예에 있어서의 멜로디코드를 중심으로 한 화음검출처리의 플로우차트.
제14도는 본 발명에 의한 실시예에 있어서의 화음테이블을 설명하는 도면.
제15도는 본 발명에 의한 실시예에 있어서의 1음성부 해석에서의 입력음 파트에 대한 할당을 나타낸 도면.
제16도는 본 발명에 의한 실시예에 있어서의 1음 해석 강박에서의 입력음 파트에 대한 할당을 나타낸 도면.
제17도는 본 발명에 의한 실시예에 있어서의 1음 해석 약박에서의 입력음 파트에 대한 할당을 나타낸 도면.
제18도는 본 발명에 의한 실시예에 있어서의 아르페지오 확장에서의 입력음 파트에 대한 할당을 나타낸 도면이다.
* 도면의 주요부분에 대한 부호의 설명
1 : CPU 4 : 건반
5 : 자동반주장치 10 : 타이머
11 : 화음테이블
본 발명은 악곡의 고음 정보를 포함하는 연주정보를 다수의 파트로 분해하는 연주정보 분석장치 및 연주정보로 부터 화음을 검출하는 화음검출장치에 관한 것이다.
종래의 전자악기에 있어서, 건반에서 터치되는 연주에 맞춰 자동반주를 하는 소위 자동반주기능을 구비한 것이 있다. 이런 종류의 전자악기는 반주음의 음고를 결정하기 위해 화음을 검출할 필요가 있으므로 건반으로 부터 입력되는 연주정보, 즉 터치된 건반의 키-이코드에 의해 화음을 결정하고 있다.
그런데, 건반의 고음측에서는 일반적으로 멜로디연주가 행해지므로, 이 고음측에서는 화음에 대해 비화성음이 되는 키-코드가 검출되는 빈도가 높아진다. 이 때문에 건반을 저음측 좌측 건반음역과 고음측 우측 건반음역으로 가상으로 분할하고, 좌측 건반음역에서 압건된 건반의 키-코드에 의거해서 화음을 검출하도록 하고 있다.
이와 같이 키-코드 등의 음고정보에 의해 화음을 검출하는 경우에는 화음검출에 적합한 음역이 있으며, 검출정밀도는 이 음역의 채용방법에 영향을 준다. 또, 이와 같은 음역은 1곡중에서도 변화되므로, 화음의 검출정밀도를 높이기 위해 좌측 건반음역과 우측건반음역의 경계를 스위치조작으로 변경할 수 있게 한 것이 있다. 그러나, 이와 같은 전자악기에서는 연주하면서 스위치조작을 해야하기 때문에 조작성면에서 문제가 있다.
그러나, 많은 악곡은 멜로디성부나 베이스성부 등 다수의 파트로 나눌 수 있으며, 이들 중에는 화음검출에 적합한 파트로 되는 것이 있다. 따라서 연주정보를 이와 같은 파트로 분해할 수 있으면 그 파트에 맞게 화음검출을 하여 검출정밀도를 높일 수 있다.
또, 연주정보를 다수의 파트로 분해할 수 있으면 다음과 같은 장점이 있다. 예를들면, 자동연주의 연주정보를 파트로 분해하면 원하는 파트만을 소음시켜 자동연주를 하는 것이 용이해지며, 이 자동연주에 맞춰 건반연주를 하고 소음된 파트의 연습을 할 수 있는 소위 마이너스원이라 부르는 기능을 용이하게 얻을 수 있다. 더우기 연주정보에 다른 멜로디를 부가하거나 일부 파트를 다른 멜로디로 바꿔놓는, 소위 자동편곡 등을 할 때에도 연주정보를 파트로 분해할 수 있으면 처리가 용이해 진다.
본 발명은 연주정보를 연주정보에 맞는 다수의 파트로 자동으로 분해할 수 있도록 하는 것을 과제로 한다. 또, 이와 같은 파트에 의거해서 화음을 검출함으로써 화음검출의 검출정밀도를 높이는 것을 과제로 한다.
본 발명의 제1의 특징은 다수의 음고정보를 포함하는 연주정보를 입력하는 연주정보 입력수단과, 상기 연주정보를 기억하는 연주정보 기억수단과, 상기 연주정보 기억수단에 기억된 연주정보에 시간적으로 인접한 앞의 연주정보와 현재의 연주정보의 관계에 의거해서 현재의 연주정보를 분석하여 다수의 파트로 분해하는 파트분해수단을 구비한 연주정보 분석장치에 있다.
본 발명의 제2의 특징은 다수의 음고정보를 포함하는 연주정보를 입력하는 연주정보 입력수단과, 상기 연주정보에 대한 타이밍정보를 입력하는 타이밍정보 입력수단과, 상기 연주정보의 상기 타이밍정보와 상기 음고정보에 의거해서 상기 연주정보를 다수의 파트로 분해하는 파트분해수단을 구비한 연주정보 분석장치에 있다.
본 발명의 제3의 특징은 다수의 음고정보를 포함하는 연주정보를 입력하는 연주정보 입력수단과, 상기 다수 음고정보의 상대적인 음정에 의거해서 상기 연주정보를 다수의 파트로 분해하는 파트분해수단과, 상기 파트분해수단으로 분해된 소정 파트의 연주정보에 의거해서 화음을 검출하는 화음검출수단을 구비한 화음검출장치에 있다.
본 발명의 제4의 특징은 다수의 음고정보를 포함하는 연주정보를 입력하는 연주정보 입력수단과, 상기 연주정보를 기억하는 연주정보 기억수단과, 상기 연주정보 기억수단에 기억된 연주정보에 시간적으로 인접한 앞의 연주정보와 현재의 연주정보의 관계에 의거해서 현재의 연주정보를 분석하여 다수의 파트로 분해하는 파트분해수단과, 상기 파트분해수단으로 분해된 소정 파트의 연주정보에 의거해서 화음을 검출하는 화음검출수단을 구비한 화음검출장치에 있다.
본 발명의 제5의 특징은 다수의 음고정보를 포함하는 연주정보를 입력하는 연주정보 입력수단과, 상기 연주정보에 대한 타이밍정보를 입력하는 타이밍정보 입력수단과, 상기 연주정보의 상기 타이밍정보와 상기 음고정보에 의거해서 상기 연주정보를 다수의 파트로 분해하는 파트분해수단과, 상기 파트분해수단으로 분해된 소정 파트의 연주정보에 의거해서 화음을 검출하는 화음검출수단을 구비한 화음검출장치에 있다.
제1도는 본 발명 실시예의 연주정보 분석장치 및 화음검출장치를 구비한 전자악기의 블록도이며, CPU(1)는 프로그램 메모리(2)에 격납되어 있는 제어프로그램에 의해 워킹메모리(3)의 워킹에어리어를 사용하여 전자악기 전체를 제어하고, 건반(4)의 조작에 따른 건반연주와 자동반주장치(5)에 의한 자동반주를 한다.
CPU(1)는 건반(4)의 키-이벤트를 검출하고, 키-이벤트가 있는 건반에 대응하는 키-코드를 키-온신호 또는 키-오프신호와 함께 받아들이고, 음원(6)에 키-코드와 노트온 또는 노트오프를 출력하여 건반연주에 대응하는 발음처리와 소음처리를 한다. 자동반주장치(5)는 곡의 스타일에 맞는 다수의 반주패턴을 기억하고 있으며, CPU(1)로 부터의 스타트신호에 의해 현재 선택된 스타일의 반주패턴으로 자동반주를 하고, CPU(1)로 부터의 스톱신호에 의해 자동반주를 정지한다.
또, 자동반주장치(5)는 건반연주의 진행에 따라 CPU(1)로 부터 화음이 지정되면 지정된 화음과 베이스음에 맞는 음고가 되는 반주음의 악기음신호를 발생한다. 그리고, 음원(6)으로 부터의 악기음신호와 자동반주장치(5)로 부터의 악기음신호는 믹서(7)로 합성되어 사운드 시스템(8)에 출력되며, 사운드 시스템(8)은 이 악기음신호의 D/A 변환, 증폭 등을 하여 악기음을 발생시킨다.
조작스위치(9)는 자동반주의 스타트/스톱을 지정하는 스타트/스톱스위치, 자동반주장치(5)의 스타일선택이나 템포설정을 하는 스위치, 음원(6)의 음색설정을 하는 스위치 등 각종 스위치를 구비하고 있으며, 자동반주장치(5)는 조작스위치(9)에 의해 설정된 스타일 및 템포에 따른 자동반주를 한다. 또, CPU(1)는 조작스위치(9)에 의해 설정된 템포를 타이머(10)에 설정하며, 타이머(10)는 설정된 템포에 따라 8분음표 하나 마다 CPU(1)에 인터럽트신호를 발생시킨다.
그리고, CPU(1)는 이 인터럽트 신호에 따라 인터럽트처리를 하며, 자동반주를 스타트했을 때부터 8분조 마다 템포를 카운트하므로서 소절중의 강박 또는 약박 타이밍이나 소절선의 타이밍을 검출하고, 건반(4)의 압건에 따라 발생하는 키-코드에 대해 성부해석을 한다. 그리고, 이 해석결과에 의거해서 화음검출을 하고, 검출한 화음정보를 자동반주장치(5)에 출력한다.
화음테이블(11)은 예를들면 제14도에 도시된 바와 같이, C조의 화음에 대해 화음종류와 화음구성음을 대응시킨 테이블로서, 화음구성음은 12의 음명에 대응하는 12비트의 데이터에 의해 화음구성음에 대응하는 비트를 1 그밖의 비트를 0으로서 기억하고 있다. 그리고, 화음검출시에는 12비트의 레지스터에 있어서 화음검출에 사용하는 키-코드의 음명에 대응하는 비트에 1을 세우고, 이 레지스터를 순환시프트하면서 화음테이블(11)의 12비트 데이터와의 매칭을 하므로서 화음을 검출한다. 즉, 매칭된 화음테이블(11)의 데이터에 의해 화음 종류의 데이터를 얻을 수 있으며, 그 때의 시프트회수에 따라 화음 기본음의 데이터를 얻을 수 있다.
여기서, 본 실시예의 성부해석에서는 건반(4)의 압건음을, 상성부(上聲部)에서 선율을 잡는 멜로디성부, 멜로디에 화성음을 가하는 멜로디코드 성부, 하성부(下聲部)에서 베이스를 잡는 베이스성부, 베이스에 화성을 주는 베이스코드성부의 4가지 파트로 분해된다. 또, 압건수에 따라 1음성부 해석, 2음성부 해석, 3음성부 해석 및 4음성부 해석을 한다.
이 성부해석에서 4가지 파트로 분해하는 판단조건은 음의 높이, 현재의 타이밍이 소절의 머리인지 아닌지, 현재의 타이밍이 강박음인지 약박음인지, 앞의 베이스성부음과의 음정, 앞의 멜로디코드 성부음과의 음정 등 다수 조건의 조합인데, 이러한 조건에 따라 현재의 키-코드가 어느 파트에 속하는지를 결정한다. 따라서 이 4개의 파트는 그 음역이 고정 음역이 아니라 연주정보에 따라 변환되는 것이다
그리고, 이와 같이 연주의 진행에 따라 성부해석으로 키-코드를 각 파트에 할당하면서 베이스코드성부에 키-코드가 있으면 이 베이스코드성부에 의거한 화음검출을 하고, 이 베이스코드 성부에 키코드가 없으면 멜로디 코드성부의 키-코드에 의거한 화음검출을 한다.
또, 본 실시예에서는 자동반주장치(5)에는 성부해석으로 얻어진 베이스성부의 베이스음과 검출화음이 입력되며, 자동반주장치(5)는 입력된 베이스음이 입력된 화음의 기본음과 다를 때에는 이 베이스음을 우선적으로 발음한다. 즉, 베이스음이 화음 본래의 기본음과 다른 소위 분수화음에 대해서도 그 베이스음을 발음할 수 있도록 구성되어 있다.
본 실시예에서는 키-코드를 상기 4개의 파트로 분해하는 데 있어서 각 파트와 키-코드의 관계를 다음식(1)의 리스트구조로 나타내고 있다.
[[a1].[b1.b2. ...]. [c1.c2. ...]. [d1.d2. ...]] .... (1)
여기서 [, ]는 리스트의 각 요소를 묶는 기호, .는 리스트의 각 요소를 구획하는 기호, a1은 베이스성부의 키-코드(베이스성부는 1음), b1,b2등은 베이스코드 성부의 키코드, c1.c2등은 멜로디코드 성부의 키-코드, d1,d2등은 멜로디성부의 키-코드이며, 상기 식(1) 전체는 각 파트마다의 키-코드의 리스트를 각각 요소로 하는 전체 리스트(이후 전해석 리스트라 한다)를 나타낸다.
제2도는 제어프로그램의 메인루우틴의 플로우차트, 제3도 ~ 제13도는 서브루우틴 및 인터럽트처리 루우틴의 플로우차트이며, 각 프로우차트에 의거해서 실시예의 동작을 설명한다. 또, 이하의 설명에서는 건반으로 부터 입력되는 키-코드를 「입력음」, 각 파트의 리스트 요소가 되는 키-코드를 「검출음」이라고 필요에 따라 적당히 표기하면서 설명하겠다. 또, 플로우차트에 있어서, 「베이스성부」를 「B성부」,「베이스코드성부」를 「BC성부」, 「멜로디코드성부」를 「MC성부」및 「멜로디성부」를 「M성부」라 표기하겠다. 더우기, 이하의 설명 및 각 플로우차트에 있어서 각 레지스터, 플랙 및 리스트 등을 하기의 레벨로 표기하며, 특별히 양해를 구하지않는 한 그 내용은 같은 레벨로 표시한다.
BCLST : 현재의 베이스코드 성부의 리스트
BSKC : 자동반주장치에 출력하는 검출된 베이스성부의 검출음
butiLis : 최하음을 제외한 압건음 리스트
butIUI5 : 압건음의 하부로 부터 5도 이내의 간격을 취하는 최하음 이외의 음 리스트
CHRD : 자동반주장치에 출력하는 검출화음의 정보
LIST : 전해석 리스트
Nt : 1음성부 해석시 해석의 대상이 되는 입력음
Nt1 : 압건하부음(또는 최하음)
Nth :압건상부음
Ntm : 압건중간음
Ntm2 : 압건중음
Nt Lis : 압건음 리스트
PBCtop : 전회의 베이스코드 성부의 최상음 검출음
PBCLST : 전회의 베이스코드 성부의 검출음 리스트
PBS : 전회의 베이스성부의 검출음
PMbtm : 전회의 멜로디성부 최하음의 검출음
PMCtop : 전회의 멜로디코드 성부의 최상음 검출음
RUN : 자동반주의 스타트/스톱을 나타내는 플랙(표시문자)
rLis : 압건음으로 부터 특정음을 제외한 음리스트
ShrLis : 전해석리스트의 베이스코드성부 또는 멜로디코드 성부의 동음을 모든 리스트
UndInt5 : 압건음의 하부로 부터 5도 이내의 간격을 취하는 음리스트
vI : 1음성부 해석 직후의 전해석 리스트
전원의 투입에 따라 제2도의 메인루우틴 처리를 개시하면 스텝M1에서 각 플러그 및 레지스터의 리셋 등 초기설정을 하며, 스텝M2에서는 건반(4)의 키-이벤트의 유무를 판정하고, 키-이벤트가 없으면 스텝M6로 진행하고, 키-이벤트가 있으면 스텝M3에서 키-온이벤트인지 여부를 판정한다. 키-온이벤트이면 스텝M4에서 발음처리를 하여 스텝M6으로 진행하고, 키-온이벤트가 아니면 스텝M5에서 소음처리를 하여 스텝M6로 진행한다.
스텝M6에서는 조작스위치(9)에 있어서 스타트/스톱 스위치의 조작이벤트의 유무를 판정하여 이벤트가 없으면 스텝M2로 돌아가고, 이벤트가 있으면 스텝M7에서 플러그 RUN을 반전시키고, 스텝M8에서 RUN=1인지 여부를 판정한다. 그리고, RUN=1이면 스텝M9에서 자동반주장치(5)에 스타트신호를 출력하여 스텝M2으로 복귀되고, RUN=0이면 스텝M10에서 자동반주장치(5)에 스톱신호를 출력하여 스텝M2로 복귀한다.
이상의 처리에 의해 건반연주시의 발음과 소음이 행해짐과 동시에, 조작스위치(9)의 스타트/스톱 스위치 조작에 따른 자동반주의 개시와 정지가 행해진다.
제3도의 인터럽트 처리는 타이머(10)로 부터의 인터럽트 신호에 의해 8분음표 마다 기동되는데, 먼저 스텝i1에서「RUN=1이고 또 압건수 N0」이라는 조건을 만족하는지 여부를 판정하고, 조건을 만족하지 않으면 그대로 메인루우틴으로 복귀하고, 조건을 만족하면 자동반주중에 압건음이 있으므로, 스텝i2에서 제4도 이후의 성부해석을 한다.
이 성부해석이 종료되면 스텝i3에서 베이스코드 성부의 검출음 유무를 판정하고, 베이스코드 성부에 검출음이 있으면 스텝i4에서 제12도의 베이스코드를 중심으로 한 화음검출처리를 하여 스텝i7로 진행한다. 또, 베이스코드성부에 검출음이 없으면 스텝i5에서 멜로디코드성부의 검출음 유무를 판정하고, 멜로디코드 성부에 검출음이 없으면 그대로 메인루우틴으로 복귀하고, 멜로디코드성부에 검출음이 있으면 스텝i6에서 제13도의 멜로디코드를 중심으로 한 화음검출처리를 하고 스텝i7로 진행한다.
이상의 처리에 의해 성부해석으로 얻어진 전해석리스트LIST에 의거해서 베이스코드 성부와 멜로디코드 성부의 검출음이 화음검출에 이용되며, 베이스코드 성부에서 우선적으로 화음검출을 하고, 베이스코드성부에 검출음이 없으면 멜로디코드 성부에서 화음검출을 할 수 있다.
스텝i7에서는 화음검출이 성공했는지 여부를 판정하고, 화음검출이 실패하면 그대로 메인루우틴으로 복귀하고, 화음검출에 성공하면 스텝i8에서 LIST 베이스성부의 요소(1개의 검출음)를 레지스터(BSKC)에 격납함과 동시에, 스텝i9에서 검출된 화음의 정보를 레지스터(CHRD)에 격납하고, 스텝i10에서는 자동반주장치(5)로 베이스음(BSKC)과 화음(CHRD)를 출력하여 메인루우틴으로 복귀한다.
제4도의 성부해석에서는 스텝A1,A4,A6에서 압건음수를 각각 판정하여 압건음수가 1음인 경우, 2음인 경우, 3음인 경우 및 4음 이상인 경우의 처리를 하고, 1음인 경우에는 스텝A2에서 압건음의 키-코드(입력음)를 Nt에 격납하여 스텝A3에서 제5도의 1음성부 해석을 하며, 2음인 경우에는 스텝A5에서 제9도의 2음성부 해석을 하고, 3음인 경우에는 스텝A7에서 제10도의 3음성부 해석을 하고, 4음 이상인 경우에는 스텝A8에서 제11도의 4음 이상 성부해석을 하는데, 성부해석이 종료되면 각각 원래의 루우틴으로 복귀한다.
제5도의 1음성부 해석에서는 스텝S11에서 전회의 베이스음 키-코드(현재 LIST의 베이스성부 키-코드)를 PBS에 격납한다. 또한, 초기상태 혹은 지금까지 베이스음이 검출되지 않았을 때에는 키-코드 무효 데이터가 PBS에 격납되므로, 전회의 베이스음이 없어진다.
다음에, 스텝S12에서 전회의 베이스음(PBS)의 유무를 판정하여, 전회의 베이스음(PBS)이 없으면 스텝S13에서 Nt≤G3코드(키-코드)인지 여부 즉 입력음 Nt가 「-점 도(소)」 또는 그것보다 아래의 음인지 아닌지를 판정하고, Nt≤G3 코드이면 Nt를 베이스음으로 간주하여 스텝S104로 진행하며, Nt≤G3 코드가 아니면 Nt를 멜로디음으로 간주하여 스텝S105로 진행한다.
스텝S12에서 PBC가 있으면 스텝S14에서 현재의 타이밍이 소절머리인지 여부를 판정하고, 소절머리이면 스텝S18 이후의 처리를 하고, 소절머리가 아니면 스텝S15에서 현재의 타이밍이 강박인지 아닌지를 판정하며, 강박이면 스텝S16에서 제6도의 1음해석 강박 처리를 하면서 원래의 루우틴으로 복귀하고, 강박이 아니면 스텝S17에서 제7도의 1음해석 약박의 처리를 하면서 원래의 루우틴으로 복귀한다.
스텝S18 이후는 현재의 타이밍이 소절머리인 경우의 처리로서, 먼저 스텝S18에서 「 Nt≤G3 코드 또는 NtPBS+12」의 조건을 만족하는지 여부를 판정하고, 조건을 만족하면 스텝S104로 진행하고, 조건을 만족하지 않으면 스텝S19에서 「NtG3 코드 또는 NtPBS+7」의 조건을 만족하는지 여부를 판정한다. 스텝S19에서 조건을 만족하면 스텝S104로 진행하고, 조건을 만족하지 않으면 스텝S101에서 전회의 멜로디성부에 검출음이 있는지 여부를 판정하여, 없으면 스텝S104로 진행하고, 있으면 스텝S102에서 전회의 멜로디성부 검출음중 최하음을 PMbtm에 격납하여 스텝S103으로 진행한다.
스텝S103에서는「 NtPMbtm-12」의 조건, 즉 「입력음 Nt가 전회 멜로디성부의 최하음(PMbtm)보다 1옥타브 이상 아래음이다」라는 조건을 만족하는지 여부를 판정하고, 조건을 만족하면 스텝S104로 진행하고, 조건을 만족하지 않으면 스텝S105로 진행한다.
스텝S104는 전해석 리스트LIST의 베이스성부 요소를 입력음Nt만으로 하여 다른 파트의 리스트를 없애는 처리이며, 스텝S105는 전해석리스트LIST의 멜로디성부의 요소를 입력음Nt만으로 하여 다른 파트의 리스트를 없애는 처리이다. 이 스텝S104 또는 스텝S105의 처리가 종료되면 원래의 루우틴으로 복귀한다.
이상과 같이 1음성부 해석에서는 전회 베이스음이 없을 경우 G3코드를 기준으로 하여 베이스성부나 멜로디성부에 할당하고, 전회 베이스음이 있을 경우에는 현재의 타이밍이 소절머리인지 아닌지에 따라 다른 조건에서 해석한다. 소절머리인 경우에는 G3코드와 전회 베이스음PBS 또는 전회 멜로디성부 최저음 PMbtm에 따른 조건에서 해석을 하는데, 예를들면 제15도와 같이 베이스성부 또는 멜로디성부에 할당된다. 또, 전회 베이스음이 있고, 현재의 타이밍이 소절머리가 아닌 경우에는 현재의 타이밍이 강박 타이밍인지 약박 타이밍인지에 따라 해석을 한다.
제6도의 1음해석 강박의 처리에서는 스텝a1에서 전회의 멜로디성부 최저음을 PMbtm에 격납하고, 전회의 베이스코드 성부 최고음을 PBCtop에 격납하고, 또 전회의 베이스코드 성부의 리스트를 PBCLIST에 격납하고 스텝a2로 진행한다. 스텝a2에서는 LIST=[ [PBS]. [].[].[] ]인지 여부, 즉 현재까지 검출된 키-코드(LIST의 요소)가 전회의 베이스음 PBS뿐인지 여부를 판정하고, 전회의 베이스음뿐이라면 스텝a3 이후의 처리를 하고, 그밖의 음이 검출되면 스텝a7 이후의 처리를 한다.
제16도는 1음해석강박의 처리시의 입력음Nt에 따른 파트의 할당을 나타낸 도면으로서, 스텝a3, 스텝a4 및 스텝a5에서는 현재의 검출음Nt이 전회의 베이스음PBS에 대해 어떠한 음정 관계에 있는지를 판정하고, 「PBS-2Nt≤PBS+12」이면 스텝a19에서 Nt를 베이스성부 요소로서 베이스코드 성부, 멜로디코드 성부, 멜로디성부를 공(빈)리스트로 하고, 「PBS+2Nt≤PBS+12」이면 스텝a15에서 PBS를 베이스성부의 요소로 함과 동시에 Nt를 베이스코드 성부의 요소로 하여 멜로디코드 성부, 멜로디성부를 공리스트로 한다.
또 「NtPBS + 12」이면 스텝a14에서 PBS를 베이스성부의 요소로 함과 동시에 Nt를 멜로디성부의 요소로서 베이스코드성부, 멜로디코드성부를 공리스트로 한다. 또, 이 범위가 아니면, 즉 「NtPBS-2」이면 스텝a6에서 Nt를 베이스성부의 요소로 함과 동시에 PBS를 베이스코드 성부의 요소로 하고, 멜로디코드 성부 및 멜로디 성부는 공리스트로 한다.
스텝a2에 있어서, LIST에 현재까지 검출된 음이 전회의 베이스음 PBS만이 아닌 경우에는 스텝a7, 스텝a8 및 스텝a9에서 현재의 검출음Nt가 전회의 베이스음 PBS에 대해 어떠한 음정 관계에 있는지를 판정한다. 즉, 「PBS=Nt」이면 그대로 원래의 루우틴으로 복귀하고, 「PBS-2Nt≤PBS」이면 스텝a19에서 Nt를 베이스 성부의 요소로 하여 베이스코드 성부, 멜로디코드 성부, 멜로디성부를 공리스트로 한다. 또, 「NtPBS-2」이면 스텝a10에서 전회의 베이스코드 성부의 리스트에 PBS를 가입시켜 BCLST에 격납하고, 스텝a11에서 Nt를 베이스성부의 요소로 함과 동시에 BCLST를 베이스코드 성부의 리스트로 하고, 멜로디코드 성부 및 멜로디성부는 공리스트로 한다. 또, 상기 범위가 아니면, 즉 「NtPBS」이면 스텝a12 이후의 처리를 한다.
스텝a12에서는 LIST의 베이스코드 성부가 비어있는지 아닌지를 판정하고, 비어있으면 스텝a13에서 「PMbtm이 있고, 또 Nt≥PMbtm-7」의 조건을 만족한는지 여부를 판정하여, 조건을 만족하면 스텝a14에서 PBS를 베이스 성부의 요소, Nt를 멜로디성부의 요소로 하고, 베이스코드 성부와 멜로디성부는 공리스트로 한다. 또, 조건을 만족하지 않으면 스텝a15에서 PBS를 베이스성부의 요소, Nt를 베이스코드 성부의 요소로 하고, 멜로디코드 성부와 멜로디성부는 공리스트로 한다.
한편, 스텝a12에서 LIST의 베이스코드 성부가 비어 있지않으면 스텝a16에서 「Nt≤PBCtop」인지 여부를 판정하고, 「Nt≤PBCtop」이 아니면 스텝a17에서 제8도의 아르페지오 확장처리를 하며, 「Nt≤PBCtop」이면 스텝a18에서 LIST의 베이스코드 성부안에 Nt와 일치하는 것이 있는지 여부를 판정하고, 일치하는 것이 있으면 그대로 원래의 루우틴으로 복귀하고, 일치하는 것이 없으면 스텝a19에서 Nt를 베이스 성부의 요소로 하고, 베이스코드 성부, 멜로디코드 성부, 멜로디 성부를 공리스트로 하면서 원래의 루우틴으로 복귀한다.
제7도의 1음해석 약박의 처리에서는 스텝b1에서 전회의 멜로디성부 최저음의 키-코드를 PMbtm에 격납하고 전회의 베이스코드 성부 최고음의 키-코드를 PBCtop에 격납하고, 또 전회의 베이스코드 성부의 리스트를 PBCLIST에 격납하고 스텝b2로 진행한다. 스텝b2에서는 현재까지 검출된 키-코드가 전회의 베이스음PBS뿐인지 아닌지를 판정하여, 전회의 베이스음뿐이라면 스텝b3 이후의 처리를 하고, 그밖의 음이 검출되면 스텝b7 이후의 처리를 한다.
제17도는 1음해석 강박처리에서의 입력음 Nt에 따른 파트의 할당을 나타낸 도면으로서, 스텝b3, 스텝b4 및 스텝b5에서는 입력음 Nt와 전회 베이스음PBS와의 음정관계를 판정하여, 입력음 Nt의 음고에 따라 전해석 리스트를 갱신하여 원래의 루우틴으로 복귀한다. 즉, 「Nt=PBS」이면 그대로 복귀하고, 「PBSNt≤PBS+16」이면 스텝b14에서 PBS를 베이스성부의 요소, Nt를 베이스코드 성부의 요소로 하고, 멜로디코드 성부와 멜로디성부는 공리스트로 한다. 또한, 「NtPBS+16」이면 스텝b13에서 PBS를 베이스 성부의 요소, Nt를 멜로디성부의 요소로 하고, 베이스코드 성부와 멜로디코드 성부는 공리스트로 한다. 또한 이들 범위밖(NtPBS)이면 스텝b6에서 Nt를 베이스 성부의 요소, PBS를 베이스코드 성부의 요소로 하고, 멜로디코드 성부와 멜로디성부는 공리스트로 한다.
또한, 스텝b2에 있어서, 현재까지 검출된 음이 전회의 베이스음PBS뿐이 아닌 경우에는 스텝b7 및 스텝b8에서 입력음 Nt와 전회 베이스음PBS과의 음정관계를 측정하고, 입력음 Nt의 음고에 따라 전해석 리스트를 갱신하여 원래의 루우틴으로 복귀한다. 즉, 「Nt=PBS」이면 그대로 복귀하고, 「NtPBS」이면 스텝b9에서 전회 베이스코드 성부의 리스트에 PBS를 가입시켜 BCLST에 격납하고, 스텝b10에서 Nt를 베이스성부의 요소, BCLST를 베이스코드 성부의 리스트로 하고, 멜로디코드 성부와 멜로디 성부를 공리스트로 한다. 또한, 상기 범위밖 (NtPBS)이면 스텝b11 이후의 처리를 한다.
스텝b11에서는 LIST의 베이스코드 성부가 비어 있는지 여부를 판정하여, 비어있으면 스텝b12에서 「PMbtm이 있고, 또 Nt≥PMbtm-7」의 조건을 만족한는지 여부를 판정하고, 입력음 Nt의 음고에 따라 전해석 리스트를 갱신하여 원래의 루우틴으로 복귀한다. 즉, 조건을 만족하면 스텝b13에서 PBS를 베이스 성부의 요소, Nt를 멜로디성부의 요소로 하고, 베이스코드 성부와 멜로디코드 성부는 공리스트로 한다. 또, 조건을 만족하지 않으면 스텝b14에서 PBS를 베이스성부의 요소, Nt를 베이스코드 성부의 요소로 하고, 멜로디코드성부와 멜로디성부는 공리스트로 한다.
한편, 스텝b11에서 LIST의 베이스코드 성부가 비어 있으면 스텝b15에서 「Nt≤PBCtop」인지 아닌지를 판정하며, 「Nt≤PBCtop」이 아니면 스텝B16에서 제8도의 아르페지오 확장처리를 하고, 「Nt≤PBCtop」이면 스텝b17에서 LIST의 베이스코드 성부안에 Nt와 일치하는 것이 있는지 여부를 판정한다. 이 스텝S17의 판정에서 일치하는 것이 있으면 그대로 원래의 루우틴으로 복귀하고, 일치하는 것이 없으면 스텝b18에서 전회의 베이스코드 성부의 리스트에 Nt를 가입시켜 BCLST에 격납하고, 스텝b19에서 PBS를 베이스성부의 요소, BCLST를 베이스코드 성부의 리스트로 하고, 멜로디성부와 멜로디성부를 공리스트로 하여 원래의 루우틴으로 복귀한다.
이상의 1음해석 강박과 1음해석 약박 처리에서는 입력음Nt을 할당하는 조건(음역)이 다르며, 예를들면 전회까지 베이스만 검출하는 경우에는 제17도에 나타낸 바와 같은 약박처리에서는 Nt가 PBS이하일때에만 베이스성부가 되는데 반해, 제16도에 나타낸 바와 같이 강박 처리에서는 Nt가 PBS의 1음 위(PBS+2)까지 베이스성부가 된다.
또, 전회까지 베이스만 검출하지 않고 LIST의 베이스코드 성부가 비어있지 않은 경우, PBSNt≤PBStop일 때, 약박처리에서 Nt는 베이스코드 성부에 더해지는데 반해, 강박처리에서는 베이스성부가 된다. 이와 같이 검출음 Nt가 전회의 베이스음 PBS근방일 때, 강박인 경우에는 약박인 경우보다 베이스음이 되는 경우가 많으며, 강박으로 베이스약박으로 베이스코드라는 악곡 경향에 따른 처리가 되고 있다.
제8도의 아르페지오 확장처리는 입력음Nt가 전회의 베이스코드 성부의 최고음 PBCtop보다 높은 경우의 처리인데, 우선 스텝c1에서 전회의 멜로디코드 성부의 최고음 키-코드를 PMCtop에 격납한다. 다음에, 스텝c2, 스텝c3에서 입력음Nt과 전회의 베이스코드 성부의 최고음 PBCtop과의 음정관계를 판정하고, 입력음Nt의 음고에 따라 전해석 리스트를 갱신하여 원래의 루우틴으로 복귀한다.
제18도는 아르페지오 확장처리시의 입력음 Nt에 따른 파트의 할당을 나타낸 도면으로서, 스텝c2에서 「PBCtopNt≤PBCtop+9」이면 스텝c7에서 전회의 베이스코드 성부의 리스트PBCLST에 Nt를 요소로 하여 가입하고, 그 리스트를 BCLST에 격납하여 스텝c8에서 PBS는 베이스성부의 요소, BCLST를 베이스코드 성부의 리스트로 하고, 멜로디코드 성부와 멜로디성부는 공리스트로 한다. 또, 스텝c3에서 「PBCtop+9 Nt ≤PBCtop+16」이 아니면 스텝c10에서 PBS를 베이스성부의 요소, 전회의 베이스코드 성부음의 리스트 PBCLST를 그대로 베이스코드 성부의 리스트, Nt를 멜로디 성부의 요소로 하고, 멜로디코드 성부는 공리스트로 한다.
스텝c3에서 「PBCtop+9 Nt ≤PBCtop+16」이면 스텝c4에서 전회 멜로디성부의 리스트가 비어 있는지 여부를 판정하고, 비어 있으면 상기 스텝c7 이후의 처리를 하고, 비어있지 않으면 스텝c5에서 「Nt ≤PMCtop+9」인지 여부를 판정한다. 「Nt≤PMCtop+9」이면 스텝c6에서 PBS를 베이스성부의 요소, 전회의 베이스코드 성부음의 리스트 PBCLST를 그대로 베이스코드 성부 리스트, Nt를 멜로디코드의 성부 요소로 하고, 멜로디성부를 공리스트로 하여 원래의 루우틴으로 복귀한다. 한편, 스텝c5에서 「Nt≤PMCtop+9」가 아니면 스텝c9에서 「Nt≤PMbtm-7」인지 여부를 판정하고, 「Nt≤PMbtm-7」이면 스텝c7 이후의 처리를 하고, 「Nt≤PMbtm-7」이 아니면 스텝c10의 처리를 한다.
이 아르페지오 확장처리에서는, 예를들면 제17도에 도시된 바와 같이 전회의 베이스코드 성부의 최고음 PBCtop보다 높은 키-코드가 PBCtop+9, PMCtop+9, PMbtM-7, PBCtop+16과의 음정관계에 따라 베이스코드 성부, 멜로디코드 성부 또는 멜로디 성부에 할당된다.
이상의 1음 해석강박, 1음해석 약박 및 아르페지오 확장의 각 처리를 포함하는 1음성부 해석의 처리는 2음성부 해석, 3음성부 해석 및 4음 이상 성부해석에도 공통되는 기본적인 처리로서, 다음에 설명하는 바와 같이 2음성부 해석, 3음성부 및 4음 이상 성부해석의 각 처리에서 각각 다수개인 입력음의 최하음에 대해 먼저 1음성부 해석을 한다.
또, 제9도 ~ 제11도에 나타낸 2음성부 해석, 3음성부 해석 및 4음이상 성부 해석의 각 처리는 소절머리인지 여부, 각 압건음의 음정관계 및 1음성부 해석의 결과인 전해석 리스트LIST의 내용에 따라 전해석 리스트를 갱신하는 처리로서, 간단히 하기 위해 요부 이외에는 스텝에 따른 설명을 생략한다. 또, 제9도 ~ 제11도의 플로챠트에 있어서, 육각형 판정블록에서 「v1=[...]」라 표기한 것은 좌측변 리스트v1의 요소가 우측변 리스트의 요소와 같은지 여부의 판정을 나타낸다. 또, 4각 블록에서 리스트의 내용만을 표기한 것은 전해석 리스트를 그 표기한 내용으로 갱신하는 것 (LIST←[...])을 나타낸다.
제9도의 2음성부 해석의 처리에서는, 먼저 스텝S21에서 전회의 베이스음(베이스 성부)의 키-코드를 PBS에격납하고, 압건 2음(입력음)의 아래음의 키-코드를 Nt1에 격납하고, 또 압건2음의 상부음의 키-코드를 Nth에 격납하여 스텝S22로 진행한다. 다음에, 스텝S22에서 아래음 Nt1을 Nt에 세트하고, 이 Nt에 대해 스텝S23에서 상술한 1음성부의 해석처리를 하고, 스텝S24에서 이 1음성부 해석의 결과가 되는 전해석 리스트LIST를 리스트v1에 격납하고 스텝S25로 나아간다.
스텝S25에서는 현재의 타이밍이 소절머리인지 아닌지를 판정하고, 소절머리인면 스텝S26으로 진행하고, 소절머리가 아니면 스텝S27로 진행한다. 그리고, 스텝S26 또는 스텝S27에서 Nt1과 Nth의 음정차가 1옥타브를 초과하는지 아닌지를 판정하고, 소절머리에서 1옥타브 이내인 경우, 소절머리에서 1옥타브를 초과하는 경우, 소절머리가 아니고 1옥타브 이내의 경우, 소절머리가 아니고 1옥타브를 초과하는 경우에 대해, 각각 플로우차트와 같이 리스트v1의 상태에 따라 Nth를 파트로 할당하여 전해석 리스트를 갱신한다.
소절머리에서 Nt1의 음정차가 1옥타브 이내일 경우에는 스텝S201 이후의 처리에 의해, 멜로디코드 성부 또는 멜로디 성부에 대해서는 Nt1과 Nth를 쌍으로 하여 할당하고, 베이스성부 및 베이스코드 성부에 대해서는 Nt1을 베이스성부, Nth를 베이스코드 성부로 하여 인접한 파트에 할당한다.
소절머리에서 Nt1과 Nth의 음정차가 1옥타브를 초과하는 경우에는 스텝S202 이후의 처리에 의해, 멜로디코드 성부와 멜로디 성부에 대해서는 Nt1을 멜로디코드성부, Nth를 멜로디 성부에 할당하고, 베이스성부와 멜로디 성부에 대해서는 Nt1을 베이스성부, Nth를 멜로디 성부가 되도록 떨어진 파트에 할당한다.
소절머리가 아니고 Nt1과 Nth의 음정차가 1옥타브 이내인 경우에는 스텝S203 이후의 처리에 의해, 베이스성부가 Nt1이고 다른 파트가 비어있을때에는 Nt1을 베이스성부, Nth를 베이스코드 성부에 할당하고, 베이스성부가 Nt1이 아니거나 다른 파트가 비어있지 않을 때에는 PBS를 베이스성부로 하고, Nt1과 Nth를 쌍으로 하여 베이스코드 성부 또는 멜로디코드 성부 또는 멜로디성부에 할당한다.
소절머리가 아니고 Nt1과 Nth의 음정차가 1옥타브를 초과하는 경우에는 스텝S204 이후의 처리에 의해, 베이스성부가 Nt1이고 다른 파트가 비어있을 때에는 Nt1을 베이스성부, Nth를 멜로디 성부에 할당하고, 베이스성부가 Nt1이 아니거나 다른 파트가 비어있지 않을 때에는 PBS를 베이스성부, Nth를 멜로디성부로 하고, Nt1을 베이스코드 성부 또는 멜로디코드 성부에 할당한다.
제10도의 3음성부 해석처리에서는, 먼저 스텝S31에서 전회의 베이스음 키-코드를 PBS에, 압건3음 (입력음) 아래음의 키-코드를 Nt1에, 중간음의 키-코드를 Ntm에, 상부음의 키-코드를 Nth에 각각 격납한다. 다음에, 스텝S32에서 하부음Nt1을 Nt에 세트하고, 이 Nt에 대해 스텝S33에서 상술한 1음성부의 해석처리를 하고, 스텝S34에서는 이 1음성부 해석의 결과가 되는 전해석 리스트LIST를 리스트v1에 격납하여 스텝S35로 진행한다.
스텝S35에서는 소절머리인지 아닌지를 판정하고, 소절머리의 경우와 그밖의 경우에 대해 스텝S36 및 스텝S37 이후의 처리에서 압건 3음의 음정관계와 v1=[[Nt1].[].[].[] ]인지 여부에 의거해서 Nt1, Nth를 파트로 할당하여 전해석 리스트를 갱신한다.
즉, 소절머리에서 상부음과 아래음이 중간음으로부터 모두 5도 이내일 때, v1=[[Nt1].[].[].[] ]이면 Nt1을 베이스성부, Ntm과 Nth를 베이스코드 성부로 하고, v1=[[Nt1].[].[].[] ]가 아니면 Nt1, Ntm 및 Nth의 3음을 베이스코드 성부로 한다. 또, 소절머리가 아니고 상부음과 하부음이 중간음부터 모두 5도 이내일 때, v1=[[Nt1].[].[].[] ] 이면 Nt1을 베이스성부, Ntm과 Nth를 베이스코드 성부로 하고, v1=[[Nt1].[].[].[] ]가 아니면 PBS를 베이스성부, Nt1, Ntm 및 Nth의 3음을 베이스코드 성부로 한다. 이와 같이 소절머리인 경우에는 화음이 변화되기 쉬우므로 베이스성부에 PBS를 사용하지 않으며, 소절머리가 아닌 경우에는 화음이 계속되기 쉬우므로 베이스성부에 PBS를 사용하는 경우가 있다.
또, 플로차트에서 알 수 있듯이, 상부음과 아래음이 중간음부터 모두 5도 이내가 아닌 경우, 소절머리일 때에는 Nt1, Ntm 및 Nth를 저음측으로 하는 경향으로 할당하고, 소절머리가 아닐 때에는 Nt1, Ntm 및 Nth를 고음측으로 하는 경향으로 할당한다. 또, 이와 같이 상부음과 아래음이 중간음부터 모두 5도 이내가 아닐 경우에도 소절머리인 경우에는 베이스성부에 PBS를 사용하지 않고 Nt1을 베이스성부가 되는 경향으로 할당하고, 소절머리가 아닌 경우에는 PBS가 베이스 성부가 되는 경향으로 할당한다.
또, 플로우차트에 있어서, 「상부 2음 8도보다 음정큼」은 「Ntm과 Nth 사이의 음정이 8도보다 크다」는 것을 나타내며, 「하부 2음 8도 이내」는 「Nt1과 Ntm 사이의 음정이 8도 이내이다」라는 것을 나타낸다. 또, 「상부 2음8도 이내」는 「Ntm과 Nth 간의 음정이 8도 이내이다」라는 것을 나타내며, 「5도」인 경우에도 마찬가지이다.
제11도의 4음 이상 성부해석의 처리에서는, 먼저 스텝S41에서 전회의 베이스음의 키-코드를 PBS에, 압건음인 최하음의 키-코드를 Nt1에, 압건음의 리스트를 NTLis에, 최하음을 제외한 압건음의 리스트를 butlLis에 각각 격납한다. 다음에는 스텝S42에서 최하음 Nt1을 Nt에 세트하고, 이 Nt에 대해 스텝S43에서 1음성부의 해석처리를 하고, 스텝S44에서 이 1음성부 해석의 결과가 되는 전체해석 리스트LIST를 리스트v1에 격납하여 스텝S45로 진행한다.
스텝S45에서는 최하음과 그 다음으로 낮은 음(아래 2음)의 음정차가 8도보다 큰지 아닌지를 판정하고, 크면 스텝S46의 판정으로 v1=[ [Nt1].[].[].[] ]이면 Nt1을 베이스성부, 리스트butlLis를 베이스코드 성부로 하고 v1=[ [Nt1]. [].[].[] ]이 아니면 PBS를 베이스성부, 압건음리스트 NTLis를 베이스코드 성부로 한다. 또, 아래 2음의 음정차가 8도 이상이면 스텝S47에서 이 아래 2음의 음정차가 5도 이내인지 여부를 판정하고, 5도 이내이면 스텝S48 이후의 처리를 하며, 5도 이내가 아니면 스텝S49 이후의 처리를 한다.
스텝S48에서는 압건음리스트NTLis의 아래음부터 음정차가 차례로 5도 이내의 간격을 취하는 음의 리스트를 취해서 리스트UndInt(5)에 격납하고, 스텝S401에서 압건음 리스트NTLis의 요소로 부터 리스트UndInt(5)의 요소를 제거한 리스트를 작성하여 리스트rLis에 격납하여 스텝S402로 진행한다.
그리고, 스텝S402의 판정으로 v1=[ [Nt1]. [].[].[] ]가 아니면 PBS를 베이스성부, 리스트UndInt(5)를 베이스코드성부, 리스트rLis를 멜로디코드성부로 한다. 또, v1=[ [Nt1]. [].[].[] ]이면 스텝S403에서 리스UndInt(5)의 요소로 부터 Nt1을 제거한 리스트를 작성하여 리스트but1UI5에 격납하고, Nt1을 베이스성부, 리스트but1UI5를 베이스코드 성부, 리스트rLis를 멜로디코드 성부로 한다.
한편, 스텝S49에서는 압건음 리스트NTLis 아래음부터 2번째 음을 Ntm에, 아래음에서 3번째음을 Ntmn(2)에 각각 격납하고, 스텝S404에서 Ntm과 Ntm(2) 사이의 음정이 5도 이내인지 여부를 판정하고, 5도 이내이면 스텝S405로 진행하고, 5도 이내가 아니면 스텝S409로 진행한다. 그리고, 스텝S405 또는 스텝S409에서 현재의 타이밍이 소절머리인지 여부를 판정하고, Ntm과 Ntm(2) 사이의 음정이 5도 이내에서 소절머리인 경우, 5도 이내에서 소절머리가 아닌 경우, 5도를 초과하여 소절머리인 경우, 5도를 초과하여 소절머리가 아닌 경우에 대해 압건음을 파트에 할당하여 전해석 리스트를 갱신한다.
5도 이내에서 소절머리인 경우에는 Nt1을 베이스성부, 리스트UndInt(5)를 베이스코드 성부, 리스트rLis를 멜로디코드 성부로 한다. 또, 5도 이내에서 소절머리가 아닌 경우에는 스텝S406에서 압건음 리스트NTLis의 아래음부터 음정차가 차례로 5도 이내의 간격을 취하는 음의 리스트를 취하여 리스트UndInt(5)에 격납하고, 스텝S407에서 압건음 리스트NTLis의 요소에서 리스트UndInt(5)의 요소를 제거한 리스트를 작성하여 리스트rLis에 격납하고 스텝S408로 진행한다.
그리고, 스텝S408의 판정으로 v1=[ [Nt1]. [].[].[] ]이 아니면 PBS를 베이스성부, Nt1을 베이스코드 성부, 리스트UndInt(5)를 멜로디코드성부, 리스트rLis를 멜로디성부로 한다. 또, v1=[ [Nt1].[].[].[] ]이면 Nt1을 베이스 성부, 리스트UndInt(5)를 베이스코드성부, 리스트rLis를 멜로디코드 성부로 한다.
5도를 초과하여 소절머리인 경우에는 Nt1을 베이스성부, Ntm을 베이스코드 성부, 멜로디코드성부, 리스트rLis를 멜로디코드 성부로 한다. 또, 5도를 초과하고 소절머리가 아닌 경우에는, 스텝S410에서 압건음리스트NTLis의 요소에서 Nt1과 리스트UndInt(5)의 요소를 제거한 리스트를 작성하여 리스트rLis에 격납하고, 스텝S411의 판정으로 v1=[ [Nt1]. [].[].[] ]가 아니면 PBS를 베이스성부, Nt1과 Ntm을 베이스코드성부, 리스트rLis를 멜로디코드 성부로 한다. 또, v1=[ [Nt1]. [].[].[] ] 이면 Nt1을 베이스성부, Ntm을 베이스코드 성부, 리스트rLis를 멜로디코드 성부로 한다.
이상 성부해석의 처리에 의해 8분길이 마다의 인터럽트처리 사이에 발생하는 압건음의 키-코드가 음의 높이, 현재의 타이밍이 소절의 머리인지 여부, 현재의 타이밍이 강박음인지 약박음인지, 앞의 베이스성부음과의 음정, 앞의 멜로디코드 성부음과의 음정 등, 다수의 판단조건에 따라 4가지 파트로 분해되고, 전체해석리스트LIST에 각 파트의 키-코드를 얻을 수 있다. 그리고, 이 전체해석 리스트LIST에 의거해서 다음과 같은 화음검출이 행해진다.
제12도의 베이스코드를 중심으로 한 화음검출처리에서는 먼저, 스텝S51에서 전체해석리스트LIST의 베이스코드 성부의 요소에 대해 동일 음이 되는 키-코드의 중복을 없앤 리스트를 만들고, 그것을 리스트ShrLis에 격납하고, 스텝S52에서는 리스트ShrLis의 요소가 3개 이상인지 여부를 판정한다. 그리고, 3개 이상이면 스텝S53 이후에 화음검출을 하고, 3개 이상이 아니면 스텝S56으로 진행한다.
스텝S53에서는 리스트ShrLis에 포함되어 있는 키-코드에 대응하는 12비트 레지스터CHD의 비트를 1에, 다른 비트를 0에 세트하고, 스텝S54에서는 CHD에 의거해서 화음 테이블을 검색하여 화음검출을 한다. 그리고 스텝S55에서는 화음검출이 성공했는지 아닌지를 판정하고, 성공하면 원래의 루우틴으로 복귀하고, 실패하면 스텝S56으로 진행한다.
스텝S56에서는 전체해석 리스트LIST의 베이스성부의 요소(1개)와 베이스코드 성부의 요소를 합한 리스트에 대해 같은 음이 되는 키-코드의 중복을 없앤 리스트를 만들고, 그것을 리스트ShrLis에 격납하고, 스텝S57에서 리스트ShrLis의 요소가 3개 이상인지 아닌지를 판정한다. 그리고, 3개 이상이 아니면 스텝S502로 진행하고, 3개 이상이면 스텝S58 및 스텝S59에서 상기와 같은 화음검출을 하고, 스텝S501에서는 화음검출이 성공했는지 여부를 판정하여, 성공이면 원래의 루우틴으로 복귀하고, 실패이면 스텝S502로 진행한다. 그리고, 스텝S502에서는 전체해석 리스트LIST 베이스성부의 요소(1개)와 베이스코드 성부의 요소 및 멜로디코드 성부 요소를 합한 리스트에 대해 같은 음이 되는 키-코드의 중복을 없앤 리스트를 만들고, 그것을 리스트ShrLis에 격납하고, 원래의 루우틴으로 복귀한다.
제13도의 멜로디코드를 중심으로 한 화음검출처리에서는 먼저, 스텝S61에서 전체해석 리스트LIST의 멜로디코드 성부의 요소에 대해 같은 음이 되는 키-코드의 중복을 없앤 리스트를 만들고, 그것을 리스트ShrLis에 격납하고, 스텝S62에서는 리스트ShrLis의 요소가 3개 이상인지 여부를 판정한다. 그리고, 3개 이상이 아니면 스텝S66으로 진행하고, 3개 이상이면 스텝S63 및 스텝S64에서 상기와 같은 화음검출을 하고, 스텝S65에서는 화음검출이 성공했는지 여부를 판정하고, 성공이면 원래의 루우틴으로 복귀하고, 실패이면 스텝S66으로 진행한다.
스텝S66에서는 전체해석 리스트LIST의 베이스성부 요소와 멜로디코드 성부의 요소를 합한 리스트에 대해 같은 음이 되는 키-코드의 중복을 없앤 리스트를 가지며, 그것을 리스트ShrLis에 격납하고, 스텝S67 및 스텝S68에서는 상기와 같은 화음검출을 하고 원래의 루우틴으로 복귀한다.
이상과 같이 건반연주에 의한 압건음의 키-코드가 연주에 따라 음역이 변화되는 4개의 파트로 분해된다. 또, 이와 같이 연주에 따라 분해된 파트에 의해 화음을 검출하므로 화음이 검출되기 쉬워진다.
또, 이상의 실시예에서는 건반으로 부터 입력된 압건음을 연주정보로 해서 성부해석을 하도록 하고 있으나, 외부기기로 부터 입력되는 연주정보 혹은 미리 기억수단에 기억된 연주정보에 대해 각각 같은 성부해석을 할 수 있음은 물론이다. 또, 이와 같은 연주정보에 소절선의 정보를 기억시켜 둠으로서 타이밍을 검출할 수 있음은 물론이다.
또, 상기의 실시예에서는 인터럽트 처리마다 전체해석 리스트를 갱신하면서 화음을 검출하도록 하고 있으나, 각 파트로 분해되어 얻어진 전체해석리스트를 차례로 기억하므로서 성부해석의 결과를 축적해 둘 수 있음도 물론이다.
또한, 상기 실시예에서는 분해된 소정 파트부터 자동반주를 위한 화음을 검출하도록 하고 있으나, 자동연주의 연주정보 등을 기억해 두고, 이 연주정보를 파트로 분해하여 기억해 두므로, 건반연주시에 소망하는 파트를 소음하여 자동연주를 하는 등 마이너스원 기능에 적용해도 된다.
이상 설명한 바와 같이, 본 발명의 청구항1에 관한 연주정보 분석장치에 의하면 연주정보에 있어서 음고정보의 상대적인 음정에 의해 연주정보를 다수의 파트로 분해하도록 했으므로, 분해된 파트의 음역이 연주정보에 적응하게 된다. 또, 본 발명의 청구항2에 관한 연주정보 분석장치에 의하면 연주정보 기억수단에 기억된 연주정보에 시간적으로 인접한 앞의 연주정보와 현재의 연주정보 관계로 인해 연주정보를 분석하여 파트로 분해하도록 했으므로, 파트로 분해된 조건이 연주의 흐름을 따르게 된다. 더우기, 본 발명의 청구항3에 관한 연주정보 분석장치에 의하면 연주되는 타이밍과 음고정보에 의거해서 연주정보를 다수의 파트로 분해되도록 했으므로, 파트로 분해하는 조건이 연주 타이밍에 따른 강박이나 약박 혹은 소절머리 등의 특징을 따르게 된다. 따라서, 본 발명의 청구항1~3에 관한 연주정보 분석장치에 의하면 연주정보를 그 연주정보에 맞는 다수의 파트로 자동으로 분해할 수 있다.
또한, 본 발명의 청구항4에 관한 화음검출장치에 의하면 연주정보에 있어서 음고정보의 상대적인 음정에 의거해서 연주정보를 다수의 파트로 분해하고, 이 분해된 소정 파트의 연주정보에 의해 화음을 검출하도록 했으므로, 연주정보에 적응된 파트에 의해 화음을 검출할 수 있다. 또, 본 발명의 청구항5에 관한 화음검출장치에 의하면 연주정보 기억수단에 기억된 연주정보에 시간적으로 인접한 앞의 연주정보와 현재의 연주정보 관계에 의해 연주정보를 분석하여 파트로 분해하고, 이 분해된 소정 파트의 연주정보에 의해 화음을 검출하도록 했으므로, 연주흐름을 따른 조건에서 분해된, 연주정보에 적응한 파트에 의해 화음을 검출할 수 있다. 더우기, 본 발명의 청구항6에 관한 화음검출장치에 따르면 연주되는 타이밍과 음고정보에 의해 연주정보를 다수의 파트로 분해하고, 이 분해된 소정 파트의 연주정보에 의해 화음을 검출하도록 했으므로, 연주의 강박이나 약박 혹은 소절머리 등의 특징에 맞는 조건에서 분해된, 연주정보에 적응한 파트에 의해 화음을 검출할 수 있다. 따라서, 본 발명의 청구항 4~5에 관한 화음검출장치에 따르면 화음검출의 검출정밀도를 높일 수 있다.

Claims (7)

  1. 악기음의 연주 진행에 응답하여 다수의 음고 정보데이터를 입력하는 입력수단과; 상기 입력수단에 동시 입력된 상기 음고 정보데이터의 개수를 검출하는 검출수단과; 상기 음고 정보데이터의 검출된 개수에 따라서 상기 음고 정보데이터를 다수의 연주 파트로 분해하는 분해수단으로 이루어지는데, 상기 다수의 연주파트는 베이스 성부, 베이스 코드 성부, 멜로디 코드 성부 및 멜로디 성부중의 적어도 하나를 포함하며, 상기 분해수단은 상기 음고 정보데이터의 이전의 분해 동안에 상기 연주 파트의 소정 파트에 미리 지정된 기준 음고 정보데이터와 상기 음고 정보데이터중의 하나간의 음고 차이에 의거하여 상기 음고 정보데이터중의 하나를 상기 연주 파트중의 하나로 분해하고, 상기 분해된 음고 정보데이터와 그 나머지 음고 정보데이터의 각 데이터의 음고 차이에 의거하여 상기 나머지 음고 정보데이터를 또다른 연주 파트들로 분해하는 것을 특징으로 하는 연주 정보 분석장치.
  2. 제1항에 있어서, 상기 분해 수단은 상기 악기음의 연주 진행에 응답하여 상기 기준 음고 정보데이터를 상기 분해된 음고 정보데이터로 대체하는 수단을 포함하는 것을 특징으로 하는 연주 정보 분석장치.
  3. 제1항에 있어서, 상기 분해 수단은 상기 음고 정보데이터의 타이밍이 소절의 머리부인 경우에 상기 다수의 연주 파트중의 소정 파트에 미리 지정된 기준 음고 정보데이터와 상기 음고 정보데이터중의 하나간의 음고 차이 및 소정의 음고에 의거하여 상기 음고 정보데이터중의 하나를 상기 다수의 연주 파트중의 하나로 분해하는 제1수단과; 상기 음고 정보의 타이밍이 소절의 머리부가 아닌 경우에 상기 음고 차이에 의거하여 상기 음고 정보데이터중의 하나를 상기 다수의 연주 파트중의 하나로 분해하는 제2수단으로 이루어진 것을 특징으로 하는 연주 정보 분석장치.
  4. 제1항에 있어서, 상기 분해 수단은 상기 분해된 연주 파트에 기초하여 화음을 검출하는 화음 검출수단과 함께 이용되도록 구비된 것을 특징으로 하는 연주 정보 분석장치.
  5. 악기음의 연주 진행에 응답하여 건반상의 단일 키이의 압건에 의해 발생된 제1 음고 정보데이터 또는 건반상의 다수의 키이의 동시 압건에 의해 발생된 제2 음고 정보데이를 입력하는 입력수단과; 상기 제1 또는 제2 음고 정보데이터의 이전의 분해동안에 상기 다수의 연주 파트중의 소정 파트에 미리 지정된 기준 음고 정보데이터와 상기 제1 음고 정보데이터간의 음고차이에 의거하여, 베이스 성부, 베이스 코드 성부, 멜로디 코드 성부, 멜로디 성부중의 적어도 하나를 포함하는 다수의 연주파트중의 하나로 상기 제1 음고 정보데이터를 분해하는 제1분해수단과; 상기 기준 음고 정보데이터와 상기 제2 음고 정보데이터중의 하나간의 음고차이에 의거하여, 베이스 성부, 베이스 코드 성부, 멜로디 코드 성부 및 멜로디 성부중의 적어도 하나를 포함하는 상기 다수의 연주파트중의 하나로 제2 음고 정보데이터중의 하나를 분해하고, 상기 분해된 음고 정보데이터와 그 나머지 제2 음고 정보데이터의 각 데이터간의 음고차이에 기초하여 상기 나머지 제2 음고 정보데이터를 또다른 연주파트들로 분해하는 제2분해수단으로 이루어지는 것을 특징으로 하는 연주 정보 분석장치.
  6. 제1항에 있어서, 상기 기준 음고 정보데이터는 상기 악기음의 연주진행에 응답하여 상기 베이스 성부에 연속으로 지정되는 것을 특징으로 하는 연주 정보 분석장치.
  7. 제6항에 있어서, 상기 분해 수단은 상기 악기음의 연주 초기 단계에서 임의의 기준 음고 정보데이터가 없으면, 상기 베이스 성부 또는 상기 멜로디 성부에 상기 제1 음고 정보데이터 또는 상기 제2 음고 정보데이터중의 하나를 지정하는 수단을 포함하는 것을 특징으로 하는 연주 정보 분석장치.
KR1019940007468A 1993-04-09 1994-04-09 연주정보 분석장치 및 화음검출장치 KR100203423B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP5083043A JP3049989B2 (ja) 1993-04-09 1993-04-09 演奏情報分析装置および和音検出装置
JP93-83043 1993-04-09

Publications (2)

Publication Number Publication Date
KR940024657A KR940024657A (ko) 1994-11-18
KR100203423B1 true KR100203423B1 (ko) 1999-06-15

Family

ID=13791181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940007468A KR100203423B1 (ko) 1993-04-09 1994-04-09 연주정보 분석장치 및 화음검출장치

Country Status (7)

Country Link
US (1) US5539146A (ko)
EP (2) EP0619573B1 (ko)
JP (1) JP3049989B2 (ko)
KR (1) KR100203423B1 (ko)
CN (1) CN1110032C (ko)
DE (2) DE69431013T2 (ko)
TW (1) TW255959B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3314564B2 (ja) * 1994-12-09 2002-08-12 ヤマハ株式会社 演奏データ編集装置
JP3196604B2 (ja) * 1995-09-27 2001-08-06 ヤマハ株式会社 和音分析装置
US5905223A (en) * 1996-11-12 1999-05-18 Goldstein; Mark Method and apparatus for automatic variable articulation and timbre assignment for an electronic musical instrument
US6856923B2 (en) * 2000-12-05 2005-02-15 Amusetec Co., Ltd. Method for analyzing music using sounds instruments
US7205470B2 (en) 2003-10-03 2007-04-17 Oki Electric Industry Co., Ltd. Play data editing device and method of editing play data
KR100634572B1 (ko) * 2005-04-25 2006-10-13 (주)가온다 오디오 데이터 자동 생성 방법 및 이를 이용한 사용자단말기 및 기록매체
JP4465626B2 (ja) * 2005-11-08 2010-05-19 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP5625235B2 (ja) * 2008-11-21 2014-11-19 ソニー株式会社 情報処理装置、音声解析方法、及びプログラム
JP5463655B2 (ja) * 2008-11-21 2014-04-09 ソニー株式会社 情報処理装置、音声解析方法、及びプログラム
JP5168297B2 (ja) * 2010-02-04 2013-03-21 カシオ計算機株式会社 自動伴奏装置および自動伴奏プログラム
WO2011136414A1 (ko) * 2010-04-30 2011-11-03 Yoo Soek Jong 화성학 연주조건 입력기 및 이를 채택한 화성학 연주 악기
JP6176480B2 (ja) * 2013-07-11 2017-08-09 カシオ計算機株式会社 楽音発生装置、楽音発生方法およびプログラム
CN111656434B (zh) * 2018-02-14 2023-08-04 雅马哈株式会社 音响参数调整装置、音响参数调整方法及记录介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4506580A (en) * 1982-02-02 1985-03-26 Nippon Gakki Seizo Kabushiki Kaisha Tone pattern identifying system
JPS5997172A (ja) * 1982-11-26 1984-06-04 松下電器産業株式会社 演奏装置
JPS6219898A (ja) * 1985-07-18 1987-01-28 株式会社東芝 電子楽器の自動伴奏制御装置
JPS6242517A (ja) * 1985-08-20 1987-02-24 Fujitsu Ltd 半導体気相処理方法
JPS62186298A (ja) * 1986-02-12 1987-08-14 ヤマハ株式会社 電子楽器の自動伴奏装置
JPH0634170B2 (ja) * 1986-09-29 1994-05-02 ヤマハ株式会社 電子楽器の自動伴奏装置
US4951544A (en) * 1988-04-06 1990-08-28 Cadio Computer Co., Ltd. Apparatus for producing a chord progression available for a melody
US5136914A (en) * 1988-06-23 1992-08-11 Gibson Guitar Corp. Stringed instrument emulator and method
EP0351862B1 (en) * 1988-07-20 1995-02-22 Yamaha Corporation Electronic musical instrument having an automatic tonality designating function
JPH06100113B2 (ja) * 1989-07-11 1994-12-12 株式会社ユニシアジェックス 燃料噴射制御装置
US5225618A (en) * 1989-08-17 1993-07-06 Wayne Wadhams Method and apparatus for studying music
JP2611467B2 (ja) * 1990-01-18 1997-05-21 ヤマハ株式会社 電子鍵盤楽器
JP2995303B2 (ja) * 1990-08-30 1999-12-27 カシオ計算機株式会社 メロディ対コード進行適合性評価装置及び自動コード付け装置
US5202526A (en) * 1990-12-31 1993-04-13 Casio Computer Co., Ltd. Apparatus for interpreting written music for its performance
JP2551245B2 (ja) * 1991-03-01 1996-11-06 ヤマハ株式会社 自動伴奏装置
JP3389606B2 (ja) * 1991-08-06 2003-03-24 ヤマハ株式会社 演奏情報分離装置及び自動演奏装置

Also Published As

Publication number Publication date
CN1098809A (zh) 1995-02-15
TW255959B (ko) 1995-09-01
DE69430078D1 (de) 2002-04-11
DE69431013T2 (de) 2003-03-27
EP0945850B1 (en) 2002-03-06
EP0619573A2 (en) 1994-10-12
EP0619573B1 (en) 2002-07-24
EP0619573A3 (en) 1995-01-11
CN1110032C (zh) 2003-05-28
JP3049989B2 (ja) 2000-06-05
JPH06295179A (ja) 1994-10-21
DE69430078T2 (de) 2002-10-31
EP0945850A1 (en) 1999-09-29
DE69431013D1 (de) 2002-08-29
KR940024657A (ko) 1994-11-18
US5539146A (en) 1996-07-23

Similar Documents

Publication Publication Date Title
KR100203423B1 (ko) 연주정보 분석장치 및 화음검출장치
KR20010082278A (ko) 음계 조정 방법 및 장치
US6175072B1 (en) Automatic music composing apparatus and method
US5153361A (en) Automatic key designating apparatus
JP2010092016A (ja) アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム
US6417437B2 (en) Automatic musical composition method and apparatus
US5852252A (en) Chord progression input/modification device
US5859382A (en) System and method for supporting an adlib performance
US4682526A (en) Accompaniment note selection method
JPH07219536A (ja) 自動編曲装置
US6486390B2 (en) Apparatus and method for creating melody data having forward-syncopated rhythm pattern
US4719834A (en) Enhanced characteristics musical instrument
JP2000148136A (ja) 音信号分析装置、音信号分析方法及び記憶媒体
KR930007833B1 (ko) 전자악기
JP3189837B2 (ja) 演奏情報分析装置および演奏情報分析方法
JP3186752B2 (ja) 演奏情報分析装置および演奏情報分析方法
JP3186748B2 (ja) 演奏情報分析装置および演奏情報分析方法
JP2623955B2 (ja) 電子楽器
JP2000356987A (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
JP3661963B2 (ja) 電子楽器
JP3282675B2 (ja) 電子楽器
USRE38477E1 (en) Performance information analyzer and chord detection device associated therewith
JPH04319999A (ja) 電子楽器の発音指示装置及び発音指示方法
JPH02310594A (ja) ポルタメント機能を有する電子楽器
JPH03198094A (ja) 自動伴奏パターンデータ発生装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110217

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee