JP2556040B2 - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JP2556040B2
JP2556040B2 JP62160755A JP16075587A JP2556040B2 JP 2556040 B2 JP2556040 B2 JP 2556040B2 JP 62160755 A JP62160755 A JP 62160755A JP 16075587 A JP16075587 A JP 16075587A JP 2556040 B2 JP2556040 B2 JP 2556040B2
Authority
JP
Japan
Prior art keywords
data
performance data
performance
key
timing
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
JP62160755A
Other languages
English (en)
Other versions
JPS644795A (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 JP62160755A priority Critical patent/JP2556040B2/ja
Priority to US07/210,926 priority patent/US4881440A/en
Publication of JPS644795A publication Critical patent/JPS644795A/ja
Priority to US07/406,357 priority patent/US4981066A/en
Application granted granted Critical
Publication of JP2556040B2 publication Critical patent/JP2556040B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、演奏データメモリに記憶されている演奏デ
ータに基づき楽音を発生する自動演奏装置に係り、特に
前記演奏データの編集(エディット)機能を備えた自動
演奏装置に関する。
[従来技術] この種の装置に関する従来技術としては、例えば特開
昭58−211191号公報に示されるように、楽曲の進行に従
った鍵盤演奏に関する演奏データを演奏データメモリに
記憶し、かつ該記憶した演奏データを楽曲の進行に従っ
て自動的に読出して、該読出した演奏データに基づき楽
音の発生を制御することにより楽音を自動再生するとと
もに、前記自動再生を行ないながら鍵盤演奏を行なうこ
とにより、演奏データメモリ内に以前から記憶されてい
た演奏データに加えて、鍵盤演奏に関する新たな演奏デ
ータを書込むようにして、演奏データの編集を行なうよ
うにしたものはあった。
[発明が解決しようとする問題点] しかるに、上記従来の装置にあっては、演奏データメ
モリ内の演奏データに鍵盤演奏に関する新たな演奏デー
タを加えていくことにより、演奏データメモリ内の演奏
データを順次変更していくことは可能であるが、鍵盤に
よる演奏とは無関係に前記演奏データを変更することが
できず、演奏データの編集には大きな制限があるという
問題があり、例えば和音等を構成する複数の楽音を分散
させて発音させるような演奏データの編集を行なうこと
はできなかった。
本発明は上記問題に鑑み案出されたもので、その目的
とするところは、和音等を構成する複数の楽音を分散さ
せて発音させるような新規な演奏データの編集を可能と
する自動演奏装置を提供することにある。
[問題点を解決するための手段] 上記問題を解決して本発明の目的を達成するために、
本発明の構成上の特徴は、第1図に示すように、発生楽
音の音高を制御する複数の演奏データを楽曲の進行に従
って記憶する演奏データメモリ1を有し、該演奏データ
メモリ1に記憶されている演奏データを楽曲の進行に従
って読出すとともに、該読出した演奏データに基づく音
高の楽音を発生する自動演奏装置において、前記演奏デ
ータメモリ1に記憶されている演奏データのうち、ほぼ
同一タイミングに読出し出力される複数の演奏データを
探し出すサーチ手段2と、前記サーチ手段2によって探
し出された複数の演奏データを、所定の音高順に配列さ
れかつ所定のタイミングずれをもって読出し出力される
演奏データに変更するデータ変更手段3と、前記サーチ
手段2及びデータ変更手段3による演奏データの変更を
指示制御する指示制御手段4とを設けたことにある。
[発明の作用] 上記のように構成した本発明においては、指示制御手
段4によって演奏データの変更が指示されると、サーチ
手段2が演奏データメモリ1に記憶されている演奏デー
タのうち、ほぼ同一タイミングに読出し出力される複数
の演奏データを探し出すとともに、データ変更手段3が
サーチ手段2により探し出された複数の演奏データを、
所定の音高順に配列されかつ所定のタイミングずれをも
って読出し出力される演奏データに変更するので、演奏
データメモリ1内に記憶されているほぼ同一タイミング
に読出し出力される複数の演奏データは、自動的に順
次、所定の音高順に配列されかつ所定のタイミングずれ
をもって読出し出力される演奏データに再編成される。
[発明の効果] 上記動作説明からも理解できる通り、本発明によれ
ば、指示制御手段4によって演奏データの変更を指示す
るのみで、演奏データメモリ1に記憶されていて複数の
楽音をほぼ同時に発生させるための複数の演奏データ
が、所定の音高順に配列されかつ所定のタイミングずれ
をもった演奏データに自動的に変更されるので、簡単な
操作により、和音等を構成する複数の楽音を分散させて
発音させるための演奏データの編集を行なうことができ
るようになる。
そして、このような演奏データの編集により、演奏デ
ータの再生の際に、ギター、ハープシコード等における
複数の楽音が若干の時間ずれをもって順次発生されるア
ルペジックな楽音の自動発生、又は前記時間間隔よりは
大きな時間ずれをもって楽音を発生するアルペジョ、ウ
ォーキングベース等の自動演奏を楽しむことができる。
(実施例) 以下、本発明の一実施例を図面を用いて説明すると、
第2図は本発明に係る自動演奏装置を備えた電子楽器を
ブロック図により示している。
この電子楽器は鍵盤10及び操作パネル20を備えてい
る。鍵盤10は楽音を指定する複数の鍵からなり、各鍵の
押離鍵は鍵スイッチ回路10a内に各鍵に対応して設けた
複数の鍵スイッチの開閉成により検出されるようになっ
ている。また、各鍵の押鍵に伴って鍵タッチ検出回路10
b内に各鍵に対応して設けた鍵タッチセンサも動作する
ようになっており、これらの鍵タッチセンサにより各鍵
の押鍵速度、押鍵圧力等のイニシャル鍵タッチが各々検
出されるようになっている。なお、これらの鍵スイッチ
回路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においていず
れの操作子も操作されなければ、CPU72はステップ103に
て「NO」すなわちイベント無しと判定して、プログラム
をステップ102に戻し、ステップ102,103からなる環境処
理を実行し続ける。
また、鍵盤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及び効果操作子
群27bの操作に応じて制御されるようになる。
上記ステップ202の処理後、CPU72はステップ203にて
オートプレイライトフラグAPWが“1"であるか否かを判
定する。かかる場合、当該電子楽器のモードは通常演奏
モードであって同フラグAPWは“0"であるので、ステッ
プ203にて「NO」と判定され、プログラムはステップ204
に進められる。CPU72はこのステップ204にて前記イベン
トバッファレジスタ内の全てのイベントデータをクリア
し、ステップ205にて鍵・音色イベントルーチンの実行
を終了して、プログラムを第5図のステップ102に戻
す。そして、CPU72は再び上記ステップ102,103からなる
循環処理を実行し、該循環処理中、鍵盤10における押離
鍵又は音色操作子群27a、効果操作子群27bにおける操作
があると、上記ステップ104,105の処理により上述のよ
うにして前記押離鍵又は操作に応じて楽音の発生を制御
する。
次に、リズム選択操作子群22、アップ操作子23a及び
ダウン操作子23bのうちのいずれかが操作された場合に
ついて説明する。この場合、CPU72は、上記ステップ10
2,103からなる循環処理中、ステップ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の判定処理においては「N
O」と判定され、プログラムはステップ904に進められ
る。CPU72はこのステップ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に進められるので、打楽
器音が発音されることはない。
かかるリズムインタラプトプログラムの終了後、CPU7
2は上記中断したプログラムの実行に移る。そして、テ
ンポ発振器40からテンポクロック信号が発生される毎
に、リズムインタラプトプログラムの上記ステップ900
〜906の処理が実行されて、リズムパターンデータに基
づく打楽器音の自動発音が制御されるとともにテンポカ
ウントTCNTが順次「1」ずつ歩進される。このような動
作中、リズムスタート操作子21aの操作から1小節に対
応した時間が経過すると、リズムパターンデータメモリ
61に記憶されている1小節分のリズムパターンデータの
読出しが終了すると同時に、テンポカウントTCNTが小節
エンドに対応した値になる。このとき、CPU72は、上記
ステップ905の判定処理にて、前記テンポカウントTCNT
に基づき「YES」と判定し、ステップ907にて同テンポカ
ウントTCNTを「0」に初期設定して、プログラムをステ
ップ908に進める。ステップ908においては、オートプレ
イライトフラグAPWが“1"であるか否かが判定される
が、この場合、当該電子楽器は通常演奏モードにあって
同フラグAPWは“0"であるので、CPU72は同ステップ908
にて「NO」と判定し、ステップ906にてこのリズムイン
タラプトプログラムの実行を終了する。これにより、オ
ートリズム演奏は再び小節の頭から実行されるようにな
る。このようなオートリズム演奏により、演奏者は、当
該モードにおいて、所望の自動リズム演奏とともに鍵盤
10における演奏を行うことができる。
かかる自動リズム演奏中、リズムストップ操作子21b
が操作されると、CPU72は、上記場合と同様にステップ1
02,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に進め、ステッ
プ109にて第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」と判定し、ステッ
プ907の処理によるテンポカウントTCNTの初期設定後、
ステップ908にて“1"に設定されているオートプレイラ
イトフラグAPWに基づき「YES」と判定し、ステップ909
にて演奏データメモリ62の記憶位置APM(ADR)に小節コ
ード(第4図参照)を書込み、ステップ910にてADR=AD
R+1の演算の実行によりアドレスADRを「1」だけ歩進
させて、ステップ906にてリズムインタラプトプログラ
ムの実行を終了する。これにより、オートリズム演奏と
ともに、同演奏の進行に従って小節の区切りタイミング
毎に演奏データメモリ62には小節コードが書込まれてい
く。
かかるオートリズム演奏に従って、鍵盤10にて各鍵が
押離鍵され、又は音色操作子群27a、効果操作子群27bの
ずれかの操作子が操作されると、上述のステップ102,10
3(第5図)からなる循環処理を実行中のCPU72は、ステ
ップ103,104の判定処理によりステップ105の鍵・音色イ
ベントルーチン(第6図)を実行して鍵演奏による楽音
の発音を制御する。この鍵・音色イベントルーチンの実
行においては、オートプレイライトフラグAPWが“1"に
設定されているので、CPU72はステップ203にて「YES」
と判定してプログラムをステップ206〜211からなる演奏
データ書込みルーチンに進める。
この演奏データ書込みルーチンにおいては、最初、ス
テップ206にて演奏データメモリ62の記憶位置APM(AD
R)に演奏データとしてタイミングデータが記憶され
る。このタイミングデータは、第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に転送記憶したイベントデータ
をイベントバッファレジスタからクリアし、ステップ21
0にて同レジスタ内にイベントデータが残っているか否
かを判定する。かかる場合、イベントデータが残ってい
れば前記ステップ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,90
9の処理により、演奏データメモリ62内に記憶される演
奏データのフォーマットは、第16図に示すように、小節
の区切り毎に小節コードが記憶されるとともに、鍵盤1
0、音色操作子群27a又は効果操作子群27bに関する演奏
データがタイミングデータを先頭に同時に発生したイベ
ントに関する分まとめて記憶されることになる。
次に、該自動演奏記録モードを終了するために、リズ
ムストップ操作子21bが操作されると、上記ステップ10
2,103(第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図の示すように、演奏データ列
の最後に終了コードが書込まれることになる。次に、CP
U72はステップ307にてアドレスADRを「0」に初期設定
するとともに小節カウントBACNTを「1」に初期設定
し、ステップ308にて演奏データメモリ62内の前記初期
設定したアドレスADRにより指定される記憶位置APM(AD
R)に記憶されているデータが小節コードか否かを判定
する。かかる場合、記憶位置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」と判定してプログラムをステップ3
08に戻し、ステップ308にて再び演奏データメモリ62の
記憶位置APM(ADR)に記憶されているデータが小節コー
ドか否かを判定する。かかる場合、該記憶位置APM(AD
R)には押鍵データ又は音色等データに先行するタイミ
ングデータが記憶されているので、CPU72は同ステップ3
08にて「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値を書込み、ステップ3
10にて小節カウント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に進め、ステッ
プ110にて第9図に詳細に示すオートプレイリードルー
チンを実行する。このオートプレイリードルーチンにお
いては、ステップ500にてその実行が開始され、ステッ
プ501〜503の処理により自動演奏の再生区間が設定され
る。
かかる場合、操作パネル20のアップ操作子23a、ダウ
ン操作子23b、エンター操作子25d、テンキー26及び表示
器28により、上記再生区間の設定が行われる。今、前記
各操作子23a,23b,25d,26のいずれも操作されなければ、
CPU72はステップ501,503にて各々「NO」と判定し、ステ
ップ501,503からなる循環処理を実行する。一方、かか
る循環処理中、アップ操作子23a,ダウン操作子23b又は
テンキー26が操作されると、CPU72はステップ501にて
「YES」と判定し、ステップ502にて表示器制御回路20b
との協働により表示器28の表示制御を実行しながら、開
始小節データBARFM及び終了小節データBARTOを設定す
る。すなわち、アップ操作子23a又はダウン操作子23bが
操作されると、表示器28の表示が「BARFM」(又は「BAR
TO」)から「BARFM」(又は「BARFM」)に変更され、該
表示状態が「BARFM」であるとき、テンキー26により指
定された数字が表示器28に表示されるとともに、開始小
節データBARFMとして設定される。また、前記表示状態
が「BARTO」であるとき、テンキー26により指定された
数字が表示器28に表示されるとともに、終了小節データ
BARTOとして指定される。一方、上記ステップ501,503か
らなる循環処理中、エンター操作子25dが操作される
と、CPU72はステップ503にて「YES」と判定し、前記設
定記憶した開始及び終了小節データBARFM,BARTOを以前
の値に保ったままプログラムをステップ504に進める。
ステップ504においては、CPU72はオートプレイリード
フラグAPR及びリズムランフラグRUNを“1"に初期設定す
るとともにテンポカウントTCNTを「0」に初期設定し、
かつ小節カウントBACNTを前記設定した開始小節データB
ARFMの示す値に初期設定する。また、CPU72は同ステッ
プ504にてアドレスADRを開始小節データBARFMにより指
定されるアドレステーブル63の記憶位置ADTBL(BARFM)
に記憶されているデータ値に設定する。このアドレスAD
Rの設定は、同アドレスADR値を演奏データメモリ62内の
自動演奏開始小節の先頭の演奏データ(タイミングデー
タ)の記憶位置を指示する値に設定することを意味す
る。(第16図参照)次に、CPU72は、ステップ506にて、
前記アドレスADRにより指定される演奏データメモリ62
の記憶位置APM(ADR)に記憶されている演奏データ(タ
イミングデータ)を読出して、該読出しデータをリード
タイミングデータRDTIMとして設定して、ステップ506に
てこのオートプレイリードルーチンの実行を終了する。
オートプレイリードルーチンの実行終了後、CPU72
は、上記(1)(2)の場合と同様、ステップ102,103
(第5図)からなる循環処理を続ける。かかる場合、鍵
盤10における押離鍵又は音色操作子群27a、効果操作子
群27bの操作があれば、上記(1)(2)の場合と同様
にステップ105の処理が実行されて、鍵盤用楽音信号発
生回路52による鍵盤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にて該歩進させたア
ドレスADRにより指定される演奏データメモリ62内の記
憶位置APM(ADR)に記憶されている演奏データをリード
データRDDTとして再び設定し、さらに、このリードデー
タRDDTの種類をステップ955〜957の処理により判定す
る。かかる場合、リードデータRDDTが再び押鍵データ、
離鍵データ、音色等データであれば、再びステップ958
の処理により楽音の発生が制御される。このようにし
て、同一タイミングに記憶されている全ての押鍵デー
タ、離鍵データ、音色等データが演奏データメモリ62か
ら読出されて、自動演奏楽音の発生が制御される。
かかるステップ953〜958からなる循環処理中、上記ス
テップ954にて設定したリードデータRDDTがタイミング
データになると、CPU72はステップ955にて「YES」と判
定し、ステップ959にて同リードデータRDDTをリードタ
イミングデータRDTIMとして設定して、ステップ952にて
該自動演奏データ読出しルーチンの実行を終了する。そ
の後、リズムインタラプトプログラムが実行される毎に
上記ステップ950〜952からなる処理が実行され、前記設
定したリードタイミングデータRDTIMがテンポカウントT
CNTと等しくなると、CPU72は上記ステップ953〜958から
なる上記処理を実行して自動演奏楽音の発音を制御す
る。
また、かかる状態、上記ステップ954にて設定したリ
ードデータRDDTが小節コードになると、CPU72は、ステ
ップ955,956における「NO」との判定後、ステップ957に
て「YES」と判定し、ステップ960にて小節カウントBACN
Tを「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にて設定したリードデータR
DDTが終了コードになると、CPU72はステップ955におけ
る「NO」と判定後、ステップ956にて「YES」と判定し、
ステップ962にて自動演奏再生モード及びオートリズム
の停止のためにオートプレイリードフラグAPR及びリズ
ムランフラグを“0"に設定して、ステップ952にて自動
演奏データ読出しルーチンの実行を終了する。
一方、上述したように、小節カウントBACNTが歩進し
て終了小節データBARTOに達し、又は演奏データメモリ6
2から終了コードが読出される前に、リズムストップ操
作子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,10
4の判定処理により、ステップ111にてタイミングエディ
ットルーチンの処理を実行して演奏データ中のタイミン
グデータの値を変更修正する。タッチエディット操作子
25bが操作された場合には、CPU72はステップ112にてタ
ッチエディットルーチンの処理を実行して演奏データ中
の鍵タッチデータKTDを変更修正する。また、セパレー
トエディット操作子25cが操作されると、CPU72はステッ
プ113にてセパレートエディットルーチンの処理を実行
して押鍵データを分散させる。以下、各編集内容毎に実
施例の動作を説明する。
(4a)タイミングエディット 上記ステップ111のタイミングエディットルーチン
(第5図)の詳細は第10図に示されており、同ルーチン
においては、ステップ600にてその実行が開始され、ス
テップ601〜603の処理により編集の実行範囲、スポット
幅及びタイミング変更データΔTIMEが設定される。な
お、実行範囲とは、第17図に示すように、開始小節デー
タBARFMから終了小節データBARTOまでにより指定される
エディットデータが編集される範囲であり、スポット幅
とは開始タイミングデータTIMFMから終了タイミングデ
ータTIMTOまでにより指定される小節内において演奏デ
ータが実際に変更される範囲である。
かかる場合、操作パネル20のアップ操作子23a、ダウ
ン操作子23b、エンター操作子25d、テンキー26及び表示
器28により、前記実行範囲BARFM〜BARTO、スポット幅TI
MFM〜TIMTO及びタイミング変更データΔTIMEの設定が行
われる。今、前記各操作子23a,23b,23d,26のいずれも操
作されなければ、CPU72はステップ601.603にて各々「N
O」と判定し、ステップ601,603からなる循環処理を実行
する。一方、かかる循環処理中、アップ操作子23a,ダウ
ン操作子23b又はテンキー26が操作されると、CPU72はス
テップ601にて「YES」と判定し、ステップ602にて表示
制御回路20bとの協働により表示器28の表示制御を実行
しながら、開始小節データBARFM、終了小節データBART
O、開始タイミングデータTIMFM、終了タイミングデータ
TIMTO及びタイミング変更データΔTIMEを設定する。す
なわち、アップ操作子23a(又はダウン操作子23b)が操
作されると、表示器8の表示が「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により指
定されたタイミングがスポット幅以内にあるか否かを判
定する。該タイミングがスポツト幅以内にあれば、CPU7
2は、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<TIMFMに基づき、「NO」と
判定して、プログラムを上記ステップ610,605,604に進
める。これにより、かかる場合には、演奏データメモリ
62に記憶されている演奏データは変更されることはな
い。
一方、上記ステップ606の判定処理において「NO」す
なわちリードデータRDDTはタイミングデータではないと
判定された場合、CPU72はステップ611,612にてリードデ
ータRDDTが終了コードであるか否か又は小節コードであ
るか否かを判定する。この場合、リードデータRDDTが押
鍵データ、離鍵データ又は音色等データであって終了コ
ード及び小節コードでなければ、CPU72はステップ611,6
12にて各々「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、ダウン操作子23
b、エンター操作子25d、テンキー26及び表示器28を利用
して、実行範囲を規定する開始小節データBARFM、終了
小節データBARTO及びスポット幅を規定する開始タイミ
ングデータTIMFM、終了タイミングデータTIMTOが設定さ
れる。また、鍵タッチ変更データΔKTDは上記(4a)タ
イミングエディットのタイミング変更データΔTIMEに換
えてテンキー26により設定される。
上記ステップ703の処理後、CPU72は、上記(4a)タイ
ミングエディットの場合と同様、ステップ704,705の処
理により小節カウントBACNTを開始小節データBARFMに初
期設定するとともに、アドレスADRを開始小節データBAR
FMにより指定される小節の最初の演奏データ(タイミン
グデータ)を記憶する演奏データメモリ62の記憶位置を
示すデータ値に初期設定し、かつ該記憶位置に記憶され
ている演奏データをリードデータRDDTとして設定して、
ステップ706にて該リードデータRDDTがタイミングデー
タであるか否かを判定する。この場合、リードデータRD
DTがタイミングデータであれば、CPU72はステップ707に
て該リードデータRDDTをリードタイミングデータRDTIM
として設定し、ステップ708にてアドレスADRを「1」だ
け歩進させ、ステップ705にて該歩進させたアドレスADR
により演奏データメモリ62内の次の演奏データをリード
RDDTとして設定して、ステップ706にて再び該リードデ
ータRDDTがタイミングデータであるか否かを判定する。
また、上記ステップ706の判定処理において「NO」す
なわちタイミングデータではないと判定された場合、CP
U72はステップ709にてリードデータRDDTが押鍵データで
あるか否かを判定する。該リードデータRDDTが押鍵であ
れば、CPU72は同ステップ709にて「YES」と判定し、ス
テップ710,711にて前記リードデータRDDTがスポット幅
内のデータであるか否かを判定する。すなわち、前記押
鍵データに関するタイミングデータに対応した上記ステ
ップ707にて設定したリードタイムデータRDTIMがTIMFM
≦RDDT≦TIMTOの関係にあれば、CPU72は両ステップ710,
711にて共に「YES」と判定し、ステップ712にて演算KTD
+ΔDTKの実行によってリードデータRDDT中の鍵タッチ
データKTD部分を鍵タッチ変更データΔKTDで修正変更す
るとともに、該変更したデータを変更前の押鍵データが
記憶されていた演奏データメモリ62内の記憶位置APM(A
DR)に再び記憶させることにより押鍵データを変更す
る。この押鍵データの変更後、CPU72はプログラムを上
記ステップ708,705,706に進める。また、上述したリー
ドデータRDDTがスポット幅内のデータでなければ、CPU7
2はステップ710又はステップ711にて、RDTIM<TIMFM又
はRDDT>TIMTOに基づき、「NO」と判定して、プログラ
ムを上記ステップ708,705,706に進める。これにより、
かかる場合には、演奏データメモリ62に記憶されている
演奏データは変更されることはない。
一方、上記ステップ706,709の判定処理において「N
O」すなわちリードデータRDDTはタイミングデータでも
押鍵データでもない判定された場合、CPU72はステップ7
13,714にてリードデータRDDTが終了コードであるか又は
小節コードであるかを判定する。この場合、リードデー
タRDDTが離鍵データ又は音色等データであって終了コー
ド及び小節コードでなければ、CPU72はステップ713,714
にて各々「NO」と判定して、プログラムをステップ708,
705,706に進める。この場合も、演奏データメモリ62内
に記憶されている演奏データが変更されることはない。
また、上記のような処理中、演奏データメモリ62から
読出されたリードデータRDDTが小節コードであった場
合、上記(4a)タイミングエディットの場合と同様、ス
テップ713,174における各々「NO」,「YES」との判定
後、CPU72はステップ715の処理により小節カウントBACN
Tを歩進させるとともに、ステップ716の処理により小節
カウントBACNTが終了小節データBARTOより大きいか否か
を判定する。そして、小節カウントBACNTが終了小節デ
ータBARTO以下である間は、ステップ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タイミングバッ
ファデータTIMBUF1として初期設定し、ステップ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にて設定したリードデータRDD
Tが押鍵データでなければステップ809にて「NO」と判定
され、CPU72はステップ813,814にてリードデータRDDTが
小節コードであるか又は終了コードであるかを判定す
る。かかる編集直後の場合、通常、リードデータRDDTが
小節コード又は終了コードであることはなく、同データ
が小節コード又は終了コードである場合については後述
するとして、同データが上記以外のデータすなわちタイ
ミングデータ、離鍵データ又は音色等データである場合
について説明する。該リードデータRDDTがタイミングデ
ータであれば、CPU72は、上記ステップ809,813,814にお
ける「NO」との判定後、ステップ815にて「YES」と判定
してプログラムをステップ816に進める。また、該リー
ドデータRDDTが離鍵データ又は音色等データであれば、
CPU72は、上記ステップ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(A
DR)に記憶されているタイミングデータを表し、かつ第
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にて「YE
S」と判定して、ステップ852にてN個のキーバッファデ
ータKEYBUF(0)〜KEYBUF(N−1)を低音側から高音
側へ順に並べ換える。また、ソートタイプデータSTYPが
“0"であれば、CPU72はステップ851にて「NO」と判定し
て、ステップ853にてN個のキーバッファデータKEYBUF
(0)〜KEYBYF(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,86
2の処理により、カウント値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として読出し、該読出したリードデータ
RDDTが押鍵であるか否かを判定することより押鍵データ
を見付け出す。そして、該押鍵データが見付け出される
毎に、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+
ΔTIMEが書込まれ、このことは該第2番目の押鍵データ
に関するタイミングデータがタイミング変更データΔTI
ME分遅延されたことを意味する。このステップ871の処
理後、CPU72はステップ872にて第2番目の押鍵データの
記憶位置の後方の記憶位置を示す値にアドレスADRを変
更するためにアドレスADRに「2」を加算し、ステップ8
73にてTIMBUF2=TIMEBUF2+ΔTIMEの演算の実行により
第2タイミングバッファデータTIMEBUF2を前記第2番目
の押鍵データに関する変更タイミングデータに設定して
おく。次に、CPU72はステップ874にてカウント値iがカ
ウント値Nに等しいか否かを判定する。この場合、カウ
ント値iは「2」であり、かつカウント値Nは上述した
同一タイミングに関する押鍵データの数に等しいので、
該押鍵データの数が「2」であれば、CPU72はステップ8
74にて「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に
て再びカウント値iがカウント値Nに等しいか否かを判
定する。このような処理により、カウント値iが上述し
た同一タイミングに関する押鍵データの数Nに等しくな
れば、CPU72は同ステップ874にて「YES」と判定してス
テップ875にてこのデータ並べ換えルーチンの実行を終
了し、等しくなければ、CPU72は再びステップ876〜879,
870〜873の処理を実行する。その結果、上述した同一タ
イミングに関する各押鍵データの前には各々タイミング
変更データ分順に大きくしたタイミングデータが書込ま
れるようになる。第18B図は上記演奏データの変更状態
を上述した同一タイミングに関する押鍵データが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分ずつ分散させ
るようにしたが、略同一タイミング例えばタイミング変
更データΔTIME未満又は同データΔ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)

    (57)【特許請求の範囲】
  1. 【請求項1】発生楽音の音高を制御する複数の演奏デー
    タを楽曲の進行に従って記憶する演奏データメモリを有
    し、該演奏データメモリに記憶されている演奏データを
    楽曲の進行に従って読出すとともに、該読出した演奏デ
    ータに基づく音高の楽音を発生する自動演奏装置におい
    て、 前記演奏データメモリに記憶されている演奏データのう
    ち、ほぼ同一タイミングに読出し出力される複数の演奏
    データを探し出すサーチ手段と、 前記サーチ手段によって探し出された複数の演奏データ
    を、所定の音高順に配列されかつ所定のタイミングずれ
    をもって読出し出力される演奏データに変更するデータ
    変更手段と、 前記サーチ手段及びデータ変更手段による演奏データの
    変更を指示制御する指示制御手段と を設けたことを特徴とする自動演奏装置。
  2. 【請求項2】上記サーチ手段を、 上記ほぼ同一タイミングに読出し出力される複数の演奏
    データを抽出する抽出手段と、 前記抽出手段により抽出された複数の演奏データを一時
    的に記憶する抽出演奏データ記憶手段とで構成するとと
    もに、 上記データ変更手段を、 前記抽出演奏データ記憶手段に記憶されている複数の演
    奏データを所定の音高順に並び換える並び換え手段と、 前記並び換え手段により並び換えられた複数の演奏デー
    タを、所定のタイミングずれをもって読出し出力される
    演奏データとして、前記抽出手段により抽出された複数
    の演奏データに換えて上記演奏データメモリに書込む書
    込み手段と で構成した上記特許請求の範囲第1項記載の自動演奏装
    置。
  3. 【請求項3】上記指示制御手段は、上記サーチ手段及び
    データ変更手段による演奏データの変更の開始を指示す
    る開始指示手段である上記特許請求の範囲第1項記載の
    自動演奏装置。
  4. 【請求項4】上記指示制御手段を、 上記サーチ手段及びデータ変更手段による演奏データの
    変更の開始を指示する開始指示手段と、 上記データ変更手段による演奏データの変更における演
    奏データの配列音高順を指定する配列音高順指定手段
    と、 上記データ変更手段による演奏データの変更における演
    奏データのタイミングずれ間隔を指定するタイミング間
    隔指定手段と で構成した上記特許請求の範囲第1項記載の自動演奏装
    置。
JP62160755A 1987-06-26 1987-06-26 自動演奏装置 Expired - Lifetime JP2556040B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62160755A JP2556040B2 (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
JP62160755A JP2556040B2 (ja) 1987-06-26 1987-06-26 自動演奏装置

Publications (2)

Publication Number Publication Date
JPS644795A JPS644795A (en) 1989-01-09
JP2556040B2 true JP2556040B2 (ja) 1996-11-20

Family

ID=15721762

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2556040B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03200198A (ja) * 1989-12-28 1991-09-02 Kawai Musical Instr Mfg Co Ltd モチーフ演奏装置
JP4978170B2 (ja) * 2006-11-28 2012-07-18 カシオ計算機株式会社 演奏装置、及びプログラム

Family Cites Families (2)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
US4981066A (en) Electronic musical instrument capable of editing chord performance style
JP3303576B2 (ja) 自動演奏装置
JP2560372B2 (ja) 自動演奏装置
JPH07199929A (ja) 自動演奏装置
JP3239411B2 (ja) 自動演奏機能付電子楽器
JPH07109553B2 (ja) 自動演奏装置
JP2556040B2 (ja) 自動演奏装置
JP2522337B2 (ja) 自動演奏装置
JP2625800B2 (ja) 自動演奏装置
JP3195111B2 (ja) 自動演奏装置
JP2601039B2 (ja) 電子楽器
JP3430894B2 (ja) 和音検出方法、和音検出装置及び和音検出プログラムを記録した記録媒体
JP2692539B2 (ja) 自動伴奏装置
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
JP2674331B2 (ja) 自動伴奏装置
JP3555255B2 (ja) 自動伴奏装置
JP3033393B2 (ja) 自動伴奏装置
JP2536272B2 (ja) 電子楽器
JP2576296B2 (ja) 電子楽器の自動伴奏装置
JP3120487B2 (ja) 自動伴奏機能付電子楽器
JP2833229B2 (ja) 電子楽器の自動伴奏装置
JPH03105396A (ja) 自動演奏装置
JP2713107B2 (ja) 自動演奏装置
JPS6321040Y2 (ja)
JP2760398B2 (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