(57)【要約】   【課題】  手作業による操作の必要なく、操作子の操作を自動的に実行する。  【解決手段】  電子楽器１０は、ＭＩＤＩ・Ｉ／Ｆ１３に受信されたＭＩＤＩデータのメッセージを参照して、当該メッセージにしたがってスイッチ部１２などに対するイベントを実行する。また、電子楽器１０は、ＭＩＤＩデータに基づいて、音源部２６により楽音が生成される通常動作モード、および、スイッチ部１２中の所定のスイッチに対するイベントを実行するイベント実行モードの何れかの動作モードの下で動作し、イベント実行モードの下で、ＣＰＵ２１は、ＭＩＤＩデータがノートオンイベントのメッセージであるときに、所定のスイッチをオン状態にするとともに、ＭＩＤＩデータがノートオフイベントのメッセージである場合に、所定のスイッチをオフ状態とする。【選択図】  図２
2010243615.tif 000002
【特許請求の範囲】
【請求項１】
複数の操作子を有する電子機器と、前記電子機器に対して、所定のシーケンスにしたがった、ＭＩＤＩに基づくメッセージを含む複数のＭＩＤＩデータを順次出力するＭＩＤＩデータ再生装置と、を備えた操作自動実行システムであって、
前記電子機器が、前記ＭＩＤＩデータを受信するＭＩＤＩインタフェース手段と、
前記ＭＩＤＩインタフェースに受信されたＭＩＤＩデータのメッセージを参照して、当該メッセージにしたがって所定の操作子に対するイベントを実行するイベント実行手段と、を有することを特徴とする操作自動実行システム。
【請求項２】
前記電子機器が、通常に動作する通常動作モード、および、前記所定の操作子に対するイベントを実行するイベント実行モードの何れかの動作モードの下で動作し、
前記イベント実行手段が、ＭＩＤＩデータが、イベント実行モードの開始を示す第１のエクスルーシブメッセージであるときに、前記動作モードを、イベント実行モードにして、前記メッセージにしたがった操作子に対するイベントを実行し、前記ＭＩＤＩデータが、イベント実行モードの終了を示す第２のエクスルーシブメッセージであるときに、前記動作モードを、通常動作モードにすることを特徴とする請求項１に記載の操作自動実行システム。
【請求項３】
前記電子機器が電子楽器であり、
前記イベント実行手段が、前記ＭＩＤＩデータがノートオンイベントのメッセージであるときに、前記所定の操作子をオン状態にするとともに、前記ＭＩＤＩデータがノートオフイベントのメッセージである場合に、前記所定の操作子をオフ状態とすることを特徴とする請求項２に記載の操作自動実行システム。
【請求項４】
前記ノートオンイベントのメッセージのチャンネルおよびノートナンバの少なくとも何れか一方における値と、複数の操作子の何れか１つとが対応付けられ、
前記イベント実行手段が、前記ノートオンイベントのメッセージ中の、前記値を参照して、前記値に対応付けられた操作子を特定し、当該操作子をオン状態とすることを特徴とする請求項３に記載の操作自動実行システム。
【請求項５】
前記ＭＩＤＩデータ再生装置が、スタンダードＭＩＤＩファイルを読み出すＳＭＦプレーヤであることを特徴とする請求項１ないし４の何れか一項に記載の操作自動実行システム。
【請求項６】
ＭＩＤＩデータのノートオンイベントのメッセージに基づいて、所定の音高の楽音データを生成するとともに、ノートオフイベントのメッセージに基づいて、当該楽音データを消音する楽音データ生成手段と、
前記ＭＩＤＩデータを受信するＭＩＤＩインタフェース手段と、
前記ＭＩＤＩインタフェースに受信されたＭＩＤＩデータのメッセージを参照して、当該メッセージにしたがって所定の操作子に対するイベントを実行するイベント実行手段と、を備え、
前記ＭＩＤＩデータに基づいて、前記楽音データ生成手段により楽音が生成される通常動作モード、および、前記所定の操作子に対するイベントを実行するイベント実行モードの何れかの動作モードの下で動作することを特徴とする電子楽器。
【請求項７】
前記イベント実行手段が、前記イベント実行モードの下で、前記ＭＩＤＩデータがノートオンイベントのメッセージであるときに、前記所定の操作子をオン状態にするとともに、前記ＭＩＤＩデータがノートオフイベントのメッセージである場合に、前記所定の操作子をオフ状態とすることを特徴とする請求項６に記載の電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器の操作を自動的に行なうシステムおよび当該システム中の電子楽器に関する。
【背景技術】
【０００２】
従来、電子楽器の製品開発過程や、製造過程においての仕様テストは、人手により行なわれている。すなわち、操作者がスイッチを一つずつ操作して、電子楽器の振舞い、たとえば、ＬＥＤの点灯、消灯や、表示装置の画面上へ表示などを確認する。また、仕様テストにおいて不具合が生じた場合に、どの操作シーケンスにより不具合が生じたかを確認する必要があるが、人手による操作の場合、その操作シーケンスを覚えておらず、不具合を再現することが難しい場合もある。また、手作業で行なわれる限り、操作者によるスイッチ操作にミスが生じる場合もある。
【０００３】
これら人手によるミスを無くし、手動操作の手間を軽減するために、何らかの手段により自動的に操作を実行させることが望ましい。
【０００４】
パーソナルコンピュータに電子楽器に対して制御信号を送信するテストツールを装着し、電子楽器が制御信号にしたがって決められた動作をするように必要な回路要素を組み込むことが考えられる。しかしながら、この場合には、電子楽器にテスト専用の仕組み（インタフェースや回路）を組み込む必要があり、電子楽器の回路規模を大きくしてしまうという問題点がある。また、通常動作で必要の無い回路要素を組み込むことは無駄である。
【０００５】
電子楽器以外の操作子を有する電子機器においても、仕様テストにおいては同様の問題が起こり得る。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−３９８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
たとえば、電子楽器においては、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）に基づいて、予め定義されたメッセージを受信することで、所定の楽音を発音し、或いは、音色を切り替えることが可能である。また、特許文献１には、鍵盤において、特定パターンの鍵の押鍵操作により、所定のＭＩＤＩデータ列が出力されると、上記押鍵操作のパターンにしたがって、カラオケ演奏におけるトランスポーズ、演奏の一時停止或いは再スタートが制御できるカラオケ装置が提案されている。
【０００８】
本発明は、制御信号の出力側においても特殊なテストツールを要することなく、また、受信側においても手作業による操作の必要なく、操作子の操作を自動的に実行可能な操作実行システムを提供することを目的とする。また、本発明は、通常で必要の無い回路要素の組み込みが不要であっても、操作子の操作を自動的に実行できる電子楽器を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的は、複数の操作子を有する電子機器と、前記電子機器に対して、所定のシーケンスにしたがった、ＭＩＤＩに基づくメッセージを含む複数のＭＩＤＩデータを順次出力するＭＩＤＩデータ再生装置と、を備えた操作自動実行システムであって、
前記電子機器が、前記ＭＩＤＩデータを受信するＭＩＤＩインタフェース手段と、
前記ＭＩＤＩインタフェースに受信されたＭＩＤＩデータのメッセージを参照して、当該メッセージにしたがって所定の操作子に対するイベントを実行するイベント実行手段と、を有することを特徴とする操作自動実行システムにより達成される。
【００１０】
好ましい実施態様においては、前記電子機器が、前記電子機器において通常に動作する通常動作モード、および、前記所定の操作子に対するイベントを実行するイベント実行モードの何れかの動作モードの下で動作し、
前記イベント実行手段が、ＭＩＤＩデータが、イベント実行モードの開始を示す第１のエクスルーシブメッセージであるときに、前記動作モードを、イベント実行モードにして、前記メッセージにしたがった操作子に対するイベントを実行し、前記ＭＩＤＩデータが、イベント実行モードの終了を示す第２のエクスルーシブメッセージであるときに、前記動作モードを、通常動作モードにする。
【００１１】
より好ましい実施態様においては、前記電子機器が電子楽器であり、
前記イベント実行手段が、前記ＭＩＤＩデータがノートオンイベントのメッセージであるときに、前記所定の操作子をオン状態にするとともに、前記ＭＩＤＩデータがノートオフイベントのメッセージである場合に、前記所定の操作子をオフ状態とする。
【００１２】
また、別の好ましい実施態様においては、前記ノートオンイベントのメッセージのチャンネルおよびノートナンバの少なくとも何れか一方における値と、複数の操作子の何れか１つとが対応付けられ、
前記イベント実行手段が、前記ノートオンイベントのメッセージ中の、前記値を参照して、前記値に対応付けられた操作子を特定し、当該操作子をオン状態とする。
【００１３】
別の好ましい実施態様においては、前記ＭＩＤＩデータ再生装置が、スタンダードＭＩＤＩファイルを読み出すＳＭＦプレーヤである。
【００１４】
また、本発明の目的は、ＭＩＤＩデータのノートオンイベントのメッセージに基づいて、所定の音高の楽音データを生成するとともに、ノートオフイベントのメッセージに基づいて、当該楽音データを消音する楽音データ生成手段と、
前記ＭＩＤＩデータを受信するＭＩＤＩインタフェース手段と、
前記ＭＩＤＩインタフェースに受信されたＭＩＤＩデータのメッセージを参照して、当該メッセージにしたがって所定の操作子に対するイベントを実行するイベント実行手段と、を備え、
前記ＭＩＤＩデータに基づいて、前記楽音データ生成手段により楽音が生成される通常動作モード、および、前記所定の操作子に対するイベントを実行するイベント実行モードの何れかの動作モードの下で動作することを特徴とする電子楽器により達成される。
【００１５】
好ましい実施態様においては、前記イベント実行手段が、前記イベント実行モードの下で、前記ＭＩＤＩデータがノートオンイベントのメッセージであるときに、前記所定の操作子をオン状態にするとともに、前記ＭＩＤＩデータがノートオフイベントのメッセージである場合に、前記所定の操作子をオフ状態とする。
【発明の効果】
【００１６】
本発明によれば、制御信号の出力側においても特殊なテストツールを要することなく、また、受信側においても手作業による操作の必要なく、操作子の操作を自動的に実行可能な操作実行システムを提供することが可能となる。また、本発明によれば、通常で必要の無い回路要素の組み込みが不要であっても、操作子の操作を自動的に実行できる電子楽器を提供することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本実施の形態にかかる電子楽器およびパーソナルコンピュータを含む操作自動実行システムの概略を示す図である。
【図２】図２は、本実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。
【図３】図３は、本実施の形態におけるＭＩＤＩデータの例を示す図である。
【図４】図４は、ＰＣの記憶装置に記憶されたＳＭＦのデータ構成の例を示す図である。
【図５】図５は、ＰＣに設けられたＳＭＦプレーヤにおいて実行されるデータ送信処理の例を示すフローチャートである。
【図６】図６は、本実施の形態にかかる電子楽器において実行される処理の例を概略的に示すフローチャートである。
【図７】図７は、本実施の形態にかかるＭＩＤＩ処理の例を示すフローチャートである。
【図８】図８は、本実施の形態にかかるスイッチ操作実行処理の例を示すフローチャートである。
【図９】図９は、本実施の形態にかかるスイッチ操作実行処理の例を示すフローチャートである。
【図１０】図１０は、本実施の形態にかかるスイッチ操作実行処理の例を示すフローチャートである。
【図１１】図１１は、本実施の形態におけるスイッチ番号とスイッチ名との対応テーブルの例を示す図である。
【図１２】図１２は、本実施の形態にかかるテンキー処理の例を示すフローチャートである。
【図１３】図１３は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。
【図１４】図１４は、本実施の形態にかかるソング処理の例を示すフローチャートである。
【図１５】図１５は、本実施の形態にかかる発音処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本実施の形態にかかる電子楽器およびパーソナルコンピュータを含む操作自動実行システムの概略を示す図である。図１に示すように、本実施の形態にかかる電子楽器１０は、複数（たとえば６１個）の鍵１６−１、１６−２、・・・を含む鍵盤１１を有する。また、鍵盤１１の上部には、音色の指定、ガイドデータの作成、ガイドの有無などを指定するための複数のスイッチ（たとえば、スイッチ１７、テンキー１８など）や、演奏される楽曲に関する種々の情報、たとえば、音色、リズムパターン、コードネームなどを表示する表示部１４を有する。
【００１９】
また、本実施の形態においては、操作自動実行システムは、パーソナルコンピュータ（ＰＣ）１５を備える。ＰＣ１５には、ＳＭＦ（スタンダードＭＩＤＩファイル）プレーヤ３１が設けられ、記憶装置３２に格納されたＳＭＦ３３を読み出して、再生することができる。ＰＣ１５と電子楽器１０との間はケーブル３４で連結され、ＰＣ１５のＳＭＦプレーヤ３１により読み出されたＳＭＦに基づくＭＩＤＩデータが電子楽器１０に与えられる。このケーブル３４は、ＭＩＤＩ規格に準拠する５ピンのＤＩＮコネクタを有するケーブルであっても良いし、ＵＳＢケーブルであっても良い。
【００２０】
図２は、本実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。図２に示すように、本実施の形態にかかる電子楽器１０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、サウンドシステム２４、鍵盤１１、スイッチ部１２、ＭＩＤＩインタフェース（Ｉ／Ｆ）１３、および、液晶表示装置を有する表示部１４を備える。
【００２１】
ＣＰＵ２１は、電子楽器１０全体の制御、鍵盤１１の鍵（たとえば、図１の符号１６−１、１６−２参照）の押鍵やスイッチ部１２を構成するスイッチの操作の検出、鍵やスイッチの操作にしたがったサウンドシステム２４の制御など種々の処理を実行する。また、本実施の形態において、ＣＰＵ２１は、ＰＣ１５から与えられたＭＩＤＩデータに基づく処理を実行する。このＭＩＤＩデータに基づく処理については後に詳述する。
【００２２】
ＲＯＭ２２は、ＣＰＵ２１に実行させる種々の処理、たとえば、鍵盤の鍵のオン（押鍵）・オフ（離鍵）、スイッチの操作、押鍵に応じた楽音の発音、ＭＩＤＩデータに基づく処理などのプログラムを格納する。また、ＲＯＭ２２は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリア、および、自動伴奏パターンなどを構成する楽音のソングデータを格納したソングデータエリアを有する。ＲＡＭ２３は、ＲＯＭ２２から読み出されたプログラムや、処理の過程で生成されたデータを記憶する。
【００２３】
サウンドシステム２４は、音源部２６、オーディオ回路２７およびスピーカ２８を有する。音源部２６は、たとえば、押鍵された鍵に関するノートオンイベントをＣＰＵ２１から受信すると、ＲＯＭ２２の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部２６は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音データとして出力することもできる。オーディオ回路２７は、楽音データをＤ／Ａ変換して増幅する。これによりスピーカ２８から音響信号が出力される。
【００２４】
本実施の形態にかかる電子楽器１０は、通常モードの下においては、鍵盤１１の鍵の押鍵に基づいて楽音を発生することができる。また、通常モードの下においては、ＭＩＤＩ・Ｉ／Ｆ１３を介してＭＩＤＩデータを受信したときにも、ＭＩＤＩデータのメッセージにしたがった動作、たとえば、ノートオンを示すデータであれば、所定の音高の楽音データを生成し、その楽音を発音する。また、ノートオフを示すデータであれば所定の音高の楽音を消音する。その一方、本実施の形態においては、スイッチ実行モードの下で電子楽器１０が作動する場合がある。このスイッチ実行モードにおいては、ＭＩＤＩデータを、電子楽器１０のスイッチ操作の指示として使用し、所定のスイッチをオンさせることができる
図３は、本実施の形態におけるＭＩＤＩデータの例を示す図である。図３において、上の２つ（符号３０１、３０２参照）は、それぞれ、通常のノートオン、ノートオフを示すメッセージである。たとえば、ノートオンを示すＭＩＤＩデータ３０１においては、最初の１バイト（符号３０３）で、ノートオン（９（Ｈ））およびチャンネル００（Ｈ）〜ＦＦ（Ｈ））が特定され、次の１バイトで、ノート番号（音高）が特定される。その後の１バイトはベロシティを示す。また、ノートオフを示すＭＩＤＩデータ３０２においては、最初の１バイト（符号３０３）で、ノートオン（８（Ｈ））およびチャンネル（００（Ｈ）〜ＦＦ（Ｈ））が特定され、次の１バイトで、ノート番号（音高）が特定される。その後の１バイトはベロシティを示す。
【００２５】
本実施の形態においては、後述するスイッチ実行モードの下で、符号３１１に示すＭＩＤＩデータを電子楽器１０が受け入れると、電子楽器１０は、所定のスイッチをオンする。したがって、このＭＩＤＩデータ３１１は、スイッチオンを示すメッセージとなる。ＭＩＤＩデータ３１１は、基本的に、ノートオンを示すＭＩＤＩデータ３０１と類似する構成をとる。すなわち、最初の１バイト（符号３１３参照）は、（符号、ノートオンと同様に「９（Ｈ）」およびチャンネル番号（本実施例では００（Ｈ））となる。また、次の１バイト（符号３１４）は、スイッチ番号であり、予め電子楽器においてその割り当てを示すテーブルがたとえばＲＯＭ２２に格納されている。図１１は、本実施の形態におけるスイッチ番号とスイッチ名との対応テーブルの例を示す図である。図１１に示すように、テーブル１１００において、「＋（プラス）」キー、「−（マイナス）」キーを含むいわゆるテンキー（符号１１０１参照）を構成するキーが、それぞれ、スイッチ番号０〜１１と対応付けられる。他のキー（たとえば、トーンキー１１０２、ソングキー１１０３など）も、所定のスイッチ番号（たとえば、「１２」、「１３」）と対応付けられている。
【００２６】
また、符号３１２に示すＭＩＤＩデータを電子楽器１０が受け入れると、電子楽器１０は、所定のスイッチをオフする。したがって、このＭＩＤＩデータ３１２は、スイッチオフを示すメッセージとなる。ＭＩＤＩデータ３１２は、基本的に、ノートオフを示すＭＩＤＩデータ３０２と類似する構成をとる。すなわち、最初の１バイト（符号３１５参照）は、（符号、ノートオフと同様に「８（Ｈ）」およびチャンネル番号（本実施例では００（Ｈ））となる。また、次の１バイト（符号３１４）は、スイッチ番号である。
【００２７】
本実施の形態においては、符号３２１に示すエクスクルーシブメッセージを用いて、電子楽器１０を通常モードからスイッチ実行モードに切り替えている。このエクスクルーシブメッセージは、冒頭の１バイトが「Ｆ０（Ｈ）」で、最後の１バイト（ＥＯＸ）が「Ｆ７（Ｈ）」となるデータである。
【００２８】
図４は、ＰＣ１５の記憶装置３２に記憶されたＳＭＦ３３のデータ構成の例を示す図である。図４に示すように、ＳＭＦ３３は、複数のデータレコード（符号４０１〜４１０参照）を含み、ＳＭＦプレーヤ３１が、順次レコードを読み出していく。図４の例では、最初のレコード４０１はデルタタイム“０”、つまり、すぐに次のレコードを読み出すことを示すデータである。次のレコード４０２は、「エクスクルーシブメッセージ１」であり、上述したように、電子楽器１０において、動作モードを通常モードからスイッチ実行モードに切り替えるためのデータである。また、その後、デルタタイムｔ０（符号４０３）、ノートオン＃（ナンバー）０（符号４０４）、デルタタイムｔ１（符号４０５）、ノートオフ＃０（符号４０６）というレコードが格納されている。これらレコードによると、デルタタイムｔ０に相当する時間待機した後、ノートオン＃０を出力し、さらに、デルタタイムｔ１に相当する時間だけ待機した後、ノートオフ＃０を出力することが示される。また、ＳＭＦ３３の末尾のレコード４１０はエクスクルーシブメッセージ２であり、電子楽器１０において、動作モードをスイッチ実行モードから通常モードに切り替えるデータである。
【００２９】
図５は、ＰＣ１５に設けられたＳＭＦプレーヤ３１において実行されるデータ送信処理の例を示すフローチャートである。図５に示すように、ＳＭＦプレーヤ３１は、まず、自己のメモリ（図示せず）のクリアを含むイニシャライズを実行し（ステップ５０１）、ＳＭＦ３３のレコードを読み出す（ステップ５０２）。ＳＭＦプレーヤ３１は、読み出したレコードがデルタタイムであるかを判断し（ステップ５０３）、デルタタイムであれば（ステップ５０３でＹｅｓ）、当該デルタタイムに相当する時間だけ待機して（ステップ５０４）、ステップ５０６に進む。
【００３０】
ステップ５０３でＮｏと判断された場合には、ＳＭＦプレーヤ３１は、レコードに含まれるデータを出力する（ステップ５０５）。ＳＭＦプレーヤ３１は、最終レコードまで処理が終了したかを判断し（ステップ５０６）、ステップ５０６でＮｏと判断された場合にはステップ５０２に戻る。このようにして、ＭＩＤＩデータがＳＭＦプレーヤ３１から電子楽器１０に送信される。
【００３１】
図６は、本実施の形態にかかる電子楽器１０において実行される処理の例を概略的に示すフローチャートである。図６に示すように、電子楽器１０の電源が投入されると、ＣＰＵ２１は、ＲＡＭ２３中のデータや、表示部１４の画面に表示された画像のクリアを含むイニシャライズを実行する（ステップ６０１）。イニシャライズが終了すると、電子楽器１０のＣＰＵ２１は、ＭＩＤＩ処理を実行する（ステップ６０２）。図７は、本実施の形態にかかるＭＩＤＩ処理の例を示すフローチャートである。ＣＰＵ２１は、ＭＩＤＩ・Ｉ／Ｆ１３にＭＩＤＩデータの入力があったかを判断する（ステップ７０１）。ステップ７０１でＮｏと判断された場合には処理を終了する。ステップ７０１でＹｅｓと判断された場合には、受け入れたＭＩＤＩデータがエクスクルーシブメッセージであるかを判断する（ステップ７０２）。
【００３２】
ステップ７０２でＹｅｓと判断された場合には、ＣＰＵ２１は、メッセージ番号、つまり、「エクスクルーシブメッセージ１（図４の符号４０２参照）」であるか、「エクスクルーシブメッセージ２（図４の符号４１０参照）」であるかを判断する。メッセージ番号＝１と判断した場合には、ＣＰＵ２１は、動作モードをスイッチ実行モードとする（ステップ７０４）。動作モードの情報はＲＡＭ２３に格納される。メッセージ番号＝２と判断した場合には、ＣＰＵ２１は、動作モードを通常モードとする（ステップ７０５）。
【００３３】
また、ステップ７０２でＮｏと判断された場合には、ＣＰＵ２１は、動作モードが通常モードであるかを判断する（ステップ７０６）。ステップ７０６でＹｅｓと判断された場合には、ＣＰＵ２１は、ＭＩＤＩデータに示されるメッセージに対応する処理を実行する（ステップ７０７）。たとえば、ＭＩＤＩデータがノートオンメッセージであれば、ノートオンメッセージに含まれるチャンネルを、ノート番号にしたがった音高で、メッセージに含まれるベロシティで発音するために必要な処理を実行する。つまり、通常の電子楽器１０においてＭＩＤＩデータを受信したときと同様に動作する。
【００３４】
その一方、ステップ７０６でＮｏと判断された場合には、ＣＰＵ２１は、スイッチ操作実行処理を実行する（ステップ７０８）。図８〜図１０は、本実施の形態にかかるスイッチ操作実行処理の例を示すフローチャートである。ＣＰＵ２１は、ＭＩＤＩデータがノートオンイベントであるかを判断する（ステップ８０１）。先に説明したように、スイッチオンを示すＭＩＤＩデータ（図３の符号３１１参照）は、最初の１バイトが、チャンネル「０」のノートオンイベントと同一である。したがって、ステップ８０１でＹｅｓと判断されることは、スイッチオンを示すＭＩＤＩデータ（メッセージ）が電子楽器１０に受け入れられたことを意味する。
【００３５】
ステップ８０１でＹｅｓと判断された場合には、ＣＰＵ２１は、ＭＩＤＩデータのノートナンバエリア中に含まれる番号を参照する。図３を参照して説明したように、スイッチオンを示すＭＩＤＩデータでは、２バイト目、ノートナンバを格納するエリア（ノートナンバエリア）にスイッチ番号が格納されている。したがって、ノートナンバエリアを参照することにより、どのスイッチをオンすべきかを特定することができる。ノートナンバエリア中の番号が「０」〜「１１」の何れかであれば（ステップ８０２でＹｅｓ）、ＣＰＵ２１はテンキー処理を実行する（ステップ８０３）。ノートナンバエリア中の番号が「１２」であれば、ＣＰＵ２１は、トーンスイッチ（ＳＷ）オン処理を実行し（ステップ８０５）、ノートナンバエリア中の番号が「１３」であれば（ステップ８０６でＹｅｓ）、ＣＰＵ２１は、ソングＳＷオン処理を実行する（ステップ８０７）。
【００３６】
同様に、ノートナンバエリア中の番号が「１４」（ステップ８０８でＹｅｓ）、「１５」（ステップ８１０でＹｅｓ）、或いは、「１６」（ステップ８１２でＹｅｓ）であれば、ＣＰＵ２１は、リズムＳＷオン処理（ステップ８０９）、テンポアップＳＷオン処理（ステップ８１１）或いはテンポダウンＳＷオン処理（ステップ８１３）をそれぞれ実行する。
【００３７】
また、ノートナンバエリア中の番号が「１７」（ステップ９０１でＹｅｓ）、「１８」（ステップ９０３でＹｅｓ）、「１９」（ステップ９０５でＹｅｓ）、或いは、「２０」（ステップ９０７でＹｅｓ）であれば、ＣＰＵ２１は、音量アップＳＷオン処理（ステップ９０２）、音量ダウンＳＷオン処理（ステップ９０４）、スタートＳＷオン処理（ステップ９０６）、或いは、ストップＳＷオン処理（ステップ９０８）をそれぞれ実行する。
【００３８】
ステップ８０１でＮｏと判断された場合には、ＣＰＵ２１は、ＭＩＤＩデータがノートオフイベントであるかを判断する（ステップ９０１）。先に説明したように、スイッチオフを示すＭＩＤＩデータ（図３の符号３１２参照）は、最初の１バイトが、チャンネル「０」のノートオフイベントと同一である。したがって、ステップ９０１でＹｅｓと判断されることは、スイッチオフを示すＭＩＤＩデータ（メッセージ）が電子楽器１０に受け入れられたことを意味する。なお、本実施の形態では、スイッチオフが有効なスイッチは、テンポアップＳＷ、テンポダウンＳＷ，音量アップＳＷおよび音量ダウンＳＷである。これらのスイッチは、短時間オンされたときだけではなく、オン状態が継続された場合には、オン状態である限り、テンポアップ／ダウン、音量アップ／ダウンの処理が実行される。このような場合に、オン状態からオフ状態となったときに、テンポアップ／ダウン、音量アップ／ダウンをそれぞれ解除する処理を行なう必要がある。
【００３９】
ステップ１００１でＹｅｓと判断された場合には、ノートナンバエリア中の番号が「１５」（ステップ１００２でＹｅｓ）、「１６」（ステップ１００４でＹｅｓ）、「１７」（ステップ１００６でＹｅｓ）、或いは、「１８」（ステップ１００８でＹｅｓ）であれば、ＣＰＵ２１は、テンポアップＳＷオフ処理（ステップ１００３）、テンポダウンＳＷオフ処理（ステップ１００５）、音量ＳＷオフ処理（ステップ１００７）、或いは、音量ＳＷオフ処理（ステップ１００９）をそれぞれ実行する。
【００４０】
スイッチ操作実行処理で行なわれる、スイッチのオンに関する処理、つまり、テンキー処理（ステップ８０３）、トーンＳＷオン処理（ステップ８０５）、ソングＳＷオン処理（ステップ８０７）、リズムＳＷオン処理（ステップ８０９）、テンポアップＳＷオン処理（ステップ８１１）、テンポダウンＳＷオン処理（ステップ８１３）、音量アップＳＷオン処理（ステップ９０２）、音量ダウンＳＷオン処理（ステップ９０４）、スタートＳＷオン処理（ステップ９０６）およびストップＳＷオン処理（ステップ９０８）、並びに、スイッチのオフに関する処理、つまり、テンポアップＳＷオフ処理（ステップ１００３）、テンポダウンＳＷオフ処理（ステップ１００５）、音量アップＳＷオフ処理（ステップ１００７）、音量ダウンＳＷオフ処理（ステップ１００９）は、それぞれ、演奏モードにおけるスイッチのオンに関する処理、並びに、スイッチのオフに関する処理、つまり、図６のスイッチ処理（ステップ６０３）において実行される処理とほぼ同様である。すなわち、実際にユーザによりスイッチがオンされ、或いは、オン状態のスイッチがオフされたときと同一の処理がＣＰＵ２１により実行される。
【００４１】
以下、スイッチのオン・オフに関する処理について簡単に説明する。図１２は、本実施の形態にかかるテンキー処理の例を示すフローチャートである。図１２に示すように、ＣＰＵ２１は、「＋（プラス）」キー或いは「−（マイナス）」キーのオンであったかを判断する（ステップ１２０１）。これは、ＭＩＤＩデータにおいてノートナンバエリアの番号が「１０」または「１１」であるかを判断すれば良い。ステップ１２０１でＮｏと判断された場合には、ＣＰＵ２１は、数「ｎ１」および「ｎ０」により構成される二桁の数「ｎ１ｎ０」について、一の桁であった「ｎ０」を十の桁「ｎ１」にシフトするとともに（ステップ１２０２）、ノートナンバエリアの番号「ｎ」を、「ｎ０」とする（ステップ１２０３）。
【００４２】
次いで、ＣＰＵ１１は、テンキーにて入力された番号を設定すべき対象を判断する（ステップ１２０４）。ステップ１２０４は、トーンＳＷオン処理（図８のステップ８０５）、ソングＳＷオン処理（ステップ８０７）、リズムＳＷオン処理（ステップ８０９）の何れが直近に実行されているかにより決定される。これら処理により設定対象モードが決定される。設定対象がソングであれば、ＣＰＵ２１は、ソング番号を二桁の数「ｎ１ｎ０」とする（ステップ１２０５）。設定対象が音色であれば、ＣＰＵ２１は、音色番号を二桁の数「ｎ１ｎ０」とする（ステップ１２０６）。設定対象がリズムであれば、ＣＰＵ２１は、リズム番号を二桁の数「ｎ１ｎ０」とする（ステップ１２０７）。ステップ１２０５〜１２０７で設定された番号はＲＡＭ１３に格納される。
【００４３】
ステップ１２０１でＹｅｓと判断された場合には、ＣＰＵ２１は、「＋（プラス）」キーのオンであったかを判断する（ステップ１２０８）。ステップ１２０８でＹｅｓと判断された場合には、ＣＰＵ２１は、二桁の数「ｎ１ｎ０」をインクリメントし（ステップ１２０９）、その一方、ステップ１２０８でＮｏと判断された場合には、ＣＰＵ２１は、二桁の数「ｎ１ｎ０」をデクリメントする（ステップ１２１０）。ステップ１２０９、１２１０が終了した後、ステップ１２０４に進む。
【００４４】
トーンＳＷオン処理（図８のステップ８０５）、ソングＳＷオン処理（ステップ８０５）、リズムＳＷオン処理（ステップ８０７）においては、それぞれ、設定対象モードが、トーン、ソング、リズムに設定され、その情報がＲＡＭ２３に格納される。
【００４５】
テンポアップＳＷオン処理（ステップ８１１）においては、ＣＰＵ２１は、テンポ値をインクリメントするとともに、自身に内蔵したテンポタイマをスタートし、かつ、テンポアップフラグを「１」にセットする。テンポ値やテンポアップフラグ、後述するテンポダウンフラグはＲＡＭ２３中に格納される。テンポタイマは、所定間隔で実行されるインタラプト処理（図示せず）において参照され、テンポアップフラグが「１」であれば、テンポ値がインクリメントされる。
【００４６】
その一方、テンポダウンＳＷオン処理（ステップ８１３）においては、ＣＰＵ２１は、テンポ値をデクリメントするとともに、自身に内蔵したテンポタイマをスタートし、かつ、テンポダウンフラグを「１」にセットする。テンポタイマは、所定間隔で実行されるインタラプト処理（図示せず）において参照され、テンポダウンフラグが「１」であれば、テンポ値がデクリメントされる。
【００４７】
テンポアップＳＷオフ処理（図１０のステップ１００３）においては、ＣＰＵ２１は、テンポタイマを停止し、かつ、テンポアップフラグを「０」にリセットする。また、テンポダウンＳＷオフ処理（ステップ１００５）において、ＣＰＵ２１は、テンポタイマを停止し、かつ、テンポダウンフラグを「０」にリセットする。
【００４８】
音量アップＳＷオン処理（図９のステップ９０２）においては、ＣＰＵ２１は、ボリューム値をインクリメントするとともに、自身に内蔵したボリュームタイマをスタートし、かつ、ボリュームアップフラグを「１」にセットする。ボリューム値やボリュームアップフラグ、後述するボリュームダウンフラグはＲＡＭ２３中に格納される。ボリュームタイマは、所定間隔で実行されるインタラプト処理（図示せず）において参照され、ボリュームアップフラグが「１」であれば、ボリューム値がインクリメントされる。
【００４９】
その一方、ボリュームダウンＳＷオン処理（ステップ９０４）においては、ＣＰＵ２１は、ボリューム値をデクリメントするとともに、自身に内蔵したボリュームタイマをスタートし、かつ、ボリュームダウンフラグを「１」にセットする。ボリュームタイマは、所定間隔で実行されるインタラプト処理（図示せず）において参照され、ボリュームダウンフラグが「１」であれば、ボリューム値がデクリメントされる。
【００５０】
ボリュームアップＳＷオフ処理（図１０のステップ１００７）においては、ＣＰＵ２１は、ボリュームタイマを停止し、かつ、ボリュームアップフラグを「０」にリセットする。また、ボリュームダウンＳＷオフ処理（ステップ１００９）においては、ＣＰＵ２１は、ボリュームタイマを停止し、かつ、ボリュームダウンフラグを「０」にリセットする。
【００５１】
スタートＳＷオン処理（図９のステップ９０６）について以下に説明する。スタートＳＷオン処理においては、ＣＰＵ２１は、ソング番号（前述した二桁の数「ｎ１ｎ０」）に対応する自動演奏用のソングデータの、ＲＯＭ２３中の先頭アドレスを、アドレスＡＤとしてセットする。また、ソングタイマによるタイマインタラプトを有効にし、かつ、スタートフラグを「１」にセットする。ソングタイマのタイマ値およびアドレスＡＤはソング処理（ステップ６０５）において利用される。その一方、スタートＳＷオフ処理（ステップ９０７）においては、ＣＰＵ２１は、タイマインタラプトを無効にし、スタートフラグを「０」にリセットする。
【００５２】
ＭＩＤＩ処理（図６のステップ６０２）が終了すると、ＣＰＵ２１は、スイッチ処理を実行する（ステップ６０３）。スイッチ処理においては、スイッチ部１２を構成するスイッチの実際の操作を検出し、検出されたスイッチの操作にしたがった処理を実行する。実際には、図８〜図１０に示すスイッチのオンに関する処理、つまり、テンキー処理（ステップ８０３）、トーンＳＷオン処理（ステップ８０５）、ソングＳＷオン処理（ステップ８０７）、リズムＳＷオン処理（ステップ８０９）、テンポアップＳＷオン処理（ステップ８１１）、テンポダウンＳＷオン処理（ステップ８１３）、音量アップＳＷオン処理（ステップ９０２）、音量ダウンＳＷオン処理（ステップ９０４）、スタートＳＷオン処理（ステップ９０６）およびストップＳＷオン処理（ステップ９０８）、並びに、スイッチのオフに関する処理、つまり、テンポアップＳＷオフ処理（ステップ１００３）、テンポダウンＳＷオフ処理（ステップ１００５）、音量アップＳＷオフ処理（ステップ１００７）、音量ダウンＳＷオフ処理（ステップ１００９）の何れかが実行される。
【００５３】
スイッチ処理（ステップ６０３）の後、鍵盤処理（ステップ６０４）が実行される。図図１３は、本実施の形態にかかる鍵盤処理の例を示すフローチャートである。図１３に示すように、ＣＰＵ２１は、鍵盤１１の鍵を所定の順で（たとえば、音高の低い鍵から）走査して（ステップ１３０１）、処理対象となる鍵の状態に変化があったか否かを判断する（ステップ１３０２）。ステップ１３０２で鍵がオン状態となった場合には、ＣＰＵ２１は、当該鍵の押鍵に基づき、鍵に対応する音高の楽音を発音することを示すノートオンイベントを生成する（ステップ１３０３）。また、処理対象となる鍵がオフ状態となった場合には、ＣＰＵ２１は、離鍵された鍵に対応する音高の楽音を消音することを示すノートオフイベントを生成する（ステップ１３０４）。ノートオンイベントおよびノートオフイベントは、ＲＡＭ２３のイベントエリアに格納される。
【００５４】
ステップ１３０３、１３０４が実行された後、或いは、ステップ１３０２で鍵の状態に変化がないと判断された場合には、ＣＰＵ２１は、すべての鍵について処理が終了したかを判断する（ステップ１３０５）。ステップ１３０５でＮｏと判断された場合には、ステップ１３０１に戻る。その一方、ステップ１３０５でＹｅｓと判断された場合には処理を終了する。
【００５５】
鍵盤処理（ステップ６０４）の後、ソング処理（ステップ６０５）が実行される。図１４は、本実施の形態にかかるソング処理の例を示すフローチャートである。ソング処理では、スタートフラグが「１」である場合に（ステップ１４０１でＹｅｓ）、ＣＰＵ２１は、アドレスＡＤにしたがってソングデータを参照し（ステップ１４０２）、また、タイマインタラプトにおいて更新されるソングタイマ値を参照し（ステップ１４０３）、発音時刻が到来した楽音が存在するかを判断する（ステップ１４０４）。ステップ１４０４でＹｅｓと判断された場合には、ＣＰＵ２１は、ソングデータが示す音高の楽音を発音することを示すノートオンイベントを生成する（ステップ１４０５）。また、ステップ１４０５においては、ソングデータのアドレスＡＤが進められる。
【００５６】
ステップ１４０４でＮｏと判断された場合には、発音時間が経過した楽音が存在するかを判断する（ステップ１４０６）。ステップ１４０６でＹｅｓと判断された場合には、ソングデータが示す音高の楽音を消音することを示すノートオフイベントを生成する（ステップ１４０７）。
【００５７】
ソング処理（ステップ６０５）の後、発音処理（ステップ６０６）が実行される。図１５は、本実施の形態にかかる発音処理の例を示すフローチャートである。ＣＰＵ２１は、ＲＡＭ２３のイベントエリアを参照して（ステップ１５０１）、未処理のイベントが存在するかを判断する（ステップ１５０２）。ステップ１５０２でＮｏと判断された場合には処理を終了する。ステップ１５０２でＹｅｓと判断された場合には、ＣＰＵ２１は、イベントがノートオンイベントであるかを判断する（ステップ１５０３）。ステップ１５０３でＹｅｓと判断された場合には、ＣＰＵ２１は、音源部２６に対して、ノートオンイベントが示す音高の楽音を、所定の音色で発音するように指示を与える（ステップ１５０４）。音源部２６は、指示に応答して、指定された音色の波形データを、指定された音高に基づいて読み出して、かつ、読み出された波形データに、エンベロープに基づく乗算値を乗算して楽音データを生成し、オーディオ回路２７に出力する。
【００５８】
ステップ１５０３でＮｏと判断された場合、つまり、イベントがノートオフイベントであった場合には、ＣＰＵ２１は、ノートオフイベントが示す音高の楽音を消音するように音源部２６に指示を与える（ステップ１５０５）。音源部２６は、指示に応答して、読み出された波形データに、徐々に減少するリリースのエンベロープを乗算して楽音データを生成してオーディオ回路２７に出力する。
【００５９】
本実施の形態によれば、ＳＭＦプレーヤ３１から出力された所定のシーケンスにしたがったＭＩＤＩデータを電子楽器のＭＩＤＩ・Ｉ／Ｆ１３が受け入れると、ＣＰＵ２１は、受け入れたＭＩＤＩデータのメッセージを参照して、所定のスイッチに対するイベント（スイッチのオン・オフ）を実行する。したがって、操作者による手動操作なく、所定のシーケンスにしたがって、スイッチに対するイベントを実行することができる。
【００６０】
また、本実施の形態においては、電子楽器１０は、通常に動作する通常モード、および、スイッチに対するイベントを実行するイベント実行モードの何れかの動作モードの下で動作し、ＣＰＵ１１は、ＭＩＤＩデータが、イベント実行モードの開始を示す第１のエクスルーシブメッセージであるときに、動作モードを、イベント実行モードにして、メッセージにしたがったスイッチに対するイベントを実行し、ＭＩＤＩデータが、イベント実行モードの終了を示す第２のエクスルーシブメッセージであるときに、動作モードを、通常動作モードにする。したがって、動作モードの切り替えも操作者が行なうことなく、実現することができる。
【００６１】
さらに、前記実施の形態においては、前記ＭＩＤＩデータがノートオンイベントのメッセージであるときに、前記所定の操作子をオン状態にするとともに、前記ＭＩＤＩデータがノートオフイベントのメッセージである場合に、前記所定のスイッチをオフ状態とする。したがって、通常のＭＩＤＩメッセージ中に、スイッチについてのイベントを含ませることができる。
【００６２】
また、前記実施の形態においては、ノートオンイベントのメッセージ中、ノートナンバエリアの値と、複数のスイッチの何れか１つとが対応付けられ、ＣＰＵ２１は、ノートオンイベントのメッセージ中の、ノートナンバエリアの値を参照して、値に対応付けられたスイッチを特定して、イベントを実行する。たとえば、ノートナンバエリアの値を用いれば、１２８個のスイッチについてイベントを実行することができる。チャンネルの値を用いれば、１６個、チャンネルおよびノートナンバの双方を用いれば、２０４８個のスイッチについてイベントを実行することができる。さらに、ベロシティの値まで医療すれば、さらにその１２８倍（つまり、２０４８×１２８＝２６２１４４個）のスイッチについてイベントを実行することができる。
【００６３】
上記実施の形態において、ＭＩＤＩデータは、スタンダードＭＩＤＩファイル（ＳＭＦ）の形態で記憶装置３２に格納され、また、ＳＭＦを再生するＳＭＦプレーヤ３１から電子楽器１０に与えられる。したがって、ＭＩＤＩデータの出力側を特殊なテストツールとする必要がない。
【００６４】
また、本実施の形態において、通常モードにおいては、ＭＩＤＩデータのメッセージに基づいて、音源部２６において楽音が生成される。その一方、イベント実行モードでは、同じＭＩＤＩメッセージを用いて、スイッチについてのイベントが実行される。したがって、単なる動作モードの切り替えによって、楽音の生成およびスイッチのテストの何れかを実行することができる。
【００６５】
さらに、本実施の形態においては、前記イベント実行モードの下で、前記ＭＩＤＩデータがノートオンイベントのメッセージであるときに、所定のスイッチがオン状態にされ、ＭＩＤＩデータがノートオフイベントのメッセージである場合に、所定のスイッチがオフ状態とされる。このように、単にノートオンメッセージ、ノートオフメッセージを利用することで、スイッチのイベント制御が実現される。
【００６６】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００６７】
前記実施の形態においては、電子楽器に本発明を適用し、ＳＭＦプレーヤからの出力を電子楽器が受け入れるように構成したが、これに限定されるものではなく、他の電子機器に本発明を適用しても良い。この場合、ＭＩＤＩ・Ｉ／Ｆを設ける必要があり、また、ＭＩＤＩのデータにしたがってイベントを実行する処理プログラムを、ＲＯＭ２２中に格納する必要がある。
【００６８】
また、本実施の形態においては、ＭＩＤＩデータの出力側にＳＭＦプレーヤを用いたが、これに限定されるものではなく、所定のシーケンスにしたがってＭＩＤＩデータが出力できるものであれば、他の再生装置を用いても良い。また、ＳＭＦを用いることで、所定のシーケンスおよびデルタタイムに基づくタイミングでＭＩＤＩデータが出力されるが、ＭＩＤＩデータのシーケンス・フォーマットは、ＳＭＦに限定されるものではない。
【００６９】
さらに、前記実施の形態においては、イベントとしてスイッチのオン・オフを記載したがこれに限定されるものではなく、スイッチ以外の操作子、たとえば、スライダー、ボリュームなどの移動などのイベントにも本発明を適用することができる。
【符号の説明】
【００７０】
１０        電子楽器
１１        鍵盤
１２        スイッチ部
１３        ＭＩＤＩ・Ｉ／Ｆ
１４        表示部
１６        鍵
１５        ＰＣ
２１        ＣＰＵ
２２        ＲＯＭ
２３        ＲＡＭ
２４        サウンドシステム
２６        音源部
２７        オーディオ回路
２８        スピーカ
３１        ＳＭＦプレーヤ
３２        記憶装置
３３        ＳＭＦ
【図１】
2010243615.tif 000003
【図２】
2010243615.tif 000004
【図３】
2010243615.tif 000005
【図４】
2010243615.tif 000006
【図５】
2010243615.tif 000007
【図６】
2010243615.tif 000008
【図７】
2010243615.tif 000009
【図８】
2010243615.tif 000010
【図９】
2010243615.tif 000011
【図１０】
2010243615.tif 000012
【図１１】
2010243615.tif 000013
【図１２】
2010243615.tif 000014
【図１３】
2010243615.tif 000015
【図１４】
2010243615.tif 000016
【図１５】
2010243615.tif 000017