JPH03126083A - 電子楽器の自動演奏装置 - Google Patents

電子楽器の自動演奏装置

Info

Publication number
JPH03126083A
JPH03126083A JP1264475A JP26447589A JPH03126083A JP H03126083 A JPH03126083 A JP H03126083A JP 1264475 A JP1264475 A JP 1264475A JP 26447589 A JP26447589 A JP 26447589A JP H03126083 A JPH03126083 A JP H03126083A
Authority
JP
Japan
Prior art keywords
register
data
cursor
switch
written
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP1264475A
Other languages
English (en)
Other versions
JP2776915B2 (ja
Inventor
Osamu Kakizaki
柿崎 理
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP1264475A priority Critical patent/JP2776915B2/ja
Publication of JPH03126083A publication Critical patent/JPH03126083A/ja
Application granted granted Critical
Publication of JP2776915B2 publication Critical patent/JP2776915B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は、ユーザが音符の高さと長さとを指定しなが
ら楽曲を順次人力することができる電子楽器の自動演奏
装置に関する。
「従来の技術」 この種の電子楽器は、ユーザが音符の高さをキーボード
によって指定し、また、音符の長さを音長設定キーによ
って指定すると、指定された音符が表示画面に表示され
ると共に、内部のメモリに書き込まれる。
「発明が解決しようとする課題」 ところで、従来のこの種の自動演奏装置にあっては、入
力した音符をデリート(消去)する場合に、カーソルを
その消去する音符に合わせ、その後、デリートキーを押
すことが必要であり、音符の消去に2操作を必要とする
欠点があった。
そこでこの発明は、音符の消去を1操作で行うことがで
きる電子楽器の自動演奏装置を提供することを目的とし
ている。
「課題を解決するための手段」 この発明は、音符長および音高を入力する入力手段と、
消去スイッチと、前記消去スイッチが操作された時、表
示画面のカーソルをその時点において設定されている音
符長に対応して曲の開始位置方向へ移動させる手段と、
前記カーソルの位置にある楽音データを消去する消去手
段とを具備することを特徴としている。
「作用」 この発明によれば、消去スイッチを操作すると、カーソ
ルが所定量自動的に戻り、次いでそのカーソル位置の楽
音データが消去される。したがって、ユーザはワンタッ
チで楽音データの消去を行うことができる。
「実施例」 以下、図面を参照してこの発明の一実施例について説明
する。第1図はこの発明の一実施例による自動演奏装置
の構成を示すブロック図である。
この図において、符号1は鍵盤であり、複数のキーと、
各キーのオン/オフ状態を検出するキースイッチと、各
キースイッチの出力をパスラインBに接続するインター
フェイス回路とから構成されている。2は各種スイッチ
類であり、第2図に示すように、音符の長さを設定する
音長設定スイッチ3a〜3r、表示画面の矢印カーソル
Kを1拍(32分音符の長さ)単位で画面右方向へ移動
させ、あるいは、表示画面の小節数表示rMeasur
eJの数値を「1」単位で上げるI NK(インクリメ
ント)スイッチ4、矢印カーソルKを1拍単位で画面左
方向へ移動させ、あるいは、小節数表示をrlJ単位で
下げるDEC(デクリメント)スイッチ5、矢印カーソ
ルにの位置にある音符を消去するD el(デリート)
スイッチ6、矢印カーソルにより所定量前の音符を消去
するB D el(バックデリート)スイッチ7、矩形
状の指示カーソルJを移動させる指示カーソルスイッチ
8等から構成されている。
第1図の符号10は、例えば液晶表示器によるデイスプ
レィ装置であり、第2図に示すように、1小節の長さを
有するメジャバー10a、キーボードlObが各々表示
されると共に、使手節目かを示す数字(Measure
)および拍子(TIME)が表示される。また、音長設
定スイッチ3a〜3fによって設定された音長が音符G
によって表示される。
さらに、メジャバ−408の上にはダイヤマークDおよ
び矢印カーソルKが表示される。ダイヤマークDはキー
オン、キーオフ等のイベントが記憶されている位置を示
している。また、矢印カーソルにの位置は現在のイベン
ト人力位置を示している。したがって、図の例の場合は
、第4小節目の第4、第12、第28拍目にそれぞれイ
ベントが入力されており、また、第4小節の第28拍目
に次のイベントを入力することができることを表示して
いる。なお、イベントについては後に詳述する。IIは
装置各部を制御するCPU(中央処理装置)である。1
2はRAMによるワーキングメモリであり、内部に次の
各レジスタが予め設定されている。
S tap timeレジスタ 拍レジスタ 小節レジスタ nレジスタ countレジスタ スタックレジスタ サーチポインタ サーチレジスタ 絶対時間レジスタ dist拍レジ入レ ジスタt小節レジスタ 13は書き込み可能なシーケンザメモリであり、楽音デ
ータが逐次書き込まれる。
ここで、楽音データは次に述べるイベント方式のデータ
であり、lデータブロックDBが第3図に示すように3
バイト以上によって構成され、この1データブロツクD
Bによって楽音の変化(イベント)および次のイベント
までの時間が記憶される。すなわち、まず、データブロ
ックの第1バイトの上位3ビツトは“1,1.1”であ
り、そのバイトと次のバイトがコントロールバイトであ
ることを示している。次に、第2バイトのMSB(最上
位ビット)は“0”である。そして、第1バイトの下位
5ビツトが拍数、第2バイトの下位7ビツトが小節数を
示し、これらの小節数および拍数によって次のイベント
までの時間間隔が示されている。例えば、次のイベント
までの時間間隔が4分音符の時間であった場合は、小節
数として「0」、拍数としてr8Jが記憶される。また
、次のイベントまでの時間間隔が35拍であった場合は
、小節数としてrlJ、拍数として「3コが記憶される
。次に、データブロックの第3バイト、第4バイト・・
・・・はイベント種類か記憶されるバイトであり、その
MSBにはキーオンイベントの場合に“l”、キーオフ
イベントの場合に“0”が記憶され、下位7ビツトには
キーコードが記憶される。
第1図のサウンドシステムI4はパスラインBを介して
供給されるキーコードに対応する音高の楽音信号を形成
し、スピーカから発音する。
次に、上記構成による自動演奏装置の動作を第4図〜第
23図を参照して説明する。第4図はメインルーチンの
構成を示すフローチャートである。
電源が投入されると、まず、ステップSalの処理へ進
み、装置各部のイニシャライズが行なわれる。次に、ス
テップSa2へ進むと、鍵処理(m盤上−の処理)が行
なわれ、次にパネル処理(各パネルスイッヂ3a〜3f
4〜8の処理)が行なわれ、次いでデータ書き込み処理
(シーケンサメモリ13への書き込み処理)が行なわれ
る。以下、各処理について詳述する。
◇鍵処理Sa2 第5図〜第7図は鍵処理Sa2の詳細を示すフローチャ
ートである。まず、第5図のステップSblでは、nレ
ジスタおよびcountレジスタがクリアされる。次に
、ステップSb2へ進むと、キースキャン処理が行なわ
れる。すなわち、鍵盤Iの各キースイッヂのオン/オフ
状態がワーキングメモリ12に書き込まれる。次に、ス
テップSb3へ進むと、前回のキースキャン処理時にワ
ーキングメモリI2内に、書き込まれたオン/オフ状態
と、今回書き込まれたオン/オフ状態とが比較され、こ
の比較結果に基づいて新たにオンとされたキーがあった
か否かが判断される。 そして、新たにオンとされたキ
ーがあった場合はステップSb4のKON処理へ進む。
ステップSb4の処理を第6図に示す。
第6図におけるステップSclへ進むと、スタックレジ
スタに、オンとされたキーのキーコードが書き込まれる
。次に、ステップSc2へ進ムと、Countレジスタ
がインクリメントされる。次に、ステップSc3へ進む
と、nレジスタがインクリメントされる。次にステップ
Sc4では、オンとされたキーのキーコードがサウンド
システム14へ出力され、発音開始要求が行なわれる。
これにより、サウンドシステム14において該キーコー
ドの音高の楽音が発生する。次にステップSc5へ進む
と、書き込み要求フラグがセットされる。そして、第5
図のステップSb2へ戻る。
また、ステップSb3の判断結果が「NO」の場合は、
ステップSb5へ進む。ステップSb5では、新たにオ
フとされたキーがあったか否かが判断される。そして、
この判断結果がrY E S Jの場合は、ステップS
b6のKOFF処理へ進む。第7図にステップSb6の
処理を示す。まず、ステップSdIでは、countレ
ジスタがデクリメントされる。
次にステップSd2へ進むと、オフされたキーのキーコ
ードがサウンドシステムI4へ出力され、同キーコード
に対応する楽音の発音終了要求が行なわれる。これによ
り、その楽音発生が終了する。
このステップSd2が実行されると、次に第5図のステ
ップSb2へ戻る。
次に、第5図のステップSb5の判断結果が「NO」の
場合はステップSb7へ進む。ステップsb7では、c
ountレジスタの内容が「0」か否かが判断される。
そして、その判断結果がrNOJの場合はステップSb
2へ戻り、rYEsJの場合は第4図のメインルーチン
へ戻る。
以上が鍵処理Sa2である。以上の処理から明らかなよ
うに、例えば、鍵盤lの1つのキーがオンとされ、次い
でオフとされると、スタックレジスタ内にキーコードが
書き込まれ、nレジスタ内のデータがrlJとなり、書
き込み要求フラグがセットされ、また、オンとされたキ
ーの楽音が発生ずる。また、例えば、2個のキーが順次
オンとされ次いで双方がオフとされると、スタックレジ
スタ内に2個のキーコードが書き込まれ、nレジスタ内
のデータが「2」となり、書き込み要求フラグがセット
され、また、オンとされた2個のキーの各楽音が発生す
る。なお、この鍵処理Sa2は、1度キーがオンとされ
た状態でこの処理へ進むと、全部のキーがオフされるま
で、この鍵処理が実行される0上述したcountレジ
スタは、全部のキーがオフされたか否かをチエツクする
ためのものである。
◇パネル処理Sa3 第8図はパネル処理Sa3のフローチャートである。ま
ず、ステップSelへ進むと、スイッチスキャンが行な
われる。すなわち、各パネルスイッチ3a〜3r、4〜
8のオン/オフ状態がワーキングメモリ12に書き込ま
れる。次にステップSe2へ進むと、前回のステップS
et実行時のパネルスイッチのオン/オフ状態と今回の
オン/オフ実行とが比較され、この比較結果に基づいて
音長設定スイッチ3a〜3rのいずれかがオンとされた
か否かが判断される。そして、この判断結果が「YES
Jの場合は、ステップSe3のS tep time処
理へ進む。第9図にこのステップSe3の処理を示す。
図に示すように、ステップSe3では、押された音長設
定スイッチ3a〜3fに応じて5tepti’tseレ
ジスタ内のデータが書き替えられる。例えば、音長設定
スイッチ3C(4分音符)が押された場合は、 S t
ep timeレジスタ内に「8」が書き込まれる。
次にステップSe2の判断結果が「NO」の場合は、ス
テップSe4へ進む。ステップSe4では、INGスイ
ッヂ4がオンとされたか否かが判断される。そして、こ
の判断結果がrY ES Jの場合はステップSe5の
INC処理へへ進む。第1O図はこの(NC処理Se5
のフローチャートである。
まず、ステップSflでは、指示カーソルJ(第2図参
照)がメジャバー11の上にあるか否かが判断される。
そして、この判断結果がrY E S jの場合はステ
ップSr2へ進む。ステップSf2では、拍レジスタ内
のデータがインクリメントされる。
次にステップSf3へ進むと、拍レジスタ内のデータが
「31」より大であるか否かが判断される。
そして、この判断結果が「NO」の場合は、ステップS
f4へ進む。ステップSf4では、矢印カーソルにの位
置が現在の拍レジスタ内のデータが示す位置に変更され
る。すなわち、矢印カーソルにの表示位置は拍レジスタ
内のデータに応じて決定され、INCスイッチ4が1回
押されると、拍レジスタ内のデータがインクリメント−
されると共に、矢印カーソルKが1拍分右へ移動する。
一方、ステップSf3の判断結果がrYEsJの場合、
すなわち、拍レジスタ内のデータが32になった場合は
ステップSf5へ進む。ステップSf5では、小節レジ
スタ内のデータがインクリメントされる。次にステップ
S 、f 6へ進むと、拍レジスタがクリアされる。次
に、表示書き替えサブルーチンSBIへ進む。
この表示書き替えサブルーチンSBIはデイスプレィ装
置10の表示、特にダイヤマークDの表示位置を書き替
えるためのサブルーチンである。
すなわち、上記の処理によって小節が例えば第4小節か
ら第5小節へ変わった場合、当然に第4小節に記憶され
ているイベントと第5小節に記憶されているイベントは
異なっているので、ダイヤマークDも変更する必要があ
る。ここで、第5小節が初めて書き込みを行う小節であ
れば、勿論、ダイヤマークDは全く表示されないことに
なるが、−旦メロディ音の書き込みを行った後、最初に
戻って伴奏音の書き込みを行うような場合は、小節が進
んでもダイヤマークDが表示される。なお、この表示書
き替えサブルーチンSBIの詳細は後に説明する。
上述したサブルーチンSDIが実行されると、次に、ス
テップSf4へ進み、矢印カーソルにの位置が変更され
る。この場合、矢印カーソルにの位置がメジャバ−10
aの最左端へ戻る。
一方、ステップSflの判断結果が「NO」の場合は、
ステップSf7へ進む。ステップSf7では、指示カー
ソルJが小節表示「M easure J(第2図参照
)の上にあるか否かが判断される。そして、この判断結
果がrYEsJの場合はステップSf8へ進む。ステッ
プSf8では、小節レジスタがインクリメントされる。
次に、表示書き替えザブルーチンSBIが実行され、次
いでステップSr4が実行される。なお、この場合、拍
しンスタが変更されないので、矢印カーソルにの表示変
更も行なイつれない。また、ステップSf7の判断結果
が「NO」の場合は、ステップSf4を介してメインル
ーチンへ戻る。
次に、第8図のステップSe6の判断結果が「YESJ
の場合、すなわち、D E’ Cスイッチ5がオンとさ
れた場合は、ステップSe7のDEC処理へ進む。第1
1図にこのDEC処理のフローを示す。まず、ステップ
Sglへ進むと、指示カーソルJがメジャバ−10aの
上にあるか否かが判断される。そして、この判断結果が
rY E S Jの場合はステップSg2へ進み、拍レ
ジスタがデクリメントされる。次にステップSg3へ進
むと、拍レジスタ内のデータがr−IJか否かが判断さ
れる。
そして、この判断結果がrNOJの場合は、ステップS
g4へ進む。ステップSg4では、矢印カーソルにの位
置を拍レジスタ内のデータに応じて変更する。しかして
、上記の処理により、DECスイッチ5を1回押すと、
矢印カーソルKが1拍分左へ移動する。
また、ステップSg3の判断結果がrYESJの場合は
ステップSg5へ進む。ステップSg5では、小節レジ
スタ内のデータがデクリメントされる。
次にステップSg6へ進むと、小節レジスタ内のデータ
が「−1」か否かが判断される。そして、この判断結果
がrYEsJの場合は、小節レジスタがクリアされる。
また、ステップSg6の判断結果が「NO」の場合はス
テップSg8へ進む。ステップSg8では、拍レジスタ
に「3I」がセットされ、次いで、表示書き替えサブル
ーチンSBIが実行される。これにより、ダイヤマーク
Dの表示変更が行なわれる。次にステップSg4が実行
され、そして、メインルーチンへ戻る。
一方、ステップSglの判断結果が「NO」の場合は、
ステップSg9へ進む。ステップSg9では、指示カー
ソルJが小節表示[M easure j(第2図参照
)の上にあるか否かが判断される。そして、この判断結
果がrYEsJの場合はステップSgl Oへ進む。ス
テップSgl Oでは、小節レジスタがデクリメントさ
れる。次に、ステップSgl 1へ進むと、小節レジス
タ内のデータがr−Nか否かが判断される。そして、こ
の判断結果がrYES」の場合は、ステップSgl 2
へ進み、小節レジスタがクリアされる。また、ステップ
Sgl lの判断結果がrNOJの場合は、表示書き替
えサブルーチンSBIが実行され、次いでステップSg
4が実行される。なお、この場合、拍レジスタが変更さ
れないので、矢印カーソルにの表示変更も行なわれない
。また、ステップSg9の判断結果が「NO」の場合は
、ステップSg4を介してメインルーチンへ戻る。
次に、第8図のステップSe8の判断結果が「YESJ
の場合、すなわち、BDelスイッチ7がオンとされた
場合は、ステップSe9のBDel処理が行なわれ、ス
テップ5elOの判断結果がrYES」の場合、すなわ
ち、Delスイッヂ6がオンとされた場合は、ステップ
Sel 1のDel処理が行なわれる。なお、これらの
BDel処理およびDel処理については後に詳述する
次に、ステップSel 2の判断結果がrY E S 
Jの場合、すなわち、指示カーソルスイッチ8のいずれ
かがオンとされた場合は、ステップ5e13の指示カー
ソル移動処理へ進む。第12図はこの指示カーソル移動
処理を示しており、この処理が実行されると、オンとさ
れたスイッチに応じた方向へカーソルJが移動される。
次に、ステップ5e14の判断結果がrY E S J
の場合、すなわち、5TOPスイツチ(図示路)がオン
とされた場合は、ステップ5e15の5TOP処理へ進
む。第13図はこの5TOP処理を示しており、この処
理が実行されると、この自動演奏装置が入力モードを脱
出し、プレイモードへ移行する。次に、ステップ5e1
4の判断結果が「NO」の場合は、ステップ5e16へ
進む。ステップSel 6では、上記以外のスイッチで
か操作されたものがあった場合に、そのスイッチに対応
する処理が行なわれる。そして、メインルーチンへ戻る
◇データ書き込み処理Sa4 第14図はデータ書き込み処理Sa4のフローチャート
である。まず、ステップShlでは、書き込み要求フラ
グ(第6図のステップSc5参照)がセットされている
か否かが判断される。そして、この判断結果が「NO」
の場合は、メインルーチンへ戻り、rY E S Jの
場合は次の対応シーケンサメモリ番地サーチ・サブルー
チンSB2へ進む。
第15図はこのサブルーチンSB2のフローチャートで
ある。まず、ステップSitでは、グーキングメモリI
2内のサーチポインタ(S erch Po1nter
)およびサーチレジスタ(S erch regist
er)がクリアされる。次にステップSi2では、ポイ
ンタイコールフラグ(Pointer equal f
lag)がリセットされる。次にステップSi3へ進む
と、32×(小節レジスタ)+(拍レジスタ)・・・・
・・(1)※()はそのレジスタ内のデータを示すなる
演算が行なわれ、この演算結果が絶対時間レジスタ内に
書き込まれる。ここで、上記(1)式から明らかなよう
に、絶対時間レジスタ内のデータは、入力しつつある楽
曲の最初(第0小節の第0拍)から何拍目の位置に矢印
カーソルKがあるかを示している。
次に、ステップSi4へ進むと、サーチポインタ内のデ
ータがアドレスデータとしてシーケンサメモリ13へ出
力されてシーケンサメモリ13内のデータが読み出され
、読み出されたデータの下位5ビツトがdist拍レジ
入レジスタ込まれる。次に、ステップSi5へ進むと、
サーチポインタ内のデータにrlJが加算され、このデ
ータがアドレスデータとしてシーケンサメモリ13へ出
力されてシーケンサメモリI3内のデータが読み出され
、読み出されたデータがdist小節レジスタに書き込
まれる。次にステップSi6へ進むと、32 X (d
ist小節レジスタ)+(dist拍レジ入レジスタ・
・・・(2) なる演算が行なわれその結果がサーチレジスタ内のデー
タに加算される。
次に、ステップSi7へ進むと、 (絶対時間レジスタ)=(サーチレジスタ)・・・・・
・(3)(絶対時間レジスタ)−〇・・・・・・(4)
なる式のいずれかが成り立つか否かが判断される。
そして、その判断結果がrYESJの場合はステップS
i8へ進む。ステップSi8では、ポインタイコールフ
ラグがセットされる。また、ステップSi7の判断結果
が「NO」の場合はステップSi8をジャンプしてステ
ップSi9へ進む。
ステップSi9では、絶対時間レジスタ内のデータがサ
ーチレジスタ内のデータより小か否かが判断される。そ
して、この判断結果が「NO」の場合は次のコントロー
ルバイト(上位3ビツトが11.1”のバイト)までサ
ーチポインタを移動する。
すなわち、次のコントロールパイトガ記憶されているア
ドレスをサーチポインタに書き込む。そして、ステップ
Si4へ戻る。また、ステップSi9の判断結果がrY
ESJの場合は、ステップ5illへ進む。ステップ5
illでは、上述したステップ5iloと同じ処理が行
なわれ、そして、第14図のデータ書き込み処理Sa4
へ戻る。
以上が対応シーケンサメモリ番地サーチ処理である。こ
こで、上記の処理を具体例を挙げて説明する。第16図
(イ)において、縦線は小節の句切りであり、ダイヤマ
ークDI−D5は既に記憶されているイベントの位置を
示している。また、Tkは楽曲の最初から矢印カーソル
Kまでの時間(1拍を基窄とする時間)、T1〜T3は
イベント間の時間(同じ)である。また、第16図(ロ
)はシーケンサメモリ13の記憶状態を示しており、デ
ータブロックDBI〜DBSはそれぞれダイヤマークD
I−D5に対応している。
このような状態において、対応シーケンサメモリ番地サ
ーチ・サブルーチンSB2へ進むと、まず、ステップS
it、Si2が実行される。次いでステップSi3へ進
むと、絶対時間レジスタ内に時間Tkが書き込まれる。
次にステップSi4へ進むと、dist拍レジ入レジス
タタブロックDBIの第1バイトの下位5ビツトが書き
込まれる。次にステップSi5へ進むと、dist小節
レジスタにデータブロックDBIの第2バイトが書き込
まれる。
この場合、サーチポインタを初期化したため、曲中一番
最初のコントロールバイトのデータとなる。
次にステップSi6へ進むと、サーチレジスタ内のデー
タがT1となる。次にステップSi7、Si9の判断結
果は、絶対時間レジスタ内のデータTkh<T I +
T 2 +Tbであるのに対し、サーチレジスタ内のデ
ータの値はTIであるので、共に「NO」となってステ
ップ5iloへ進み、このステップ5iloが実行され
ると、サーチポインタに第16図(ロ)に示すΔ印のア
ドレスが書き込まれる。
次に、再びステップSi4が実行されると、disL拍
レジスし内にデータブロックDB2の第1バイトの下位
5ビツトが書き込まれ、次にステップSi5へ進むと、
dist小節レジスタにデータブロックDB2の第2バ
イトが書き込まれ、次にステップSi6へ進むと、サー
チレジスタ内のデータがTI+T2となる。次にステッ
プSi7、Si9の判断結果がやはり共にrNOJとな
ってステップ5i10へ進み、このステップ5ilOが
実行されると、サーチポインタ内のに第16図(ロ)に
示す◇印のアドレスが書き込まれる。次に、再びステッ
プSi4が実行されると、dist拍レジ入レジスタ内
タブロックDB3の第1バイトの下位5ビツトが書き込
まれ、次にステップSi5へ進むと、disL小節レジ
スタにデータブロックDB3の第2バイトが書き込まれ
、次にステップSi6へ進むと、サーチレジスタ内のデ
ータがTI+T2+T3となる。次にステップSi7を
介してステップSi9へ進むと、この場合、 Tk<T I +T 2 +T 3 であることから、判断結果がrYEsJとなり、ステッ
プ5illへ進む。ステップ5illでは、サーチポイ
ンタ内に第16図(ロ)に示す○印のアドレスが書き込
まれる。そして、サブルーチンSB2を出る。
また、例えば矢印カーソルにの位置がちょうどダイヤマ
ークD3に一致していた場合は、サーチレジスタ内デー
タがTI+T2になった時点でステップSi7の判断結
果がrYESJとなり、ステップSi8へ進み、ポイン
タイコールフラグがセットされる。次いでステップSi
9へ進むと、この場合、判断結果がrY E S Jと
なってステップ5i11へ進む。すなわち、この場合サ
ーチポインタ内に第16図(ロ)に示す◇印のアドレス
が書き込まれ、そして、サブルーチンSB2を出る。
このように、対応シーケンサメモリ番地サーチ・サブル
ーチンSB2が実行されると、サーチポインタ内に、現
在、矢印カーソルKが指示する絶対時間Tk位置の次の
イベントデータのアドレスが書き込まれる。
つまり、矢印カーソルKがダイヤマークDの間にある場
合−カーソルにの次のダイヤマークDのイベントが記憶
されているデータブロックの先頭アドレス、矢印カーソ
ルKがダイヤマークDに一致している場合→そのダイヤ
マークDのイベントが記憶されているデータブロックの
先頭アドレスが各々サーチポインタに書き込まれる。
以上がサブルーチンSB2の詳細である。第14図の処
理において、このサブルーチンSB2が終了すると、次
にKONイベント書き込みサブルーチン5B3(第17
図)へ進む。このサブルーチンSB3へ進むと、まず、
Kレジスタに“1”が書き込まれ、次いで、イベント書
き込みサブルーチンSB4が実行される。
第18図はこのイベント書き込みサブルーチンSB4の
フローチャートである。まず、ステップSkiへ進むと
、ポインタイコールフラグがセットされているか否かが
判断される。そして、この判断結果がrY E S J
の場合はステップSk2へ進む。ステップSk2では、
ブロック転送によりnバイト分の記憶エリア(シーケン
サメモリ13の記憶エリア)が確保される。いま、例え
ば第16図の例において、カーソルKがダイヤマークD
3と同じ位置にあったとする。この場合、スイッチ3a
〜3f(第2図)および鍵盤lによって入力されたイベ
ントはデータブロックDRa内に書き込まれなくてはな
らない。そのためには、データブロックDB4以降をn
バイト分ずらして記憶エリアを確保しなければならない
。ステップSk2はこのための処理である。なお、nは
第5図〜第7図において説明したnレジスタ内のデータ
であり、同じ位置に書き込むべきキーコードイベントの
データ数を示している。
次に、ステップSk3へ進むと、シーケンサメモリ13
に書き込むべきn個のキーコードがスタックレジスタか
ら読み出され、ステップSk4へ進むと、読み出された
キーコードがシーケンサメモリ13に書き込まれる。こ
の場合、各バイトのMSBににレジスタ内のデータ“l
”(キーオンを示す)が書き込まれる。また、書き込み
アドレスはサーチポインタ内のアドレスデータから算出
される。
一方、ステップSkiの判断結果がrNOJの場合、す
なわち、矢印カーソルにとダイヤマークDが一致してい
ない場合はステップSk5へ進む。
ステップSk5では、ブロック転送によって(n+2)
バイト分の記憶エリアが確保される。第16図(イ)の
位置にカーソルKがあった場合は、データブロックDB
SとDB4の間にn+2バイトの記憶エリアが確保され
る。なお、+2バイトは勿論コントロールバイトのため
である。次にデュレイション書き替えサブルーチンSB
5へ進む。
デュレイション書き替えサブルーチンSB5は、デュレ
イションデータ、すなわち、コントロールバイトのデー
タ(次のイベントまでの時間)を書き替えるルーチンで
ある。例えば第16図(イ)に示す矢印カーソルにの位
置に新たにイベントを書き込む場合、ダイヤマークD3
に対応するデータブロックDB3のコントロールバイト
内のデータをT3から図に示すTbに変える必要があり
、また、新たに挿入されるデータブロックのコントロー
ルバイトには、図に示す時間Taを書き込む必要がある
。サブルーチンSB5はこの処理を行うザブルーチンで
ある。
第19図はこのデュレイション書き替えサブルーチンS
B5のフローチャートである。まず、ステップSllで
は、サブルーチンSB2によって書き込みが行なわれた
サーチレジスタ内のデータから絶対時間レジスタ内のデ
ータが減算され、その結果がdulationAレジス
タに書き込まれる。第16図の例では、図に示す時間T
aが算出され、dulat 1onAレジスタに書き込
まれる。次にステップS!2へ進むと、現在のサーチポ
インタ内のアドレスデータが示すシーケンサメモリ13
のアドレスおよび次のアドレスに、dulationA
レジスタ内の時間データが書き込まれる。次にステップ
S13へ進ムと、1つ前のコントロールバイトヘサーチ
ポインタが移動される。第16図の例では、◇印のアド
レスがサーチポインタ内に書き込まれる。
次にステップS14へ進むと、サーチポインタ内のデー
タがアドレスデータとしてシーケンサメモリ13へ出力
されてシーケンサメモリ13内のデータが読み出され、
読み出されたデータの下位5ビツトがdist拍レジ入
レジスタ込まれる。次に、ステップS15へ進むと、サ
ーチポインタ内のデータに「1」が加算され、このデー
タがアドレスデータとしてシーケンサメモリI3へ出力
されてシーケンサメモリ13内のデータが読み出され、
読み出されたデータがdist小節レジスタに書き込ま
れる。次にステップS16へ進むと、 32 x (dist小節レジスタ)+(拍レジスタ)
−(dulationAレジスタ)・・・・・・(5)
なる演算が行なわれその結果がdulationBレジ
スタに書き込まれる。次に、ステップS17へ進む゛と
、現在のサーチポインタ内のデータが示すメモリ13の
アドレスおよび次のアドレスにdulationBし?
スタ内のデータが書き込まれる。第16図の例では、図
に示す時間Tbが時間T3(第16図(ロ)参照)の位
置に書き込まれる。
上述したデュレイション書き替えサブルーチンSB5が
終了すると、第18図のステップSk6へ進む。ステッ
プSk6では、次のコントロールバイトまでサーチポイ
ンタが移動される。第16図の例では、O印の位置にサ
ーチポインタが戻る。
以下、前述したステップS k3 、S k4が実行さ
れてイベント書き込みが行なわれる。次いで、第14図
のステップSh2へ進む。
ステップSh2では、拍レジスタ内のデータにS te
p timeレジスタ内のデータが加算される。次にス
テップSh3へ進むと、拍レジスタ内のデータが31よ
り大か否かが判断される。そして、この判断結果がrY
ESJの場合はステップSh4へ進む。ステップSh4
では、拍レジスタ内のデータから「31」が減算される
。次にステップSh5へ進むと、小節レジスタ内のデー
タがインクリメントされる。次に、対応シーケンザメモ
リ番地す−ヂサブルーチンSB2へ進む。一方、ステッ
プSh3の判断結果がrNOJの場合は、ステップSh
4、Sb2をジャンプしてサブルーチンSB5へ進む。
上述したステップSh2〜Sh5の処理はキーオフイベ
ントを書き込むための処理である。すなわち、音長設定
スイッチ3a〜3fおよび鍵盤lによって音符が入力さ
れると、その時点で第14図のデータ書き込み処理Sa
4が実行され、キーオンイベントおよびキーオフイベン
トが共に書き込まれる。この場合、キーオンイベントは
矢印カーソルにの位置に書き込まれ、キーオフイベント
はカーソルにの位置から音符長の時間だけ後ろに書き込
まれる。上述したステップSh2〜Sh5の処理はキー
オフイベントを書き込むべき位置を求めるための処理で
ある。
上記の処理が終了し、次いで対応シーケンサメモリ番地
サーチ・サブルーチン5B2(第15図)が実行される
と、キーオフイベントを書き込むべきシーケンサメモリ
I3のアドレスがサーチポインタ内に書き込まれる。次
に、キーオフイベント書き込みサブルーチンSB6が実
行される。
第20図はキーオフイベント書き込みサブルーチンSB
6の処理を示すフローヂャートであり、まず、ステップ
Smlにおいてにレジスタに“0”が書き込まれる。次
いで、前述したイベント書き込みサブルーチンSB4が
実行され、キーオフイベントがシーケンサメモリ13に
書き込まれる。
そして、このサブルーチンSB6の実行が終了すると、
データ書き込み処理Sa4が終了し、メインルーチン・
\戻る。
なお、初期状態においては、シーケンサメモリ13がA
Il″l”にセットされる。また、第15図のステップ
Si7における絶対時間レジスタ=0の要件はデータ記
録開始時において必要となる要件である。
◇表示書き替えザブルーチン881 次に、第10図のING処理、第11図のDEC処理に
おける表示書き替えサブルーチンSBIについて説明す
る。このサブルーチンSBIは、前述したように、小節
が変わった場合にダイヤマークDの表示位置を変更する
ための処理である。
第21図は同ザブルーチンSBIの処理を示すフローヂ
ャートであり、まず、ステップSnlへ進むと、拍レジ
スタ内のデータをスタックレジスタ内に書き込む。次に
ステップSn2へ進むと、拍レジスタがクリアされる。
次に、対応シーケンサメモリ番地サーチ・サブルーチン
SB2が実行される。これにより、まず、現在の小節レ
ジスタおよび拍レジスタ内のデータが示すカーソルにの
位置、あるいは、その位置を越える最初のイベント位置
を示すアドレスデータがサーチポインタに書き込まれる
次に、ステップSn3へ進むと、ポインタイコールフラ
グがセットされているか否かが判断される。そして、こ
の判断結果がrY、ESJの場合はステップSn4へ進
む。ステップSn4では、サーチポインタ内のアドレス
データが示すシーケンサメモリ13の記憶位置にキーオ
ンイベントがあるか否かが判断される。そして、この判
断結果が[YESJの場合はステップSn5へ進む。ス
テップSn5では、表示画面(第2図)のメジャバ−1
0aの上であって、拍レジスタ内のデータに対応する位
置にダイヤマークDが表示される。そして、ステップS
n6へ進む。一方、ステップSn3.Sn4の判断結果
が各々rNOJの場合はステップSn5をジャンプして
ステップSn6へ進む。ステップSn6では、拍レジス
タがインクリメントされる。次に、ステップSn7へ進
むと、拍レジスタ内のデータが「32」であるか否かが
判断される。そして、この判断結果が「NO」の場合は
サブルーチンSB2へ戻り、rYESJの場合はステッ
プSn8へ進む。
ステップSn8では、ステップSnlにおいてスタック
レジスタに書き込んだデータを拍レジスタに戻す。
以上が表示書き替えサブルーチンSBIの処理である。
この処理は上述した説明から明らかなように、拍レジス
タ内のデータを「0」〜「31」まで順次変えて行き、
それぞれの位置にキーオンイベントがあるか否かを調べ
、ある場合はダイヤマークDを表示する処理である。
◇D、el処理Sel l5BDel処理Se9次に、
第8図のDel処理5ell、BDel処理Se9を説
明する。−旦、シーケンサメモリ13に書き込んだイベ
ントの消去は、Delスイッチ6またはBDelスイッ
チ7によって行なわれる。Delスイッチ6をオンとす
ると、現在のカーソルにの位置のキーオンイベントおよ
びそのキーオンイベントに対応するキーオフイベントが
消去され、また、BDelスイッチ7をオンとすると、
カーソルKが現在設定されている音符長(すなわち、S
 tepLimeレジスタ内のデータ)だけ曲頭方向へ
移動され、そのカーソルにの位置のキーオンイベントお
よび同イベントに対応するキーオフイベントが消去され
る。
まず、Delスイッチ6がオンとされた時打なわれるD
el処理Set Iについて説明する。第22図はDe
l処理11のフローチャートであり、このDel処理に
おいては、まず、対応シーケンサメモリ番地サーチ・ザ
ブルーチンSB2が実行される。
これにより、現在のカーソルにの位置にイベントがある
場合はそのイベントが書き込まれているデータブロック
の先頭アドレスが、ない場合はその位置を越える最初の
イベントが書き込まれているデータブロックのアドレス
がサーチポインタに書き込まれる。次に、ステップSo
lへ進むと、ポインタイコールフラグがセットされてい
るか否かが判断される。そして、この判断結果がrY 
E S Jの場合はステップSo2へ進む。ステップS
o2およびSo3では、そのタイミングに(すなわち、
カーソルにの位置に対応するシーケンサメモリ13の記
憶位置に)キーオンイベントが存在するか否かが判断さ
れる。そして、この判断結果がrYES」の場合はステ
ップSo4へ進む。ステップS。
4では、そのタイミングにおける全てのキーオンイベン
トが削除される。
次にステップSo5へ進むと、対応する全てのキーオフ
イベントが削除される。次に、ステップSo6およびS
o7では、全てのイベントが消滅したデータブロックか
あるか否かが判断される。そして、この判断結果がrY
 E S Jの場合はステップSo8へ進む。ステップ
So8では、そのデータブロックのデュレイション(第
1.第2バイトの時間データ)を1つ前のデータブロッ
クのデュレイションに加算する。次にステップSo9へ
進むと、全てのイベントが消滅したデータブロックが削
除される。次に、表示書き替えサブルーチンSBIが実
行される。次に、ステップSol Oへ進むと、カーソ
ルにの表示位置が現在の拍レジスタ内のデータにしたが
って変更される。なお、このDel処理においては、拍
レジスタ内のデータに変化が−なく、したがって、ステ
ップ5olOの実質的意味はない。このステップ501
0は次に説明するBDelDel処理て実質的意味があ
る。
一方、ステップSol 、So3.Sa7の各判断結果
のいずれかがrNOJの場合は、サブルーチンSBlお
よびステップ5oloを実行した後、Del処理を終了
する。以上がDel処理Set Iの詳細である。
次に、BDel処理Se9について説明する。第23図
はBDel処理Se9のフローチャートであり、まず、
ステップSplおよびSp2では、現在の絶対時間レジ
スタ内のデータ(カーソルにの位置を示すデータ)がS
 tep tameレジスタ内のデータより大きいか否
かが判断される。そして、この判断結果がrY E S
 Jの場合はステップSp3へ進む。ステップSp3で
は、絶対時間レジスタ内のデータからS tep ti
meレジスタ内のデータが減算される。次いで、上述し
たDel処理Sel 1が実行される。一方、カーソル
にの位置が曲頭に近く、ステップSpl 、Sp2の判
断結果が「NOJであった場合は、何の処理もせずこの
BDelDel処理。
「発明の効果」 以上説明したように、この発明によれば、音符長および
音高を入力する入力手段と、消去スイッチと、前記消去
スイッチが操作された時、表示画面のカーソルをその時
点において設定されている音符長に対応して曲の開始位
置方向へ移動させる手段と、前記カーソルの位置にある
楽音データを消去する消去手段とを具備しているので、
■操作で楽音データの消去を行うことができ、楽音デー
タの消去が簡単になる利点が得られる。また、この発明
によれば、音符長を適宜設定することにより、例えば各
小節の2拍目の裏だけを順次消去するということも可能
である。
【図面の簡単な説明】
第1図はこの発明の一実施例の構成を示すブロック図、
第2図は同実施例による自動演奏装置の操作パネルを示
す図、第3図は同実施例におけるシーケンスメモリ13
のデータ記憶状態を示す図、第4図〜第15図および第
17図〜第23図は各々同実施例の動作を説明するため
のフローチャート、第16図は同実施例の動作を説明す
るための説明図である。

Claims (1)

    【特許請求の範囲】
  1. 音符長および音高を入力する入力手段と、消去スイッチ
    と、前記消去スイッチが操作された時、表示画面のカー
    ソルをその時点において設定されている音符長に対応し
    て曲の開始位置方向へ移動させる手段と、前記カーソル
    の前記移動した位置にある楽音データを消去する消去手
    段とを具備してなる電子楽器の自動演奏装置。
JP1264475A 1989-10-11 1989-10-11 電子楽器の自動演奏装置 Expired - Lifetime JP2776915B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1264475A JP2776915B2 (ja) 1989-10-11 1989-10-11 電子楽器の自動演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1264475A JP2776915B2 (ja) 1989-10-11 1989-10-11 電子楽器の自動演奏装置

Publications (2)

Publication Number Publication Date
JPH03126083A true JPH03126083A (ja) 1991-05-29
JP2776915B2 JP2776915B2 (ja) 1998-07-16

Family

ID=17403743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1264475A Expired - Lifetime JP2776915B2 (ja) 1989-10-11 1989-10-11 電子楽器の自動演奏装置

Country Status (1)

Country Link
JP (1) JP2776915B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6320668A (ja) * 1986-07-15 1988-01-28 Brother Ind Ltd ワ−ドプロセツサ
JPS6320560A (ja) * 1986-07-14 1988-01-28 Brother Ind Ltd ワ−ドプロセツサ
JPS63170898U (ja) * 1987-04-27 1988-11-07
JPS6451992U (ja) * 1987-09-26 1989-03-30

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6320560A (ja) * 1986-07-14 1988-01-28 Brother Ind Ltd ワ−ドプロセツサ
JPS6320668A (ja) * 1986-07-15 1988-01-28 Brother Ind Ltd ワ−ドプロセツサ
JPS63170898U (ja) * 1987-04-27 1988-11-07
JPS6451992U (ja) * 1987-09-26 1989-03-30

Also Published As

Publication number Publication date
JP2776915B2 (ja) 1998-07-16

Similar Documents

Publication Publication Date Title
JP2650454B2 (ja) 自動演奏装置
US4184401A (en) Electronic musical instrument with automatic bass chord performance device
JP3177374B2 (ja) 自動伴奏情報発生装置
US4843934A (en) Rhythm tone source assigning apparatus for use in electronic musical instrument
JPH03126083A (ja) 電子楽器の自動演奏装置
JPS6321911B2 (ja)
JPH01319793A (ja) 演奏情報処理装置の割込処理制御部
JPH03196195A (ja) 電子楽器
US5363735A (en) Electronic musical instrument of variable timbre with switchable automatic accompaniment
US4619176A (en) Automatic accompaniment apparatus for electronic musical instrument
JP2956867B2 (ja) 自動伴奏装置
US5670731A (en) Automatic performance device capable of making custom performance data by combining parts of plural automatic performance data
JPH1069215A (ja) 演奏練習装置及びプログラムを記録した媒体
JPS6322600B2 (ja)
JPH06161452A (ja) 自動伴奏装置
JP2827313B2 (ja) 電子楽器
JP2641851B2 (ja) 自動演奏装置
JP2705421B2 (ja) 自動伴奏装置
JPH01177091A (ja) 演奏操作入力装置
JPH05188961A (ja) 自動伴奏装置
JPH03192398A (ja) 電子楽器
JPH0798582A (ja) 電子楽器
JPH03198094A (ja) 自動伴奏パターンデータ発生装置
JP2640179B2 (ja) コード処理装置及びコード処理方法
JP2988371B2 (ja) 自動伴奏装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090501

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100501

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100501

Year of fee payment: 12