JPH03280000A - 自動演奏装置 - Google Patents
自動演奏装置Info
- Publication number
- JPH03280000A JPH03280000A JP2078780A JP7878090A JPH03280000A JP H03280000 A JPH03280000 A JP H03280000A JP 2078780 A JP2078780 A JP 2078780A JP 7878090 A JP7878090 A JP 7878090A JP H03280000 A JPH03280000 A JP H03280000A
- Authority
- JP
- Japan
- Prior art keywords
- musical tone
- tempo
- control information
- data
- setting
- 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
- 230000008859 change Effects 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 230000005236 sound signal Effects 0.000 abstract description 7
- 238000000034 method Methods 0.000 description 75
- 230000008569 process Effects 0.000 description 59
- 230000006870 function Effects 0.000 description 55
- 230000000694 effects Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 230000033764 rhythmic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、電子楽器のシーケンサや自動伴奏装置ある
いは自動リズム演奏装置等の自動演奏装置に関し、自動
演奏のテンポに応じて音量等の楽音制御情報を可変制御
できるようにしたことに関する。
いは自動リズム演奏装置等の自動演奏装置に関し、自動
演奏のテンポに応じて音量等の楽音制御情報を可変制御
できるようにしたことに関する。
電子楽器のキーボードやコンピュータ等から入力される
演奏情報を記憶し、記憶された演奏情報に基づいて演奏
音を再生するシーケンサタイプの自動演奏装置としては
、特開昭58−211191号や特開昭63−1931
92号公報に示されたものがある。この種の自動演奏装
置においては、テンポクロックに従って演奏情報をメモ
リがら読み出し、その演奏情報に基づき楽音信号を発生
する。その場合、従来の自動演奏装置では、テンポクロ
ック周波数を可変制御することにより再生演奏のテンポ
を所望のものに自由に変化させることはできたが、その
演奏テンポの変化に応じて再生演奏音の音量や音色等を
自動的に変化することはできなかった。
演奏情報を記憶し、記憶された演奏情報に基づいて演奏
音を再生するシーケンサタイプの自動演奏装置としては
、特開昭58−211191号や特開昭63−1931
92号公報に示されたものがある。この種の自動演奏装
置においては、テンポクロックに従って演奏情報をメモ
リがら読み出し、その演奏情報に基づき楽音信号を発生
する。その場合、従来の自動演奏装置では、テンポクロ
ック周波数を可変制御することにより再生演奏のテンポ
を所望のものに自由に変化させることはできたが、その
演奏テンポの変化に応じて再生演奏音の音量や音色等を
自動的に変化することはできなかった。
ところで、自然楽器を手動演奏する場合に、演奏中に演
奏テンポを変更した場合は、演奏音の音量や音色等がテ
ンポ変更前と全く同じということは滅多になく、テンポ
を変更したときの演奏操作の微妙な変化に連動して、演
奏音の音量や音色等も微妙に変化するのが自然である。
奏テンポを変更した場合は、演奏音の音量や音色等がテ
ンポ変更前と全く同じということは滅多になく、テンポ
を変更したときの演奏操作の微妙な変化に連動して、演
奏音の音量や音色等も微妙に変化するのが自然である。
しかるに、従来の自動演奏装置では上述のように、テン
ポクロック周波数が変更されても、自動演奏音の音量や
音色等が自動的に変化することはなかったので、自然楽
器の演奏に比べて演奏表現力が劣るという問題があった
。
ポクロック周波数が変更されても、自動演奏音の音量や
音色等が自動的に変化することはなかったので、自然楽
器の演奏に比べて演奏表現力が劣るという問題があった
。
この発明は上述の点に鑑みてなされたもので。
演奏テンポの変化に応じて演奏音の音量や音色等の楽音
要素を可変制御できるようにした自動演奏装置を提供す
ることを目的とする。
要素を可変制御できるようにした自動演奏装置を提供す
ることを目的とする。
この発明に係る自動演奏装置は、自動演奏のテンポを設
定するためのテンポ設定手段と、楽音制御情報を発生す
る楽音制御情報発生手段と、前記テンポ設定手段で設定
されたテンポに応じて前記楽音制御情報を変更する楽音
制御情報変更手段と、変更された前記楽音制御情報に応
じて制御された特性を持つ楽音信号を、前記テンポ設定
手段で設定されたテンポに従って自動的に発生する楽音
自動発生手段とを具えたものである。これを図によって
示すと第1図(a)のようである。
定するためのテンポ設定手段と、楽音制御情報を発生す
る楽音制御情報発生手段と、前記テンポ設定手段で設定
されたテンポに応じて前記楽音制御情報を変更する楽音
制御情報変更手段と、変更された前記楽音制御情報に応
じて制御された特性を持つ楽音信号を、前記テンポ設定
手段で設定されたテンポに従って自動的に発生する楽音
自動発生手段とを具えたものである。これを図によって
示すと第1図(a)のようである。
また、この発明に係る自動演奏装置は、自動演奏のテン
ポを設定するためのテンポ設定手段と、前記テンポ設定
手段で設定されたテンポに応じて楽音制御情報の値を設
定する楽音制御情報設定手段と、前記楽音制御情報に応
じて設定された特性を持つ楽音信号を、前記テンポ設定
手段で設定されたテンポに従って自動的に発生する楽音
自動発生手段とを具えたものである。これを図によって
示すと第1図(b)のようである。
ポを設定するためのテンポ設定手段と、前記テンポ設定
手段で設定されたテンポに応じて楽音制御情報の値を設
定する楽音制御情報設定手段と、前記楽音制御情報に応
じて設定された特性を持つ楽音信号を、前記テンポ設定
手段で設定されたテンポに従って自動的に発生する楽音
自動発生手段とを具えたものである。これを図によって
示すと第1図(b)のようである。
テンポ設定手段により自動演奏のテンポが任意に設定さ
れ、ここで設定されたテンポに従って楽音自動発生手段
では楽音信号を自動的に発生する。
れ、ここで設定されたテンポに従って楽音自動発生手段
では楽音信号を自動的に発生する。
この楽音信号の音量、音色等の特性は楽音制御情報発生
手段から発生される楽音制御情報によって制御される。
手段から発生される楽音制御情報によって制御される。
この発明では、楽音制御情報発生手段から発生された楽
音制御情報は、楽音制御情報変更手段を介して楽音自動
発生手段に与えられるようになっており、この楽音制御
情報変更手段では、テンポ設定手段で設定されたテンポ
に応じて該楽音制御情報を変更する。従って、自動演奏
のテンポの変動に追従して、自動演奏音の音量、音色等
の特性が自動的に変化する。
音制御情報は、楽音制御情報変更手段を介して楽音自動
発生手段に与えられるようになっており、この楽音制御
情報変更手段では、テンポ設定手段で設定されたテンポ
に応じて該楽音制御情報を変更する。従って、自動演奏
のテンポの変動に追従して、自動演奏音の音量、音色等
の特性が自動的に変化する。
この発明によれば、テンポに応じて該楽音制御情報の値
を一義的に決定するようにしてもよい。
を一義的に決定するようにしてもよい。
すなわち、楽音制御情報設定手段では、テンポ設定手段
で設定されたテンポに応じて楽音制御情報の値を設定す
るようにする。そして、楽音自動発生手段では、この楽
音制御情報設定手段で設定された楽音制御情報に応じて
決定される特性を持つ楽音信号を、テンポ設定手段で設
定されたテンポに従って自動的に発生するようにする。
で設定されたテンポに応じて楽音制御情報の値を設定す
るようにする。そして、楽音自動発生手段では、この楽
音制御情報設定手段で設定された楽音制御情報に応じて
決定される特性を持つ楽音信号を、テンポ設定手段で設
定されたテンポに従って自動的に発生するようにする。
これによっても、自動演奏のテンポの変動に追従して、
自動演奏音の音量、音色等の特性を自動的に変化させる
ことができる。
自動演奏音の音量、音色等の特性を自動的に変化させる
ことができる。
以下、本発明の実施例を添付図面に従って詳細に説明す
る。
る。
第2図はシーケンサタイプの自動演奏装置の一実施例を
示すものである。マイクロプロセッサユニット(CPU
)10は、この自動演奏装置全体の動作を制御するもの
である。このCPUl0に対してバス19を介してプロ
グラム及びデータメモリ11、ワーキングレジスタ12
.シーケンサメモリ13、操作パネル14、入出力装置
15及びテンポクロック発生器18が接続されている。
示すものである。マイクロプロセッサユニット(CPU
)10は、この自動演奏装置全体の動作を制御するもの
である。このCPUl0に対してバス19を介してプロ
グラム及びデータメモリ11、ワーキングレジスタ12
.シーケンサメモリ13、操作パネル14、入出力装置
15及びテンポクロック発生器18が接続されている。
この実施例では番号10〜15.18.19で示された
部分がシーケンサモジュールであり、このシーケンサモ
ジュールに対して入出力装置15を介して鍵盤回路16
及び音源17のモジュールがそれぞれ接続される。各モ
ジュール間のデータの授受は周知のMIDI規格で行わ
れる。
部分がシーケンサモジュールであり、このシーケンサモ
ジュールに対して入出力装置15を介して鍵盤回路16
及び音源17のモジュールがそれぞれ接続される。各モ
ジュール間のデータの授受は周知のMIDI規格で行わ
れる。
プログラム及びデータメモリ11はCPUl0の各種プ
ログラムや各種データを格納するものであり、リードオ
ンリーメモリ (ROM)で構成されている。
ログラムや各種データを格納するものであり、リードオ
ンリーメモリ (ROM)で構成されている。
ワーキングレジスタ12はCPUl0がプログラムを実
行する際に発生する各種データを一時的に格納するもの
であり、ランダムアクセスメモリ(RAM)の所定のア
ドレス領域がそれぞれ割り当てられる。
行する際に発生する各種データを一時的に格納するもの
であり、ランダムアクセスメモリ(RAM)の所定のア
ドレス領域がそれぞれ割り当てられる。
シーケンサメモリ13は、ランダムアクセスメモリ(R
AM)で構成され、演奏情報を記憶する。
AM)で構成され、演奏情報を記憶する。
操作パネル14は、音色、音量、音高、効果等を選択・
設定・制御するための各種操作子を含むものであり5例
えば音量を設定するためのボリュームを有しており、設
定された音量を示すデータがボリュームデータとして利
用される。
設定・制御するための各種操作子を含むものであり5例
えば音量を設定するためのボリュームを有しており、設
定された音量を示すデータがボリュームデータとして利
用される。
入呂力装[15はMIDI規格で表現された演奏情報の
入出力を行うものであり、任意の演奏情報をシーケンサ
モジュールに入力するための鍵盤回路16が接続可能で
あると共に、このシーケンサモジュールから出力される
演奏情報を受は取る音源17が接続可能である。勿論、
鍵盤回路16の代わりにコンピュータ等を接続し、所望
の演奏情報を入力することもできる。
入出力を行うものであり、任意の演奏情報をシーケンサ
モジュールに入力するための鍵盤回路16が接続可能で
あると共に、このシーケンサモジュールから出力される
演奏情報を受は取る音源17が接続可能である。勿論、
鍵盤回路16の代わりにコンピュータ等を接続し、所望
の演奏情報を入力することもできる。
鍵盤回路16は5発生すべき楽音の音高を指定する鍵盤
のそれぞれの鍵に対応して設けられた複数のキースイッ
チからなる回路を含んで構成されており、新たな鍵が押
圧されたときはキーオンイベント情報を出力し、鍵が新
たに離鍵されたときはキーオフイベント情報を出力する
。また、鍵押し下げ時の押鍵操作速度又は押圧力等を判
別してタッチデータを生成する処理を行い、生成したタ
ッチデータをベロシティデータとして出力する。
のそれぞれの鍵に対応して設けられた複数のキースイッ
チからなる回路を含んで構成されており、新たな鍵が押
圧されたときはキーオンイベント情報を出力し、鍵が新
たに離鍵されたときはキーオフイベント情報を出力する
。また、鍵押し下げ時の押鍵操作速度又は押圧力等を判
別してタッチデータを生成する処理を行い、生成したタ
ッチデータをベロシティデータとして出力する。
このようにキーオン、キーオフイベント情報及びベロシ
ティ情報はMIDI規格で表現されており、後述するよ
うにキーコードと割当てチャンネルを示すデータをも含
んでいる。
ティ情報はMIDI規格で表現されており、後述するよ
うにキーコードと割当てチャンネルを示すデータをも含
んでいる。
音源17は、複数のチャンネルで楽音信号の同時発生が
可能であり、入出力装置15を経由して与えられた演奏
情報(M I D I規格に準拠したデータ)を入力し
、このデータに基づき楽音信号を発生する。
可能であり、入出力装置15を経由して与えられた演奏
情報(M I D I規格に準拠したデータ)を入力し
、このデータに基づき楽音信号を発生する。
音源17における楽音信号発生方式はいかなるものを用
いてもよい8例えば、発生すべき楽音の音高に対応して
変化するアドレスデータに応じて波形メモリに記憶した
楽音波形サンプル値データを順次読み出すメモリ読み出
し方式、又は上記アドレスデータを位相角パラメータデ
ータとして所定の周波数変!5J?iL算を実行して楽
音波形サンプル値データを求めるFM方式、あるいは上
記アドレスデータを位相角パラメータデータとして所定
の振幅変調演算を実行して楽音波形サンプル値データを
求めるAM方式等の公知の方式を適宜採用してもよい。
いてもよい8例えば、発生すべき楽音の音高に対応して
変化するアドレスデータに応じて波形メモリに記憶した
楽音波形サンプル値データを順次読み出すメモリ読み出
し方式、又は上記アドレスデータを位相角パラメータデ
ータとして所定の周波数変!5J?iL算を実行して楽
音波形サンプル値データを求めるFM方式、あるいは上
記アドレスデータを位相角パラメータデータとして所定
の振幅変調演算を実行して楽音波形サンプル値データを
求めるAM方式等の公知の方式を適宜採用してもよい。
音11iX17から発生されたデジタル楽音信号はD/
A変換器(図示せず)によって、アナログの楽音信号に
変換され、サウンドシステム(図示せず)を介して発音
される。
A変換器(図示せず)によって、アナログの楽音信号に
変換され、サウンドシステム(図示せず)を介して発音
される。
テンポクロツタ発生器18は時間間隔を計数したり、自
動演奏のテンポを設定したりするためのテンポクロック
パルスを発生するものであり、このテンポクロックパル
スの周波数は操作パネル14に有るテンポ設定操作子に
よって調整可能である。発生したテンポクロックパルス
はCPUl0に対してインタラブド命令として与えられ
、インタラブド処理により自動演奏処理が実行される。
動演奏のテンポを設定したりするためのテンポクロック
パルスを発生するものであり、このテンポクロックパル
スの周波数は操作パネル14に有るテンポ設定操作子に
よって調整可能である。発生したテンポクロックパルス
はCPUl0に対してインタラブド命令として与えられ
、インタラブド処理により自動演奏処理が実行される。
シーケンサメモリ13に記憶する自動演奏情報は演奏シ
ーケンスを示す情報であり、記録モード時において演奏
者の実際の演奏手順に従って演奏情報を順次記憶し、プ
レイモード時においては上記テンポクロックに従ってそ
の記憶内容を順次読み出す。記憶する演奏情報としては
、鍵盤回路16及び操作パネル14における情報イベン
トに基づく各種情報である。、すなわち、押鍵時におい
て、キーオンイベント情報を記憶し、離鍵時においてキ
ーオフイベント情報を記憶し、各イベントの間では、そ
れらイベント間の時間間隔を示す時間情報を記憶する。
ーケンスを示す情報であり、記録モード時において演奏
者の実際の演奏手順に従って演奏情報を順次記憶し、プ
レイモード時においては上記テンポクロックに従ってそ
の記憶内容を順次読み出す。記憶する演奏情報としては
、鍵盤回路16及び操作パネル14における情報イベン
トに基づく各種情報である。、すなわち、押鍵時におい
て、キーオンイベント情報を記憶し、離鍵時においてキ
ーオフイベント情報を記憶し、各イベントの間では、そ
れらイベント間の時間間隔を示す時間情報を記憶する。
また、操作パネル14で音世ボリュームが操作された場
合はボリュームチェンジイベント情報を記憶し、その他
の操作子の操作が変更された場合も必要に応じてコント
ロールチェンジイベント情報を記憶する。これら自動演
奏情報の記録手順については公知であるため詳細説明は
省略する。
合はボリュームチェンジイベント情報を記憶し、その他
の操作子の操作が変更された場合も必要に応じてコント
ロールチェンジイベント情報を記憶する。これら自動演
奏情報の記録手順については公知であるため詳細説明は
省略する。
シーケンサメモリ13に記憶する演奏情報は、例えばM
IDI規格のデータフォーマットからなる。その−例を
「キーオン」、「キーオフ」、「時間間隔」及び「ボリ
ュームチェンジ」の4種類の情報について示すと第3図
のようである。
IDI規格のデータフォーマットからなる。その−例を
「キーオン」、「キーオフ」、「時間間隔」及び「ボリ
ュームチェンジ」の4種類の情報について示すと第3図
のようである。
各データの第1バイト目はメツセージの種類を示すステ
ータスバイト(メツセージの種類を判別するための識別
コードとして利用されるバイト)であり、これに続く第
2及び第3バイト目はデータバイトである。
ータスバイト(メツセージの種類を判別するための識別
コードとして利用されるバイト)であり、これに続く第
2及び第3バイト目はデータバイトである。
「キーオン」データすなわちキーオンイベント情報の第
1バイト目は、そのデータが「キーオン」データである
ことを示すIi’9」と、このキーオンイベントが割り
当てられているMIDIのチャンネルナンバを示すIi
’XJlとからなり、識別コード「9X」で表される。
1バイト目は、そのデータが「キーオン」データである
ことを示すIi’9」と、このキーオンイベントが割り
当てられているMIDIのチャンネルナンバを示すIi
’XJlとからなり、識別コード「9X」で表される。
「キーオフ」データすなわちキーオフイベント情報の第
1バイト目は、そのデータが「キーオフ」データである
ことを示す[r8J]と、このキーオフイベントが割り
当てられているMIDIのチャンネルナンバを示すWX
Aとからなり、識別コード[r8X[で表される。
1バイト目は、そのデータが「キーオフ」データである
ことを示す[r8J]と、このキーオフイベントが割り
当てられているMIDIのチャンネルナンバを示すWX
Aとからなり、識別コード[r8X[で表される。
「キーオン」及び「キーオフ」データの第2バイト目は
その鍵のキーコートを示し、第3バイト目はその鍵のタ
ッチ情報であるベロシティデータである。
その鍵のキーコートを示し、第3バイト目はその鍵のタ
ッチ情報であるベロシティデータである。
1時間間隔」データの第1バイト目の識別コート「F4
JlはMIDI規格では未定義のものであるが、この実
施例では楽音の発音タイミングを示す時間間隔の識別コ
ードとして使用する。その時間間隔は第2バイト目の上
位7ビツトと第3バイト目の下位7ビツトとで表わされ
る。
JlはMIDI規格では未定義のものであるが、この実
施例では楽音の発音タイミングを示す時間間隔の識別コ
ードとして使用する。その時間間隔は第2バイト目の上
位7ビツトと第3バイト目の下位7ビツトとで表わされ
る。
「ボリュームチェンジ」データの第1バイト目は、その
データがコントロールチェンジのデータであることを示
すIJIと、コントロールチェンジすべきMIDIのチ
ャンネルナンバを示すlrX、+1とからなり、識別コ
ード1iBXJ]で表される。そして、第2バイト目の
データ「07」はコントロールチェンジの内容がボリュ
ームチェンジであることを示し、第3バイト目のデータ
はそのボリューム値を示す。
データがコントロールチェンジのデータであることを示
すIJIと、コントロールチェンジすべきMIDIのチ
ャンネルナンバを示すlrX、+1とからなり、識別コ
ード1iBXJ]で表される。そして、第2バイト目の
データ「07」はコントロールチェンジの内容がボリュ
ームチェンジであることを示し、第3バイト目のデータ
はそのボリューム値を示す。
以上のようにMIDI規格においては、1単位のイベン
ト情報又は時間情報は3バイトデータで構成される。シ
ーケンサメモリ13においては、ポインタによって指定
される1アドレスは1バイトであり、3バイトデータか
らなる1単位のイベント情報又は時間情報が連続する3
つのポインタアドレスに記憶される。
ト情報又は時間情報は3バイトデータで構成される。シ
ーケンサメモリ13においては、ポインタによって指定
される1アドレスは1バイトであり、3バイトデータか
らなる1単位のイベント情報又は時間情報が連続する3
つのポインタアドレスに記憶される。
この実施例では、シーケンサメモリ13は32トラツク
の規模を有している。1トラツクは1つの演奏パートに
対応する。また、1トラツクにつき16チヤンネルの楽
音発生が可能である。つまり、1?R奏パートは16チ
ヤンネルポリフオニツクである。上述のMIDI規格の
1バイト目のチャンネル「XJは1トラツク内の16チ
ヤンネルのいずれかを示している。シーケンサメモリ1
3では、各トラック毎にシーケンシャルな演奏情報を記
憶し、再生時は各トラックの演奏情報を読み出す。
の規模を有している。1トラツクは1つの演奏パートに
対応する。また、1トラツクにつき16チヤンネルの楽
音発生が可能である。つまり、1?R奏パートは16チ
ヤンネルポリフオニツクである。上述のMIDI規格の
1バイト目のチャンネル「XJは1トラツク内の16チ
ヤンネルのいずれかを示している。シーケンサメモリ1
3では、各トラック毎にシーケンシャルな演奏情報を記
憶し、再生時は各トラックの演奏情報を読み出す。
この実施例では、テンポクロック周波数が変更された場
合に、ベロシティデータ(つまりタッチデータ)とボリ
ュームデータ(つまり音電データ)をそのテンポクロッ
ク周波数に応じて自動的に補正するようになっている。
合に、ベロシティデータ(つまりタッチデータ)とボリ
ュームデータ(つまり音電データ)をそのテンポクロッ
ク周波数に応じて自動的に補正するようになっている。
その場合の補正法の一例として、テンポクロック周波数
を変数としたベロシティ補正関数若しくは補正テーブル
及びボリューム補正関数若しくは補正テーブルを使用し
て補正を行う。この場合、プリセットされたベロシティ
補正テーブル及びボリューム補正テーブルを使用するプ
リセットモードと、演奏者によって所望のベロシティ補
正関数及びボリューム補正関数を設定し、これを使用す
るマニュアルモードのどちらかのモードで補正を行うか
の選択が行えるようになっている。
を変数としたベロシティ補正関数若しくは補正テーブル
及びボリューム補正関数若しくは補正テーブルを使用し
て補正を行う。この場合、プリセットされたベロシティ
補正テーブル及びボリューム補正テーブルを使用するプ
リセットモードと、演奏者によって所望のベロシティ補
正関数及びボリューム補正関数を設定し、これを使用す
るマニュアルモードのどちらかのモードで補正を行うか
の選択が行えるようになっている。
次に、CPUl0によって実行される第2図の自動演奏
装置の処理の一例を第4図から第13図に示したフロー
チャートに基づいて説明する。
装置の処理の一例を第4図から第13図に示したフロー
チャートに基づいて説明する。
その前に、各処理で使用されるワーキングレジスタ12
の内容について説明する。ワーキングレジスタ12には
次のようなレジスタがそれぞれ設定されている。
の内容について説明する。ワーキングレジスタ12には
次のようなレジスタがそれぞれ設定されている。
・F L G ニー単位の演奏情報の1バイト目にある
識別コードを記憶する識別コードレジスタ・MD (T
RK):再生、記録、停止等の動作モードをトラック毎
に記憶するモードレジスタ・POINT (TRK)ニ
ジ−ケンサメモリ13のアドレスをトラック毎に指定す
るポインタ・PRI :装置に標準的に装備されている
補正テーブルを使用するプリセットモードか、又はユー
ザが任意に設定した補正関数を使用するマニュアルモー
ドかを示す補正モードレジスタであり、プリセットモー
ドのときP RI = ” l ” 、マニュアルモー
ドのときPRI=“0”である。
識別コードを記憶する識別コードレジスタ・MD (T
RK):再生、記録、停止等の動作モードをトラック毎
に記憶するモードレジスタ・POINT (TRK)ニ
ジ−ケンサメモリ13のアドレスをトラック毎に指定す
るポインタ・PRI :装置に標準的に装備されている
補正テーブルを使用するプリセットモードか、又はユー
ザが任意に設定した補正関数を使用するマニュアルモー
ドかを示す補正モードレジスタであり、プリセットモー
ドのときP RI = ” l ” 、マニュアルモー
ドのときPRI=“0”である。
・KCD :キーコードを一時記憶するキーコードレジ
スタ ・VEL:ベロシティデータを記憶するベロシティレジ
スタ ・VOL :ボリュームデータを記憶するボリュームレ
ジスタ ・VELC(TRK):演奏者によって設定されたマニ
ュアルモード用のベロシティ補正関数をトラック毎に記
憶するベロシティ補正関数レジスタ・VOLC(TRK
):演奏者によって設定されたマニュアルモード用のボ
リューム補正関数をトラック毎に記憶するボリューム補
正関数レジスタ・TEMP :テンポクロック周波数を
設定するテンポデータを記憶するテンポ設定レジスタ・
TRK:現在処理中のトラック番号(1〜32)を指示
するトラック番号レジスタ ・TIME (TRK):時間間隔データをトラック毎
に記憶する時間間隔レジスタ 第4図はCPUl0が処理するメインルーチンの一例を
示す図である。
スタ ・VEL:ベロシティデータを記憶するベロシティレジ
スタ ・VOL :ボリュームデータを記憶するボリュームレ
ジスタ ・VELC(TRK):演奏者によって設定されたマニ
ュアルモード用のベロシティ補正関数をトラック毎に記
憶するベロシティ補正関数レジスタ・VOLC(TRK
):演奏者によって設定されたマニュアルモード用のボ
リューム補正関数をトラック毎に記憶するボリューム補
正関数レジスタ・TEMP :テンポクロック周波数を
設定するテンポデータを記憶するテンポ設定レジスタ・
TRK:現在処理中のトラック番号(1〜32)を指示
するトラック番号レジスタ ・TIME (TRK):時間間隔データをトラック毎
に記憶する時間間隔レジスタ 第4図はCPUl0が処理するメインルーチンの一例を
示す図である。
まず、電源が投入されると、CPUl0はプロダラム及
びデータメモリ11に格納されている制御プログラムに
応じた処理を開始する。「イニシャライズ」では、ワー
キングレジスタ12を初期化する。その後に、「プレイ
スイッチイベント」処理・ 「テンポ設定イベント」処
理、[プリセット/マニュアル設定イベント」処理、「
ボリューム補正関数設定イベント」処理、[ベロシティ
補正関数設定イベント」処理及びその他害種処理(記録
スイッチ処理、停止スイッチ処理、テンキー人力処理等
のその他の操作イベント処理)がイベントの発生に応じ
て繰り返し実行される。
びデータメモリ11に格納されている制御プログラムに
応じた処理を開始する。「イニシャライズ」では、ワー
キングレジスタ12を初期化する。その後に、「プレイ
スイッチイベント」処理・ 「テンポ設定イベント」処
理、[プリセット/マニュアル設定イベント」処理、「
ボリューム補正関数設定イベント」処理、[ベロシティ
補正関数設定イベント」処理及びその他害種処理(記録
スイッチ処理、停止スイッチ処理、テンキー人力処理等
のその他の操作イベント処理)がイベントの発生に応じ
て繰り返し実行される。
「プレイスイッチイベント」処理は、操作パネル14の
プレイ(再生)スイッチが操作されたときに自動演奏(
再生)を開始するための処理である。この処理の一例は
第9図に示されている。
プレイ(再生)スイッチが操作されたときに自動演奏(
再生)を開始するための処理である。この処理の一例は
第9図に示されている。
「テンポ設定イベント」処理は操作パネル14上のテン
ポ設定操作子が操作された時に行われる。
ポ設定操作子が操作された時に行われる。
この処理の一例は第5図に示されている。「プリセット
/マニュアル設定イベント」処理は、操作パネル14上
の補正モード選択スイッチが操作された時に行われる。
/マニュアル設定イベント」処理は、操作パネル14上
の補正モード選択スイッチが操作された時に行われる。
この処理の一例は第6図に示されている。「ボリューム
補正関数設定イベント」処理及び[ベロシティ補正関数
設定イベント」処理は共に操作パネル14上の操作子に
よって補正関数の設定操作がなされた時に行われる。こ
れらの処理の一例は第7図及び第8図に示されている。
補正関数設定イベント」処理及び[ベロシティ補正関数
設定イベント」処理は共に操作パネル14上の操作子に
よって補正関数の設定操作がなされた時に行われる。こ
れらの処理の一例は第7図及び第8図に示されている。
「その他」の処理では、操作パネル15におけるその他
の操作子の操作に基づく処理や、その他の種々の処理が
行われる。
の操作子の操作に基づく処理や、その他の種々の処理が
行われる。
第5図に示す「テンポ設定イベント」処理では、操作パ
ネル14上のテンポ設定操作子によって指定された設定
値をテンポデータとしてテンポ設定レジスタTEMPに
記憶し、そのテンポデータをテンポクロック発生器18
に送出する。これによって、テンポクロック発生器18
は設定されたテンポに従う周波数を持つテンポクロック
パルスを発生する。
ネル14上のテンポ設定操作子によって指定された設定
値をテンポデータとしてテンポ設定レジスタTEMPに
記憶し、そのテンポデータをテンポクロック発生器18
に送出する。これによって、テンポクロック発生器18
は設定されたテンポに従う周波数を持つテンポクロック
パルスを発生する。
第6図に示す「プリセット/マニュアル設定イベント」
処理では、操作パネル14の補正モード選択スイッチが
操作される毎に補正モードレジスタPRIの内容をプリ
セットモード又はマニュアルモードに反転する処理を行
う。即ち、プリセット補正テーブルを使用する場合はプ
リセットモードとして補正モードレジスタPRIには1
″がセットされ、マニュアル補正関数を使用する場合に
はマニュアルモードとして補正モードレジスタ1) R
Iには“Ouがセットされる。
処理では、操作パネル14の補正モード選択スイッチが
操作される毎に補正モードレジスタPRIの内容をプリ
セットモード又はマニュアルモードに反転する処理を行
う。即ち、プリセット補正テーブルを使用する場合はプ
リセットモードとして補正モードレジスタPRIには1
″がセットされ、マニュアル補正関数を使用する場合に
はマニュアルモードとして補正モードレジスタ1) R
Iには“Ouがセットされる。
第7図に示す「ボリューム補正関数設定イベント」処理
では、マニュアルモード用のボリューム補正関数を各ト
ラック毎(つまり各演奏パート毎)に設定する処理を行
う。まず、所望のトラックを操作パネル14の操作子に
よって指定し、そのトラックの番号を示すデータをトラ
ック番号レジスタTRKに記憶する。次に、設定された
ボリューム補正関数をトラック番号レジスタTRKによ
って指定されたトラック番号のボリューム補正関数レジ
スタ■○LC(TRK)に記憶する。
では、マニュアルモード用のボリューム補正関数を各ト
ラック毎(つまり各演奏パート毎)に設定する処理を行
う。まず、所望のトラックを操作パネル14の操作子に
よって指定し、そのトラックの番号を示すデータをトラ
ック番号レジスタTRKに記憶する。次に、設定された
ボリューム補正関数をトラック番号レジスタTRKによ
って指定されたトラック番号のボリューム補正関数レジ
スタ■○LC(TRK)に記憶する。
第8図に示す「ベロシティ補正関数設定イベント」処理
では、マニュアルモード用のベロシティ補正関数を各ト
ラック毎(つまり各演奏パート毎)に設定する処理を行
う。まず、所望のトラックを操作パネル14の操作子に
よって指定し、そのトラックの番号を示すデータをトラ
ック番号レジスタT RKに記憶する。次に、設定され
たベロシティ補正関数をトラック番号レジスタTRKに
よって4M定されたトラック番号のベロシティ補正関数
レジスタVELC(TRK)に記憶する。
では、マニュアルモード用のベロシティ補正関数を各ト
ラック毎(つまり各演奏パート毎)に設定する処理を行
う。まず、所望のトラックを操作パネル14の操作子に
よって指定し、そのトラックの番号を示すデータをトラ
ック番号レジスタT RKに記憶する。次に、設定され
たベロシティ補正関数をトラック番号レジスタTRKに
よって4M定されたトラック番号のベロシティ補正関数
レジスタVELC(TRK)に記憶する。
次に、第9図に従って[プレイスイッチイベント」処理
の各ステップの内容を順に説明する。
の各ステップの内容を順に説明する。
ステップ21:第1番目のトラックから処理を開始する
ために、トラック番号レジスタTRKにL(l ITを
設定する。
ために、トラック番号レジスタTRKにL(l ITを
設定する。
ステップ22:動作モードレジスタMD (TRK)に
格納されている値が再生モードを示す値であるかどうか
を判断し、再生モード(YES)の場合は次のステップ
23に進み、再生モード以外の記録又は停止モード(N
o)の場合はステップ31に進む。動作モードレジスタ
MD (TRK)はトラック毎に設けられており、この
ステップ22ではトラック番号レジスタTRKで指定さ
れるトラックの動作モードを判定する。このようにトラ
ック毎に動作モードを設定することによって再生するト
ラックを任意に指定することができるようになっている
が、トラック毎の動作モード設定処理については詳細説
明を省略する。
格納されている値が再生モードを示す値であるかどうか
を判断し、再生モード(YES)の場合は次のステップ
23に進み、再生モード以外の記録又は停止モード(N
o)の場合はステップ31に進む。動作モードレジスタ
MD (TRK)はトラック毎に設けられており、この
ステップ22ではトラック番号レジスタTRKで指定さ
れるトラックの動作モードを判定する。このようにトラ
ック毎に動作モードを設定することによって再生するト
ラックを任意に指定することができるようになっている
が、トラック毎の動作モード設定処理については詳細説
明を省略する。
ステップ23ニドラック番号レジスタTRKによって指
定されたトラックに関するシーケンサメモリ13の先頭
アドレスをポインタPOINT(T RK)に格納する
。
定されたトラックに関するシーケンサメモリ13の先頭
アドレスをポインタPOINT(T RK)に格納する
。
ステップ24:ポインタPOINT (TRK)のアド
レスに対応するシーケンサメモリ13内の演奏情報デー
タを識別コードレジスタFLGに格納する。
レスに対応するシーケンサメモリ13内の演奏情報デー
タを識別コードレジスタFLGに格納する。
ステップ25:識別コードレジスタFLGに格納されて
いる演奏情報データの識別コードを判定し、それぞれの
識別コードに応じた処理ステップに進む。
いる演奏情報データの識別コードを判定し、それぞれの
識別コードに応じた処理ステップに進む。
ステップ26:識別コードが「キーオン」イベントを示
す「9x」の場合に行う処理であり、第10図のキーオ
ンイベントサブルーチンを行う。
す「9x」の場合に行う処理であり、第10図のキーオ
ンイベントサブルーチンを行う。
ステップ27:識別コードが「キーオフ」イベントを示
す「8X」の場合に行う処理であり、キーオフ処理を行
う。この処理はキーオン処理とほぼ同様であってよいの
で、詳細説明は省略する。
す「8X」の場合に行う処理であり、キーオフ処理を行
う。この処理はキーオン処理とほぼ同様であってよいの
で、詳細説明は省略する。
ステップ28:識別コードが時間情報を示す「F4」の
場合に行う処理であり、第11図の時間間隔設定サブル
ーチンを行う。
場合に行う処理であり、第11図の時間間隔設定サブル
ーチンを行う。
ステップ29:識別コードが[コントロールチェンジ」
イベントを示すli’BXjの場合に行う処理であり、
第12図のコントロールチェンジサブルーチンを行う。
イベントを示すli’BXjの場合に行う処理であり、
第12図のコントロールチェンジサブルーチンを行う。
ステップ30:識別コードが上記以外のコードの場合に
行う処理であり、それぞれのコートに応じた処理を行う
。ここではこの処理についての説明は省略する。
行う処理であり、それぞれのコートに応じた処理を行う
。ここではこの処理についての説明は省略する。
ステップ31ニドラック番号レジスタTRKの内容に1
をプラスし、トラック番号を1だけインクリメントする
。
をプラスし、トラック番号を1だけインクリメントする
。
ステップ32:インクリメントされたトラック番号レジ
スタTRKの値が最大シーケンサトラック数32より大
きいかどうかを判断し、小さい場合はステップ22に戻
り、インクリメントされたトラック番号に関して上述と
同様の処理を施す。
スタTRKの値が最大シーケンサトラック数32より大
きいかどうかを判断し、小さい場合はステップ22に戻
り、インクリメントされたトラック番号に関して上述と
同様の処理を施す。
大きい(YES)場合は全トラックの先頭アドレスにつ
いての処理が終了したのでリターンし、メインルーチン
に戻り、これ以降は第13図の処理をテンポクロックに
よるインタラブド処理で実行する。
いての処理が終了したのでリターンし、メインルーチン
に戻り、これ以降は第13図の処理をテンポクロックに
よるインタラブド処理で実行する。
第9図のステップ26又は第13図のステップ67で実
行されるキーオンイベントサブルーチンの詳細を第10
図を用いて説明する。
行されるキーオンイベントサブルーチンの詳細を第10
図を用いて説明する。
ステップ41 :llj別コードレジスタFLGの内容
がキーオンの場合に、MIDI規格からなるキーオンデ
ータ(第3図参照)の第2バイト目のキーコードデータ
をキーコードレジスタKCDに格納する。
がキーオンの場合に、MIDI規格からなるキーオンデ
ータ(第3図参照)の第2バイト目のキーコードデータ
をキーコードレジスタKCDに格納する。
ステップ42:MIDI規格からなるキーオンデータの
第3バイト目のベロシティデータをベロシティレジスタ
VELに格納する。
第3バイト目のベロシティデータをベロシティレジスタ
VELに格納する。
ステップ43:補正モードレジスタPRIの値がrL
Q II、即ちマニュアルモードであるかどうかを判断
し、マニュアルモード(YES)の場合はステップ44
に進み、そうでない(No)場合はステップ45に進む
。
Q II、即ちマニュアルモードであるかどうかを判断
し、マニュアルモード(YES)の場合はステップ44
に進み、そうでない(No)場合はステップ45に進む
。
ステップ44:ここではマニュアルモードによるベロシ
ティ補正を行う。すなわち、トラック番号レジスタTR
Kによって指定されたトラックのベロシティ補正関数レ
ジスタVELC: (TRK)に記憶されたベロシティ
補正関数に槌い、ベロシティレジスタVELのベロシテ
ィデータをテンポ設定レジスタTEMPのテンポ設定デ
ータに応じて補正し、補正済みのベロシティデータをベ
ロシティレジスタVELに格納する。
ティ補正を行う。すなわち、トラック番号レジスタTR
Kによって指定されたトラックのベロシティ補正関数レ
ジスタVELC: (TRK)に記憶されたベロシティ
補正関数に槌い、ベロシティレジスタVELのベロシテ
ィデータをテンポ設定レジスタTEMPのテンポ設定デ
ータに応じて補正し、補正済みのベロシティデータをベ
ロシティレジスタVELに格納する。
このようなデータ補正の手法は種々考えられる。
例えば、ベロシティ補正関数レジスタVELC(TRK
)のベロシティ補正関数としてテンポ設定データを独立
変数とし、補正済みのベロシティデータを従属変数とす
る複数の関数テーブルを具備し、そのうち1つの関数カ
ーブをベロシティレジスタVELのベロシティデータに
応じて選択し。
)のベロシティ補正関数としてテンポ設定データを独立
変数とし、補正済みのベロシティデータを従属変数とす
る複数の関数テーブルを具備し、そのうち1つの関数カ
ーブをベロシティレジスタVELのベロシティデータに
応じて選択し。
選択された関数カーブからテンポ設定レジスタTEMP
のテンポデータに応じて補正済みベロシティデータを引
き出すようにしてもよい。この場合、ベロシティ補正関
数レジスタVELC(TRK)のベロシティ補正関数か
ら補正済みベロシティデータを引き出す変数はVELと
TEMPの2個であるから、VELC(TRK)(VE
L、TEMP)でこれを表現する。勿論、このように補
正済みベロシティデータを2つの変数VELと1” E
MPに応じて補正関数テーブルからダイレクトに引き
出す手法に限らず、1つの変数TEMPに応じて補正係
数を引き出し、この補正係数をVELのベロシティデー
タに乗算することによりデータ補正するようにしてもよ
く、さらにその他の手法であってもよい。
のテンポデータに応じて補正済みベロシティデータを引
き出すようにしてもよい。この場合、ベロシティ補正関
数レジスタVELC(TRK)のベロシティ補正関数か
ら補正済みベロシティデータを引き出す変数はVELと
TEMPの2個であるから、VELC(TRK)(VE
L、TEMP)でこれを表現する。勿論、このように補
正済みベロシティデータを2つの変数VELと1” E
MPに応じて補正関数テーブルからダイレクトに引き
出す手法に限らず、1つの変数TEMPに応じて補正係
数を引き出し、この補正係数をVELのベロシティデー
タに乗算することによりデータ補正するようにしてもよ
く、さらにその他の手法であってもよい。
ステップ45:ここではプリセットモードによるベロシ
ティ補正を行う、すなわち、予め装置に標準的に装備さ
れているベロシティ補正テーブルに従い、ベロシティレ
ジスタVELのベロシティデータをテンポ設定レジスタ
TEMPのテンポ設定データに応じて補正し、補正済み
のベロシティデータをベロシティレジスタVELに格納
する。
ティ補正を行う、すなわち、予め装置に標準的に装備さ
れているベロシティ補正テーブルに従い、ベロシティレ
ジスタVELのベロシティデータをテンポ設定レジスタ
TEMPのテンポ設定データに応じて補正し、補正済み
のベロシティデータをベロシティレジスタVELに格納
する。
例えば、プリセットされたベロシティ補正テーブルから
ベロシティレジスタVELの値及びテンポレジスタTE
MPの値に基づいた補正済みベロシティデータを引き出
し、これをベロシティレジスタVELに格納する。この
場合も、上述と同様に、VELとTEMPの2つを変数
とせずに、TEMPのみを変数として補正係数を引き出
し、これをVELに乗算することによりデータ補正を行
うようにしてもよい。
ベロシティレジスタVELの値及びテンポレジスタTE
MPの値に基づいた補正済みベロシティデータを引き出
し、これをベロシティレジスタVELに格納する。この
場合も、上述と同様に、VELとTEMPの2つを変数
とせずに、TEMPのみを変数として補正係数を引き出
し、これをVELに乗算することによりデータ補正を行
うようにしてもよい。
ステップ46:ポインタPOINT (TRK)の内容
に3をプラスし、トラック番号を3だけインクリメント
する。ここで、3だけインクリメントする理由は、第2
及び第3バイト目のデータ、ここではキーコードデータ
及びベロシティデータをジャンプして、次の演奏情報の
ステータスバイト(第1バイト)のアドレスをポインタ
POINT (TRK)が指示するようにするためであ
る。
に3をプラスし、トラック番号を3だけインクリメント
する。ここで、3だけインクリメントする理由は、第2
及び第3バイト目のデータ、ここではキーコードデータ
及びベロシティデータをジャンプして、次の演奏情報の
ステータスバイト(第1バイト)のアドレスをポインタ
POINT (TRK)が指示するようにするためであ
る。
ステップ47:ステップ41の処理でキーコードレジス
タKCDに格納されたキーコードデータと、ステップ4
4又は45のいずれかの処理でベロシティレジスタVE
Lに格納された補正済みベロシティデータとをそれぞれ
有するMIDIのキーオンメツセージを入出力装置15
を介して音源17に送出する。これによって、音源17
はベロシティデータの補正されたキーオンメツセージに
基づいて楽音を発生するようになる。
タKCDに格納されたキーコードデータと、ステップ4
4又は45のいずれかの処理でベロシティレジスタVE
Lに格納された補正済みベロシティデータとをそれぞれ
有するMIDIのキーオンメツセージを入出力装置15
を介して音源17に送出する。これによって、音源17
はベロシティデータの補正されたキーオンメツセージに
基づいて楽音を発生するようになる。
次に、第9図のステップ28又は第13図のステップ6
9で実行する時間間隔設定サブルーチンの詳細例を第1
1図を用いて説明する。
9で実行する時間間隔設定サブルーチンの詳細例を第1
1図を用いて説明する。
この処理は、識別コードレジスタFLGの内容が時間情
報を示している場合に行われる処理であり、まず、この
時間情報データの第2及び第3バイト目に有る時間間隔
データをトラック番号レジスタTRKにより指定された
トラックの時間間隔レジスタTIME (TRK)に格
納する0次に、当該トラックのポインタPOINT (
TRK)の内容に3をプラスし、シーケンメモリ13の
アドレスを3だけインクリメントし、次の演奏情報の1
バイト目を指示する。
報を示している場合に行われる処理であり、まず、この
時間情報データの第2及び第3バイト目に有る時間間隔
データをトラック番号レジスタTRKにより指定された
トラックの時間間隔レジスタTIME (TRK)に格
納する0次に、当該トラックのポインタPOINT (
TRK)の内容に3をプラスし、シーケンメモリ13の
アドレスを3だけインクリメントし、次の演奏情報の1
バイト目を指示する。
次に、第9図のステップ29又は第13図のステップ7
0で実行されるコントロールチェンジイベントサブルー
チンの詳細例を第12図を用いて説明する。
0で実行されるコントロールチェンジイベントサブルー
チンの詳細例を第12図を用いて説明する。
この処理は、識別コードレジスタFLGの内容が[rB
X」、即ちコントロールチェンジイベントの場合に行わ
れる処理である。
X」、即ちコントロールチェンジイベントの場合に行わ
れる処理である。
ステップ51:ポインタPOINT (TRK)によっ
て指示されたコントロールチェンジメツセージの第2バ
イト目の内容が[[)11.即ちボリュームチェンジで
あるかどうかを判断しく第3図参照)、Ii’07Jl
(YES)の場合はステップ52に進み、そうでな
い(No)の場合はステップ53に進む。
て指示されたコントロールチェンジメツセージの第2バ
イト目の内容が[[)11.即ちボリュームチェンジで
あるかどうかを判断しく第3図参照)、Ii’07Jl
(YES)の場合はステップ52に進み、そうでな
い(No)の場合はステップ53に進む。
ステップ52:コントロールメツセージの第3バイト目
のボリュームデータをボリュームレジスタVOLに格納
する。
のボリュームデータをボリュームレジスタVOLに格納
する。
ステップ53:第2バイト目の内容がIrO7,!1以
外の場合に行う処理であり、その他のバラメー夕変更処
理等を行う。
外の場合に行う処理であり、その他のバラメー夕変更処
理等を行う。
ステップ54:補正モードレジスタPRIの値が11
Q I+、即ちマニュアルモードであるかどうかを判断
し、マニュアルモード(YES)の場合はステップ55
に進み、そうでない(NO)場合はステップ56に進む
。
Q I+、即ちマニュアルモードであるかどうかを判断
し、マニュアルモード(YES)の場合はステップ55
に進み、そうでない(NO)場合はステップ56に進む
。
ステップ55:ここではマニュアルモードによるボリュ
ーム補正を行う。すなわち、トラック番号レジスタTR
Kによって指定されたトラックのボリューム補正関数レ
ジスタVOLC(TRK)に記憶されたボリューム補正
関数に従い、ボリュームレジスタVOLのボリュームデ
ータをテンポ設定レジスタTEMPのテンポ設定データ
に応じて補正し、補正済みのボリュームデータをボリュ
ームレジスタVOLに格納する。
ーム補正を行う。すなわち、トラック番号レジスタTR
Kによって指定されたトラックのボリューム補正関数レ
ジスタVOLC(TRK)に記憶されたボリューム補正
関数に従い、ボリュームレジスタVOLのボリュームデ
ータをテンポ設定レジスタTEMPのテンポ設定データ
に応じて補正し、補正済みのボリュームデータをボリュ
ームレジスタVOLに格納する。
このようなデータ補正の手法は種々考えられる。
例えば、ボリューム補正関数レジスタVOLC(TRK
)のボリューム補正関数としてテンポ設定データを独立
変数とし、補正済みのボリュームデータを従属変数とす
る複数の関数テーブルを具備し、そのうち1つの関数カ
ーブをボリュームレジスタVOLのボリュームデータに
応じて選択し。
)のボリューム補正関数としてテンポ設定データを独立
変数とし、補正済みのボリュームデータを従属変数とす
る複数の関数テーブルを具備し、そのうち1つの関数カ
ーブをボリュームレジスタVOLのボリュームデータに
応じて選択し。
選択された関数カーブからテンポ設定レジスタTEMP
のテンポデータに応じて補正済みボリュームデータを引
き出すようにしてもよい。この場合。
のテンポデータに応じて補正済みボリュームデータを引
き出すようにしてもよい。この場合。
ボリューム補正関数レジスタVOLC(TRK)のボリ
ューム補正関数から補正済みボリュームデータを引き出
す変数はVOLとTEMPの2個であるから、VOLC
(TRK)(VOL、TEMP)でこれを表現する。勿
論、このように補正済みボリュームデータを2つの変数
VOLとTEMPに応じて補正関数テーブルからダイレ
クトに引き出す手法に限らず、1つの変数TEMPに応
じて補正係数を引き出し、この補正係数をVOLのボリ
ュームデータに乗算することによりデータ補正するよう
にしてもよく、さらにその他の手法であってもよい。
ューム補正関数から補正済みボリュームデータを引き出
す変数はVOLとTEMPの2個であるから、VOLC
(TRK)(VOL、TEMP)でこれを表現する。勿
論、このように補正済みボリュームデータを2つの変数
VOLとTEMPに応じて補正関数テーブルからダイレ
クトに引き出す手法に限らず、1つの変数TEMPに応
じて補正係数を引き出し、この補正係数をVOLのボリ
ュームデータに乗算することによりデータ補正するよう
にしてもよく、さらにその他の手法であってもよい。
ステップ56:ここではプリセットモードによるボリュ
ーム補正を行う。すなわち、予め装置に41準的に装備
されているボリューム補正テーブルに従い、ボリューム
レジスタ■○Lのボリュームデータをテンポ設定レジス
タTEMPのテンポ設定データに応じて補正し、補正済
みのボリュームデータをボリュームレジスタVOLに格
納する。
ーム補正を行う。すなわち、予め装置に41準的に装備
されているボリューム補正テーブルに従い、ボリューム
レジスタ■○Lのボリュームデータをテンポ設定レジス
タTEMPのテンポ設定データに応じて補正し、補正済
みのボリュームデータをボリュームレジスタVOLに格
納する。
例えば、プリセットされたボリューム補正テーブルから
ボリュームレジスタVOLの値及びテンポレジスタTE
MPの値に基づいた補正済みボリュームデータを引き出
し、これをボリュームレジスタVOLに格納する。この
場合も、上述と同様に、VOLとTEMPの2つを変数
とせずに、TEMPのみを変数として補正係数を引き出
し、これをVOLに乗算することによりデータ補正を行
うようにしてもよい。
ボリュームレジスタVOLの値及びテンポレジスタTE
MPの値に基づいた補正済みボリュームデータを引き出
し、これをボリュームレジスタVOLに格納する。この
場合も、上述と同様に、VOLとTEMPの2つを変数
とせずに、TEMPのみを変数として補正係数を引き出
し、これをVOLに乗算することによりデータ補正を行
うようにしてもよい。
ステップ57:ポインタPOINT (TRK)の内容
に3をプラスし、シーケンサメモリ13のアドレスを3
だけインクリメントし、次の演奏情報の1バイト目つま
りスティタスバイトを指示する。
に3をプラスし、シーケンサメモリ13のアドレスを3
だけインクリメントし、次の演奏情報の1バイト目つま
りスティタスバイトを指示する。
ステップ58ニステツプ55又は56のいずれかの処理
でボリュームレジスタVOLに格納されだ補正済みボリ
ュームデータを有するMIDIのコントロールチェンジ
メツセージを入出力装置15を介して音源17に送出す
る。これによって、音源17はボリュームデータの補正
されたコントロールチェンジメツセージに基づいて楽音
を発生するようになる。
でボリュームレジスタVOLに格納されだ補正済みボリ
ュームデータを有するMIDIのコントロールチェンジ
メツセージを入出力装置15を介して音源17に送出す
る。これによって、音源17はボリュームデータの補正
されたコントロールチェンジメツセージに基づいて楽音
を発生するようになる。
第9図のプレイスイッチイベントルーチンはプレイスイ
ッチがオンされたときに1回だけ行われる。これ以後は
、テンポクロックの割り込みに従い、第13図に例示す
るテンポクロック割り込みルーチンが繰り返し実行され
る。このルーチンはテンポクロック発生器18からCP
UI Oにテンポクロックが与えられる毎に実行される
処理である。
ッチがオンされたときに1回だけ行われる。これ以後は
、テンポクロックの割り込みに従い、第13図に例示す
るテンポクロック割り込みルーチンが繰り返し実行され
る。このルーチンはテンポクロック発生器18からCP
UI Oにテンポクロックが与えられる毎に実行される
処理である。
ステップ61:第1番目のトラックから処理を開始する
ために、トラック番号レジスタTRKに1′″を設定す
る。
ために、トラック番号レジスタTRKに1′″を設定す
る。
ステップ62ニドラック番号レジスタTRKによって指
定されたトラックの動作モードレジスタMD (TRK
)に格納されている値が再生モードを示す値であるかど
うかを判断し、再生モードYESの場合は次のステップ
63に進み、再生モードNoつまり記録又は停止モード
の場合はステップ72に進む。
定されたトラックの動作モードレジスタMD (TRK
)に格納されている値が再生モードを示す値であるかど
うかを判断し、再生モードYESの場合は次のステップ
63に進み、再生モードNoつまり記録又は停止モード
の場合はステップ72に進む。
ステップ63:再生モードYESの場合は、トラック番
号レジスタTRKによって指定されたトラックに対応す
る時間間隔レジスタTIME(TRK)の値がO″であ
るかどうかを判断し、“O”の場合はステップ64に進
み、“0″以外の場合はステップ65に進む。時間間隔
レジスタ・TIME (TRK)の値が“0″以外であ
るとは。
号レジスタTRKによって指定されたトラックに対応す
る時間間隔レジスタTIME(TRK)の値がO″であ
るかどうかを判断し、“O”の場合はステップ64に進
み、“0″以外の場合はステップ65に進む。時間間隔
レジスタ・TIME (TRK)の値が“0″以外であ
るとは。
演奏イベント間の時間間隔をカウントしている最中であ
ることを示す。他方1時間間隔レジスタTIME (T
RK)の値がII OIIであるとは1時間間隔のカウ
ントが終了したことを示す。
ることを示す。他方1時間間隔レジスタTIME (T
RK)の値がII OIIであるとは1時間間隔のカウ
ントが終了したことを示す。
ステップ64ニステツプ63で時間間隔レジスタTIM
E (TRK)の値がii Ouと判断された場合は1
次の演奏情報をシーケンサメモリ13から読み出す必要
があるので、ポインタPOINT(T RK)によって
指示された次の演奏情報メツセージの1バイト目から次
の演奏情報の識別コードを読み出し、これを識別コード
レジスタFLGに格納する。
E (TRK)の値がii Ouと判断された場合は1
次の演奏情報をシーケンサメモリ13から読み出す必要
があるので、ポインタPOINT(T RK)によって
指示された次の演奏情報メツセージの1バイト目から次
の演奏情報の識別コードを読み出し、これを識別コード
レジスタFLGに格納する。
ステップ65ニステツプ63で時間間隔レジスタTIM
E (TRK)の値が0”以外と判断された場合は、こ
のレジスタの値から1だけマイナスし1時間間隔レジス
タTIME (TRK)の値をデクリメントし、ステッ
プ72に進む。つまり、時間カウントはテンポクロック
パルスによって時間間隔データをデクリメントすること
によって行う。
E (TRK)の値が0”以外と判断された場合は、こ
のレジスタの値から1だけマイナスし1時間間隔レジス
タTIME (TRK)の値をデクリメントし、ステッ
プ72に進む。つまり、時間カウントはテンポクロック
パルスによって時間間隔データをデクリメントすること
によって行う。
ステップ66:識別コードレジスタFLGに格納されて
いる演奏情報データの識別コードを判定し、それぞれの
識別コードに応じた処理ステップに進む。
いる演奏情報データの識別コードを判定し、それぞれの
識別コードに応じた処理ステップに進む。
ステップ67:識別コードが「キーオン」イベントを示
す[r9XJlの場合に行う処理であり、第10図のキ
ーオンイベントサブルーチンを行う。
す[r9XJlの場合に行う処理であり、第10図のキ
ーオンイベントサブルーチンを行う。
ステップ68 :@別コードが「キーオフ」イベントを
示すF8XJlの場合に行う処理であり、キーオフ処理
を行う。
示すF8XJlの場合に行う処理であり、キーオフ処理
を行う。
ステップ69 :lI!別コードが時間情報を示す[i
’Fllの場合に行う処理であり、第11図の時間間隔
設定サブルーチンを行う。
’Fllの場合に行う処理であり、第11図の時間間隔
設定サブルーチンを行う。
ステップ70:識別コードが「コントロールチェンジ」
イベントを示す1XJlの場合に行う処理であり、第1
2図のコントロールチェンジイベントサブルーチンを行
う。
イベントを示す1XJlの場合に行う処理であり、第1
2図のコントロールチェンジイベントサブルーチンを行
う。
ステップ71:識別コードが上記以外のコードの場合に
行う処理であり、それぞれのコードに応・じた処理を行
う。
行う処理であり、それぞれのコードに応・じた処理を行
う。
ステップ72ニドラック番号レジスタTRKの内容に1
をプラスし、トラック番号を1だけインクリメントする
。
をプラスし、トラック番号を1だけインクリメントする
。
ステップ73:インクリメントされたトラック番号レジ
スタTRKの値が最大トラック数32より大きいかどう
かを判断し、小さい場合はステップ62に戻り、インク
リメントされたトラック番号に関して上述と同様の処理
を繰り返す、大きい(YES)場合はテンポクロック分
についての全トラックの処理が終了したのでリターンす
る。その後、次のテンポクロックパルス発生によるイン
タラブド信号の発生によって、再び処理を実行する。
スタTRKの値が最大トラック数32より大きいかどう
かを判断し、小さい場合はステップ62に戻り、インク
リメントされたトラック番号に関して上述と同様の処理
を繰り返す、大きい(YES)場合はテンポクロック分
についての全トラックの処理が終了したのでリターンす
る。その後、次のテンポクロックパルス発生によるイン
タラブド信号の発生によって、再び処理を実行する。
以上の構成において、再生動作つまり自動演奏動作につ
いて説明すると、まず、補正モードをプリセットモード
とするかマニュアルモードとするかの選択を予め行い、
第6図の処理により、補正モードレジスタPRIの内容
を設定する。
いて説明すると、まず、補正モードをプリセットモード
とするかマニュアルモードとするかの選択を予め行い、
第6図の処理により、補正モードレジスタPRIの内容
を設定する。
また、マニュアルモード用のベロシティ補正関数及びボ
リューム補正関数の設定を所望に応じて行い、第7図、
第8図の処理により、ボリューム補正関数レジスタVO
LC(TRK)、ベロシティ補正関数レジスタVELC
(TRK)に格納する。勿論、これらの設定処理(第6
図〜第8図の処理)は自動演奏中でも設定変更可能であ
る。
リューム補正関数の設定を所望に応じて行い、第7図、
第8図の処理により、ボリューム補正関数レジスタVO
LC(TRK)、ベロシティ補正関数レジスタVELC
(TRK)に格納する。勿論、これらの設定処理(第6
図〜第8図の処理)は自動演奏中でも設定変更可能であ
る。
次に、所望の再生トラックの選択を行った後、プレイス
イッチをオンすると、第9図のプレイスイッチイベント
処理が実行される。この場合、再生トラックの先頭の演
奏情報が例えばキーオンデ−タであるとすると、ステッ
プ26が実行され。
イッチをオンすると、第9図のプレイスイッチイベント
処理が実行される。この場合、再生トラックの先頭の演
奏情報が例えばキーオンデ−タであるとすると、ステッ
プ26が実行され。
第10図のキーオンイベントサブルーチンに入るこのキ
ーオンイベントサブルーチンでは、補正モードがマニュ
アルモードであるか、プリセットモードであるかに応じ
てステップ44又は45の処理が行われ、テンポクロッ
クの周波数に応じたベロシティデータの補正が行われる
。これにより、キーオンデータに応じた楽音が、補正さ
れたベロシティデータに従ってタッチレスポンス制御の
なされた状態で発音される。
ーオンイベントサブルーチンでは、補正モードがマニュ
アルモードであるか、プリセットモードであるかに応じ
てステップ44又は45の処理が行われ、テンポクロッ
クの周波数に応じたベロシティデータの補正が行われる
。これにより、キーオンデータに応じた楽音が、補正さ
れたベロシティデータに従ってタッチレスポンス制御の
なされた状態で発音される。
次の演奏情報が時間間隔データの場合は、第13図のテ
ンポクロッタインタラブトルーチンのステップ69の処
理を行った後、このインタラブドルーチンのステップ6
5の処理をテンポクロックタイミング毎に繰り返して、
時間間隔データをデクリメントすることによって時間カ
ウントを行う。
ンポクロッタインタラブトルーチンのステップ69の処
理を行った後、このインタラブドルーチンのステップ6
5の処理をテンポクロックタイミング毎に繰り返して、
時間間隔データをデクリメントすることによって時間カ
ウントを行う。
時間間隔分のカウントが終了すると、第13図のステッ
プ64により次の演奏情報が読み出される6次の演奏情
報がボリュームチェンジイベントだと仮定すると、ステ
ップ70により第12図のコントールチェンジサブルー
チンを行う、ここでは、補正モードがマニュアルモード
/プリセットモードのどららかに応じてステップ55又
は56の処理を行い、ボリュームデータを演奏テンポの
速さに応じて補正する。これにより、補正されたボリュ
ームデータに従って発生音の音量が制御される。
プ64により次の演奏情報が読み出される6次の演奏情
報がボリュームチェンジイベントだと仮定すると、ステ
ップ70により第12図のコントールチェンジサブルー
チンを行う、ここでは、補正モードがマニュアルモード
/プリセットモードのどららかに応じてステップ55又
は56の処理を行い、ボリュームデータを演奏テンポの
速さに応じて補正する。これにより、補正されたボリュ
ームデータに従って発生音の音量が制御される。
こうして、自動演奏のテンポに応じてタッチレスポンス
制御と設定音量が修正されるので、テンポを変更すれば
、それに追従してタッチレスポンス制御状態と設定音i
が変化することになる。しかも、そのようなテンポに応
じた補正は各トラック毎に独立に行えるので、各トラッ
ク(各演奏パート)毎に独立にテンポに応じた音量等の
制御が行える。
制御と設定音量が修正されるので、テンポを変更すれば
、それに追従してタッチレスポンス制御状態と設定音i
が変化することになる。しかも、そのようなテンポに応
じた補正は各トラック毎に独立に行えるので、各トラッ
ク(各演奏パート)毎に独立にテンポに応じた音量等の
制御が行える。
尚、上記実施例では、演奏者によって設定されたボリュ
ームデータやベロシティデータ等の楽音制御情報をテン
ポに応じて変更・補正するようにしているが、これに限
らず、テンポに応じて一義的に楽音制御情報の値を決定
するようにしてもよい。例えば、テンポに応じて一義的
にボリュームデータの値を決定する場合は、第12図の
コントロールチェンジイベントサブルーチンを第14図
のように変更すればよい。
ームデータやベロシティデータ等の楽音制御情報をテン
ポに応じて変更・補正するようにしているが、これに限
らず、テンポに応じて一義的に楽音制御情報の値を決定
するようにしてもよい。例えば、テンポに応じて一義的
にボリュームデータの値を決定する場合は、第12図の
コントロールチェンジイベントサブルーチンを第14図
のように変更すればよい。
第14図においては、第12図のステップ52が省略さ
れており、また、第12図のステップ55及び56がス
テップ55a及び56aのように変更されている。
れており、また、第12図のステップ55及び56がス
テップ55a及び56aのように変更されている。
ステップ55aでは、ステップ55のボリューム補正関
数レジスタVOLC(TRK)に代えて・ボリューム設
定関数レジスタVOLS (TRK)を使用する。この
ボリューム設定関数レジスタVOLS (TRK)には
、テンポを独立変数とし、ボリュームデータを従属変数
とするボリューム設定関数を、前述と同様の手法によっ
てマニュアルモードにより適宜選択設定し、格納するも
のとする。そして、このステップ55aでは、トラック
番号レジスタTRKによって指定されたトラックのボリ
ューム設定関数レジスタVOLS (TRK)に格納さ
れているボリューム設定関数に従い、テンポ設定レジス
タTEMPのテンポ設定データに応じたボリュームデー
タを引き出し、これをボリュームレジスタVOLに格納
する。
数レジスタVOLC(TRK)に代えて・ボリューム設
定関数レジスタVOLS (TRK)を使用する。この
ボリューム設定関数レジスタVOLS (TRK)には
、テンポを独立変数とし、ボリュームデータを従属変数
とするボリューム設定関数を、前述と同様の手法によっ
てマニュアルモードにより適宜選択設定し、格納するも
のとする。そして、このステップ55aでは、トラック
番号レジスタTRKによって指定されたトラックのボリ
ューム設定関数レジスタVOLS (TRK)に格納さ
れているボリューム設定関数に従い、テンポ設定レジス
タTEMPのテンポ設定データに応じたボリュームデー
タを引き出し、これをボリュームレジスタVOLに格納
する。
ステップ56aでは、ステップ56のボリューム補正テ
ーブルに代えてボリューム設定テーブルを使用するにの
ボリューム設定テーブルには、テンポを独立変数とし、
ボリュームデータを従尻変数とするプリセットモード用
のボリューム設定関数が記憶されている。そして、この
ステップ56aでは、ボリューム設定テーブルに記憶さ
れているプリセットモード用のボリューム設定関数に従
い、テンポ設定レジスタTEMPのテンポ設定データに
応じたボリュームデータを引き出し、これをボリューム
レジスタVOLに格納する。
ーブルに代えてボリューム設定テーブルを使用するにの
ボリューム設定テーブルには、テンポを独立変数とし、
ボリュームデータを従尻変数とするプリセットモード用
のボリューム設定関数が記憶されている。そして、この
ステップ56aでは、ボリューム設定テーブルに記憶さ
れているプリセットモード用のボリューム設定関数に従
い、テンポ設定レジスタTEMPのテンポ設定データに
応じたボリュームデータを引き出し、これをボリューム
レジスタVOLに格納する。
テンポに応じて一義的にボリュームデータの値を設定す
る場合は、第10図のキーオンイベントサブルーチンお
けるステップ42,44.45を上述と同様に変更すれ
ばよい。
る場合は、第10図のキーオンイベントサブルーチンお
けるステップ42,44.45を上述と同様に変更すれ
ばよい。
上記実施例では、ソフトウェア処理によりこの発明を実
施しているが、専用のハードウェアを構成し、同様の制
御を行うようにしてもよい。
施しているが、専用のハードウェアを構成し、同様の制
御を行うようにしてもよい。
上記実施例では、シーケンサのトラック数が32の場合
について説明したが、これに限定されることはない。ま
た、上記実施例では、各トラック毎に独立に演奏テンポ
に応じた楽音制御情報の補正若しくは変更・設定を行な
うようにしているが。
について説明したが、これに限定されることはない。ま
た、上記実施例では、各トラック毎に独立に演奏テンポ
に応じた楽音制御情報の補正若しくは変更・設定を行な
うようにしているが。
これに限らず、複数トラック(パート)で共通に行なっ
てもよい。
てもよい。
演奏テンポに応じて補正若しくは変更・設定を行なう対
象とする楽音制御情報の種類は、上記実施例のようなボ
リュームデータ(音景設定情報)及びベロシティデータ
(タッチ情報)に限らず、音色情報、音高情報、各種楽
音効果設定情報、エンベロープ情報等、楽音要素を制御
するための如何なる情報であってもよい。
象とする楽音制御情報の種類は、上記実施例のようなボ
リュームデータ(音景設定情報)及びベロシティデータ
(タッチ情報)に限らず、音色情報、音高情報、各種楽
音効果設定情報、エンベロープ情報等、楽音要素を制御
するための如何なる情報であってもよい。
この発明が適用可能な自動演奏装置は、上記実施例のよ
うなシーケンサに限らず、自動ベースコードや自動アル
ペジョ等の自動伴奏装置、あるいは自動リズム演奏装置
等、テンポクロックに従って自動演奏を行なうタイプの
如何なる自動演奏装置にも適用できることは言うまでも
ない。
うなシーケンサに限らず、自動ベースコードや自動アル
ペジョ等の自動伴奏装置、あるいは自動リズム演奏装置
等、テンポクロックに従って自動演奏を行なうタイプの
如何なる自動演奏装置にも適用できることは言うまでも
ない。
また、上記実施例では、設定した自動演奏のテンポに応
じて楽音制御情報が常時変更(補正)若しくは設定され
るようになっているが、これに限らず、テンポ設定値を
変更したときに経過的に(−時的に)楽音制御情報を変
更(補正)若しくは設定するようにしてもよい。そのた
めには、例えば、テンポ設定手段におけるテンポ設定値
が変化したことを検出する変化検出手段を具備し、通常
は演奏者によって設定されたボリュームデータによって
楽音信号の音量を制御する、あるいは実際のキータッチ
通りのベロシティデータによって楽音信号のタッチレス
ポンス制御を行なうようにするが、前記変化検出手段に
よりテンポ設定値が変化したことが検出されたときに一
時的にこれらのボリュームデータあるいはベロシティデ
ータ等楽音制御情報をテンポに応じて変更若しくは設定
するようにすればよい。例えば、第10図のステップ4
3,44.45や第12図のステップ54゜55.56
の処理をキーオンイベントルーチンやコントロールチェ
ンジイベントルーチンから省略し、テンポ設定イベント
ルーチンにおいて上記ステップ43,44.45やステ
ップ54,55゜56の処理と同様の処理を行ない、こ
の処理に基づき得られた楽音制御情報により一時的に楽
音制御を行なうようにすればよいし、またそれ以外の手
法も可能である。
じて楽音制御情報が常時変更(補正)若しくは設定され
るようになっているが、これに限らず、テンポ設定値を
変更したときに経過的に(−時的に)楽音制御情報を変
更(補正)若しくは設定するようにしてもよい。そのた
めには、例えば、テンポ設定手段におけるテンポ設定値
が変化したことを検出する変化検出手段を具備し、通常
は演奏者によって設定されたボリュームデータによって
楽音信号の音量を制御する、あるいは実際のキータッチ
通りのベロシティデータによって楽音信号のタッチレス
ポンス制御を行なうようにするが、前記変化検出手段に
よりテンポ設定値が変化したことが検出されたときに一
時的にこれらのボリュームデータあるいはベロシティデ
ータ等楽音制御情報をテンポに応じて変更若しくは設定
するようにすればよい。例えば、第10図のステップ4
3,44.45や第12図のステップ54゜55.56
の処理をキーオンイベントルーチンやコントロールチェ
ンジイベントルーチンから省略し、テンポ設定イベント
ルーチンにおいて上記ステップ43,44.45やステ
ップ54,55゜56の処理と同様の処理を行ない、こ
の処理に基づき得られた楽音制御情報により一時的に楽
音制御を行なうようにすればよいし、またそれ以外の手
法も可能である。
この発明によれば、自動演奏におけるテンポの変化に応
じて演奏音の音量や音色等の楽音要素を可変制御するこ
とができるようになり、豊な演奏表現を行なうことがで
きる、という優れた効果を奏する。
じて演奏音の音量や音色等の楽音要素を可変制御するこ
とができるようになり、豊な演奏表現を行なうことがで
きる、という優れた効果を奏する。
第1図(a)、(b)はこの発明の構成を示す機能ブロ
ック図、 第2図はこの発明に係る電子楽器の一実施例のハードウ
ェア構成を示すブロック図、 第3図は第2図のシーケンサメモリに記憶する演奏情報
をMIDI規格で表現した場合のデータフォーマットの
一例を示す図、 第4図は第2図のCPUが処理するメインルーチンの一
例を示すフローチャート図、 第5図は第4図のテンポ設定イベント処理の詳細例を示
すフローチャート図、 第6図は第4図のプリセット/マニュアル設定イベント
処理詳細例を示すフローチャート図、第7図は第4図の
ボリューム補正関数設定イベント処理の詳細例を示すフ
ローチャート図、第8図は第4図のベロシティ補正関数
設定イベント処理の詳細例を示すフローチャート図、第
9図は第4図のプレイスイッチイベント処理の詳細例を
示すフローチャート図、 第10図は第9図及び第13図のキーオンイベントサブ
ルーチンの詳細例を示すフローチャート図、 第11図は第9図及び第13図の時間間隔設定サブルー
チンの詳細例を示すフローチャート図、第12図は第9
図及び第13図のコントロールチェンジイベントサブル
ーチンの詳細例を示すフローチャート図、 第13図はテンポクロック割り込み処理の詳細例を示す
フローチャート図、 第14図は第12図のコントロールチェンジイベントサ
ブルーチンの変更例を示すフローチャート図、である。 10・・・CPU、11・・・プログラム及びデータメ
モリ、12・・・ワーキングレジスタ、13・・・シー
ケンサメモリ、14・・・操作パネル、15・・・入出
力装置、16・・・鍵盤回路、17・・・音源、18・
・・テンポクロック発生器。
ック図、 第2図はこの発明に係る電子楽器の一実施例のハードウ
ェア構成を示すブロック図、 第3図は第2図のシーケンサメモリに記憶する演奏情報
をMIDI規格で表現した場合のデータフォーマットの
一例を示す図、 第4図は第2図のCPUが処理するメインルーチンの一
例を示すフローチャート図、 第5図は第4図のテンポ設定イベント処理の詳細例を示
すフローチャート図、 第6図は第4図のプリセット/マニュアル設定イベント
処理詳細例を示すフローチャート図、第7図は第4図の
ボリューム補正関数設定イベント処理の詳細例を示すフ
ローチャート図、第8図は第4図のベロシティ補正関数
設定イベント処理の詳細例を示すフローチャート図、第
9図は第4図のプレイスイッチイベント処理の詳細例を
示すフローチャート図、 第10図は第9図及び第13図のキーオンイベントサブ
ルーチンの詳細例を示すフローチャート図、 第11図は第9図及び第13図の時間間隔設定サブルー
チンの詳細例を示すフローチャート図、第12図は第9
図及び第13図のコントロールチェンジイベントサブル
ーチンの詳細例を示すフローチャート図、 第13図はテンポクロック割り込み処理の詳細例を示す
フローチャート図、 第14図は第12図のコントロールチェンジイベントサ
ブルーチンの変更例を示すフローチャート図、である。 10・・・CPU、11・・・プログラム及びデータメ
モリ、12・・・ワーキングレジスタ、13・・・シー
ケンサメモリ、14・・・操作パネル、15・・・入出
力装置、16・・・鍵盤回路、17・・・音源、18・
・・テンポクロック発生器。
Claims (7)
- (1)自動演奏のテンポを設定するためのテンポ設定手
段と、 楽音制御情報を発生する楽音制御情報発生手段と、 前記テンポ設定手段で設定されたテンポに応じて前記楽
音制御情報を変更する楽音制御情報変更手段と、 変更された前記楽音制御情報に応じて制御された特性を
持つ楽音信号を、前記テンポ設定手段で設定されたテン
ポに従って自動的に発生する楽音自動発生手段と を具える自動演奏装置。 - (2)前記楽音制御情報は音量設定情報、タッチ情報等
の音量制御情報である請求項1に記載の自動演奏装置。 - (3)前記楽音制御情報変更手段は、任意の補正関数を
発生する手段を具備し、前記テンポ設定手段で設定され
たテンポを示す情報と前記楽音制御情報発生手段で発生
された楽音制御情報とをパラメータとして、前記補正関
数に従って該楽音制御情報を変更するものである請求項
1に記載の自動演奏装置。 - (4)楽音自動発生手段は、複数の系列で並行して楽音
信号を自動発生することができるものであり、前記楽音
制御情報変更手段は、前記テンポに応じて各系列毎に独
立に前記楽音制御情報を変更することができるものであ
る請求項1に記載の自動演奏装置。 - (5)前記テンポ設定手段におけるテンポ設定値が変化
したことを検出する変化検出手段を更に具備し、前記楽
音自動発生手段では、通常は前記楽音制御情報発生手段
で発生された楽音制御情報に応じて楽音信号の特性を制
御し、前記変化検出手段により変化が検出されたときに
一時的に前記楽音制御情報変更手段により変更された楽
音制御情報に応じて楽音信号の特性を制御するものであ
る請求項1に記載の自動演奏装置。 - (6)自動演奏のテンポを設定するためのテンポ設定手
段と、 前記テンポ設定手段で設定されたテンポに応じて楽音制
御情報の値を設定する楽音制御情報設定手段と、 前記楽音制御情報に応じて設定された特性を持つ楽音信
号を、前記テンポ設定手段で設定されたテンポに従って
自動的に発生する楽音自動発生手段と を具える自動演奏装置。 - (7)前記テンポ設定手段におけるテンポ設定値が変化
したことを検出する変化検出手段と、演奏者の操作に応
じて任意の楽音制御情報を発生する楽音制御情報発生手
段とを更に具備し、前記楽音自動発生手段では、通常は
前記楽音制御情報発生手段で発生された楽音制御情報に
応じて楽音信号の特性を制御し、前記変化検出手段によ
り変化が検出されたときに一時的に前記楽音制御情報設
定手段により設定された楽音制御情報に応じて楽音信号
の特性を制御するものである請求項6に記載の自動演奏
装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2078780A JP2551193B2 (ja) | 1990-03-29 | 1990-03-29 | 自動演奏装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2078780A JP2551193B2 (ja) | 1990-03-29 | 1990-03-29 | 自動演奏装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8124062A Division JP2611694B2 (ja) | 1996-04-22 | 1996-04-22 | 自動演奏装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03280000A true JPH03280000A (ja) | 1991-12-11 |
| JP2551193B2 JP2551193B2 (ja) | 1996-11-06 |
Family
ID=13671407
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2078780A Expired - Fee Related JP2551193B2 (ja) | 1990-03-29 | 1990-03-29 | 自動演奏装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2551193B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08272361A (ja) * | 1996-05-20 | 1996-10-18 | Yamaha Corp | 電子楽器 |
| JPWO2020217324A1 (ja) * | 2019-04-23 | 2020-10-29 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01205197A (ja) * | 1988-02-12 | 1989-08-17 | Yamaha Corp | 自動演奏装置 |
-
1990
- 1990-03-29 JP JP2078780A patent/JP2551193B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01205197A (ja) * | 1988-02-12 | 1989-08-17 | Yamaha Corp | 自動演奏装置 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08272361A (ja) * | 1996-05-20 | 1996-10-18 | Yamaha Corp | 電子楽器 |
| JPWO2020217324A1 (ja) * | 2019-04-23 | 2020-10-29 | ||
| WO2020217324A1 (ja) * | 2019-04-23 | 2020-10-29 | AlphaTheta株式会社 | 電子楽器および楽曲フレーズ生成プログラム |
| US12347410B2 (en) | 2019-04-23 | 2025-07-01 | Alphatheta Corporation | Electronic musical instrument and musical piece phrase generation program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2551193B2 (ja) | 1996-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5847302A (en) | Tone information processing device for an electronic musical instrument for generating sounds | |
| JPH09244637A (ja) | 演奏情報検出装置 | |
| US5081898A (en) | Apparatus for generating musical sound control parameters | |
| JPH07261762A (ja) | 自動伴奏情報発生装置 | |
| JPH04274498A (ja) | 自動演奏装置 | |
| JP3707300B2 (ja) | 楽音発生装置用拡張ボード | |
| US5654517A (en) | Automatic performance device having a function of modifying tone generation timing | |
| JP2611694B2 (ja) | 自動演奏装置 | |
| JPH03280000A (ja) | 自動演奏装置 | |
| JP2551197B2 (ja) | 自動演奏装置 | |
| US5942711A (en) | Roll-sound performance device and method | |
| JPH0764561A (ja) | 電子楽器 | |
| JPH0728462A (ja) | 自動演奏装置 | |
| JPH07146681A (ja) | 電子楽器 | |
| JP3279122B2 (ja) | テンポ制御装置 | |
| JP3033393B2 (ja) | 自動伴奏装置 | |
| US5426261A (en) | Musical tone control waveform signal generating apparatus utilizing waveform data parameters in time-division intervals | |
| JPH05323963A (ja) | 自動演奏装置 | |
| JP2713107B2 (ja) | 自動演奏装置 | |
| JP2629564B2 (ja) | 和音検出装置 | |
| JPS6312392Y2 (ja) | ||
| JP3557667B2 (ja) | 自動演奏装置 | |
| JPS6326867Y2 (ja) | ||
| JP2565152B2 (ja) | 自動伴奏装置 | |
| JPH02264998A (ja) | 楽音生成装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070822 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080822 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090822 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |