JPH10260683A - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH10260683A
JPH10260683A JP9116264A JP11626497A JPH10260683A JP H10260683 A JPH10260683 A JP H10260683A JP 9116264 A JP9116264 A JP 9116264A JP 11626497 A JP11626497 A JP 11626497A JP H10260683 A JPH10260683 A JP H10260683A
Authority
JP
Japan
Prior art keywords
data
tone
performance
mode
pattern
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
JP9116264A
Other languages
English (en)
Other versions
JP3830615B2 (ja
Inventor
Yoichiro Okai
洋一郎 大貝
Takao Yamamoto
孝郎 山本
Toshifumi Kunimoto
利文 国本
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 JP11626497A priority Critical patent/JP3830615B2/ja
Publication of JPH10260683A publication Critical patent/JPH10260683A/ja
Application granted granted Critical
Publication of JP3830615B2 publication Critical patent/JP3830615B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 簡単な操作で、多様な演奏パターンを生成す
るとともに、その演奏パターンを構成する楽音の楽音特
性を変更することが可能な自動演奏装置を提供する。 【解決手段】 2つの鍵域に分割された一方の鍵域の押
鍵では通常の楽音を発生させ、他方の鍵域の押鍵では所
定の基準鍵に対する該押鍵鍵の音程数に応じて楽音の音
高をシフトさせるノートシフトモードと、他方の鍵域の
押鍵でループシーケンサの読出しパターンを変更させる
パターンセレクトモードと、一方の鍵域をノートシフト
鍵域として機能させ、他方の鍵域をパターンセレクト鍵
域として機能させるノートシフト&パターンセレクト共
用モードとが選択可能であり、選択モードがノートシフ
トモードのときには前記音程数に応じて選択設定された
読出しパターンの音高を一律変更し(ステップS5
8)、パターンセレクトモードのときには前記音程数に
応じて読出しパターンを変更し(ステップS60)、ノ
ートシフト&パターンセレクト共用モードのときには前
記音程数に応じて読出しパターンの音高を一律変更する
とともにパターンを変更する(ステップS62)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、各種演奏パターン
を読出して再生する自動演奏装置に関する。
【0002】
【従来の技術】各種演奏パターンを読出して再生する自
動演奏装置は、従来から知られている。
【0003】かかる自動演奏装置として、たとえば実公
昭60−35112号公報には、設定された複数の音高
情報(たとえば各種演奏パターン)を順次パルス発生器
からの順次パルスで順次読出して自動演奏するととも
に、この順次パルス発生器を鍵盤部の鍵操作に対応して
歩進制御するようにしたものが開示されている。
【0004】この自動演奏装置によれば、鍵盤部操作に
よって、その鍵操作に伴う演奏音が発生され、その演奏
音の歩進に伴って自動演奏音が発生されるので、自動演
奏音は、鍵操作を人為的にバリエーションをかけながら
行ってもその鍵操作による演奏音とタイミングが合い、
調和のとれる状態で発音制御され、伴奏用等に効果的に
使用されるようになる。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来の自動演奏装置では、自動演奏音と鍵操作による演奏
音との調和はとれるものの、自動演奏音は、設定された
音高情報の順序で読み出されて発生されるのみであるた
め、その自動演奏音のパターンは設定された演奏パター
ンと変わらず、したがって、ユーザが多様な演奏パター
ンでの自動演奏を要求する場合には、対応する演奏パタ
ーンを予め設定しておく必要があった。
【0006】また、上記従来の自動演奏装置では、自動
演奏音の楽音特性も設定された音高情報に対応する楽音
特性で生成されるため、変化に乏しいものであった。さ
らに、たとえば、転調や移調の激しい曲に、アルペジオ
やアドリブ等の短い演奏パターンを付与して自動演奏を
行う場合に、上記のように、設定された音高情報を単純
に読出して生成した演奏パターンを付与すると、主旋律
と自動演奏パターンとが調和しないことがあった。した
がって、主旋律と自動演奏パターンとを調和させるため
には、各調に応じた自動演奏パターンを予め用意してお
く必要があった。
【0007】本発明は、上記問題に鑑みてなされたもの
で、簡単な操作で、多様な演奏パターンを生成するとと
もに、その演奏パターンを構成する楽音の楽音特性を変
更することが可能な自動演奏装置を提供することを目的
とする。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、演奏情報を入力する演奏情
報入力手段と、該入力された演奏情報が属する範疇に応
じて該演奏情報を少なくとも2系統に分離する分離手段
と、複数の演奏情報からなる演奏パターンを複数種類切
換え可能であり、該切換え設定された演奏パターンの演
奏情報に基づいて楽音を生成する楽音生成手段と、該楽
音生成手段に切換え設定されている演奏パターンを他の
演奏パターンに変更する演奏パターン変更手段と、前記
楽音生成手段に切換え設定されている演奏パターンの演
奏情報の楽音特性を変更する楽音特性変更手段と、前記
2系統のうちいずれか一方に、前記演奏パターン変更手
段または楽音特性変更手段のうちいずれか一方を選択し
て割当てる選択割当て手段と、前記入力された演奏情報
が前記2系統のうち、前記選択割当て手段により割り当
てられた系統以外の系統のものであるときに、該演奏情
報に基づいて該演奏情報本来の楽音を生成するように制
御する第1の制御手段と、前記入力された演奏情報が前
記2系統のうち、前記選択割当て手段により割り当てら
れた系統のものであるときに、該割り当てられた変更手
段が前記演奏パターン変更手段である場合には、前記演
奏情報に基づいて、前記切換え設定されている演奏パタ
ーンを他のパターンに変更するように制御する一方、該
割り当てられた変更手段が前記楽音特性変更手段である
場合には、前記演奏情報に基づいて、前記切換え設定さ
れている演奏パターンの演奏情報の楽音特性を変更する
ように制御する第2の制御手段とを有することを特徴と
する。
【0009】これにより、簡単な操作で、多様な演奏パ
ターンを生成するとともに、その演奏パターンを構成す
る楽音の楽音特性を変更することができる。
【0010】ここで、演奏情報入力手段とは、たとえば
鍵盤のように演奏情報を生成する手段であってもよい
し、外部から入力された演奏情報を受信するインターフ
ェース手段のようなものであってもよい。
【0011】また、演奏情報が属する範疇は、演奏情報
入力手段として、たとえば前記鍵盤が採用されている場
合には、その鍵域を複数の鍵域に分割したときの各鍵域
に対応するものとしてもよいし、演奏情報入力手段とし
て、前記インターフェース手段が採用され、演奏情報が
キーコードである場合には、キーコードの値の範囲を複
数の領域に分割したときの各領域に対応するものとして
もよい。なお、これは、あくまでも範疇の一例であっ
て、演奏情報を少なくとも2系統に分離できれば、範疇
の設定は任意に行うことができる。
【0012】演奏パターンとは、主旋律ではなく、たと
えばアルペジオやアドリブ等の短い演奏パターンを想定
している。
【0013】楽音特性は、たとえば音高であるが、これ
に限る必要はない。ユーザが必要とする任意の音楽特性
を採用することができる。
【0014】また、請求項2記載の発明は、演奏情報を
入力する演奏情報入力手段と、該入力された演奏情報が
属する範疇に応じて該演奏情報を少なくとも2系統に分
離する分離手段と、複数の演奏情報からなる演奏パター
ンを複数種類切り換え可能であり、該切換え設定された
演奏パターンの演奏情報に基づいて楽音を生成する楽音
生成手段と、該楽音生成手段に切換え設定されている演
奏パターンを他の演奏パターンに変更する演奏パターン
変更手段と、前記楽音生成手段に切換え設定されている
演奏パターンの演奏情報の楽音特性を変更する楽音特性
変更手段と、前記2系統の各系統に、それぞれ前記演奏
パターン変更手段または楽音特性変更手段のいずれか一
方を選択して割当てる選択割当て手段と、前記入力され
た演奏情報が前記2系統のうち一方の系統のものである
ときに、該系統に、前記選択割当て手段によって前記演
奏パターン変更手段が割り当てられた場合には、前記演
奏情報に基づいて、前記切換え設定されている演奏パタ
ーンを他のパターンに変更するように制御する一方、前
記選択割当て手段によって前記楽音特性変更手段が割り
当てられた場合には、前記演奏情報に基づいて、前記切
換え設定されている演奏パターンの演奏情報の楽音特性
を変更するように制御する第1の制御手段と、前記入力
された演奏情報が前記2系統のうち他方の系統のもので
あるときに、該系統に、前記選択割当て手段によって前
記楽音特性変更手段が割り当てられた場合には、前記演
奏情報に基づいて、前記切換え設定されている演奏パタ
ーンの演奏情報の楽音特性を変更するように制御する一
方、前記選択割当て手段によって前記演奏パターン変更
手段が割り当てられた場合には、前記演奏情報に基づい
て、前記切換え設定されている演奏パターンを他のパタ
ーンに変更するように制御する第2の制御手段とを有す
ることを特徴とする。
【0015】これにより、上記請求項1記載の発明の効
果をさらに向上させることができる。
【0016】ここで、入力された演奏情報が2系統より
多い系統、たとえば3系統に分離された場合には、この
演奏情報が、第1または2の制御手段の制御に用いられ
るものであるときには、第1または2の制御手段によっ
て、演奏パターンまたは楽音特性を変更し、それ以外の
ものであるときには、たとえば、請求項1の第1の制御
手段のように、この演奏情報本来の楽音を生成するよう
にすることもできる。
【0017】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
【0018】図1は、本発明の実施の一形態に係る自動
演奏装置の概略構成を示すブロック図である。
【0019】同図に示すように、本実施の形態の自動演
奏装置は、音高情報を入力するための鍵盤1と、各種情
報を入力するための複数のスイッチを備えたパネルスイ
ッチ2と、鍵盤1の各鍵の押鍵状態を検出する押鍵検出
回路3と、パネルスイッチ2の各スイッチの押下状態を
検出するスイッチ検出回路4と、装置全体の制御を司る
CPU5と、該CPU5が実行する制御プログラムやテ
ーブルデータ等を記憶するROM6と、演奏データ、各
種入力情報および演算結果等を一時的に記憶するRAM
7と、タイマ割り込み処理における割り込み時間や各種
時間を計時するタイマ8と、各種情報等を表示する、た
とえば大型液晶ディスプレイ(LCD)若しくはCRT
(Cathode Ray Tube)ディスプレイおよび発光ダイオー
ド(LED)等を備えた表示装置9と、記憶媒体である
フロッピディスク(FD)をドライブするフロッピディ
スクドライブ(FDD)10と、前記制御プログラムを
含む各種アプリケーションプログラムや各種データ等を
記憶するハードディスクをドライブするハードディスク
ドライブ(HDD)11と、前記制御プログラムを含む
各種アプリケーションプログラムや各種データ等を記憶
するコンパクトディスク−リード・オンリ・メモリ(C
D−ROM)をドライブするCD−ROMドライブ12
と、外部からのMIDI(Musical Instrument Digital
Interface)信号を入力したり、MIDI信号として外
部に出力したりするMIDIインターフェース(I/
F)13と、通信ネットワーク101を介して、たとえ
ばサーバコンピュータ102とデータの送受信を行う通
信インターフェース(I/F)14と、鍵盤1から入力
された演奏データや予め設定された演奏データ等を楽音
信号に変換する音源回路15と、該音源回路15からの
楽音信号に各種効果を付与するための効果回路16と、
該効果回路16からの楽音信号を音響に変換する、たと
えばスピーカ等のサウンドシステム17とにより構成さ
れている。
【0020】上記構成要素3〜16は、バス18を介し
て相互に接続され、CPU5にはタイマ8が接続され、
MIDII/F13には他のMIDI機器100が接続
され、通信I/F14には通信ネットワーク101が接
続され、音源回路15には効果回路16が接続され、効
果回路16にはサウンドシステム17が接続されてい
る。
【0021】HDD11のハードディスクには、前述の
ように、CPU5が実行する制御プログラムも記憶で
き、ROM6に制御プログラムが記憶されていない場合
には、このハードディスクに制御プログラムを記憶させ
ておき、それをRAM7に読み込むことにより、ROM
6に制御プログラムを記憶している場合と同様の動作を
CPU5にさせることができる。このようにすると、制
御プログラムの追加やバージョンアップ等が容易に行え
る。
【0022】CD−ROMドライブ12のCD−ROM
から読み出された制御プログラムや各種データは、HD
D11内のハードディスクにストアされる。これによ
り、制御プログラムの新規インストールやバージョンア
ップ等が容易に行える。なお、このCD−ROMドライ
ブ12以外にも、外部記憶装置として、光磁気ディスク
(MO)装置等、様々な形態のメディアを利用するため
の装置を設けるようにしてもよい。
【0023】通信I/F14は、上述のように、たとえ
ばLAN(Local Area Network)やインターネット、電
話回線等の通信ネットワーク101に接続されており、
該通信ネットワーク101を介して、サーバコンピュー
タ102に接続される。HDD11内のハードディスク
に上記各プログラムや各種パラメータが記憶されていな
い場合には、通信I/F14は、サーバコンピュータ1
02からプログラムやパラメータをダウンロードするた
めに用いられる。クライアントとなるコンピュータ(本
実施の形態では、自動演奏装置)は、通信I/F14お
よび通信ネットワーク101を介してサーバコンピュー
タ102へとプログラムやパラメータのダウンロードを
要求するコマンドを送信する。サーバコンピュータ10
2は、このコマンドを受け、要求されたプログラムやパ
ラメータを、通信ネットワーク101を介してコンピュ
ータへと配信し、コンピュータが通信I/F14を介し
て、これらプログラムやパラメータを受信してHDD1
1内のハードディスクに蓄積することにより、ダウンロ
ードが完了する。
【0024】この他、外部コンピュータ等との間で直接
データのやりとりを行うためのインターフェースを備え
てもよい。
【0025】図2は、本実施の形態の自動演奏装置のパ
ネル面に配設されたパネルスイッチ2を示す図であり、
本発明で必要なスイッチのみが図示されている。
【0026】同図において、パネルスイッチ2は、2個
のシーンスイッチ(SCENESW1,2)21,22と、シーン
スライダ(SCSLIDER)23と、8個のノブ(KNOB1〜8)
24_1〜8と、パラメータメニュースイッチ(PARAMET
ER MENU)25と、トーンモードスイッチ(MODE)26
と、フリーEG(Envelope Generator)スイッチ(FREE
EG)27と、ループシーケンサスイッチ(LOOP_SEQ)
28と、自動演奏スタート/ストップスイッチ(START/
STOP)29とにより構成されている。
【0027】シーンスイッチ21および22は、各スイ
ッチにそれぞれ割り当てられた音色を選択するためのも
のであり、いずれかのスイッチを押下することにより、
当該割り当てられた音色が選択される。本実施の形態で
は、ユーザが、たとえば鍵盤1の押鍵音の音色を1つ指
定したときに、2種類の異なった音色が自動的に設定さ
れるように構成され、シーンスイッチ21および22
は、このうちいずれかの音色を選択するために用いられ
る。なお、シーンスイッチ21および22が操作された
ときの音色選択制御の方法については、図10を用いて
後述する。また、シーンスイッチ21および22の各近
傍には、それぞれLED30および31が配設され、現
在有効なスイッチが分かるようになっている。
【0028】シーンスライダ23は、本実施の形態で
は、たとえばスライド操作子により構成され、シーンス
イッチ21および22にそれぞれ割り当てられた2音色
を、たとえば直線補間して新たな音色を生成するために
使用される。このシーンスライダ23が操作されたとき
の音色制御の方法については、図11を用いて後述す
る。
【0029】なお、補間操作子は、上記スライド操作子
に限らず、たとえば、ホイールやペダル、リボンコント
ローラ、鍵盤1の変位センサやタッチセンサ等、どのよ
うなものを使用してもよい。
【0030】各ノブ24_1〜8は、音色パラメータを
構成する各種パラメータ等を設定したり変更したりする
ものである。本実施の形態では、各ノブ24_1〜8
は、それぞれ可変抵抗により構成され、ノブ24_1〜
8を回転することによって抵抗値が変更され、当該割り
当てられたパラメータ値が可変されるように構成されて
いる。
【0031】なお、シーンスライダ23、ノブ24_1
〜8等に、可変抵抗器などのアナログ操作素子を用いる
場合には、そのアナログ抵抗値や出力電圧値をA/Dコ
ンバータでデジタル化して用いることは云うまでもな
い。A/Dコンバータは、図示しないが、前記スイッチ
検出回路4内に設けるようにしてもよいし、前記CPU
5がA/Dコンバータを内蔵しているときにはそれを用
いるようにしてもよい。
【0032】パラメータメニュースイッチ25は、ノブ
24_1〜8で設定制御すべきパラメータが8種類以上
ある場合に、各ノブ24_1〜8に割り当てられるパラ
メータの種類を切り換えるためのものである。このパラ
メータメニュースイッチ25を押下すると、ノブ24_
1〜8で設定可能なパラメータの種類が、たとえば表示
装置9上にメニュー形式で表示されるので、この中から
ユーザは任意にパラメータの種類を選択して、目的のパ
ラメータ値を設定または変更することができる。
【0033】トーンモードスイッチ26は、1押鍵に対
して1音色の楽音を生成して発音するシングル(SINGL
E)トーンモードと、1押鍵に対して2音色の楽音を生
成して発音するデュアル(DUAL)トーンモードと、鍵盤
1の鍵域を、たとえば低音域および高音域の2つの鍵域
に分割し、低音域側の押鍵に対する楽音と高音域側の押
鍵に対する楽音とを異なった音色で生成して発音するス
プリット(SPLIT)トーンモードとを切り換えるもので
ある。本実施の形態では、シングルトーンモードが選択
されたときには、シーンスライダ23により補間された
音色の楽音が生成され、デュアルトーンモードが選択さ
れたときには、この補間された音色および第2シーンス
イッチ22に割り当てられた音色の2種類の音色の楽音
が生成され、スプリットトーンモードが選択されたとき
には、低音域側での押鍵に対しては上記補間された音色
の楽音が生成される一方、高音域側での押鍵に対しては
第2シーンスイッチ22に割り当てられた音色の楽音が
生成される。なお、スプリットトーンモードにおいて
は、低音域と高音域との間に重複する鍵域を設けること
もでき、この重複鍵域での押鍵に対しては、上記デュア
ルトーンモードと同様に、補間音色および第2シーンス
イッチ22に割り当てられた音色の2種類の音色の楽音
が生成されて発音される。
【0034】フリーEGスイッチ27は、操作子(本実
施の形態では、ノブ24_1〜8のうち最大4個までの
ノブ)の操作状態(量)をリアルタイムで所定のステッ
プ数(本実施の形態では、たとえば200ステップ)分
記憶するとともに、自動演奏時にその記憶された操作状
態を再現(再生)するフリーEG機能を選択するもので
ある。前述のように、ノブ24_1〜8には、それぞれ
パラメータが割り当てられているので、フリーEG機能
とは、記憶されたノブ24_1〜8の操作状態に応じ
て、対応するパラメータを変更し楽音を生成する機能を
いう。
【0035】ループシーケンサスイッチ28は、設定さ
れたシーケンスデータ(キーイベントデータまたはキー
イベントデータ+デュレーションデータの列)を各種ル
ープタイプに応じた態様でループ読出しして楽音を生成
するループシーケンサ機能を選択するものである。
【0036】自動演奏スタート/ストップスイッチ29
は、文字通り自動演奏のスタートまたはストップを指示
するものである。
【0037】なお、前述したように、図2には、本発明
を説明するに当たって必要なスイッチ21〜29のみが
示されており、実際のパネル面には、この他に、図示し
ないが、たとえば音色選択/指定操作子や演奏操作子等
の各種スイッチが配設されている。
【0038】図3は、前記ROM6のメモリマップの一
例およびROM6に記憶された各種データのデータフォ
ーマットの一例を示す図である。
【0039】同図に示すように、ROM6には、CPU
5が実行する制御プログラム(CPUプログラム)と、
予め設定されたm個のトーンパラメータデータTONEPARp
1〜pmと、予め設定されたq個のループシーケンサ用デ
ータLPSEQDATAp1〜pqと、その他のデータとが格納され
ている。
【0040】各トーンパラメータデータTONEPARpは、該
各トーンパラメータで共有に使用される共有パラメータ
データCOMPARと、前記第1シーンスイッチ21に割り当
てられる音色の音色パラメータであるトーンパラメータ
データSCENE1と、前記第2シーンスイッチ22に割り当
てられる音色の音色パラメータであるトーンパラメータ
データSCENE2と、フリーEG用データFREE_EGとにより
構成されている。
【0041】共有パラメータデータCOMPARは、図7に示
すように、たとえば表示用に当該音色の音色名を示す音
色名データTONENAMEと、当該音色の音量値を示す音量デ
ータVOLUMEと、前記3種類のトーンモードのうちいずれ
のモードを選択するかを決定するトーンモード選択デー
タMODEと、ループシーケンサの複数の制御モードのうち
いずれのモードを選択するかを決定する制御モード選択
データCONT_MODEと、ループシーケンサ機能により楽音
を生成するとき(以下、「ループシーケンサプレイモー
ド時」という)に前記ループシーケンサ用データLPSEQD
ATAp1〜pqのうちいずれのデータを使用するかを指定す
るループシーケンサ用データ指定データLOOP_SEQ_INDEX
と、ループシーケンサプレイモード時の音色を、たとえ
ば第1シーンスイッチ21に割り当てられた音色、第2
シーンスイッチ22に割り当てられた音色、この2種類
の音色をシーンスライダ23の操作状態に応じて補間し
た音色または前記デュアルトーンモードで設定される2
種類の音色(すなわち、このときには2種類の音色によ
り重奏される)のうちいずれの音色を使用するかを決定
する音色指定データLPSEQSCENE_Noと、複数のループ読
出し態様のうちいずれの態様を使用するかを指定するル
ープ読出し態様データLOOP_TYPEと、ループシーケンサ
プレイモード時に固有のテンポ値を指定するテンポデー
タTEMPOと、ループシーケンサプレイモード時にホール
ドされるイベントデータを、そのイベント番号(ステッ
プ番号)で指定するステップホールドデータSTEP_HOLD
と、1ステップの音長(これがループ読出しの基本単
位;ベースユニットとなる)を指定するベースユニット
データBASE_UNITと、その他、本発明を説明する上では
必要ないものの、楽音を生成するために必要なデータと
により構成されている。
【0042】前記ループシーケンサの制御モードは、本
実施の形態では、ノーマルモード(normal)、ノートシ
フトモード(note_shift)、パターンセレクトモード
(patern_select)およびノートシフト&パターンセレ
クト共用モード(note_shift&patern_select)の4種類
により構成されている。ノーマルモードとは、鍵盤1の
押鍵に対して通常の楽音、すなわちその押鍵に対応する
音高で、かつ鍵盤1に割り当てられた音色の楽音を発生
するモードをいう。ノートシフトモードとは、鍵盤1
を、たとえば2つの鍵域に分割し、一方の鍵域における
押鍵では、ノーマルモードと同様に通常の楽音を発生さ
せ、他方の鍵域(以下、この鍵域を「ノートシフト鍵
域」という)における押鍵では、所定の基準鍵に対する
該押鍵鍵の音程数に応じて楽音の音高をシフトさせるモ
ードをいう。パターンセレクトモードとは、上記ノート
シフトモードに対して、他方の鍵域(以下、この鍵域を
「パターンセレクト鍵域」という)における押鍵で、ル
ープシーケンサの読出しパターンを変更させる点が異な
るモードをいう。ノートシフト&パターンセレクト共用
モードとは、同様に、鍵盤1を2つの鍵域に分割した場
合に、一方の鍵域をノートシフト鍵域として機能させ、
他方の鍵域をパターンセレクト鍵域として機能させるモ
ードをいう。
【0043】前記ループ読出し態様は、本実施の形態で
は、フォワード(forward)、バックワード(backwar
d)、オルタネート(alternate)、ハーフ(half)、ハ
ーフオルタネート(half alternate)、ループ読出しオ
フの6種類の態様により構成されている。以下、各読出
し態様を、図24を参照して説明する。
【0044】フォワードとは、図24(a)に示すよう
に、書き込まれた順序で順にデータを読出していき、最
後のデータを読み終えたときには、最初のデータに戻っ
て読出しを繰り返す読出し態様をいう。
【0045】バックワードとは、図24(b)に示すよ
うに、書き込まれた順序と逆の順序でデータを読出して
いき、最後のデータ、すなわち最初に書き込まれたデー
タを読み終えたときには、最後に書き込まれたデータに
戻って読出しを繰り返す読出し態様をいう。
【0046】オルタネートとは、図24(c)に示すよ
うに、最初フォワードの読出し態様でデータを読出し、
最後のデータを読み終えたときには、バックワードの読
出し態様でデータを読出し、最後のデータを読み終えた
ときには、再度フォワードの読出し態様でデータを読み
出す読出し態様をいう。
【0047】ハーフとは、図24(d)に示すように、
最初フォワードの読出し態様でデータを読出し、最後の
データを読み終えたときには、書き込まれたデータの真
ん中(本実施の形態では、101ステップ目)のデータ
から読出しを継続する読出し態様をいう。
【0048】ハーフオルタネートとは、図24(e)に
示すように、最初フォワードの読出し態様でデータを読
出し、最後のデータを読み終えたときには、バックワー
ドの読出し態様で、書き込まれたデータの真ん中のデー
タまで読出し、その位置からフォワードの読出し態様で
読み出す読出し態様をいう。
【0049】ループ読出しオフとは、ループ読出しは行
わず、1度だけデータの読出しをフォワードで行う読出
し態様をいう。なお、このループ読出しオフのとき、フ
ォワードの読出し態様に固定する必要はなく、バックワ
ードの読出し態様に固定してもよいし、フォワードおよ
びバックワードのいずれかの読出し態様を選択できるよ
うにしてもよい。
【0050】そして、各読出し態様に、それぞれ1〜6
の整数値を付与し、この整数値をループ読出し態様デー
タLOOP_TYPEとして記憶する。すなわち、LOOP_TYPE=1
のとき、フォワード、LOOP_TYPE=2のとき、バックワ
ード、LOOP_TYPE=3のとき、オルタネート、LOOP_TYPE
=4のとき、ハーフ、LOOP_TYPE=5のとき、ハーフオ
ルタネート、LOOP_TYPE=6のとき、ループ読出しオフ
である。
【0051】前記トーンパラメータデータSCENEiは、図
8(a)に示すように、電圧制御発振器(Voltage Cont
rolled Oscillator;VCO)用パラメータデータVCOPA
Rと、電圧制御フィルタ(Voltage Controlled Filter;
VCF)用パラメータデータVCFPARと、電圧制御増幅器
(Voltage Controlled Amplifier;VCA)用パラメー
タデータVCAPARと、効果パラメータデータEFCTPARとに
より構成されている。
【0052】図8(b)は、電圧制御発振器用パラメー
タデータVCOPAR、電圧制御フィルタ用パラメータデータ
VCAPAR、電圧制御増幅器用パラメータデータVCAPARおよ
び効果パラメータデータEFCTPARを構成する各種パラメ
ータとその機能を説明する図である。
【0053】なお、各パラメータデータVCOPAR,VCFPA
R,VCAPAR,EFCTPARをそれぞれ構成する各種パラメータ
は、本発明を説明する上で必須のものでなく、また、当
業者にとって周知のものばかりであるため、図示のみ
で、その説明を省略する。
【0054】図3に戻り、フリーEG用データFREE_EG
は、フリーEG機能を実行するために必要なパラメータ
群であるフリーEG用パラメータデータFREE_EG_PAR
と、4個の異なったノブ24の操作状態を、それぞれリ
アルタイムに記憶する4トラック分の記憶領域(以下、
「トラック」という)TRACK1〜4とにより構成されてい
る。
【0055】各トラックTRACK1〜4は、それぞれ、操作
されたノブ24の操作状態(以下、この操作状態に応じ
て検出されたデータを「フリーEGデータ」という)
を、設定されたタイミングで所定ステップ(本実施の形
態では、前述したように、たとえば200ステップ)分
記憶するためのフリーEGデータ格納領域FREE_EG_DATA
と、該フリーEGデータ格納領域FREE_EG_DATAに格納さ
れた操作量に対応するノブ24と該ノブ24に割り当て
られたパラメータとの対応関係を指示する割当てデータ
を格納するための割り当てデータ格納領域DESIGNATION
とにより構成されている。
【0056】なお、トラック数は上記4トラックに限る
必要はないことは云うまでもない。
【0057】フリーEG用パラメータデータFREE_EG_PA
Rは、フリーEGデータ格納領域FREE_EG_DATAに書き込
まれたフリーEGデータを読出す基本単位時間を指定す
るベースユニットデータBASE_UNITと、フリーEGデー
タを読出す全体時間を指定する絶対時間データLENGTH
と、ベースユニットデータBASE_UNITの値および設定さ
れているテンポ値に応じてフリーEGデータを読出すテ
ンポ同期モード(TEMPO_SYNC MODE)と絶対時間データL
ENGTHに応じてフリーEGデータを読出す絶対時間モー
ド(ABSOLUTE MODE)のいずれのモードを選択するかを
指定するモード指定データTEMPO_SYNC/ABSOLUTEと、前
記図7で説明したループ読出し態様データと同様のデー
タLOOP_TYPEと、本実施の形態では、フリーEGデータ
を読み出すときに、その読出しタイミングを鍵盤1の押
鍵音の音高に応じて(たとえば比例して)変更できるよ
うに構成されているが、この変更量の割合を示すキース
ケーリングデータRATE_KSとにより構成されている。
【0058】なお、前記テンポ同期モードにおいて、テ
ンポ値をフリーEGデータ読み出し時に固有のテンポ値
に設定したい場合には、フリーEG用テンポデータFREE
_EG_TEMPOを記憶するようにする。
【0059】各ループシーケンサ用データLPSEQDATAp
は、前記図7で説明した制御モード選択データCONT_MOD
E〜ベースユニットデータBASE_UNITのうちループシーケ
ンサ用データ指定データLOOP_SEQ_INDEXのみを除外した
データと、ループシーケンサプレイモード時に再生され
るイベントデータLPSEQ_EVENT_DATAと、このイベントデ
ータLPSEQ_EVENT_DATAの個数(ステップ数)を示すステ
ップ数データLSEQ_STEP_Noとにより構成されている。
【0060】図4は、前記RAM7のメモリマップの一
例およびRAM7に設けられたトーンバッファのデータ
フォーマットの一例を示す図である。
【0061】同図に示すように、RAM7には、CPU
5が各種演算処理等で使用するワーキングエリアである
CPUワーキングエリアと、前記図3で説明したトーン
パラメータデータTONEPARpに対してユーザが設定した点
のみが異なるトーンパラメータデータをn個格納する領
域TONEPARu1〜unと、前記図3で説明したループシーケ
ンサ用データLPSEQDATApに対してユーザが設定した点の
みが異なるループシーケンサ用データをl個格納する領
域LPSEQDATAu1〜ulと、図10および11を用いて後述
する音色指定・補間・編集処理等により、指定されたト
ーンパラメータデータTONEPARやループシーケンサ用デ
ータLPSEQDATA等を格納して補間・編集処理を行うため
のバッファであるk個のトーンバッファTONEBUF1〜kと
が設けられている。
【0062】各トーンバッファTONEBUFは、トーンパラ
メータデータTONEPAR(このデータTONEPARは、前述した
ように、共有パラメータデータCOMPARとトーンパラメー
タデータSCENE1,2とにより構成されている)を格納する
トーンパラメータバッファTONEPARABUF(COMPARBUF+SC
ENEBUF1+SCENEBUF2)と、前記シーンスライダ23の操
作に応じて補間されたトーンパラメータデータSCENE1お
よび2間の補間値SCENEintpを格納する補間値バッファS
CENEBUFintpと、前記複数のフリーEG用データFREE_EG
のうちいずれかのデータを選択して格納するフリーEG
バッファFREE_EGBUFと、前記複数のループシーケンサ用
データLPSEQDATAのうちいずれかのデータを選択して格
納するバッファLOOP_SEQBUFとにより構成されている。
【0063】図5は、前記図1の音源回路15内に設け
られたパラメータレジスタの構成の一例を示す図であ
り、同図に示すように、パラメータレジスタは、j個の
トーンパラメータデータをそれぞれ格納するj個のレジ
スタTGPARREGch1〜jにより構成されている。
【0064】各レジスタTGPARREGchは、前記共有パラメ
ータデータCOMPARのうち音源回路15が必要とするデー
タを格納する領域COMPARchと、前記トーンパラメータデ
ータSCENE1,2またはSCENEintpのうち音源回路15が必
要とするデータを格納する領域SCENEchとにより構成さ
れている。
【0065】ユーザが自動演奏曲を指定すると、その曲
に必要であり、かつ音源回路15に必要なトーンパラメ
ータデータがトーンバッファTONEBUFから選択されて、
レジスタTGPARREGch1〜jのうちいずれかのレジスタに格
納される。
【0066】図6は、前記フロッピディスクやCD−R
OM、サーバコンピュータの各種記憶媒体に記憶された
トーンパラメータデータTONEPARdおよびループシーケ
ンサ用データLPSEQDATAdの一例を示す図である。
【0067】このようして記憶されたトーンパラメータ
データTONEPARdおよびループシーケンサ用データLPSEQD
ATAdを読出して、RAM7の所定領域に記憶し、前記ユ
ーザ設定データと同様にして使用することもできる。
【0068】以上のように構成された自動演奏装置が実
行する制御処理を、以下、図9〜24を参照して説明す
る。
【0069】図9は、本実施の形態の自動演奏装置、特
にCPU5が実行するメインルーチンの手順を示すフロ
ーチャートである。
【0070】同図において、まず、デフォルト音色であ
るトーンパラメータデータTONEPARp1を前記ROM6か
ら読出して前記トーンパラメータバッファTONEPARBUF1
に転送し、また、トーンパラメータデータSCENE1を補間
値バッファSCENEBUFintp1に転送することによって、第
1シーンスイッチ21に割り当てられた音色をデフォル
トで選択し、さらに、本制御処理で使用する各種フラグ
のリセットやRAM7の初期化等のシステム初期化処理
を実行する(ステップS1)。
【0071】このように、トーンパラメータデータSCEN
E1を補間値バッファSCENEBUFintp1に転送することによ
って、第1シーンスイッチ21に割り当てられた音色が
デフォルトで選択されるのは、本実施の形態では、図2
1〜23を用いて後述する発音処理に示すように、前記
3種類のトーンモードのいずれのモードにおいても、前
記音源回路15のレジスタTGPARREGch1〜jには、基本的
に補間値バッファSCENEBUFintpの内容が転送されるから
である。
【0072】なお、本実施の形態では、トーンバッファ
TONEBUF1は、鍵盤1に指定された音色に対応する音色パ
ラメータを格納するバッファとし、ユーザは、鍵盤1に
指定される音色のみ、すなわちトーンバッファTONEBUF1
に格納する音色パラメータのみを自由に変更できるよう
に構成されている。しかし、これは説明上の都合であっ
て、実際には、自動演奏データが複数のチャンネルで構
成されており、鍵盤1以外に割り当てられたチャンネル
のデータがある場合や、他のMIDI機器100からの
MIDIイベントデータがある場合に、そのデータに応
じて発音される楽音の音色を任意に設定することができ
るように構成されていることは云うまでもない。
【0073】次に、各種イベントを検出するイベント検
出処理を実行する(ステップS2)。ここで、検出され
るイベントとしては、たとえば、鍵盤1を押鍵したとき
に発生する押鍵イベント、パネルスイッチ2を押下した
ときに発生するスイッチイベント、自動演奏データを読
出したときに発生するキーオン/オフイベント等のイベ
ント、他のMIDI機器100から出力されたMIDI
イベント等がある。
【0074】そして、音色指定・補間・編集処理サブル
ーチン(図10および11を用いて後述する)を実行し
(ステップS3)、前記ループシーケンサスイッチ28
を押下したときに実行されるループシーケンサ(LOOP_S
EQUENCER)処理サブルーチン(図12〜14を用いて後
述する)を実行し(ステップS4)、前記フリーEGス
イッチ27を押下したときに実行されるフリーEG(FR
EE_EG)処理サブルーチン(図15〜19を用いて後述
する)を実行し(ステップS5)、パラメータがリアル
タイムで変更されたときにその変更後のパラメータで楽
音を生成するために、前記音源回路15のレジスタTGPA
RREGchに格納するパラメータを常に新しいデータで更新
するパラメータ時変制御処理サブルーチン(図20を用
いて後述する)を実行し(ステップS6)、キーオンイ
ベントに対応する楽音を発生させる発音処理サブルーチ
ン(図21〜23を用いて後述する)を実行した(ステ
ップS7)後に、上記ステップS2に戻って、上述の処
理を繰り返す。
【0075】図10および11は、上記ステップS3の
音色指定・補間・編集処理サブルーチンの詳細な手順を
示すフローチャートである。
【0076】図10において、まず、音色選択イベント
が発生したか否かを判別する(ステップS11)。ここ
で、音色の選択は、前記図示しない音色選択/指示操作
子によって行われる。
【0077】ステップS11で、音色選択イベントが発
生したときには、その選択された音色qに対応する音色
パラメータデータをトーンバッファTONEBUF1に転送して
展開する(ステップS12)。具体的には、トーンパラ
メータデータTONEPARqをトーンパラメータバッファTONE
PARBUF1に転送するとともに、トーンパラメータデータS
CENE1qを補間値バッファSCENEBUFintp1に転送する。す
なわち、補間値SCENEintpとしては、最初、第1シーン
スイッチ21に割り当てられたトーンパラメータデータ
SCENE1qが設定される。ここで、qは、ユーザが選択可
能なすべての音色を示し、ユーザが選択した音色のパラ
メータがROM6に記憶されている場合には、qはp1〜
pmのいずれかを示し、この音色のパラメータがRAM7
に記憶されている場合には、qはu1〜unのいずれかを示
し、この音色パラメータがディスク等の記憶媒体等に記
憶されている場合には、qはd1〜dkのいずれかを示す。
【0078】続くステップS13では、第1シーンスイ
ッチ21に割り当てられた音色が補間値SCENEintpとし
ても設定されていることを“1”で示すセットフラグse
tflg_1をセット(“1”)するとともに、第2シーンス
イッチ22に割り当てられた音色が補間値SCENEintpと
しても設定されていることを“1”で示すセットフラグ
setflg_2をリセット(“0”)する。
【0079】一方、ステップS11で、音色選択イベン
トが発生しないときには、ステップS12および13を
スキップしてステップS14に進む。
【0080】ステップS14では、フリーEGデータの
録音中、すなわちフリーEGデータを検出しフリーEG
データ格納領域FREE_EG_DATAに書き込み中であることを
“1”で示すフリーEGデータレコーディング中フラグ
FEG_rec_flgが“0”か否かを判別し、FEG_rec_flg=0
のとき、すなわちフリーEGデータの録音中でないとき
には、前記8個のノブ24_1〜8のうちのいずれのノ
ブかを示すインデックスi(このインデックスiは、た
とえば、前記CPUワークエリアの所定の位置に確保さ
れたソフトカウンタで構成される)を“1”に設定する
(ステップS15)。
【0081】続くステップS16では、インデックスi
で示すノブ24_iの操作イベントが発生したか否かを
判別し、操作イベントが発生したときには、トーンバッ
ファTONEBUF1上のノブ24_iに割り当てられたパラメ
ータデータを当該操作量に応じて修正する(ステップS
17)一方、操作イベントが発生しないときには、ステ
ップS17をスキップしてステップS18に進む。
【0082】ステップS18では、すべてのノブ24_
1〜8について、ステップS16およびS17の処理を
完了したか否かを、インデックスiが“8”であるか否
かにより判別し、i≠8、すなわち未処理のノブ24_
iが残っているときには、インデックスiを“1”だけ
インクリメントした(ステップS19)後に、前記ステ
ップS16に戻って前述の処理を繰り返す一方、i=
8、すなわちすべてのノブ24_iに対して処理を完了
したときにはステップS20に進む。
【0083】ステップS20では、インデックスiを
“1”に設定する。ここで、インデックスiは、前記ス
テップS15〜19で使用したインデックスと同一名称
が付与されているが、その作用は異なるものである。本
ステップのインデックスiは、1または2のいずれかの
整数値を採り、第1または2シーンスイッチ21または
22のいずれのスイッチに対応するかを示すものであ
る。なお、インデックスiは、以下に説明する各種制御
処理中で頻繁に出現するが、いずれも、名称は同一であ
ってもその作用は異なっている。
【0084】続くステップS21では、第iシーンスイ
ッチSCENSW2iの押圧イベントが発生したか否かを判別
し、押圧イベントが発生したときには、トーンバッファ
TONEBUF1の第iシーンバッファSCENEBUFiに格納されて
いるトーンパラメータデータを補間値バッファSCENEBUF
intpに転送し(ステップS22)、インデックスiで示
されるセットフラグsetflg_iをセットする一方、他方の
セットフラグsetflg_j(j≠i)をリセットする(ス
テップS23)。
【0085】このように、第iシーンスイッチSCENSW2i
を押下すると、それに対応する第iシーンバッファSCEN
EBUFiの内容が補間値バッファSCENEBUFintpに転送され
て、第iシーンスイッチSCENSW2iに割り当てられた音色
が選択される。すなわち、第iシーンスイッチSCENSW2i
が押下されると、その押下前にシーンスライダ23の操
作に応じて補間された音色が選択されていたとしても、
その音色は無効になり、第iシーンスイッチSCENSW2iに
割り当てられた音色が有効になる。
【0086】一方、ステップS21で、押鍵イベントが
発生しないときには、ステップS22およびS23をス
キップしてステップS24に進む。
【0087】ステップS24では、インデックスiが
“2”であるか否かを判別し、i≠2、すなわちステッ
プS21〜S23の処理を行うべきシーンスイッチが残
っているときにはステップS25に進み、インデックス
iを“1”だけインクリメントした後に前記ステップS
21に戻る一方、i=2、すなわちすべてのシーンスイ
ッチに対してステップS21〜S23の処理を完了した
ときには図11のステップS26に進む。
【0088】ステップS26では、セットフラグsetflg
_1が“1”であるか否かを判別し、setflg_1=1のとき
には、前記シーンスライダ23の位置を検出し、0〜1
27のいずれかの整数値に変換して記憶するために、R
AM7のCPUワーキングエリアに設けられた領域SCSL
DOPの値(以下、この領域に格納された値を「シーンス
ライダ操作位置SCSLDOP」という)が“0”であるか否
かを判別する(ステップS27)。
【0089】ステップS27で、SCSLDOP=0、すなわ
ちシーンスライダ23が図2において最下位の位置まで
下げられているときには、セットフラグsetflg_1をリセ
ットする(ステップS28)一方、SCSLDOP≠0のとき
には、ステップS28をスキップしてステップS29に
進む。
【0090】一方、ステップS26で、setflg_1=0の
ときには、ステップS27およびS28をスキップして
ステップS29に進む。
【0091】ステップS29では、セットフラグsetflg
_2が“1”であるか否かを判別し、setflg_1=1のとき
には、シーンスライダ操作位置SCSLDOPが“127”で
あるか否かを判別する(ステップS30)。
【0092】ステップS30で、SCSLDOP=127、す
なわちシーンスライダ23が図2において最上位の位置
まで上げられているときには、セットフラグsetflg_2を
リセットする(ステップS31)一方、SCSLDOP≠12
7のときには、ステップS31をスキップしてステップ
S32に進む。
【0093】一方、ステップS29で、setflg_2=0の
ときには、ステップS30およびS31をスキップして
ステップS32に進む。
【0094】ステップS32では、シーンスライダ23
の操作イベントが発生したか否かを判別し、その操作イ
ベントが発生したときには、setflg_1,2がともに“0”
であるか否かを判別する(ステップS33)。
【0095】ステップS33で、setflg_1=0&setflg
_2=0、すなわち第1シーンスイッチ21が有効な状態
で、シーンスライダ23が最下位の位置まで下げられた
後の操作イベントのとき、または第2シーンスイッチ2
2が有効な状態で、シーンスライダ23が最上位の位置
まで上げられた後の操作イベントのときには、シーンス
ライダ操作位置SCSLDOPに応じて、まず、次式(1)に
より、第1シーンバッファSCENEBUF1および第2シーン
バッファSCENEBUF2にそれぞれ格納されている数値型パ
ラメータデータの補間演算を、該各パラメータデータ毎
に全数値型パラメータデータに亘って実行し(ステップ
S34およびS35)、次いで、次式(2)により、非
数値型パラメータデータの設定を実行した(ステップS
36およびS37)後に、本音色指定・補間・編集処理
を終了する。
【0096】 nd(SCENEBUFintp) ← f[SCSLDOP,nd(SCENEBUF1),nd(SCENEBUF2)] ‥‥(1) ただし、“nd”は、数値型データであることを示し、
“f”は、数値型データnd(SCENEBUFi)の補間演算ア
ルゴリズムに応じて決定される関数を示している。前述
したように、本実施の形態では、補間演算アルゴリズム
として直線補間を用いているため、上式(1)の右辺
は、具体的には、次式(1)′のように書き表すことが
できる。
【0097】 f[SCSLDOP,nd(SCENEBUF1),nd(SCENEBUF2)] = [(SCSLDOPmax-SCSLDOP)×nd(SC ENEBUF1)+SCSLDOP×nd(SCENEBUF2)]/SCSLDOPmax ‥‥(1)′ なお、補間演算アルゴリズムは直線補間に限らず、指
数、対数、その他各種の曲線により補間を行うようにし
てもよい。このとき、パラメータ毎に補間演算アルゴリ
ズムを指定できるようにしてよい。また、パラメータに
よって補間する/しないを選択設定できるようにしても
よい。
【0098】 sd(SCENEBUFintp) ← f[SCSLDOP,sd(SCENEBUF1),sd(SCENEBUF2)] ‥‥(2) ただし、“sd”は、非数値型データであることを示し、
“f”は、選択型データsd(SCENEBUFi)の補間アルゴ
リズムに応じて決定される関数を示している。
【0099】補間されるデータが選択型データである場
合には、補間アルゴリズムとしては、上記各種曲線補間
を単純に採用することはできないため、上式(2)は、
たとえば次式(2)′のように書き表すことができる。
【0100】
【数1】 なお、選択型データsd(SCENEBUFi)が3通り以上の設
定範囲を有する場合には、この設定範囲に応じて適宜閾
値を設定し、シーンスライダ操作位置SCSLDOPに応じて
順次切り換えていくようにすればよい。また、演奏中ま
たは発音中に切り換えるとノイズが発生するような障害
を起こすようなパラメータは補間対象から除外し、所定
の設定値に固定するようにしてもよい。さらに、パラメ
ータ毎に取り扱い方法を変更するようにしてもよい。
【0101】また、セットフラグsetflg_iに応じてまた
は同期して、前記図2のLED30および31を点灯制
御するようにしてもよい。たとえば、第iシーンスイッ
チSCENSW2iに割り当てられた音色が選択されているとき
には、LED30および31のうち対応するLEDのみ
点灯し、シーンスライダ23により補間された音色が選
択されているときには、両LED30および31は消
灯、または、ともに点灯、またはともに点滅する。補間
音色が選択されているときには、補間結果がシーンスイ
ッチ21,22にそれぞれ割り当てられた音色のいずれ
に近いかに応じて、対応するLED30,31を点灯ま
たは点滅にしてもよい。さらに、シーンスライダ23が
操作端に達したときには、その端に対応するLED3
0,31を点灯するようにしてもよい。
【0102】なお、本実施の形態では、シーンスライダ
23として、スライド操作子を採用したが、これに限ら
ず、前述のようにどのような操作子を用いてもよい。さ
らに、操作子に限らず、楽音合成装置で多用されるエン
ベロープジェネレータで時間変化する補間信号を生成し
て利用したり、操作子の操作量を記録したものを読出し
て利用したりしてもよい。
【0103】図12および13は、前記図9のステップ
S4のループシーケンサ処理サブルーチンの詳細な手順
を示すフローチャートである。
【0104】図12において、まず、ループシーケンサ
の動作モードがプレイモード(L-SEQ_PLAY MODE)であ
るか否かを判別する(ステップS41)。
【0105】ここで、動作モードには、このプレイモー
ドと、プログラムモード(L-SEQ_PROGRAM MODE)の2種
類のモードがあり、プレイモードは、前記トーンバッフ
ァTONEBUF1のループシーケンサバッファLOOP_SEQBUFに
格納されたループシーケンサ用データLPSEQDATAに基づ
いて楽音を生成する処理を行うモードであり、プログラ
ムモードは、このループシーケンサ用データLPSEQDATA
を作成するモードである。
【0106】前記ステップS41で、動作モードがプレ
イモードでないときには、ループシーケンサ用データLP
SEQDATAを選択してループシーケンサバッファLOOP_SEQB
UFに転送する処理であるループシーケンサ用データ(LP
SEQDATA)選択処理を実行する(ステップS42)一
方、動作モードがプレイモードでないときには、ステッ
プS42をスキップしてステップS43に進む。
【0107】ここで、ループシーケンサ用データ選択処
理とは、具体的には、トーンバッファTONEBUF1の共有デ
ータバッファCOMPARBUFに格納されたループシーケンサ
用データ指定データLOOP_SEQ_INDEXが示すループシーケ
ンサ用データLPSEQDATAをループシーケンサバッファLOO
P_SEQBUFに転送する処理をいう。なお、これに限らず、
ループシーケンサ用データLPSEQDATAを直接選択できる
ようにしてもよい。
【0108】ステップS43では、動作モードがプログ
ラムモードであるか否かを判別し、プログラムモードの
ときには、ループシーケンサ用データLPSEQDATAを作成
したり編集したりするループシーケンサ用データ(LPSE
QDATA)作成編集処理を行う(ステップS44)。ここ
で、ループシーケンサ用データ作成編集処理としては、
具体的には、たとえばノブ24_iを用いて前記イベン
トデータLPSEQ_EVENT_DATAの各データ(音高、タッチ、
音長等)を1つずつ作成し、またはこのようにして作成
されたデータを変更したりする処理や、その他、前記テ
ンポ値データTEMPOや制御モード選択データCONT_MODE等
のループシーケンサに関連する基本データを設定したり
変更したりする処理がある。
【0109】続くステップS45では、ループシーケン
サのスタートイベントが発生したか否かを判別する。こ
のスタートイベントは、押鍵、ペダル(図示せず)等の
補助操作子の操作、パネルスイッチ2中にループシーケ
ンサのスタート/ストップスイッチ(図示せず)を設
け、この押圧イベントの検出、外部からのスタート信号
の検出等によって、発生するようにすればよい。
【0110】ステップS45で、ループシーケンサのス
タートイベントが発生したときには、動作モードをプレ
イモードに移行させた(ステップS46)後に、本ルー
プシーケンサ処理を終了する一方、ループシーケンサの
スタートイベントが発生しないときには、何もせずに本
ループシーケンサ処理を終了する。
【0111】一方、ステップS43で、動作モードがプ
ログラムモードでないときには、プレイモードであるか
否かを判別し(ステップS47)、プレイモードでない
ときには、直ちに本ループシーケンサ処理を終了する一
方、プレイモードのときには、たとえば本ループシーケ
ンサ処理の停止等の演奏管理処理を行う(ステップS4
8)。
【0112】続く図13のステップS49では、演奏を
終了すべきか否かを判別し、演奏を終了すべきときに
は、所定の演奏終了処理を行う(ステップS50)一
方、演奏を終了すべきでないとき、すなわち演奏を継続
するときにはステップS51に進む。
【0113】ステップS51では、制御モードCONT_MOD
E、すなわち前記ループシーケンサバッファLOOP_SEQBUF
の制御モード選択データCONT_MODEにより示されるモー
ドがノーマル(normal)モードか否かを判別し、CONT_M
ODE=normalのときには、ループシーケンサバッファLOO
P_SEQBUFに格納されているデータに基づいて演奏イベン
トを発生するループシーケンス(LOOP_SEQ)演奏処理サ
ブルーチン(図14を用いて後述する)を実行した(ス
テップS52)後に、本ループシーケンサ処理を終了す
る。
【0114】一方、ステップS51で、CONT_MODE≠nor
malのときには、前記ノートシフト鍵域におけるキーオ
ンイベントが発生したか否かを判別し(ステップS5
3)、ノートシフト鍵域におけるキーオンイベントが発
生したときには、このキーオンイベントに対応するキー
コード(keycode)に応じた値(本実施の形態では、前
述したように、該キーコードと所定の基準鍵との音程
数)をノートシフト値shift_value1として記憶する(ス
テップS54)。
【0115】一方、ステップS53で、ノートシフト鍵
域におけるキーオンイベントが発生しないときには、前
記パターンセレクト鍵域におけるキーオンイベントが発
生したか否かを判別し(ステップS55)、パターンセ
レクト鍵域におけるキーオンイベントが発生したときに
は、前記ステップS54と同様に、このキーオンイベン
トに対応するキーコード(keycode)に応じた値をノー
トシフト値shift_value2として記憶する(ステップS5
6)一方、パターンセレクト鍵域におけるキーオンイベ
ントが発生しないときには、何もせずにステップS57
に進む。
【0116】ステップS57では、制御モードCONT_MOD
Eがノートシフトモードであるか否かを判別し、ノート
シフトモードのときには、指定されたループシーケンサ
用データLPSEQDATA、すなわちループシーケンサバッフ
ァLOOP_SEQBUFに記憶されたデータに基づいて、かつ音
高を前記ノートシフト値shift_value1に応じて一律変更
したループシーケンス演奏イベントを発生させる(ステ
ップS58)。
【0117】一方、ステップS57で、制御モードCONT
_MODEがノートシフトモードでないときには、パターン
セレクトモードであるか否かを判別し(ステップS5
9)、パターンセレクトモードのときには、前記ノート
シフト値shift_value2に応じてパターン変更してループ
シーケンス演奏イベントを発生させる(ステップS6
0)一方、制御モードCONT_MODEがパターンセレクトモ
ードでないときには、ノートシフト&パターンセレクト
共用モードであるか否かを判別する(ステップS6
1)。
【0118】ステップS61で、制御モードCONT_MODE
がノートシフト&パターンセレクト共用モードのときに
は、ノートシフト値shift_value1に応じて音高を一律変
更するとともに、ノートシフト値shift_value2に応じて
パターンを変更してループシーケンス演奏イベントを発
生させる(ステップS62)一方、制御モードCONT_MOD
Eがノートシフト&パターンセレクト共用モードでない
ときには、何もせずに本ループシーケンサ処理を終了す
る。
【0119】図14は、前記ステップS52のループシ
ーケンス演奏処理サブルーチンの詳細な手順を示すフロ
ーチャートである。本ループシーケンス演奏処理では、
ループ読出し態様LOOP_TYPEがフォーワードのとき、す
なわち前記ループシーケンサバッファLOOP_SEQBUFのル
ープ読出し態様データLOOP_TYPEがフォーワードを示す
データのときの制御処理のみを説明し、他の読出し態様
の制御処理を省略しているが、これは、他の読出し態様
の制御処理は、本処理を基本にして少しの変更で簡単に
実現することができるからである。したがって、実際に
は、前記6種類のループ読出し態様LOOP_TYPEに応じ
て、それぞれ固有のループシーケンス演奏処理を行うよ
うに構成されている。
【0120】同図において、まず、イベントカウンタLP
SEQ_event_counterの値に応じて、ループシーケンサバ
ッファLOOP_SEQBUFに格納されたシーケンスデータLPSEQ
_DATA(LPSEQ_event_counter)を読出す(ステップS7
1)。イベントカウンタLPSEQ_event_counterは、ルー
プシーケンサバッファLOOP_SEQBUFに格納されたシーケ
ンスデータLPSEQ_DATAのうちいずれか1つのシーケンス
データLPSEQ_DATA(LPSEQ_event_counter)を指示する
ソフトカウンタである。ここで、ソフトカウンタとは、
前記CPUワーキングエリアに確保された領域を用いて
計数を行うカウンタをいい、以下、ソフトカウンタとい
うときには、この種のカウンタを示している。
【0121】次に、読み出されたシーケンスデータLPSE
Q_DATA(LPSEQ_event_counter)がイベントデータであ
るか否かを判別し(ステップS72)、イベントデータ
ではなく、デュレーションデータのときには、そのデュ
レーション値を、デュレーションタイマDURATION_timer
に設定する(ステップS73)一方、イベントデータの
ときには、ステップS73をスキップしてステップS7
4に進む。ここで、デュレーションタイマDURATION_tim
erとは、イベントデータ間の時間間隔を示すデュレーシ
ョンデータ値を、たとえば所定の時間毎にダウンカウン
トして、イベントデータの発生タイミングを生成するソ
フトタイマである。ここで、ソフトタイマとは、上記ソ
フトカウンタと同様に、CPUワーキングエリアに確保
された領域を用いて計時を行うタイマをいい、以下、ソ
フトタイマというときには、この種のタイマを示してい
る。
【0122】なお、シーケンスデータLPSEQ_DATAとし
て、イベントデータのみが格納される場合には、上記ス
テップS72およびS73の処理は必要ないが、たとえ
ば、図6で説明したように、ディスク等の記憶媒体から
ループシーケンサ用データLPSEQDATAdをロードした場
合には、そのシーケンスデータLPSEQ_DATAは、イベント
データに加えてデュレーションデータも含むことがある
ため、この場合を担保する意味で、ステップS72およ
びS73の処理を行っている。
【0123】ステップS74では、(演奏)イベントの
発生タイミングか否かを判別する。ここで、イベントの
発生タイミングか否かの判別は、シーケンスデータLPSE
Q_DATAにデュレーションデータが含まれている場合に
は、デュレーションタイマDURATION_timerが“0”であ
るか否か、シーケンスデータLPSEQ_DATAにデュレーショ
ンデータが含まれていない場合には、前記ループシーケ
ンサバッファLOOP_SEQBUFのベースユニットデータBASE_
UNITとして設定された設定時間が経過したか否かを判別
することによって行われる。
【0124】なお、ベースユニットデータBASE_UNITと
しては、絶対時間データを採るようにしてもよいし、相
対値データ(たとえば、所定の基準クロックに対する相
対値)を採るようにしてもよい。
【0125】ステップS74で、イベントの発生タイミ
ングでないときには、直ちに本ループシーケンス演奏処
理を終了する一方、イベントの発生タイミングのときに
は、読み出されたシーケンスデータLPSEQ_DATA(LPSEQ_
event_counter)に基づいて演奏イベントを発生させる
(ステップS75)。
【0126】次いで、イベントカウンタLPSEQ_event_co
unterの値が、前記ループシーケンサバッファLOOP_SEQB
UFのステップ数データLSEQ_STEP_Noに一致するか否かを
判別し(ステップS76)、LPSEQ_event_counter=LSE
Q_STEP_Noのときには、イベントカウンタLPSEQ_event_c
ounterを初期化して、イベントカウンタLPSEQ_event_co
unterが最初に読出したイベントデータの位置を指示す
るようにした(ステップS77)後に、本ループシーケ
ンス演奏処理を終了する。
【0127】一方、ステップS76で、LPSEQ_event_co
unter≠LSEQ_STEP_Noのときには、イベントカウンタLPS
EQ_event_counterが、前記ループシーケンサバッファLO
OP_SEQBUFのステップホールドデータSTEP_HOLDの値に一
致するか否かを判別し(ステップS78)、LPSEQ_even
t_counter≠STEP_HOLDのときには、イベントカウンタLP
SEQ_event_counterを“1”だけインクリメントした
(ステップS79)後に、本ループシーケンス演奏処理
を終了する一方、LPSEQ_event_counter=STEP_HOLDのと
きには、何もせずに本ループシーケンス演奏処理を終了
する。このようにして、ステップS78の処理により、
ステップホールドデータSTEP_HOLDとして、イベントデ
ータLPSEQ_EVENT_DATAのうちいずれかのイベントのステ
ップ番号が記憶されているときには、第1ステップのイ
ベントからステップホールドデータSTEP_HOLDが示すス
テップのイベントまで順次演奏イベントが発生すると、
その後、ステップホールドデータSTEP_HOLDが示す演奏
イベントが繰り返し発生する。
【0128】なお、ループ読出し態様データLOOP_TYPE
として、他の読出し態様が設定されているときには、上
記フォワードのループシーケンス演奏処理を次のように
修正する。
【0129】すなわち、バックワードが設定されている
ときには、シーケンスデータLPSEQ_DATAを後端から読出
し、先頭に到達したときには、再び後端から繰り返して
読出すように、イベントカウンタLPSEQ_event_counter
を制御する。
【0130】オルタネートが設定されているときには、
最初上記フォワードのループシーケンス処理に従ってシ
ーケンスデータLPSEQ_DATAを読出し、その後端に到達し
たときには、上記バックワードのループシーケンス処理
に従ってシーケンスデータLPSEQ_DATAを読出し、先頭に
到達したときには、再びフォワードのループシーケンス
演奏処理というように読出し制御を行う。
【0131】他の読み出し態様の読出し制御について
も、同様にして簡単な修正で実現することができるの
で、その説明を省略する。
【0132】図15〜19は、前記図9のステップS5
のフリーEG処理サブルーチンの詳細な手順を示すフロ
ーチャートである。
【0133】図15において、まず、フリーEG処理に
おける動作モードのチェックを行う(ステップS8
1)。ここで、動作モードには、大きく分けて、フリー
EGレコーディングモードおよびフリーEGプレイモー
ドの2種類のモードがある。フリーEGレコーディング
モードには、前記フリーEGバッファFREE_EGBUFの各ト
ラックTRACK1〜4を1つずつ指定して、当該トラックに
割り当てられたノブ24_iの操作状態を記録するフリ
ーEG1トラックレコーディングモード(FEG_1track_R
EC)およびこの各トラックTRACK1〜4にそれぞれ割り当
てられたノブ24_iの操作状態を、全トラック一度に
記録するフリーEGオールトラックレコーディングモー
ド(FEG_alltrk_REC)の2種類のモードがある。そし
て、フリーEGプレイモードには、一度フリーEGプレ
イの指示を行うと、たとえば所定の停止操作を行った
り、前記フリーEGデータ格納領域FREE_EG_DATAのルー
プ読出し態様データLOOP_TYPEがループ読出しオフに設
定されているときに全トラックTRACK1〜4の読出しを完
了した等の特別な操作や動作を行わない限りフリーEG
プレイ(ループ読出し)を継続するフリーモード(FREE
_MODE)および鍵盤1の所定の鍵を押下しているときの
みフリーEGプレイを続けるモードの2種類のモードが
ある。なお、上記各モードの選択は、前記パネルスイッ
チ2の図示しない動作モードスイッチによって行うよう
にしてもよいし、前記トーンモードスイッチ26を併用
して行うようにしてもよい。
【0134】ここで、フリーEGレコーディングモード
のレコーディング時に操作されるノブ24_iとその操
作値によって制御されるパラメータとの対応関係は、た
とえば、通常のパラメータ設定時に、前記パラメータメ
ニュースイッチ25の操作で決定されたノブ24_iと
パラメータとの対応関係をそのまま使用するようにして
もよいし、また、レコーディング時に限定して、各ノブ
24_iに個別に制御対象パラメータを割り当てるよう
にしてもよい。このとき、割り当てられる制御対象パラ
メータは、1つでもよいし、複数個でもよい。複数個の
パラメータを1つのノブ24_iまたは1つのトラックT
RACKiのフリーEGデータとして割り当てるようにした
場合には、パラメータ毎に感度調整等を行えるようにす
れば、さらに自由度の高い制御が可能になる。
【0135】また、フリーEGプレイモードのプレイ時
においても、各トラックTRACKi毎に制御対象パラメータ
を変更できるようにしてもよい。
【0136】さらに、トラックTRACK1〜4のうち複数個
のトラックの出力を任意に組み合わせて演算し、その演
算結果により、パラメータを制御するようにしてもよ
い。
【0137】また、さらに、レコーディング時に、ノブ
24_1〜8のうち、操作された複数のノブの操作値を
組み合わせて演算し、その演算結果を1つのトラックTR
ACKiに記録するようにしてもよい。
【0138】次に、動作モードがフリーEGレコーディ
ングモードであるか否かを判別し(ステップS82)、
フリーEGレコーディングモードでないときには、フリ
ーEGプレイモードであるため、図18のステップS1
22以降のフリーEGプレイモード処理に移行する一
方、フリーEGレコーディングモードのときには、前記
フリーEGデータレコーディング中フラグFEG_rec_flg
(図10のステップS14参照)が“0”か否かを判別
する(ステップS83)。
【0139】ステップS83で、FEG_rec_flg=1、す
なわちフリーEGデータレコーディング中のときには、
図17のステップS109以降のフリーEGデータレコ
ーディング中処理に移行する一方、FEG_rec_flg=0、
すなわちフリーEGデータレコーディング以前の前処理
のときにはステップS84に進む。
【0140】ステップS84では、フリーEG1トラッ
クレコーディングモードを指定する指定イベントが発生
したか否かを判別する。この指定イベントは、たとえ
ば、前記パネルスイッチ2の図示しない動作モード指定
スイッチを操作することによって発生する。もちろん、
指定イベントは、これに限らず、前記パラメータメニュ
ースイッチ25と同様のメニュースイッチを設けるとと
もに、その切換えメニュー中に動作モードの指定をノブ
24_iに割り当て可能なメニューを設け、そのノブ2
4_iを操作することによって発生するようにしてもよ
い。
【0141】ステップS84で、フリーEG1トラック
レコーディングモードを指定する指定イベントが発生し
たときには、動作モードをフリーEG1トラックレコー
ディングモードに移行させ(ステップS85)、各トラ
ックTRACK1〜4のトラック状態をチェックしてそのチェ
ック結果を表示する(ステップS86)。
【0142】続くステップS87では、空きトラックが
あるか否かを判別し、空きトラックがあるときには、そ
のトラック番号を、前記CPUワーキングエリアの所定
位置に確保された領域rec_track(以下、この領域に格
納された内容を「レコーディングトラックrec_track」
という)に格納し(ステップS88)、レコーディング
トラックrec_trackが示すTRACK(rec_track)を初期化
した(ステップS89)後に、本フリーEG処理を終了
する。
【0143】一方、ステップS87で、空きトラックが
ないときには、トラックTRACK1〜4のいずれかのトラッ
クに重ね書き(オーバーライト)を行う旨のアラーム表
示を行った(ステップS90)後に、本フリーEG処理
を終了する。
【0144】一方、ステップS84で、フリーEG1ト
ラックレコーディングモード指定イベントが発生しない
ときには、動作モードがフリーEG1トラックレコーデ
ィングモードであり、かつトラック指定イベントが発生
したか否かを判別する(ステップS91)。
【0145】ステップS91で、トラック指定イベント
が発生したときには、前記ステップS86と同様にし
て、その指定イベントが示すトラックTRACKx(xは、1
〜4のいずれかの整数値)のトラック状態をチェックす
るとともに表示し(ステップS92)、トラックTRACKx
は空き状態か否かを判別する(ステップS93)。
【0146】ステップS93で、トラックTRACKxが空き
状態のときには、前記ステップS88およびS89と同
様に、レコーディングトラックrec_trackにこのトラッ
ク番号xを格納し(ステップS94)、トラックTRACKx
を初期化した(ステップS95)後に、本フリーEG処
理を終了する一方、トラックTRACKxに既にデータが書き
込まれているときには、レコーディングトラックrec_tr
ackにトラック番号1を格納し(ステップS96)、ト
ラックTRACK1を初期化した(ステップS97)後に、前
記ステップS90に進み、アラーム表示を行う。
【0147】一方、ステップS91で、動作モードがフ
リーEG1トラックレコーディングモードでないか、ま
たはトラック指定イベントが発生しないときには、図1
6のステップS98に進む。
【0148】ステップS98では、フリーEGオールト
ラックレコーディングモードを指定する指定イベントが
発生したか否かを判別し、この指定イベントが発生した
ときには、動作モードをフリーEG1トラックレコーデ
ィングモードに移行させ(ステップS99)、全トラッ
クTRACK1〜4のトラック状態をチェックしてそのチェッ
ク結果を表示する(ステップS100)。
【0149】続くステップS101では、全トラックTR
ACK1〜4が空き状態であるか否かを判別し、いずれかの
トラックに既にデータが書き込まれているときには、前
記ステップS90と同様にして、アラーム表示を行い
(ステップS102)、全トラックTRACK1〜4の初期化
を行った後にステップS104に進む一方、全トラック
TRACK1〜4が空き状態であるときには、ステップS10
2およびS103をスキップしてステップS104に進
む。
【0150】ステップS104では、レコーディングト
ラックrec_trackに“0”を格納した後に、本フリーE
G処理を終了する。
【0151】一方、ステップS98で、フリーEGオー
ルトラックレコーディングモード指定イベントが発生し
ないときには、フリーEGレコーディングスタート(FE
G_REC START)イベントが発生したか否かを判別する
(ステップS105)。
【0152】ステップS105で、フリーEGレコーデ
ィングスタートイベントが発生したときには、前記フリ
ーEGデータレコーディング中フラグFEG_rec_flgをセ
ットするとともに、各トラックTRACK1〜4におけるフリ
ーEGデータ、すなわちノブ24_iの操作状態(操作
イベント)の書き込み位置をステップ数で示すソフトカ
ウンタであるイベントカウンタevcountを“0”に初期
化し(ステップS106)、現在フリーEGデータレコ
ーディング中であることを示す表示(“FEG_RECORDIN
G”)等のフリーEGデータレコーディング中に行うべ
き関連処理を行った(ステップS107)後に、本フリ
ーEG処理を終了する。
【0153】一方、ステップS105で、フリーEGレ
コーディングスタートイベントが発生しないときには、
発生したイベントに応じたその他イベント処理(たとえ
ば、記録対象ノブ24_1〜8の選択や時間分解能設定
等)を行った(ステップS108)後に、本フリーEG
処理を終了する。
【0154】図17のステップS109では、各トラッ
クTRACK1〜4にノブ24_iの操作状態を書き込むタイミ
ングか否かを判別する。この書き込みタイミングは、前
記ループシーケンサバッファLOOP_SEQBUFのベースユニ
ットデータBASE_UNITを基準にして、すなわちベースユ
ニットデータBASE_UNITに対応する時間毎に発生する。
【0155】ステップS109で、書き込みタイミング
でないときには、直ちに本フリーEG処理を終了する一
方、書き込みタイミングのときには、動作モードがフリ
ーEG1トラックレコーディングモードであるか否かを
判別する(ステップS110)。
【0156】ステップS110で、動作モードがフリー
EG1トラックレコーディングモードのときには、イベ
ントカウンタevcountが示すトラックTRACK(evcount)
に、その割り当てられたノブ24_iの操作状態を記録
するフリーEG1トラックレコーディング処理(ステッ
プS111〜S114)を行った後に、本フリーEG処
理を終了する一方、動作モードがフリーEG1トラック
レコーディングモードでないとき、すなわちフリーEG
オールトラックレコーディングモードのときには、全ト
ラックTRACK1〜4に、それぞれ割り当てられたノブ24_
iの操作状態を記録するフリーEGオールトラックレコ
ーディング処理(ステップS115〜121)を行った
後に、本フリーEG処理を終了する。
【0157】具体的には、フリーEG1トラックレコー
ディング処理は、次に示す通りである。
【0158】まず、ノブKNOBy(yは、割り当てら
れたノブの番号を示す)の操作値を、前記フリーEGバ
ッファFREE_EGBUFのレコーディングトラックrec_track
により示されるトラックTRACK(rec_track)内のフリー
EGデータ格納領域FREE_EG_DATA中、イベントカウンタ
evcountにより示されるステップ位置の領域KNOBDATA(r
ec_track,evcount)に書き込む(ステップS11
1)。
【0159】次に、イベントカウンタevcountの値がフ
リーEGデータ格納領域FREE_EG_DATAに記憶可能な最大
ステップ数FEG_STEPより小さいか否かを判別し(ステッ
プS112)、evcount<FEG_STEPのときには、イベン
トカウンタevcountを“1”だけインクリメントする
(ステップS113)一方、evcount=FEG_STEPのとき
には、所定のフリーEGレコーディング終了処理を行う
とともに、前記フリーEGデータレコーディング中フラ
グFEG_rec_flgをリセットする(ステップS114)。
【0160】また、フリーEGオールトラックレコーデ
ィング処理は、次に示す通りである。
【0161】まず、インデックスiを“1”に初期化す
る(ステップS115)。
【0162】次に、ノブKNOByi(yiは、トラッ
クTRACKiに割り当てられたノブの番号を示す)の操作値
を、前記ステップS111と同様に、インデックスiに
より示されるトラックTRACKi内の、イベントカウンタev
countにより示されるステップ位置の領域KNOBDATA
(i,evcount)に書き込む(ステップS116)。
【0163】そして、インデックスiが“4”か否か、
すなわち全トラックTRACK1〜4に対して書き込みを終了
したか否かを判別し、まだ書き込みトラックが残ってい
るとき(i≠4)には、インデックスiを“1”だけイ
ンクリメントした(ステップS118)後に前記ステッ
プS116に戻る一方、全トラックTRACK1〜4に対して
書き込みを終了したとき(i=4)にはステップS11
9に進む。
【0164】ステップS119〜S121は、それぞれ
前記ステップS112〜S114の処理と同様であるた
め、その説明を省略する。
【0165】なお、本実施の形態では、イベントカウン
タevcountを全トラックTRACK1〜4で共通にしたが、これ
に限らず、各トラックTRACKi毎にイベントカウンタevco
untiを設け、各トラックTRACKi個別に記録ステップ数を
設定できるようにしてもよい。
【0166】また、本実施の形態では、ベースユニット
データBASE_UNITの値に対応する時間毎に、ノブ24_1
〜8の操作値を記録するように構成したが、これに限ら
ず、ノブ24_1〜8の操作状態に変化がない区間が連
続する場合には、変化が起こるまで前変化イベントから
新変化イベントの間はベースユニットデータBASE_UNIT
を基準にした時間間隔数を記録するようにしてもよい。
ノブ24_1〜8の操作状態が、たとえば図25に示す
状態のときには、白抜き矢印の個数(3個)を記録す
る。このようにすることより、フリーEGデータの容量
を圧縮することができる。
【0167】図18のステップS122では、動作モー
ドがフリーEGプレイモードであるか否かを判別し、フ
リーEGプレイモードでないときには、直ちに本フリー
EG処理を終了する一方、フリーEGプレイモードのと
きにはステップS123に進む。
【0168】ステップS123では、フリーEGプレイ
モードにおいてそのプレイ中であることを“1”で示す
フリーEGプレイ中フラグFEG_play_flgが“0”か否か
を判別し、FEG_play_flg=0のときには、ステップS1
24に進み、フリーEGプレイに移行する前段の処理を
行う一方、FEG_play_flg=1のときには、図19のステ
ップS132に進み、フリーEGプレイ中の処理を行
う。
【0169】ステップS124では、フリーEGプレイ
スタート(FEG_PLAY START)イベントが発
生したか否かを判別し、フリーEGプレイスタートイベ
ントが発生しないときには、直ちに本フリーEG処理を
終了する一方、フリーEGプレイスタートイベントが発
生したときにはステップS125に進む。
【0170】ここで、フリーEGプレイスタートイベン
トは、たとえば、前記パネルスイッチ2の何らかのスイ
ッチ操作、鍵盤1の任意の押鍵イベントの検出、音色の
選択、図示しないフットペダル等の演奏補助操作子の操
作イベントの検出、MIDI信号の所定のメッセージの
検出等により発生する。この他、フリーEGプレイモー
ドが選択され、所定のトラックに再生すべきデータが格
納されているときには、特別な操作をしなくてもそのま
まフリーEGプレイスタートイベントを発生させて、フ
リーEGプレイを行うようにしてもよい。
【0171】ステップS125では、前記フリーEGバ
ッファFREE_EGBUFのモード指定データTEMPO_SYNC/ABSO
LUTEとして、テンポ同期モード(TEMPO_SYNC)が設定さ
れているか否かを判別し、テンポ同期モードが設定され
ているときには、フリーEGバッファFREE_EGBUFのベー
スユニットデータBASE_UNITと共有データバッファCOMPA
RBUFのテンポデータTEMPOに応じて(たとえば、ベース
ユニットデータBASE_UNITに基準テンポ値とテンポデー
タ値TEMPOとの比の値を乗算して)フリーEGデータ格
納領域FREE_EG_DATA内のデータを1ステップ分読み出す
時間間隔を決定し、その結果(換算値)をタイムステッ
プtimestepとする。
【0172】一方、ステップS125で、モード指定デ
ータTEMPO_SYNC/ABSOLUTEとして、絶対時間モード(AB
SOLUTE)が設定されているときには、前記フリーEGバ
ッファFREE_EGBUFの絶対時間データLENGTHに基づいて1
ステップ分読み出す時間間隔を、次式(3)により演算
して決定し、その結果をタイムステップtimestepとす
る。
【0173】timestep=LENGTH/n ‥‥(3) ただし、nは、フリーEGデータ格納領域FREE_EG_DATA
に格納されているデータ数を示す。
【0174】続くステップS128では、フリーEGデ
ータ格納領域FREE_EG_DATAのキースケーリングデータRA
TE_KSが“0”でなく、かつ動作モードが前記フリーモ
ード(FREE_MODE)でないか否かを判別し、この判別結
果が肯定(“YES”)のとき、すなわちRATE_KS≠0
&/FREE_MODE(“/”は、論理否定を意味する)のと
きには、次式(4)により、タイムステップtimestepを
変更する(ステップS129)一方、ステップS128
の判別結果が否定(“NO”)、すなわちRATE_KS=0
またはフリーモードFREE_MODEのときには、ステップS
129をスキップしてステップS130に進む。
【0175】 timestep=timestep×f(kc,RATE_KS) ‥‥(4) ただし、fは独立変数が2変数(kc,RATE_KS)の関数で
あり、キーコードkcおよびキースケーリングデータRATE
_KSが決定されると、正の値が1つ決定されるものであ
ればどのようなものであってもよい。この関数値fは、
キーコードkcおよびキースケーリングデータRATE_KSを
用いて演算により求めるようにしてもよいし、テーブル
データを用意しておき、このテーブルデータを、キーコ
ードkcおよびキースケーリングデータRATE_KSに基づい
て検索して求めるようにしてもよい。
【0176】ステップS130では、タイムステップti
mestepの値を、前記フリーEGデータ格納領域FREE_EG_
DATA内のデータを1ステップ分読み出すタイミングを決
定するソフトタイマである読出しタイマTIMERにセット
して、この読出しタイマTIMERをスタートさせ、次い
で、ステップS131では、前記フリーEGプレイ中フ
ラグFEG_play_flgをセットした後に、本フリーEG処理
を終了する。
【0177】図19のステップS132では、動作モー
ドがフリーモードか否かを判別し、フリーモードでない
ときにはステップS133に進み、前記フリーEGプレ
イを継続するために割り当てられた鍵がすべて離鍵(キ
ーオフイベント)されたか否かを判別し、いずれかの鍵
が押鍵されているときにはステップS134に進む。
【0178】ステップS134では、前記読出しタイマ
TIMERをチェックすることにより、前記フリーEGデー
タ格納領域FREE_EG_DATA内のデータの読出しタイミング
であるか否かを判別し、その結果、読出しタイミングで
ないときには、直ちに本フリーEG処理を終了する一
方、読出しタイミングのときには、ループ再生が指示さ
れているか否かを判別する(ステップS135)。この
判別は、前記フリーEGバッファFREE_EGBUFのループ読
出し態様データLOOP_TYPEに基づいて行う。具体的に
は、ループ読出し態様データLOOP_TYPEの値が“5”以
下か否かを判別する。
【0179】ステップS135で、ループ再生が指示さ
れているとき、すなわちLOOP_TYPE≦5のときには、ル
ープ読出し態様データLOOP_TYPEとして、フォワード(f
orward)が設定されているか否かを判別し、フォワード
が設定されているとき、すなわちLOOP_TYPE=1のとき
には、前述したフォワードの読出し態様に従って、各ト
ラックTRACK1〜4毎に対応するフリーEGデータ格納領
域FREE_EG_DATA内のデータKNOBDATAi(iは、現在指定
されている読出しステップ位置を示す)を読出し(ステ
ップS137)、このデータKNOBDATAiを、前記フリー
EGバッファFREE_EGBUFの領域KNOBDATAiに格納した
(ステップS138)後に、本フリーEG処理を終了す
る。
【0180】一方、ステップS136で、ループ読出し
態様データLOOP_TYPEとして、フォワードが設定されて
いないとき、すなわちLOOP_TYPE≠1のときには、ルー
プ読出し態様データLOOP_TYPEとして、バックワード(b
ackward)が設定されているか否かを判別する(ステッ
プS139)。
【0181】ステップS139で、ループ読出し態様デ
ータLOOP_TYPEとして、バックワードが設定されている
とき、すなわちLOOP_TYPE=2のときには、前述したバ
ックワードの読出し態様に従って、各トラックTRACK1〜
4毎に対応するフリーEGデータ格納領域FREE_EG_DATA
内のデータKNOBDATAiを読出し(ステップS140)、
前記ステップS138に進む一方、ループ読出し態様デ
ータLOOP_TYPEとして、バックワードが設定されていな
いとき、すなわちLOOP_TYPE≠2のときにはステップS
141に進む。
【0182】ステップS141では、ループ読出し態様
データLOOP_TYPEとして、オルタネート(alternate)が
設定されているか否かを判別し、オルタネートが設定さ
れているとき、すなわちLOOP_TYPE=3のときには、前
述したオルタネートの読出し態様に従って、各トラック
TRACK1〜4毎に対応するフリーEGデータ格納領域FREE_
EG_DATA内のデータKNOBDATAiを読出し(ステップS14
2)、前記ステップS138に進む一方、ループ読出し
態様データLOOP_TYPEとして、オルタネートが設定され
ていないとき、すなわちLOOP_TYPE≠3のときにはステ
ップS143に進む。
【0183】ステップS143では、ループ読出し態様
データLOOP_TYPEとして、ハーフ(half)が設定されて
いるか否かを判別し、ハーフが設定されているとき、す
なわちLOOP_TYPE=4のときには、前述したハーフの読
出し態様に従って、各トラックTRACK1〜4毎に対応する
フリーEGデータ格納領域FREE_EG_DATA内のデータKNOB
DATAiを読出し(ステップS144)前記ステップS1
38に進む一方、ループ読出し態様データLOOP_TYPEと
して、ハーフが設定されていないとき、すなわちLOOP_T
YPE≠4のときには、ループ読出し態様データLOOP_TYPE
としては、ハーフオルタネートが設定されているため、
前述したハーフオルタネートの読出し態様に従って、各
トラックTRACK1〜4毎に対応するフリーEGデータ格納
領域FREE_EG_DATA内のデータKNOBDATAiを読出し(ステ
ップS145)前記ステップS138に進む。
【0184】一方、ステップS135で、ループ再生が
指示されていないとき、すなわちLOOP_TYPE=6のとき
には、前述したループ読出しオフの読出し態様に従っ
て、各トラックTRACK1〜4毎に対応するフリーEGデー
タ格納領域FREE_EG_DATA内のデータKNOBDATAiを読出し
(ステップS146)前記ステップS138に進む。
【0185】一方、ステップS132で、動作モードが
フリーモードのときには、フリーモードを終了するため
の前記指示イベントが発生したか否かを判別し(ステッ
プS147)、この指示イベントが発生したときには、
所定のフリーEGプレイ終了処理を行うとともに、前記
フリーEGプレイ中フラグFEG_play_flgをリセットした
(ステップS148)後に、本フリーEG処理を終了す
る一方、この指示イベントが発生しないときには、前記
ステップS134に進み、指定されたループ読出し態様
に応じてループ読出しを行う。
【0186】上記ステップS147で、フリーモード終
了指示イベントは、前記ステップS124で説明したフ
リーEGプレイスタートイベントと同様に、何らかの操
作や指示信号の検出等によって発生するものとする。
【0187】一方、ステップS133で、フリーEGプ
レイを継続するために割り当てられた鍵がすべて離鍵さ
れたときには、前記ステップS148に進み、フリーE
Gプレイ中フラグFEG_play_flgのリセットを含む所定の
フリーEGプレイ終了処理を行った後に、本フリーEG
処理を終了する。
【0188】前述したように、フリーEGプレイモード
中のフリーモードでないモードは、所定の鍵、すなわち
本実施の形態では、フリーEGプレイを継続するために
割り当てられた鍵を押鍵している間フリーEGプレイを
続けるモードであるため、上記ステップS133ではこ
の離鍵を判別している。そして、すべての鍵が離鍵され
ると、上記ステップS148のフリーEG終了処理によ
りフリーEGプレイを停止して、フリーEGデータの出
力を終了する。ここで、フリーEG終了処理とは、たと
えば発音中の楽音の音量を所定値に漸時収束させる等の
処理をいい、フリーモードでないモードにおけるフリー
EGプレイ中に、フリーEGプレイを行う要因となる鍵
が離鍵されると、通常の振幅EGのように発音中の楽音
は徐々に消音される。
【0189】一方、フリーEGプレイモード中のフリー
モードは、前述したように、特別な操作を行わない限り
フリーEGプレイを継続するモードであるため、このモ
ードで出力されるフリーEGデータのデータ列は、フリ
ーラン動作のLFO(Low Frequancy Oscillator)から
出力されるデータ列のように、周期性を有することにな
る。
【0190】なお、本実施の形態では、フリーモードま
たはフリーモードでないモードの選択を、全トラックTR
ACK1〜4に対して一律に行うようにしたが、これに限ら
ず、トラックTRACK1〜4毎に選択設定できるようにして
もよい。
【0191】また、前記ステップS109〜S121で
各トラックTRACK1〜4に書き込まれたフリーEGデー
タ、または前記ROM6のフリーEG用データのFREE_E
Gの各トラックTRACK1〜4に格納されているフリーEGデ
ータを、たとえば前記RAM7のトーンバッファTONEBU
F1〜kまたはトーンパラメータデータTONEPARu1〜un内の
各トラックTRACK1〜4にコピーできるようにしてもよ
い。たとえば、全トラックTRACK1〜4のフリーEGデー
タをすべて他のトラックTRACK1〜4にコピーするとき
(このときは、ある音色における全トラックTRACK1〜4
のフリーEGデータを他の音色のトラックTRACK1〜4に
コピーすることが多い)、コピー元の音色とコピー先の
音色とをそれぞれユーザが指定すると、この指示に応じ
て、CPU5は、コピー元の音色データ内の全トラック
TRACK1〜4に記憶されている全フリーEGデータを読み
出して、コピー先の音色データ内のトラックTRACK1〜4
に格納する。コピー元の音色データは、ROM6または
RAM7に格納されているものに限らず、前記図6で説
明したように、フロッピディスクやCD−ROM、サー
バコンピュータの各種記憶媒体に記憶されたものであっ
てもよい。さらに、全トラックTRACK1〜4を一単位とし
てコピーするのではなく、その中の1トラック以上のト
ラックを選択してコピーするようにしてもよい。
【0192】なお、コピー元のトラックにデータが格納
されていないときに、コピーの指示がなされた場合に
は、コピーを行わずにアラーム等でユーザに知らせるよ
うにしてもよい。
【0193】また、コピー元のトラックTRACK1〜4中一
部のトラックが空トラックである場合には、そのトラッ
クは、コピー処理を行わず、データが格納されているト
ラックのみコピー処理を行うようにする。これにより、
無駄なコピー作業(データの転送処理)を省略すること
ができる。このとき、コピー先のトラックを空トラック
分詰めてコピーするようにしてもよい。これにより、ト
ラックを整理することができるとともに、空きトラック
が生成されないため、記憶容量を削除させることができ
る。たとえば、コピー元のトラックTRACK1〜4のうち、
トラックTRACK3が空きトラックであり、他のトラックTR
ACKn1〜4にコピーする場合には、TRACK1→TRACKn1,TRA
CK2→TRACKn2,TRACK3→無視,TRACK4→TRACKn3のよう
にコピーされる。
【0194】図20は、前記図9のステップS6のパラ
メータ時変処理サブルーチンの詳細な手順を示すフロー
チャートである。
【0195】同図において、まず、インデックスiを
“1”に初期化する(ステップS151)。
【0196】次に、前記音源回路15のレジスタTGPARR
EGch1〜j(図5参照)のチャンネル中、インデックスi
が示すチャンネルiは発音中か否かを判別し(ステップ
S152)、発音中のときには、該チャンネルiはフリ
ーEG制御すべきチャンネルか否かを判別する(ステッ
プS153)。
【0197】ステップS153で、チャンネルiがフリ
ーEG制御すべきチャンネルのときには、前記トーンバ
ッファTONEBUF1〜k中、チャンネルiに対応するトーン
バッファ(本実施の形態では、トーンバッファTONEBUF
1)のフリーEGバッファFREE_EGBUFに格納された各ト
ラックTRACK1〜4の各割り当てデータDESIGNATIONに従っ
て、当該割り当てられているシーンバッファSCENEBUFの
パラメータを対応フリーEGバッファFREE_EGBUFのデー
タKNOBDATAの値に応じて変更し、チャンネルiのレジス
タTGPARREGchiに転送する(ステップS154)。
【0198】一方、ステップS153で、チャンネルi
がフリーEG制御すべきチャンネルでないときには、割
り当てられているシーンバッファSCENEBUFのパラメータ
を、チャンネルiのレジスタTGPARREGchiに転送する
(ステップS155)。
【0199】続くステップS156では、前記音源回路
15の全チャンネル、すなわちチャンネルjまで、上記
ステップS152〜155の処理を終了したか否かを判
別し、まだ処理すべきチャンネルが残っているときに
は、インデックスiを“1”だけインクリメントして、
前記ステップS152に戻る一方、全チャンネルについ
て処理を完了したときには、本パラメータ時変制御処理
を終了する。
【0200】図21〜23は、前記図9のステップS7
の発音処理サブルーチンの詳細な手順を示すフローチャ
ートである。
【0201】図21において、まず、何らかのキーオン
(keyon)イベントが発生したか否かを判別し(ス
テップS161)、キーオンイベントが発生しないとき
には、図23のステップS184に進む一方、キーオン
イベントが発生したときには、そのキーオンイベントが
前記図12〜14で説明したループシーケンサ処理で発
生したものであるか否かを判別する(ステップS16
2)。
【0202】ステップS162で、発生したキーオンイ
ベントがループシーケンサ処理で発生したものであると
きには、ステップS166に進み、前記トーンモードス
イッチ26により選択された各種トーンモードに応じた
発音処理を行う一方、発生したキーオンイベントがルー
プシーケンサ処理で発生したものでないときには、前記
制御モードCONT_MODEが前記ノーマル(normal)モード
か否かを判別し、CONT_MODE=normalのとき、すなわち
通常の押鍵音を発生するモードのときには、前記ステッ
プS166に進み、CONT_MODE≠normalのときにはステ
ップS164に進む。
【0203】ステップS164では、制御モードCONT_M
ODEが前記ノートシフト&パターンセレクト共用モード
(note_shift&patern_select)か否かを判別し、CONT_M
ODE=note_shift&patern_selectのときには、押鍵に対
して発音はされないため、何もせずに本発音処理を終了
する一方、制御モードCONT_MODEがノートシフト&パタ
ーンセレクト共用モードでないとき、すなわち前記ノー
トシフトモードまたはパターンセレクトモードのときに
は、押鍵が通常の押鍵音を発音する鍵域内のものである
か否かを判別する(ステップS165)。
【0204】ステップS165で、押鍵が通常の押鍵音
を発音する鍵域内のものであるときには、前記ステップ
S166に進む一方、押鍵が通常の押鍵音を発音する鍵
域内のものでないとき、すなわちノートシフト鍵域また
はパターンセレクト鍵域内のものであるときには、何も
せずに本発音処理を終了する。
【0205】ステップS166では、前記トーンモード
としてシングルトーンモードが選択されているか否かを
判別し、シングルトーンモードが選択されているときに
は、音源回路15の空きチャンネルx(xは、1〜jの
いずれかの整数値)に対して所定の発音割当処理を行い
(ステップS167)、チャンネルxに対応するレジス
タTGPARREGchxに、当該キーオンイベントの押鍵情報
(たとえば、キーコードKCやキータッチTOUCH
等)、前記共有データバッファCOMPARBUFの内容および
補間値バッファSCENEBUFintpの内容を転送し(ステップ
S168)、音源回路15のチャンネルxに対してキー
オン指示(発音指示)を行った(ステップS169)後
に、本発音処理を終了する。
【0206】一方、ステップS166で、トーンモード
としてシングルトーンモードが選択されていないときに
は、デュアルトーンモードが選択されているか否かを判
別し(図22のステップS170)、デュアルトーンモ
ードが選択されているときには、音源回路15の空きチ
ャンネルx,y(xは、1〜jのいずれかの整数値であ
り、yは、xを除いた1〜jのいずれかの整数値であ
る)に対して所定の発音割当処理を行い(ステップS1
71)、前記ステップS168と同様に、チャンネルx
に対応するレジスタTGPARREGchxに、当該キーオンイベ
ントの押鍵情報、共有データバッファCOMPARBUFの内容
および補間値バッファSCENEBUFintpの内容を転送し(ス
テップS172)、チャンネルyに対応するレジスタTG
PARREGchyに、当該キーオンイベントの押鍵情報、共有
データバッファCOMPARBUFの内容および前記第2シーン
バッファバッファSCENEBUF2の内容を転送し(ステップ
S173)、音源回路15のチャンネルxおよびyに対
して、それぞれキーオン指示を行った(ステップS17
4)後に、本発音処理を終了する。
【0207】一方、ステップS170で、トーンモード
としてデュアルトーンモードが選択されていないときに
は、スプリットトーンモードが選択されているか否かを
判別し(ステップS175)、スプリットトーンモード
が選択されているときには、当該キーオンイベントが前
記シーンスライダ23の操作状態に応じて補間した音色
で発音する鍵域内の押鍵に対するものであるか否かとい
う条件(Ch.x_Split発音条件)が成立しているか否かを
判別する(ステップS176)。
【0208】ステップS176で、この発音条件が成立
しているときには、ステップS177〜S179で、前
記ステップS167〜S169と同様の処理を行って、
当該キーオンイベントに対する発音指示を行う一方、こ
の発音条件が成立していないときには、ステップS17
7〜S179をスキップしてステップS180に進む。
【0209】ステップS180では、当該キーオンイベ
ントが前記第2シーンスイッチ22に設定された音色で
発音する鍵域内の押鍵に対するものであるか否かという
条件(Ch.y_Split発音条件)が成立しているか否かを判
別し、この発音条件が成立していないときには、何もせ
ずに本発音処理を終了する一方、この発音条件が成立し
ているときには、音源回路15の空きチャンネルy(y
は、xを除いた1〜jのいずれかの整数値)に対して所
定の発音割当処理を行い(ステップS181)、チャン
ネルyに対応するレジスタTGPARREGchyに、当該キーオ
ンイベントの押鍵情報、共有データバッファCOMPARBUF
の内容および第2シーンバッファSCENEBUF2の内容を転
送し(ステップS182)、音源回路15のチャンネル
yに対してキーオン指示を行った(ステップS183)
後に、本発音処理を終了する。
【0210】なお、前述したように、スプリットトーン
モードにおいて、補間音色で発音する鍵域と第2シーン
スイッチ22に設定された音色で発音する鍵域との間に
重なった鍵域がある場合には、前記キーオンイベント
は、Ch.x_Split発音条件およびCh.y_Split発音条件をと
もに満足するため、1つの押鍵(キーオンイベント)に
対して2種類の異なった音色(補間音色と第2シーンス
イッチ22に設定された音色)の楽音が発音される。
【0211】一方、ステップS175で、トーンモード
としてスプリットトーンモードが選択されていないとき
には、直ちに本発音処理を終了する。
【0212】図23のステップS184では、キーオフ
イベントが発生したか否かを判別し、キーオフイベント
が発生したときには、当該キーオフイベントに対応する
キーオフ処理を実行した(ステップS185)後に、本
発音処理を終了する一方、キーオフイベントが発生しな
いときには、前記図1のMIDII/F13を介して外
部からMIDI信号のプログラムチェンジイベント(MI
DI_Program_Change)を受信したか否かを判別する(ス
テップS186)。
【0213】ステップS186で、プログラムチェンジ
イベントを受信したときには、前記図10のステップS
12と同様に、このプログラムチェンジイベントで指定
された音色qのパラメータを所定のバッファに転送して
展開し(ステップS187)、前記ステップS13と同
様に、セットフラグsetflg_1をセットするとともに、セ
ットフラグsetflg_2をリセットした(ステップS18
8)後に、本発音処理を終了する。
【0214】一方、ステップS186で、プログラムチ
ェンジイベントを受信しないときには、その他のイベン
ト処理を実行した後に、本発音処理を終了する。
【0215】なお、ステップS190に示すように、ス
テップS186からステップS187に移行する前に、
MIDI信号のチャンネルを確認し、新音色に移行する
か否かをユーザに確認するようにしてもよい。
【0216】なお、上記発音処理では、ループシーケン
サ処理で発生したイベントもユーザ演奏により発生した
イベントも、同一のトーンモードで発音するようにした
がこれに限らず、各々独立のトーンモードを設定して発
音態様を決定できるようにしてもよい。また、各イベン
トには、MIDIチャンネルを設定できるようにし、そ
のMIDIチャンネル毎にトーンモードを設定するよう
にしてもよい。さらに、両者の組合せにしてもよい。
【0217】このように、本実施の形態では、ループシ
ーケンサの制御モードとしてノーマルモード、ノートシ
フトモード、パターンセレクトモードおよびノートシフ
ト&パターンセレクト共用モードの4種類のモードを設
け、押鍵に対して発生する楽音情報(キーイベント)
を、その本来の目的、すなわち発生すべき楽音を指示す
る目的(ノーマルモード)のみならず、ループシーケン
サの読出しパターンを変更したり、そのパターンを構成
する楽音の楽音特性(音高)を変更したりするような制
御指示目的(ノートシフト&パターンセレクト共用モー
ド)のみ、または、本来の目的および制御指示目的双方
の目的(ノートシフトモードまたはパターンセレクトモ
ード)に使用するようにしたので、簡単な操作で、多様
な演奏パターンを生成するとともに、その演奏パターン
を構成する楽音の楽音特性を変更することができる。
【0218】なお、本実施の形態では、本発明を自動演
奏装置の形態で構成したが、これに限らず、パーソナル
コンピュータとアプリケーションプログラムの形態で構
成することもできる。このアプリケーションプログラム
は、磁気ディスク、光ディスク、半導体メモリ等の記憶
媒体に記憶させ、パーソナルコンピュータに供給するよ
うにしてもよいし、ネットワークを介して供給するよう
にしてもよい。
【0219】また、本実施の形態では、図1に示すよう
に、本発明を音源装置(音源回路12、効果回路13お
よびサウンドシステム14)および自動演奏装置(CP
U5)を内蔵した自動演奏装置で実現したが、これに限
らず、それぞれ別体の装置で構成し、MIDIインタフ
ェースや各種ネットワーク等の通信手段を用いて各装置
を接続して本発明を実現するようにしてもよい。
【0220】さらに、本発明の適用装置としては、電子
楽器、ゲームやカラオケ等のアミューズメント機器、テ
レビジョン等の各種家電機器、パーソナルコンピュータ
に代表されるコンピュータ装置およびシステム等が考え
られる。
【0221】
【発明の効果】以上説明したように、請求項1記載の発
明に依れば、入力された演奏情報が少なくとも2系統の
うち、選択割当て手段により割り当てられた系統以外の
系統のものであるときには、該演奏情報に基づいて該演
奏情報本来の楽音を生成するように制御され、また、前
記入力された演奏情報が前記2系統のうち、前記選択割
当て手段により割り当てられた系統のものであるとき
に、該割り当てられた変更手段が演奏パターン変更手段
である場合には、前記演奏情報に基づいて、切換え設定
されている演奏パターンを他のパターンに変更するよう
に制御される一方、該割り当てられた変更手段が楽音特
性変更手段である場合には、前記演奏情報に基づいて、
切換え設定されている演奏パターンの演奏情報の楽音特
性を変更するように制御されるので、簡単な操作で、多
様な演奏パターンを生成するとともに、その演奏パター
ンを構成する楽音の楽音特性を変更することが可能とな
る効果を奏する。
【0222】また、請求項2記載の発明に依れば、入力
された演奏情報が少なくとも2系統のうち一方の系統の
ものであるときに、該系統に、選択割当て手段によって
演奏パターン変更手段が割り当てられた場合には、前記
演奏情報に基づいて、切換え設定されている演奏パター
ンを他のパターンに変更するように制御される一方、前
記選択割当て手段によって楽音特性変更手段が割り当て
られた場合には、前記演奏情報に基づいて、切換え設定
されている演奏パターンの演奏情報の楽音特性を変更す
るように制御され、また、前記入力された演奏情報が前
記2系統のうち他方の系統のものであるときに、該系統
に、前記選択割当て手段によって前記楽音特性変更手段
が割り当てられた場合には、前記演奏情報に基づいて、
前記切換え設定されている演奏パターンの演奏情報の楽
音特性を変更するように制御される一方、前記選択割当
て手段によって前記演奏パターン変更手段が割り当てら
れた場合には、前記演奏情報に基づいて、前記切換え設
定されている演奏パターンを他のパターンに変更するよ
うに制御されるので、上記効果をさらに向上させること
ができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態に係る自動演奏装置の概
略構成を示すブロック図である。
【図2】図1の自動演奏装置のパネル面に配設されたパ
ネルスイッチ2を示す図である。
【図3】図1のROMのメモリマップの一例およびRO
Mに記憶された各種データのデータフォーマットの一例
を示す図である。
【図4】図1のRAMのメモリマップの一例およびRA
Mに設けられたトーンバッファのデータフォーマットの
一例を示す図である。
【図5】図1の音源回路内に設けられたパラメータレジ
スタの構成の一例を示す図である。
【図6】図1のフロッピディスクやCD−ROM、サー
バコンピュータの各種記憶媒体に記憶されたトーンパラ
メータデータTONEPARdおよびループシーケンサ用デー
タLPSEQDATAdの一例を示す図である。
【図7】図3の共有パラメータデータCOMPARのデータ構
造の一例を示す図である。
【図8】図3のトーンパラメータデータSCENEiのデータ
構造およびトーンパラメータデータSCENEiに含まれる各
種パラメータの機能を示す図である。
【図9】図1の自動演奏装置、特にCPUが実行するメ
インルーチンの手順を示すフローチャートである。
【図10】図9の音色指定・補間・編集処理サブルーチ
ンの詳細な手順を示すフローチャートである。
【図11】図9の音色指定・補間・編集処理サブルーチ
ンの詳細な手順を示すフローチャートである。
【図12】図9のループシーケンサ処理サブルーチンの
詳細な手順を示すフローチャートである。
【図13】図9のループシーケンサ処理サブルーチンの
詳細な手順を示すフローチャートである。
【図14】図13のループシーケンス演奏処理サブルー
チンの詳細な手順を示すフローチャートである。
【図15】図9のフリーEG処理サブルーチンの詳細な
手順を示すフローチャートである。
【図16】図9のフリーEG処理サブルーチンの詳細な
手順を示すフローチャートである。
【図17】図9のフリーEG処理サブルーチンの詳細な
手順を示すフローチャートである。
【図18】図9のフリーEG処理サブルーチンの詳細な
手順を示すフローチャートである。
【図19】図9のフリーEG処理サブルーチンの詳細な
手順を示すフローチャートである。
【図20】図9のパラメータ時変処理サブルーチンの詳
細な手順を示すフローチャートである。
【図21】図9の発音処理サブルーチンの詳細な手順を
示すフローチャートである。
【図22】図9の発音処理サブルーチンの詳細な手順を
示すフローチャートである。
【図23】図9の発音処理サブルーチンの詳細な手順を
示すフローチャートである。
【図24】ループ読出し態様の一例を示す図である。
【図25】フリーEGデータレコーディング時における
ノブの操作状態の書込み方法の他の一例を説明するため
の図である。
【符号の説明】
1 鍵盤 2 パネルスイッチ 5 CPU 6 ROM 7 RAM 10 FDD(フロッピディスクドライブ) 11 HDD(ハードディスクドライブ) 12 CD−ROM(コンパクトディスク−リード・オ
ンリ・メモリドライブ)

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 演奏情報を入力する演奏情報入力手段
    と、 該入力された演奏情報が属する範疇に応じて該演奏情報
    を少なくとも2系統に分離する分離手段と、 複数の演奏情報からなる演奏パターンを複数種類切換え
    可能であり、該切換え設定された演奏パターンの演奏情
    報に基づいて楽音を生成する楽音生成手段と、 該楽音生成手段に切換え設定されている演奏パターンを
    他の演奏パターンに変更する演奏パターン変更手段と、 前記楽音生成手段に切換え設定されている演奏パターン
    の演奏情報の楽音特性を変更する楽音特性変更手段と、 前記2系統のうちいずれか一方に、前記演奏パターン変
    更手段または楽音特性変更手段のうちいずれか一方を選
    択して割当てる選択割当て手段と、 前記入力された演奏情報が前記2系統のうち、前記選択
    割当て手段により割り当てられた系統以外の系統のもの
    であるときに、該演奏情報に基づいて該演奏情報本来の
    楽音を生成するように制御する第1の制御手段と、 前記入力された演奏情報が前記2系統のうち、前記選択
    割当て手段により割り当てられた系統のものであるとき
    に、該割り当てられた変更手段が前記演奏パターン変更
    手段である場合には、前記演奏情報に基づいて、前記切
    換え設定されている演奏パターンを他のパターンに変更
    するように制御する一方、該割り当てられた変更手段が
    前記楽音特性変更手段である場合には、前記演奏情報に
    基づいて、前記切換え設定されている演奏パターンの演
    奏情報の楽音特性を変更するように制御する第2の制御
    手段とを有することを特徴とする自動演奏装置。
  2. 【請求項2】 演奏情報を入力する演奏情報入力手段
    と、 該入力された演奏情報が属する範疇に応じて該演奏情報
    を少なくとも2系統に分離する分離手段と、 複数の演奏情報からなる演奏パターンを複数種類切り換
    え可能であり、該切換え設定された演奏パターンの演奏
    情報に基づいて楽音を生成する楽音生成手段と、 該楽音生成手段に切換え設定されている演奏パターンを
    他の演奏パターンに変更する演奏パターン変更手段と、 前記楽音生成手段に切換え設定されている演奏パターン
    の演奏情報の楽音特性を変更する楽音特性変更手段と、 前記2系統の各系統に、それぞれ前記演奏パターン変更
    手段または楽音特性変更手段のいずれか一方を選択して
    割当てる選択割当て手段と、 前記入力された演奏情報が前記2系統のうち一方の系統
    のものであるときに、該系統に、前記選択割当て手段に
    よって前記演奏パターン変更手段が割り当てられた場合
    には、前記演奏情報に基づいて、前記切換え設定されて
    いる演奏パターンを他のパターンに変更するように制御
    する一方、前記選択割当て手段によって前記楽音特性変
    更手段が割り当てられた場合には、前記演奏情報に基づ
    いて、前記切換え設定されている演奏パターンの演奏情
    報の楽音特性を変更するように制御する第1の制御手段
    と、 前記入力された演奏情報が前記2系統のうち他方の系統
    のものであるときに、該系統に、前記選択割当て手段に
    よって前記楽音特性変更手段が割り当てられた場合に
    は、前記演奏情報に基づいて、前記切換え設定されてい
    る演奏パターンの演奏情報の楽音特性を変更するように
    制御する一方、前記選択割当て手段によって前記演奏パ
    ターン変更手段が割り当てられた場合には、前記演奏情
    報に基づいて、前記切換え設定されている演奏パターン
    を他のパターンに変更するように制御する第2の制御手
    段とを有することを特徴とする自動演奏装置。
JP11626497A 1997-01-14 1997-04-18 自動演奏装置 Expired - Fee Related JP3830615B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11626497A JP3830615B2 (ja) 1997-01-14 1997-04-18 自動演奏装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1746897 1997-01-14
JP9-17468 1997-01-14
JP11626497A JP3830615B2 (ja) 1997-01-14 1997-04-18 自動演奏装置

Publications (2)

Publication Number Publication Date
JPH10260683A true JPH10260683A (ja) 1998-09-29
JP3830615B2 JP3830615B2 (ja) 2006-10-04

Family

ID=26353982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11626497A Expired - Fee Related JP3830615B2 (ja) 1997-01-14 1997-04-18 自動演奏装置

Country Status (1)

Country Link
JP (1) JP3830615B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019049383A1 (ja) * 2017-09-11 2019-03-14 ヤマハ株式会社 楽音データ再生装置および楽音データ再生方法
EP3832640A1 (en) * 2019-12-04 2021-06-09 Roland Corporation Musical sound control device and musical sound control method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019049383A1 (ja) * 2017-09-11 2019-03-14 ヤマハ株式会社 楽音データ再生装置および楽音データ再生方法
CN111052222A (zh) * 2017-09-11 2020-04-21 雅马哈株式会社 乐音数据播放装置及乐音数据播放方法
JPWO2019049383A1 (ja) * 2017-09-11 2020-09-03 ヤマハ株式会社 楽音データ再生装置および楽音データ再生方法
US11417303B2 (en) 2017-09-11 2022-08-16 Yamaha Corporation Musical sound data reproduction device and musical sound data reproduction method
CN111052222B (zh) * 2017-09-11 2023-07-25 雅马哈株式会社 乐音数据播放装置及乐音数据播放方法
EP3832640A1 (en) * 2019-12-04 2021-06-09 Roland Corporation Musical sound control device and musical sound control method
US20210174775A1 (en) * 2019-12-04 2021-06-10 Roland Corporation Musical sound control device and musical sound control method
US11810540B2 (en) 2019-12-04 2023-11-07 Roland Corporation Musical sound control device and musical sound control method

Also Published As

Publication number Publication date
JP3830615B2 (ja) 2006-10-04

Similar Documents

Publication Publication Date Title
KR100402364B1 (ko) 악음발생장치, 악음발생방법 및 기억매체
JP3239672B2 (ja) 自動演奏装置
JP3277844B2 (ja) 自動演奏装置
JP3470596B2 (ja) 情報表示方法および情報表示プログラムが記録された記録媒体
JP5217443B2 (ja) 楽音生成装置及びプログラム
JPH10260683A (ja) 自動演奏装置
JP4211709B2 (ja) 自動演奏装置および同装置に適用されるコンピュータプログラム
JP3844286B2 (ja) 電子楽器の自動伴奏装置
JP3541615B2 (ja) 自動演奏装置
JP2773638B2 (ja) 自動演奏装置
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
JP3680732B2 (ja) 演奏装置および記憶媒体
JP2947150B2 (ja) 自動演奏装置
JP5200368B2 (ja) アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム
JP4803043B2 (ja) 楽音生成装置及びプログラム
JP4803042B2 (ja) 楽音生成装置及びプログラム
JP3654200B2 (ja) 楽音制御パラメータ設定装置
JP3324318B2 (ja) 自動演奏装置
JP3758041B2 (ja) 楽音制御データ発生装置
JP2904020B2 (ja) 自動伴奏装置
JP3451936B2 (ja) 試聴用楽曲データ設定方法および試聴用楽曲データ設定プログラムが記録された記録媒体
JPH11143463A (ja) 自動演奏装置
JP5070842B2 (ja) 楽音生成装置及びプログラム
JP3296248B2 (ja) 楽音演奏装置
JP2002149159A (ja) 楽音信号合成方法、楽音信号合成装置および記録媒体

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040122

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040206

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040227

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060712

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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 (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090721

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100721

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100721

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110721

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110721

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120721

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130721

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees