(57)【特許請求の範囲】
【請求項１】
複数の鍵からなる鍵盤と、
当該各鍵に配設された電極と、
当該電極毎に設けられ、所定の周波数及びレベルを有する電気信号を生成して対応する前記電極に出力する出力回路と、
発生すべき楽音の音高、ベロシティ及び当該楽音の発音タイミングを有する楽音データを複数有して成る曲データを記憶する曲データ記憶手段と、
前記曲データ記憶手段に記憶される曲データに含まれる楽音データを当該楽音データ内の発音タイミングに基づいて順次読み出す読み出し手段と、
前記複数の鍵のいずれかに対する押鍵及び当該押鍵に対する押鍵速度を検出する押鍵検出手段と、
該押鍵検出手段により検出された押鍵速度に対応するベロシティを検出するベロシティ検出手段と、
前記押鍵検出手段により押鍵が検出されたタイミングで前記読み出し手段により読み出された楽音データに含まれるベロシティと前記ベロシティ検出手段によって検出されるベロシティとの差分値を求める差分生成手段と、
当該差分生成手段により求められた差分値に基づいて前記読み出し手段により読み出されたベロシティより前記ベロシティ検出手段によって検出されたベロシティが大きいと判別された場合は、前記押鍵検出手段により押鍵の検出された鍵に対応する出力回路にて生成される電気信号の周波数及びレベルの少なくとも一方を低減させるとともに、前記読み出し手段により読み出されたベロシティより前記ベロシティ検出手段によって検出されたベロシティが小さいと判別された場合は、前記押鍵の検出された鍵に対応する出力回路にて生成される電気信号の周波数及びレベルの少なくとも一方を増加させる制御手段と、
を具備することを特徴とする教習装置。
【請求項２】
前記制御手段は、前記差分値に対応する速度で前記電気信号の周波数及びレベルの少なくとも一方を変化させることを特徴とする請求項１記載の教習装置。
【請求項３】
複数の鍵からなる鍵盤と、当該各鍵に配設された電極と、当該電極毎に設けられ、所定の周波数及びレベルを有する電気信号を生成して対応する前記電極に出力する出力回路と、発生すべき楽音の音高、ベロシティ及び当該楽音の発音タイミングを有する楽音データを複数有して成る曲データを記憶する曲データ記憶手段と、を有する教習装置として用いられるコンピュータに、
前記曲データ記憶手段に記憶される曲データに含まれる楽音データを当該楽音データ内の発音タイミングに基づいて順次読み出す読み出しステップと、
前記複数の鍵のいずれかに対する押鍵及び当該押鍵に対する押鍵速度を検出する押鍵検出ステップと、
当該検出された押鍵速度に対応するベロシティを検出するベロシティ検出ステップと、
前記押鍵が検出されたタイミングで読み出された楽音データに含まれるベロシティと前記検出されたベロシティとの差分値を求める差分生成ステップと、
当該求められた差分値に基づいて前記読み出されたベロシティより前記検出されたベロシティが大きいと判別された場合は、前記押鍵の検出された鍵に対応する出力回路にて生成される電気信号の周波数及びレベルの少なくとも一方を低減させるとともに、前記読み出されたベロシティより前記検出されたベロシティが小さいと判別された場合は、前記押鍵の検出された鍵に対応する出力回路にて生成される電気信号の周波数及びレベルの少なくとも一方を増加させる制御ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器に用いて好適な教習装置およびプログラムに関する。
【背景技術】
【０００２】
一般的な音楽教室では、例えば講師が生徒に対して注意や叱責したり、実際に生徒の手を取って演奏操作を介助したりすることで演奏操作を覚え込ませることが多い。つまり、視覚や聴覚の他に身体的な刺激を与えることで教習効果を高めている。身体的な刺激を与える教習装置としては、例えば特許文献１に開示されているように、練習すべき楽器の演奏を聴くと共に、その演奏に対応して音階を発生させる為に使用する指に刺激を与え、この刺激で楽器の発生する音階と指との関係を覚え込ませる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１６１４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に開示の技術では、演奏に対応して音階を発生させる為に使用する指に刺激を与えるだけであるから、演奏操作の内、弾くべき鍵については教習可能であるが、その弾くべき鍵をどのような強さで押鍵するか、つまり鍵タッチを教習させることが出来ない、という問題がある。
【０００５】
本発明は、このような事情に鑑みてなされたもので、鍵タッチを教習させることができる教習装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１に記載の発明では、複数の鍵からなる鍵盤と、当該各鍵に配設された電極と、当該電極毎に設けられ、所定の周波数及びレベルを有する電気信号を生成して対応する前記電極に出力する出力回路と、発生すべき楽音の音高、ベロシティ及び当該楽音の発音タイミングを有する楽音データを複数有して成る曲データを記憶する曲データ記憶手段と、前記曲データ記憶手段に記憶される曲データに含まれる楽音データを当該楽音データ内の発音タイミングに基づいて順次読み出す読み出し手段と、前記複数の鍵のいずれかに対する押鍵及び当該押鍵に対する押鍵速度を検出する押鍵検出手段と、該押鍵検出手段により検出された押鍵速度に対応するベロシティを検出するベロシティ検出手段と、前記押鍵検出手段により押鍵が検出されたタイミングで前記読み出し手段により読み出された楽音データに含まれるベロシティと前記ベロシティ検出手段によって検出されるベロシティとの差分値を求める差分生成手段と、当該差分生成手段により求められた差分値に基づいて前記読み出し手段により読み出されたベロシティより前記ベロシティ検出手段によって検出されたベロシティが大きいと判別された場合は、前記押鍵検出手段により押鍵の検出された鍵に対応する出力回路にて生成される電気信号の周波数及びレベルの少なくとも一方を低減させるとともに、前記読み出し手段により読み出されたベロシティより前記ベロシティ検出手段によって検出されたベロシティが小さいと判別された場合は、前記押鍵の検出された鍵に対応する出力回路にて生成される電気信号の周波数及びレベルの少なくとも一方を増加させる制御手段と、を具備することを特徴とする。
【０００９】
上記請求項１に従属する請求項２に記載の発明では、前記制御手段は、前記差分値に対応する速度で前記電気信号の周波数及びレベルの少なくとも一方を変化させることを特徴とする。
【００１０】
請求項３に記載の発明では、複数の鍵からなる鍵盤と、当該各鍵に配設された電極と、当該電極毎に設けられ、所定の周波数及びレベルを有する電気信号を生成して対応する前記電極に出力する出力回路と、発生すべき楽音の音高、ベロシティ及び当該楽音の発音タイミングを有する楽音データを複数有して成る曲データを記憶する曲データ記憶手段と、を有する教習装置として用いられるコンピュータに、前記曲データ記憶手段に記憶される曲データに含まれる楽音データを当該楽音データ内の発音タイミングに基づいて順次読み出す読み出しステップと、前記複数の鍵のいずれかに対する押鍵及び当該押鍵に対する押鍵速度を検出する押鍵検出ステップと、当該検出された押鍵速度に対応するベロシティを検出するベロシティ検出ステップと、前記押鍵が検出されたタイミングで読み出された楽音データに含まれるベロシティと前記検出されたベロシティとの差分値を求める差分生成ステップと、当該求められた差分値に基づいて前記読み出されたベロシティより前記検出されたベロシティが大きいと判別された場合は、前記押鍵の検出された鍵に対応する出力回路にて生成される電気信号の周波数及びレベルの少なくとも一方を低減させるとともに、前記読み出されたベロシティより前記検出されたベロシティが小さいと判別された場合は、前記押鍵の検出された鍵に対応する出力回路にて生成される電気信号の周波数及びレベルの少なくとも一方を増加させる制御ステップと、を実行させることを特徴とする。
【発明の効果】
【００１１】
本発明では、鍵タッチを教習させることができる。
【図面の簡単な説明】
【００１２】
【図１】実施の一形態による教習装置１００の全体構成を示すブロック図である。
【図２】鍵盤１０の各鍵に配設される電極ＤＫを示す図である。
【図３】ＲＯＭ１３に格納されるスタート値Ｓｖ，Ｓｆ特性テーブルおよびＥＮＤ値Ｅｖ，Ｅｆ特性テーブルの内容を説明する為の図である。
【図４】曲データメモリ１４に格納される曲データの構成を示すメモリマップである。
【図５】ショック印加部１７の構成を示すブロック図である。
【図６】加速感発生用ＶＣＯ出力レートおよび減速感発生用ＶＣＯ出力レートを示す図である。
【図７】加速感発生用ＶＣＡ出力レートおよび減速感発生用ＶＣＡ出力レートを示す図である。
【図８】メインルーチンの動作を示すフローチャートである。
【図９】スイッチ処理の動作を示すフローチャートである。
【図１０】スタート／ストップスイッチ処理の動作を示すフローチャートである。
【図１１】タイマインタラプト処理の動作を示すフローチャートである。
【図１２】鍵盤処理の動作を示すフローチャートである。
【図１３】印加設定処理の動作を示すフローチャートである。
【図１４】曲再生処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．構成  
図１は、本発明の実施の一形態による教習装置１００の全体構成を示すブロック図である。この図に示す教習装置１００は、練習曲をほぼ適正に弾ける程度のユーザが更なる演奏表現力の向上、すなわち鍵タッチの練習に資する目的で使用される。図１において、鍵盤１０は、演奏操作（押離鍵操作）に応じたキーオン／キーオフ信号、鍵番号およびベロシティ等の演奏情報を発生する。鍵盤１０の各鍵には、押離鍵操作される部分に、図２に図示するように電極ＤＫが配設される。この電極ＤＫには、後述のショック印加部１７から出力される低周波信号が供給される。
【００１４】
操作部１１は、装置パネルに配設される各種スイッチから構成され、各スイッチ操作に応じたスイッチイベントを発生する。操作部１１が発生するスイッチイベントは、後述するＣＰＵ１２に取り込まれる。操作部１１に設けられる主要なスイッチとしては、演奏教習の手本となる曲データを選択する曲選択スイッチや、演奏教習の開始／停止を指示するスタート／ストップスイッチがある。これらスイッチ操作に対応した動作については追って述べる。
【００１５】
ＣＰＵ１２は、ＲＯＭ１３に記憶される各種プログラムを実行し、操作部１１が発生するスイッチイベントに応じて装置各部を制御したり、鍵盤１０が発生する演奏情報に応じたノートオン／ノートオフイベントを生成して音源１８を制御する。また、ＣＰＵ１２は、鍵盤１０の鍵を弾く教習者（ユーザ）の指の指腹部と接触する上述の電極ＤＫに低周波信号を供給するようショック印加部１７を制御する。
【００１６】
ＲＯＭ１３は、プログラムエリアおよびデータエリアを備える。ＲＯＭ１３のプログラムエリアには、ＣＰＵ１２にロードされる各種プログラムデータが記憶される。ここで言う各種プログラムとは、後述するメインルーチン、スイッチ処理、スタート／ストップスイッチ処理、タイマインタラプト処理、鍵盤処理、印加設定処理および曲再生処理を含む。
【００１７】
ＲＯＭ１３のデータエリアには、スタート値Ｓｖ，Ｓｆ特性テーブルおよびＥＮＤ値Ｅｖ，Ｅｆ特性テーブルが記憶される。ここで、図３を参照してスタート値Ｓｖ，Ｓｆ特性テーブルおよびＥＮＤ値Ｅｖ，Ｅｆ特性テーブルの内容について説明する。スタート値Ｓｖ，Ｓｆ特性テーブルは、図３中の実線で図示される特性を有し、曲データに含まれるノートオンイベント中のベロシティＶｅｌと実際の押鍵操作で生じるベロシティＶＥＬとの差分であるタッチ誤差ΔＶｅｌを読み出しアドレスとしてスタート値Ｓｖ（又はスタート値Ｓｆ）を読み出すデータテーブルである。
【００１８】
ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルは、図３中の破線で図示される特性を有し、曲データに含まれるノートオンイベント中のベロシティＶｅｌと実際の押鍵操作で生じるベロシティＶＥＬとの差分であるタッチ誤差ΔＶｅｌを読み出しアドレスとしてＥＮＤ値Ｅｖ（又はＥＮＤ値Ｅｆ）を読み出すデータテーブルである。
【００１９】
タッチ誤差ΔＶｅｌに応じてスタート値Ｓｖ，Ｓｆ特性テーブルから読み出されるスタート値Ｓｖと、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルから読み出されるＥＮＤ値Ｅｖとは、後述のショック印加部１７を構成するエンベロープ発生器（ＥＧ）１７３（図５参照）に供給される。一方、タッチ誤差ΔＶｅｌに応じて、スタート値Ｓｖ，Ｓｆ特性テーブルから読み出されるスタート値Ｓｆと、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルから読み出されるＥＮＤ値Ｅｆとは、後述のショック印加部１７を構成するエンベロープ発生器（ＥＧ）１７１（図５参照）に供給される。
【００２０】
具体的には、例えばタッチ誤差ΔＶｅｌが「−１０」の場合には、スタート値Ｓｖ，Ｓｆ特性テーブルからスタート値（Ｓｖ１，Ｓｆ１）が、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルからＥＮＤ値（Ｅｖ１，Ｅｆ１）がそれぞれ読み出される。読み出されたスタート値Ｓｖ１およびＥＮＤ値Ｅｖ１は、ＥＧ１７３に供給され、一方、読み出されたスタート値Ｓｆ１およびＥＮＤ値Ｅｆ１は、ＥＧ１７１に供給される。
【００２１】
同様に、例えばタッチ誤差ΔＶｅｌが「＋１０」の場合には、スタート値Ｓｖ，Ｓｆ特性テーブルからスタート値（Ｓｖ２，Ｓｆ２）が、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルからＥＮＤ値（Ｅｖ２，Ｅｆ２）がそれぞれ読み出される。読み出されたスタート値Ｓｖ２およびＥＮＤ値Ｅｖ２は、ＥＧ１７３に供給され、一方、読み出されたスタート値Ｓｆ２およびＥＮＤ値Ｅｆ２は、ＥＧ１７１に供給される。
【００２２】
タッチ誤差ΔＶｅｌが「０」の場合、つまり曲データに含まれるノートオンイベント中のベロシティＶｅｌと実際の押鍵操作で生じるベロシティＶＥＬとが一致した場合には、スタート値ＳｖとＥＮＤ値Ｅｖとが一定値（４０［Ｖ］）となり、かつスタート値ＳｆとＥＮＤ値Ｅｆとが一定値（１０［Ｈｚ］）となる。タッチ誤差ΔＶｅｌが「０」より大きい領域、すなわちノートオンイベント中のベロシティＶｅｌより強いタッチで押鍵操作が為されると、減速感発生領域となり、一方、タッチ誤差ΔＶｅｌが「０」より小さい領域、すなわちノートオンイベント中のベロシティＶｅｌより弱いタッチで押鍵操作が為されると、加速感発生領域となる。この減速感発生領域および加速感発生領域が意図するところについては追って述べる。
【００２３】
曲データメモリ１４には、図４に図示するように、演奏教習に供する複数曲の曲データ（１）〜（Ｎ）が記憶される。これら曲データ（１）〜（Ｎ）の何れかが曲選択スイッチの操作に応じて選択され、演奏教習に供せられる。曲データは、曲を構成する各音を表す。一つの音は、次イベントタイミングを表すタイムＴとイベントＥＶとが対になって曲進行に対応した時系列のアドレス順に記憶される、いわゆる相対時間方式と呼ばれるデータ形式で表現され、その終端には曲の終わりを表すデータＥＮＤが設けられる。イベントＥＶは、発音を表すノートオンイベント又は消音を表すノートオフイベントの何れかで形成される。ノートオンイベントは、発音音高を表すノートナンバおよび発音音量を表すベロシティｖｅｌを含む。ノートオフイベントは消音音高を表すノートナンバを含む。
【００２４】
ＲＡＭ１５は、ＣＰＵ１２のワークエリアとして用いられ、各種レジスタ・フラグデータが一時記憶される。表示部１６は、例えばカラー液晶パネル等から構成され、ＣＰＵ１２から供給される表示制御信号に応じて装置各部の設定状態や動作状態などを画面表示する。ショック印加部１７は、ＣＰＵ１２の制御の下に、押鍵された鍵の電極ＤＫ（図２参照）に低周波信号を印加し、これにより押鍵した教習者（ユーザ）の指の指腹部に軽度の電気ショックを与える。
【００２５】
ここで、図５を参照してショック印加部１７の構成について説明する。ショック印加部１７は、ＥＧ（エンベロープ発生器）１７１、ＶＣＯ（電圧制御発振器）１７２、ＥＧ（エンベロープ発生器）１７３、ＶＣＡ（電圧制御増幅器）１７４およびセレクタ１７５から構成される。ＥＧ（エンベロープ発生器）１７１は、ＣＰＵ１２がタッチ誤差ΔＶｅｌに応じて、ＲＯＭ１３のスタート値Ｓｖ，Ｓｆ特性テーブルから読み出すスタート値Ｓｆと、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルから読み出すＥＮＤ値Ｅｆとに基づきＶＣＯ出力レートを発生する。ＶＣＯ１７２は、ＥＧ１７１から供給されるＶＣＯ出力レートに従って信号周波数が変化するＶＣＯ出力（低周波信号）を発生する。なお、ＶＣＯ１７２は、正弦波、方形波および三角波の内からユーザにより選択される波形の信号を発生する。
【００２６】
ＥＧ１７１が発生するＶＣＯ出力レートとは、スタート値Ｓｖ，Ｓｆ特性テーブルから読み出されるスタート値Ｓｆと、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルから読み出されるＥＮＤ値Ｅｆとで定まる出力変化率（傾き）を指す。具体的には、図６に図示するように、タッチ誤差ΔＶｅｌが負の場合に設定される加速感発生用ＶＣＯ出力レートと、タッチ誤差ΔＶｅｌが正の場合に設定される減速感発生用ＶＣＯ出力レートとに大別される。
【００２７】
図６に図示する加速感発生用ＶＣＯ出力レートにおいて、例えばタッチ誤差ΔＶｅｌが「−３０」以下であると、印加開始時点のＶＣＯ出力（低周波信号）は、スタート値Ｓｆ（５［Ｈｚ］）から０．５ｓｅｃ経過後のＥＮＤ値Ｅｆ（１５［Ｈｚ］）まで変化する。したがって、この場合のＶＣＯ出力レートは＋２０［Ｈｚ／ｓｅｃ］となる。加速感発生用ＶＣＯ出力レートは、タッチ誤差ΔＶｅｌが大きいほど、つまりノートオンイベント中のベロシティＶｅｌに対して実際の押鍵時のベロシティＶＥＬが弱いほど高い増加レートとなる。
【００２８】
同様に、図６に図示する減速感発生用ＶＣＯ出力レートにおいて、例えばタッチ誤差ΔＶｅｌが「＋３０」以上であると、印加開始時点のＶＣＯ出力（低周波信号）は、スタート値Ｓｆ（１５［Ｈｚ］）から０．５ｓｅｃ経過後のＥＮＤ値Ｅｆ（５［Ｈｚ］）まで変化する。したがって、この場合のＶＣＯ出力レートは−２０［Ｈｚ／ｓｅｃ］となる。減速感発生用ＶＣＯ出力レートは、タッチ誤差ΔＶｅｌが大きいほど、つまりノートオンイベント中のベロシティＶｅｌに対して実際の押鍵時のベロシティＶＥＬが強いほど高い減少レートとなる。
【００２９】
図５に図示するＥＧ（エンベロープ発生器）１７３は、ＣＰＵ１２がタッチ誤差ΔＶｅｌに応じて、ＲＯＭ１３のスタート値Ｓｖ，Ｓｆ特性テーブルから読み出すスタート値Ｓｖと、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルから読み出すＥＮＤ値Ｅｖとに基づきＶＣＡ出力レートを発生する。ＶＣＡ１７４は、前段のＶＣＯ１７２が発生するＶＣＯ出力（低周波信号）を、ＥＧ１７３から供給されるＶＣＡ出力レートに従って出力レベルを制御したＶＣＡ出力（低周波信号）を発生する。図５に図示するセレクタ１７５は、ＣＰＵ１２から供給される押鍵番号ＫＥＹで指定される鍵、つまり押鍵された鍵に配設された電極ＤＫにＶＣＡ出力（低周波信号）を印加するよう経路選択する。
【００３０】
ＥＧ１７３が発生するＶＣＡ出力レートとは、スタート値Ｓｖ，Ｓｆ特性テーブルから読み出されるスタート値Ｓｖと、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルから読み出されるＥＮＤ値Ｅｖとで定まる出力変化率（傾き）を指す。具体的には、図７に図示するように、タッチ誤差ΔＶｅｌが負の場合に設定される加速感発生用ＶＣＡ出力レートと、タッチ誤差ΔＶｅｌが正の場合に設定される減速感発生用ＶＣＡ出力レートとに大別される。
【００３１】
図７に図示する加速感発生用ＶＣＡ出力レートにおいて、例えばタッチ誤差ΔＶｅｌが「−３０」以下であると、印加開始時点のＶＣＡ出力（低周波信号）は、スタート値Ｓｖ（３０［Ｖ］）から０．５ｓｅｃ経過後のＥＮＤ値Ｅｖ（５０［Ｖ］）まで変化する。したがって、この場合のＶＣＡ出力レートは＋４０［Ｖ／ｓｅｃ］となる。加速感発生用ＶＣＡ出力レートは、タッチ誤差ΔＶｅｌが大きいほど、つまりノートオンイベント中のベロシティＶｅｌに対して実際の押鍵時のベロシティＶＥＬが弱いほど高い増加レートとなる。
【００３２】
同様に、図７に図示する減速感発生用ＶＣＡ出力レートにおいて、例えばタッチ誤差ΔＶｅｌが「＋３０」以上であると、印加開始時点のＶＣＯ出力（低周波信号）は、スタート値Ｓｖ（５０［Ｖ］）から０．５ｓｅｃ経過後のＥＮＤ値Ｅｖ（３０［Ｖ］）まで変化する。したがって、この場合のＶＣＡ出力レートは−４０［Ｖ／ｓｅｃ］となる。減速感発生用ＶＣＡ出力レートは、タッチ誤差ΔＶｅｌが大きいほど、つまりノートオンイベント中のベロシティＶｅｌに対して実際の押鍵時のベロシティＶＥＬが強いほど高い減少レートとなる。
【００３３】
上記構成によるショック印加部１７では、ＣＰＵ２１から押鍵番号ＫＥＹおよび出力指示が供給されると、先ずＥＧ１７１とＥＧ１７３とがそれぞれＶＣＯレートとＶＣＡレートとを発生する。すると、ＶＣＯ１７２ではＥＧ１７１が発生するＶＣＯレートに対応したＶＣＯ出力を出力し、一方、ＶＣＡ１７４ではＥＧ１７３が発生するＶＣＡレートに従ってＶＣＯ出力をレベルを制御したＶＣＡ出力を発生する。そして、セレクタ１７５が押鍵番号ＫＥＹに基づき押鍵された鍵に配設される電極ＤＫにＶＣＡ出力（低周波信号）を印加する。
【００３４】
したがって、ノートオンイベント中のベロシティＶｅｌに対して実際の押鍵時のベロシティＶＥＬが強すぎると、教習者（ユーザ）は押鍵した指の指腹部で電気ショックの度合いが押鍵時点から低減して行く“減速感”を感じ、一方、ノートオンイベント中のベロシティＶｅｌに対して実際の押鍵時のベロシティＶＥＬが弱すぎると、教習者（ユーザ）は押鍵した指の指腹部で電気ショックの度合いが押鍵時点から増加して行く“加速感”を感じる結果、曲データに基づく鍵タッチの適否を体感できるようになる。なお、ノートオンイベント中のベロシティＶｅｌと実際の押鍵時のベロシティＶＥＬとが一致してタッチ誤差ΔＶｅｌが「０」になると、教習者（ユーザ）は押鍵した指の指腹部で一定の電気ショックを感じる。
【００３５】
音源１８は、周知の波形メモリ読み出し方式にて構成され、演奏操作（押離鍵操作）に従って鍵盤１０から供給される演奏情報に応じてＣＰＵ１２が生成するノートオン／ノートオフイベントに従って楽音形成する。また、音源１８はＣＰＵ１２から教習開始の指示を受けた場合には、選択された曲データを指定テンポで再生する。サウンドシステム１９は、音源１８から出力される楽音波形をアナログ信号形式に変換した後、不要ノイズ除去やレベル増幅を施してからスピーカから発音させる。
【００３６】
Ｂ．動作  
次に、図８〜図１４を参照して、上記構成による実施形態の動作について説明する。以下では、ＣＰＵ１２が実行するメインルーチン、スイッチ処理、スタート／ストップスイッチ処理、タイマインタラプト処理、鍵盤処理、印加設定処理および曲再生処理の各動作について述べる。
【００３７】
（１）メインルーチンの動作
装置電源がパワーオンされると、ＣＰＵ１２は図８に図示するメインルーチンを実行し、ステップＳＡ１に進み、ＲＡＭ１５に設けられる各種レジスタ・フラグデータをゼロリセットもしくは初期値セットすると共に、音源１８に初期化を指示するイニシャライズを実行する。そして、イニシャライズが完了すると、ステップＳＡ２に進み、曲選択スイッチ操作に応じて演奏教習に供する曲データを選択したり、スタート／ストップスイッチ操作に応じて演奏教習の開始や停止を指示する等のスイッチ処理を実行する。
【００３８】
続いて、ステップＳＡ３では、押鍵操作に応じて押鍵番号およびベロシティを含むノートオンイベントを音源１８に送付して発音指示したり、離鍵操作に応じて離鍵番号を含むノートオフイベントを音源１８に送付して消音指示したりする鍵盤処理を実行する。
【００３９】
そして、ステップＳＡ４では、印加設定処理を実行する。印加設定処理では、後述するように、キーオン（押鍵）の有無を判断し、押鍵が有った場合には、その押鍵で生じたベロシティＶＥＬと曲データ（ノートオンイベント）から抽出したベロシティＶｅｌとの差分から算出されるタッチ誤差ΔＶｅｌに応じたスタート値ＳｆおよびＥＮＤ値Ｅｆをショック印加部１７のＥＧ１７１に、スタート値ＳｖおよびＥＮＤ値Ｅｖをショック印加部１７のＥＧ１７３にそれぞれセットし、押鍵番号ＫＥＹをショック印加部１７のセレクタ１７５にセットした後、ショック印加部１７に出力指示を与える。これにより、ショック印加部１７は、ＥＧ１７１がＶＣＯレートを発生し、ＥＧ１７３がＶＣＡレートを発生すると、ＶＣＯ１７２がＶＣＯレートに対応したＶＣＯ出力を発生し、一方、ＶＣＡ１７４がＶＣＡレートに従ってＶＣＯ出力をレベルを制御してなるＶＣＡ出力（低周波信号）を発生する。そして、セレクタ１７５が押鍵番号ＫＥＹに基づき押鍵された鍵に配設される電極ＤＫにＶＣＡ出力（低周波信号）を印加する。
【００４０】
次いで、ステップＳＡ５では、曲再生処理を実行する。曲再生処理では、後述するように、スタートフラグＳＴＦが「１」となって演奏教習が開始されていると、イベントタイミングに達したかどうかを判断し、イベントタイミングに達していると、読み出しアドレスＡＤを歩進させ、歩進された読み出しアドレスＡＤに応じて曲データから読み出されるデータ（ＡＤ）が「イベント」、「タイム」および「ＥＮＤ」の何れであるかを判別する。
【００４１】
曲データから「イベント」が読み出された場合には、それがノートオンイベントならば、当該ノートオンイベントからベロシティを抽出してレジスタＶｅｌにストアした後、読み出された「イベント」を音源１８に供給して曲再生を進める。曲データから「タイム」が読み出された場合には、その「タイム」を次イベントタイミングとしてレジスタＴにストアする。曲データから曲の終わりを表す「ＥＮＤ」が読み出された場合には、スタートフラグＳＴＦをゼロリセットして演奏教習の停止を指示する。そして、こうした曲再生処理を終えると、ステップＳＡ６に進み、例えば装置の動作状態を表示部１５に表示させる等の、その他の処理を実行する。この後、上述のステップＳＡ２に処理を戻し、以後、電源がオフされる迄の間、上述したステップＳＡ２〜ＳＡ６の各処理を繰り返し実行する。
【００４２】
（２）スイッチ処理の動作
次に、図９を参照してスイッチ処理の動作を説明する。上述したメインルーチンのステップＳＡ２（図８参照）を介して本処理が実行されると、ＣＰＵ１２は図１０に図示するステップＳＢ１に進み、曲データメモリ１４（図４参照）に記憶される複数曲の曲データ（１）〜（Ｎ）の何れかを曲選択スイッチの操作に応じて選択する曲選択処理を実行する。
【００４３】
続いて、ステップＳＢ２では、スタート／ストップスイッチ処理を実行する。スタート／ストップスイッチ処理では、後述するように、スタート／ストップスイッチのオン操作に応じて反転されたスタートフラグＳＴＦが「１」となって演奏教習の開始を表す場合には、曲選択スイッチ操作により選択された曲データの先頭データであるタイムＴを読み出してレジスタＴにストアした後、曲再生テンポに応じたインタラプト周期を設定してタイマインタラプト禁止を解除し、一方、オン操作に応じて反転されたスタートフラグＳＴＦが「０」となって演奏教習の停止を表す場合には、音源１８に対して発音中の全ての音の消音を指示してタイマインタラプト禁止に設定する。この後、ステップＳＢ３に進み、その他のスイッチ処理を実行して本処理を終える。
【００４４】
（３）スタート／ストップスイッチ処理の動作
次に、図１０を参照してスタート／ストップスイッチ処理の動作を説明する。前述したスイッチ処理のステップＳＢ２（図９参照）を介して本処理が実行されると、ＣＰＵ１２は図１０に図示するステップＳＣ１に進み、スタート／ストップスイッチのオン操作の有無を判断する。オン操作されなければ、判断結果は「ＮＯ」となり、本処理を終えるが、オン操作されると、上記ステップＳＣ１の判断結果は「ＹＥＳ」になり、ステップＳＣ２に進み、スタートフラグＳＴＦを反転させる。スタートフラグＳＴＦは、フラグ値が「１」の場合に演奏教習の開始（もしくは演奏教習中）を表し、一方、「０」の場合に演奏教習の停止を表す。
【００４５】
次いで、ステップＳＣ３では、オン操作に応じて反転されたスタートフラグＳＴＦが「１」、つまり演奏教習の開始であるかどうかを判断する。演奏教習の開始であると、判断結果は「ＹＥＳ」となり、ステップＳＣ４に進み、曲選択スイッチ操作により選択された曲データの先頭アドレスを、レジスタＡＤにストアする。以下、レジスタＡＤの内容を読み出しアドレスＡＤと称する。
【００４６】
そして、ステップＳＣ５では、読み出しアドレスＡＤに従い、曲データから最初のデータであるタイムＴを読み出してレジスタＴにストアする。次いで、ステップＳＣ６では、曲再生テンポに基づきインタラプト周期を設定し、続くステップＳＣ７では、タイマインタラプト禁止を解除して本処理を終える。なお、上記ステップＳＣ７にてタイマインタラプト禁止が解除されると、後述するタイマインタラプト処理（図１１参照）が、上記ステップＳＣ６で設定した周期毎に割り込み実行される。
【００４７】
さて一方、オン操作に応じて反転されたスタートフラグＳＴＦが「０」、つまり演奏教習停止になると、上記ステップＳＣ３の判断結果は「ＮＯ」になり、ステップＳＣ８に進み、音源１８に対して発音中の全ての音の消音を指示するオールノートオフ処理を行った後、ステップＳＣ９に進み、タイマインタラプト禁止に設定して本処理を終える。
【００４８】
このように、スタート／ストップスイッチ処理では、スタート／ストップスイッチのオン操作に応じて反転されたスタートフラグＳＴＦが「１」となって演奏教習の開始を表す場合には、曲選択スイッチ操作により選択された曲データの先頭アドレスを読み出しアドレスＡＤとして当該曲データから最初のデータであるタイムＴを読み出してレジスタＴにストアした後、曲再生テンポに基づきインタラプト周期を設定してタイマインタラプト禁止を解除する。一方、オン操作に応じて反転されたスタートフラグＳＴＦが「０」となって自動伴奏の停止を表す場合には、音源１６に対して発音中の全ての伴奏音の消音を指示してタイマインタラプト禁止に設定する。
【００４９】
（４）タイマインタラプト処理の動作
次に、図１１を参照してタイマインタラプト処理の動作を説明する。タイマインタラプト処理は、演奏教習に供する曲の再生テンポに基づき設定されるインタラプト周期毎に割り込み実行される。割り込み実行タイミングになると、図１１に図示するステップＳＤ１に進み、レジスタＴの値をデクリメントして本処理を終える。なお、レジスタＴには、後述するように、曲データのイベントタイミングを表すタイムＴがストアされるようになっている。
【００５０】
（５）鍵盤処理の動作
次に、図１２を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップＳＡ３（図８参照）を介して本処理が実行されると、ＣＰＵ１２は図１２に図示するステップＳＥ１に進み、鍵盤１０の各鍵について鍵走査を行い、続くステップＳＥ２では、上記ステップＳＥ１の鍵走査で得られる鍵変化に基づき押離鍵操作された鍵を判別する。押離鍵操作が行われず、鍵変化無しならば、本処理を終えるが、押鍵操作に応じたキーオンイベントが発生した場合には、ステップＳＥ３に進み、押鍵番号（押鍵された鍵の鍵番号）をレジスタＫＥＹにストアすると共に、ベロシティをレジスタＶＥＬにストアする。
【００５１】
次いで、ステップＳＥ４では、レジスタＫＥＹにストアされた押鍵番号およびレジスタＶＥＬにストアされたベロシティを含むノートオンイベントを作成し、続くステップＳＥ５では、作成したノートオンイベントを音源１８に供給して本処理を終える。これにより、音源１８は、押鍵された鍵の音高の楽音を、ベロシティに対応した音量で発音する。
【００５２】
これに対し、離鍵操作に応じたキーオフイベントが発生した場合には、ステップＳＥ６に進み、離鍵番号（離鍵された鍵の鍵番号）をレジスタＫＥＹにストアし、続くステップＳＥ７では、当該レジスタＫＥＹにストアされた離鍵番号を含むノートオフイベントを作成する。そして、ステップＳＥ５に進み、作成したノートオフイベントを音源１８に供給して本処理を終える。これにより、音源１８は、離鍵された鍵の音高の楽音を消音する。このように、鍵盤処理では、押鍵された場合には、押鍵番号およびベロシティを含むノートオンイベントを音源１８に送付して発音指示し、離鍵された場合には、離鍵番号を含むノートオフイベントを音源１８に送付して消音指示する。
【００５３】
（６）印加設定処理の動作
次に、図１３を参照して印加設定処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図８参照）を介して本処理が実行されると、ＣＰＵ１２は図１３に図示するステップＳＦ１に進み、キーオン（押鍵）の有無を判断する。押鍵されなければ、判断結果は「ＮＯ」となり、本処理を終えるが、押鍵されると、上記ステップＳＦ１の判断結果は「ＹＥＳ」になり、ステップＳＦ２に進む。ステップＳＦ２では、押鍵に応じて発生したベロシティＶＥＬ（レジスタＶＥＬ）と、曲データ（ノートオンイベント）から抽出したベロシティＶｅｌ（レジスタＶｅｌ）との差分からタッチ誤差を算出してレジスタΔＶｅｌにストアする。レジスタΔＶｅｌの内容をタッチ誤差ΔＶｅｌと称す。
【００５４】
次いで、ステップＳＦ３では、タッチ誤差ΔＶｅｌに応じて、ＲＯＭ１３のスタート値Ｓｖ，Ｓｆ特性テーブルから読み出すスタート値Ｓｆと、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルから読み出すＥＮＤ値Ｅｆとをショック印加部１７のＥＧ（エンベロープ発生器）１７１にセットし、続くステップＳＦ４では、タッチ誤差ΔＶｅｌに応じて、ＲＯＭ１３のスタート値Ｓｖ，Ｓｆ特性テーブルから読み出すスタート値Ｓｖと、ＥＮＤ値Ｅｖ，Ｅｆ特性テーブルから読み出すＥＮＤ値ＥｖとをＥＧ（エンベロープ発生器）１７３にセットする。そして、ステップＳＦ５では、押鍵番号ＫＥＹをショック印加部１７のセレクタ１７５にセットする。この後、ステップＳＦ６に進み、ショック印加部１７に出力指示を与えて本処理を終える。
【００５５】
ショック印加部１７では、上記ステップＳＦ６にて出力指示を受けると、ＥＧ１７１とＥＧ１７３とがそれぞれＶＣＯレートとＶＣＡレートとを発生し、これに応じてＶＣＯ１７２がＶＣＯレートに対応したＶＣＯ出力を発生し、一方、ＶＣＡ１７４がＶＣＡレートに従ってＶＣＯ出力をレベルを制御してなるＶＣＡ出力（低周波信号）を発生する。そして、セレクタ１７５が押鍵番号ＫＥＹに基づき押鍵された鍵に配設される電極ＤＫにＶＣＡ出力（低周波信号）を印加する。
【００５６】
このように、印加設定処理では、キーオン（押鍵）の有無を判断し、押鍵が有った場合には、その押鍵で生じたベロシティＶＥＬと曲データ（ノートオンイベント）から抽出したベロシティＶｅｌとの差分から算出されるタッチ誤差ΔＶｅｌに応じたスタート値ＳｆおよびＥＮＤ値Ｅｆをショック印加部１７のＥＧ１７１に、スタート値ＳｖおよびＥＮＤ値Ｅｖをショック印加部１７のＥＧ１７３にそれぞれセットし、押鍵番号ＫＥＹをショック印加部１７のセレクタ１７５にセットした後、ショック印加部１７に出力指示を与える。これにより、ショック印加部１７は、ＥＧ１７１がＶＣＯレートを発生し、ＥＧ１７３がＶＣＡレートを発生すると、ＶＣＯ１７２がＶＣＯレートに対応したＶＣＯ出力を発生し、一方、ＶＣＡ１７４がＶＣＡレートに従ってＶＣＯ出力をレベルを制御してなるＶＣＡ出力（低周波信号）を発生する。そして、セレクタ１７５が押鍵番号ＫＥＹに基づき押鍵された鍵に配設される電極ＤＫにＶＣＡ出力（低周波信号）を印加する。
【００５７】
（７）曲再生処理の動作
次に、図１４を参照して曲再生処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図８参照）を介して本処理が実行されると、ＣＰＵ１２は図１３に図示するステップＳＧ１に進み、スタートフラグＳＴＦが「１」であるか否か、つまり演奏教習が開始されているかどうかを判断する。演奏教習の停止（スタートフラグＳＴＦが「０」）ならば、判断結果は「ＮＯ」になり、本処理を終える。
【００５８】
一方、演奏教習が開始されていれば、上記ステップＳＧ１の判断結果は「ＹＥＳ」となり、ステップＳＧ２に進む。ステップＳＧ２では、前述したタイマインタラプト１処理（図９参照）によりデクリメントされるレジスタＴの値が「０」以下であるか否か、つまりイベントタイミングに達したかどうかを判断する。イベントタイミングに達していなければ、判断結果は「ＮＯ」となり、本処理を終えるが、イベントタイミングに達していると、上記ステップＳＧ２の判断結果は「ＹＥＳ」になり、ステップＳＧ３に進む。
【００５９】
そして、ステップＳＧ３では、曲データの読み出しを進める為に読み出しアドレスＡＤをインクリメントして歩進させ、続くステップＳＧ４では、歩進された読み出しアドレスＡＤに応じて読み出されるデータ（ＡＤ）が「イベント」、「タイム」および「ＥＮＤ」の何れであるかを判別する。曲データから読み出されるデータ（ＡＤ）が「イベント」ならば、ステップＳＧ５に進む。ステップＳＧ５では、「イベント」がノートオンイベントであるか否かを判断する。
【００６０】
「イベント」がノートオンイベントであると、判断結果は「ＹＥＳ」となり、ステップＳＧ６に進み、当該ノートオンイベントから抽出したベロシティをレジスタＶｅｌにストアした後、ステップＳＧ７に進む。これに対し、「イベント」がノートオフイベントであったならば、上記ステップＳＧ５の判断結果は「ＮＯ」となり、ステップＳＧ７に進み、曲データから読み出された「イベント」を音源１８に供給した後、上述のステップＳＧ３に処理を戻す。
【００６１】
そして、上記ステップＳＧ３において歩進された読み出しアドレスＡＤに応じて、曲データから「タイム」が読み出されると、ステップＳＧ８に進み、その読み出されたタイムを次イベントタイミングとしてレジスタＴにストアして本処理を終える。曲データから読み出されるデータ（ＡＤ）が曲の終わりを表す「ＥＮＤ」になると、ステップＳＧ９に進み、スタートフラグＳＴＦをゼロリセットし、これにより演奏教習を停止させて本処理を終える。
【００６２】
このように、曲再生処理では、スタートフラグＳＴＦが「１」となって演奏教習が開始されていると、イベントタイミングに達したかどうかを判断し、イベントタイミングに達していると、読み出しアドレスＡＤを歩進させ、歩進された読み出しアドレスＡＤに応じて曲データから読み出されるデータ（ＡＤ）が「イベント」、「タイム」および「ＥＮＤ」の何れであるかを判別する。曲データから「イベント」が読み出された場合には、それがノートオンイベントならば、当該ノートオンイベントからベロシティを抽出してレジスタＶｅｌにストアした後、読み出された「イベント」を音源１８に供給して曲再生を進める。曲データから「タイム」が読み出された場合には、その「タイム」を次イベントタイミングとしてレジスタＴにストアする。曲データから曲の終わりを表す「ＥＮＤ」が読み出された場合には、スタートフラグＳＴＦをゼロリセットして演奏教習の停止を指示する。
【００６３】
以上のように、本実施形態では、曲を構成する各音の音高およびベロシティＶｅｌ（音量）を表す曲データを再生すると共に、発音タイミングとなって再生された曲データから抽出したベロシティＶｅｌと、その再生音に対応したユーザの押鍵で生じるベロシティＶＥＬとの差分であるタッチ誤差ΔＶｅｌに応じて出力変化（信号周波数変化および信号レベル変化）する低周波信号を生成し、生成された低周波信号をユーザが押鍵中の鍵に配設される電極ＤＫに印加する。これにより、教習者（ユーザ）はタッチ誤差ΔＶｅｌの大小で異なる電気ショックを押鍵した指の指腹部によって体感する結果、鍵タッチを教習させることができる。
【００６４】
具体的には、例えば曲データ（ノートオンイベント）から抽出したベロシティＶｅｌに対して押鍵時のベロシティＶＥＬが強過ぎた場合には、電気ショックの度合いが押鍵時点から低減して行く減速感を押鍵した指の指腹部で感じ、一方、曲データ（ノートオンイベント）から抽出したベロシティＶｅｌに対して押鍵時のベロシティＶＥＬが弱過ぎた場合には、電気ショックの度合いが押鍵時点から増加して行く加速感を押鍵した指の指腹部で感じる為、鍵タッチを教習させることができる。
【００６５】
なお、上述した実施形態では、タッチ誤差ΔＶｅｌの大小で異なる電気ショックを押鍵した指の指腹部によって体感させて鍵タッチを教習させるようにしたが、これに限らず、再生される音と異なる音高の音を押鍵した場合に押鍵ミスである旨を知らせるべく電気ショックを与えたり、弾くべきタイミングを間違えた場合に電気ショックを与える態様とすることも出来る。そのような態様では、演奏ミスに応じて印加する電気ショックのパターンを各種変化させることで教習者（ユーザ）にどのような演奏ミスを犯したのかを体感させることが出来る。
【００６６】
また、上述した実施形態では、鍵盤１０の各鍵に電極ＤＫを敷設するようにしたが、これに限らず、鍵自体を導電性材料で成型し、隣り合う鍵盤同士を絶縁する構造として構成することも可能である。
【００６７】
さらに、上述した実施形態では、タッチ誤差ΔＶｅｌに応じたＶＣＯ出力レート（又はＶＣＡ出力レート）に基づきスタート値ＳｆからＥＮＤ値Ｅｆ（又はスタート値ＳｖからＥＮＤ値Ｅｖ）まで線形変化するＶＣＯ出力（又はＶＣＡ出力）を発生させるが、これに替えて、タッチ誤差ΔＶｅｌで定まるスタート値ＳｆからＥＮＤ値Ｅｆ（又はスタート値ＳｖからＥＮＤ値Ｅｖ）までを、例えば指数関数などを用いて非線形に変化させて加速感（又は減速感）を強調させる態様としても構わない。
【００６８】
また、上述した実施形態では、タッチ誤差ΔＶｅｌに応じて出力変化（信号周波数変化および信号レベル変化）する低周波信号を生成する一例について言及したが、これに限らず、押鍵された鍵の電極ＤＫに印加される低周波信号の周波数をタッチ誤差ΔＶｅｌに応じて変化させるだけの態様でも良いし、又は押鍵された鍵の電極ＤＫに印加される低周波信号の信号レベルをタッチ誤差ΔＶｅｌに応じて変化させるだけの態様でも構わない。
【符号の説明】
【００６９】
１０  鍵盤
１１  操作部
１２  ＣＰＵ
１３  ＲＯＭ
１４  曲データメモリ
１５  ＲＡＭ
１６  表示部
１７  ショック印加部
１８  音源
１９  サウンドシステム
１００  教習装置
【図１】
0005445856.tif 000002
【図２】
0005445856.tif 000003
【図３】
0005445856.tif 000004
【図４】
0005445856.tif 000005
【図５】
0005445856.tif 000006
【図６】
0005445856.tif 000007
【図７】
0005445856.tif 000008
【図８】
0005445856.tif 000009
【図９】
0005445856.tif 000010
【図１０】
0005445856.tif 000011
【図１１】
0005445856.tif 000012
【図１２】
0005445856.tif 000013
【図１３】
0005445856.tif 000014
【図１４】
0005445856.tif 000015