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

電子楽器の自動演奏装置

Info

Publication number
JP3192597B2
JP3192597B2 JP35397596A JP35397596A JP3192597B2 JP 3192597 B2 JP3192597 B2 JP 3192597B2 JP 35397596 A JP35397596 A JP 35397596A JP 35397596 A JP35397596 A JP 35397596A JP 3192597 B2 JP3192597 B2 JP 3192597B2
Authority
JP
Japan
Prior art keywords
automatic performance
data
processing
note
note data
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
JP35397596A
Other languages
English (en)
Other versions
JPH10177382A (ja
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP35397596A priority Critical patent/JP3192597B2/ja
Publication of JPH10177382A publication Critical patent/JPH10177382A/ja
Application granted granted Critical
Publication of JP3192597B2 publication Critical patent/JP3192597B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は自動演奏データに基
づいて自動演奏を行う電子楽器の自動演奏装置に関し、
特にユーザの指示に応じて自動演奏を進める技術に関す
る。この明細書で「自動演奏データ」とは、1つのまと
まった自動演奏(例えば所定の楽曲又は所定のフレー
ズ)を行うための複数の音符データの集合をいう。
【0002】
【従来の技術】従来の自動演奏装置は自動演奏データが
記憶された自動演奏データメモリを有している。この自
動演奏装置は、自動演奏スタートスイッチが操作される
と、自動演奏データメモリから自動演奏データを順次読
み出して楽音発生装置に送る。楽音発生装置は、受け取
った自動演奏データに基づいて順次楽音を発生し、これ
により自動演奏が行われる。
【0003】更に詳しく説明すると、自動演奏データを
構成する各音符データは1音を発生するために用いら
れ、例えば図2に示すように、4バイトのデータで構成
されている。各バイトには、キーナンバ、ステップタイ
ム、ゲートタイム及びベロシティ/パートが割り当てら
れている。「キーナンバ」の最上位ビットは、ノートオ
ン又はノートオフを指示するために使用される。下位7
ビットは、鍵盤装置の各鍵に付された番号に対応し、音
高を指定するために使用される。「ステップタイム」は
発音開始の時刻(以下、「発音タイミング」という)を
指定するために使用される。「ゲートタイム」は音の長
さ(音長)を指定するために使用される。「ベロシティ
/パート」のうち、「ベロシティ」は例えば5ビットの
データで成り、音の強さを指定するために使用される。
また、「パート」は例えば3ビットで成り、音の属する
パートを指定するために使用される。1つの自動演奏デ
ータは、このような音符データが、ステップタイム値の
順番に並べられることによって構成されている。
【0004】自動演奏の進行は、ステップタイムカウン
タによって制御される。即ち、自動演奏が開始される
と、ステップタイムカウンタの内容が1ステップタイム
毎にカウントアップされる。1ステップタイムは、例え
ば1拍の、1/24、1/48、1/96等といった具
合に機種によって任意に定義される。1拍の実時間はテ
ンポによって定まるので、1ステップタイムの実時間、
つまりステップタイムカウンタのカウントアップの実時
間間隔もテンポによって決定される。この実時間は、通
常タイマによって作成される。
【0005】自動演奏音は、自動演奏処理によって発生
される。自動演奏処理を実行するかどうかを判断するた
めに、自動演奏フラグがオンになっているかどうかが一
定周期で調べられる。そして、自動演奏処理は自動演奏
フラグがオンになっているときにのみ行われる。このこ
とは、自動演奏フラグのオン/オフを制御することによ
って自動演奏処理を行うかどうか、換言すれば、自動演
奏音を発生するかどうかを制御できることを意味する。
【0006】自動演奏処理では、自動演奏データメモリ
の、音符データポインタで指される位置から1つの音符
データが読み出される。そして、その音符データに含ま
れるステップタイム値とステップタイムカウンタの内容
とが比較される。この比較結果が不一致の場合は、その
音符データは発音タイミングに至っていないものと判断
され、その音符データに基づく発音は開始されない。
【0007】一方、上記比較結果が一致の場合は、その
音符データは発音タイミングに至ったものと判断され、
その音符データに基づく発音が開始される。この場合、
音高は音符データ中のキーナンバで、音の長さはゲート
タイムで、音の強さはベロシティでそれぞれ指定され
る。1つの音符データに基づく発音開始が終了すると、
音符データポインタの内容に「4」が加えられる。そし
て、自動演奏データメモリの、音符データポインタで指
される位置から次の音符データが読み出される。この音
符データ中のステップタイム値がステップタイムカウン
タの内容と一致すると、この音符データも発音タイミン
グに至ったものと判断され、その音符データに基づく発
音が開始される。以下、自動演奏データメモリから順次
読み出された音符データの中のステップタイム値がステ
ップタイムカウンタの内容と一致しなくなるまで、上述
したと同様の処理が行われる。これにより、同一のステ
ップタイム値を有する音符データは同時に発音が開始さ
れ、例えば和音のように複数音を同時に発音する機能が
実現されている。以上の自動演奏処理は、ステップタイ
ムカウンタの内容がインクリメント(「+1」するこ
と、以下においても同じ)されている状態の下で、一定
周期で次々に行われる。なお、通常は、自動演奏処理が
実行される周期は、ステップタイムカウンタがカウント
アップされる周期より十分小さくなるように設計されて
いる。
【0008】一方、上記自動演奏処理によって発音が開
始された音は、その音に対応する音符データ中のゲート
タイム値で指定された時間が経過することにより消音さ
れる。この消音は、具体的には次のようにして行われ
る。即ち、1つの音符データに基づく発音が開始される
時に、その音符データ中のゲートタイム値が所定のゲー
トタイムカウンタにセットされる。ゲートタイムカウン
タは、上述した自動演奏処理とは独立に、1ステップタ
イム毎にデクリメント(「−1」すること、以下におい
ても同じ)される。そして、ゲートタイムカウンタの内
容がゼロになった時に、そのゲートタイムカウンタに対
応する音は消音される。以上のようにして発音と消音と
が次々に行われることにより自動演奏が行われる。
【0009】ところで、近年、上述した自動演奏技術を
応用した装置の1つとして、コンサートマジック機能付
き自動演奏装置が開発されている。ここで、「コンサー
トマジック機能」とは、押鍵されたタイミングで音符デ
ータを自動演奏データメモリから読み出し、この音符デ
ータに基づいて発音する機能である。以下においては、
コンサートマジック機能を用いた自動演奏を「コンサー
トマジック自動演奏」という。これに対し、従来のステ
ップタイムカウンタにより演奏を進める自動演奏を「通
常自動演奏」という。
【0010】コンサートマジック自動演奏で使用される
自動演奏データは、通常自動演奏で使用される自動演奏
データと同じである。しかし、コンサートマジック自動
演奏では、各音符データに含まれるステップタイム値に
よって発音タイミングが決定されることはない。但し、
通常自動演奏の場合と同様に、同一のステップタイム値
を有する複数の音符データに基づく複数の発音は同時に
行われるので、この場合は例外的にステップタイム値に
よって発音タイミングが決定される。これにより、コン
サートマジック自動演奏においても、和音の発生が可能
になっている。
【0011】上述したように、コンサートマジック自動
演奏では、鍵盤装置は単に発音タイミングを与える手段
として使用される。従って、ユーザは、発音すべきタイ
ミングに合わせて鍵盤装置の何れかの鍵を押すことによ
り、自動演奏を進めることができる。換言すれば、コン
サートマジック機能付きの自動演奏装置は、音高、音長
及び音の強さは自動演奏データに基づいて決定され、発
音タイミングはユーザの指示に基づいて決定される自動
演奏装置ということができる。
【0012】従来の自動演奏装置では、自動演奏スター
トスイッチが操作されると自動的に自動演奏が行われる
のでユーザが介入する余地がないのに対し、このコンサ
ートマジック機能付き自動演奏装置では、ユーザが鍵を
押すことによって自動演奏が進行するので、ユーザは、
あたかも自分が演奏をしているような満足感を得ること
ができる。
【0013】また、従来、コンサートマジック自動演奏
及び通常自動演奏の両方を行うことができる自動演奏装
置も開発されている。この自動演奏装置は、何れの演奏
を行うかは、例えば操作パネルに設けられたスイッチで
選択するように構成されている。この自動演奏装置によ
れば、同一の自動演奏データを用いて2種類の演奏形態
で自動演奏を行わせることができる。
【0014】
【発明が解決しようとする課題】しかしながら、上述し
たコンサートマジック機能付き自動演奏装置は、以下の
ような問題を有している。第1の問題は、コンサートマ
ジック自動演奏では、鍵盤装置の鍵が押された場合に、
同一のステップタイム値を有する音符データだけが自動
演奏データメモリから読み出されて発音に供されるとい
う問題である。換言すれば、ステップタイム値が少しで
も異なると同時に発音されないという問題である。
【0015】例えば装飾音が付された音を発生する場
合、ステップタイム値が僅かに異なる2つの音符データ
が用いられる。これらの音符データに基づいてコンサー
トマジック自動演奏を行う場合は、実際に装飾音を発生
させる場合のように、2つの鍵を短時間に連続して押す
必要がある。仮にユーザが装飾音符であることを忘れ
て、通常の音符のようなタイミングで鍵を押すと、自動
演奏は本来の曲とは異なった演奏になる。
【0016】また、リアルタイム入力で作成された自動
演奏データをそのままコンサートマジック自動演奏に使
用する場合は、以下のような問題がある。例えばリアル
タイム入力で和音の自動演奏データを作成する場合、鍵
タッチの微妙な相違により、得られた複数の音符データ
の中のステップタイム値が僅かに異なることがある。こ
の場合も上記装飾音の場合と同様の問題が発生する。そ
こで、従来は、リアルタイム入力で作成された自動演奏
データは、必ずクオンタイズする必要があった。
【0017】また、MIDIメッセージを受信した時刻
をステップタイム値とし、このステップタイム値と該M
IDIメッセージとを一対にして自動演奏データメモリ
に順次記憶し、これをそのまま自動演奏データとして用
いる装置が考えられる。この場合、例えば和音を表す複
数のMIDIメッセージを受信する場合を考えると、M
IDIメッセージはシリアルに送られてくるので、各M
IDIメッセージに対応付けられる受信時刻、即ちステ
ップタイム値が僅かに異なることがある。従って、この
場合も、上記リアルタイム入力の場合と同様の問題が存
在する。
【0018】第2の問題は、例えば伴奏音とメロディ音
とが混合された曲の自動演奏データに基づきコンサート
マジック自動演奏を行わせる場合に、ユーザは、メロデ
ィ音のみならず伴奏音の発音タイミングをも知っていな
いと自動演奏を正しく進めることができないという問題
である。この問題を解消するために、伴奏は通常自動演
奏で行い、メロディのみをコンサートマジック自動演奏
で行うことのできる自動伴奏装置が考えられる。しか
し、従来のコンサートマジック機能付き自動演奏装置
は、通常自動演奏とコンサートマジック自動演奏とを同
時に行うことはできなかった。
【0019】第3の問題は、コンサートマジック自動演
奏と通常自動演奏とを行うことができる従来のコンサー
トマジック機能付き自動演奏装置では、通常自動演奏を
実現するための処理手段及びコンサートマジック自動演
奏を実現するための処理手段は別個に設けられているの
で、これらの処理手段をソフトウェアで実現する場合に
大容量のメモリが必要であるという問題である。
【0020】従って、本発明の目的は、装飾音符をリア
ルに再現でき、しかもリアルタイム入力で作成された音
符データ及び外部から受信したMIDIメッセージをそ
のままコンサートマジック自動演奏に使用することので
きる電子楽器の自動演奏装置を提供することにある。
【0021】また、本発明の他の目的は、通常自動演奏
とコンサートマジック自動演奏とを同時に行うことので
きる電子楽器の自動演奏装置を提供することにある。
【0022】また、本発明の更に他の目的は、従来と比
べて少ないソフトウェア量であるにも拘わらず、通常自
動演奏とコンサートマジック自動演奏とを同時に行うこ
とのできる電子楽器の自動演奏装置を提供することにあ
る。
【0023】
【課題を解決するための手段】本発明の電子楽器の自動
演奏装置は、上記目的を達成するために、各々に発音タ
イミングを規定するためのステップタイム値が含まれた
複数の音符データで成る自動演奏データを記憶する記憶
手段と、該記憶手段に記憶された自動演奏データに含ま
れる音符データを指すポインタ手段と、自動演奏の進行
を指示する進行指示手段と、該進行指示手段によって自
動演奏の進行が指示された時に、該ポインタ手段で指さ
れた音符データから、該音符データに含まれるステップ
タイム値から所定範囲内のステップタイム値を有する音
符データまでの各音符データを該記憶手段から順次読み
出し、これら読み出された音符データに基づき楽音を発
生する楽音発生手段、とを有する。
【0024】上記進行指示手段としては例えば鍵盤装置
を用いることができる。この場合、該鍵盤装置の何れか
の鍵を操作することにより自動演奏の進行を指示するよ
うに構成できる。なお、進行指示手段としては鍵盤装置
に限らず、例えば操作パネル上のスイッチ、フットスイ
ッチ、外部から供給されるMIDIメッセージ等を用い
ることができる。
【0025】本自動演奏装置においては、進行指示手段
による指示があった場合に、その時点でポインタ手段で
指されている音符データ及び該音符データのステップタ
イム値と同一のステップタイム値を有する音符データ並
びに該ステップタイム値から所定範囲内のステップタイ
ム値を有する音符データをステップタイム値の順番で順
次記憶手段から読み出し、これら読み出された一連の音
符データに基づき楽音を発生する。ここで、ステップタ
イム値は発音タイミング(時刻)を規定するために使用
されるので、上記一連の音符データは、進行指示手段で
指示されてから一定時間内に発音されるべき音符データ
である。従って、上記所定範囲を適当に定めることによ
り、進行指示手段による指示があった場合に当該発音タ
イミングで発生すべき音及びその発音タイミング以降の
所定時間内に発生すべき音が順次発生される。
【0026】これにより、1回の自動演奏の進行の指
示、例えば押鍵によって装飾音符及び被装飾音符を続け
て発音できるので、装飾音を伴ったフレーズをリアルに
再現できる。また、リアルタイム入力で作成された自動
演奏データに含まれる各音符データのステップタイム値
が多少異なっても、これらは略同時に発音される。従っ
て、該自動演奏データをクオンタイズする必要がなく、
そのままコンサートマジック自動演奏のために使用する
ことができる。更に、外部から受信したMIDIメッセ
ージに付されたステップタイム値が多少異なってもこれ
らは略同時に発音される。従って、該MIDIメッセー
ジをそのままコンサートマジック自動演奏に使用するこ
とができる。
【0027】本発明の電子楽器の自動演奏装置は、上記
他の目的を達成するために、各々に発音タイミングを規
定するためのステップタイム値が含まれた複数の音符デ
ータで成る第1の自動演奏データ及び各々に発音タイミ
ングを規定するためのステップタイム値が含まれた複数
の音符データで成る第2の自動演奏データを記憶する記
憶手段と、該記憶手段に記憶された第2の自動演奏デー
タに含まれる音符データを指すポインタ手段と、自動演
奏の開始を指示する開始指示手段と、該開始指示手段に
よる指示に応じて、該第1の自動演奏データに含まれる
音符データを該記憶手段から順次読み出し、該読み出さ
れた音符データに基づく楽音を、該読み出された音符デ
ータに含まれるステップタイム値に対応するタイミング
で自動的に発生する第1の楽音発生手段と、自動演奏の
進行を指示する進行指示手段と、該進行指示手段によっ
て自動演奏の進行が指示された時に、該ポインタ手段で
指された音符データに含まれるステップタイム値と同一
のステップタイム値を有する全ての音符データを該記憶
手段から読み出し、これら読み出された音符データに基
づき楽音を発生する第2の楽音発生手段、とを有し、該
第1の楽音発生手段及び第2の楽音発生手段は各々独立
に楽音を発生する。
【0028】この場合、上記第1の自動演奏データとし
て伴奏音を発生するための自動演奏データを用い、上記
第2の自動演奏データとしてメロディ音を発生するため
の自動演奏データを用いることができる。伴奏音を発生
するための自動演奏データとしては、例えばコード、ベ
ース及びドラムの各パートを自動演奏するための自動演
奏データを用いることができる。
【0029】上記開始指示手段としては、例えば操作パ
ネル上のスイッチ、外部から供給されるMIDIメッセ
ージ等を用いることができる。また、本自動演奏装置の
進行指示手段は上述したそれと同じである。
【0030】本自動演奏装置においては、開始指示手段
で指示することにより第1の楽音発生手段で通常自動演
奏が行われ、これと並行して、進行指示手段で指示する
ことにより第2の楽音発生手段でコンサートマジック自
動演奏が行われる。例えば上記通常自動演奏を伴奏、上
記コンサートマジック自動演奏をメロディとすれば、伴
奏音を通常自動演奏させながらメロディをコンサートマ
ジック自動演奏させることができるので、ユーザは、伴
奏をバックに自分がメロディを演奏をしているという満
足感を得ることができる。
【0031】なお、本自動演奏装置の記憶手段には第1
の自動演奏データ及び第2の自動演奏データが記憶され
ているが、n種類(n≧2の整数)の自動演奏データを
記憶しておき、例えば操作パネルに設けられたスイッチ
を用いてn種類の自動演奏データの中の1つを第1の自
動演奏データ、他の1つを第2の自動演奏データとして
用いるように構成できる。この構成によれば、通常自動
演奏及びコンサートマジック自動演奏の各内容を任意に
定めることができるので、より使い勝手に優れた自動演
奏装置を提供できる。
【0032】本発明の電子楽器の自動演奏装置は、上記
更に他の目的を達成するために、各々に発音タイミング
を規定するためのステップタイム値が含まれた複数の音
符データで成る第1の自動演奏データ及び各々に発音タ
イミングを規定するためのステップタイム値が含まれた
複数の音符データで成る第2の自動演奏データを記憶す
る記憶手段と、該記憶手段に記憶された第2の自動演奏
データに含まれる音符データを指すポインタ手段と、自
動演奏の開始を指示する開始指示手段と、該開始指示手
段による指示に応じて、該第1の自動演奏データに含ま
れる音符データを該記憶手段から順次読み出し、該読み
出された音符データに基づく楽音を、該読み出された音
符データに含まれるステップタイム値に対応するタイミ
ングで自動的に発生させる処理を行う第1の処理手段
と、自動演奏の進行を指示する進行指示手段と、該進行
指示手段によって自動演奏の進行が指示された時に、該
ポインタ手段で指された音符データに含まれるステップ
タイム値と同一のステップタイム値を有する全ての音符
データを該記憶手段から読み出し、これら読み出された
音符データに基づき楽音を発生させる処理を行う第2の
処理手段、とを有し、該第1の処理手段及び第2の処理
手段は共通の処理手段で構成されている。
【0033】この自動演奏装置においては、第1の処理
手段及び第2の処理手段は共通の処理手段で構成されて
いるので、従来に比べ、少ないソフトウエア量で、通常
自動演奏及びコンサートマジック自動演奏を行わせるた
めの処理手段を構成できる。
【0034】
【発明の実施の形態】以下、本発明の電子楽器の自動演
奏装置の実施の形態について図面を参照しながら詳細に
説明する。
【0035】図1は、本発明の自動演奏装置のハードウ
ェア構成を示すブロック図である。このブロック図に示
した構成は、以下に説明する各実施の形態で共通に使用
される。自動演奏装置は、中央処理装置(以下、「CP
U」という)10、プログラムメモリ12、ワークメモ
リ13、パネルインタフェース回路14、鍵盤インタフ
ェース回路16、自動演奏データメモリ18、波形メモ
リ19及び音源20を有し、これら各要素はシステムバ
ス30で相互に接続されている。システムバス30は、
例えばアドレス信号、データ信号又は制御信号等を送受
するために使用される。
【0036】CPU10は、プログラムメモリ12に記
憶されているプログラムに従って動作し、これによって
自動演奏装置の全体を制御する。このCPU10が行う
処理の詳細については後にフローチャートを参照しなが
ら説明する。
【0037】CPU10にはタイマ10a及び外部イン
タフェース回路11が接続されている。タイマ10aは
割込信号を一定時間間隔、例えば2ミリ秒間隔で発生
し、CPU10に供給する。この割込信号は、後述する
割込処理ルーチンを起動するトリガーとして用いられ
る。
【0038】外部インタフェース回路11は、CPU1
0と外部装置との間のデータの送受を制御する。この外
部インタフェース回路11は、外部に接続される外部装
置の種類に応じて、例えばMIDIインタフェース、R
S232Cインタフェース、SCSIインタフェース等
といった汎用インタフェース又は機種に固有のインタフ
ェースを取り扱うように構成できる。以下においては、
この外部インタフェース回路11としてMIDIインタ
フェース回路が用いられるものとする。外部装置として
は、例えば他の電子楽器、パーソナルコンピュータ、シ
ーケンサ等を用いることができる。
【0039】外部インタフェース回路11は外部装置か
ら送られてきたMIDIメッセージを受信し、CPU1
0に供給する。CPU10は、このMIDIメッセージ
に基づいて発音・消音処理を行い、また操作パネル15
の設定状態を変更する処理を行う。逆に、後述する操作
パネル15及び鍵盤装置17が操作されることによって
発生されたデータは、MIDIメッセージに変換され、
外部インタフェース回路11を介して外部装置に送信さ
れる。これにより、本自動演奏装置の操作パネル15及
び鍵盤装置17から外部装置を制御できる。
【0040】プログラムメモリ12は、例えばリードオ
ンリメモリ(以下、「ROM」という)で構成されてい
る。このプログラムメモリ12には、上述したプログラ
ムの他に、CPU10が使用する種々の固定データ、複
数の音色パラメータ等を記憶している。1つの音色パラ
メータは、所定の楽器音の所定の音域の音色を発生する
ために使用される。各音色パラメータは、例えば波形ア
ドレス、周波数データ、エンベロープデータ、フィルタ
係数等で構成されている。なお、このプログラムメモリ
12は、ランダムアクセスメモリ(以下、「RAM」と
いう)で構成することもできる。この場合、本自動演奏
装置を動作させるに先立って、上記プログラム、固定デ
ータ、音色パラメータ等を外部に接続された例えばRO
Mカード、RAMカード、フロッピーディスク、CD−
ROM、ハードディスク等といった記憶装置(図示しな
い)からプログラムメモリ(RAM)12にロードする
ように構成すればよい。
【0041】ワークメモリ13はRAMで構成されてお
り、CPU10が各種処理を行う際に、種々のデータを
一時記憶するために使用される。このワークメモリ13
には、この自動演奏装置を制御するための各種レジス
タ、カウンタ、フラグ等が定義されている。これらの詳
細については後に各実施の形態毎に説明する。
【0042】パネルインタフェース回路14には操作パ
ネル15が接続されている。操作パネル15には、何れ
も図示しないが、例えば自動演奏スタートスイッチ、コ
ンサートマジックスイッチ(以下、「CMスイッチ」と
いう)、選曲スイッチ、音色選択スイッチ、音響効果指
定スイッチ、音量スイッチ等が設けられている。また、
各スイッチの設定状態を表示するLED表示器、ユーザ
が本自動演奏装置と対話するためのメッセージを表示す
るLCD表示器等が設けられている。
【0043】上記各種スイッチのうち、主要なスイッチ
について簡単に説明する。自動演奏スタートスイッチ
は、通常自動演奏を開始又は停止させるために使用され
る。この自動演奏スタートスイッチは、例えば押釦スイ
ッチで構成されている。この自動演奏スタートスイッチ
のオン/オフ状態は、自動演奏フラグによって記憶され
る。自動演奏フラグは、自動演奏スタートスイッチが押
される度に反転する。そして、通常自動演奏が停止中
(自動演奏フラグがオフ)に自動演奏スタートスイッチ
が押されると自動演奏フラグがオンにされると共に通常
自動演奏が開始される。この通常自動演奏が行われてい
る状態を通常自動演奏モードという。一方、通常自動演
奏中(自動演奏フラグがオン)に自動演奏スタートスイ
ッチが押されると自動演奏フラグがオフにされると共に
通常自動演奏は停止される。
【0044】CMスイッチは、コンサートマジック自動
演奏を行うかどうかを指定するために使用される。この
CMスイッチは、例えば押釦スイッチで構成されてい
る。このCMスイッチの設定状態は、コンサートマジッ
クフラグ(以下、「CMフラグ」という)によって記憶
される。CMフラグは、CMスイッチが押される度に反
転する。即ち、コンサートマジック自動演奏を行う状態
(以下、「CMモード」という)でない時(CMフラグ
がオフの時)にCMスイッチが押されるとCMフラグが
オンにされてCMモードに移る。一方、CMモードの時
(CMフラグがオンの時)にCMスイッチが押されると
CMフラグがオフにされてCMモードが解除される。
【0045】選曲スイッチは、複数の曲の中から通常自
動演奏又はコンサートマジック自動演奏する曲を選択す
るために使用される。音色選択スイッチは発生する音の
音色を選択するために、音響効果スイッチは発生する音
に付加する効果を選択するために、音量スイッチは発生
する音の音量を制御するために各々使用される。
【0046】上記パネルインタフェース回路14は、C
PU10からの指令に応じて操作パネル15上の各スイ
ッチをスキャンする。パネルインタフェース回路14
は、このスキャンにより得られた各スイッチの開閉状態
を示す信号に基づいて、各スイッチを1ビットに対応さ
せたパネルデータを作成する。各ビットは、例えば
「1」でスイッチオン状態、「0」でスイッチオフ状態
を表す。このパネルデータは、システムバス30を介し
てCPU10に送られる。このパネルデータは、操作パ
ネル15上のスイッチのオンイベント又はオフイベント
が発生したかどうかを判断するために使用される(詳細
は後述する)。
【0047】また、パネルインタフェース回路14は、
CPU10から送られてきた表示データを操作パネル1
5上のLED表示器及びLCD表示器に送る。これによ
り、CPU10から送られてきたデータに従って、LE
D表示器が点灯/消灯され、またメッセージがLCD表
示器に表示される。
【0048】鍵盤インタフェース回路16には鍵盤装置
17が接続されている。鍵盤装置17は複数の鍵を有し
ている。この鍵盤装置17は、CMモードでない時は、
発音及び消音を指示するために使用される。一方、CM
モードでは、自動演奏を進めるトリガー(より具体的に
は、音符データを自動演奏データメモリ18から読み出
すトリガー)として使用される。この鍵盤装置17とし
ては、例えば、異なる押圧深さでそれぞれオンになる第
1及び第2のキースイッチを各鍵に備えた2接点方式の
鍵盤装置を用いることができる。
【0049】上記鍵盤インタフェース回路16は、CP
U10からの指令に応じて鍵盤装置17上の各キースイ
ッチをスキャンする。鍵盤インタフェース回路16は、
このスキャンにより得られた各キースイッチの開閉状態
を示す信号に基づいて、鍵盤データを作成する。鍵盤デ
ータは、各鍵を1ビットに対応させたビット列で成り、
各ビットは、例えば「1」で押鍵中、「0」で離鍵中で
あることを表す。押鍵中であることを表す「1」のデー
タは、例えば第1及び第2のキースイッチの双方がオン
になっている場合に作成される。離鍵中であることを表
す「0」のデータは、上記以外の場合に作成される。
【0050】また、押鍵によって第1のキースイッチが
オンになってから第2のキースイッチがオンになるまで
の時間が計測され、この計測された時間に基づいてベロ
シティデータが作成される。これら鍵盤データ及びベロ
シティデータは、システムバス30を介してCPU10
に送られる。CPU10は、鍵盤データに基づいて鍵盤
イベントがあったかどうかを判断する(詳細は後述す
る)。なお、鍵盤装置17は、電子弦楽器、電子管楽
器、電子打楽器、コンビユータ等に備えられた操作子で
代用できる。この場合、これらの電子弦楽器等の操作子
からは、上記鍵盤データ及びベロシティデータに相当す
るデータがCPU10に送られる。そして、CPU10
は、これらのデータに基づいてイベントの有無を判断す
る。
【0051】自動演奏データメモリ18は、例えばRO
Mで構成されており、複数の自動演奏データを記憶す
る。これらの自動演奏データは、通常自動演奏、コンサ
ートマジック自動演奏、デモンストレーション演奏等に
使用される。各自動演奏データは、「ソング番号」と呼
ばれる識別子が付されている。ユーサは操作パネル15
上の選曲スイッチでソング番号を指定することにより任
意の曲を選択できる。選択された曲のソング番号は、ワ
ークメモリ13に定義されたソング番号レジスタにセッ
トされる。これら各自動演奏データは、従来の技術の欄
で説明したと同様に、複数の音符データで構成されてい
る。なお、この自動演奏データメモリ18は、RAM、
ROMカード、RAMカード、フロッピーディスク、C
D−ROM等で構成することができる。自動演奏データ
メモリ18としてフロッピーディスク、CD−ROMを
用いた場合は、これらに記憶された自動演奏データを一
旦RAMにロードして使用するのが好ましい。
【0052】波形メモリ19は、各音色パラメータに対
応する波形データを記憶している。波形データは、例え
ば自然楽器音を電気信号に変換し、これをパルスコード
変調(PCM)して作成される。この波形メモリ19
は、例えばROMで構成することができる。この波形メ
モリ19に記憶された波形データは、音源20によって
読み出される。
【0053】音源20は複数の発音チャンネルを備えて
いる。ここで、発音チャンネルとは、1つの音を発生す
るためにハードウェア及びソフトウェアによって形成さ
れた系統をいう。各発音チャンネルには少なくとも1つ
のオシレータが割り当てられる。各発音チャンネルは独
立に音を発生することができる。従って、この音源20
は、複数音を同時に発生できる。各発音チャンネルは、
詳細は図示しないが、波形メモリ19から波形データを
読み出すための波形読出回路、この読み出された波形デ
ータにエンベロープを付加するためのエンベロープ生成
回路等により構成されている。
【0054】CPU10は、鍵盤装置17から押鍵を表
す鍵盤データ及びベロシティデータ、外部インタフェー
ス回路11からノートオンを示すMIDIメッセージ、
又は自動演奏データメモリ18からノートオンを表す音
符データを受け取ると、これらに対応する音色パラメー
タをプログラムメモリ12から読み出し、ベロシティデ
ータと共に音源20に送る。これらのデータを受け取っ
た音源20は、アサイナを起動する。アサイナは、空き
発音チャンネル(発音中でない発音チャンネル)を検索
し、検索された空き発音チャンネルに該音色パラメータ
を送る。この発音チャンネルでは、音色パラメータに含
まれる波形アドレス、周波数データ、エンベロープデー
タに基づきデジタル楽音信号が生成される。即ち、発音
チャンネルは、波形アドレスで示される波形メモリ19
の位置から、周波数データに応じた速度で波形データを
順次読み出し、これにエンベロープデータで指定される
エンベロープを付加し、以てデジタル楽音信号を生成す
る。このデジタル楽音信号は、更にベロシティデータに
応じた増幅が行われ、D/A変換器21に供給される。
【0055】エンベロープデータは、例えばアタック、
ディケイ、リリース等といった楽音波形の各フェーズ毎
に、例えば「目標レベル」及び「到達時間」で成るパラ
メータで構成される。このエンベロープデータを音源2
0にセットすることにより、エンベロープの形状を変更
することができる。例えば、リリースのフェーズ用のエ
ンベロープデータ中の「到達時間」を大きくすれば、リ
リース時間の長いエンベロープを有する楽音波形を作成
することができる。
【0056】この音源20からのデジタル楽音信号はD
/A変換器21でアナログ信号に変換され、次いで、増
幅器22で増幅されてスピーカ23に送られる。そし
て、スヒーカ23で音響信号に変換されて放音される。
【0057】(実施の形態1)次に、本発明の自動演奏
装置の実施の形態1について説明する。この実施の形態
1の自動演奏装置は、説明を簡単にするために、通常自
動演奏機能は有せず、コンサートマジック自動演奏機能
のみを有するものとする。
【0058】上記ワークメモリ13に定義されている主
要なレジスタ、カウンタ、フラグ等のうち、本実施の形
態1において使用される主なものについて説明する。な
お、下記以外については、以下において必要の都度説明
する。
【0059】(a)自動演奏フラグ:本自動演奏装置が
通常自動演奏モードであるかどうかを記憶する。 (b)CMフラグ:本自動演奏装置がCMモードである
かどうかを記憶する。 (c)音符データポインタ:現在実行中の音符データが
置かれている自動演奏データメモリ18上のアドレス
(以下、「読出アドレス」という)を保持する。 (d)クロックカウンタ:タイマ割込が発生する度にイ
ンクリメントされるカウンタである。従って、例えば2
ミリ秒毎にインクリメントされる。 (e)演奏時間カウンタ:押鍵から所定時間が経過した
ことを検出するためのカウンタである。鍵が押された時
に所定値がセットされ、1ステップタイム毎にデクリメ
ントされる。 (f)新パネルデータレジスタ:今回のスイッチイベン
ト処理で取り込まれたパネルデータを記憶する。 (g)旧パネルデータレジスタ:前回のスイッチイベン
ト処理で取り込まれたパネルデータを記憶する。 (h)新鍵盤データレジスタ:今回の鍵盤イベント処理
で取り込まれた鍵盤データを記憶する。 (i)旧鍵盤データレジスタ:前回の鍵盤イベント処理
で取り込まれた鍵盤データを記憶する。
【0060】次に、図3〜図5に示したフローチャート
を参照しながら、この実施の形態1に係る自動演奏装置
の動作を説明する。
【0061】(1−1)メイン処理 図3はメイン処理を示すフローチャートである。このメ
イン処理は電源の投入又は図示しないリセットスイッチ
の押下により開始する。メイン処理では、先ず、初期化
処理が行われる(ステップS10)。この初期化処理で
は、CPU10の内部のハードウェアが初期化されると
共に、ワークメモリ13に定義されているレジスタ、カ
ウンタ、フラグ等に初期値が設定される。また、この初
期化処理では、電源投入時に不要な音が発生されるのを
抑止するために、音源20に所定のデータが送られる。
【0062】初期化処理が終了すると、次いで、スイッ
チイベント処理が行われる(ステップS11)。このス
イッチイベント処理では、CPU10は、先ずパネルイ
ンタフェース回路14からパネルデータ(以下、「新パ
ネルデータ」という)を取り込み、これを新パネルデー
タレジスタに格納する。次いで、スイッチイベントマッ
プが作成される。このスイッチイベントマップは、新パ
ネルデータと、前回のスイッチイベント処理で取り込ま
れて旧パネルデータレジスタに記憶されているパネルデ
ータ(以下、「旧パネルデータ」という)とを排他的論
理和演算することにより作成される。このパネルイベン
トマップの全ビットがゼロであればスイッチイベントは
発生しなかったものと判断され、そうでなければ何れか
のスイッチのイベントが発生したものと判断される。
【0063】例えば、パネルイベントマップ中の自動演
奏スタートスイッチに対応するビットが「1」であれば
自動演奏スタートスイッチのイベント(オンイベント又
はオフイベント)が発生したものと判断される。そし
て、更に新パネルデータ中の自動演奏スタートスイッチ
に対応するビットも「1」であれば、該イベントはオン
イベント、即ち自動演奏スタートスイッチが押されたも
のと判断され、「0」であれば、該イベントはオフイベ
ント、即ち自動演奏スタートスイッチが離されたものと
判断される。その他のスイッチについても同様である。
【0064】このスイッチイベント処理において、自動
演奏スタートスイッチのオンイベントが発生したことが
判断されると、自動演奏フラグが反転される。この反転
によって自動演奏フラグがオンになった時は、その時点
で選択されている曲、即ちソング番号レジスタ内のソン
グ番号によって指定される曲に対応する自動演奏データ
の先頭アドレスが音符データポインタにセットされる。
これにより、音符データの読出アドレスが決定される。
【0065】同様に、CMスイッチのオンイベントが発
生したことが判断されると、CMフラグが反転される。
その他のスイッチ、例えば音色選択スイッチのオンイベ
ントが発生したことが判断されると、現在設定されてい
る音色が、その押された音色選択スイッチに対応する音
色に変更される。このように、スイッチイベント処理で
は、操作パネル15上の各スイッチに割り当てられてい
る機能を実現するための処理が実行される。そして、最
後に、新パネルデータが旧パネルデータレジスタに書き
込まれ、スイッチイベント処理は終了する。
【0066】メイン処理では、次いで、鍵盤イベント処
理が行われる(ステップS12)。この鍵盤イベント処
理では、押鍵がなされた時にCMモードであれば自動演
奏を進める処理が行われ、CMモードでなければ通常の
発音処理が行われる。この鍵盤イベント処理の詳細は後
述する。
【0067】次いで、MIDI処理が行われる(ステッ
プS13)。このMIDI処理では、外部インタフェー
ス回路11で受信されたMIDIメッセージに基づき発
音・消音処理等が行われる。なお、操作パネル15の操
作、鍵盤装置17の操作及び自動演奏の実行に伴って本
自動演奏装置の内部で発生されたMIDIメッセージの
外部装置への送信は、このステップS13では行われな
い。即ち、操作パネル15の操作、鍵盤装置17の操作
及び自動演奏の実行に伴ってMIDIメッセージが発生
されると、スイッチイベント処理、鍵盤イベント処理及
び自動演奏処理の中でMIDIメッセージが図示しない
送信バッファに書き込まれる(これらの各処理について
は後述するが、MIDIメッセージの送信処理について
は説明を省略してある)。そして、送信バッファの内容
は、図示しない送信専用の割込処理で外部装置に送信さ
れる。これにより、リアルタイムでMIDIメッセージ
を外部に送信できるようになっている。
【0068】次いで、自動演奏処理が行われる(ステッ
プS14)。この自動演奏処理では従来の技術の欄で説
明したように、自動演奏フラグがオンになっている場合
にのみ自動演奏データに基づく通常自動演奏が行われ
る。なお、ステップタイムカウンタを進める制御につい
ては、本実施の形態では省略してある。
【0069】次いで、「その他の処理」が行われる(ス
テップS15)。この「その他の処理」では、上述した
以外の処理、例えばスイッチを押し続けた場合の特殊な
動作を実現するための処理等といった、メイン処理で定
期的なチェックが必要な処理が行われる。その後、ステ
ップS11に戻り、以下、ステップS11〜S15の処
理が繰り返される。この繰り返しの過程でイベントが発
生すると、該イベントに対応する処理がなされることに
より自動演奏装置としての各種機能が実現されている。
【0070】(1−2)鍵盤イベント処理 図4は、鍵盤イベント処理の詳細を示すフローチャート
である。この鍵盤イベント処理では、CPU10は、先
ず鍵盤イベントの有無を調べる(ステップS20)。即
ち、CPU10は、鍵盤インタフェース回路16から鍵
盤データ(以下、「新鍵盤データ」という)を取り込
み、これを新鍵盤データレジスタに格納する。次いで、
鍵盤イベントマップが作成される。この鍵盤イベントマ
ップは、新鍵盤データと、前回の鍵盤イベント処理で取
り込まれて旧鍵盤データレジスタに記憶されている鍵盤
データ(以下、「旧鍵盤データ」という)とを排他的論
理和演算することにより作成される。この鍵盤イベント
マップの全ビットがゼロであれば鍵盤イベントは発生し
なかったものと判断され、そうでなければ鍵盤イベント
が発生したものと判断される。
【0071】ここで、鍵盤イベントは発生しなかったと
判断されると、シーケンスは鍵盤イベント処理ルーチン
からメイン処理ルーチンにリターンする。一方、鍵盤イ
ベントが発生したと判断されると、次いで、その鍵盤イ
ベントは押鍵イベントであるかどうかが調べられる(ス
テップS21)。これは、鍵盤イベントマップ中の
「1」になっているビットに対応する新鍵盤データ中の
ビットが「1」であるかどうかを調べることにより行わ
れる。ここで、上記新鍵盤データ中のビットが「0」で
あることが判断されると、離鍵イベントであることが認
識され音処理が行われる(ステップS22)。この消音
処理では、離鍵された鍵に対応する発音チャンネルに対
し、発音中の音のエンベロープを高速で減衰させるため
のエンベロープデータが送られる。これにより、発音中
の音が消音される。その後、シーケンスは鍵盤イベント
処理ルーチンからメイン処理ルーチンにリターンする。
【0072】一方、上記新鍵盤データ中のビットが
「1」であることが判断されると、押鍵イベントが発生
したものと認識され、次いで、CMモードかどうかが調
べられる(ステップS21)。CMモードかどうかは、
CMフラグを調べることにより行われ、以下においても
同じである。ここで、CMモードでないことが判断され
ると、通常の発音処理が行われる(ステップS22)。
この通常の発音処理では、新鍵盤データ中の「1」にな
っているビットに対応する鍵のキーナンバが算出される
と共に、鍵盤インタフェース回路16から当該鍵のベロ
シティデータが読み込まれる。そして、このキーナンバ
に対応する音色パラメータがプログラムメモリ12から
読み出され、ベロシティデータと一緒に音源20に送ら
れる。これにより、上述したようにアサイナにより音源
20の中の1つの発音チャンネルが割り当てられ、該発
音チャンネルで音色パラメータに応じたデジタル楽音信
号が発生される。これにより、押鍵に応じた音高であっ
て且つ押鍵に応じた強さの音がスピーカ23から発生さ
れる。
【0073】上記ステップS23でCMモードであるこ
とが判断されると、次いで自動演奏フラグがセットされ
る(ステップS25)。これにより本自動演奏装置は通
常自動演奏モードに移行する。次いで、演奏時間カウン
タに所定値がセットされる(ステップS26)。ここ
で、所定値は、鍵が押された場合に、その時点の読出ア
ドレスで指定される音符データから何ステップ先の音符
データまでを実行するかによって決定される。この所定
値は、固定値であってもよいし可変値であってもよい。
可変値の場合は、ユーザが操作パネル15を操作して設
定するように構成できる。その後、シーケンスは鍵盤イ
ベント処理ルーチンからメイン処理ルーチンにリターン
する。これにより、自動演奏フラグがクリアされるまで
は、メイン処理ルーチンの自動演奏処理(ステップS1
4)で自動演奏音が発生されることになる。
【0074】(1−3)タイマ割込処理 タイマ割込処理は、タイマ10aから発生される割込信
号に応答して、上記メイン処理に割り込んで実行され
る。図5は実施の形態1のタイマ割込処理の詳細を示す
フローチャートである。
【0075】タイマ割込処理では、先ず自動演奏フラグ
がオンかどうかが調べられる(ステップS30)。ここ
で、自動演奏フラグがオフであることが判断されると、
シーケンスはこのタイマ割込処理ルーチンから割り込ま
れた位置にリターンする。
【0076】一方、自動演奏フラグがオンであることが
判断されると、クロックカウンタの内容がインクリメン
トされる(ステップS31)。次いで、クロックカウン
タの内容が所定値になったかどうかが調べられる(ステ
ップS32)。ここに所定値とは、その時点で設定され
ているテンポにおける1ステップタイムに相当する値を
いう。そして、所定値でないことが判断されると、シー
ケンスはこのタイマ割込ルーチンから割り込まれた位置
にリターンする。
【0077】一方、所定値であることが判断されると、
演奏時間カウンタの内容がゼロであるかどうかが調べら
れる(ステップS33)。そして、ゼロでないことが判
断されると演奏時間カウンタの内容がデクリメントされ
る(ステップS34)。これにより時間カウンタが1ス
テップタイム毎にデクリメントされる機能が実現されて
いる。その後、シーケンスはこのタイマ割込ルーチンか
ら割り込まれた位置にリターンする。
【0078】上記ステップS33で、演奏時間カウンタ
の内容がゼロであることが判断されると、次いで、自動
演奏フラグがクリアされる(ステップS35)。その
後、シーケンスはこのタイマ割込ルーチンから割り込ま
れた位置にリターンする。これにより、以降は、メイン
処理ルーチンの自動演奏処理(ステップS14)におけ
る自動演奏音の発生が抑止される。
【0079】以上説明したように、鍵盤装置17の何れ
かの鍵が押された場合に、その時点で音符データポイン
タで指されている音符データ及び該音符データのステッ
プタイム値と同一のステップタイム値を有する音符デー
タ並びに該ステップタイム値に対して所定範囲内のステ
ップタイム値を有する音符データが順次読み出され、こ
れら読み出された一連の音符データに基づき楽音が発生
される。従って、1回の押鍵があると、その時点で発音
すべき音の他にその近傍所定範囲内の音も発音されるこ
とになる。
【0080】(実施の形態2)次に、本発明の自動演奏
装置の実施の形態2について説明する。この実施の形態
2の自動演奏装置は、通常自動演奏及びコンサートマジ
ック自動演奏の両機能を有し、しかも通常自動演奏とコ
ンサートマジック自動演奏とを並行して行うことができ
る。
【0081】この実施の形態2に係る自動演奏装置は、
伴奏パート及びメロディパートの自動演奏データを有
し、各々別個に自動演奏データメモリ18に格納されて
いる。伴奏パートは、例えばコード、ベース及びドラム
の各音を含んでいるものとする。
【0082】各パートを通常自動演奏するかコンサート
マジック自動演奏するかは、自動演奏フラグ及びCMフ
ラグの各設定状態によって以下のように決定される。 自動演奏フラグがオン且つCMフラグがオンの場合 伴奏パートは通常自動演奏、メロディパートはコンサー
トマジック演奏。 自動演奏フラグがオン且つCMフラグがオフの場合 伴奏パート及びメロディパート共に通常自動演奏。な
お、この場合、メロディパートを鍵盤装置17で演奏す
るように構成することもできる。更にメロディパート
を、通常自動演奏するか鍵盤装置17で演奏するかを例
えば操作パネル15に設けたスイッチで選択するように
構成することもできる。 自動演奏フラグがオフ且つCMフラグがオンの場合 伴奏パート及びメロディパート共にコンサートマジック
自動演奏。 自動演奏フラグがオフ且つCMフラグがオフの場合 通常自動演奏及びコンサートマジック自動演奏は行われ
ない。
【0083】本実施の形態2においては、上述した実施
の形態1で説明した以外に、以下のレジスタ、カウン
タ、フラグ等が上記ワークメモリ13に定義されてい
る。なお、下記以外については、以下において必要の都
度説明する。
【0084】(a)タイミングカウンタ:その時点で設
定されているテンポに応じたインターバル(1ステップ
タイムに相当する時間)でインクリメントされる。後述
する通常自動演奏処理では、このタイミングカウンタの
内容が変化した時に発音処理を行うかどうかを調べられ
る。以下、このタイミングカウンタの内容が変化したタ
イミングを「チェックタイミング」という。 (b)ステップタイムカウンタ:コンサートマジック自
動演奏の進行を管理するためのカウンタである。このス
テップタイムカウンタの内容は、押鍵がなされた時に更
新される。 (c)演奏リクエストフラグ:自動演奏データメモリ1
8から音符データを読み出すべきことを指示するために
使用されるフラグである。 dc)同時押しタイマカウンタ:一定時間、例えば30
ミリ秒を計数するカウンタであり、この一定時間内に複
数の鍵が押されると、各鍵は同時に押されたとみなされ
る。このカウンタはタイマ割込が発生する度にデクリメ
ントされる。
【0085】上記音符データポインタは伴奏パート用及
びメロディパート用の2種類が設けられており、以下に
おいては、各々音符データポインタA及び音符データポ
インタBという。また、ステップタイムカウンタは、通
常自動演奏用とコンサートマジック自動演奏用とが設け
られており、以下においては、各々ステップタイムカウ
ンタA及びステップタイムカウンタBという。
【0086】また、本実施の形態2の自動演奏装置は、
同時押し抑止機能を備えている。この機能は、一定時間
の間に複数の鍵が押された場合に、最後の押鍵以外の押
鍵を無視する機能であり、これによりユーザのミスタッ
チや鍵盤装置17からの信号のチャタリング等によって
自動演奏が誤って進んでしまうことが防止される。
【0087】この同時押し抑止機能は次のようにして実
現されている。即ち、押鍵イベントが検出される毎に同
時押しタイマカウンタに所定値がセットされる。この同
時押しタイマカウンタの内容は、タイマ割込が発生する
毎にデクリメントされる。そして、この同時押しタイマ
カウンタの内容がゼロになった時に演奏リクエストフラ
グがセットされる。従って、或る押鍵がなされてから一
定時間内に他の押鍵がなされた場合は、後の押鍵から一
定時間が経過しないと演奏リクエストフラグはセットさ
れない。この演奏リクエストスフラグのオン/オフは、
同時押し抑止機能がない場合の押鍵の有無と同様の意味
を有し、この演奏リクエストフラグがオンにされた時に
自動演奏データメモリ18から音符データが読み出さ
れ、コンサートマジック自動演奏が進行する。なお、こ
の同時押し抑止機能は、最初の押鍵があった時に同時押
しタイマカウンタに所定値をセットすると共に演奏リク
エストフラグをセットし、同時押しタイマカウンタの内
容がタイマ割込によって減算されてゼロになるまでの間
に押鍵がなされてもこれを無視するように構成すること
によっても実現できる。この構成によれば、押鍵に対す
る反応がよくなるという利点がある。
【0088】次に、図6〜図9に示したフローチャート
を参照しながら、この実施の形態2に係る自動演奏装置
の動作を説明する。
【0089】(2−1)メイン処理 実施の形態2のメイン処理は、鍵盤イベント処理(ステ
ップS12)及び自動演奏処理(ステップS14)の各
処理内容を除き、上述した実施の形態1のメイン処理
(図3のフローチャート参照)と同じである。これら鍵
盤イベント処理及び自動演奏処理の詳細は後述する。
【0090】(2−2)鍵盤イベント処理 図6は、鍵盤イベント処理の詳細を示すフローチャート
である。この鍵盤イベント処理におけるステップS40
〜S44の各処理内容は、それぞれ上述した実施の形態
1の鍵イベント処理(図4)のステップS20〜S24
の処理内容と同じである。
【0091】上記ステップS43でCMモードであるこ
とが判断されると、同時押しタイマカウンタに所定値が
セットされる(ステップS43)。ここで、所定値と
は、一定時間を作成するための値であり、この一定時間
内に複数の鍵が押された場合に、これらの鍵は同時に押
されたとみなされる。この値をαとすると、上記時間は
「α×2ミリ秒」で求められる。その後、シーケンスは
鍵盤イベント処理ルーチンからメイン処理ルーチンにリ
ターンする。
【0092】(2−3)タイマ割込処理 タイマ割込処理は、タイマ10aから発生された割込信
号に応答して、上記メイン処理に割り込んで実行され
る。図7はタイマ割込処理の詳細を示すフローチャート
である。
【0093】タイマ割込処理では、先ずクロックカウン
タの内容がインクリメントされる(ステップS50)。
次いで、クロックカウンタの内容が所定値になったかど
うかが調べられる(ステップS51)。これらステップ
S50及びS51の処理は、それぞれ上述したステップ
S31及びS32(図5)の処理と同じである。そし
て、所定値であることが判断されると、通常自動演奏用
のタイミングカウンタの内容がインクリメントされる
(ステップS52)。従って、タイミングカウンタの内
容は、1ステップタイム毎にインクリメントされること
になる。
【0094】次いで、ゲートオフ処理が行われる(ステ
ップS53)。このゲートオフ処理では、発音中の音の
ゲートタイムがデクリメントされる。このゲートオフ処
理の詳細を、図8のフローチャートに示す。なお、この
ゲートオフ処理は、自動演奏処理の中で行うこともでき
る。この場合、タイミングカウンタの内容がゼロでなけ
ればタイミングカウンタをデクリメントし、ゲートオフ
処理(図8)を行い、ステップタイムをインクリメント
し、そして自動演奏を行う。ゲートオフ処理を自動演奏
処理の中で行う例は、実施の形態3に示されているので
参照されたい。この構成によれば、タイマ割込処理の負
荷を軽減きるという利点がある。
【0095】ゲートオフ処理では、先ず、所定の発音チ
ャンネルが発音中であるかどうかが調べられる(ステッ
プS60)。そして、発音中でないことが判断される
と、ステップS65へ分岐し、未処理の発音チャンネル
があるかどうかが調べられる。そして、未処理の発音チ
ャンネルがないことが判断されると、シーケンスは、こ
のゲートオフ処理ルーチンからリターンする。
【0096】一方、ステップS65で未処理の発音チャ
ンネルがあることが判断されると、ステップS60へ戻
って同様の処理が行われる。上記ステップS60で、該
発音チャンネルが発音中であることが判断されると、次
いで、当該発音チャンネルに対応するゲートタイム値が
「00H」(末尾の「H」は16進数であることを示
す。以下においても同じ。)であるかどうかが調べられ
る(ステップS61)。これは、当該発音チャンネルに
対応するゲートタイムカウンタの内容を調べることによ
り行われる。ここで、ゲートタイムカウンタは、ワーク
メモリ13内に各発音チャンネルに対応して設けられた
カウンタである。このゲートタイムカウンタには、発音
開始時に、ゲートタイム値がセットされる。ここで、ゲ
ートタイム値が「00H」であることが判断されると、
ステップS64へ分岐し、当該発音チャンネルに対応す
る音の消音処理が行われる。この消音処理は、上述した
ステップS22の処理と同じである。
【0097】一方、ゲートタイムが「00H」でないこ
とが判断されると、当該発音チャンネルのゲートタイム
がデクリメントされる(ステップS62)。そして、ゲ
ートタイムが「00H」であるかどうかが調べられる
(ステップS63)。ここで、ゲートタイムが「00
H」であることが判断されるとステップS64へ進み、
消音処理が行われる。一方、ゲートタイムが「00H」
でないことが判断されると、ステップS65へ分岐し、
上記と同様の処理が行われる。
【0098】このように、ゲートオフ処理では、アサイ
ナで発音が割り当てられて発音中である発音チャンネル
を探し、該当する発音チャンネルがあればゲートタイム
を減じ、その結果がゼロになれば消音処理を行う。この
ゲートオフ処理ルーチンは、1ステップタイム毎にコー
ルされるので、発音中の音のゲートタイムは1ステップ
タイム毎にデクリメントされる。
【0099】このゲートオフ処理が終了した場合、及び
上記ステップS51で所定値でないことが判断された場
合は、次いで、同時押しタイマカウンタの内容がデクリ
メントされる(ステップS54)。そして、同時押しタ
イマカウンタの内容がゼロであるかどうかが調べられる
(ステップS55)。ここで、ゼロであることが判断さ
れると演奏リクエストフラグがセットされ(ステップS
56)、そうでなければステップS56の処理はスキッ
プされる。その後、シーケンスはタイマ割込ルーチンか
ら割り込まれた位置にリターンする。これらステップS
54〜S56により同時押し抑止機能の一部が実現され
ている。
【0100】(2−4)自動演奏処理 図9は自動演奏処理の詳細を示すフローチャートであ
る。この自動演奏処理では、上述したように、通常自動
演奏処理及びコンサートマジック自動演奏処理が行われ
るが、ここではコンサートマジック自動演奏処理を主に
説明する。
【0101】自動演奏処理では、先ず、自動演奏フラグ
がオンであるかどうかが調べられる(ステップS7
0)。そして、自動演奏フラグがオンであることが判断
されると、通常自動演奏処理が行われる(ステップS7
1)。この通常自動演奏処理では、音符データポインタ
A及びステップタイムカウンタAを用いて、伴奏パート
の自動演奏データに対して従来の技術の欄で説明したと
同様の処理が行われる。この場合、ステップタイムカウ
ンタAは、タイミングカウンタの内容が変化する毎、即
ちチェックタイミングが到来する毎にインクリメントさ
れる。従って、ステップタイムカウンタAは1ステップ
タイム毎に更新されることになる。これにより、伴奏パ
ートの自動演奏データに基づく通常自動演奏が設定され
たテンポで行われる。
【0102】また、CMモードがオフであれば、この通
常自動演奏処理では更に、音符データポインタB及びス
テップタイムカウンタAを用いて、メロディパートの自
動演奏データに対して従来の技術の欄で説明したと同様
の処理が行われる。これにより、メロディパートの自動
演奏データに基づく通常自動演奏が設定されたテンポで
行われる。従って、この場合は伴奏パート及びメロディ
パートが同時に通常自動演奏されることになる。上記ス
テップS70で自動演奏フラグがオンでないことが判断
されると、この通常自動演奏処理はスキップされる。
【0103】次いで、ステップS72以下の処理によっ
てコンサートマジック自動演奏処理が行われる。即ち、
先ず演奏リクエストフラグがオンであるかどうかが調べ
られる(ステップS72)。ここで、演奏リクエストフ
ラグがオンでないことが判断されると、押鍵はなかった
ものとみなされ、シーケンスはコンサートマジック自動
演奏処理ルーチンからメイン処理ルーチンにリターンす
る。
【0104】一方、上記ステップS72で、演奏リクエ
ストフラグがオンであることが判断されると、押鍵があ
ったものとみなされ、コンサートマジックメイン処理
(以下、「CMメイン処理」という)が行われる(ステ
ップS73)。このCMメイン処理の詳細について、図
10のフローチャートを参照しながら説明する。
【0105】CMメイン処理では、先ず、CMモードで
あるかどうかが調べられる(ステップS80)。これ
は、CMフラグを調べることにより行われる。ここで、
CMモードでないことが判断されると、このCMメイン
処理ルーチンからリターンして自動演奏処理ルーチンに
戻る。つまり、CMモードでない場合は、押鍵があって
も自動演奏データに基づく発音処理は行われない。ちな
みに、CMモードでない場合は上述した鍵盤イベント処
理において、通常の発音処理が行われることになる。
【0106】上記ステップS80で、CMモードである
ことが判断されると、次いで、ステップが一致するかど
うかが調べられる(ステップS81)。即ち、音符デー
タポインタBにセットされている読出アドレスで指定さ
れる音符データ中のステップタイム値がステップタイム
カウンタBの内容と一致するかどうかが調べられる。こ
こで、一致しないことが判断されると、ステップタイム
カウンタBの内容がインクリメントされ(ステップS8
2)、その後、シーケンスはCMメイン処理ルーチンか
ら自動演奏処理ルーチンにリターンする。そして、自動
演奏処理ルーチンでは、ゲートオフ処理(ステップS7
4)が行われた後に、演奏リクエストフラグがオンであ
るかどうかが調べられ(ステップS75)、オンであれ
ばステップS73に戻って以下同様の処理が繰り返され
る。
【0107】以上の繰り返し(ステップS73→S80
→S81→S82→S74→S75→S73→・・・
・)により、ステップタイムカウンタBの内容がインク
リメントされると共に、発音中の音のゲートタイムがデ
クリメントされる。上記の繰り返し処理は、ステップタ
イムとは無関係に、CPU10の処理速度で行われる。
そして、ステップS81で、音符データポインタBにセ
ットされている読出アドレスで指定される音符データ中
のステップタイム値がステップタイムカウンタBの内容
と一致することが判断されると、音符データの読み出し
が行われる(ステップS83)。以上の処理は、要約す
れば、押鍵に応じて発音すべき音符データに含まれるス
テップタイム値までステップタイムを高速に進めると共
に、発音中の音の発音時間を、その進められたステップ
タイムに見合った分だけ短縮する処理ということができ
る。
【0108】次いで、読み出された音符データがノート
オンデータであるかどうかが調べられる(ステップS8
4)。これは、例えば、音符データの第1バイト目(キ
ーナンバ)のMSBを調べることにより行われる。な
お、本実施の形態2では、自動演奏データ中にはノート
オフを表す音符データは含まれていないものとし、消音
は必ずゲートオフ処理によって行われるものとする。こ
こで、ノートオンデータでないことが判断されるとシス
テム処理が行われる(ステップS85)。このシステム
処理では、例えば音色変更、効果変更等の処理が行われ
る。その後、シーケンスはステップS88へ分岐する。
【0109】上記ステップS84でノートオンデータで
あることが判断されると、次いで、ノートオン処理が行
われる(ステップS89)。このノートオン処理は、上
記ステップS83で読み出された音符データに基づいて
発音を開始する処理である。この際、その音符データに
含まれるゲートタイム値が、アサイナで割り当てられた
発音チャンネルに対応するゲートタイムカウンタに格納
される。発音処理の内容は既に説明した。次いで、演奏
リクエストフラグがクリアされる(ステップS87)。
次いで、次の音符データの読出アドレスが音符データポ
インタにセットされる(ステップS88)。その後、ス
テップS80に戻って、以下同様の処理が繰り返され
る。これにより、同一ステップタイム値を有する音符デ
ータが複数存在する場合に、それらの全てが同時に発音
される。
【0110】上記繰り返しの中で、ステップタイムカウ
ンタBの内容と異なるステップタイム値を有する音符デ
ータが読み出された場合に、上記ステップS81で、音
符データ中のステップタイム値がステップタイムカウン
タBの内容と一致しないことが判断され、ステップタイ
ムカウンタBの内容がインクリメントされ(ステップS
72)、その後、シーケンスはCMメイン処理ルーチン
から自動演奏処理ルーチンにリターンする。この場合、
演奏リクエストフラグはクリアされているので、次に押
鍵がなされるまではステップタイムカウンタBの内容が
強制的に進められることはない。
【0111】自動演奏処理ルーチンでは、次いで、ゲー
トオフ処理が行われる(ステップS74)。このゲート
オフ処理の内容は、図8のフローチャートを参照して既
に説明したものと同じである。次いで、演奏リクエスト
フラグがオンであるかどうかが調べられる(ステップS
75)。そして、演奏リクエストフラグがオンであるこ
とが判断されると、先のCMメイン処理ではノート処理
ではなくシステム処理が行われたものと認識され、ノー
トオン処理を行うべく再度ステップS80へ分岐する。
一方、演奏リクエストフラグがオフであることが判断さ
れると、シーケンスは、このCMメイン処理ルーチンか
ら自動演奏処理ルーチンにリターンする。これにより、
押鍵がなされた場合に、必ず1つ以上の音を発生する機
能が担保されている。
【0112】なお、以上では、CMフラグがオンの場合
に音符データポインタBによって指される音符データに
基づいてコンサートマジック自動演奏を行う場合につい
て説明した。この場合、同時に自動演奏フラグがオフで
あれば、上記のコンサートマジック自動演奏と並行し
て、音符データポインタAによって指される音符データ
に基づいてコンサートマジック自動演奏が行われる。図
10では、この場合の処理は省略されているが、この処
理は、上記音符データポインタBによって指される音符
データに基づいてコンサートマジック自動演奏を行う場
合と略同様の手順で実現できる。
【0113】なお、上記実施の形態2では、鍵盤装置1
7の何れかの鍵を押下することにより自動演奏が進めら
れるように構成したが、鍵に限らず、操作パネル15上
の所定のスイッチ、フットスイッチ等によって自動演奏
を進めるように構成しても良い。また、上記実施の形態
2では、自動演奏データ及び音符データポインタは、伴
奏パート用とメロディパート用とを各々別個に備える構
成としたが、自動演奏データは伴奏パート用とメロディ
パート用とを混在させて自動演奏データメモリ18に記
憶しておき、音符データポインタだけを伴奏パート用と
メロディパート用の2種類備える構成としてもよい。こ
の場合、自動演奏処理の中で、伴奏パート用の音符デー
タポインタで指される位置から読み出された音符データ
のパートが伴奏パートであるかどうかをチェックし、伴
奏パートである場合に発音処理を行い、同様に、メロデ
ィパート用の音符データポインタで指される位置から読
み出された音符データのパートがメロディパートである
かどうかをチェックし、メロディパートである場合に発
音処理を行うように構成できる。
【0114】(実施の形態3)次に、本発明の自動演奏
装置の実施の形態3について説明する。本実施の形態3
の自動演奏装置では、通常自動演奏を行うための処理と
コンサートマジック自動演奏を行うための処理とが同一
のプログラムで実現されている。また、この自動演奏装
置は、実施の形態2の自動演奏装置と同様に、同時押し
抑止機能を備えている。
【0115】次に、図11〜図13に示したフローチャ
ートを参照しながら、この実施の形態3に係る自動演奏
装置の動作を説明する。
【0116】(3−1)メイン処理 実施の形態3のメイン処理は、鍵盤イベント処理(ステ
ップS12)及び自動演奏処理(ステップS14)の各
処理内容を除き、上述した実施の形態1のメイン処理
(図3のフローチャート参照)と同じである。また、鍵
盤イベント処理及び自動演奏処理の詳細については後述
する。
【0117】(3−2)鍵盤イベント処理 鍵盤イベント処理は、図6のフローチャートに示した実
施の形態2の鍵盤イベント処理と同じである。
【0118】(3−3)タイマ割込処理 タイマ割込処理は、タイマ10aから発生された割込信
号に応答して、上記メイン処理に割り込んで実行され
る。図11は実施の形態3のタイマ割込処理の詳細を示
すフローチャートである。
【0119】タイマ割込処理では、先ず自動演奏フラグ
がオンであるかどうかが調べられる(ステップS9
0)。ここで、自動演奏フラグがオンであることが判断
されると、通常自動演奏を行うための処理が行われる。
即ち、先ずクロックカウンタの内容がインクリメントさ
れる(ステップS91)。次いで、クロックカウンタの
内容が所定値になったかどうかが調べられる(ステップ
S92)。これらステップS91及びS92の処理は、
それぞれ上述したステップS31及びS32(図5参
照)の処理と同じである。そして、所定値であることが
判断されると、タイミングカウンタの内容がインクリメ
ントされる(ステップS93)。従って、自動演奏フラ
グがオンのときは、タイミングカウンタの内容は、1ス
テップタイム毎にインクリメントされる。その後、シー
ケンスは、このタイマ割込処理ルーチンから割り込まれ
た位置にリターンする。上記ステップS92で所定値で
ないことが判断された場合も、シーケンスはこのタイマ
割込処理ルーチンから割り込まれた位置にリターンす
る。
【0120】一方、上記ステップS90で、自動演奏フ
ラグがオンでないことが判断されると、CMモードであ
るかどうかが調べられる(ステップS94)。ここで、
CMモードでないことが判断されると、シーケンスは、
このタイマ割込処理ルーチンからメイン処理ルーチンの
割り込まれた位置にリターンする。このシーケンスは、
通常自動演奏及びコンサートマジック自動演奏の何れも
行わない場合の処理であり、実質的に自動演奏に関する
処理は何等行われない。
【0121】上記ステップS94でCMモードであるこ
とが判断されると、以下、コンサートマジック自動演奏
を行うための処理が行われる。即ち、先ず同時押しタイ
マカウンタの内容がデクリメントされる(ステップS9
5)。そして、同時押しタイマカウンタの内容がゼロで
あるかどうかが調べられる(ステップS96)。ここ
で、ゼロであることが判断されるとタイミングカウンタ
に「1」がセットされ(ステップS97)、そうでなけ
ればステップS97の処理はスキップされる。このタイ
ミングカウンタに「1」をセットする処理は、上述した
実施の形態2の演奏リクエストフラグをオンにするのと
同様の意味を有する。その後、シーケンスはタイマ割込
ルーチンから割り込まれた位置にリターンする。
【0122】(3−4)自動演奏処理 図12は自動演奏処理の詳細を示すフローチャートであ
る。この自動演奏処理では、上述したように、通常自動
演奏処理及びコンサートマジック自動演奏処理が行われ
る。
【0123】自動演奏処理では、先ず、タイミングカウ
ンタの内容がゼロであるかどうかが調べられる(ステッ
プS100)。そして、タイミングカウンタの内容がゼ
ロであることが判断されると、シーケンスはこの自動演
奏処理ルーチンからメイン処理ルーチンにリターンす
る。タイミングカウンタの内容は、上述したように1ス
テップタイムが経過していない場合にゼロを維持し、及
び後述するようにコンサートマジック自動演奏による発
音が行われた場合にゼロにクリアされる。従って、通常
自動演奏を行う場合は、1ステップタイム以上が既に経
過した、換言すればチェックタイミングが既に到来して
いる場合に「1」以上になる。また、コンサートマジッ
ク自動演奏を行う場合は、押鍵があった場合に「1」に
なる。従って、通常自動演奏処理及びコンサートマジッ
ク自動演奏処理を行う必要があるときのみ、タイミング
カウンタの内容がゼロ以外になる。そして、この場合は
ステップS101以下の処理が実行される。
【0124】ステップS101ではCMメイン処理が行
われる。このCMメイン処理の内容は後述する。次い
で、自動演奏フラグがオンであるかどうかが調べられる
(ステップS102)。ここで、自動演奏フラグがオン
であることが判断されると、タイミングカウンタの内容
がデクリメントされる(ステップS103)。これによ
り、1つのチェックタイミングに対応する通常自動演奏
処理が終了したことが記憶される。その後、シーケンス
はステップS100に分岐する。
【0125】例えば、1ステップタイムが経過すること
によりタイミングカウンタの内容が「1」にセットされ
ると、CMメイン処理(ステップS101)で通常自動
演奏処理が行われ、その後、ステップS103でタイミ
ングカウンタの内容がゼロにされる。従って、ステップ
S100における判断によってシーケンスはこの自動演
奏処理ルーチンからメイン処理ルーチンにリターンす
る。以上の処理により、通常自動演奏処理の場合は、1
ステップタイム毎に発音すべき音符データが存在するか
どうかが調べられ、存在すれば発音が開始される機能が
実現されている。なお、CPU10の処理時間の都合
で、タイミングカウンタの内容が「2」以上になること
がある。この場合は、上記の通常自動演奏処理がタイミ
ングカウンタの内容に応じた回数だけ行われることにな
る。
【0126】一方、上記ステップS102で自動演奏フ
ラグがオンでないと判断された場合、つまりコンサート
マジック自動演奏を行う場合は、タイミングカウンタの
内容は後述するステップS118でゼロにクリアされる
ので、直接ステップS100へ分岐し、その後、シーケ
ンスはこの自動演奏処理ルーチンからメイン処理ルーチ
ンにリターンする。
【0127】次に、上記CMメイン処理につて、図13
のフローチャートを参照しながら説明する。このCMメ
イン処理では、コンサートマジック自動演奏処理のみな
らず、通常自動演奏処理も行われる。
【0128】CMメイン処理では、先ず、ゲートオフ処
理が行われる(ステップS110)。このゲートオフ処
理の内容は、図8のフローチャートを参照して既に説明
したものと同じである。次いで、ステップタイムカウン
タがインクリメントされる(ステップS111)。次い
で、ステップが一致するかどうかが調べられる(ステッ
プS112)。即ち、音符データポインタにセットされ
ている読出アドレスで指定される音符データ中のステッ
プタイム値がステップタイムカウンタの内容と一致する
かどうかが調べられる。ここで、一致しないことが判断
されると、シーケンスはCMメイン処理ルーチンから自
動演奏処理ルーチンにリターンする。
【0129】上記ステップS111及び112の処理に
よって、通常自動演奏の場合は、1ステップタイム毎に
ステップタイムカウンタがインクリメントされ、音符デ
ータポインタにセットされている読出アドレスで指定さ
れる音符データに基づく発音を行うかどうかが調べられ
ることになる。そして、上記ステップが一致することが
判断されると、シーケンスはステップS113に進む。
【0130】一方、コンサートマジック自動演奏の場合
は、タイミングカウンタの内容は「1」のままであるの
で、自動演奏処理ルーチンから再度本CMメイン処理が
コールされる。従って、以上の繰り返し(ステップS1
00→S101→S110→S111→S112→S1
02→S100→・・・・)により、ステップタイムカ
ウンタBの内容がインクリメントされると共に、発音中
の音のゲートタイムがデクリメントされる。上記の繰り
返し処理は、実施の形態2の場合と同様に、ステップタ
イムとは無関係に、CPU10の処理速度で行われる。
そして、上記ステップS112で一致することが判断さ
れると、シーケンスはステップS113へ進む。これに
より、押鍵に応じて発音すべき音符データに含まれるス
テップタイム値までステップタイムが高速に進められる
と共に、発音中の音の発音時間が、その進められたステ
ップタイムに見合った分だけ短縮される。
【0131】次いで、音符データが読み出され(ステッ
プS113)、次いで、読み出された音符データがノー
トオンデータであるかどうかが調べられる(ステップS
114)。ここで、ノートオンデータでないことが判断
されるとシステム処理が行われる(ステップS11
5)。これらステップS113〜115の処理は、実施
の形態2のCMメイン処理ルーチン(図10参照)のス
テップS83〜S85の処理と同じである。その後、シ
ーケンスはテップS11ス2へ分岐し、再度同様の処理
が繰り返される。
【0132】そして、上記ステップS114でノートオ
ンデータであることが判断されると、ノートオン処理が
行われる(ステップS116)。このノートオン処理
は、実施の形態2のCMメイン処理ルーチン(図10参
照)のステップS86の処理と同じである。
【0133】次いで、自動演奏フラグがオンであるかど
うかが調べられる(ステップS117)。ここで、自動
演奏フラグがオンであることが判断されると、シーケン
スはステップS112へ分岐し、再度同様の処理を繰り
返す。一方、自動演奏フラグがオフであることが判断さ
れると、タイミングカウンタがクリアされる(ステップ
S118)。これにより、次に押鍵がなされてタイミン
グカウンタが「1」にセットされるまで、コンサートマ
ジック自動演奏の処理は行われない。
【0134】以上説明したように、本実施の形態3によ
れば、通常自動演奏処理とコンサートマジック自動演奏
処理とを、1種類の処理ルーチン(図12の自動演奏処
理ルーチン及び図13のCMメイン処理ルーチン)で行
うことができるので、従来に比べ、プログラム量を少な
くするとができる。また、通常自動演奏及びコンサート
マジック自動演奏に使用するワークメモリ13の領域を
小さくすることができる。
【0135】
【発明の効果】以上詳述したように、本発明によれば、
装飾音符をリアルに再現でき、しかもリアルタイム入力
で作成された音符データ及び外部から受信したMIDI
メッセージをそのままコンサートマジック自動演奏に使
用することのできる電子楽器の自動演奏装置を提供でき
る。
【0136】また、通常自動演奏とコンサートマジック
自動演奏とを同時に行うことのできる電子楽器の自動演
奏装置を提供でき、更に従来と比べて少ないソフトウェ
ア量であるにも拘わらず、通常自動演奏とコンサートマ
ジック自動演奏とを同時に行うことのできる電子楽器の
自動演奏装置を提供できる。
【図面の簡単な説明】
【図1】本発明の自動演奏装置の実施の形態1〜実施の
形態3に共通に使用されるハードウェア構成を示すブロ
ック図である。
【図2】本発明の自動演奏装置の実施の形態1〜実施の
形態3及び従来の自動演奏装置に共通に使用される音符
データの形式を説明するための図である。
【図3】本発明の自動演奏装置の実施の形態1〜実施の
形態3に共通に使用されるメイン処理を示すフローチャ
ートである。
【図4】本発明の実施の形態1で使用される鍵盤イベン
ト処理を示すフローチャートである。
【図5】本発明の実施の形態1で使用されるタイマ割込
処理を示すフローチャートである。
【図6】本発明の実施の形態2で使用される鍵盤イベン
ト処理を示すフローチャートである。
【図7】本発明の実施の形態2で使用されるタイマ割込
処理を示すフローチャートである。
【図8】本発明の実施の形態2で使用されるゲートオフ
処理を示すフローチャートである。
【図9】本発明の実施の形態2で使用される自動演奏処
理を示すフローチャートである。
【図10】図9のCMメイン処理の詳細を示すフローチ
ャートである。
【図11】本発明の実施の形態3で使用されるタイマ割
込処理を示すフローチャートである。
【図12】本発明の実施の形態3で使用される自動演奏
処理を示すフローチャートである。
【図13】図12のCMメイン処理の詳細を示すフロー
チャートである。
【符号の説明】
10 CPU 10a タイマ 11 外部インタフェース回路 12 プログラムメモリ 13 ワークメモリ 14 パネルインタフェース回路 15 操作パネル 16 鍵盤インタフェース回路 17 鍵盤装置 18 自動演奏データメモリ 19 波形メモリ 20 音源 21 D/A変換器 22 増幅器 23 スピーカ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】各々に発音タイミングを規定するためのス
    テップタイム値が含まれた複数の音符データで成る第1
    の自動演奏データ及び各々に発音タイミングを規定する
    ためのステップタイム値が含まれた複数の音符データで
    成る第2の自動演奏データを記憶する記憶手段と、 該記憶手段に記憶された第2の自動演奏データに含まれ
    る音符データを指すポインタ手段と、前記第1の自動演奏データの読出 開始を指示する開始指
    示手段と、 該開始指示手段による指示に応じて、該第1の自動演奏
    データに含まれる音符データを該記憶手段から順次読み
    出し、該読み出された音符データに基づく楽音を、該読
    み出された音符データに含まれるステップタイム値に対
    応するタイミングで自動的に発生する第1の楽音発生手
    段と、前記第2の自動演奏データによる 自動演奏の進行を指示
    する進行指示手段と、 該進行指示手段によって前記第2の自動演奏データによ
    自動演奏の進行が指示された時に、該ポインタ手段で
    指された音符データに含まれるステップタイム値までス
    テップタイムカウンタを高速に進め、該ステップタイム
    カウンタの値と同一のステップタイム値を有する全ての
    音符データを該記憶手段から読み出して対応する楽音の
    発音を開始すると共に、既に発音中の楽音は該ステップ
    タイムカウンタが高速に進められた時間に見合った分だ
    け発音時間を短縮させる第2の楽音発生手段、とを有
    し、 該第1の楽音発生手段及び第2の楽音発生手段は各々独
    立に楽音を発生する電子楽器の自動演奏装置。
  2. 【請求項2】前記第1の自動演奏データは伴奏音を発生
    するための自動演奏データであり、前記第2の自動演奏
    データはメロディ音を発生するための自動演奏データで
    ある請求項1の電子楽器の自動演奏装置。
JP35397596A 1996-12-18 1996-12-18 電子楽器の自動演奏装置 Expired - Lifetime JP3192597B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35397596A JP3192597B2 (ja) 1996-12-18 1996-12-18 電子楽器の自動演奏装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35397596A JP3192597B2 (ja) 1996-12-18 1996-12-18 電子楽器の自動演奏装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP31659099A Division JP3226268B2 (ja) 1996-12-18 1999-11-08 コンサートマジック自動演奏装置

Publications (2)

Publication Number Publication Date
JPH10177382A JPH10177382A (ja) 1998-06-30
JP3192597B2 true JP3192597B2 (ja) 2001-07-30

Family

ID=18434482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35397596A Expired - Lifetime JP3192597B2 (ja) 1996-12-18 1996-12-18 電子楽器の自動演奏装置

Country Status (1)

Country Link
JP (1) JP3192597B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100418563B1 (ko) * 2001-07-10 2004-02-14 어뮤즈텍(주) 동기정보에 의한 미디음악 재생 방법 및 장치
JP3811043B2 (ja) * 2001-10-10 2006-08-16 株式会社河合楽器製作所 電子楽器
CN113689835A (zh) * 2020-05-18 2021-11-23 微软技术许可有限责任公司 自动音乐生成
WO2023032137A1 (ja) * 2021-09-02 2023-03-09 ヤマハ株式会社 データ変更方法、データ再生方法、プログラムおよびデータ変更装置

