JPH07109553B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH07109553B2
JPH07109553B2 JP62160754A JP16075487A JPH07109553B2 JP H07109553 B2 JPH07109553 B2 JP H07109553B2 JP 62160754 A JP62160754 A JP 62160754A JP 16075487 A JP16075487 A JP 16075487A JP H07109553 B2 JPH07109553 B2 JP H07109553B2
Authority
JP
Japan
Prior art keywords
data
performance data
timing
performance
key
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.)
Expired - Lifetime
Application number
JP62160754A
Other languages
English (en)
Other versions
JPS644794A (en
Inventor
理 柿崎
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 JP62160754A priority Critical patent/JPH07109553B2/ja
Priority to US07/210,926 priority patent/US4881440A/en
Publication of JPS644794A publication Critical patent/JPS644794A/ja
Priority to US07/406,357 priority patent/US4981066A/en
Publication of JPH07109553B2 publication Critical patent/JPH07109553B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、演奏データメモリに記憶されている演奏デー
タに基づき楽音を発生する自動演奏装置に係り、特に前
記演奏データの編集(エディット)機能を備えた自動演
奏装置に関する。
(従来技術) この種の装置に関する従来技術としては、例えば特開昭
58−211191号公報に示されるように、楽曲の進行に従っ
た鍵盤演奏に関する演奏データを演奏データメモリに記
憶しておき、かつ該記憶した演奏データを楽曲の進行に
従って読出して、該読出した楽音を自動再生するととも
に、前記自動再生を行いながら鍵盤演奏を行うことによ
り、演奏データメモリ内に新たな鍵盤演奏に関する演奏
データを以前から記憶されていた演奏データに加えて書
込むようにして演奏データを編集するようなものはあっ
た。
(発明が解決しようとする問題点) しかるに、上記従来の装置にあっては、演奏データメモ
リ内の演奏データに新たな鍵盤演奏に関する演奏データ
を加えていくことにより、演奏データメモリ内の演奏デ
ータを順次変更していくことは可能であるが、演奏デー
タメモリに記憶されている演奏データを新たな演奏デー
タに変更するようなことが簡単にできず、演奏データの
編集には大きな制限があるという問題があった。
本発明は上記問題に鑑み案出されたもので、その目的と
するところは上記のような制限をなくすとともに、効率
よく演奏データの編集ができるようにした自動演奏装置
を提供することにある。
(問題点を解決するための手段) 上記問題を解決して本発明の目的を達成するために、本
発明の構成上の特徴は、第1図に示すように、楽曲の進
行に従って楽音の発生を制御する複数の演奏データを複
数の所定長区間に渡り記憶する演奏データメモリ1を有
し、演奏データメモリ1に記憶されている演奏データを
楽曲の進行に従って読出すとともに、該読出した演奏デ
ータに基づく楽音を発生する自動演奏装置において、一
所定長区間内における所望のタイミング範囲を指定する
タイミング範囲指定手段2と、演奏データの変更条件を
指定する変更条件指定手段3と、前記指定されたタイミ
ング範囲に属する演奏データを演奏データメモリ1に記
憶されている演奏データの中から複数の所定長区間毎に
それぞれ探し出すサーチ手段4と、前記探し出された各
所定長区間毎の演奏データを前記指定された変更条件に
従ってそれぞれ修正する演奏データ修正手段5と、前記
修正された各演奏データを前記探し出された各演奏デー
タに替えて演奏データメモリ1にそれぞれ書込む書込み
手段6とを備えたことにある。
(発明の作用) 上記のように構成した本発明においては、タイミング範
囲指定手段2により一所定長区間内のタイミング範囲が
指定され、かつ変更条件指定手段3により演奏データの
変更条件が指定されると、サーチ手段4が前記指定され
た特定のタイミング範囲に属する演奏データを演奏デー
タメモリ1に記憶されている演奏データの中から複数の
所定長区間毎にそれぞれ探し出し、演奏データ修正手段
5が前記探し出された各所定長区間毎の演奏データを前
記指定された変更条件に従ってそれぞれ修正し、書込み
手段6が前記修正された各演奏データを前記探し出され
た各演奏データに替えて演奏データメモリ1にそれぞれ
書込む。したがって、演奏データメモリ1に記憶されて
いる演奏データであって、各所定長区間内の前記指定さ
れた特定のタイミング範囲に属する演奏データのみが複
数の所定長区間に渡り所望の条件に基づいて変更され
る。
(発明の効果) 上記作用説明からも理解できる通り、本発明によれば、
タイミング範囲指定手段2により指定した特定タイミン
グ範囲に対応した箇所の演奏データを変更できるので、
演奏データの編集に自由度が増す。しかも、楽曲は通常
その流れに応じて1小節毎、2小節毎、4小節毎等の所
定長区間毎に楽音の発音タイミング、強弱等が同一条件
下の基に繰返されるものであり、本発明では、タイミン
グ範囲指定手段2及び変更条件指定手段3により所定長
区間内の特定のタイミング範囲及び演奏データの変更条
件を指定するのみで、特定タイミング範囲の演奏データ
が複数の所定長区間に渡り前記変更条件に従って自動的
に変更されるので、音楽的に意味ある演奏データの変更
を簡単な指定により行うことができるようになる。
(実施例) 以下、本発明の一実施例を図面を用いて説明すると、第
2図は本発明に係る自動演奏装置を備えた電子楽器をブ
ロック図により示している。
この電子楽器は鍵盤10及び操作パネル20を備えている。
鍵盤10は楽音を指定する複数の鍵からなり、各鍵の押離
鍵は鍵スイッチ回路10a内に各鍵に対応して設けた複数
の鍵スイッチの開閉成により検出されるようになってい
る。また、各鍵の押鍵に伴って鍵タッチ検出回路10b内
に各鍵に対応して設けた鍵タッチセンサも動作するよう
になっており、これらの鍵タッチセンサにより各鍵の押
鍵速度、押鍵圧力等のイニシャル鍵タッチが各々検出さ
れるようになっている。なお、これらの鍵スイッチ回路
10a及び鍵タッチ検出回路10bはバス30に接続されてい
る。
操作パネル20には、第3図に示すように、オートリズム
のスタート及びストップを各々指示するためのリズムス
タート操作子21a及びリズムストップ操作子21b、マー
チ、ワルツ等のリズム種類を選択するリズム選択操作子
群22と、オートリズムのテンポを各々上昇させ及び下降
させるアップ操作子23a及びダウン操作子23bと、自動演
奏データの記録開始及び再生開始を指示するための自動
演奏書込み操作子24a及び自動演奏読出し操作子24bと、
自動演奏データの編集に利用されるタイミングエディッ
ト操作子25a、タッチエディット操作子25a、セパレート
エディット操作子25c及びエンター操作子25dと、プラス
/マイナス(+/−)をも含めたテンキー操作子群26
と、楽音の音色及び効果の付与を各々指示する音色操作
子群27a及び効果操作子群27bと、表示器28とが配設され
ている。これらの操作子群の操作は操作子スイッチ回路
20a内に各操作子に対応して設けた複数の操作子スイッ
チにより検出されるようになっており、表示器28は表示
制御回路20bにより表示制御されるようになっている。
これらの操作子スイッチ回路20a及び表示制御回路20bは
バス30に接続されている。
さらに、バス30には、テンポ発振器40、リズム音信号発
生回路51、鍵盤用楽音信号発生回路52、自動演奏用楽音
信号発生回路53、データ記憶回路60及びマイクロコンピ
ュータ70が接続されている。テンポ発振器40は設定され
たテンポに従ってリズムインタラプト信号としてのテン
ポクロック信号をバス30を介してマイクロコンピュータ
70に出力する。リズム音信号発生回路51はシンバル、バ
スドラ等の打楽器に対応した打楽器音信号を形成する複
数の打楽器音信号形成回路を有し、マイクロコンピュー
タ70からバス30を介して供給されるリズムパターンデー
タに応じて前記打楽器音信号を形成出力する。鍵盤用楽
音信号発生回路52及び自動演奏用楽音信号発生回路53は
各々ピアノ、バイオリン等の楽器に対応した楽音信号を
形成する複数の楽音信号形成チャンネルを備えており、
鍵盤用楽音信号発生回路52は鍵盤10における押離鍵、音
色操作子群27aの操作及び効果操作子群27bの操作に応じ
て、マイクロコンピュータ70からバス30を介して供給さ
れる自動演奏データに基づく楽音信号を形成出力する。
また、自動演奏用楽音信号発生回路53はデータ記憶回路
60に記憶されていてマイクロコンピュータ70により読出
されかつバス30を介して供給される自動演奏データに基
づく楽音信号を形成出力する。これらのリズム音信号発
生回路51、鍵盤用楽音信号発生回路52及び自動演奏用楽
音信号発生回路53からの楽音信号は混合されてアンプ54
に供給されるようになっている。アンプ54の出力はスピ
ーカ55に接続されており、同スピーカ55はアンプ54から
供給される楽音信号に対応した楽音を発音する。
データ記憶回路60はバス30に各々接続されたリズムパタ
ーンデータメモリ61、演奏データメモリ62及びアドレス
テーブル63からなる。リズムパターンデータメモリ61は
ROMで構成されており、リズム音信号発生回路51におけ
る各打楽器音信号の形成出力を指示するリズムパターン
データをリズム種類毎に1小節長に渡って時系列的に記
憶している。演奏データメモリ62はRAMで構成され、後
述するアドレスADRによりアドレス指定される多数の記
憶位置APM(ADR)を有する。各記憶位置APM(ADR)に
は、次のような各種自動演奏用データが第4図に示すよ
うなデータフォーマットで記憶されるようになってい
る。
タイミングデータ・・・タイミングデータであることを
示す識別マークと、小節の頭からの経過間を表す時間デ
ータTIMDとからなる。
押鍵データ・・・鍵盤10における押鍵イベントデータで
あることを示す識別マークと、押鍵された鍵を表すキー
コードKCと、イニシャル鍵タッチ(音量レベル)を表す
鍵タッチデータKTDとからなる。
離鍵データ・・・鍵盤10における離鍵イベントデータで
あることを示す識別マークと、離鍵された鍵を表すキー
コードKCとからなる。
音色等データ・・・音色操作子群27a又は効果操作子群2
7bにより各々更新された音色データ又は効果データであ
ることを示す識別マークと、該更新された音色又は効果
名を表す音色・効果名データとからなる。
小節コード・・・自動演奏の進行タイミングが小節の頭
に対応したタイミングであることを示す。
終了コード・・・自動演奏の終了タイミングであること
を示す。
アドレステーブル63はRAMで構成され、演奏データメモ
リ62に記憶されている小節コードの次のアドレスADR
を、自動演奏の進行に従って小節毎に記憶する多数の記
憶位置ADTBL(n)を有する。ただし、nは小節数を示
す。
マイクロコンピュータ70はバス30に各々接続されたプロ
グラムメモリ71、CPU72及びワーキングメモリ73からな
る。プログラムメモリ71はROMで構成され、第5図乃至
第15図に示すフローチャートに対応したメインプログラ
ム、リズムインタラプトプログラム及びそれらのサブプ
ログラムを記憶している。CPU72は電源スイッチ(図示
しない)の投入によりメインプログラムの実行を開始す
るとともに同プログラムを電源スイッチの開成まで繰返
し実行し、テンポ発振器40からのテンポクロック信号の
到来時には前記メインプログラムの実行を中断してリズ
ムインタラプトプログラムを割込み実行する。ワーキン
グメモリ73はRAMで構成され、前記プログラムの実行に
必要な複数のテータ及びフラグを一時的に記憶する。こ
れらのデータ及びフラグのうち、主なものを列挙すると
次の通りである。
リズムランフラグRUN・・・オートリズムの動作状態を
表すフラグであり、“1"にて動作中を表し、かつ“0"に
て停止中を表す。
オートプレイライトフラグAPW・・・自動演奏の作動状
態を表すフラグであり、“1"にて自演奏用データを演奏
データメモリ62に書込み中(記録モード)であることを
表し、かつ“0"にて前記記録モード中でないことを表
す。
オートプレイリードフラグAPR・・・自動演奏の作動状
態を表すフラグであり、“1"にて自動演奏用データを演
奏データメモリ62から読出し中(再生モード)であるこ
とを表し、かつ“0"にて前記再生モード中でないことを
表す。
テンポカウントTCNT・・・テンポ発振器40がテンポクロ
ック信号を発生する毎に「1」ずつ歩進するカウント値
であって、オートリズムの1小節内における進行位置を
表す。
小節カウントBACNT・・・自動演奏における進行小節数
を表す。
アドレスADR・・・演奏データメモリ62のアドレスを表
す。
リードデータRDDT・・・演奏データメモリ62から読出し
た自動演奏用データを表す。
リードタイミングデータRDDT・・・演奏データメモリ62
から読出した自動演奏用データ中、特にタイミングデー
タのみを表す。
開始小節データBARFM・・・自動演奏の再生モード又は
自動演奏用データの編集モードにおいて、開始小節番号
を表す。
終了小節データBARTO・・・前記再生モード又は編集モ
ードにおいて、終了小節番号を表す。
開始タイミングデータTIMFM・・・自動演奏用データの
編集モードにおいて、小節内の編集領域の開始タイミン
グを表す。
終了タイミングデータTIMTO・・・前記編集モードにお
いて、小節内の編集領域の終了タイミングを表す。
タイミング変更データΔTIME・・・前記編集モードにお
いて、時間データTIMEの修正量を表す。
鍵タッチ変更データΔKTD・・・前記編集モードにおい
て、鍵タッチデータKTDの修正量を表す。
ソートタイプデータSTYP・・・前記編集モードにおい
て、同時発音に関する押鍵データの並び換えのタイプを
表すもので、“1"にて低音側から高音側への並び換えを
表し、かつ“0"にて高音側から低音側への並び換えを表
す。
キーバッファデータKEYBUF(n)・・・前記並び換えら
れるべき押鍵データを表す。但し、nは並び換えられる
べき押鍵データの数に対応する。
次に、上記のように構成した実施例の動作を、(1)鍵
盤10における押離鍵及び操作パネル20の操作に応じて単
に楽音を発生する通常演奏モード、(2)鍵盤10におけ
る押離鍵及び操作パネル20の操作に基づくデータを自動
演奏用データとして演奏データメモリ62に書込む自動演
奏記録モード、(3)演奏データメモリ62内の自動演奏
用データを読出して、該読出した自動演奏用データに基
づき楽音を発生する自動演奏再生モード、(4)演奏デ
ータメモリ62内の自動演奏データを編集する編集モード
に分けて、第5図乃至第15図のフローチャートを参照し
ながら説明する。
(1)通常演奏モード電源スイッチ(図示しない)が投
入されると、CPU72は第5図のステップ100にてメインプ
ログラムの実行を開始し、ステップ101にてワーキング
メモリ73内の各レジスタをクリアすることにより、マイ
クロコンピュータ70を初期状態に設定する。この初期設
定後、CPU72はステップ102にて鍵スイッチ回路10a内の
各鍵スイッチ及び操作子スイッチ回路10b内の各操作子
スイッチをスキャンすることにより、鍵盤10に関する押
離鍵情報及び操作パネル20に関する各操作子の操作情報
をバス30を介して読込み、ステップ103にて該読込んだ
押離鍵情報及び操作情報に基づきワーキングメモリ73と
の協働により鍵盤10における押離鍵イベント又は操作パ
ネル20における操作イベントの有無を検出する。今、鍵
盤10においていずれの鍵も押離鍵されず、かつ操作パネ
ル20においていずれの操作子も操作されなければ、CPU7
2はステップ103にて「NO」すなわちイベント無しと判定
して、プログラムをステップ102に戻し、ステップ102,1
03からなる環境処理を実行し続ける。
また、鍵盤10においていずれかの鍵が押離鍵され、又は
操作パネル20においていずれかの操作子が操作される
と、CPU72は上記ステップ103にて「YES」すなわちイベ
ント有りと判定して、プログラムを該イベントの種類を
判定するステップ104の処理に進める。かかる場合、通
常演奏モードにおいては、操作パネル20上の各種操作子
群のうち、自動演奏書込み操作子24a、自動演奏読出し
操作子24b、タイミングエディット操作子25a、鍵タッチ
エディット操作子25b、セパレートエディット操作子25
c、エンター操作子25d及びテンキー操作子群26が操作子
されることはないので、これらの操作子が操作された場
合については後述するとして、それら以外の鍵盤10の各
鍵、リズムスタート操作子21、リズムストップ操作子21
b、リズム選択操作子群22、アップ操作子23a、ダウン操
作子23b、音色操作子群27a又は効果操作子群27bが操作
された場合について説明する。
最初に、鍵盤10の各鍵、音色操作子群27a又は効果操作
子群27bのいずれかが操作された場合について説明す
る。この場合、CPU72は上記ステップ104の処理によりプ
ログラムをステップ105に進め、ステップ105にて第6図
に詳細に示す鍵・音色イベントルーチンを実行する。こ
の鍵・音色イベントルーチンにおいては、ステップ200
にてその実行が開始され、ステップ201にて操作された
鍵及び操作子に関する全てのイベントデータがワーキン
グメモリ73に設けたイベントバッファレジスタ内に書込
まれる。なお、鍵盤10にていずれかの鍵が押鍵された場
合には、鍵タッチ検出回路10bにて該押鍵に伴い検出さ
れてイニシャル鍵タッチを表す鍵タッチデータも前記イ
ベントデータとしてイベントバッファレジスタ内に書込
まれる。そして、ステップ202にてこれらの全てのイベ
ントデータはバス30を介して鍵盤用楽音信号発生回路52
に出力される。鍵盤用楽音信号発生回路52はこれらのイ
ベントデータを取込み記憶すると同時に、該データに基
づき楽音信号の発生を制御する。この場合、該イベント
データが鍵盤10における押鍵に関するものであれば、鍵
盤用楽音信号発生回路52は押鍵された鍵に対応した鍵音
高周波数の楽音信号の形成を開始して、該形成した楽音
信号をアンプ54を介してスピーカ55に供給する。なお、
この場合、前述のイニシャル鍵タッチデータも同時に楽
音信号発生回路52に出力され、同発生回路52にて形成さ
れる楽音信号の音量を制御するデータとして利用され
る。その結果、スピーカ55からは、鍵盤10にて押鍵され
た鍵に対応した鍵音高周波数の楽音がイニシャル鍵タッ
チに応じた音量で発音される。また、前記イベントデー
タが鍵盤10における離鍵に関するものであれば、鍵盤用
楽音信号発生回路52は前述のようにして今まで形成中で
あった離鍵された鍵に関する楽音信号の形成出力を停止
する。その結果、スピーカ55からは、鍵盤10にて離鍵さ
れた鍵に関する楽音が発音されなくなる。
一方、上記のように鍵盤用楽音信号発生回路52に供給さ
れたイベントデータが音色操作子群27a又は効果操作子
群27bに関するものであれば、同発生回路52は、該供給
されたイベントデータに基づき、操作された操作子に応
じて発生楽音信号の音色又は同信号に対する効果付与を
制御する。その結果、発音される楽音の音色及び同楽音
に対する効果付与が音色操作子群27a及び効果操作子群2
7bの操作に応じて制御されるようになる。
上記ステップ202の処理後、CPU72はステップ203にてオ
ートプレイライトフラブAPWが“1"であるか否かを判定
する。かかる場合、当該電子楽器のモードは通常演奏モ
ードであって同フラグAPWは“0"であるので、ステップ2
03にて「NO」と判定され、プログラムはステップ204に
進められる。CPU72はこのステップ204にて前記イベント
バッファレジスタ内の全てのイベントデータをクリア
し、ステップ205にて鍵・音色イベントルーチンの実行
を終了して、プログラムを第5図のステップ102に戻
す。そして、CPU72は再び上記ステップ102,103からなる
循環処理を実行し、該循環処理中、鍵盤10における押離
鍵又は音色操作子群27a、効果操作子群27bにおける操作
があると、上記ステップ104,105の処理により上述のよ
うにして前記押離鍵又は操作に応じて楽音の発生を制御
する。
次に、リズム選択操作子群22、アップ操作子23a及びダ
ウン操作子23bのうちのいずれかが操作された場合につ
いて説明する。この場合、CPU72は、上記ステップ102,1
03からなる循環処理中、ステップ103にて上記場合と同
様「YES」と判定してプログラムをステップ104に進め、
ステップ104の判定処理によりステップ106の処理を実行
する。このステップ106の処理においては、操作された
操作子がリズム選択操作子群22に関するものであれば、
ワーキングメモリ73内に記憶されていてオートリズムに
おけるリズム種類を表すリズム種類データが、操作され
た操作子に応じて更新される。また、アップ操作子23a
又はダウン操作子23bが操作された場合には、ワーキン
グメモリ73内に記憶されていてオートリズムのテンポを
制御するテンポ制御データが、前記操作子23a,23bの操
作時間に応じて更新されると同時に、該更新されたデー
タはバス30を介してテンポ発振器40に供給され、同発振
器40から出力されるテンポクロック信号の周波数が修正
される。このように、リズム選択操作子群22、アップ操
作子23a又はダウン操作子23bが操作された場合には、ス
テップ106の処理により、リズム種類及びリズムテンポ
が前記操作子22,23a,23bの操作に応じて指定される。そ
して、上記ステップ106の処理後、CPU72はプログラムを
再びステップ102に戻し、ステップ102,103からなる循環
処理を続ける。
また、かかる循環処理中、リズムスタート操作子21が操
作されると、CPU72は上記と同様ステップ103にて「YE
S」と判定してプログラムをステップ104に進め、ステッ
プ104の判定処理によりステップ107の処理を実行する。
このステップ107の処理においては、リズムランフラグR
UNが“1"に設定されるとともに、テンポカウントTCN7が
「0」に初期設定される。このステップ107の処理後、C
PU72は上記場合と同様プログラムをステップ102に戻し
て、ステップ102,103からなる循環処理を再び実行し続
ける。
一方、かかる循環処理中、テンポ発振器40からテンポク
ロック信号が発生されると、CPU72は前記プログラムの
実行を中断して第14図のリズムインタラプトプログラム
の実行をステップ900から開始し、ステップ901にてリズ
ムランフラグRUNが“1"であるか否かを判定する。かか
る場合、リズムランフラグRUNは前述のステップ107(第
5図)の処理により“1"に設定されているので、前記ス
テップ901の判定処理においては「YES」と判定され、プ
ログラムはステップ902に進められる。CPU72は、ステッ
プ902にて、リズムパターンメモリ61を参照して、上述
したようにリズム選択操作子群22の操作により設定され
たリズム種類データ及び上記ステップ107(第5図)の
処理により「0」に初期設定されたテンポカウントTCNT
に基づき同メモリ61内に記憶されているリズムパターン
データを読出して、該読出しデータをバス30を介してリ
ズム音信号発生回路51に出力する。リズム音信号発生回
路51は前記供給されたリズムパターンデータにより指定
された打楽器音信号を形成し、該信号をアンプ54を介し
てスピーカ55に供給する。その結果、スピーカ55からは
リズムパターンデータに従った打楽器音が発音される。
上記ステップ902の処理後、CPU72はステップ903にてオ
ートプレイリードフラグAPRが“1"であるか否かを判定
する。かかる場合、当該電子楽器は通常演奏モードに設
定されていてオートプレイリードフラグAPRは“0"であ
るので、前記ステップ903の判定処理においては「NO」
と判定され、プログラムはステップ904に進められる。C
PU72はこのステップ904にて演算TCNT=TCNT+1の実行
によりテンポカウントTCNTを「1」だけ歩進すなわち
「1」に設定して、ステップ905にて該歩進したテンポ
カウントTCNTが小節のエンド値を示すか否かを判定す
る。今、テンポカウントTCNTは「0」から「1」に変更
された直後であって小節エンド値を示していないので、
前記ステップ905の判定処理においては「NO」と判定さ
れ、プログラムはステップ906に進められて、同ステッ
プ906にてリズムインタラプトプログラムの実行が終了
される。なお、上述のようにリズムスタート操作子21a
の操作前であって、リズムランフラグRUNが「0」に設
定されている状態でも、テンポ発振器40からテンポクロ
ック信号が発生された場合には、このリズムインタラプ
トプログラムは実行されるが、かかる場合には上記ステ
ップ901にて“0"に設定されているリズムランフラグRUN
に基づき「NO」と判定されてプログラムは上記ステップ
902を経ないで上記ステップ906に進められるので、打楽
器音が発音されることはない。
かかるリズムインタラプトプログラムの終了後、CPU72
は上記中断したプログラムの実行に移る。そして、テン
ポ発振器40からテンポクロック信号が発生される毎に、
リズムインタラプトプログラムの上記ステップ900〜906
の処理が実行されて、リズムパターンデータに基づく打
楽器音の自動発音が制御されるとともにテンポカウント
TCNTが順次「1」ずつ歩進される。このような動作中、
リズムスタート操作子21aの操作から1小節に対応した
時間が経過すると、リズムパターンデータメモリ61に記
憶されている1小節分のリズムパターンデータの読出し
が終了すると同時に、テンポカウントTCNTが小節エンド
に対応した値になる。このとき、CPU72は、上記ステッ
プ905の判定処理にて、前記テンポカウントTCNTに基づ
き「YES」と判定し、ステップ907にて同テンポカウント
TCNTを「0」に初期設定して、プログラムをステップ90
8に進める。ステップ908においては、オートプレイライ
トフラグAPWが“1"であるか否かが判定されるが、この
場合、当該電子楽器は通常演奏モードにあって同フラグ
APWは“0"であるので、CPU72は同ステップ908にて「N
O」と判定し、ステップ906にてこのリズムインタラプト
プログラムの実行を終了する。これにより、オートリズ
ム演奏は再び小節の頭から実行されるようになる。この
ようなオートリズム演奏により、演奏者は、当該モード
において、所望の自動リズム演奏とともに鍵盤10におけ
る演奏を行うことができる。
かかる自動リズム演奏中、リズムストップ操作子21bが
操作されると、CPU72は、上記場合と同様にステップ10
2,103(第5図)からなる循環処理中、ステップ103にて
「YES」と判定し、ステップ104の判定処理によりプログ
ラムをステップ108に進め、ステップ108にて第7図に詳
細に示すリズムストップルーチンを実行する。このリズ
ムストップルーチンにおいては、ステップ300にてその
実行が開始され、ステップ301にて上述のように“1"に
設定されているリズムランフラグRUNに基づき「YES」と
判定され、ステップ302にて同フラグRUNが“0"に設定変
更される。これにより、以降、テンポ発振器40からテン
ポクロック信号が出力されてリズムインタラプトプログ
ラム(第14図)が実行されても、上述したように打楽器
音は発音されず自動リズム演奏は停止する。上記ステッ
プ302の処理後、ステップ303,304にてオートプレイライ
トフラグAPW及びオートプレイリードフラグAPRが“1"で
あるか否かが判定されるが、この場合、当該電子楽器は
通常演奏モードにあって両フラグAPW,APRは共に“0"に
設定されているので、前記両ステップ303,304にて共に
「NO」と判定され、ステップ305にてこのリズムストッ
プルーチンの実行が終了される。なお、リズムストップ
操作子21bが自動リズムの停止中すなわちリズムランフ
ラグRUNが“0"であるときに操作されても、このリズム
ストップルーチンはステップ300から実行開始される
が、この場合、ステップ301にて「NO」と判定され、ス
テップ305にて同ルーチンの処理が終了されるので、前
記リズムストップ操作子21bの操作は当該電子楽器の動
作に何ら影響を及ぼさない。
(2)自動演奏記録モード 次に、自動演奏書込み操作子24aの操作によって開始さ
れ、かつリズムストップ操作子21bの操作により停止さ
れる自動演奏記録モードについて説明する。
上述したステップ102,103(第5図)からなる循環処理
中、自動演奏書込み操作子24aが操作されると、CPU72は
ステップ103にて「YES」と判定し、ステップ104の判定
処理によりプログラムをステップ109に進め、ステップ1
09にて第8図に詳細に示すオートプレイライトルーチン
を実行する。このオートプレイライトルーチンにおいて
は、ステップ400にてその実行が開始され、ステップ401
にてオートプレイライトフラグAPW及びリズムランフラ
グRUNが各々“1"に設定されるとともに、テンポカウン
トTCNT及びアドレスADRが各々「0」に初期設定され
る。このステップ401の処理後、CPU72はステップ402に
てアドレスADR(=「0」)により指定される演奏デー
タメモリ62の記憶位置APM(ADR)に小節の区切りを表す
小節コード(第4図参照)を書込み、ステップ403にて
アドレスADRを「1」だけ歩進させるためにADR=ADR+
1の演算を実行して、ステップ403にてこのオートプレ
イライトルーチンの実行を終了する。これにより、自動
演奏記録モードにおける初期設定が完了される。このオ
ートプレイライトルーチンの実行後、CPU72はプログラ
ムをステップ102(第5図)に進め、上記した場合と同
様のステップ102,103からなる循環処理を続ける。
かかる状態では、リズムランフラグRUNが“1"に設定さ
れているので、テンポ発振器40からテンポクロック信号
が発生されると、上述したリズムインタラプトプログラ
ム(第14図)のステップ900〜906からなる処理が実行さ
れて、ステップ902の打楽器音の発音制御によりオート
リズム演奏が行われる。また、かかる場合、時間経過に
伴いオートリズム演奏の進行が小節の区切りになると、
CPU72は、上記ステップ900〜906からなる処理中のステ
ップ905にて上記のように「YES」と判定し、ステップ90
7の処理によるテンポカウントTCNTの初期設定後、ステ
ップ908にて“1"に設定されているオートプレイライト
フラグAPWに基づき「YES」と判定し、ステップ909にて
演奏データメモリ62の記憶位置APM(ADR)に小節コード
(第4図参照)を書込み、ステップ910にてADR=ADR+
1の演算の実行によりアドレスADRを「1」だけ歩進さ
せて、ステップ906にてリズムインタラプトプログラム
の実行を終了する。これにより、オートリズム演奏とと
もに、同演奏の進行に従って小節の区切りタイミング毎
に演奏データメモリ6には小節コードが書込まれてい
く。
かかるオートリズム演奏に従って、鍵盤10にて各鍵が押
離鍵され、又は音色操作子群27a、効果操作子群27bのい
ずれかの操作子が操作されると、上述のステップ102,10
3(第5図)からなる循環処理を実行中のCPU72は、ステ
ップ103,104の判定処理によりステップ105の鍵・音色イ
ベントルーチン(第6図)を実行して鍵演奏による楽音
の発音を制御する。この鍵・音色イベントルーチンの実
行においては、オートプレイライトフラグAPWが“1"に
設定されているので、CPU72はステップ203にて「YES」
と判定してプログラムをステップ206〜211からなる演奏
データ書込みルーチンに進める。
この演奏データ書込みルーチンにおいては、最初、ステ
ップ206にて演奏データメモリ62の記憶位置APM(ADR)
に演奏データとしてタイミングデータが記憶される。こ
のタイミングデータは、第4図に示すように、識別マー
ク及び時間データTIMDからなり、識別マークは該演奏デ
ータがタイミングデータであることを示すコードに設定
され、かつ時間データTIMDはテンポカウントTCNTが示す
値に設定される。これにより、時間データTIMDは小節の
区切りからの時間に対応したタイミングを示すことにな
る。次に、CPU72は、ステップ207におけるアドレス歩進
処理(ADR=ADR+1)後、ステップ208にて上記ステッ
プ201の処理によりイベントバッファレジスタに記憶し
たイベントデータを1つだけ取出して、該取出したイベ
ントデータを演奏データとして演奏データメモリ62の記
憶位置ARM(ADR)に記憶する。かかる場合、前記取出し
たイベントデータが鍵盤10における押鍵に関するもので
あれば、第4図に示すような押鍵を表す識別マーク、押
鍵された鍵を表すキーコードKC及びイニシャル鍵タッチ
を表す鍵タッチデータKTDからなる押鍵データが演奏デ
ータとして記憶される。また、前記取出したイベントデ
ータが鍵盤10における離鍵に関するものであれば、第4
図に示すような離鍵を表す識別マーク及び離鍵された鍵
を表すキーコードKCから離鍵データが演奏データとして
記憶される。さらに、前記取出したイベントデータが音
色操作子群27a又は効果操作子群27bに関するものであれ
ば、第4図に示すような音色・効果に関するデータであ
ることを示す識別マーク及び音色・効果名を表す音色・
効果名データからなる音色等データが演奏データとして
記憶される。
上記ステップ208の処理後、CPU72はステップ209にて前
記演奏データメモリ62に転送記憶したイベントデータを
イベントバッファレジスタからクリアし、ステップ210
にて同レジスタ内にイベントデータが残っているか否か
を判定する。かかる場合、イベントデータが残っていれ
ば前記ステップ210にて「YES」と判定され、CPU72は上
記ステップ207〜209の処理を実行して演奏データメモリ
62の次の記憶位置APM(ADR+1)に上述のようにして演
奏データを記憶する。このようなステップ207〜209の処
理によりイベントバッファレジスタ内の残りのイベント
データがなくなると、CPU72はステップ210にて「NO」と
判定し、ステップ211にてアドレスADRを「1」だけ歩進
させて、ステップ205の処理によってこの鍵・音色イベ
ントルーチンの実行を終了する。その結果、鍵盤10にお
ける押離鍵又は音色操作子群27a、効果操作子群27bの操
作があると、同時に操作された鍵又は操作子に関する押
鍵データ、離鍵データ又は音色等データがタイミングデ
ータの後に記憶される。このような鍵・音色イベントル
ーチンの上記ステップ206〜210からなる処理及びリズム
インタラプトプログラム(第14図)のステップ908,909
の処理により、演奏データメモリ62内の記憶される演奏
データのフォーマットは、第16図に示すように、小節の
区切り毎に小節コードが記憶されるとともに、鍵盤10、
音色操作子群27a又は効果操作子群27bに関する演奏デー
タがタイミングデータを先頭に同時に発生したイベント
に関する分まとめて記憶されることになる。
次に、該自動演奏記録モードを終了するために、リズム
ストップ操作子21bが操作されると、上記ステップ102,1
03(第5図)からなる循環処理を実行中のCPU72は、ス
テップ103にて上記場合と同様「YES」と判定し、ステッ
プ104の判定処理によりプログラムをステップ108に進
め、ステップ108にて第7図に詳細に示すリズムストッ
プルーチンを実行する。この場合も、上述した場合と同
様、リズムストップルーチンの実行がステップ300から
開始され、ステップ301,302の処理によってリズムラン
フラグRUNが“0"に設定されてオートリズム演奏が停止
制御されるが、この場合におけるオートプレイライトフ
ラグAPWは“1"に設定されているので、CPU72は前記ステ
ップ302の処理後のステップ303の判定処理において「YE
S」と判定して、プログラムをステップ306〜313からな
る自動演奏記録モードの終了ルーチンに進める。
この終了ルーチンにおいては、CPU72はステップ306にて
アドレスADRにより指定される演奏データメモリ62の記
憶位置APM(ADR)終了コード(第4図参照)を記憶す
る。これにより、第16図の示すように、演奏データ列の
最後に終了コードが書込まれることになる。次に、CPU7
2はステップ307にてアドレスADRを「0」に初期設定す
るとともに小節カウントBACNTを「1」に初期設定し、
ステップ308にて演奏データメモリ62内の前記初期設定
したアドレスADRにより指定される記憶位置APM(ADR)
に記憶されているデータが小節コードか否かを判定す
る。かかる場合、記憶位置APM(0)には上記オートプ
レイライトルーチン(第8図)のステップ402の処理に
より小節コードが記憶されているので、CPU72は上記ス
テップ308の最初の判定処理において「YES」と判定し、
ステップ309にて前記「1」に初期設定した小節カウン
トBACNTにより指定されるアドレステーブル63の記憶位
置ADTBL(BACNT)にADR+1すなわち「1」を記憶す
る。この「1」の記憶は、第1小節目に関する最初の演
奏データ(タイミングデータ)の演奏データメモリ62内
の記憶位置を、アドレステーブル63の第1小節目に対応
する記憶位置ADTBL(1)に書込むことを意味する。次
に、CPU72はステップ310にて小節カウントBACNTに
「1」を加算した後、ステップ311にてアドレスADRを
「1」だけ歩進させて、ステップ312にて該歩進させた
アドレスADR(=「1」)により指定される演奏データ
メモリ62の記憶位置APM(ADR)に記憶されているデータ
が終了コードか否かを判定する。
今、前記データが終了コードでなければ、CPU72はステ
ップ312にて「NO」と判定してプログラムをステップ308
に戻し、ステップ308にて再び演奏データメモリ62の記
憶位置APM(ADR)に記憶されているデータが小節コード
か否かを判定する。かかる場合、該記憶位置APM(ADR)
には押鍵データ又は音色等データに先行するタイミング
データが記憶されているので、CPU72は同ステップ308に
て「NO」と判定してプログラムをステップ311に進め
る。ステップ311においては再びアドレスADRが「1」だ
け歩進され、ステップ312にてアドレスADRにより指定さ
れる演奏データメモリ62の記憶位置APM(ADR)に記憶さ
れているデータが終了コードか否かが判定される。そし
て、該データが小節コード又は終了コードでなければ、
ステップ308,311,312からなる循環処理が実行されてア
ドレスADRが順次歩進され続ける。この歩進により、ア
ドレスADRにより指定される演奏データメモリ62の記憶
位置APM(ADR)に記憶されているデータが小節コードに
なると、CPU72はステップ308にて「YES」と判定し、ス
テップ309にて小節カウントBACNTにより指定されるアド
レステーブル63の記憶位置ADTBL(BACNT)に、小節コー
ドの記憶されている演奏データメモリ62内の次の記憶位
置を表すアドレスADR+1値を書込み、ステップ310にて
小節カウントBACNTに「1」を加算して再びステップ308
〜312からなる循環処理を続ける。この循環処理中、演
奏データメモリ62の記憶位置APM(ADR)に記憶されてい
るデータが終了コードになると、CPU72はステップ312に
て「YES」と判定してプログラムをステップ313に進め
る。その結果、アドレステーブル63の各小節に対応した
記憶位置ADTBL(BACNT)には演奏データメモリ62内の小
節コードが記憶されている次の記憶位置を表すアドレス
ADR値が順次書込まれることになる。
上記ステップ312の処理後、CPU72はステップ313にてオ
ートプレイライトフラグAPWを“0"に設定してプログラ
ムをステップ304に進める。このオートプレイライトフ
ラグAPWの“0"への設定により、上述した(1)の通常
演奏モードのように、鍵盤10における押離鍵又は音色操
作子群27a、効果操作子群27bの操作があっても、上記鍵
・音色イベントリーチン(第6図)のステップ203にて
「NO」と判定され、前記押離鍵又は操作に関する演奏デ
ータが演奏データメモリ62に書込まれることがなくな
る。また、かかる状態で、テンポ発振器40からのテンポ
クロック信号の発生に伴いリズムインタラプトプログラ
ム(第14図)が実行され、かつテンポカウントTCNTが小
節エンド値になっても、同プログラムのステップ908に
て「NO」と判定され、小節コードが演奏データメモリ62
に書込まれることがなくなる。このようにして、上記オ
ートプレイライトフラグAPWの“0"への設定により、自
動演奏記録モードの停止が制御される。そして、このス
テップ313(第7図)の処理後、CPU72はステップ304に
て、上記(1)の通常演奏モードの場合と同様、“0"に
設定されているオートプレイリードフラグAPRに基づき
「NO」と判定して、ステップ305にてリズムストップル
ーチンの実行を終了する。
(2)自動演奏再生モード 次に、自動演奏読出し操作子24bの操作によって開始さ
れ、かつ所定区間の自動演奏の終了又はリズムストップ
操作子21bの操作により停止される自動演奏再生モード
について説明する。
上述したステップ102,103(第5図)からなる循環処理
中、自動演奏読出し操作子24bが操作されると、CPU72は
ステップ103にて「YES」と判定し、ステップ104の判定
処理によりプログラムをステップ110に進め、ステップ1
10にて第9図に詳細に示すオートプレイリードルーチン
を実行する。このオートプレイリードルーチンにおいて
は、ステップ500にてその実行が開始され、ステップ501
〜503の処理により自動演奏の再生区間が設定される。
かかる場合、操作パネル20のアップ操作子23a、ダウン
操作子23b、エンター操作子25d、テンキー26及び表示器
28により、上記再生区間の設定が行われる。今、前記各
操作子23a,23b,25d,26のいずれも操作されなければ、CP
U72はステップ501,503にて各々「NO」と判定し、ステッ
プ501,503からなる循環処理を実行する。一方、かかる
循環処理中、アップ操作子23a,ダウン操作子23b又はテ
ンキー26が操作されると、CPU72はステップ501にて「YE
S」と判定し、ステップ502にて表示器制御回路20bとの
協働により表示器28の表示制御を実行しながら、開始小
節データBARFM及び終了小節データBARTOを設定する。す
なわち、アップ操作子23a又はダウン操作子23bが操作さ
れると、表示器28の表示が「BARFM」(又は「BARTO」)
から「BARFM」(又は「BARFM」)に変更され、該表示状
態が「BARFM」であるとき、テンキー26により指定され
た数字が表示器28に表示されるとともに、開始小節デー
タBARFMとして設定される。また、前記表示状態が「BAR
TO」であるとき、テンキー26により指定された数字が表
示器28に表示されるとともに、終了小節データBARTOと
して指定される。一方、上記ステップ501,503からなる
循環処理中、エンター操作子25dが操作されると、CPU72
はステップ503にて「YES」と判定し、前記設定記憶した
開始及び終了小節データBARFM,BARTOを以前の値に保っ
たままプログラムをステップ504に進める。
ステップ504においては、CPU72はオートプレイリードフ
ラグAPR及びリズムランフラグRUNを“1"に初期設定する
とともにテンポカウントTCNTを「0」に初期設定し、か
つ小節カウントBACNTを前記設定した開始小節データBAR
FMの示す値に初期設定する。また、CPU72は同ステップ5
04にてアドレスADRを開始小節データBARFMにより指定さ
れるアドレステーブル63の記憶位置ADTBL(BARFM)に記
憶されているデータ値に設定する。このアドレスADRの
設定は、同アドレスADR値を演奏データメモリ62内の自
動演奏開始小節の先頭の演奏データ(タイミングデー
タ)の記憶位置を指示する値に設定することを意味す
る。(第16図参照)次に、CPU72は、ステップ506にて、
前記アドレスADRにより指定される演奏データメモリ62
の記憶位置APM(ADR)に記憶されている演奏データ(タ
イミングデータ)を読出して、該読出しデータをリード
タイミングデータRDTIMとして設定して、ステップ506に
てこのオートプレイリードルーチンの実行を終了する。
オートプレイリードルーチンの実行終了後、CPU72は、
上記(1)(2)の場合と同様、ステップ102,103(第
5図)からなる循環処理を続ける。かかる場合、鍵盤10
における押離鍵又は音色操作子群27a、効果操作子群27b
の操作があれば、上記(1)(2)の場合と同様にステ
ップ105の処理が実行されて、鍵盤用楽音信号発生回路5
2による鍵盤10の押離鍵に応じた楽音の発生が制御され
る。一方、テンポ発振器40からテンポクロック信号が発
生された場合には、上記(1)の場合と同様にリズムイ
ンタラプトプログラム(第14図)が実行され、ステップ
900〜908の処理によってリズムパターンメモリ61及びリ
ズム音信号発生回路51によるオートリズム演奏が行われ
る。
また、かかる場合、オートプレイリードフラグAPRは
“1"に設定されているので、上記リズムインタラプトプ
ログラムの実行中、CPU72はステップ903にて「YES」と
判定し、ステップ911にて第15図に詳細に示す自動演奏
データ読出しルーチンの処理を実行する。この自動演奏
データ読出しルーチンの実行はステップ950にて開始さ
れ、CPU72はステップ951にて上記ステップ505(第9
図)の処理により初期設定されたリードタイミングデー
タRDTIM又は後述するステップ959の処理により次から設
定されるリードタイミングデータRDTIMがテンポカウン
トTCNTに等しいか否かを判定する。今、前記リードタイ
ミングデータRDTIMとテンポカウントTCNTが等しくなけ
れば、前記ステップ951においては「NO」と判定され、
ステップ952にてこの自動演奏データ読出しルーチンの
実行が終了される。一方、テンポカウントTCNTが上昇し
て前記リードタイミングデータRDTIMとテンポカウントT
CNTと等しくなると、CPU72は同ステップ951にて「YES」
と判定し、ステップ953にてアドレスADRSと「1」だけ
歩進させ、ステップ954にて該歩進させたアドレスADRに
より指定される演奏データメモリ62の記憶位置APM(AD
R)に記憶されている演奏データを読出して、該読出し
た演奏データをリードデータRDDTして設定する。
次に、CPU72は、ステップ955〜957の各判定処理によ
り、前記リードデータRDDTがタイミングデータ、終了コ
ード、小節コード又はその他のデータ(押鍵データ、離
鍵データ、音色等データ)のいずれかのデータであるか
を判定する。今、前記リードデータRDDTがその他のデー
タ(押鍵データ、離鍵データ、音色等データ)であれ
ば、ステップ955〜957の各判定処理にて全て「NO」と判
定され、ステップ958にて該リードデータRDDTは自動演
奏用楽音信号発生回路53へバス30を介して出力される。
自動演奏用楽音信号発生回路53はこれらの供給された押
鍵データ、離鍵データ又は音色等データに基づき楽音信
号の形成を制御して、該形成された楽音信号をアンプ54
を介してスピーカ55に出力し、スピーカ55が同楽音信号
に応じた楽音を発音する。これにより、スピーカ55から
は演奏データメモリ62に記憶されている演奏データに基
づき自動的に楽音が発音されるようになる。
上記ステップ958の処理後、CPU72はプログラムをステッ
プ953に戻し、同ステップ953にてアドレスADRを「1」
だけ歩進させ、ステップ954にて該歩進させたアドレスA
DRにより指定される演奏データメモリ62内の記憶位置AP
M(ADR)に記憶されている演奏データをリードデータRD
DTとして再び設定し、さらに、このリードデータRDDTの
種類をステップ955〜957の処理により判定する。かかる
場合、リードデータRDDTが再び押鍵データ、離鍵デー
タ、音色等データであれば、再びステップ958の処理に
より楽音の発生が制御される。このようにして、同一タ
イミングに記憶されている全ての押鍵データ、離鍵デー
タ、音色等データが演奏データメモリ62から読出され
て、自動演奏楽音の発生が制御される。
かかるステップ953〜958からなる循環処理中、上記ステ
ップ954にて設定したリードデータRDDTがタイミングデ
ータになると、CPU72はステップ955にて「YES」と判定
し、ステップ959にて同リードデータRDDTをリードタイ
ミングデータRDTIMとして設定して、ステップ952にて該
自動演奏データ読出しルーチンの実行を終了する。その
後、リズムインタラプトプログラムが実行される毎に上
記ステップ950〜952からなる処理が実行され、前記設定
したリードタイミングデータRDTIMがテンポカウントTCN
Tと等しくなると、CPU72は上記ステップ953〜958からな
る上記処理を実行して自動演奏楽音の発音を制御する。
また、かかる状態、上記ステップ954にて設定したリー
ドデータRDDTが小節コードになると、CPU72は、ステッ
プ955,956における「NO」との判定後、ステップ957にて
「YES」と判定し、ステップ960にて小節カウントBACNT
を「1」だけ歩進させる。この小節カウントBACNTの歩
進により、同カウントBACNTは自動演奏の進行に従った
進行小節を表示することになる。次に、CPU72はステッ
プ961にて前記歩進させた小節カウントBACNTが終了小節
データBARTOより大きいか否かを判定する。この場合、
小節カウントBACNTが終了小節データBARTO以下であれ
ば、CPU72はステップ961にて「NO」判定してプログラム
をステップ953に戻し、以降、上記のような自動演奏楽
音の発生を制御する。また、小節カウントBACNTの上記
歩進により、同カウントBACNTが大きくなり、同カウン
トBACNTが終了小節データBARTOより大きくなると、CPU7
2はステップ961にて「YES」と判定し、ステップ962にて
オートプレイリードフラグAPR“0"及びリズムランフラ
グRUNを各々“0"に設定して、ステップ952にて自動演奏
データ読出しルーチンの実行を終了する。なお、このオ
ートプレイリードフラグAPR及びリズムランフラグRUNの
“0"への設定は、自動演奏再生モードの終了及びオート
リズムの停止を意味する。
さらに、上記ステップ954にて設定したリードデータRDD
Tが終了コードになると、CPU72はステップ955における
「NO」と判定後、ステップ956にて「YES」と判定し、ス
テップ962にて自動演奏再生モード及びオートリズムの
停止のためにオートプレイリードフラグAPR及びリズム
ランフラグを“0"に設定して、ステップ952にて自動演
奏データ読出しルーチンの実行を終了する。
一方、上述したように、小節カウントBACNTが歩進して
終了小節データBARTOに達し、又は演奏データメモリ62
から終了コードが読出される前に、リズムストップ操作
子21bが操作された場合にも自動演奏再生モードは停止
する。すなわち、リズムストップ操作子21bが操作され
た場合には、CPU72はリズムストップルーチン(第7
図)を実行し、該ルーチン中のステップ301,302の処理
によってリズムランフラグRUNは“0"に設定される。ま
た、リズムストップルーチンの上記ステップ304におい
ては、オートプレイリードフラグAPRが“1"であること
に基づき「YES」と判定され、CPU72はステップ314にて
オートプレイリードフラグAPRを“0"に設定してステッ
プ305にて該ルーチンの実行を終了する。
(4)編集モード 次に、演奏データメモリ62に記憶されている演奏データ
を操作パネル20の操作により編集する編集モードについ
て説明する。編集モードにおける編集の内容はタイミン
グエディット操作子25a、タッチエディット操作子25b又
はセパレートエディット操作子25cの操作により選択さ
れるもので、メインプログラム(第5図)の上記ステッ
プ102,103からなる循環処理中、タイミングエディット
操作子25aが操作されると、CPU72は、ステップ103,104
の判定処理により、ステップ111にてタイミングエディ
ットルーチンの処理を実行して演奏データ中のタイミン
グデータの値を変更修正する。タッチエディット操作子
25bが操作された場合には、CPU72はステップ112にてタ
ッチエディットルーチンの処理を実行して演奏データ中
の鍵タッチデータKTDを変更修正する。また、セパレー
トエディット操作子25cが操作されると、CPU72はステッ
プ113にてセパレートエディットルーチンの処理を実行
して押鍵データを分散させる。以下、各編集内容毎に実
施例の動作を説明する。
(4a)タイミングエディット 上記ステップ111のタイミングエディットルーチン(第
5図)の詳細は第10図に示されており、同ルーチンにお
いては、ステップ600にてその実行が開始され、ステッ
プ601〜603の処理により編集の実行範囲、スポット幅及
びタイミング変更データΔTIMEが設定される。なお、実
行範囲とは、第17図に示すように、開始小節データBARF
Mから終了小節データBARTOまでにより指定されるエディ
ットデータが編集される範囲であり、スポット幅とは開
始タイミングデータTIMFMから終了タイミングデータTIM
TOまでにより指定される小節内において演奏データが実
際に変更される範囲である。
かかる場合、操作パネル20のアップ操作子23a、ダウン
操作子23b、エンター操作子25d、テンキー26及び表示器
28により、前記実行範囲BARFM〜BARTO、スポット幅TIMF
M〜TIMTO及びタイミング変更データΔTIMEの設定が行わ
れる。今、前記各操作子23a,23b,23d,26のいずれも操作
されなければ、CPU72はステップ601,603にて各々「NO」
を判定し、ステップ601,603からなる循環処理を実行す
る。一方、かかる循環処理中、アップ操作子23a,ダウン
操作子23b又はテンキー26が操作されると、CPU72はステ
ップ601にて「YES」と判定し、ステップ602にて表示制
御回路20bとの協働により表示器28の表示制御を実行し
ながら、開始小節データBARFM、終了小節データBARTO、
開始タイミングデータTIMFM、終了タイミングデータTIM
TO及びタイミング変更データΔTIMEを設定する。すなわ
ち、アップ操作子23a(又はダウン操作子23b)が操作さ
れると、表示器28の表示が「BARFM」(又は「ΔTIM
E」)から「ΔTIME」(又は「BARFM」)まで順次変更さ
れ、テンキー26が操作されると、表示器28にて表示され
ているデータ種類に対応したデータがテンキー26により
入力された値に設定される。なお、タイミング変更デー
タΔTIMEの設定においては、テンキー操作子群26の(+
/−)操作子によりそのデータ値の正負が決定される。
このようにして、各データBARFM,BARTO,TIMFM,TIMTO,Δ
TIMEが設定された後、エンター操作子25dが操作される
と、CPU72はステップ603にて「YES」と判定してプログ
ラムをステップ604に進める。
ステップ604においては、小節カウントBACNTが開始小節
データBARFMに初期設定されるとともに、アドレスADRが
開始小節データBARFMにより指定されるアドレステーブ
ル63の記憶位置ADTBL(BARFM)に記憶されているデータ
値に設定される。その結果、小節カウントBACNTは開始
小節データBARFMにより表された小節番号からカウント
を開始するようになるとともに、アドレスADRは開始小
節データBARFMにより指定される小節の最初の演奏デー
タ(タイミングデータ)を記憶する演奏データメモリ62
の記憶位置を示すことになる。
次に、CPU72はステップ605にてアドレスADRにより指定
される演奏データメモリ62の記憶位置APM(ADR)に記憶
されている演奏データを読出し、該読出した演奏データ
をリードデータRDDTとして設定し、ステップ606にて該
リードデータRDDTがタイミングデータであるか否かを判
定する。今、このリードデータRDDTがタイミングデータ
であれば、CPU72はステップ606にて「YES」と判定し、
ステップ607,608にて該リードデータRDDTにより指定さ
れたタイミングがスポット幅以内にあるか否かを判定す
る。該タイミングがスポット幅以内にあれば、CPU72
は、TIMFM≦RDDT≦TIMTOに基づき、ステップ607,608に
て各々「YES」と判定し、ステップ609にて演算RDDT+Δ
TIMEの実行によってリードデータRDDT中の時間データTI
MDをタイミング変更データΔTIMEにより表された時間分
変更するとともに、該変更したデータを変更前のタイミ
ングデータが記憶されていた演奏データメモリ62内の記
憶位置APM(ADR)に再び記憶させることによりタイミン
グデータを変更する。このタイミングデータの変更後、
CPU72はステップ610にてアドレスADRを「1」だけ歩進
させ、ステップ605にて該歩進させたアドレスADRにより
演奏データメモリ62内の次の演奏データをリードデータ
RDDTとして設定して、ステップ606にて再び該リードデ
ータRDDTがタイミングデータであるか否かを判定する。
また、上述のようにタイミングデータであると判定され
たリードデータRDDTがスポット幅以内のタイミングを示
していなければ、CPU72はステップ607又はステップ608
にて、RDDT>TIMTO又はRDDT<TIMFNに基づき、「NO」と
判定して、プログラムを上記ステップ610,605,604に進
める。これにより、かかる場合には、演奏データメモリ
62に記憶されている演奏データは変更されることはな
い。
一方、上記ステップ606の判定処理において「NO」すな
わちリードデータRDDTはタイミングデータではないと判
定された場合、CPU72はステップ611,612にてリードデー
タRDDTが終了コードであるか否か又は小節コードである
か否かを判定する。この場合、リードデータRDDTが押鍵
データ、離鍵データ又は音色等データであって終了コー
ド及び小節コードでなければ、CPU72はステップ611,612
にて各々「NO」と判定して、プログラムを上記ステップ
610,605,606に進める。これにより、この場合も、演奏
データメモリ62内に記憶されている演奏データが変更さ
れることはない。また、同一タイミングに関する押鍵デ
ータ、離鍵データ又は音色等データを示す複数の演奏デ
ータが連続して演奏データメモリ62内に記憶されている
場合には、上記ステップ605,606,611,612,610からなる
循環処理が繰返し実行されて、アドレスADRが順次歩進
される。このような上記ステップ605〜612の処理によ
り、スポット範囲内にあるタイミングデータが順次変更
されていく。
また、上記のような処理中、演奏データメモリ62から読
出されたリードデータRDDTが小節コードであった場合に
は、CPU72はステップ606,611の「NO」との判定後、ステ
ップ612にて「YES」と判定し、ステップ613にて小節カ
ウントBACNTを「1」だけ歩進させ、ステップ614にて該
歩進させた小節カウントBACNTが終了小節データBARTOよ
り大きいか否かを判定する。かかる判定においては、小
節カウントBACNTが終了小節データBARTO以下であれば
「NO」と判定され、再び上記ステップ605〜612の処理が
実行されて、次の小節のスポット範囲内にあるタイミン
グデータが上述した条件で順次変更される。また、上記
ステップ612,613の処理により、小節カウントBACNTが上
昇して同カウントBACNTが終了小節データBARTOより大き
くなると、CPU72はステップ614にて「YES」と判定し
て、ステップ615にてタイミングエディットルーチンの
実行を終了する。
このようなタイミングエディットルーチンの実行によ
り、演奏データを編集する者は実行範囲BARFM〜BARTO、
スポット範囲TIMFM〜TIMTO及びタイミング変更データΔ
TIMEを最初に設定するのみで、第17図に示すように、実
行範囲に渡り各小節のスポット範囲内にあるタイミング
を同一条件で変更できるようになるので、編集の作業が
楽になる。しかも、この編集は各小節の頭から同一タイ
ミングすなわち同一拍に対応した楽音の発音タイミング
等を変更制御するので、曲の流れを換えるためには極め
て好都合である。
また、終了小節データBARTOの設定を誤り、小節カウン
トBACNTが終了小節データより大きくなる前に演奏デー
タメモリ62から終了コードが読出された場合には、上記
ステップ611にて「YES」と判定され、ステップ615にて
このタイミングエディットルーチンの実行が終了され
る。
(4b)タッチエディット 上述したメインプログラム(第5図)のステップ112の
タッチエディットルーチンの詳細は第11図に示されてお
り、同ルーチンにおいては、ステップ700にてその実行
が開始され、ステップ701〜703の処理により編集の実行
範囲、スポット幅及び鍵タッチ変更データΔKTDが設定
される。この場合も、上記(4a)タイミングエディット
の場合と同様に、アップ操作子23a、ダウン操作子23b、
エンター操作子25d、テンキー26及び表示記憶28を利用
して、実行範囲を規定する開始小節データBARFM、終了
小節データBARTO及びスポット幅を規定する開始タイミ
ングデータTIMFM、終了タイミングデータTIMTOが設定さ
れる。また、鍵タッチ変更データΔKTDは上記(4a)タ
イミングエディットのタイミング変更データΔTIMEに換
えてテンキー26により設定される。
上記ステップ703の処理後、CPU72は、上記(4a)タイミ
ングエディットの場合と同様、ステップ704,705の処理
により小節カウントBACNTを開始小節データBARFMに初期
設定するとともに、アドレスADRを開始小節データBARFM
により指定される小節の最初の演奏データ(タイミング
データ)を記憶する演奏データメモリ62の記憶位置を示
すデータ値に初期設定し、かつ該記憶位置に記憶されて
いる演奏データをリードデータRDDTとして設定して、ス
テップ706にて該リードデータRDDTがタイミングデータ
であるか否かを判定する。この場合、リードデータRDDT
がタイミングデータであれば、CPU72はステップ707にて
該リードデータRDDTをリードタイミングデータRDTIMと
して設定し、ステップ708にてアドレスADRを「1」だけ
歩進させ、ステップ705にて該歩進させたアドレスADRに
より演奏データメモリ62内の次の演奏データをリードRD
DTとして設定して、ステップ706にて再び該リードデー
タRDDTがタイミングデータであるか否かを判定する。
また、上記ステップ706の判定処理において「NO」すな
わちタイミングデータではないと判定された場合、CPU7
2はステップ709にてリードデータRDDTが押鍵データであ
るか否かを判定する。該リードデータRDDTが押鍵であれ
ば、CPU7は同ステップ709にて「YES」と判定し、ステッ
プ710,711にて前記リードデータRDDTがスポット幅内の
データであるか否かを判定する。すなわち、前記押鍵デ
ータに関するタイミングデータに対応した上記ステップ
707にて設定したリードタイムデータRDTIMがTIMFM≦RDD
T≦TIMTOの関係にあれば、CPU72は両ステップ710,711に
て共に「YES」と判定し、ステップ712にて演算KTD+ΔD
TKの実行によってリードデータRDDT中の鍵タッチデータ
KTD部分を鍵タッチ変更データΔKTDで修正変更するとと
もに、該変更したデータを変更前の押鍵データが記憶さ
れていた演算データメモリ62内の記憶位置APM(ADR)に
再び記憶させることにより押鍵データを変更する。この
押鍵データの変更後、CPU72はプログラムを上記ステッ
プ708,705,706に進める。また、上述したリードデータR
DDTがスポット幅内のデータでなければ、CPU72はステッ
プ710又はステップ711にて、RDTIM<TIMFM又はRDDT>TI
MTOに基づき、「NO」と判定して、プログラムを上記ス
テップ708,705,706に進める。これにより、かかる場合
には、演奏データメモリ62に記憶されている演奏データ
は変更されることはない。
一方、上記ステップ706,709の判定処理において「NO」
すなわちリードデータRDDTはタイミングデータでも押鍵
データでもない判定された場合、CPU72はステップ713,7
14にてリードデータRDDTが終了コードであるか又は小節
コードであるかを判定する。この場合、リードデータRD
DTが離鍵データ又は音色等データであって終了コード及
び小節コードでなければ、CPU72はステップ713,714にて
各々「NO」と判定して、プログラムをステップ708,705,
706に進める。この場合も、演奏データメモリ62内に記
憶されている演奏データが変更されることはない。
また、上記のような処理中、演奏データメモリ62から読
出されたリードデータRDDTが小節コードであった場合、
上記(4a)タイミングエディットの場合と同様、ステッ
プ713,174における各々「NO」,「YES」との判定後、CP
U72はステップ715の処理により小節カウントBACNTを歩
進させるとともに、ステップ716の処理により小節カウ
ントBACNTが終了小節データBARTOより大きいか否かを判
定する。そして、小節カウントBACNTが終了小節データB
ARTO以下である間は、ステップ716において「NO」と判
定され、上記ステップ705〜716の処理によって各小節の
スポット内にある押鍵データの鍵タッチデータが順次変
更される。また、上記ステップ714,715の処理により、
小節カウントBACNTが上昇して同カウントBACNTが終了小
節データBARTOより大きくなると、CPU72はステップ716
にて「YES」と判定して、ステップ717にてタッチエディ
ットルーチンの実行を終了する。
このようなタッチエディットルーチンの実行により、演
奏データを編集する者は実行範囲BARFM〜BARTO、スポッ
ト範囲TIMFM〜TIMTO及び鍵タッチ変更データΔKTDを最
初に設定するのみで、第17図に示すように、実行範囲間
に渡り各小節のスポット範囲内にある押鍵データ中の鍵
タッチエータが同一条件で変更できるようになるので、
編集の作業が楽になる。しかも、この編集は各小節の頭
から同一タイミングすなわち同一拍に対応した楽音の鍵
タッチ(音量等)を変更制御するので、強拍、弱拍等の
強さの程度を変更するためには極めて好都合である。
また、終了小節データBARTOの設定を誤り、小節カウン
トBACNTが終了小節データBARTOより大きくなる前に、演
奏データメモリ62から終了コードが読出された場合に
は、上記ステップ713にて「YES」と判定され、ステップ
717にてこのタッチエディットルーチンの実行が終了さ
れる。
(4c)セパレートエディット 上述したメインプログラム(第5図)のステップ113の
セパレートエディットルーチンの詳細は第12図に示され
ており、同ルーチンにおいては、ステップ800にてその
実行が開始され、ステップ801〜803の処理により編集の
実行範囲、ソートタイプデータSTYP及びタイミング変更
データΔTIMEが設定される。この場合も、上記(4a)タ
イミングエディットの場合と同様に、アップ操作子23
a、ダウン操作子23b、エンター操作子25d、テンキー26
及び表示器28を利用して、実行範囲を規定する開始小節
データBARFM、終了小節データBARTO、ソートタイプデー
タSTYP及びタイミング変更データΔTIMEが設定される。
また、ソートタイプデータSTYPはテンキー26の数字
「0」「1」により設定される。
上記ステップ803の処理後、CPU72は、上記(4a)タイミ
ングエディットの場合と同様、ステップ804の処理によ
り小節カウントBACNTを開始小節データBARFMに初期設定
するとともに、アドレスADRを開始小節データにより指
定される小節の最初の演奏データ(タイミングデータ)
を記憶する演奏データメモリ62の記憶位置を示すデータ
値に初期設定する。次に、CPU72はステップ805にて前記
初期設定したアドレスADRにより開始小節の最初の演奏
データ(タイミングデータ)を第1タイミングバッファ
データTIMBYF1として初期設定し、ステップ806にてアド
レスADRを「1」だけ歩進させて、プログラムをステッ
プ807に進める。
ステップ807においては、例えば和音を指定した場合
(第18図参照)のように、同一タイミングに関する複数
の押鍵データの数をカウントするカウント値Nが「0」
に初期設定される。次に、CPU72はステップ808にてアド
レスADRにより指定される演奏データメモリ62の記憶位
置APM(ADR)に記憶されている演奏データを読出し、該
読出した演奏データをリードデータRDDTとして設定し、
ステップ809にて該リードデータRDDTが押鍵データであ
るか否かを判定する。今、リードデータRDDTが押鍵デー
タであれば、CPU72は同ステップ809にて「YES」と判定
し、ステップ810にてリードデータRDDTを第1番目のキ
ーバッフャデータKEYBUF(0)として設定し、ステップ
811にてN=N+1の演算の実行によりカウント値Nを
「1」に設定する。次に、CPU72はステップ812にてアド
レスADRを「1」だけ歩進させ、上記ステップ808,809の
処理を再び実行する。このステップ808の処理により設
定された新たなリードデータRDDTも押鍵データであれ
ば、CPU72は再びステップ810〜812,808,809の処理を実
行する。これにより、新たなリードデータRDDTは第2番
目のキーバッファデータKEYBUF(1)として設定され、
カウント値Nは「2」に設定される。このようにして、
演奏データメモリ62内の複数の押鍵データが連続して記
憶されていれば、上記ステップ808〜812の処理により、
前記複数の押鍵データはキーバッファデータKEYBUF
(0),KEYBUF(1)・・・として設定されるととも
に、カウント値Nがその数に設定される。
また、上記ステップ808にて設定したリードデータRDDT
が押鍵データでなければステップ809にて「NO」と判定
され、CPU72はステップ813,814にてリードデータRDDTが
小節コードであるか又は終了コードであるかを判定す
る。かかる編集直後の場合、通常、リードデータRDDTが
小節コードは終了コードであることはなく、同データが
小節コード又は終了コードである場合については後述す
るとして、同データが上記以外のデータすなわちタイミ
ングデータ、離鍵データ又は音色等データである場合に
ついて説明する。該リードデータRDDTがタイミングデー
タであれば、CPU72は、上記ステップ809,813,814におけ
る「NO」との判定後、ステップ815にて「YES」と判定し
てプログラムをステップ816に進める。また、該リード
データRDDTが離鍵データ又は音色等データであれば、CP
U72は、上記ステップ809,813,814における「NO」との判
定後、ステップ815にて「NO」と判定し、プログラムを
上記ステップ812に進めて同ステップにてアドレスADRを
「1」だけ歩進させ、上記ステップ808,809の処理を再
び実行する。そして、上記ステップ808の処理によっ
て、リードデータRDDTとして新たな押鍵データが設定さ
れれば、再び上記ステップ808〜812の処理が実行され
て、キーバッファデータKEYBUFとして前記新たな押鍵デ
ータが設定されるとともに、カウント値Nが増加する。
このようなステップ808〜815からなる処理の実行中、上
述したようにリードデータRDDTがタイミングデータにな
ると、ステップ815の「YES」との判定の基にプログラム
はステップ816に進められる。その結果、この時点で
は、タイミングデータとタイミングデータとの間に記憶
されていた全ての押鍵データがキーバッファデータKEYB
UF(0),KEYBUF(1)・・・として設定記憶され、カ
ウント値Nは該押鍵データの数を表すことになる。
ステップ816においては、第1タイミングバッファデー
タTIMBUF1が第2タイミングバッファデータTIMBUF2とし
て設定記憶され、かつリードデータRDDTとして記憶され
ているタイミングデータが第1タイミングバッファデー
タTIMBUF1として設定記憶される。これにより、第1タ
イミングバッファデータTIMBUF1は現在のアドレスADRに
より指定される演奏データメモリ62の記憶位置ARM(AD
R)に記憶されているタイミングデータを表し、かつ第
2タイミングバッファデータTIMBUF2は前記タイミング
データの一つ前のタイミングデータすなわちキーバッフ
ァデータKEYBUF(0),KEYBUF(1)・・・として設定
された押鍵データに関するタイミングデータを表すこと
になる。上記ステップ816の処理後、CPU72はステップ81
7にてカウント値NすなわちキーバッファデータKEYBUF
に今回新たに記憶された押鍵データが2以上であるか否
かを判定する。この場合、カウント値Nが「1」であれ
ば、CPU72は同ステップ817にて「NO」と判定し、ステッ
プ818にてアドレスADRを「1」だけ歩進させて、プログ
ラムをステップ807に戻し上記ステップ807〜816からな
る処理を再び実行する。なお、この場合、カウント値N
はステップ807の処理により初期値「0」に設定され
る。一方、カウント値Nが2以上すなわちキーバッファ
データKEYBUFとして複数の押鍵データが設定されていれ
ば、CPU72はステップ817にて「YES」と判定し、ステッ
プ819にて同一タイミングに関する複数の押鍵データを
低音側から高音側へ又は高温側から低音側へ並べ換える
とともに、各押鍵データの読出しタイミングをタイミン
グ変更データにより表されたタイミングだけずらして、
第18A図のように、楽音を順次発音させるためのデータ
編集を実行するデータ並べ換えたルーチンを実行する。
このデータ並べ換えルーチンの詳細は第13図に示されて
おり、ステップ850にてその実行が開始され、CPU72はス
テップ851にて上記ステップ802(第12図)の処理により
設定されたソートタイプデータSTYPが“1"であるか“0"
であるかを判定する。かかる場合、ソートタイプデータ
STYPが“1"であれば、CPU72はステップ851にて「YES」
と判定して、ステップ852にてN個のキーバッファデー
タKEYBUF(0)〜KEYBUF(N−1)を低音側から高音側
へ順に並べ換える。また、ソートタイプデータSTYPが
“0"であれば、CPU72はステップ851にて「NO」と判定し
て、ステップ853にてN個のキーバッファデータKEYBUF
(0)〜KEYBUF(N−1)を高音側から低音側へ順に並
べ換える。
これらのステップ852,853の処理後、CPU72は、ステップ
854にキーバッファデータにKEYBUF(0)〜KEYBUF(N
−1)の番号を指定するカウント値iを「0」に初期設
定し、ステップ855〜857の循環処理により、アドレスAD
Rを「1」ずつ減少させながら該アドレスADRにより指定
される演奏データメモリ62の記憶位置APM(ADM)に記憶
されている演奏データをリードデータRDDTとして読出す
とともに、該リードデータRDDTがタイミングデータであ
るか否かを判定して、アドレスADRを前記新たに記憶さ
れた押鍵データの直前に位置するタイミングデータの記
憶位置を示す値に戻す。
これらのステップ855〜857の処理後、CPU72は、ステッ
プ858〜862からなる循環処理中のステップ858〜861の処
理により、前記戻したアドレスADRを「1」ずつ増加さ
せながら、該アドレスADRにより指定される演奏データ
メモリ62の記憶位置APM(ADR)に記憶されている演奏デ
ータをリードデータRDDTとして読出して、該読出したリ
ードデータRDDTが押鍵データであるか否かを判定するこ
とにより、押鍵データの記憶位置をアドレスADRとして
見付け出す。そして、同循環処理中のステップ861,862
の処理により、カウント値iを「1」ずつ増加させなが
ら、前記見付け出したアドレスADRにより指定される演
奏データメモリ62の記憶位置APM(ADR)に上述の並べ換
えたキーバッファデータKEYBUF(0)〜KEYBUF(N−
1)を順次記憶させる。これにより、演奏データメモリ
62内の同一タイミングに関する前記複数の押鍵データが
低音側から高音側へ又は高音側から低音側へ順に並べ換
えられる。かかる循環処理中のアドレスADRの歩進によ
り、アドレスADRが前記並べ換えられた押鍵データの直
後のタイミングデータを記憶する記憶位置を示す値にな
ると、CPU72はステップ863にて上述ステップ859の処理
により読出されたリードデータRDDTがタイミングデータ
であると判定して、プログラムをステップ864に進め
る。なお、リードデータRDDTが押鍵データでもタイミン
グデータでもない場合には、ステップ860,863における
「NO」との判定により、プログラムはステップ858に戻
される。
ステップ864においては、ステップ865〜869の循環処理
によりダウンカウントされたカウント値iが上記並び換
えた押鍵データの数に等しい値Nに初期設定される。こ
の初期設定後、CPU72はステップ865〜867からなる循環
処理により、アドレスADRを「1」ずつ減少させながら
該アドレスADRにより指定される演奏データメモリ62の
記憶位置APM(ADR)に記憶されている演奏データをリー
ドデータRDDTとして読出し、該読出したリードデータRD
DTが押鍵であるか否かを判定することより押鍵データを
見付け出す。そして、該押鍵データが見付け出される毎
に、CPU72はステップ869の処理によりカウント値iを
「1」ずつ減少させ、カウント値iが「2」になるまで
ステップ865〜869からなる循環処理を続ける。この処理
により、カウント値iが「2」になると、CPU72はステ
ップ868にて「YES」と判定してプログラムをステップ87
0に進める。なお、かかる状態において、アドレスADRは
上記並び換えた押鍵データのうちの前から2番目の押鍵
データを記憶する記憶位置を示している。
ステップ870においては、アドレスADRにより指定される
記憶位置以降の演奏データメモリ62内の演奏データすな
わち前記2番目以降の押鍵データから終了コードまでの
演奏データが、順次「1」ずつ後方の記憶位置にシフト
される。ステップ870の処理後、CPU72はステップ871に
てアドレスADRにより指定される演奏データメモリ62の
記憶位置APM(ADR)に、第2タイミングバッファデータ
にタイミング変更データΔTIMEを加算したタイミングデ
ータTIMBUF2+ΔTIMEを書込む。これにより、前記第2
番目の押鍵データの前にタイミングデータTIMBUF2+ΔT
IMEが書込まれ、このことは該第2番目の押鍵データに
関するタイミングデータがタイミング変更データΔTIME
分遅延されたことを意味する。このステップ871の処理
後、CPU72はステップ872にて第2番目の押鍵データの記
憶位置の後方の記憶位置を示す値にアドレスADRを変更
するためにアドレスADRに「2」を加算し、ステップ873
にてTIMBUF2=TIMEBUF2+ΔTIMEの演算の実行により第
2タイミングバッファデータTIMEBUF2を前記第2番目の
押鍵データに関する変更タイミングデータに設定してお
く。次に、CPU72はステップ874にてカウント値iがカウ
ント値Nに等しいか否かを判定する。この場合、カウン
ト値iは「2」であり、かつカウント値Nは上述した同
一タイミングに関する押鍵データの数に等しいので、該
押鍵データの数が「2」であれば、CPU72はステップ874
にて「YES」と判定してステップ875にてこのデータ並べ
換えルーチンの実行を終了する。
また、上記同一タイミングに関する押鍵データの数が
「2」より大きければ、CPU72はステップ874にて「NO」
と判定して、ステップ876にてカウント値iに「1」を
加算する。そして、CPU72はステップ877にて前記ステッ
プ872の処理により設定されたアドレスADRによって指定
される演奏データメモリ62の記憶位置に記憶されている
演奏データをリードデータRDDTとして設定し、ステップ
878にて該リードデータRDDTが押鍵データであるか否か
を判定し、押鍵データでなければステップ879の処理に
よりアドレスADRを「1」ずつ歩進させながら再びステ
ップ877〜879からなる処理を実行して、演奏データメモ
リ62内の押鍵データを記憶する記憶位置に探し出す。か
かるステップ877〜879の循環処理により、前記押鍵デー
タを記憶する記憶位置が探し出されると、この時点で、
CPU72はステップ878にて「YES」と判定してプログラム
をステップ870,871に進める。なお、このとき、アドレ
スADRは上述した同一タイミングに関する第3番目の押
鍵データの演奏データメモリ62内の記憶位置を示してい
る。このステップ870,871においては、上記場合と同様
に、演奏データメモリ62内の前記第3番目押鍵データ以
降の演奏データが後方に「1」ずつシフトされるととも
に、第3番目の押鍵データの前に第2番目の押鍵データ
に関するタイミングデータに比べタイミング変更データ
ΔTIME分大きなタイミングデータが書込まれる。次に、
CPU72はステップ872,873の処理を経て、ステップ874に
て再びカウント値1iがカウント値Nに等しいか否かを判
定する。このような処理により、カウント値iが上述し
た同一タイミングに関する押鍵データの数Nに等しくな
れば、CPU72は同ステップ874にて「YES」と判定してス
テップ875にてこのデータ並べ換えルーチンの実行を終
了し、等しくなければ、CPU72は再びステップ876〜879,
870〜873の処理を実行する。その結果、上述した同一タ
イミングに関する各押鍵データの前には各々タイミング
変更データ分順に大きくしたタイミングデータが書込ま
れるようになる。第8B図は上記演奏データの変更状態を
上述した同一タイミングに関する押鍵データが3個の場
合について図示しており、この図からも解るように、タ
イミングデータ間に連続して存在する押鍵データは各押
鍵データ毎にタイミングを有する演奏データに分散され
る。
上記データ並べ換えルーチンの終了後、CPU72はプログ
ラムをステップ807(第12図)に戻し、ステップ807にて
再びカウント値Nを「0」に初期設定した後、上記ステ
ップ807〜819(ステップ850〜879)からなる処理を実行
して、上述した同一タイミングに関する複数の押鍵デー
タの分散化を図る。かかる処理中、演奏データメモリ62
から読出しされたリードデータRDDTが小節コードであっ
た場合、上述(4a)タイミングエディットの場合と同
様、CPU72はステップ813にて「YES」と判定し、ステッ
プ820の処理により小節カウントBACNTを歩進させるとと
もに、ステップ821の処理により小節カウントBACNTが終
了小節データBARTOより大きいか否かを判定する。そし
て、小節カウントBACNTが終了小節データBARTO以下であ
る間は、ステップ821において「NO」と判定され、上記
ステップ807〜819(ステップ850〜879)の処理によつて
押鍵データの分散処理が実行される。また、上記ステッ
プ813,820の処理により、小節カウントBACNTが上昇して
同カウントBACNTが終了小節データBARTOより大きくなる
と、CPU72はステップ821にて「YES」と判定して、ステ
ップ822にてセパレートエディットルーチンの実を終了
する。
このようなセパレートエディットルーチンの実行によ
り、演奏データを編集する者は実行範囲BARFM〜BOATO、
ソートタイプデータSTYP及びタイミング変更データΔTI
MEを最初に設定するのみで、第17図に示すような実行範
囲にある同一タイミングに関する全ての押鍵データをタ
イミング変更データΔTIMEに応じて分散させることがで
きる(第18B図参照)ので、編集の作業が楽になる。し
かも、かかる編集によれば、複数の楽音からなる和音等
の各楽音の発音開始タイミングが所望量ずつずらされる
ので、ギター、ハーブシコード等における楽音発生状態
がよりよく模倣できるとともに、アルペジョ、ウォーキ
ングベース等の演奏も簡単に楽しむことができるように
なる。
また、終了小節データBARTOの設定を誤り、小節カウン
トBACNTが終了小節データより大きくなる前に、演奏デ
ータメモリ62から終了コードが読出された場合には、上
記ステップ814にて「YES」と判定され、ステップ822に
てこのセパレートエディットルーチンの実行が終了され
る。
次に上記実施例の変形例について説明する。
(1)上記実施例の編集モードにおいては、タイミング
データ及び押鍵データ中の鍵タッチデータKTDの変更、
又は和音等の分散化を行うようにしたが、押鍵データ中
のキーコードKC及び和音等データを変更して、自動演奏
による発生楽音のピッチ及び音色・効果を変更できるよ
うにしてもよい。この場合、第11図のタッチエディット
ルーチンと同様な処理を実行して、実行範囲BARFM〜BAR
TOに渡り各スポットTIMFM〜TIMTO毎に演奏データ中に含
まれるキーコードKC及び音色・効果名データを操作パネ
ル20の操作に応じて変更するようにすればよい。
(2)また、上記実施例においては、自動演奏用楽音の
発生系統を1系統にしたが、該発生系統を複数にし、か
つ演奏データ中に発生系統を表すデータを記録させるよ
うにして、編集の際、実行範囲BARFM〜BARTOに渡り各ス
ポットTIMFM〜TIMTO毎に前記発生系統を表すデータを一
括して変更するようにしてもよい。これにより、自動演
奏の再生の際、各パート(発生系統)毎に楽音の発生が
可能になるとともに、前記編集によつて各パートの変更
が容易になるる (3)また、上記実施例の編集モードにおいては、実行
範囲の全ての小節に渡り、各スポットに属する演奏デー
タの変更又は同一タイミングに関する複数の押鍵データ
の分散化を行うようにしたが、演奏データの変更又は押
鍵データの分散化を行うか否かを決定する操作子を別途
設け、データ編集の進行に従って各小節毎に前記別途設
けた操作子の操作に応じて演奏データの変更又は押鍵デ
ータの分散化を実行するか否かを決定して、各小節毎に
順次データの編集作業を進めるようにしてもよい。な
お、この場合、実行範囲BARFM〜BARTOを設定しなくて
も、演奏データの記憶されている全範囲に渡り前記編集
を行うようにしてもよい。
(4)また、上記実施例の編集モードにおいては、1小
節毎に各スポットを定めるようにしたが、この各スポッ
トを任意の区間毎例えば2小節又は4小節毎に定めるよ
うにしてもよい。この場合、オードリズムの繰返し周期
を2小節又は4小節毎にするか、又は小節カウントBACN
Tを利用して2小節又は4小節毎にスポットを定め、該
スポットに属する演奏データを所定の条件で変更するよ
うにすればよい。
(5)また、上記実施例の編集モードにおいては、実行
範囲BARFM〜BARTOを小節毎に定めるようにしたが、各小
節内のタイミング毎に前記実行範囲を定め得るようにし
てもよい。
(6)また、上記実施例のセパレートエディットルーチ
ンの処理においては、同一タイミングに関する複数の押
鍵データを低音側から高音側又は高音側から低音側へ高
音順に変べ換えるようにしたが、同一タイミングに関す
る複数の押鍵データが3個以上ある場合には一旦高音を
順次上昇(又は下降)させた後、下降(又は上昇)させ
るように押鍵データを並べ換えるようにしてもよい。
(7)また、上記実施例のセパレートエディットルーチ
ンの処理においては、同一タイミングに関する複数の押
鍵データをタイミング変更データΔTIME分ずつ分散させ
るようにしたが、略同一タイミング例えばタイミング変
更データΔTIMR未満又は同データΔTIMEの1/2,1/4未満
以内の時間間隔内にある複数の押鍵データを前述のよう
に分散させるようにしてもよい。これによれば、初心者
等が自動演奏の記録モード時に本来同時に押すべき複数
の鍵を多少時間差をもって押鍵しても、同時押鍵みなさ
れるので自動演奏装置の演奏性が向上する。また、この
ような理由を解消するために、自動演奏の記録モード時
に、多少の時間差をもって押鍵された複数の鍵は同時押
鍵であるとみなして、同一タイミングに関する押鍵デー
タとして演奏データメモリ62に記憶しておくようにして
もよい。さらに、和音演奏用の鍵盤を別途設け又は上記
実施例の鍵盤10を和音演奏用鍵盤に切換え、該鍵盤にお
いては一つの鍵の押鍵により、該鍵に対応した和音(C
メジャ、Dマイナ等)を構成する各楽音の発生を表す複
数の押鍵データを自動演奏記録モードにおいて演奏デー
タメモリ62内に記憶するようにしてもよい。
(8)さらに、上記実施例の自動演奏記録モードにおい
ては、鍵盤10を演奏することにより演奏データを演奏デ
ータメモリ62に記憶させるようにしたが、磁気テープ、
磁気ディスク等の外部記録媒体に予め記録されている演
奏データを演奏データメモリ62に書込むようにしてもよ
い。
【図面の簡単な説明】
第1図は上記特許請求の範囲の記載に対応したクレーム
対応図、第2図は本発明の一実施例を表す自動演奏装置
を備えた電子楽器のブロック図、第3図は第2図の操作
パネルの詳細を示す外観図、第4図は第2図の演奏デー
タメモリに記憶されている各種演奏データのフォーマッ
ト図、第5図乃至第15図は第2図のマイクロコンピュー
タにて実行されるプログラムの一例に対応したフローチ
ャート、第16図は演奏データ列の一例を示すフォーマッ
ト図、並びに第17図、第18A図及び第18B図は実施例の動
作を説明するための説明図である。 符号の説明 10……鍵盤、10a……鍵スイッチ回路、10b……鍵タッチ
検出回路、20……操作パネル、23a……アップ操作子、2
3b……ダウン操作子、24a……オートプレイライト操作
子、24b……オートプレイリード操作子、25a……タイミ
ングエディット操作子、25b……鍵タッチエディット操
作子、25c……セパレートエディット操作子、25d……エ
ンター操作子、26……テンキー操作子群、28……表示
器、40……テンポ発振器、51……リズム音信号発生回
路、52……鍵盤用楽音信号発生回路、53……自動演奏用
楽音信号発生回路、60……データ記憶部、62……演奏デ
ータメモリ、63……アドレステーブル、70……マイクロ
コンピュータ。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】楽曲の進行に従って楽音の発生を制御する
    複数の演奏データを複数の所定長区間に渡り記憶する演
    奏データメモリを有し、該演奏データメモリに記憶され
    ている演奏データを楽曲の進行に従って読出すととも
    に、該読出した演奏データに基づく楽音を発生する自動
    演奏装置において、 一所定長区間内における所望のタイミング範囲を指定す
    るタイミング範囲指定手段と、 前記演奏データの変更条件を指定する変更条件指定手段
    と、 前記指定されたタイミング範囲に属する演奏データを前
    記演奏データメモリに記憶されている演奏データの中か
    ら複数の所定長区間毎にそれぞれ探し出すサーチ手段
    と、 前記探し出された各所定長区間毎の演奏データを前記指
    定された変更条件に従ってそれぞれ修正する演奏データ
    修正手段と、 前記修正された各演奏データを前記探し出された各演奏
    データに替えて前記演奏データメモリにそれぞれ書込む
    書込み手段と を備えたことを特徴とする自動演奏装置。
  2. 【請求項2】上記タイミング範囲指定手段を、 上記所望のタイミング範囲の開始タイミングを指定する
    開始タイミング指定手段と、 上記所望のタイミング範囲の終了タイミングを指定する
    終了タイミング指定手段と で構成した上記特許請求の範囲第1項記載の自動演奏装
    置。
  3. 【請求項3】上記サーチ手段により探し出され、上記演
    奏データ修正手段により修正され、かつ上記書込み手段
    により書込まれる演奏データは、楽音の発音タイミング
    に関するものである上記特許請求の範囲第1項記載の自
    動演奏装置。
  4. 【請求項4】上記サーチ手段により探し出され、上記演
    奏データ修正手段により修正され、かつ上記書込み手段
    により書込まれる演奏データは、楽音の音高、音色、音
    量又は楽音に付与される効果のいずれかに関するもので
    ある上記特許請求の範囲第1項記載の自動演奏装置。
JP62160754A 1987-06-26 1987-06-26 自動演奏装置 Expired - Lifetime JPH07109553B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62160754A JPH07109553B2 (ja) 1987-06-26 1987-06-26 自動演奏装置
US07/210,926 US4881440A (en) 1987-06-26 1988-06-24 Electronic musical instrument with editor
US07/406,357 US4981066A (en) 1987-06-26 1989-09-12 Electronic musical instrument capable of editing chord performance style

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62160754A JPH07109553B2 (ja) 1987-06-26 1987-06-26 自動演奏装置

Publications (2)

Publication Number Publication Date
JPS644794A JPS644794A (en) 1989-01-09
JPH07109553B2 true JPH07109553B2 (ja) 1995-11-22

Family

ID=15721740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62160754A Expired - Lifetime JPH07109553B2 (ja) 1987-06-26 1987-06-26 自動演奏装置

Country Status (1)

Country Link
JP (1) JPH07109553B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2519622Y2 (ja) * 1988-02-23 1996-12-11 カシオ計算機株式会社 自動演奏装置
JP2508911B2 (ja) * 1990-10-31 1996-06-19 ヤマハ株式会社 自動演奏デ―タ編集装置
JP2606446B2 (ja) * 1990-11-29 1997-05-07 ヤマハ株式会社 自動演奏装置
JP2590612B2 (ja) * 1991-01-17 1997-03-12 ヤマハ株式会社 演奏データ記録装置
JPH05160642A (ja) * 1991-12-06 1993-06-25 Sony Tektronix Corp 任意波形発生方法
JP2679546B2 (ja) * 1992-09-11 1997-11-19 ヤマハ株式会社 自動演奏装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6157992A (ja) * 1984-08-29 1986-03-25 松下電器産業株式会社 編集機能を有する自動演奏装置
JP2995629B2 (ja) * 1985-03-28 1999-12-27 カシオ計算機株式会社 演奏データ編集装置
JPS61279893A (ja) * 1985-06-05 1986-12-10 松下電器産業株式会社 自動演奏装置

Also Published As

Publication number Publication date
JPS644794A (en) 1989-01-09

Similar Documents

Publication Publication Date Title
JPH07199929A (ja) 自動演奏装置
JPH08221063A (ja) 自動演奏装置
JPH07109553B2 (ja) 自動演奏装置
JP3239411B2 (ja) 自動演奏機能付電子楽器
JP2556040B2 (ja) 自動演奏装置
JP2625800B2 (ja) 自動演奏装置
JP3430894B2 (ja) 和音検出方法、和音検出装置及び和音検出プログラムを記録した記録媒体
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
US5777250A (en) Electronic musical instrument with semi-automatic playing function
JP3195111B2 (ja) 自動演奏装置
JP2601039B2 (ja) 電子楽器
JP2643277B2 (ja) 自動演奏装置
JP2770767B2 (ja) 自動演奏装置
JP2570411B2 (ja) 演奏装置
JP2692539B2 (ja) 自動伴奏装置
JP3033393B2 (ja) 自動伴奏装置
JP2760398B2 (ja) 自動演奏装置
JP2536272B2 (ja) 電子楽器
JP2833229B2 (ja) 電子楽器の自動伴奏装置
JP3120487B2 (ja) 自動伴奏機能付電子楽器
JP2576296B2 (ja) 電子楽器の自動伴奏装置
JP2542316B2 (ja) 自動伴奏装置
JP2674331B2 (ja) 自動伴奏装置
JP2596111B2 (ja) 自動演奏装置
JP3498968B2 (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

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

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 12