KR920008291B1 - 자동연주 기록장치 - Google Patents

자동연주 기록장치 Download PDF

Info

Publication number
KR920008291B1
KR920008291B1 KR1019890000317A KR890000317A KR920008291B1 KR 920008291 B1 KR920008291 B1 KR 920008291B1 KR 1019890000317 A KR1019890000317 A KR 1019890000317A KR 890000317 A KR890000317 A KR 890000317A KR 920008291 B1 KR920008291 B1 KR 920008291B1
Authority
KR
South Korea
Prior art keywords
recording
performance data
mode
data
key
Prior art date
Application number
KR1019890000317A
Other languages
English (en)
Other versions
KR890012266A (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
Priority claimed from JP63004989A external-priority patent/JPH0830951B2/ja
Priority claimed from JP63004988A external-priority patent/JP2676754B2/ja
Priority claimed from JP63004987A external-priority patent/JPH0830950B2/ja
Application filed by 야마하 가부시기가이샤, 가와가미 히로시 filed Critical 야마하 가부시기가이샤
Publication of KR890012266A publication Critical patent/KR890012266A/ko
Application granted granted Critical
Publication of KR920008291B1 publication Critical patent/KR920008291B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • 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/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form

Landscapes

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

Abstract

내용 없음.

Description

자동연주 기록장치
제1a, b, c도는 본 발명에 관한 동기기록모우드, 재기록모우드, 러닝기록모우드를 각각 실현하는 자동연주 기록/재생장치를 도시한 기능블록도.
제2도는 본 발명의 일실시예에 관한 자동연주 기록/재생장치를 갖춘 자동연주 시스템의 블록도.
제3도는 제2도의 시스템에 관한 레코더의 패널부를 상세하게 도시한 개관도.
제4도는 제2도의 연주데이터메모리에 기록되어 있는 각종 연주데이터의 포오멧도.
제5도∼제14도는 제2도에 도시된 레코더의 마이크로컴퓨터에 의해서 실행되는 프로그램의 일례를 대응한 플로우차아트.
제15도는 제2도에 도시된 전자악기의 마이크로컴퓨터에 의해서 실행되는 프로그램의 일례에 대응한 플로우차아트.
* 도면의 주요부분에 대한 부호의 설명
10 : 레코더 12 : 마이크로컴퓨터
22 : 조작부재 스위치회로 28 : 템포발진기
34 : 연주데이터메모리 36 : 레코더스위치
38 : 스타트/포즈 스위치 62 : 키스위치회로
64 : 조작부재 스위치회로 80 : 악음신호발생회로
90 : 마이크로컴퓨터
본 발명은, 전자악기등에 있어서 악음(musical tone)의 발생을 제어하기 위한 연주데이터를 기록하는 자동연주 기록장치에 관한 것으로서, 특히 기록할려고 하는 악음을 표시하는 키온데이터(key-on data)의 발생과 동기해서 개시하는 특정한 기록모우드를 설정하므로서, 연주데이터의 기록과 정정을 용이하게 할 수 있고, 또한 최적의 상태로 실행할 수 있는 자동연주 기록장치에 관한 것이다.
본 발명에서는, 상기 특정한 기록모우드로서 연주데이터 기록동작을 기록할려고 하는 악곡의 개시와 동기해서 개시되는 동기기록모우드, 연주데이터를 연주데이터 메모리의 동일 구간에 반복재기록하는 재기록모우드와 연주데이터 기록동작을 이미 기록되어 있는 연주데이터에 동기해서 개시하는 러닝기록모우드의 3종류의 신규한 기록모우드를 개시한다.
전자악기의 종래의 자동연주장치로서, 연주데이터메모리를 가지고, 키보드(keyboard)의 연주에 의거해서 누른키(depressed key)를 나타내는 키이데이터와 각 키이의 키온(key-on) 또는 키오프(key-off)의 시각을 나타내는 키이벤트 타이밍데이터(key-event timing data)를 작성하여 기록하고, 재생시는 소정의 템포와 이 타이밍데이터에 따라서 키데이터를 판독하여 원래의 악음을 재생하는 것이 공지되어 있다(일본국 특개소 58-211191호 공보 참조).
그런데 이와 같은 종래의 자동연주장치는, 기록모우드로 설정하면 즉시로 기록동작이 개시되도록 구성되어 있으므로, 기록모우드의 설정과 연주의 개시(키온)를 동기시키는 일이 곤란하였다. 이 때문에, 예를 들면 기록모우드로 설정한 후에, 연주를 개시할때에, 연주데이터의 최초의 부분이 공백(무연주상태)으로 되어 버리면, 이것을 재생하면 최초에 한 순간 소리가 나오지 않게 되어, 연주자들에게 불안감을 준다고 하는 불편이 있었다. 또, 연주데이터메모리에 기억된 무연주 부분에 의해서, 상기 메모리가 쓸데없이 사용되어 버린다고 하는 불편이 있었다.
또, 이 종래의 자동연주장치는, 이전에 기록한 연주데이터를 수정하거나 추가하려고 할 때에, 일반적으로 연주데이터를 최초로부터 다시 기록하거나, 또는 재생하여 수정 또는 추가할려고 하는 위치구간의 선두부분을 검출한 다음에, 선두부분에서 연주데이터를 기록하도록 기록모우드를 설정하였으나, 이것으로는 기록개시의 타이밍을 설정하기 어렵고, 또한 선두부분을 동기화하기가 어렵다.
본 발명은, 이와 같은 종래형에 있어서의 문제점에 비추어서 이루어진 것으로서, 본 발명의 제1목적은, 악곡의 진행에 따라서 악음의 발생을 제어하는 연주데이터를 리얼타임(real time)으로 기록하는 자동연주기록장치이며, 기록동작을 상기 악곡의 연주개시와 동기해서 개시하는 자동연주기록장치를 제공하는데 있다.
또, 본 발명의 제2목적은, 이미 기록되어 있는 연주데이터를 임의구간에서 용이하게 수정할 수 있는 자동연주기록재생장치를 제공하는데 있다.
또한, 본 발명의 제3목적은, 전회에 기록한 연주데이터의 기록개시점으로부터 기록재개를 가능하게 하므로서, 상기 기록재개점을 선두부로 하는 구간에서 연주 데이터의 리얼타임에디트(real-time edit)를 가능하게 한 자동연주기록장치를 제공하는 것을 목적으로 한다.
본 발명의 자동연주장치는, 악곡의 진행에 따라서 악음의 발생을 제어하기 위한 연주데이터를 기억하는 연주데이터메모리 수단과, 악곡의 진행에 따라서 순차적으로 발생하는 연주데이터를 상기 연주데이터메모리 수단에 기록하는 연주데이터기록수단과, 특정 기록모우드를 선택하기 위한 특정 기록모우드 선택수단과, 상기 모우드선택수단에 의해 상기 특정 기록모우드를 선택할때에 상기 연주데이터기록수단의 동작모우드를 기록준비모우드로 설정한 다음에, 상기 연주데이터로서 기록해야할 악음의 발생을 표시하는 최초의 키온데이터를 발생할때에, 상기 연주데이터기록수단의 동작모우드를 기록모우드로 절환하여 설정하는 동작모우드제어수단을 구비하는 것을 특징으로 한다.
본 발명에 있어서, 상기 제1의 목적을 달성하기 위한 특정 기록 모우드로서는 연주데이터의 기록을 동작정지상태에서 대기하고 상기 키온데이터의 발생과 동시에 개시하는 동기기록모우드가 준비되어 있다. 또, 상기 제2의 목적을 달성하기 위한 특정기록모우드로서는, 연주데이터의 기록을 동작정지상태에서 대기하고 상기 키온데이터의 발생과 동시에 전회에 기록한 구간의 선두부터 재차기록을 개시하는 재기록모우드가 준비되어 있다. 또 제3의 목적을 달성하기 위한 특정기록모우드로서는, 연주데이터의 기록을 재생모우드에서 대기하고 상기 키온데이터의 발생과 동시에 개시하는 러닝기록모우드가 준비되어 있다.
제1a도는, 상기 동기기록모우드를 실현하는 자동연주장치의 기능블록도이다. 제1a도에 도시된 자동연주장치는, 악곡의 진행에 따라서 악음의 발생을 제어하기 위한 연주데이터를 기억하는 연주데이터메모리수단(1)과, 악곡의 진행에 따라서 순차적으로 입력되는 연주데이터를 상기 연주데이터메모리수단(1)에 기록하는 연주데이터기록수단(2)과, 특정기록모우드로서 동기기록모우드를 선택하기 위한 기록모우드 선택수단(3a)과, 상기 연주데이터기록수단(2)의 동작모우드를, 상기 모우드선택수단(3a)에 의해 동기기록모우드가 선택되었을 때 먼저 기록대기(기록준비) 모우드를 설정하고, 다음에 최초의 악음발생을 표시하는 키온데이터가 발생하였을 때 기록모우드로 절환설정하는 동작모우드제어수단(4a)를 구비하고 있다.
제1a도의 구성에 있어서, 악곡의 개시와 기록의 개시를 동기시킬려고 하는 경우, 악곡연주자들은 먼저 동기기록모우드선택수단(3a), 예를 들면 스위치에 의해 동기기록모우드를 선택한 후에, 연주를 개시한다.
본 발명의 자동연주기록장치에 있어서는, 동기기록모우드선택수단(3a)의 조작에 따라서 동작모우드제어수단(4a)이 연주데이터기록수단(2)을 기록준비모우드로 설정하고, 연주데이터기록수단(2)은 연주데이터메모리수단(1), 예를 들면 RAM의 선두기억위치를 어드레스 지정하고, 시간축데이터를 초기치로 세트하는 등, 기록개시준비를 한 상태에서 대기한다. 그리고, 이 상태에서 악곡의 연주개시에 의해 최초의 악음발생을 표시하는 키온데이터가 발생하면, 동작모우드 제어수단(4a)이 연주데이터기록수단(2)을 기록모우드로 절환설정하고, 연주데이터기록수단(2)은 연주데이터의 기록을 개시한다.
상기 설명으로부터 이해할 수 있는 바와 같이, 제1a도에 도시한 구성에 의하면, 악곡의 연구개시와 동기해서 연주데이터의 기록을 용이하게 개시할 수 있고, 종래형에서와 같은 기록개시시의 공백부분의 발생을 방지할 수 있다. 이에 의해, 연주자들은 불안감을 느끼게 하는 일을 방지할 수 있고, 또한 메모리용량의 절약을 도모할 수 있다.
제1b도는, 상기 재기록모우드를 실현하는 자동연주장치의 기능블록도이다. 제1b도에 도시된 자동연주기록/재생장치는, 악곡의 진행에 따라서 악음의 발생을 제어하기 위한 연주데이터를 기록하는 연주데이터메모리수단(1)과, 악곡의 진행에 따라서 순차적으로 입력되는 연주데이터를 상기 연주데이터메모리수단(1)에 기록하는 연주데이터기록수단(2)과, 재기록모우드선택수단(3b)과, 상기 연주데이터기록수단(2)이 기록동작을 개시하였을때에 그 시점에서의 연주데이터기록 위치를 기록하는 기록위치수단(5)과, 상기 연주데이터기록수단(2)의 동작모우드를 상기 재기록모우드선택수단(3b)에 의해서 재기록모우드가 선택되었을때에 먼저 연주데이터기록위치를 상기 기억수단(5)에 기억된 위치로 설정해서 기록대기상태에서 동작정지시키고, 다음에 최초의 악음발생을 표시한 키온데이터가 발생하였을 때 기록모우드로 절환설정하는 동작모우드 제어수단(4b)을 구비한 것을 특징으로 하고 있다.
제1b도의 구성에 있어서, 기록하는 동안 연주데이터를 수정하거나 추가할 때에는, 악곡연주자들은 먼저 재기록모우드선택수단(3b)에 의해, 예를 들면 스위치에 의해 재기록모우드를 선택한 후에, 연주를 개시한다. 본 발명의 자동연주기록/재생장치에 있어서는, 재기록모우드선택수단(3b)의 조작에 따라서 동작모우드 제어수단(4b)이 연주데이터기록수단(2)에 의하여 기록된 연주데이터위치를 기록위치기억수단(5)에 기억된 위치, 예를 들면 전회의 기록개시위치로 변경하고, 또한 상기 기록수단(2)의 동작모우드를 기록대기 모우드로 설정한다. 그리고, 이 기록대기 상태에서, 악곡의 연주개시에 의해 최초의 악음발생을 표시하는 키온데이터가 발생하면, 동작모우드 제어수단(4b)이 이 키온이벤트와 동기해서 상기 연주데이터기록수단(2)의 동작모우드를 기록모우드로 절환한다.
상기 설명으로부터 이해할 수 있는 바와 같이, 제1b도에 도시한 구성에 의하여, 연주데이터를 동일기록 구간에 대해서 몇번이라도 반복기록(오우버더빙)할 수 있고, 연주자가 수정결과에 만족할때까지 연주데이터를 세분하여 용이하게 수정할 수 있다.
제1c도는, 상기 러닝기록모우드를 실현하는 자동연주장치를 도시한 기능블록도이다. 제1c도에 도시된 자동연주기록/재생장치는, 악곡의 진행에 따라서 악음의 발생을 제어하기 위한 연주데이터를 기록하는 연주데이터메모리수단(1)과, 악곡의 진행에 따라서 순차적으로 입력되는 연주데이터를 상기 연주데이터메모리수단(1)에 기록하는 연주데이터기록수단(2)과, 러닝기록모우드선택수단(3c)과, 상기 연주데이터기록수단(2)의 동작모우드를 상기 러닝기록모우드선택수단(3c)에 의해 러닝기록모우드가 선택되었을때에 먼저 재생동작상태를 유지하면서 기록예약모우드로 설정하고, 다음에 최초의 악음발생을 표시하는 키온데이터가 발생하였을 때 재생동작을 하는 동안 어드레스를 변경하는 일없이 연속적으로 기록모우드로 절환설정하는 동작모우드제어수단(4c)을 구비한 것을 특징으로 하고 있다.
이 제1c도의 구성에 있어서, 이미 기록되어 있는 연주데이터를 수정하거나 추가할때에, 악곡연주자들은 먼저 러닝기록모우드선택수단(3c), 예를 들면 스위치에 의해 러닝기록모우드를 선택한 후에, 자동연주음을 들으면서 수정 또는 추가하고 싶은 구간의 선두부에서 또는 그 직전의 알맞는 멈춤위치에서 연주를 개시한다. 본 발명의 자동연주기록/재생장치에 있어서는, 러닝기록모우드선택수단(3c)의 조작에 따라서 동작모우드제어수단(4c)이 연주데이터기록수단(2)을, 재생상태를 유지하면서, 기록예약모우드로 설정한다. 이 재생상태에서, 악곡의 연주개시에 의해 최초의 악음의 발생을 표시하는 키온데이터가 발생하면, 동작모우드제어수단(4c)이 연주타이밍과 연주데이터기억위치(어드레스)를 재생상태로부터 계속되도록 연주데이터기록수단(2)의 동작모우드를 계속되는 기록모우드로 절환설정한다. 이에 의해, 본 발명의 자동연주기록/재생장치는, 재생상태로부터 기록상태로 계속적으로 시프트할 수 있다.
상기 설명으로부터 이해될 수 있는 바와 같이 본 발명에 의하면, 재생상태에서 임의의 타이밍에서 키온에 응답하여 기록동작을 재개할 수 있다. 보다 구체적으로는, 임의의 타이밍에서 오우버더빙(중첩기록)할 수 있고, 예를 들면 연주데이터 입력을 부분적으로 잘못 기록하였을 경우에도 상기 대응부분을 타이밍을 시프트하지 않고 극히 원활하게 리얼타임으로 편집할 수 있다.
이하, 도면을 참조하면서 본 발명의 실시예에 관하여 설명한다. 제2도는, 본 발명의 일실시예에 관한 자동연주기록/재생장치를 적용한 자동연주시스템의 블록도이다. 이 자동연주기록/재생기록(10)는 MIDI(Musical Instrument Digital Interface)규격에 적합한 MIDI 레코더라고 호칭되는 장치로서, MIDI 규격에 적합한 다른 장치와 연주데이터를 상호 교환할 수 있다. 본 실시예에서는, MIDI 레코오더(10)를, 입력장치인 키보드와 출력장치인 음원(악음형성회로)을 모두 구비하고, MIDI 규격에 적합한 전자악기(60)에 접속하므로서 자동연주시스템을 구성하고 있다.
제2도에 도시한 MIDI 레코더(10)는, 마이크로컴퓨터(12)를 사용해서 전체동작을 제어하도록 구성되어 있다. 마이크로컴퓨터(12)는 버스(14)에 각각 접속된 프로그램메모리(16), CPU(18)와 워킹메모리(20)로 이루어져 있다. 버스(14)에는, 또 조작자 스위치회로(22), 표시제어회로(24), 버퍼회로(26), 템포발진기(28), 타이머발진기(30), 각종 레지스터와 버퍼(32) 그리고 연주데이터메모리(34)가 접속되어 있다.
프로그램메모리(16)는, ROM으로 구성되고, 제5도∼제14도에 도시한 플로우차아트에 대응한 메인프로그램, 타이머와 템포인터럽트 프로그램을 구비한 인터럽트 프로그램, 그리고 그들의 서브프로그램을 기억하고 있다.
CPU(18)은, 전원스위치(46)(제3도 참조)의 투입에 의해 메인프로그램의 실행을 개시함과 동시에 메인프로그램을, 상기 전원스위치(46)를 개방할때까지, 반복실행하고, 템포발진기(28) 또는 타이머발진기(30)로부터의 개입중단신호(TMPINT 또는 TIMEIRT)를 수신할때에, 상기 메인프로그램의 실행을 중단하고 상기 템포 또는 타이머인터럽트 프로그램을 실행한다.
워킹메모리(20)는, RAM으로 구성되고, CPU(18)가 상기 프로그램을 실행할때에 발생하는 각종의 데이터를 일시적으로 기억한다. 이 워킹메모리(20)에서 하기와 같은 플래그와 레지스터등이 설정되어 있다. 또한 이하에 있어서는 레지스터등과 그 내용(데이터)은 동일 테이블로 표시하는 것으로 한다.
기록중 플래그(REC)…레코더(10)의 작동상태를 표시한 플래그이고, "1"일때에는 연주데이터를 연주데이터메모리(34)에 써놓기중(기록모우드)인 것을 표시하고, 또한 "0"일 때에는 상기 기록모우드가 설정되지 않은 것을 표시한다.
기록포즈 플래그(RECPSE)…레코더(10)의 작동상태를 표시하는 플래그이고, "1"일때에는, 기록동기 개시상태(기록대기모우드)인 것을 표시한다. 이 상태에서 키온(KON)신호가 발생하면 상기 동작상태는 레코드 상태(기록모우드)가 된다.
재생중 플래그(PLY)…레코더(10)의 동작상태를 표시하는 플래그이고, "1"일때에는 자동연주용 데이터를 연주데이터메모리(34)로부터 판독중(재생모우드)인 것을 표시하고, 또한 "0"일 때에는 상기 재생 모우드가 설정되지 않은 것을 표시한다.
재생 포즈 플래그(PLYPSE)…레코더(10)의 작동상태를 표시하는 플래그이고, "1"일때에는 재생동기 개시상태(재생대기모우드)인 것을 표시한다. 이 상태에서 키온(KON)신호가 발생하면 상기 작동상태는 재생상태(재생모우드)로 절환된다.
러닝기록 플래그(RUNREC)…레코더(10)의 작동상태를 표시하는 플래그이고, "1"일때에는 러닝기록모우드(재생중 기록대기모우드)인 것을 표시한다. 이 모우드는 연주데이터를 재생하면서 기록동작을 대기하는 모우드로서, 키온(KON)신호가 발생한 시점에서 레코더(10)는 재생상태로부터 기록상태가 된다.
템포카운터(TCNT)…템포발진기(28)는 템포인터럽트신호(TMPINT)를 발생할때마다 「1」만큼씩 증분하는 카운터/레지스터이고, 그 카운트치는 자동연주의 1소절내에서의 진행위치를 표시한다.
선행템포카운터(TCNT(PR))…최신의 기록작동이 개시할때에 템포카운터(TCNT)치를 기억하는 카운터레지스터이고, 기록동기 개시모우드 또는 러닝기록모우드에서, 키온(KON)을 발생할때에 타이밍을 일시 기억한다.
어드레스 포인터(ADR)…연주데이터메모리(34)의 어드레스 지정용 카운터/레지스터이다.
선행 어드레스(ADR(PR)…최신의 기록작동을 개시할때에 어드레스(ADR)치를 기억하는 카운터/레지스터이다. 기록동기 개시모우드 또는 러닝기록모우드에서 키온(KON)을 발생할때에, 키온시에 연주 데이터메모리(34)의 어드레스를 일시 기억한다.
재권취 플래그(REW)…레코더(10)의 작동상태를 표시하는 플래그이고, "1"일때에 상기 어드레스(ADR)치의 디크리먼트를 비교적 단주기로 반복하는 재권취모우드가 설정된 것을 표시한다.
신속전진 플래그(FF)…레코더(10)의 작동상태를 표시하는 플래그이고, "1"일때에 상기 어드레스(ADR)치의 인크리먼트를 비교적 단주기로 반복하는 신속전진 모우드가 설정된 것을 표시한다.
제3도는, 레코더(10)의 패널부의 개관을 도시한다. 이 패널부에는, 기록모우드, 기록동기 개시모우드 및 러닝기록모우드등의 기록동작에 관한 동작모우드를 설정하기 위한 기록(RECORD) 조작부재(36)와, 재생과 기록동작을 개시하거나, 재생, 기록, 신속전진과 재권취 동작을 선행 템포카운트치(TCNT(PR))와 선행어드레스치(ADR(PR))을 갱신하는 일없이 정지(일시정지)시키기 위한 스타트/포즈(SRT/PSE)조작부재(38)와, 상기 어드레스치(ADR)를 비교적 고속으로 전진 또는 후퇴시키기 위한 신속전진(FF)조작부재(40)의 재권취(REW)조작부재(42)와, 상기 신속전진과 재권취 이외의 동작모우드로부터 선행템포 카운트치(TCNT)(PR)와 선행어드레스치(ADR(PR))를 초기설정하여 정지모우드로하기 위한 정지(STOP)조작부재(44)와, 전원(POWER)스위치(46)와, 표시기(48)를 구비하고 있다. 이들 모우드 설정조작부재(36)∼(44)의 조작은 제2도에 도시된 조작부재 스위치회로(22)내에 각 조작자에 대응해서 설치된 복수의 조작부재 스위치에 의해 검출되도록 되어 있고, 표시기(48)는 표시제어회로(24)에 의해 제어되도록 되어 있다.
버퍼회로(26)는, MIDI 입력단자(50)와 MIDI 출력단자(52)에 접속된 데이터 버스(54),(56)를 개재해서 전자악기(60)와의 사이에서 연주데이터를 송수신하기 위한 인터페이스이다.
템포발진기(28)는, 가변주파수 분주율을 가지는 주파수 분주기를 구비하고, 타이머발진기(30)로부터 출력되는 소정주기의 클록펄스를 프리세트한 템포에 따라서 분주하고, 이 템포에 따른 템포인터럽트신호(TMPINT)를 버스(14)를 개재해서 마이크로컴퓨터(12)에 출력한다.
타이머발진기(30)는주파수 고정의 발진기로 이루어지며, 소정의 주파수에서 발진출력을 상기 템포발진기(28)에 출력함과 동시에, 타이머 인터럽트신호(TIMEIRT)로서 버스(14)를 개재해서 마이크로컴퓨터(12)에 출력한다. 이 타이머 인터럽트신호(TIMEIRT)는 고속전진과 재권취 속도, 즉 이때의 어드레스(ADR)치의 변화속도를 결정하기 위하여 사용된다.
각종 레지스터 버퍼(32)는, 마이크로컴퓨터(12)가 상기 프로그램을 실행할때에 발생하는 각종의 데이터를 일시 기억하기 위하여 사용되고, RAM으로 구성되어 있다. 예를 들면 상기 마이크로컴퓨터(12)에 의해서 버퍼회로(26)로부터 채취한 연주데이터를 일시 기억하기 위한 이벤트버퍼(IVTBUF)등으로 이루어진다.
연주데이터메모리(34)는 RAM으로 구성되고, 워킹메모리(20)의 어드레스레지스터에 설정된 어드레스(ADR)치에 의해 어드레스 지정되는 다수의 기억위치(APM(ADR))를 가진다. 각 기억위치(APM(ADR))에는, 다음과 같은 각종 자동연주용데이터가 제4도에 도시한 바와 같은 데이터 포오멧으로 기억되도록 되어 있다. 종료코오드를 제외한 각 데이터의 상위 2비트는 데이터의 종별을 표시하는 식별마크이다.
타이밍데이터…타이밍데이터인 것을 표시하는 식별마크와, 소절의 선두부로부터의 경과시간을 나타내는 시간데이터(TIMD)로 이루어진다. 시간데이터(TIMD)로서는 상기 템포카운트(TCNT)치에 대응하는 데이터가 써넣어진다.
키온데이터…전자악기(60)의 도시하지 않는 키보드에서 키온이벤트 데이터인 것을 표시하는 식별마크와, 누른 키를 나타내는 키코우드(KC)로 이루어진다.
키오프데이터…상기 키보드에서 키오프이벤트 데이터인 것을 표시하는 식별마크와, 해제된 키를 나타내는 키코우드(KC)로 이루어진다.
음색등의 데이터…전자악기(60)의 도시하지 않는 조작패널에서의 음색 조작부재 또는 효과조작자 부재에 의해 각각 갱신된 음색데이터 또는 효과데이터인 것을 표시하는 식별마크와, 갱신된 음색 또는 효과명을 나타내는 음색/효과명 데이터로 이루어진다.
소절코우드…자동연주의 진행타이밍의 소절의 선두부에 대응하는 타이밍인 것을 표시하고, 식별마크가 타이밍데이터에 동등하고, 또한 시간 데이터가 소절의 종료를 표시하는 타이밍데이터에 동등한 데이터이다.
종료코우드…자동연주의 종료타이밍인 것을 표시한다.
제2도의 전자악기(60)는, 키스위치회로(62) 및 조작부재 스위치회로(64)를 구비하고 있다. 키스위치회로(62)는, 악음을 지정하기 위한 도시하지 않는 키보드의 각 키이에 대응해서 설치된 복수의 키스위치를 가지고 있고, 각 키스위치의 ON/OFF작동에 의거하여 키보드에서 각 키의 키온이벤트를 검출한다.
조작부재 스위치회로(64)는, 도시하지 않는 조작패널에 설치된 악음의 음색과 효과를 지정하기 위한 음색조작부재와 효과 조작부재에 대응하는 복수의 조작부재 스위치를 구비하고, 각 조작부재 스위치의 ON/OFF 작동에 의거하여 조작패널에서 각 조작부재의 조작을 검출한다. 키스위치회로(62)와 조작부재 스위치 회로(64)는 버스(66)에 접속되어 있다.
또 버스(66)에는 버퍼회로(68), 악음신호 발생회로(80)와 마이크로컴퓨터(90)가 접속되어 있다. 버퍼회로(68), MIDI 입력단자(70)와 출력단자(72)에 각각 접속된 상기 데이터버스(56),(54)를 개재해서 레코더(10)와의 사이에서 연주데이터를 송수신하기 위한 것이다.
악음신호발생회로(80)는, 각각 피아노, 바이올린등의 악기에 대응한 악음신호를 형성하는 복수의 악음신호형성 채널을 구비하고 있고, 상기 키보드에서 키온 또는 키오프에 의해서 발생되거나 상기 조작패널에서 음색조작자 부재와 효과 조작부재의 조작에 의해서 발생되는 정보와, 레코더(10)의 연주데이터메모리(34)로부터 판독하여 버퍼회로(26),(68)와 데이터버스(56)을 개재해서 입력되는 정보에 따라서, 마이크로컴퓨터(90)로부터 버스(66)를 개재해서 입력되는 연주데이터에 의거하여 악음신호를 형성하여 출력한다. 이 악음신호는 앰프(82)에 공급되도록 되어 있다. 앰프(82)의 출력은 스피이커(84)에 접속되어 있고, 상기 스피이커(84)는 앰프(82)로부터 공급되는 각 악음신호에 대응한 악음을 생성한다.
마이크로컴퓨터(90)는, 버스(66)에 각각 접속된 프로그램 메모리(92), CPU(94)와 워킹 메모리(96)으로 이루어져 있다. 프로그램메모리(92)는, ROM로 구성되고, 제15도에 도시한 플로우차아트에 대응한 프로그램을 기억하고 있다. CPU(94)는 전원스위치(도시하지 않음)의 투입에 의해 상기 프로그램의 실행을 개시하고, 전원스위치를 개방할때까지 상기 프로그램을 반복실행한다. 워킹메모리(96)는, RAM으로 구성되고, 상기 프로그램의 실행에 필요한 복수의 데이터와 플래그를 일시적으로 기억한다.
이 워킹메미로(96)에 일시 기억하는 데이터로서는, 예를 들면 상기 키보드와 조작 패널의 조작상태가 변화된 것을 표시하는 이벤트데이터와, 레코더(10)로부터 입력되는 연주데이터가 있고, 메모리(96)에는 이들 데이터를 각각 일시 기억하기 위한 이벤트버퍼레지스터(IIVTBUF 1), (IIVTBUF 2)가 설정되어 있다.
다음에, 상기와 같이 구성된 실시예의 동작을 제5도∼제11도의 플로우차아트를 참조하면서 설명한다.
먼저, 전자악기(60)의 동작에 대해서 설명한다.
전자악기(60)의 도시되지 않은 전원스위치가 투입되면, 전자악기(60)의 CPU(94)는 제15도의 스텝(100)에서 메인프로그램의 실행을 개시하고, 스텝(100)에서 워킹메모리(96)내의 각 레지스터를 클리어하므로서 마이크로컴퓨터(90)를 초기상태로 설정한다. 이 초기상태 설정후에, CPU(94)는 스텝(102)에서 키스위치회로(62)내의 각 키스위치와 조작부재 스위치회로(64)내의 각 조작부재 스위치를 순차적으로 조사하므로서, 상기 키보드에 관한 키온/키오프 정보와 상기 조작패널에 관한 각 조작부재의 조작정보를 버스(66)를 개재해서 채취하고, 버퍼회로(68)에 억세스해서 레코더(10)로부터의 입력정보가 있으면 이 입력정보를 채취하고, 스텝(103)에서 채취된 키온/키오프정보, 조작정보와 입력정보를 근거로 하여 워킹 메모리(96)와 연동하여 키보드에서 키온/키오프이벤트와, 조작패널에서 조작이벤트와, 입력단자(70)으로의 입력이벤트의 유무를 검출한다. 지금, 키보드에서 어느 키도 눌러지거나 해제되지 않고, 조작패널에서 어느 조작부재도 조작되지 않고, 또한 입력단자(70)에 아무런 정보도 입력되어 있지 않으면,CPU(94)는 스텝(103)에서 「NO」, 즉 이벤트 없음으로 판정해서, 프로그램을 스텝(102)로 복귀되고, 스텝(102), (103)으로 이루어진 순환처리를 계속 실행한다.
또, 키보드에서 어느 키가 눌려지거나 해제되고, 조작패널에서 어느 조작부재가 조작되거나, 또는 입력단자(70)에 어떠한 정보가 입력되어 있으면, CPU(94)는 상기 스텝(103)에서 「YES」, 즉 이벤트 있음이라고 판정하고, 프로그램을 스텝(104)∼(107)로 이루어지는 키/음색/효과 이벤트처리를 진행한다. 스텝(104)에서, CPU(94)가 스텝(102),(103)의 순환처리를 1회 실행하는 동안에 CPU(94)에 의해서 검출되는 이벤트는 동시에 발생한 것으로 처리되고, 동시에 발생한 이벤트데이터가 워킹메모리(96)내의 이벤트 버퍼레지스터(IIVTBUF 1), (IIVTBUF 2)에 채취된다. 이 경우에 있어서, 상기 키보드에 관한 키온/키오프 정보와 상기 조작패널에 관한 각 조작부재의 조작정보는 이벤트 버퍼레지스터(IIVTBUF 1)에 채취되고, 레코더(10)로부터의 입력정보는 이벤트버퍼레지스터(IIVTBUF 2)에 채취된다.
또, 스텝(105)에서 이벤트버퍼레지스터(IIVTBUF 1), (IIVTBUF 2)내의 모든 이벤트데이터가 악음발생회로(80)에 출력된다. 이 경우에 있어서, 상기 이벤트데이터가 키보드에서 키온이벤트를 나타내는 데이터(키온데이터)일 경우에는, 악음신호발생회로(80)는 상기 키온데이터로 표시된 키에 대응한 키피치 고주파수를 가지는 악음신호의 형성을 개시해서, 이와 같이 형성된 악음신호를 앰프(82)를 개재해서 스피이커(84)에 공급한다. 결과적으로, 스피이커(84)로부터는 키보드에서 눌려진 키와 상기 입력정보중의 키온데이터에 의해서 지정된 키에 대응하는 키피치 고주파수를 가지는 악음을 생성한다.
또, 상기 이벤트데이터가 키보드에서 키오프이벤트를 나타내는 데이터(키오프데이터)일 경우에는, 악음신호발생회로(80)는, 상기한 바와 같이, 지금까지 형성중이였던 해제된 키와 상기 입력정보중의 키오프데이터에 의해서 지정된 키에 관한 악음신호를 형성하여 출력하는 것을 정지한다. 결과적으로, 스피이커(84)로부터는, 키보드에서 해제된 키와 상기 입력정보중의 키오프데이터에 의해서 지정된 키에 관한 악음이 생성되지 않도록 한다.
한편, 상기한 바와 같이 악음신호발생회로(80)에 공급된 이벤트데이터가 음색 조작부재 또는 효과조작부재에 관한 것일 경우에는, 발생회로(80)는, 상기 공급된 이벤트데이터를 근거로 하여, 조작된 조작부재와 상기입력정보중의 음색등의 데이터에 따라서 악음신호의 음색 또는 악음신호에 대한 효과를 부여하도록 제어한다. 결과적으로 생성되는 악음의 음색과 이 악음에 대하여 부여된 효과를 음색조작부재와 효과조작부재의 조작에 따라서 그리고 상기 입력정보에 따라서 제어하게 된다.
상기 스텝(105)의 처리후에, CPU(94)는 스텝(106)에서 이벤트버퍼레지스터(IIVTBUF 1)내의 모든 이벤트데이터를 외부출력단자(72)에 출력한다. 따라서, 전자악기(60)의 상기 키보드에 관한 키온/키오프 정보와 상기 조작패널에 관한 각조작자의 조작정보가 연주데이터로서 레코더(10)에 출력된다.
스텝(107)에서, CPU(94)는 상기 이벤트버퍼레지스터(IIVTBUF 1), (IIVTBUF 2)내의 모든 이벤트데이터를 클리어한 다음에, 프로그램을 스텝(102)으로 복귀된다. CPU(94)는 다시 상기 스텝(102),(103)으로 이루어진 순환처리를 실행하고, 이 순환처리를 하는 동안, 키보드에서 키온/키오프이벤트, 음색조작부재와 효과조작부재의 조작, 또는 레코더(10)로부터의 연주데이터 입력이 검출되면, 상기 스텝(104)∼(107)의 처리에 의해, 상술한 바와 같이, 상기 키온/키오프이벤트, 조작 또는 입력정보에 따라서 악음의 발생을 제어한다.
다음에, 레코더(10)의 동작에 대해서 설명한다.
먼저, 메인처리로서, 레코더(10)의 전원스위치(46)(제3도)를 투입하면, 레코더(10)의 CPU(18)는 제5도의 스텝(200)에서 메인프로그램의 실행을 개시하고, 스텝(201)에서 워킹메모리(20)내의 각 레지스터 및 플래그를 클리어하므로서, 마이크로 컴퓨터(12)를 초기상태로 설정한다. 초기 설정후에, CPU(18) 스텝(202)에서 버퍼회로(28)에 억세스하므로서 입력단자(50)에서 이벤트의 유무를 검출한다. 스텝(203)∼(207)에서, 기록스위치(36), 개시/정지스위치(38), 스톱스위치(44), 재권취스위치(42)와 신속전진스위치(40)을 스켄하여 각 스위치에서 발생된 이벤트의 유무를 검출한다. 입력단자(50)에 아무런 정보도 입력되어 있지 않고, 또한 각 스위치(38)∼(44)의 어느 것도 조작되어 있지 않으면, CPU(18)는 스텝(202)∼(207)에서 「NO」, 즉 이벤트가 발생하지 않은 것으로 판정하고, 스텝(202)∼(207)로 이루어진 순환처리를 계속 실행한다.
다음에, 기록스위치처리로서, 상기 제5도의 스텝(202)∼(207)로 이루어진 순환처리를 하는 동안 기록스위치(36)를 조작하면, CPU(18)는 상기 스텝(203)에서 「YES」, 즉 이벤트가 발생한 것으로 판정하고, 프로그램을 스텝(209)으로 진행시키고, 스텝(209)에서 제6도에 상세히 도시한 기록스위치처리를 실행한다. 이 기록스위치처리에서는, 스텝(300)에서 처리의 실행이 개시되고, 스텝(301)∼(303)에서 워킹메모리(20)내에 설정되어 있는 재생중 플래그(PLY), 기록중 플래그(REC) 및 재생정지플래그(PLYPSE)가 각각 "1"인지의 여부를 판정된다.
스텝(301),(302)의 판정처리에서 모두 「NO」, 즉 재생중 플래그(PLY)와 기록중 플래그(REC)가 모두 "0"이라고 판정하였을때에는 CPU(18)는 스텝(303)을 실행하고, 재생포즈 플래그(PLYPSE)가 "1"일 경우에는, 스텝(304)에서 상기 플래그(PLYPSE)를 리세트 한다. 상기 재생포즈 플래그(PLYPSE)가 "0"일 경우에는, 상기 플래그(PLYPSE)를 리세트상태("0")로 유지하면서 스텝(304)에서 스텝(305)으로 스킵하여 프로그램을 진행시킨다. CPU(18)은 또, 스텝(305)에서 기록포즈 플래그(RECPSE)를 세트하고, 스텝(306)에서 이 기록스위치처리의 실행을 종료한다. 프로그램을 제5도의 스텝(204)으로 복귀한다. 즉, 재생모우드와 기록모우드(와 신속전진모우드와 재권취모우드)이외의 동작모우드에서 기록스위치(36)가 조작되면, 레코더(10)의 동작모우드는 기록동기 개시상태로 설정된다. 기록동기 개시상태에서, 레코더(10)를 기록대기상태로 일시정지시키고, 전자악기(60)에서 키온이벤트와 동기해서 기록동작을 개시한다.
또, 상기 스텝(301)의 판정처리에서 재생중 플래그(PLY)가 "1"이라면 스텝(307)로 나아가서 러닝기록플래그(RUNREC)를 세트한다. 상기 스텝(306)에서 기록스위치처리의 실행을 종료하고, 프로그램을 제5도의 스텝(204)로 복귀시킨다. 즉, 재생하는 동안 기록스위치(36)를 조작하면, 레코더(10)의 동작모우드는 러닝기록모우드로 설정된다. 러닝기록모우드에서, 재생동작을 계속하면서 기록을 예약하여 전자악기(60)의 키보드에서 키온이벤트에 동기해서 기록상태로 절환된다.
또, 스텝(301),(302)의 판정처리에서 재생중 플래그(PLY)가 "0"이고 기록중 플래그(REC)가 "1"이면, 스텝(308)에서 템포카운터(TCNT)와 어드레스포인터(ADR)에 각각 선행템포카운터치(TCNT(PR))와 선행어드레스치(ADR(PR))를 써놓고, 기록중 플래그(REC)를 리세트한다. 상기 스텝(305)에서 기록포즈 플래그(RECPSE)를 세트하고, 스텝(306)에서 이 기록스위치처리의 실행을 종료한 다음에, 프로그램을 제5도의 스텝(204)으로 복귀한다. 즉, 기록하는 동안 기록스위치(36)을 조작하면, 레코더(10)의 동작모우드는 재기록 모우드로 설정된다. 재기록모우드에서, 기록스위치(36)를 조작하기 전에 인접하여 선행하는 기록동작이 개시할때의 기록위치로부터 재기록을 실행한다. 템포카운트(TCNT)와 어드레스(ADR)를 상기 기록위치에 세트한 후에, 상기 기록동기 개시상태로 세트하고, 전자악기(60)의 키온이벤트와 동기해서 기록동작을 다시 개시할 수 있다.
다음에, 개시/정지 스위치처리로서, 상기 제5도의 스텝(202)∼(207)으로 이루어진 순환처리를 하는 동안, 스타트/포즈스위치(38)를 조작할때에, CPU(18)는 상기 스텝(204)에서 「YES」, 즉 이벤트가 발생한 것으로 판정하고, 프로그램을 스텝(210)으로 진행시킨다. 스텝(210)에서 제7도에 상세히 도시한 스타트/포즈스위치처리를 실행한다.
제7도의 스타트/포즈스위치처리에 있어서는, 스텝(350)에서 그 실행이 개시되고, 스텝(351)∼(356)에서 워킹메모리(20)내에 설정되어 있는 기록포즈 플래그(RECPSE), 기록중 플래그(REC), 신속전진 플래그(FF). 재권취 플래그(REW), 재생중 플래그(PLY)와 재생포즈 플래그(PLYPSE)가 각각 "1"인지의 여부를 판정된다.
CPU(18)는, 스텝(351)∼(355)의 판정처리에서 모두 「NO」, 즉 기록포즈 플래그(RECPSE), 기록중 플래그(REC), 신속전진 플래그(FF). 재권취 플래그(REW)와 재생중 플래그(PLY)가 모두 "0"이라고 판정하였을때에는, 스텝(356)을 실행한다. 재생포즈 플래그(PLYPSE)가 "1"일 경우에는 스텝(361)에서 상기 플래그(PLYPSE)를 리세트하고, 프로그램을 스텝(357)으로 나아간다. 상기 재생포즈 플래그(PLYPSE)가 "0"일 경우에는 스텝(356)으로부터 상기 플래그(PLYPSE)를 리세트 상태("0")로 유지하면서 직접, 프로그램을 스텝(357)으로 진행시킨다. CPU(18)는, 스텝(357)에서 재생 플래그(PLY)를 반전(즉 세트)시키고, 스텝(358)에서 스타트/포즈스위치처리의 실행을 종료한다. 프로그램을 제5도의 스텝(205)으로 복귀한다. 즉, 재생동기 개시상태 또는 정지상태에서 스타트/포즈스위치(38)를 조작하면, 레코더(10)의 동작모우드는 재생모우드로 절환한다.
상기 스텝(351)의 판정처리에서 기록포즈 플래그(RECPSE)가 "1"이면 스텝(359)로 나아가서 상기 기록포즈 플래그(RECPSE)를 리세트하고, 기록중 플래그(REC)를 세트한다. 스텝(358)에서 이 스타트/포즈스위치처리의 실행을 종료하고, 프로그램을 제5도의 스텝(205)로 복귀한다. 즉, 기록동기 개시상태에서 스타트/포즈스위치(38)를 조작하면, 레코더(10)의 동작모우드는 기록모우드로 설정된다.
상기 스텝(352)∼(354)의 판정처리에서 기록중 플래그(REC), 신속전진 플래그(FF)와 재권취 플래그(REW)중에서 한 개의 플래그가 "1"로 판정될 경우에는, 대응하는 스텝으로부터 직접 스텝(358)로 전진하고, 스타트/포즈스위치처리의 실행을 종료한다. 프로그램을 제5도의 스텝(205)으로 복귀한다. 즉, 기록, 신속전진 또는 재권취를 하는 동안 스타트/포즈스위치(38)를 조작해도, 이 스타트/포즈스위치처리에 있어서는 그 조작이 무시된다.
또, 스텝(355)의 판정처리에서 재생중 플래그(PLY)가 "1"이면 스텝(360)에서 재생포즈 플래그(PLYPSE)를 세트하고, 상기 스텝(357)에서 재생 플래그(PLY)를 반전(즉 리세트)한다. 스텝(358)에서 이 스타트/포즈스위치처리의 실행을 종료하고, 프로그램을 제5도의 스텝(205)로 복귀한다. 즉, 재생하는 동안 스타트/포즈스위치(38)를 조작하면, 레코더(10)의 동작모우드는 재생동기 개시모우드로 세트된다. 재생동기 개시모우드에서, 전자악기(60)의 키보드가 조작되어 키온신호를 발생하면 키보드조작과 동기해서 재생(자동연주)을 개시한다.
다음에 스톱스위치처리로서, 상기 제5도의 스텝(202)∼(207)로 이루어지는 순환처리를 하는 동안 스톱스위치(44)를 조작할때에, CPU(18)는 상기 스텝(205)「YES」, 즉 이벤트가 발생한 것으로 판정하고, 프로그램을 스텝(211)으로 진행시킨다. 스텝(211)에서 제8도에 상세히 도시한 스톱스위치처리를 실행한다.
제8도의 스톱스위치처리에 있어서는, 스텝(400)에서 그 실행이 개시된다. 스텝(401)에서 워킹메모리(20)내에 설정되어 있는 기록포즈 플래그(RECPSE), 재생포즈 플래그(PLYPSE), 기록중 플래그(REC)와 재생중 플래그(PLY)를 리세트하고, 어드레스(ADR), 선행템포카운터레지스터(TCNT(PR))와 선행어드레스레지스터(ADR(PR))를 클리어 한다. 스텝(402)에서 이 스톱스위치처리의 실행을 종료하고, 프로그램을 제5도의 스텝(206)으로 복귀한다. 즉, 신속전진모우드와 재권취모우드 이외의 모우드에서 스톱스위치(44)를 조작하면, 레코더(10)의 동작모우드는 정지모우드로 설정된다. 또한, 신속전진모우드와 재권취모우드에서, 후술하는 바와 같이, 상기 스톱위치(44)의 조작은 무시된다.
다음에, 재권취 스위치처리로서, 상기 제5도의 스텝(202)∼(207)로 이루어지는 순환처리를 하는 동안 재권취스위치(42)를 조작하면, CPU(18)는 상기 스텝(206)에서 「YES」, 즉 이벤트가 발생한 것으로 판정하고, 프로그램을 스텝(212)로 진행시킨다. 스텝(212)에서 제9도에 상세히 도시한 재권취스위치처리를 실행한다.
제9도의 재권취스위치처리에 있어서는, 스텝(500)에서 그 실행이 개시되고, 스텝(501)에서 워킹메모리(20)내에 설정된 기록포즈 플래그(RECPSE), 재생포즈플래그(PLYPSE), 기록중 플래그(REC), 재생중 플래그(PLY)와 신속전진 플래그(FF)가 리세트된다. 스텝(502)에서 어드레스(ADR)치가 「0」인지의 여부를 판정한다. 어드레스(ADR)치가 「0」이면, 연주데이터메모리(34)의 선두위치를 나타내고 현행위치가 선두어드레스가 되므로, CPU(18)는, 스텝(503)에서 템포카운트(TNCT)치를 클리어하고, 재생포즈 플래그(PLYPSE)를 세트한다. 스텝(504)에서 재권취스위치처리의 실행을 종료하고, 프로그램을 제5도의 스텝(207)으로 복귀한다. 즉, 어드레스(ADR)치가 「0」의 상태에서 재권취스위치(42)를 조작하면, 레코더(10)의 동작모우드는 재권취모우드로 세트되지 않고 재생동기 개시상태로 세트된다.
한편, 스텝(502)의 판정이 「NO」, 즉 어드레스(ADR)치가 「0」이 아닐 경우에는, CPU(18)에는, 프로그램을 스텝(511)으로 진행시키고, 스텝(511)에서 재권취 플래그(REW)를 세트한다. 스텝(512)에서 어드레스(ADR)치를 1만큼씩 감소시키고, 새로운 어드레스(ADR)치를 근거로 하여 연주데이터기록량(또는 메모리잔량)의 바 그래프를 패널부의 표시기(48)(제3도)에 나타나도록 한다. 스텝(513)에서 어드레스(ADR)치가 「0」인지의 여부를 판정한다. 스텝(513)의 판정에서 「NO」이면, 즉 「0」이 아니면, 스텝(514)에서 스타트/포즈스위치(38)이 조작되었는지의 여부를 판정한다. 조작되어 있지 않으면, 스텝(515)에서 타이머치(T)를 검사하고, 타이머치(T)가 「0」으로 되거나 스위치(38)을 조작할때까지 스텝(514), (515)의 처리를 반복하는 아이들링(idling)처리를 실행한다. 스텝(515)의 판정에서 타이머치(T)가 「0」으로 되면, CPU(18)는 프로그램을 스텝(512)으로 복귀하고, 어드레스치(ADR)를 디크리먼트한다.
타이머치(T)는, 타이머발진기(30)로부터 개입중단신호(TIMEIRT)가 출력될때마다 CPU(18)가 실행하는 제10도의 타이머인터럽트처리에 의해서, 소정치 n으로부터 디크리먼트된다. 개입중단신호(TIMEIRT)의 n개 마다 「0」이 된다. 즉, 어드레스치(ADR)는 상기 개입중단신호(TIMEIRT)의 주기의 n배의 주기로 디크리먼트된다.
어드레스(ADR)치가 「0」으로 되면, 제9도의 스텝(513)의 판정에서 「YES」가 되고, 프로그램을 스텝(516)으로 진행한다. CPU(18)는 스텝(516)에서 재권취 플래그(REW)를 리세트하고, 상기 스텝(504)에서 재권취스위치처리의 실행을 종료한다. 프로그램을 제5도의 스텝(207)로 복귀한다. 즉, 재권취동작을 하는 동안 어드레스(ADR)치가 「0」이 되었을 경우, 레코더(10)의 동작모우드는 정지모우드로 세트된다.
또, 재권취 동작을 하는 동안 스타트/포즈스위치(38)을 조작하면, 스텝(514)의 판정에서 「YES」가 되고, 프로그램을 상기 스텝(516)으로 진행한다. CPU(18)는, 스텝(516)에서 재권취 플래그(REW)를 리세트하고, 상기 스텝(504)에서 이 재권취스위치처리의 실행을 종료한다. 프로그램을 제5도의 스텝(207)로 복귀한다. 즉, 재권취동작을 하는 동안 스타트/포즈스위치(38)를 조작하면, 레코더(10)의 동작모우드는 정지모우드로세트된다. 또한, 재권취 동작을 하는 동안, 스타트/포즈스위치(38)이외의 스위치(36)와 스위치(46)∼(48)의 조작은 무시된다.
다음에, 신속전진스위치처리로서, 상기 제5도의 스텝(202)∼(207)으로 이루어지는 순환처리를 하는 동안, 신속전진스위치(40)를 조작하면, CPU(18)는 상기 스텝(207)에서 「YES」, 즉 이벤트가 발생한 것으로 판정하고, 프로그램을 스텝(213)으로 진행한다. 스텝(213)에서 제11도에 상세히 도시한 신속전진 스위치 처리를 실행한다.
제11도의 신속전진 스위치처리에 있어서는, 스텝(600)에서 그 실행이 개시되고, 스텝(601)에서 워킹메모리(20)내에 설정된 기록포즈 플래그(RECPSE), 재생포즈 플래그(PLYPSE), 기록중 플래그(REC), 재생중 플래그(PLY)와 재권취 플래그(REW)가 리세트된다. 스텝(602)에서 어드레스(ADR)치가 1만큼씩 인크리먼트되고, 새로운 어드레스(ADR)치를 근거로 하여 연주데이터기록량( 및 메모리잔량)의 바 그래프를 패널부의 표시기(48)(제3도)에 나타내도록 한다. 스텝(603)에서 연주 데이터메모리(34)의 기억위치(APM)(ADR))에 기억되어 있는 데이터가 종료코우드인지의 여부를 판정한다. 종료코우드가 아니면, CPU(18)는, 스텝(604)에서 스타트/포즈스위치(38)가 조작되었는지의 여부를 판정한다. 그리고 상기 스위치(38)이 조작되어 있지 않으면, 스텝(605)에서 타이머치(T)를 검사한다. 타이머치(T)가 「0」으로 되거나, 스위치(38)이 조작될 때까지 스텝(604),(605)의 처리를 반복하는 아이들링처리를 실현한다. 스텝(605)의 판정에서 타이머치(T)가 「0」으로 되면, CPU(18)는 프로그램을 스텝(602)로 복귀하고, 어드레스치(ADR)를 인크리먼트 한다. 타이머치(T)는 상기한 바와 같이 재권취스위치처리에서와 마찬가지로, 제10도의 타이머인터럽트처리로 디크리먼트된다. 따라서 이 신속전진스위치처리에서 어드레스치(ADR)의 인크리먼트주기는 상기 개입중단 신호(TIMEIRT)의 주기의 n배 주기로 된다.
어드레스치(ADR)가 인크리먼트되고, 기억위치(APM(ADR))에서 종료코우드를 검출할때에, 후행의 기억위치에 연주데이터가 기억되어 있지 않으므로 신속전진은 무의미하다. 이 경우에는 스텝(603)의 판정에서 「YES」가 되고, 프로그램을 스텝(606)으로 진행한다. CPU(18)는, 스텝(606)에서 신속전진 플래그(FF)를 리세트하고, 스텝(607)에서 이 신속전진 스위치처리의 실행을 종료한다. 프로그램을 제5도의 스텝(202)으로 복귀한다. 신속전진 동작을 하는 동안 스타트/포즈스위치(38)를 조작하면, 스텝(604)의 판정에서 「YES」가 되고, 프로그램을 상기 스텝(606)으로 진행한다. CPU(18)는, 스텝(606)에서 신속전진 플래그(FF)를 리세트하고, 상기 스텝(604)에서 신속전진 스위치처리의 실행을 종료한다. 프로그램을 제5도의 스텝(207)으로 복귀한다. 즉, 신속전진 동작을 하는 동안 종료코우드를 판독하거나 스타트/포즈스위치(38)를 조작하면, 레코더(10)의 동작모우드는 정지모우드로 설정된다.
또한, 신속전진 동작을 하는 동안, 상기 재권취할때와 마찬가지로, 개시/정지 스위치(38) 이외의 스위치(36)와 스위치(46)∼(48)의 조작은 무시된다.
다음에, 입력데이터처리로서, 상기 제5도의 스텝(202)∼(207)로 이루어지는 순환처리를 하는 동안, 전자악기(60)가 제15도의 스텝(106)의 처리를 실행하므로, 레코더(10)의 입력단자(50)에 연주데이터를 입력할때에, CPU(18)는 상기 스텝(202)에서 「YES」, 즉 이벤트가 발생한 것으로 판정한다. 프로그램을 스텝(208)으로 진행시키고, 스텝(208)에서 제12도에 상세히 도시한 입력데이터처리를 실행한다.
제12도의 입력데이터처리에 있어서는, 스텝(700)에서 그 실행이 개시되고, CPU(18)는, 스텝(701)에서 버퍼회로(28)내의 전체 이벤트데이터를 이벤트버퍼(IVTBUF)로 체취한다. 스텝(702)에서 이벤트버퍼(IVTBUF)내의 이벤트데이터는 키코우드데이터를 포함하고 있는지의 여부를 판정한다. 스텝(702)의 판정에서 「YES」, 즉 이벤트버퍼(IVTBUF)내에 키코우드데이터가 저장되어 있으면, CPU(18)는, 프로그램을 스텝(703)으로 진행시키고, 스텝(703)∼(706)에서 워킹메모리(20)내에 설정되어 있는 재생포즈 플래그(PLYPSE), 기록포즈 플래그(RECPSE), 러닝기록 플래그(RUNREC)와 기록중 플래그(REC)가 각각 "1"인지의 여부를 판정한다.
스텝(703)∼(706)의 판정처리에서 모두 「NO」, 레코더(10)가 정지모우드 또는 재생모우드 상태에 있으면, CPU(18)는, 스텝(707)에서 이벤트버퍼(IVTBUF)를 클러이하고, 스텝(708)에서 입력데이터처리의 실행을 종료한다.
프로그램을 제5도의 스텝(203)으로 복귀한다. 이 경우에는, 전자악기(60)로부터 입력단자(50)에 입력된 연주데이터는 완전무시되는 것으로 된다.
상기 스텝(703)의 판정처리에서 재생포즈 플래그(PLYPSE)가 "1"이면, 즉 레코더(10)가 재생동기 개시상태이면, CPU(18)는 프로그램을 스텝(710)으로 진행시키고, 이 스텝(710)에서 상기 재생포즈 플래그(PLYPSE)와 기록중 플래그(REC)를 리세트하고, 재생중 플래그(PLY)를 세트한다. 다음에, 상기 스텝(707)에서 이벤트버퍼(IVTBUF)를 클리어하고, 스텝(708)에서 입력데이터처리의 실행을 종료한다. 프로그램을 제5도의 스텝(203)으로 복귀한다.
즉, 재생동기 개시상태에서는 키온이벤트와 동기에서 재생(자동연주)을 개시한다. 상기 스텝(704)의 판정처리에서 기록포즈 플래그(RECPSE)가 "1"이면, 즉 레코더(10)가 기록동기 개시상태이면, CPU(18)는, 프로그램을 스텝(720)으로 진행시키고, 스텝(720)에서 상기 기록포즈 플레그(REC)를 리세트한다. 스텝(721)에서 기록중 플래그(REC)를 세트하고, 재생중 플래그(PLY)를 리세트하고, 선행템포카운터레지스터(TCN(PR))와 선행어드레스 레지스터(ADR(PR))에서 각각 연행템포카운터(TCNT)치와 어드레스(ADR)치를 저장한 후에, 스텝(706)에서 기록중 플래그(REC)가 "1"인지의 여부를 판정한다. 기록중 플래그(REC)가 스텝(721)에서 이미 세트되어 있으므로, 스텝(706)의 판정처리는 「YES」가 되고, 프로그램을 스텝(731)으로 진행한다. CPU(18)는 스텝(731)∼(737)의 자동연주데이터 기록루우틴을 실행한다.
즉, 기록동기 개시상태에서 키온이벤트의 동기에서 기록(써넣기)을 개시한다. 이 때문에, 기록모우드가 설정된 다음부터 키보드가 연주될 때까지의 공백부가 발생하지 않고, 재생시에 시작이 무음상태가 되어서, 연주자들을 불안하게 하거나, 상기 공백부에 의해 메모리가 쓸데없이 사용되는 일도 없다.
또한, 곡의 선두에 쉼표를 넣은 다음 서서히 연주하는 약박(upbeat)의 곡을 입력하는 경우에는, 기록스위치(36)를 조작해서 먼저 기록동기 개시모우드로 하고, 다음에 스타트/포즈스위치(38)를 조작해서 기록모우드로 절환하여, 쉼표에 상당하는 기간이 경과하였을 때 연주를 개시(키온)할 수 있다.
상기 연주데이터기록루우틴에 있어서는, 최초, 스텝(731)에서 연주데이터메모리(34)의 기억위치(APM(ADR))에 연주데이터로서 타이밍데이터를 기억한다. 타이밍데이터는, 제4도에 도시한 바와 같이, 식별마크와 시간데이터(TIMD)로 이루어지고, 식별마크는 상기 연주데이터가 타이밍데이터인 것을 표시하는 코우드로 설정되고, 또한 시간데이터(TIMD)는 템포카운트(TCNT)가 표시하는 값으로 설정된다. 따라서, 시간데이터(TIMD)는 소절의 구획으로부터 시간에 대응한 타임을 표시하게 된다.
상기 스텝(731)의 처리후, CPU(18)는, 스텝(732)에서 어드레스(ADR)를 인크리먼트이고(ADR=ADR+1), 스텝(733)에서 새로운 어드레스치(ADR)를 근거로 하여 연주데이터기록량의 바 그래프를 패널부(제3도)의 표시기(48)에 나타나도록 한다.
스텝(734)에서 상기 스텝(701)의 처리에 의해 이벤트버퍼레지스터(IVTBUF)에 기억시킨 이벤트데이터중에서, 1개만을 채취하고, 채취된 이벤트에디터에 식별마크를 붙여서 연주데이터로 하고, 연주데이터메모리(34)의 기억위치(APN(ADR))에 연주데이터를 기억시킨다. 또한, 스텝(735)에서 이벤트버퍼레지스터로부터 상기 스텝(734)에서 채취된 이벤트데이터를 클리어하고, 스텝(736)에서 상기 이벤트버퍼레지스터내에 이벤트데이터가 남아있는지의 여부를 판정한다. 이경우에 있어서, 이벤트데이터가 남아있으면 상기 스텝(736)에서 「YES」로 판정하고, CPU(18)는 프로그램을 스텝(732)로 복귀시킨다. 다음의 이벤트데이터의 기록처리를 실행한다.
한편, 이벤트버퍼레지스터내의 남은 이벤트데이터가 없어지면, CPU(18)는 스텝(736)에서 「NO」로 판정하고, 프로그램을 스텝(737)으로 진행시킨다. 또한, 이 스텝(737)에서 어드레스(ADR)을 인크리먼트하고, 상기 스텝(708)의 처리에 의해서 입력데이터처리의 실행을 종료한다. 프로그램을 제5도의 스텝(203)으로 복귀한다.
상기 스텝(705)의 판정처리에서 러닝기록 플래그(RUNREC)가 "1"이면, 즉 레코더(10)를 러닝기록모우드로 설정하면, CPU(18)는, 프로그램을 스텝(721)로 진행시키고, 상기 러닝기록 플래그(RUNREC)를 리세트한다. 상기 스텝(721), (706)의 처리를 실행한후에, 상기 스텝(731)∼(737)의 자동연주데이터기록루우틴을 실행한다.
즉, 러닝기록모우드에서는 재생동작을 실행하고, 상기 키온이벤트와 동기에서 재생상태로부터 기록상태로 계속 시프트한다. 이 때문에, 이 모우드에 의하면 재생작동을 하는 동안 임의의 타이밍으로 키 온하므로서 기록을 재개할 수 있고, 연주데이터의 수정 또는 추가가 용이하다. 예를 들면 부분적으로 착오데이터를 입력한 경우에도 정확한 부분을 재생해가고, 롤린 부분의 바로 앞에서 연주를 개시(키온)하므로서, 타이밍이 어긋나는 일없이 극히 원활하게 리얼타임으로 에디트 할 수 있다.
또, 이 레코더(10)에 있어서는, 상기 스텝(721)에서 기록동기 개시모우드 또는 러닝기록모우드상태에서 키온이벤트가 발생할때에 템포카운트(TCNT)치와 어드레스(ADR)치를 기억한다. 상기 키온이벤트에 의해 설정된 기록모우드중에, 기록스위치(36)를 조작할때에 스텝(308)(제6도)에서 기록치를 템포카운터(TCNT)와 어드레스포인트(ADR)로 설정한다. 즉 기록하는 동안 기록스위치(36)를 조작하므로서, 타이밍(TCNT)과 기억위치(ADR)를 선행의 기록을 개시한때에 세트한 상태에서, 다음의 기록을 동기개시하는 재기록상태를 실현할 수 있다. 이에 의해, 연주데이터의 리얼타임에디트를 「세분」으로 완벽하게 수행할 수 있을 때까지 실행할 수 있다. 또, 이 「세분」구간을 착오점이나 착오점 직전의 알맞는 점에서 임의로 설정할 수 있다. 또한, 에디트조작이 불필요한 경우에는 스톱스위치(44)를 조작하므로서, 재기록상태를 중지하여 정지상태로 설정할 수 있다.
상기 스텝(721), 스텝(359)(제7도)에서 기록중 플래그(REC)를 이미 세트하였을 경우, 즉 기록을 하는 동안일 경우 상기 스텝(703)∼(705)의 판정은 모두「NO」로 되는 동시에, 스텝(706)의 판정이 「YES」로 된다. 따라서 이 경우에도 입력단자(50)에 전자악기(60)으로부터의 키코우드데이터를 포함하는 이벤트데이터를 입력하면, 상기 스텝(731)∼(737)으로 이루어진 자동연주데이터 기록루우틴에서 연주데이터메모리(34)에 상기 이벤트데이터와 이벤트데이터의 발생타이밍(TIMD)을 기록한다.
상기 스텝(701)의 처리에 의해 이벤트버퍼(IVTBUF)에 채취된 이벤트데이터가 키코우드데이터를 포함하지 않은 경우, 즉 이벤트데이터가 음색등의 데이터후 소절데이터 뿐일 경우에는, 스텝(702)의 판정에서 「NO」로 되고, CPU(18)는 프로그램을 스텝(740)으로 진행시키고, 기록중 플래그(REC)와 기록포즈 플래그(RECPSE)를 검사한다. 그리고, 기록중 플래그(REC)에 기록포즈 플래그(RECPSE)가 모두 "0"이면, 프로그램을 상기 스텝(707)으로 진행시키고, 상기 스텝(707)에서 이벤트버퍼(IVTBUF)를 클리어한다. 스텝(708)에서 입력데이터처리의 실행을 종료하고, 프로그램을 제5도의 스텝(203)으로 복귀한다.
한편, 스텝(740)의 판정에서 「YES」이면, 즉 기록중 플래그(REC)와 기록포즈 플래프(RECPSE)중에서 어느 한쪽이 "1"이면, CPU(18)은 프로그램을 상기 스텝(733)으로 진행시키고, 상기 스텝(733)∼(737), (732)의 처리를 실행한다.
이에 의해, 코우드데이터를 포함하지 않는 이벤트데이터가 입력단자(50)에 입력되었을 때에는, 타이밍데이터 없이 이벤트데이터만을 연주데이터메모리(34)에 기록한다. 따라서, 기록동기 개시상태에도 타이밍을 진행시키는 일없이 음색등의 변경 또는 설정조작을 근거로 하여 자동연주데이터를 기록할 수도 있다.
다음에 템포인터럽트처리로서, 상기 제5도의 메인처리 또는 그 서브루우틴 처리(제6도∼제12도)를 실행하는 동안 템포발진기(28)로부터 템포크록신호(TMPINT)를 발생하면, CPU(18)는 상기 프로그램의 실행을 중단하고, 제13도의 템포인터럽트프로그램의 실행을 스텝(900)으로부터 개시한다. 스텝(903)에서 재생중 플래그(PLY)가 "1"인지의 여부를 판정한다. 이 경우에는, 재생중 플래그(PLY)가 "0"이면, 즉 레코더(10)를 재생모우드 이외의 모우드로 설정되어 있으면, 상기 스텝(903)의 판정처리에서「NO」로 판정되고, 프로그램을 스텝(904)으로 진행한다. CPU(18)는, 스텝(904)에서 연산(TCNT=TCNT+1)을 실행하여 템포카운트(TCNT)를 「1」만큼씩 인크리먼트하고, 스텝(905)에서 인크리먼트한 템포카운트(TCNT)가 소절의 종료치를 표시하는지의 여부를 판정한다. 템포 카운트(TCNT)가 소절엔드치를 표시하고 있지 않으면, 상기 스텝(905)의 판정처리에서 「NO」로 판정하고, 프로그램을 스텝(906)으로 진행하여, 스텝(906)에서 템포인터럽트처리의 실행을 종료한다.
한편, 스텝(904)에서 인크리먼트한 템포카운트(TCNT)가 소절의 종료치로 되어 있으면, CPU(18)는 상기 스텝(905)의 판정처리에서, 상기 템포카운트(TCNT)를 근거로 하여 「YES」로 판정하고, 스텝(907)에서 템포카운트(TCNT)를「0」으로 초기설정해서, 프로그램을 스텝(908)으로 진행시킨다. 스텝(908)에서, 기록중 플래그(REC)가 "1"인지의 여부를 판정한다. 이 경우에는, 레코더(10)를 기록모우드 이외의 모우드로 설정되어 있으면, 플래그(REC)는 "0"이므로, CPU(18)는 스텝(908)에서 「NO」로 판정하고, 스텝(906)에서 이 템포인터럽트처리의 실행을 종료한다. 또, 스텝(908)의 판정에서 「YES」이면, 즉 레코더(10)를 기록모우드로 설정하여 기록중 플래그(REC)가 "1"이면, CPU(18)는 프로그램을 스텝(909)으로 진행시키고, 스텝(909)에서 연주데이터메모리(34)의 기억위치(APM(ADR))에, 타이밍데이터를 나타내는 식별데이터와 상기 스텝(904)에 인트리먼트하기 전의 값인 소절엔드치(-1)로 이루어지는 소절코우드(제4도 참조)를 기록한다.
스텝(910)에서 (ADR=ADR+1)의 연상을 실행하여 어드레스(ADR)를 「1」만큼 인크리먼트하고, 상기 스텝(906)에서 템포인터럽트프로그램의 실행을 종료한다.
다음에 자동연주데이터판독루우틴처리로서, 상술한 바와 같이, 스텝(202)∼(207)(제5도)로 이루어지는 순환처리를 하는 동안 정지상태에서 스타트/포즈스위치(38)를 조작하거나, 재생동기 개시상태에서 스타트/포즈스위치(38)를 조작할 때에, 또는 전자악기(60)의 키보드연주를 개시(키이온)할 때에, 레코더(10)를 재생모우드로 설정한다.
상기 상태에서 있어서, 템포발진기(30)로부터 템포클록신호를 발생할때에, 상기 템포인터럽트처리를 실행하고, 스텝(900)∼(908)의 처리에 의해서 템포카운트(TCNT)를 인크리먼트한다.
이 경우에 있어서, 재생중 플래그(PLY)가 "1"로 설정되어 있으면, 상기 템포인터럽트처리를 실행하는 동안, CPU(72)는 스텝(903)에서「YES」로 판정하고, 스텝(911)에서 제14도에 상세히 도시한 자동연주데이터판독루우틴의 처리를 실행한다.
이 자동연주데이터 판독루우틴의 실행은 스텝(950)에서 개시되고, CPU(18)는, 먼저 스텝(951)에서 판독 타이밍데이터(RDTIM)가 템포카운트(TCNT)와 동등한지의 여부를 판정한다. 지금, 상기 판독타이밍데이터(RUTIM)와 템포카운터(TCNT)가 동등하지 않으면, 상기 스텝(951)에서 「NO」로 판명하고, 스텝(952)에서 자동연주데이터판독루우틴의 실행을 종료한다.
한편, 템포타운트(TCNT)가 증가해서 상기 판독타이밍데이터(RDTIM)와 템포카운터(TCNT)가 동등하게 되면, CPU(18)는 상기 스텝(951)에서 「YES」로 판정하고, 스텝(952)에서 어드레스(ADR)를 「1」만큼씩 인크리먼트하고, 스텝(953)에서 인크리먼트된 어드레스(ADR)를 근거로 하여 패널부(제3도)의 표시부(48)에 자동연주위치의 바그래프를 표시하도록 한다. 스텝(954)에서 연주데이터메모리(34)의 기억위치(APM(ADR))에 기억되어 있는 연주데이터를 판독하고 판독된 연주데이터를 판독데이터(RDDT)로 설정한다.
다음에, CPU(18)는, 스텝(955)(956)과 (957)의 각 판정처리에 의해 상기 판독데이터(RDDR)가 타이밍데이터, 종료코우드, 소절코우드 그리고 기타의 데이터(키온데이터, 키오프데이터 또는 음색등의 데이터)중에서 어느 데이터인지를 판정한다. 지금, 판독데이터(RDDT)가 기타의 데이터(키온데이터, 키오프데이터 또는 음색등의 데이터)라면, 스텝(955), (956)과 (957)의 각 판정처리에서 모두 「NO」로 판정되고, 스텝(958)에서 상기 판독데이터(RDDT)는 출력단자(52)에 출력된다.
전자악기(60)에 있어서는, 판독데이터(RDDT)가 데이터버스(56)를 개재해서 입력 단자(70)에 입력되고 상기 스텝(102), (103) (제15도)의 처리에 의해서 입력정보이벤트로서 검출된다. 스텝처리(106)의 처리에 의해 버스(66)를 개재해서 악음신호발생회로(80)에 출력된다.
악음신호발생회로(80)는 공급된 키온데이터, 키오프데이터 또는 음색등데이터를 근거로 하여 악음신호의 형성을 제어해서, 형성된 악음신호를 앰프(82)를 개재에서 스피이커(84)에 출력한다. 악음신호에 대응하는 악음을 생성한다.
이에 의해, 스피이커(84)로부터 레코더(10)의 연주데이터메모리(34)에 기억되어 있는 연주데이터를 근거로 하여 스피이커(84)로부터 자동연주용을 생성할 수 있다.
레코더(10)에 있어서는, 상기 스텝(958)의 처리후에, CPU(18)가 프로그램을 스텝(952)으로 복귀하여 어드레스(ADR)를 「1」만큼씩 인크리먼트한다. 스텝(953)에서 상기 바그래프를 표시한후에, 스텝(952)에서 상기 인크리먼트된 어드레스(ADR)에 의해 지정되는 연주데이터메모리(34)내의 기억위치(APM(ADR))에 기억되어 있는 연주데이터를 판독데이터(RDDT)로 재차 설정하고, 판독데이터(RDDT)의 종류를 스텝(955)∼(957)의 처리에 의해 판정한다.
이 경우에 있어서, 판독데이터(RDDT)가 다시 키온데이터, 키오프데이터 또는 음색등의 데이터이면, 스텝(958)의 처리에 의해 악음의 발생을 제어한다.
이와 같이 해서, 동일 타이밍으로 기억되어 있는 모든 키온데이터, 키오프데이터, 음색등의 데이터를 연주데이터메모리(34)로부터 판독하고 자동연주악음의 발생을 제어할 수 있다.
스텝(954)∼(958)로 이루어지는 순환처리를 하는 동안, 상기 스텝(954)에서 설정한 판독데이터(RDDT)가 타이밍데이터로 되면, CPU(18)는 스텝(955)에서 「YES」로 판정하고, 스텝(952)에서 상기 판독데이터(RDDT)를 판독타이밍데이터(RDTIM)로 설정하고, 스텝(952)에서 상기 자동연주데이터판독루우틴의 실행을 종료한다. 또한, 상기 스텝(954)에서 설정한 데이터(RDDT)가 소절코우드로 되면, CPU(18)는 스텝(957)에서 「YES」로 판정하고, 스텝(961)에서 데이터(RDTIM)로 스텝(905)(제13도)에서의 소절종료치보다 1만큼 적은 값을 설정한다. 스텝(952)에서, 상기 자동연주데이터판독루우틴의 실행을 종료한다. 다음에, 템포인터럽트처리가 실행될때마다, 상기 스텝(950)∼(952)으로 이루어지는 처리가 실행된다.
상기 설정한 판독타이밍데이터(RDTIM)가 템포카운트(TCNT)와 동등하게 되면, CPU(18)는 상기 스텝(954)~(958)로 이루어지는 상기 처리를 실행하여 자동연주악음의 발생을 제어한다.
또, 상기 스텝(954)에서 설정한 판독데이터(RDDT)가 종료코우드가 되면, CPU(18)는 스텝(955)에서 「NO」로 판정하고, 스텝(956)에서 「YES」로 판정한다. 스텝(962)에서 자동연주재생모우드를 취소하기 위하여 재생중 플래그(PLY)를 "0"으로 설정하고, 스텝(952)에서 자동연주데이터판독루우틴의 실행을 종료한다.
또한, 본 발명은, 상기한 실시예에 한정되지 않고 적당히 변형해서 실시할 수 있다. 예를 들면, 상기에 있어서는, 전자악기(60)로부터 출력되는 연주데이터에는 타이밍등의 시간축데이터를 포함하고 있지 않고, 레코더(10)쪽에서 상기 연주데이터의 입력타이밍을 측정하여 시간측데이터를 부여하도록 하였으나, 전자악기(60)로부터 출력되는 연주데이터에 타이밍데이터까지도 포함시켜두고, 레코더(10)에서는 입력 연주데이터를 단순히 기록하도록 해도 된다.
또, 상기 실시예에서는, 종료코우드의 기록에 대해서는 특히 언급하지 않았으나, 이 종료코우드는 공지된 장치에 이용되는 방법에 의하여 기록할 수 있다.
또한, 상기 실시예에 있어서는, 템포카운트(TCNT)를 소절의 구획마다 리세트하도록 하고 있었으나, 이벤트데이터의 입력 또는 판독시에 리세트하도록 해도 된다. 즉, 상기 실시예에 있어서는, 템포카운트치(TCNT)가 소절내타이밍을 표시하도록 하고 있으나, 인접한 이벤트사이의 시간간격을 표시하도록 해도 된다.
후자의 경우, 연주데이터를 판독할 때에, 이벤트에 대응하는 시간데이터를 타이터레지스터에 채취하고, 이 레지스터의 값을 1템포펄스 마다 1만큼씩 디크리먼트 할 수 있다.

Claims (4)

  1. 악곡의 진행에 따라서 악음의 발생을 제어하기 위한 연주데이터를 기억하는 연주데이터메모리수단(1),(34)과, 악곡의 진행에 따라서 순차적으로 발생하는 연주데이터를 상기 연주데이터 메모리수단에 기록하는 연주데이터 기록수단(2)와, 측정기록모우드를 선택하기 위한 특정기록모우드선택수단(3a),(3b),(3c)과, 상기 모우드선택수단에 의해 상기 특정기록모우드를 선택할때에, 상기 연주데이터기록수단의 동작모우드를 기록준비모우드를 설정한 다음에, 기록해야 할 악음의 발생을 표시하는 최초의 키온데이터를 발생할때에, 상기 연주데이터기록수단의 동작모우드를 기록모우드로 절환하여 설정하는 동작모우드 제어수단(4a),(4b),(4c)을 구비하는 것을 특징으로 하는 자동연주기록장치.
  2. 악곡의 진행에 따라서 악음의 발생을 제어하기 위한 연주데이터를 기억하는 연주데이터메모리수단(1),(34)과, 악곡의 진행에 따라서 순차적으로 발생되는 연주데이터를 상기 연주데이터메모리수단에 기록하는 연주데이터기록수단(2)과, 동기 기록모우드를 선택하기 위한 특정기록모우드선택수단(3a)과, 상기 연주데이터기록수단의 동작모우드를, 상기 모우드 선택수단에 의해 동기기록모우드를 선택할때에, 상기 연주데이터기록수단의 동작모우드를 기록준비모우드로서의 기록대기모우드로 설정한 다음에 기록해야 할 악음발생을 표시하는 최초의 키온데이터를 발생할때에, 상기 연주데이터기록수단의 동작모우드를 기록모우드로 전환하여 설정하는 동작 모우드제어수단(4a)을 구비한 것을 특징으로 하는 자동연주기록장치.
  3. 악곡의 진행에 따라서 악음의 발생을 제어하기 위한 연주데이터를 기억하는 연주데이터메모리수단(1),(34)과, 악곡의 진행에 따라서 순차적으로 발생하는 연주데이터를 상기 연주데이터메모리수단에 기억시키는 연주데이터기록수단(2)과, 미리 기억된 연주데이터를 신규한 연주데이터로 대치할 수 있는 재기록모우드를 선택하기 위한 특정기록모우드선택수단(3b)과, 상기 모우드선택수단에 의해 재기록모우드를 선택할때에, 상기 연주데이터기록수단의 동작모우드를, 상기 연주데이터메모리수단을 상기 악곡의 선행기록부분의 개시위치에 설정하고 또한 기록모우드를 작동정지상태로 정지시키는, 기록대기모우드로 설정한 다음에, 기록해야할 악음의 발생을 표시하는 최초의 키온데이터를 발생할때에, 상기 연주데이터기록수단의 동작모우드를 기록모우드로 절환하여 설정하는 동작모우드제어수단(4b)을 구비한 것을 특징으로 하는 자동연주기록장치.
  4. 악곡의 진행에 따라서 악음의 발생을 제어하기 위한 연주데이터를 기억하는 연주데이터메모리수단(1),(34)과, 악곡의 진행에 따라서 순차적으로 발생하는 연주데이터를 상기 연주데이터메모리수단에 기억시키는 연주데이터기록수단(2)과, 미리 기록된 연주데이터를 재생하고, 또한 신규한 연주데이터를 미리 기록된 연주데이터에 대하여 소정의 관계로 기록된 수 있는 러닝기록모우드를 선택하기 위한 특정기록모우드선택수단(3C)과, 상기 모우드선택수단에 의해서 러닝기록모우드를 선택할때에 상기 연주데이터기록수단의 동작모우드를, 기록재생상태를 유지하는 기록예약모우드로 설정한 다음에, 기록해야 할 악음의 발생을 표시하는 최초의 키온데이터를 발생할 때에, 상기 연주데이터기록수단의 동작모우드를 기록모우드로 절환하여 설정하는 동작모우드제어수단(4C)을 구비한 것을 특징으로 하는 자동연주기록장치.
KR1019890000317A 1988-01-14 1989-01-13 자동연주 기록장치 KR920008291B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP63004989A JPH0830951B2 (ja) 1988-01-14 1988-01-14 自動演奏記録再生装置
JP63-4989 1988-01-14
JP63004988A JP2676754B2 (ja) 1988-01-14 1988-01-14 自動演奏記録装置
JP63-4987 1988-01-14
JP63-4988 1988-01-14
JP63004987A JPH0830950B2 (ja) 1988-01-14 1988-01-14 自動演奏記録装置

Publications (2)

Publication Number Publication Date
KR890012266A KR890012266A (ko) 1989-08-25
KR920008291B1 true KR920008291B1 (ko) 1992-09-26

Family

ID=27276541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890000317A KR920008291B1 (ko) 1988-01-14 1989-01-13 자동연주 기록장치

Country Status (2)

Country Link
US (1) US4924745A (ko)
KR (1) KR920008291B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766265B2 (ja) * 1988-06-21 1995-07-19 株式会社河合楽器製作所 演奏情報処理装置の割込処理制御部
US5266736A (en) * 1988-06-21 1993-11-30 Kawai Musical Instrument Mfg. Co., Ltd. Interruption control apparatus for use in performance information processing system
JPH02208697A (ja) * 1989-02-08 1990-08-20 Victor Co Of Japan Ltd Midi信号誤動作防止方式及びmidi信号記録再生装置
US5079984A (en) * 1989-03-02 1992-01-14 Victor Company Of Japan, Ltd. MIDI signal processor
US5121667A (en) * 1989-11-06 1992-06-16 Emery Christopher L Electronic musical instrument with multiple voices responsive to mutually exclusive ram memory segments
US5189237A (en) * 1989-12-18 1993-02-23 Casio Computer Co., Ltd. Apparatus and method for performing auto-playing in synchronism with reproduction of audio data
US5397853A (en) * 1989-12-18 1995-03-14 Casio Computer Co., Ltd. Apparatus and method for performing auto-playing in synchronism with reproduction of audio data and/or image data
JPH03196098A (ja) * 1989-12-25 1991-08-27 Casio Comput Co Ltd オーディオ再生装置内蔵型電子楽器
JP2620724B2 (ja) * 1990-10-23 1997-06-18 株式会社河合楽器製作所 演奏情報の記録装置
JP2574964B2 (ja) * 1992-01-22 1997-01-22 株式会社河合楽器製作所 自動演奏装置
JP2717485B2 (ja) * 1992-10-14 1998-02-18 株式会社河合楽器製作所 電子楽器のシーケンサ
JP3088409B2 (ja) * 1999-02-16 2000-09-18 コナミ株式会社 音楽ゲームシステム、該システムにおける演出指示連動制御方法及び該システムにおける演出指示連動制御プログラムを記録した可読記録媒体
JP3630066B2 (ja) * 2000-03-22 2005-03-16 ヤマハ株式会社 楽音発生装置の制御方法、音色データ転送方法、音色データ制御装置および記録媒体
JP2004234557A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd データ管理方法、コントローラ、及びプログラム
JP2011198348A (ja) * 2010-02-24 2011-10-06 Sanyo Electric Co Ltd 録音装置
JP6451336B2 (ja) * 2014-01-30 2019-01-16 ヤマハ株式会社 録音装置、方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58211191A (ja) * 1982-06-02 1983-12-08 ヤマハ株式会社 自動演奏装置

Also Published As

Publication number Publication date
US4924745A (en) 1990-05-15
KR890012266A (ko) 1989-08-25

Similar Documents

Publication Publication Date Title
KR920008291B1 (ko) 자동연주 기록장치
US4694724A (en) Synchronizing signal generator for musical instrument
US5523525A (en) Performance recording and playback apparatus
JP2896716B2 (ja) 自動演奏装置
JP3551087B2 (ja) 楽曲自動再生装置および連続楽曲情報作成再生プログラムを記録した記録媒体
JP4159669B2 (ja) 早送り・巻き戻しモードから再生モードに切り替わる制御に特徴を有するカラオケ装置
JP3484719B2 (ja) 音声入力機能付き演奏ガイド装置および演奏ガイド方法
JP3980750B2 (ja) 電子楽器
JPH1031495A (ja) カラオケ装置
JP3649014B2 (ja) 演奏データファイルの再生設定制御装置
JP2743808B2 (ja) 自動演奏装置
JP4070315B2 (ja) 波形再生装置
JP3147111B2 (ja) 自動演奏記録再生装置
JP2676754B2 (ja) 自動演奏記録装置
JP3428410B2 (ja) カラオケ装置
JP2770767B2 (ja) 自動演奏装置
JPH0511593Y2 (ko)
JPH0830951B2 (ja) 自動演奏記録再生装置
JP2001154670A (ja) 曲データ再生装置、方法及び記録媒体
JPH0830950B2 (ja) 自動演奏記録装置
JP2717485B2 (ja) 電子楽器のシーケンサ
JP3929608B2 (ja) 演奏情報入力装置
JP3178176B2 (ja) 自動伴奏装置
JP3480001B2 (ja) 自動演奏データ編集装置
JP4205563B2 (ja) 演奏装置、演奏方法及び演奏のためのコンピュータプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080925

Year of fee payment: 17

EXPY Expiration of term