JP2000148142A - コンサ―トマジック自動演奏装置 - Google Patents
コンサ―トマジック自動演奏装置Info
- Publication number
- JP2000148142A JP2000148142A JP11316590A JP31659099A JP2000148142A JP 2000148142 A JP2000148142 A JP 2000148142A JP 11316590 A JP11316590 A JP 11316590A JP 31659099 A JP31659099 A JP 31659099A JP 2000148142 A JP2000148142 A JP 2000148142A
- Authority
- JP
- Japan
- Prior art keywords
- automatic performance
- data
- note data
- processing
- note
- 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
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
イム入力で作成された音符データ及び外部から受信した
MIDIメッセージをそのままコンサートマジック自動
演奏に使用することのできるコンサートマジック自動演
奏装置を提供する。 【解決手段】各々に発音タイミングを規定するためのス
テップタイム値が含まれた複数の音符データで成る自動
演奏データを記憶する自動演奏データメモリ18と、該
自動演奏データメモリに記憶された自動演奏データに含
まれる音符データを指すポインタ手段13と、自動演奏
の進行を指示する鍵盤装置17と、該鍵盤装置によって
自動演奏の進行が指示された時に、該ポインタ手段で指
された音符データから、該音符データに含まれるステッ
プタイム値から所定範囲内のステップタイム値を有する
音符データまでの各音符データを該自動演奏データメモ
リから順次読み出し、これら読み出された音符データに
基づき楽音を発生する楽音発生手段10、20〜23と
を有する。
Description
づいて自動演奏を行うコンサートマジック自動演奏装置
に関し、特にユーザの指示に応じて自動演奏を進める技
術に関する。この明細書で「自動演奏データ」とは、1
つのまとまった自動演奏(例えば所定の楽曲又は所定の
フレーズ)を行うための複数の音符データの集合をい
う。
記憶された自動演奏データメモリを有している。この自
動演奏装置は、自動演奏スタートスイッチが操作される
と、自動演奏データメモリから自動演奏データを順次読
み出して楽音発生装置に送る。楽音発生装置は、受け取
った自動演奏データに基づいて順次楽音を発生し、これ
により自動演奏が行われる。
構成する各音符データは1音を発生するために用いら
れ、例えば図2に示すように、4バイトのデータで構成
されている。各バイトには、キーナンバ、ステップタイ
ム、ゲートタイム及びベロシティ/パートが割り当てら
れている。「キーナンバ」の最上位ビットは、ノートオ
ン又はノートオフを指示するために使用される。下位7
ビットは、鍵盤装置の各鍵に付された番号に対応し、音
高を指定するために使用される。「ステップタイム」は
発音開始の時刻(以下、「発音タイミング」という)を
指定するために使用される。「ゲートタイム」は音の長
さ(音長)を指定するために使用される。「ベロシティ
/パート」のうち、「ベロシティ」は例えば5ビットの
データで成り、音の強さを指定するために使用される。
また、「パート」は例えば3ビットで成り、音の属する
パートを指定するために使用される。1つの自動演奏デ
ータは、このような音符データが、ステップタイム値の
順番に並べられることによって構成されている。
タによって制御される。即ち、自動演奏が開始される
と、ステップタイムカウンタの内容が1ステップタイム
毎にカウントアップされる。1ステップタイムは、例え
ば1拍の、1/24、1/48、1/96等といった具
合に機種によって任意に定義される。1拍の実時間はテ
ンポによって定まるので、1ステップタイムの実時間、
つまりステップタイムカウンタのカウントアップの実時
間間隔もテンポによって決定される。この実時間は、通
常タイマによって作成される。
される。自動演奏処理を実行するかどうかを判断するた
めに、自動演奏フラグがオンになっているかどうかが一
定周期で調べられる。そして、自動演奏処理は自動演奏
フラグがオンになっているときにのみ行われる。このこ
とは、自動演奏フラグのオン/オフを制御することによ
って自動演奏処理を行うかどうか、換言すれば、自動演
奏音を発生するかどうかを制御できることを意味する。
の、音符データポインタで指される位置から1つの音符
データが読み出される。そして、その音符データに含ま
れるステップタイム値とステップタイムカウンタの内容
とが比較される。この比較結果が不一致の場合は、その
音符データは発音タイミングに至っていないものと判断
され、その音符データに基づく発音は開始されない。
音符データは発音タイミングに至ったものと判断され、
その音符データに基づく発音が開始される。この場合、
音高は音符データ中のキーナンバで、音の長さはゲート
タイムで、音の強さはベロシティでそれぞれ指定され
る。1つの音符データに基づく発音開始が終了すると、
音符データポインタの内容に「4」が加えられる。そし
て、自動演奏データメモリの、音符データポインタで指
される位置から次の音符データが読み出される。この音
符データ中のステップタイム値がステップタイムカウン
タの内容と一致すると、この音符データも発音タイミン
グに至ったものと判断され、その音符データに基づく発
音が開始される。以下、自動演奏データメモリから順次
読み出された音符データの中のステップタイム値がステ
ップタイムカウンタの内容と一致しなくなるまで、上述
したと同様の処理が行われる。これにより、同一のステ
ップタイム値を有する音符データは同時に発音が開始さ
れ、例えば和音のように複数音を同時に発音する機能が
実現されている。以上の自動演奏処理は、ステップタイ
ムカウンタの内容がインクリメント(「+1」するこ
と、以下においても同じ)されている状態の下で、一定
周期で次々に行われる。なお、通常は、自動演奏処理が
実行される周期は、ステップタイムカウンタがカウント
アップされる周期より十分小さくなるように設計されて
いる。
始された音は、その音に対応する音符データ中のゲート
タイム値で指定された時間が経過することにより消音さ
れる。この消音は、具体的には次のようにして行われ
る。即ち、1つの音符データに基づく発音が開始される
時に、その音符データ中のゲートタイム値が所定のゲー
トタイムカウンタにセットされる。ゲートタイムカウン
タは、上述した自動演奏処理とは独立に、1ステップタ
イム毎にデクリメント(「−1」すること、以下におい
ても同じ)される。そして、ゲートタイムカウンタの内
容がゼロになった時に、そのゲートタイムカウンタに対
応する音は消音される。以上のようにして発音と消音と
が次々に行われることにより自動演奏が行われる。
応用した装置の1つとして、コンサートマジック機能付
き自動演奏装置(以下、「コンサートマジック自動演奏
装置」と略する)が開発されている。ここで、「コンサ
ートマジック機能」とは、押鍵されたタイミングで音符
データを自動演奏データメモリから読み出し、この音符
データに基づいて発音する機能である。以下において
は、コンサートマジック機能を用いた自動演奏を「コン
サートマジック自動演奏」という。これに対し、従来の
ステップタイムカウンタにより演奏を進める自動演奏を
「通常自動演奏」という。
自動演奏データは、通常自動演奏で使用される自動演奏
データと同じである。しかし、コンサートマジック自動
演奏では、各音符データに含まれるステップタイム値に
よって発音タイミングが決定されることはない。但し、
通常自動演奏の場合と同様に、同一のステップタイム値
を有する複数の音符データに基づく複数の発音は同時に
行われるので、この場合は例外的にステップタイム値に
よって発音タイミングが決定される。これにより、コン
サートマジック自動演奏においても、和音の発生が可能
になっている。
演奏では、鍵盤装置は単に発音タイミングを与える手段
として使用される。従って、ユーザは、発音すべきタイ
ミングに合わせて鍵盤装置の何れかの鍵を押すことによ
り、自動演奏を進めることができる。換言すれば、コン
サートマジック自動演奏装置は、音高、音長及び音の強
さは自動演奏データに基づいて決定され、発音タイミン
グはユーザの指示に基づいて決定される自動演奏装置と
いうことができる。
トスイッチが操作されると自動的に自動演奏が行われる
のでユーザが介入する余地がないのに対し、このコンサ
ートマジック自動演奏装置では、ユーザが鍵を押すこと
によって自動演奏が進行するので、ユーザは、あたかも
自分が演奏をしているような満足感を得ることができ
る。
及び通常自動演奏の両方を行うことができる自動演奏装
置も開発されている。この自動演奏装置は、何れの演奏
を行うかは、例えば操作パネルに設けられたスイッチで
選択するように構成されている。この自動演奏装置によ
れば、同一の自動演奏データを用いて2種類の演奏形態
で自動演奏を行わせることができる。
たコンサートマジック自動演奏装置は、以下のような問
題を有している。即ち、コンサートマジック自動演奏で
は、鍵盤装置の鍵が押された場合に、同一のステップタ
イム値を有する音符データだけが自動演奏データメモリ
から読み出されて発音に供されるという問題である。換
言すれば、ステップタイム値が少しでも異なると同時に
発音されないという問題である。
合、ステップタイム値が僅かに異なる2つの音符データ
が用いられる。これらの音符データに基づいてコンサー
トマジック自動演奏を行う場合は、実際に装飾音を発生
させる場合のように、2つの鍵を短時間に連続して押す
必要がある。仮にユーザが装飾音符であることを忘れ
て、通常の音符のようなタイミングで鍵を押すと、自動
演奏は本来の曲とは異なった演奏になる。
演奏データをそのままコンサートマジック自動演奏に使
用する場合は、以下のような問題がある。例えばリアル
タイム入力で和音の自動演奏データを作成する場合、鍵
タッチの微妙な相違により、得られた複数の音符データ
の中のステップタイム値が僅かに異なることがある。こ
の場合も上記装飾音の場合と同様の問題が発生する。そ
こで、従来は、リアルタイム入力で作成された自動演奏
データは、必ずクオンタイズする必要があった。
をステップタイム値とし、このステップタイム値と該M
IDIメッセージとを一対にして自動演奏データメモリ
に順次記憶し、これをそのまま自動演奏データとして用
いる装置が考えられる。この場合、例えば和音を表す複
数のMIDIメッセージを受信する場合を考えると、M
IDIメッセージはシリアルに送られてくるので、各M
IDIメッセージに対応付けられる受信時刻、即ちステ
ップタイム値が僅かに異なることがある。従って、この
場合も、上記リアルタイム入力の場合と同様の問題が存
在する。
ルに再現でき、しかもリアルタイム入力で作成された音
符データ及び外部から受信したMIDIメッセージをそ
のままコンサートマジック自動演奏に使用することので
きるコンサートマジック自動演奏装置を提供することに
ある。
るコンサートマジック自動演奏装置は、上記目的を達成
するために、各々に発音タイミングを規定するためのス
テップタイム値が含まれた複数の音符データで成る自動
演奏データを記憶する記憶手段と、該記憶手段に記憶さ
れた自動演奏データに含まれる音符データの読み出し位
置を示すポインタ手段と、自動演奏の進行を指示する指
示手段と、該指示手段の指示に応答して、前記ポインタ
手段で示された音符データから所定範囲のステップタイ
ム値を有する音符データまでの各音符データを前記記憶
手段から順次読み出し、該読み出した音符データに基づ
き楽音を発生する楽音発生手段、とを有する。
トマジック自動演奏装置は、上記と同様の目的で、複数
の音符データを、各音符データが有するステップタイム
値の順番に並べて自動演奏データとして記憶した記憶手
段と、自動演奏の進行を指示する指示手段と、該指示手
段の指示に応答して、前記指示手段による前回の指示に
基づき前記記憶手段から読み出して発音された音符デー
タに続く、所定範囲のステップタイム値を有する複数の
音符データを、該複数の音符データのそれぞれのステッ
プタイム値に対応した時間間隔で順次読み出して発音す
る楽音発生手段、とを有する。
トマジック自動演奏装置は、上記と同様の目的で、複数
の音符データを、各音符データが有するステップタイム
値の順番に並べて自動演奏データとして記憶した記憶手
段と、設定されたテンポに従って前記記憶手段に記憶さ
れた音符データを順次読み出して発音する自動演奏手段
と、該自動演奏手段における自動演奏の進行を指示する
指示手段と、該指示手段の指示に応答して、前記指示手
段による前回の指示に基づき前記記憶手段から読み出し
て発音された音符データに続く、所定範囲のステップタ
イム値を有する複数の音符データに基づいて前記自動演
奏手段に発音させる制御手段、とを有する。
ジック自動演奏装置における指示手段としては例えば鍵
盤装置を用いることができる。この場合、該鍵盤装置の
何れかの鍵を操作することにより自動演奏の進行を指示
するように構成できる。なお、指示手段としては鍵盤装
置に限らず、例えば操作パネル上のスイッチ、フットス
イッチ、外部から供給されるMIDIメッセージ等を用
いることができる。また、前記所定範囲のステップタイ
ム値は1拍の長さを整数分割した値を用いることができ
る。更に、前記所定範囲は可変とすることができる。
ては、指示手段による指示があった場合に、その時点で
ポインタ手段で指されている音符データ及び該音符デー
タのステップタイム値と同一のステップタイム値を有す
る音符データ並びに該ステップタイム値から所定範囲内
のステップタイム値を有する音符データをステップタイ
ム値の順番で順次記憶手段から読み出し、これら読み出
された一連の音符データに基づき楽音を発生する。ここ
で、ステップタイム値は発音タイミング(時刻)を規定
するために使用されるので、上記一連の音符データは、
指示手段で指示されてから一定時間内に発音されるべき
音符データである。従って、上記所定範囲を適当に定め
ることにより、指示手段による指示があった場合に当該
発音タイミングで発生すべき音及びその発音タイミング
以降の所定時間内に発生すべき音が順次発生される。
示、例えば押鍵によって装飾音符及び被装飾音符を続け
て発音できるので、装飾音を伴ったフレーズをリアルに
再現できる。また、リアルタイム入力で作成された自動
演奏データに含まれる各音符データのステップタイム値
が多少異なっても、これらは略同時に発音される。従っ
て、該自動演奏データをクオンタイズする必要がなく、
そのままコンサートマジック自動演奏のために使用する
ことができる。更に、外部から受信したMIDIメッセ
ージに付されたステップタイム値が多少異なってもこれ
らは略同時に発音される。従って、該MIDIメッセー
ジをそのままコンサートマジック自動演奏に使用するこ
とができる。
ク自動演奏装置の実施の形態について図面を参照しなが
ら詳細に説明する。
ートマジック自動演奏装置のハードウェア構成を示すブ
ロック図である。このブロック図に示した構成は、以下
に説明する各実施の形態で共通に使用される。コンサー
トマジック自動演奏装置は、中央処理装置(以下、「C
PU」という)10、プログラムメモリ12、ワークメ
モリ13、パネルインタフェース回路14、鍵盤インタ
フェース回路16、自動演奏データメモリ18、波形メ
モリ19及び音源20を有し、これら各要素はシステム
バス30で相互に接続されている。システムバス30
は、例えばアドレス信号、データ信号又は制御信号等を
送受するために使用される。
憶されているプログラムに従って動作し、これによって
コンサートマジック自動演奏装置の全体を制御する。こ
のCPU10が行う処理の詳細については後にフローチ
ャートを参照しながら説明する。
タフェース回路11が接続されている。タイマ10aは
割込信号を一定時間間隔、例えば2ミリ秒間隔で発生
し、CPU10に供給する。この割込信号は、後述する
割込処理ルーチンを起動するトリガーとして用いられ
る。
0と外部装置との間のデータの送受を制御する。この外
部インタフェース回路11は、外部に接続される外部装
置の種類に応じて、例えばMIDIインタフェース、R
S232Cインタフェース、SCSIインタフェース等
といった汎用インタフェース又は機種に固有のインタフ
ェースを取り扱うように構成できる。以下においては、
この外部インタフェース回路11としてMIDIインタ
フェース回路が用いられるものとする。外部装置として
は、例えば他の電子楽器、パーソナルコンピュータ、シ
ーケンサ等を用いることができる。
ら送られてきたMIDIメッセージを受信し、CPU1
0に供給する。CPU10は、このMIDIメッセージ
に基づいて発音・消音処理を行い、また操作パネル15
の設定状態を変更する処理を行う。逆に、後述する操作
パネル15及び鍵盤装置17が操作されることによって
発生されたデータは、MIDIメッセージに変換され、
外部インタフェース回路11を介して外部装置に送信さ
れる。これにより、本コンサートマジック自動演奏装置
の操作パネル15及び鍵盤装置17から外部装置を制御
できる。
ンリメモリ(以下、「ROM」という)で構成されてい
る。このプログラムメモリ12には、上述したプログラ
ムの他に、CPU10が使用する種々の固定データ、複
数の音色パラメータ等を記憶している。1つの音色パラ
メータは、所定の楽器音の所定の音域の音色を発生する
ために使用される。各音色パラメータは、例えば波形ア
ドレス、周波数データ、エンベロープデータ、フィルタ
係数等で構成されている。なお、このプログラムメモリ
12は、ランダムアクセスメモリ(以下、「RAM」と
いう)で構成することもできる。この場合、本コンサー
トマジック自動演奏装置を動作させるに先立って、上記
プログラム、固定データ、音色パラメータ等を外部に接
続された例えばROMカード、RAMカード、フロッピ
ーディスク、CD−ROM、ハードディスク等といった
記憶装置(図示しない)からプログラムメモリ(RA
M)12にロードするように構成すればよい。
り、CPU10が各種処理を行う際に、種々のデータを
一時記憶するために使用される。このワークメモリ13
には、このコンサートマジック自動演奏装置を制御する
ための各種レジスタ、カウンタ、フラグ等が定義されて
いる。これらの詳細については後に各実施の形態毎に説
明する。
ネル15が接続されている。操作パネル15には、何れ
も図示しないが、例えば自動演奏スタートスイッチ、コ
ンサートマジックスイッチ(以下、「CMスイッチ」と
いう)、選曲スイッチ、音色選択スイッチ、音響効果指
定スイッチ、音量スイッチ等が設けられている。また、
各スイッチの設定状態を表示するLED表示器、ユーザ
が本コンサートマジック自動演奏装置と対話するための
メッセージを表示するLCD表示器等が設けられてい
る。
について簡単に説明する。自動演奏スタートスイッチ
は、通常自動演奏を開始又は停止させるために使用され
る。この自動演奏スタートスイッチは、例えば押釦スイ
ッチで構成されている。この自動演奏スタートスイッチ
のオン/オフ状態は、自動演奏フラグによって記憶され
る。自動演奏フラグは、自動演奏スタートスイッチが押
される度に反転する。そして、通常自動演奏が停止中
(自動演奏フラグがオフ)に自動演奏スタートスイッチ
が押されると自動演奏フラグがオンにされると共に通常
自動演奏が開始される。この通常自動演奏が行われてい
る状態を通常自動演奏モードという。一方、通常自動演
奏中(自動演奏フラグがオン)に自動演奏スタートスイ
ッチが押されると自動演奏フラグがオフにされると共に
通常自動演奏は停止される。
演奏を行うかどうかを指定するために使用される。この
CMスイッチは、例えば押釦スイッチで構成されてい
る。このCMスイッチの設定状態は、コンサートマジッ
クフラグ(以下、「CMフラグ」という)によって記憶
される。CMフラグは、CMスイッチが押される度に反
転する。即ち、コンサートマジック自動演奏を行う状態
(以下、「CMモード」という)でない時(CMフラグ
がオフの時)にCMスイッチが押されるとCMフラグが
オンにされてCMモードに移る。一方、CMモードの時
(CMフラグがオンの時)にCMスイッチが押されると
CMフラグがオフにされてCMモードが解除される。
動演奏又はコンサートマジック自動演奏する曲を選択す
るために使用される。音色選択スイッチは発生する音の
音色を選択するために、音響効果スイッチは発生する音
に付加する効果を選択するために、音量スイッチは発生
する音の音量を制御するために各々使用される。
PU10からの指令に応じて操作パネル15上の各スイ
ッチをスキャンする。パネルインタフェース回路14
は、このスキャンにより得られた各スイッチの開閉状態
を示す信号に基づいて、各スイッチを1ビットに対応さ
せたパネルデータを作成する。各ビットは、例えば
「1」でスイッチオン状態、「0」でスイッチオフ状態
を表す。このパネルデータは、システムバス30を介し
てCPU10に送られる。このパネルデータは、操作パ
ネル15上のスイッチのオンイベント又はオフイベント
が発生したかどうかを判断するために使用される(詳細
は後述する)。
CPU10から送られてきた表示データを操作パネル1
5上のLED表示器及びLCD表示器に送る。これによ
り、CPU10から送られてきたデータに従って、LE
D表示器が点灯/消灯され、またメッセージがLCD表
示器に表示される。
17が接続されている。鍵盤装置17は複数の鍵を有し
ている。この鍵盤装置17は、CMモードでない時は、
発音及び消音を指示するために使用される。一方、CM
モードでは、自動演奏を進めるトリガー(より具体的に
は、音符データを自動演奏データメモリ18から読み出
すトリガー)として使用される。この鍵盤装置17とし
ては、例えば、異なる押圧深さでそれぞれオンになる第
1及び第2のキースイッチを各鍵に備えた2接点方式の
鍵盤装置を用いることができる。
U10からの指令に応じて鍵盤装置17上の各キースイ
ッチをスキャンする。鍵盤インタフェース回路16は、
このスキャンにより得られた各キースイッチの開閉状態
を示す信号に基づいて、鍵盤データを作成する。鍵盤デ
ータは、各鍵を1ビットに対応させたビット列で成り、
各ビットは、例えば「1」で押鍵中、「0」で離鍵中で
あることを表す。押鍵中であることを表す「1」のデー
タは、例えば第1及び第2のキースイッチの双方がオン
になっている場合に作成される。離鍵中であることを表
す「0」のデータは、上記以外の場合に作成される。
オンになってから第2のキースイッチがオンになるまで
の時間が計測され、この計測された時間に基づいてベロ
シティデータが作成される。これら鍵盤データ及びベロ
シティデータは、システムバス30を介してCPU10
に送られる。CPU10は、鍵盤データに基づいて鍵盤
イベントがあったかどうかを判断する(詳細は後述す
る)。なお、鍵盤装置17は、電子弦楽器、電子管楽
器、電子打楽器、コンビユータ等に備えられた操作子で
代用できる。この場合、これらの電子弦楽器等の操作子
からは、上記鍵盤データ及びベロシティデータに相当す
るデータがCPU10に送られる。そして、CPU10
は、これらのデータに基づいてイベントの有無を判断す
る。
Mで構成されており、複数の自動演奏データを記憶す
る。これらの自動演奏データは、通常自動演奏、コンサ
ートマジック自動演奏、デモンストレーション演奏等に
使用される。各自動演奏データは、「ソング番号」と呼
ばれる識別子が付されている。ユーサは操作パネル15
上の選曲スイッチでソング番号を指定することにより任
意の曲を選択できる。選択された曲のソング番号は、ワ
ークメモリ13に定義されたソング番号レジスタにセッ
トされる。これら各自動演奏データは、従来の技術の欄
で説明したと同様に、複数の音符データで構成されてい
る。なお、この自動演奏データメモリ18は、RAM、
ROMカード、RAMカード、フロッピーディスク、C
D−ROM等で構成することができる。自動演奏データ
メモリ18としてフロッピーディスク、CD−ROMを
用いた場合は、これらに記憶された自動演奏データを一
旦RAMにロードして使用するのが好ましい。
応する波形データを記憶している。波形データは、例え
ば自然楽器音を電気信号に変換し、これをパルスコード
変調(PCM)して作成される。この波形メモリ19
は、例えばROMで構成することができる。この波形メ
モリ19に記憶された波形データは、音源20によって
読み出される。
いる。ここで、発音チャンネルとは、1つの音を発生す
るためにハードウェア及びソフトウェアによって形成さ
れた系統をいう。各発音チャンネルには少なくとも1つ
のオシレータが割り当てられる。各発音チャンネルは独
立に音を発生することができる。従って、この音源20
は、複数音を同時に発生できる。各発音チャンネルは、
詳細は図示しないが、波形メモリ19から波形データを
読み出すための波形読出回路、この読み出された波形デ
ータにエンベロープを付加するためのエンベロープ生成
回路等により構成されている。
す鍵盤データ及びベロシティデータ、外部インタフェー
ス回路11からノートオンを示すMIDIメッセージ、
又は自動演奏データメモリ18からノートオンを表す音
符データを受け取ると、これらに対応する音色パラメー
タをプログラムメモリ12から読み出し、ベロシティデ
ータと共に音源20に送る。これらのデータを受け取っ
た音源20は、アサイナを起動する。アサイナは、空き
発音チャンネル(発音中でない発音チャンネル)を検索
し、検索された空き発音チャンネルに該音色パラメータ
を送る。この発音チャンネルでは、音色パラメータに含
まれる波形アドレス、周波数データ、エンベロープデー
タに基づきデジタル楽音信号が生成される。即ち、発音
チャンネルは、波形アドレスで示される波形メモリ19
の位置から、周波数データに応じた速度で波形データを
順次読み出し、これにエンベロープデータで指定される
エンベロープを付加し、以てデジタル楽音信号を生成す
る。このデジタル楽音信号は、更にベロシティデータに
応じた増幅が行われ、D/A変換器21に供給される。
ディケイ、リリース等といった楽音波形の各フェーズ毎
に、例えば「目標レベル」及び「到達時間」で成るパラ
メータで構成される。このエンベロープデータを音源2
0にセットすることにより、エンベロープの形状を変更
することができる。例えば、リリースのフェーズ用のエ
ンベロープデータ中の「到達時間」を大きくすれば、リ
リース時間の長いエンベロープを有する楽音波形を作成
することができる。
/A変換器21でアナログ信号に変換され、次いで、増
幅器22で増幅されてスピーカ23に送られる。そし
て、スヒーカ23で音響信号に変換されて放音される。
態1に係るコンサートマジック自動演奏装置について説
明する。この実施の形態1に係るコンサートマジック自
動演奏装置は、説明を簡単にするために、通常自動演奏
機能は有せず、コンサートマジック自動演奏機能のみを
有するものとする。
要なレジスタ、カウンタ、フラグ等のうち、本実施の形
態1において使用される主なものについて説明する。な
お、下記以外については、以下において必要の都度説明
する。
ック自動演奏装置が通常自動演奏モードであるかどうか
を記憶する。 (b)CMフラグ:本コンサートマジック自動演奏装置
がCMモードであるかどうかを記憶する。 (c)音符データポインタ:現在実行中の音符データが
置かれている自動演奏データメモリ18上のアドレス
(以下、「読出アドレス」という)を保持する。 (d)クロックカウンタ:タイマ割込が発生する度にイ
ンクリメントされるカウンタである。従って、例えば2
ミリ秒毎にインクリメントされる。 (e)演奏時間カウンタ:押鍵から所定時間が経過した
ことを検出するためのカウンタである。鍵が押された時
に所定値がセットされ、1ステップタイム毎にデクリメ
ントされる。 (f)新パネルデータレジスタ:今回のスイッチイベン
ト処理で取り込まれたパネルデータを記憶する。 (g)旧パネルデータレジスタ:前回のスイッチイベン
ト処理で取り込まれたパネルデータを記憶する。 (h)新鍵盤データレジスタ:今回の鍵盤イベント処理
で取り込まれた鍵盤データを記憶する。 (i)旧鍵盤データレジスタ:前回の鍵盤イベント処理
で取り込まれた鍵盤データを記憶する。
を参照しながら、この実施の形態1に係るコンサートマ
ジック自動演奏装置の動作を説明する。
イン処理は電源の投入又は図示しないリセットスイッチ
の押下により開始する。メイン処理では、先ず、初期化
処理が行われる(ステップS10)。この初期化処理で
は、CPU10の内部のハードウェアが初期化されると
共に、ワークメモリ13に定義されているレジスタ、カ
ウンタ、フラグ等に初期値が設定される。また、この初
期化処理では、電源投入時に不要な音が発生されるのを
抑止するために、音源20に所定のデータが送られる。
チイベント処理が行われる(ステップS11)。このス
イッチイベント処理では、CPU10は、先ずパネルイ
ンタフェース回路14からパネルデータ(以下、「新パ
ネルデータ」という)を取り込み、これを新パネルデー
タレジスタに格納する。次いで、スイッチイベントマッ
プが作成される。このスイッチイベントマップは、新パ
ネルデータと、前回のスイッチイベント処理で取り込ま
れて旧パネルデータレジスタに記憶されているパネルデ
ータ(以下、「旧パネルデータ」という)とを排他的論
理和演算することにより作成される。このパネルイベン
トマップの全ビットがゼロであればスイッチイベントは
発生しなかったものと判断され、そうでなければ何れか
のスイッチのイベントが発生したものと判断される。
奏スタートスイッチに対応するビットが「1」であれば
自動演奏スタートスイッチのイベント(オンイベント又
はオフイベント)が発生したものと判断される。そし
て、更に新パネルデータ中の自動演奏スタートスイッチ
に対応するビットも「1」であれば、該イベントはオン
イベント、即ち自動演奏スタートスイッチが押されたも
のと判断され、「0」であれば、該イベントはオフイベ
ント、即ち自動演奏スタートスイッチが離されたものと
判断される。その他のスイッチについても同様である。
演奏スタートスイッチのオンイベントが発生したことが
判断されると、自動演奏フラグが反転される。この反転
によって自動演奏フラグがオンになった時は、その時点
で選択されている曲、即ちソング番号レジスタ内のソン
グ番号によって指定される曲に対応する自動演奏データ
の先頭アドレスが音符データポインタにセットされる。
これにより、音符データの読出アドレスが決定される。
生したことが判断されると、CMフラグが反転される。
その他のスイッチ、例えば音色選択スイッチのオンイベ
ントが発生したことが判断されると、現在設定されてい
る音色が、その押された音色選択スイッチに対応する音
色に変更される。このように、スイッチイベント処理で
は、操作パネル15上の各スイッチに割り当てられてい
る機能を実現するための処理が実行される。そして、最
後に、新パネルデータが旧パネルデータレジスタに書き
込まれ、スイッチイベント処理は終了する。
理が行われる(ステップS12)。この鍵盤イベント処
理では、押鍵がなされた時にCMモードであれば自動演
奏を進める処理が行われ、CMモードでなければ通常の
発音処理が行われる。この鍵盤イベント処理の詳細は後
述する。
プS13)。このMIDI処理では、外部インタフェー
ス回路11で受信されたMIDIメッセージに基づき発
音・消音処理等が行われる。なお、操作パネル15の操
作、鍵盤装置17の操作及び自動演奏の実行に伴って本
コンサートマジック自動演奏装置の内部で発生されたM
IDIメッセージの外部装置への送信は、このステップ
S13では行われない。即ち、操作パネル15の操作、
鍵盤装置17の操作及び自動演奏の実行に伴ってMID
Iメッセージが発生されると、スイッチイベント処理、
鍵盤イベント処理及び自動演奏処理の中でMIDIメッ
セージが図示しない送信バッファに書き込まれる(これ
らの各処理については後述するが、MIDIメッセージ
の送信処理については説明を省略してある)。そして、
送信バッファの内容は、図示しない送信専用の割込処理
で外部装置に送信される。これにより、リアルタイムで
MIDIメッセージを外部に送信できるようになってい
る。
プS14)。この自動演奏処理では従来の技術の欄で説
明したように、自動演奏フラグがオンになっている場合
にのみ自動演奏データに基づく通常自動演奏が行われ
る。なお、ステップタイムカウンタを進める制御につい
ては、本実施の形態では省略してある。
テップS15)。この「その他の処理」では、上述した
以外の処理、例えばスイッチを押し続けた場合の特殊な
動作を実現するための処理等といった、メイン処理で定
期的なチェックが必要な処理が行われる。その後、ステ
ップS11に戻り、以下、ステップS11〜S15の処
理が繰り返される。この繰り返しの過程でイベントが発
生すると、該イベントに対応する処理がなされることに
よりコンサートマジック自動演奏装置としての各種機能
が実現されている。
である。この鍵盤イベント処理では、CPU10は、先
ず鍵盤イベントの有無を調べる(ステップS20)。即
ち、CPU10は、鍵盤インタフェース回路16から鍵
盤データ(以下、「新鍵盤データ」という)を取り込
み、これを新鍵盤データレジスタに格納する。次いで、
鍵盤イベントマップが作成される。この鍵盤イベントマ
ップは、新鍵盤データと、前回の鍵盤イベント処理で取
り込まれて旧鍵盤データレジスタに記憶されている鍵盤
データ(以下、「旧鍵盤データ」という)とを排他的論
理和演算することにより作成される。この鍵盤イベント
マップの全ビットがゼロであれば鍵盤イベントは発生し
なかったものと判断され、そうでなければ鍵盤イベント
が発生したものと判断される。
判断されると、シーケンスは鍵盤イベント処理ルーチン
からメイン処理ルーチンにリターンする。一方、鍵盤イ
ベントが発生したと判断されると、次いで、その鍵盤イ
ベントは押鍵イベントであるかどうかが調べられる(ス
テップS21)。これは、鍵盤イベントマップ中の
「1」になっているビットに対応する新鍵盤データ中の
ビットが「1」であるかどうかを調べることにより行わ
れる。ここで、上記新鍵盤データ中のビットが「0」で
あることが判断されると、離鍵イベントであることが認
識され音処理が行われる(ステップS22)。この消音
処理では、離鍵された鍵に対応する発音チャンネルに対
し、発音中の音のエンベロープを高速で減衰させるため
のエンベロープデータが送られる。これにより、発音中
の音が消音される。その後、シーケンスは鍵盤イベント
処理ルーチンからメイン処理ルーチンにリターンする。
「1」であることが判断されると、押鍵イベントが発生
したものと認識され、次いで、CMモードかどうかが調
べられる(ステップS21)。CMモードかどうかは、
CMフラグを調べることにより行われ、以下においても
同じである。ここで、CMモードでないことが判断され
ると、通常の発音処理が行われる(ステップS22)。
この通常の発音処理では、新鍵盤データ中の「1」にな
っているビットに対応する鍵のキーナンバが算出される
と共に、鍵盤インタフェース回路16から当該鍵のベロ
シティデータが読み込まれる。そして、このキーナンバ
に対応する音色パラメータがプログラムメモリ12から
読み出され、ベロシティデータと一緒に音源20に送ら
れる。これにより、上述したようにアサイナにより音源
20の中の1つの発音チャンネルが割り当てられ、該発
音チャンネルで音色パラメータに応じたデジタル楽音信
号が発生される。これにより、押鍵に応じた音高であっ
て且つ押鍵に応じた強さの音がスピーカ23から発生さ
れる。
とが判断されると、次いで自動演奏フラグがセットされ
る(ステップS25)。これにより本コンサートマジッ
ク自動演奏装置は通常自動演奏モードに移行する。次い
で、演奏時間カウンタに所定値がセットされる(ステッ
プS26)。ここで、所定値は、鍵が押された場合に、
その時点の読出アドレスで指定される音符データから何
ステップ先の音符データまでを実行するかによって決定
される。この所定値は、固定値であってもよいし可変値
であってもよい。可変値の場合は、ユーザが操作パネル
15を操作して設定するように構成できる。その後、シ
ーケンスは鍵盤イベント処理ルーチンからメイン処理ル
ーチンにリターンする。これにより、自動演奏フラグが
クリアされるまでは、メイン処理ルーチンの自動演奏処
理(ステップS14)で自動演奏音が発生されることに
なる。
号に応答して、上記メイン処理に割り込んで実行され
る。図5は実施の形態1のタイマ割込処理の詳細を示す
フローチャートである。
がオンかどうかが調べられる(ステップS30)。ここ
で、自動演奏フラグがオフであることが判断されると、
シーケンスはこのタイマ割込処理ルーチンから割り込ま
れた位置にリターンする。
判断されると、クロックカウンタの内容がインクリメン
トされる(ステップS31)。次いで、クロックカウン
タの内容が所定値になったかどうかが調べられる(ステ
ップS32)。ここに所定値とは、その時点で設定され
ているテンポにおける1ステップタイムに相当する値を
いう。そして、所定値でないことが判断されると、シー
ケンスはこのタイマ割込ルーチンから割り込まれた位置
にリターンする。
演奏時間カウンタの内容がゼロであるかどうかが調べら
れる(ステップS33)。そして、ゼロでないことが判
断されると演奏時間カウンタの内容がデクリメントされ
る(ステップS34)。これにより時間カウンタが1ス
テップタイム毎にデクリメントされる機能が実現されて
いる。その後、シーケンスはこのタイマ割込ルーチンか
ら割り込まれた位置にリターンする。
の内容がゼロであることが判断されると、次いで、自動
演奏フラグがクリアされる(ステップS35)。その
後、シーケンスはこのタイマ割込ルーチンから割り込ま
れた位置にリターンする。これにより、以降は、メイン
処理ルーチンの自動演奏処理(ステップS14)におけ
る自動演奏音の発生が抑止される。
かの鍵が押された場合に、その時点で音符データポイン
タで指されている音符データ及び該音符データのステッ
プタイム値と同一のステップタイム値を有する音符デー
タ並びに該ステップタイム値に対して所定範囲内のステ
ップタイム値を有する音符データが順次読み出され、こ
れら読み出された一連の音符データに基づき楽音が発生
される。従って、1回の押鍵があると、その時点で発音
すべき音の他にその近傍所定範囲内の音も発音されるこ
とになる。
態2に係るコンサートマジック自動演奏装置について説
明する。この実施の形態2に係るコンサートマジック自
動演奏装置は、通常自動演奏及びコンサートマジック自
動演奏の両機能を有し、しかも通常自動演奏とコンサー
トマジック自動演奏とを並行して行うことができる。
ク自動演奏装置は、伴奏パート及びメロディパートの自
動演奏データを有し、各々別個に自動演奏データメモリ
18に格納されている。伴奏パートは、例えばコード、
ベース及びドラムの各音を含んでいるものとする。
マジック自動演奏するかは、自動演奏フラグ及びCMフ
ラグの各設定状態によって以下のように決定される。 自動演奏フラグがオン且つCMフラグがオンの場合 伴奏パートは通常自動演奏、メロディパートはコンサー
トマジック演奏。 自動演奏フラグがオン且つCMフラグがオフの場合 伴奏パート及びメロディパート共に通常自動演奏。な
お、この場合、メロディパートを鍵盤装置17で演奏す
るように構成することもできる。更にメロディパート
を、通常自動演奏するか鍵盤装置17で演奏するかを例
えば操作パネル15に設けたスイッチで選択するように
構成することもできる。 自動演奏フラグがオフ且つCMフラグがオンの場合 伴奏パート及びメロディパート共にコンサートマジック
自動演奏。 自動演奏フラグがオフ且つCMフラグがオフの場合 通常自動演奏及びコンサートマジック自動演奏は行われ
ない。
の形態1で説明した以外に、以下のレジスタ、カウン
タ、フラグ等が上記ワークメモリ13に定義されてい
る。なお、下記以外については、以下において必要の都
度説明する。
定されているテンポに応じたインターバル(1ステップ
タイムに相当する時間)でインクリメントされる。後述
する通常自動演奏処理では、このタイミングカウンタの
内容が変化した時に発音処理を行うかどうかを調べられ
る。以下、このタイミングカウンタの内容が変化したタ
イミングを「チェックタイミング」という。 (b)ステップタイムカウンタ:コンサートマジック自
動演奏の進行を管理するためのカウンタである。このス
テップタイムカウンタの内容は、押鍵がなされた時に更
新される。 (c)演奏リクエストフラグ:自動演奏データメモリ1
8から音符データを読み出すべきことを指示するために
使用されるフラグである。 (d)同時押しタイマカウンタ:一定時間、例えば30
ミリ秒を計数するカウンタであり、この一定時間内に複
数の鍵が押されると、各鍵は同時に押されたとみなされ
る。このカウンタはタイマ割込が発生する度にデクリメ
ントされる。
びメロディパート用の2種類が設けられており、以下に
おいては、各々音符データポインタA及び音符データポ
インタBという。また、ステップタイムカウンタは、通
常自動演奏用とコンサートマジック自動演奏用とが設け
られており、以下においては、各々ステップタイムカウ
ンタA及びステップタイムカウンタBという。
ジック自動演奏装置は、同時押し抑止機能を備えてい
る。この機能は、一定時間の間に複数の鍵が押された場
合に、最後の押鍵以外の押鍵を無視する機能であり、こ
れによりユーザのミスタッチや鍵盤装置17からの信号
のチャタリング等によって自動演奏が誤って進んでしま
うことが防止される。
現されている。即ち、押鍵イベントが検出される毎に同
時押しタイマカウンタに所定値がセットされる。この同
時押しタイマカウンタの内容は、タイマ割込が発生する
毎にデクリメントされる。そして、この同時押しタイマ
カウンタの内容がゼロになった時に演奏リクエストフラ
グがセットされる。従って、或る押鍵がなされてから一
定時間内に他の押鍵がなされた場合は、後の押鍵から一
定時間が経過しないと演奏リクエストフラグはセットさ
れない。この演奏リクエストスフラグのオン/オフは、
同時押し抑止機能がない場合の押鍵の有無と同様の意味
を有し、この演奏リクエストフラグがオンにされた時に
自動演奏データメモリ18から音符データが読み出さ
れ、コンサートマジック自動演奏が進行する。なお、こ
の同時押し抑止機能は、最初の押鍵があった時に同時押
しタイマカウンタに所定値をセットすると共に演奏リク
エストフラグをセットし、同時押しタイマカウンタの内
容がタイマ割込によって減算されてゼロになるまでの間
に押鍵がなされてもこれを無視するように構成すること
によっても実現できる。この構成によれば、押鍵に対す
る反応がよくなるという利点がある。
を参照しながら、この実施の形態2に係るコンサートマ
ジック自動演奏装置の動作を説明する。
ップS12)及び自動演奏処理(ステップS14)の各
処理内容を除き、上述した実施の形態1のメイン処理
(図3のフローチャート参照)と同じである。これら鍵
盤イベント処理及び自動演奏処理の詳細は後述する。
である。この鍵盤イベント処理におけるステップS40
〜S44の各処理内容は、それぞれ上述した実施の形態
1の鍵イベント処理(図4)のステップS20〜S24
の処理内容と同じである。
とが判断されると、同時押しタイマカウンタに所定値が
セットされる(ステップS43)。ここで、所定値と
は、一定時間を作成するための値であり、この一定時間
内に複数の鍵が押された場合に、これらの鍵は同時に押
されたとみなされる。この値をαとすると、上記時間は
「α×2ミリ秒」で求められる。その後、シーケンスは
鍵盤イベント処理ルーチンからメイン処理ルーチンにリ
ターンする。
号に応答して、上記メイン処理に割り込んで実行され
る。図7はタイマ割込処理の詳細を示すフローチャート
である。
タの内容がインクリメントされる(ステップS50)。
次いで、クロックカウンタの内容が所定値になったかど
うかが調べられる(ステップS51)。これらステップ
S50及びS51の処理は、それぞれ上述したステップ
S31及びS32(図5)の処理と同じである。そし
て、所定値であることが判断されると、通常自動演奏用
のタイミングカウンタの内容がインクリメントされる
(ステップS52)。従って、タイミングカウンタの内
容は、1ステップタイム毎にインクリメントされること
になる。
ップS53)。このゲートオフ処理では、発音中の音の
ゲートタイムがデクリメントされる。このゲートオフ処
理の詳細を、図8のフローチャートに示す。なお、この
ゲートオフ処理は、自動演奏処理の中で行うこともでき
る。この場合、タイミングカウンタの内容がゼロでなけ
ればタイミングカウンタをデクリメントし、ゲートオフ
処理(図8)を行い、ステップタイムをインクリメント
し、そして自動演奏を行う。ゲートオフ処理を自動演奏
処理の中で行う例は、実施の形態3に示されているので
参照されたい。この構成によれば、タイマ割込処理の負
荷を軽減きるという利点がある。
ャンネルが発音中であるかどうかが調べられる(ステッ
プS60)。そして、発音中でないことが判断される
と、ステップS65へ分岐し、未処理の発音チャンネル
があるかどうかが調べられる。そして、未処理の発音チ
ャンネルがないことが判断されると、シーケンスは、こ
のゲートオフ処理ルーチンからリターンする。
ンネルがあることが判断されると、ステップS60へ戻
って同様の処理が行われる。上記ステップS60で、該
発音チャンネルが発音中であることが判断されると、次
いで、当該発音チャンネルに対応するゲートタイム値が
「00H」(末尾の「H」は16進数であることを示
す。以下においても同じ。)であるかどうかが調べられ
る(ステップS61)。これは、当該発音チャンネルに
対応するゲートタイムカウンタの内容を調べることによ
り行われる。ここで、ゲートタイムカウンタは、ワーク
メモリ13内に各発音チャンネルに対応して設けられた
カウンタである。このゲートタイムカウンタには、発音
開始時に、ゲートタイム値がセットされる。ここで、ゲ
ートタイム値が「00H」であることが判断されると、
ステップS64へ分岐し、当該発音チャンネルに対応す
る音の消音処理が行われる。この消音処理は、上述した
ステップS22の処理と同じである。
とが判断されると、当該発音チャンネルのゲートタイム
がデクリメントされる(ステップS62)。そして、ゲ
ートタイムが「00H」であるかどうかが調べられる
(ステップS63)。ここで、ゲートタイムが「00
H」であることが判断されるとステップS64へ進み、
消音処理が行われる。一方、ゲートタイムが「00H」
でないことが判断されると、ステップS65へ分岐し、
上記と同様の処理が行われる。
ナで発音が割り当てられて発音中である発音チャンネル
を探し、該当する発音チャンネルがあればゲートタイム
を減じ、その結果がゼロになれば消音処理を行う。この
ゲートオフ処理ルーチンは、1ステップタイム毎にコー
ルされるので、発音中の音のゲートタイムは1ステップ
タイム毎にデクリメントされる。
上記ステップS51で所定値でないことが判断された場
合は、次いで、同時押しタイマカウンタの内容がデクリ
メントされる(ステップS54)。そして、同時押しタ
イマカウンタの内容がゼロであるかどうかが調べられる
(ステップS55)。ここで、ゼロであることが判断さ
れると演奏リクエストフラグがセットされ(ステップS
56)、そうでなければステップS56の処理はスキッ
プされる。その後、シーケンスはタイマ割込ルーチンか
ら割り込まれた位置にリターンする。これらステップS
54〜S56により同時押し抑止機能の一部が実現され
ている。
る。この自動演奏処理では、上述したように、通常自動
演奏処理及びコンサートマジック自動演奏処理が行われ
るが、ここではコンサートマジック自動演奏処理を主に
説明する。
がオンであるかどうかが調べられる(ステップS7
0)。そして、自動演奏フラグがオンであることが判断
されると、通常自動演奏処理が行われる(ステップS7
1)。この通常自動演奏処理では、音符データポインタ
A及びステップタイムカウンタAを用いて、伴奏パート
の自動演奏データに対して従来の技術の欄で説明したと
同様の処理が行われる。この場合、ステップタイムカウ
ンタAは、タイミングカウンタの内容が変化する毎、即
ちチェックタイミングが到来する毎にインクリメントさ
れる。従って、ステップタイムカウンタAは1ステップ
タイム毎に更新されることになる。これにより、伴奏パ
ートの自動演奏データに基づく通常自動演奏が設定され
たテンポで行われる。
常自動演奏処理では更に、音符データポインタB及びス
テップタイムカウンタAを用いて、メロディパートの自
動演奏データに対して従来の技術の欄で説明したと同様
の処理が行われる。これにより、メロディパートの自動
演奏データに基づく通常自動演奏が設定されたテンポで
行われる。従って、この場合は伴奏パート及びメロディ
パートが同時に通常自動演奏されることになる。上記ス
テップS70で自動演奏フラグがオンでないことが判断
されると、この通常自動演奏処理はスキップされる。
てコンサートマジック自動演奏処理が行われる。即ち、
先ず演奏リクエストフラグがオンであるかどうかが調べ
られる(ステップS72)。ここで、演奏リクエストフ
ラグがオンでないことが判断されると、押鍵はなかった
ものとみなされ、シーケンスはコンサートマジック自動
演奏処理ルーチンからメイン処理ルーチンにリターンす
る。
ストフラグがオンであることが判断されると、押鍵があ
ったものとみなされ、コンサートマジックメイン処理
(以下、「CMメイン処理」という)が行われる(ステ
ップS73)。このCMメイン処理の詳細について、図
10のフローチャートを参照しながら説明する。
あるかどうかが調べられる(ステップS80)。これ
は、CMフラグを調べることにより行われる。ここで、
CMモードでないことが判断されると、このCMメイン
処理ルーチンからリターンして自動演奏処理ルーチンに
戻る。つまり、CMモードでない場合は、押鍵があって
も自動演奏データに基づく発音処理は行われない。ちな
みに、CMモードでない場合は上述した鍵盤イベント処
理において、通常の発音処理が行われることになる。
ことが判断されると、次いで、ステップが一致するかど
うかが調べられる(ステップS81)。即ち、音符デー
タポインタBにセットされている読出アドレスで指定さ
れる音符データ中のステップタイム値がステップタイム
カウンタBの内容と一致するかどうかが調べられる。こ
こで、一致しないことが判断されると、ステップタイム
カウンタBの内容がインクリメントされ(ステップS8
2)、その後、シーケンスはCMメイン処理ルーチンか
ら自動演奏処理ルーチンにリターンする。そして、自動
演奏処理ルーチンでは、ゲートオフ処理(ステップS7
4)が行われた後に、演奏リクエストフラグがオンであ
るかどうかが調べられ(ステップS75)、オンであれ
ばステップS73に戻って以下同様の処理が繰り返され
る。
→S81→S82→S74→S75→S73→・・・
・)により、ステップタイムカウンタBの内容がインク
リメントされると共に、発音中の音のゲートタイムがデ
クリメントされる。上記の繰り返し処理は、ステップタ
イムとは無関係に、CPU10の処理速度で行われる。
そして、ステップS81で、音符データポインタBにセ
ットされている読出アドレスで指定される音符データ中
のステップタイム値がステップタイムカウンタBの内容
と一致することが判断されると、音符データの読み出し
が行われる(ステップS83)。以上の処理は、要約す
れば、押鍵に応じて発音すべき音符データに含まれるス
テップタイム値までステップタイムを高速に進めると共
に、発音中の音の発音時間を、その進められたステップ
タイムに見合った分だけ短縮する処理ということができ
る。
オンデータであるかどうかが調べられる(ステップS8
4)。これは、例えば、音符データの第1バイト目(キ
ーナンバ)のMSBを調べることにより行われる。な
お、本実施の形態2では、自動演奏データ中にはノート
オフを表す音符データは含まれていないものとし、消音
は必ずゲートオフ処理によって行われるものとする。こ
こで、ノートオンデータでないことが判断されるとシス
テム処理が行われる(ステップS85)。このシステム
処理では、例えば音色変更、効果変更等の処理が行われ
る。その後、シーケンスはステップS88へ分岐する。
あることが判断されると、次いで、ノートオン処理が行
われる(ステップS89)。このノートオン処理は、上
記ステップS83で読み出された音符データに基づいて
発音を開始する処理である。この際、その音符データに
含まれるゲートタイム値が、アサイナで割り当てられた
発音チャンネルに対応するゲートタイムカウンタに格納
される。発音処理の内容は既に説明した。次いで、演奏
リクエストフラグがクリアされる(ステップS87)。
次いで、次の音符データの読出アドレスが音符データポ
インタにセットされる(ステップS88)。その後、ス
テップS80に戻って、以下同様の処理が繰り返され
る。これにより、同一ステップタイム値を有する音符デ
ータが複数存在する場合に、それらの全てが同時に発音
される。
ンタBの内容と異なるステップタイム値を有する音符デ
ータが読み出された場合に、上記ステップS81で、音
符データ中のステップタイム値がステップタイムカウン
タBの内容と一致しないことが判断され、ステップタイ
ムカウンタBの内容がインクリメントされ(ステップS
72)、その後、シーケンスはCMメイン処理ルーチン
から自動演奏処理ルーチンにリターンする。この場合、
演奏リクエストフラグはクリアされているので、次に押
鍵がなされるまではステップタイムカウンタBの内容が
強制的に進められることはない。
トオフ処理が行われる(ステップS74)。このゲート
オフ処理の内容は、図8のフローチャートを参照して既
に説明したものと同じである。次いで、演奏リクエスト
フラグがオンであるかどうかが調べられる(ステップS
75)。そして、演奏リクエストフラグがオンであるこ
とが判断されると、先のCMメイン処理ではノート処理
ではなくシステム処理が行われたものと認識され、ノー
トオン処理を行うべく再度ステップS80へ分岐する。
一方、演奏リクエストフラグがオフであることが判断さ
れると、シーケンスは、このCMメイン処理ルーチンか
ら自動演奏処理ルーチンにリターンする。これにより、
押鍵がなされた場合に、必ず1つ以上の音を発生する機
能が担保されている。
に音符データポインタBによって指される音符データに
基づいてコンサートマジック自動演奏を行う場合につい
て説明した。この場合、同時に自動演奏フラグがオフで
あれば、上記のコンサートマジック自動演奏と並行し
て、音符データポインタAによって指される音符データ
に基づいてコンサートマジック自動演奏が行われる。図
10では、この場合の処理は省略されているが、この処
理は、上記音符データポインタBによって指される音符
データに基づいてコンサートマジック自動演奏を行う場
合と略同様の手順で実現できる。
7の何れかの鍵を押下することにより自動演奏が進めら
れるように構成したが、鍵に限らず、操作パネル15上
の所定のスイッチ、フットスイッチ等によって自動演奏
を進めるように構成しても良い。また、上記実施の形態
2では、自動演奏データ及び音符データポインタは、伴
奏パート用とメロディパート用とを各々別個に備える構
成としたが、自動演奏データは伴奏パート用とメロディ
パート用とを混在させて自動演奏データメモリ18に記
憶しておき、音符データポインタだけを伴奏パート用と
メロディパート用の2種類備える構成としてもよい。こ
の場合、自動演奏処理の中で、伴奏パート用の音符デー
タポインタで指される位置から読み出された音符データ
のパートが伴奏パートであるかどうかをチェックし、伴
奏パートである場合に発音処理を行い、同様に、メロデ
ィパート用の音符データポインタで指される位置から読
み出された音符データのパートがメロディパートである
かどうかをチェックし、メロディパートである場合に発
音処理を行うように構成できる。
態3について説明する。本実施の形態3に係るコンサー
トマジック自動演奏装置では、通常自動演奏を行うため
の処理とコンサートマジック自動演奏を行うための処理
とが同一のプログラムで実現されている。また、このコ
ンサートマジック自動演奏装置は、実施の形態2のコン
サートマジック自動演奏装置と同様に、同時押し抑止機
能を備えている。
ートを参照しながら、この実施の形態3に係るコンサー
トマジック自動演奏装置の動作を説明する。
ップS12)及び自動演奏処理(ステップS14)の各
処理内容を除き、上述した実施の形態1のメイン処理
(図3のフローチャート参照)と同じである。また、鍵
盤イベント処理及び自動演奏処理の詳細については後述
する。
施の形態2の鍵盤イベント処理と同じである。
号に応答して、上記メイン処理に割り込んで実行され
る。図11は実施の形態3のタイマ割込処理の詳細を示
すフローチャートである。
がオンであるかどうかが調べられる(ステップS9
0)。ここで、自動演奏フラグがオンであることが判断
されると、通常自動演奏を行うための処理が行われる。
即ち、先ずクロックカウンタの内容がインクリメントさ
れる(ステップS91)。次いで、クロックカウンタの
内容が所定値になったかどうかが調べられる(ステップ
S92)。これらステップS91及びS92の処理は、
それぞれ上述したステップS31及びS32(図5参
照)の処理と同じである。そして、所定値であることが
判断されると、タイミングカウンタの内容がインクリメ
ントされる(ステップS93)。従って、自動演奏フラ
グがオンのときは、タイミングカウンタの内容は、1ス
テップタイム毎にインクリメントされる。その後、シー
ケンスは、このタイマ割込処理ルーチンから割り込まれ
た位置にリターンする。上記ステップS92で所定値で
ないことが判断された場合も、シーケンスはこのタイマ
割込処理ルーチンから割り込まれた位置にリターンす
る。
ラグがオンでないことが判断されると、CMモードであ
るかどうかが調べられる(ステップS94)。ここで、
CMモードでないことが判断されると、シーケンスは、
このタイマ割込処理ルーチンからメイン処理ルーチンの
割り込まれた位置にリターンする。このシーケンスは、
通常自動演奏及びコンサートマジック自動演奏の何れも
行わない場合の処理であり、実質的に自動演奏に関する
処理は何等行われない。
とが判断されると、以下、コンサートマジック自動演奏
を行うための処理が行われる。即ち、先ず同時押しタイ
マカウンタの内容がデクリメントされる(ステップS9
5)。そして、同時押しタイマカウンタの内容がゼロで
あるかどうかが調べられる(ステップS96)。ここ
で、ゼロであることが判断されるとタイミングカウンタ
に「1」がセットされ(ステップS97)、そうでなけ
ればステップS97の処理はスキップされる。このタイ
ミングカウンタに「1」をセットする処理は、上述した
実施の形態2の演奏リクエストフラグをオンにするのと
同様の意味を有する。その後、シーケンスはタイマ割込
ルーチンから割り込まれた位置にリターンする。
る。この自動演奏処理では、上述したように、通常自動
演奏処理及びコンサートマジック自動演奏処理が行われ
る。
ンタの内容がゼロであるかどうかが調べられる(ステッ
プS100)。そして、タイミングカウンタの内容がゼ
ロであることが判断されると、シーケンスはこの自動演
奏処理ルーチンからメイン処理ルーチンにリターンす
る。タイミングカウンタの内容は、上述したように1ス
テップタイムが経過していない場合にゼロを維持し、及
び後述するようにコンサートマジック自動演奏による発
音が行われた場合にゼロにクリアされる。従って、通常
自動演奏を行う場合は、1ステップタイム以上が既に経
過した、換言すればチェックタイミングが既に到来して
いる場合に「1」以上になる。また、コンサートマジッ
ク自動演奏を行う場合は、押鍵があった場合に「1」に
なる。従って、通常自動演奏処理及びコンサートマジッ
ク自動演奏処理を行う必要があるときのみ、タイミング
カウンタの内容がゼロ以外になる。そして、この場合は
ステップS101以下の処理が実行される。
われる。このCMメイン処理の内容は後述する。次い
で、自動演奏フラグがオンであるかどうかが調べられる
(ステップS102)。ここで、自動演奏フラグがオン
であることが判断されると、タイミングカウンタの内容
がデクリメントされる(ステップS103)。これによ
り、1つのチェックタイミングに対応する通常自動演奏
処理が終了したことが記憶される。その後、シーケンス
はステップS100に分岐する。
によりタイミングカウンタの内容が「1」にセットされ
ると、CMメイン処理(ステップS101)で通常自動
演奏処理が行われ、その後、ステップS103でタイミ
ングカウンタの内容がゼロにされる。従って、ステップ
S100における判断によってシーケンスはこの自動演
奏処理ルーチンからメイン処理ルーチンにリターンす
る。以上の処理により、通常自動演奏処理の場合は、1
ステップタイム毎に発音すべき音符データが存在するか
どうかが調べられ、存在すれば発音が開始される機能が
実現されている。なお、CPU10の処理時間の都合
で、タイミングカウンタの内容が「2」以上になること
がある。この場合は、上記の通常自動演奏処理がタイミ
ングカウンタの内容に応じた回数だけ行われることにな
る。
ラグがオンでないと判断された場合、つまりコンサート
マジック自動演奏を行う場合は、タイミングカウンタの
内容は後述するステップS118でゼロにクリアされる
ので、直接ステップS100へ分岐し、その後、シーケ
ンスはこの自動演奏処理ルーチンからメイン処理ルーチ
ンにリターンする。
のフローチャートを参照しながら説明する。このCMメ
イン処理では、コンサートマジック自動演奏処理のみな
らず、通常自動演奏処理も行われる。
理が行われる(ステップS110)。このゲートオフ処
理の内容は、図8のフローチャートを参照して既に説明
したものと同じである。次いで、ステップタイムカウン
タがインクリメントされる(ステップS111)。次い
で、ステップが一致するかどうかが調べられる(ステッ
プS112)。即ち、音符データポインタにセットされ
ている読出アドレスで指定される音符データ中のステッ
プタイム値がステップタイムカウンタの内容と一致する
かどうかが調べられる。ここで、一致しないことが判断
されると、シーケンスはCMメイン処理ルーチンから自
動演奏処理ルーチンにリターンする。
よって、通常自動演奏の場合は、1ステップタイム毎に
ステップタイムカウンタがインクリメントされ、音符デ
ータポインタにセットされている読出アドレスで指定さ
れる音符データに基づく発音を行うかどうかが調べられ
ることになる。そして、上記ステップが一致することが
判断されると、シーケンスはステップS113に進む。
は、タイミングカウンタの内容は「1」のままであるの
で、自動演奏処理ルーチンから再度本CMメイン処理が
コールされる。従って、以上の繰り返し(ステップS1
00→S101→S110→S111→S112→S1
02→S100→・・・・)により、ステップタイムカ
ウンタBの内容がインクリメントされると共に、発音中
の音のゲートタイムがデクリメントされる。上記の繰り
返し処理は、実施の形態2の場合と同様に、ステップタ
イムとは無関係に、CPU10の処理速度で行われる。
そして、上記ステップS112で一致することが判断さ
れると、シーケンスはステップS113へ進む。これに
より、押鍵に応じて発音すべき音符データに含まれるス
テップタイム値までステップタイムが高速に進められる
と共に、発音中の音の発音時間が、その進められたステ
ップタイムに見合った分だけ短縮される。
プS113)、次いで、読み出された音符データがノー
トオンデータであるかどうかが調べられる(ステップS
114)。ここで、ノートオンデータでないことが判断
されるとシステム処理が行われる(ステップS11
5)。これらステップS113〜115の処理は、実施
の形態2のCMメイン処理ルーチン(図10参照)のス
テップS83〜S85の処理と同じである。その後、シ
ーケンスはテップS11ス2へ分岐し、再度同様の処理
が繰り返される。
ンデータであることが判断されると、ノートオン処理が
行われる(ステップS116)。このノートオン処理
は、実施の形態2のCMメイン処理ルーチン(図10参
照)のステップS86の処理と同じである。
うかが調べられる(ステップS117)。ここで、自動
演奏フラグがオンであることが判断されると、シーケン
スはステップS112へ分岐し、再度同様の処理を繰り
返す。一方、自動演奏フラグがオフであることが判断さ
れると、タイミングカウンタがクリアされる(ステップ
S118)。これにより、次に押鍵がなされてタイミン
グカウンタが「1」にセットされるまで、コンサートマ
ジック自動演奏の処理は行われない。
れば、通常自動演奏処理とコンサートマジック自動演奏
処理とを、1種類の処理ルーチン(図12の自動演奏処
理ルーチン及び図13のCMメイン処理ルーチン)で行
うことができるので、従来に比べ、プログラム量を少な
くするとができる。また、通常自動演奏及びコンサート
マジック自動演奏に使用するワークメモリ13の領域を
小さくすることができる。
装飾音符をリアルに再現でき、しかもリアルタイム入力
で作成された音符データ及び外部から受信したMIDI
メッセージをそのままコンサートマジック自動演奏に使
用することのできるコンサートマジック自動演奏装置を
提供できる。
施の形態1〜実施の形態3に共通に使用されるハードウ
ェア構成を示すブロック図である。
施の形態1〜実施の形態3及び従来の自動演奏装置に共
通に使用される音符データの形式を説明するための図で
ある。
施の形態1〜実施の形態3に共通に使用されるメイン処
理を示すフローチャートである。
ト処理を示すフローチャートである。
処理を示すフローチャートである。
ト処理を示すフローチャートである。
処理を示すフローチャートである。
処理を示すフローチャートである。
理を示すフローチャートである。
ャートである。
込処理を示すフローチャートである。
処理を示すフローチャートである。
チャートである。
Claims (6)
- 【請求項1】各々に発音タイミングを規定するためのス
テップタイム値が含まれた複数の音符データで成る自動
演奏データを記憶する記憶手段と、 該記憶手段に記憶された自動演奏データに含まれる音符
データの読み出し位置を示すポインタ手段と、 自動演奏の進行を指示する指示手段と、 該指示手段の指示に応答して、前記ポインタ手段で示さ
れた音符データから所定範囲のステップタイム値を有す
る音符データまでの各音符データを前記記憶手段から順
次読み出し、該読み出した音符データに基づき楽音を発
生する楽音発生手段、とを有するコンサートマジック自
動演奏装置。 - 【請求項2】複数の音符データを、各音符データが有す
るステップタイム値の順番に並べて自動演奏データとし
て記憶した記憶手段と、 自動演奏の進行を指示する指示手段と、 該指示手段の指示に応答して、前記指示手段による前回
の指示に基づき前記記憶手段から読み出して発音された
音符データに続く、所定範囲のステップタイム値を有す
る複数の音符データを、該複数の音符データのそれぞれ
のステップタイム値に対応した時間間隔で順次読み出し
て発音する楽音発生手段、とを有するコンサートマジッ
ク自動演奏装置。 - 【請求項3】複数の音符データを、各音符データが有す
るステップタイム値の順番に並べて自動演奏データとし
て記憶した記憶手段と、 設定されたテンポに従って前記記憶手段に記憶された音
符データを順次読み出して発音する自動演奏手段と、 該自動演奏手段における自動演奏の進行を指示する指示
手段と、 該指示手段の指示に応答して、前記指示手段による前回
の指示に基づき前記記憶手段から読み出して発音された
音符データに続く、所定範囲のステップタイム値を有す
る複数の音符データに基づいて前記自動演奏手段に発音
させる制御手段、とを有するコンサートマジック自動演
奏装置。 - 【請求項4】前記指示手段は鍵盤装置であり、該鍵盤装
置の何れかの鍵を操作することにより自動演奏の進行を
指示する請求項1乃至3の何れか1項に記載のコンサー
トマジック自動演奏装置。 - 【請求項5】前記所定範囲のステップタイム値は1拍の
長さを整数分割した値である請求項1乃至3の何れか1
項に記載のコンサートマジック自動演奏装置。 - 【請求項6】前記所定範囲は可変である請求項1乃至3
の何れか1項に記載のコンサートマジック自動演奏装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31659099A JP3226268B2 (ja) | 1996-12-18 | 1999-11-08 | コンサートマジック自動演奏装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31659099A JP3226268B2 (ja) | 1996-12-18 | 1999-11-08 | コンサートマジック自動演奏装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35397596A Division JP3192597B2 (ja) | 1996-12-18 | 1996-12-18 | 電子楽器の自動演奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000148142A true JP2000148142A (ja) | 2000-05-26 |
JP3226268B2 JP3226268B2 (ja) | 2001-11-05 |
Family
ID=18078786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31659099A Expired - Lifetime JP3226268B2 (ja) | 1996-12-18 | 1999-11-08 | コンサートマジック自動演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3226268B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010139592A (ja) * | 2008-12-10 | 2010-06-24 | Casio Computer Co Ltd | 楽音発生装置および楽音発生プログラム |
JP2019168515A (ja) * | 2018-03-22 | 2019-10-03 | カシオ計算機株式会社 | 電子楽器、方法及びプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102681430B1 (ko) | 2022-11-07 | 2024-07-04 | 주식회사 씨티케이 | 괄사가 구비된 자 타입의 화장품 용기 |
-
1999
- 1999-11-08 JP JP31659099A patent/JP3226268B2/ja not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010139592A (ja) * | 2008-12-10 | 2010-06-24 | Casio Computer Co Ltd | 楽音発生装置および楽音発生プログラム |
JP2019168515A (ja) * | 2018-03-22 | 2019-10-03 | カシオ計算機株式会社 | 電子楽器、方法及びプログラム |
JP7124370B2 (ja) | 2018-03-22 | 2022-08-24 | カシオ計算機株式会社 | 電子楽器、方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3226268B2 (ja) | 2001-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2602458B2 (ja) | 自動演奏装置 | |
JP3192597B2 (ja) | 電子楽器の自動演奏装置 | |
JP3226268B2 (ja) | コンサートマジック自動演奏装置 | |
JP3640235B2 (ja) | 自動伴奏装置及び自動伴奏方法 | |
JPH06259064A (ja) | 電子楽器 | |
JP3192579B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JP3620366B2 (ja) | 電子鍵盤楽器 | |
JP2003280641A (ja) | 楽器の運指ガイド装置 | |
JP3150580B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JP3169535B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JPH06337674A (ja) | 電子楽器の自動演奏装置 | |
JP2002215147A (ja) | 電子楽器の自動伴奏装置及び自動伴奏方法 | |
JP4186855B2 (ja) | 楽音制御装置及びプログラム | |
JP3549083B2 (ja) | 音量制御装置 | |
JP3630266B2 (ja) | 自動伴奏装置 | |
JPH07146681A (ja) | 電子楽器 | |
JP4218566B2 (ja) | 楽音制御装置及びプログラム | |
JP2004258050A (ja) | 自動演奏装置及び自動演奏方法 | |
JP2953937B2 (ja) | 電子楽器の音量調整装置 | |
JPH10319949A (ja) | 電子楽器 | |
JPH11311989A (ja) | 自動演奏装置及び自動演奏方法 | |
JP2005010458A (ja) | 自動アルペジオ装置および同装置に適用されるコンピュータプログラム | |
JPH06314096A (ja) | 電子楽器の前コード検出装置 | |
JPH07160255A (ja) | 電子楽器の自動伴奏装置 | |
JP2000010564A (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: 20010817 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070831 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080831 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090831 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090831 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100831 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130831 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term |