Also Published As

Publication number Publication date
JPH10177382A (ja) 1998-06-30

Similar Documents

Publication Publication Date Title
JPH0125078B2 (ja)
JP3192597B2 (ja) 電子楽器の自動演奏装置
JP2005092178A (ja) 自動演奏装置及びプログラム
JP3226268B2 (ja) コンサートマジック自動演奏装置
JP3844286B2 (ja) 電子楽器の自動伴奏装置
US6080926A (en) Automatic accompanying apparatus and automatic accompanying method capable of simply setting automatic accompaniment parameters
JPH06259064A (ja) 電子楽器
JP3192579B2 (ja) 自動演奏装置及び自動演奏方法
JP3171759B2 (ja) 自動演奏装置
JP3620366B2 (ja) 電子鍵盤楽器
JP2003280641A (ja) 楽器の運指ガイド装置
JP3150580B2 (ja) 自動演奏装置及び自動演奏方法
JP2570819B2 (ja) 電子楽器
JP3169535B2 (ja) 自動演奏装置及び自動演奏方法
JP4186855B2 (ja) 楽音制御装置及びプログラム
JP2513014B2 (ja) 電子楽器の自動演奏装置
JPH07146681A (ja) 電子楽器
JP2004258050A (ja) 自動演奏装置及び自動演奏方法
JPS6292997A (ja) 電子楽器
JP4218566B2 (ja) 楽音制御装置及びプログラム
JPH10319949A (ja) 電子楽器
JP2953937B2 (ja) 電子楽器の音量調整装置
JPH11311989A (ja) 自動演奏装置及び自動演奏方法
JP3356326B2 (ja) 電子楽器
JPH06314096A (ja) 電子楽器の前コード検出装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010510

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

Free format text: PAYMENT UNTIL: 20080525

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090525

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090525

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100525

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100525

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110525

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120525

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130525

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140525

Year of fee payment: 13

EXPY Cancellation because of completion of term