(57)【要約】【課題】演奏者に対して、アドリブ演奏の参考となる情報を、曲の進行に合わせて、わかりやすく提示すること。【解決手段】複数の演奏用鍵に各々対応して複数段を成した表示素子を備えた多段表示装置（１４）が設けられる。コード進行を指定するコード指定情報に基づき、現時点から所定時間先までの演奏期間において使用可能な鍵を決定し、決定された使用可能な鍵を時間順に対応付けされた表示素子段で報知するように、表示を制御する。例えば、最上段の表示素子段が最も先取りされた時間に対応し、最下段が現時点に対応しているとすると、アドリブ演奏に使用可能な鍵を示す表示が、時間経過に伴い上段から下段に向けてスクロールするよう表示される。【選択図】      図２
2007163710.tif 000002
【特許請求の範囲】
【請求項１】
複数の演奏用鍵を備えた演奏操作手段と、
前記複数の演奏用鍵に各々対応して複数段を成した表示素子を備えた表示手段と、
コード進行を指定するコード指定情報を少なくとも含む演奏情報を供給する供給手段と、
前記演奏情報に基づく演奏の進行に伴い、該演奏情報に含まれる前記コード指定情報に基づき、現時点から所定時間先までの演奏期間において使用可能な鍵を決定する決定手段と、
前記決定手段で決定された前記使用可能な鍵を時間順に対応付けされた表示素子段で報知するように、前記表示手段における表示を制御する表示制御手段と、
を具えた演奏支援装置。
【請求項２】
前記決定手段は、決定された前記使用可能な鍵が、前記コード指定情報が指定するコードの各種構成音及び非構成音のいずれの属性に該当するかを指定し、
前記表示制御手段は、前記使用可能な鍵を前記表示手段で表示する際に、前記属性の指定に従い、各属性に応じて異なる態様で表示するよう制御することを特徴とする請求項１に記載の演奏支援装置。
【請求項３】
前記決定手段は、前記複数の演奏用鍵を複数の音域に分けて各音域ごとに異なる基準で前記使用可能な鍵を決定することを特徴とする請求項１又は２に記載の演奏支援装置。
【請求項４】
前記供給手段が供給する前記演奏情報には、自動演奏される楽曲パートの演奏情報も含まれており、
前記表示制御手段は、更に、自動演奏の進行に応じた前記楽曲パートの演奏情報に基づき、対応する鍵を報知するように前記表示手段における表示を制御することを特徴とする請求項１乃至３のいずれかに記載の演奏支援装置。
【請求項５】
前記自動演奏される楽曲パートの演奏情報に基づき、対旋律候補の鍵を示す情報を生成する手段を更に具え、
前記表示制御手段は、更に、前記対旋律候補の鍵を示す情報に基づき、該対旋律候補の鍵を報知するように前記表示手段における表示を制御することを特徴とする請求項４に記載の演奏支援装置。
【請求項６】
前記表示制御手段は、現時点から所定時間先までの演奏期間における前記自動演奏される楽曲パートの演奏情報に基づき、対応する鍵を時間順に対応付けされた表示素子段で報知するように、前記表示手段における表示を制御することを特徴とする請求項４に記載の演奏支援装置。
【請求項７】
前記対旋律候補の鍵を示す情報を生成する手段は、現時点から所定時間先までの演奏期間における前記自動演奏される楽曲パートの演奏情報に基づき、該演奏期間における前記対旋律候補の鍵を示す情報を生成し、
前記表示制御手段は、現時点から所定時間先までの演奏期間における前記生成された対旋律候補の鍵を示す情報に基づき、対応する鍵を時間順に対応付けされた表示素子段で報知するように、前記表示手段における表示を制御することを特徴とする請求項５に記載の演奏支援装置。
【請求項８】
複数の演奏用鍵を備えた演奏操作手段と、前記複数の演奏用鍵に各々対応して複数段を成した表示素子を備えた表示手段とを具えた電子楽器において、コンピュータに、
コード進行を指定するコード指定情報を少なくとも含む演奏情報を供給する手順と、
前記演奏情報に基づく演奏の進行に伴い、該演奏情報に含まれる前記コード指定情報に基づき、現時点から所定時間先までの演奏期間において使用可能な鍵を決定する手順と、
決定された前記使用可能な鍵を時間順に対応付けされた表示素子段で報知するように、前記表示手段における表示を制御する手順と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、鍵盤楽器等において適用される演奏支援装置に関し、特に、演奏者に対して、アドリブ演奏の参考となる情報を、曲の進行に合わせて、わかりやすく提示することができるようにした演奏支援装置及びプログラムに関する。
【背景技術】
【０００２】
下記特許文献１においては、アドリブ演奏を支援するために、曲の進行に応じて、コード（和音）情報を得て、各鍵に対応した表示器（LED）で、アドリブ演奏で使用可能な音高（コード構成音）及び一時的に使用可能な音高（コード非構成音）を異なる表示態様（色）で表示する技術が開示されている。また、各鍵に対応する表示器（LED）を複数系列で配置し、現在のコード（和音）区間で使用可能（アヴェイラブル）な音高及び一時的に使用可能な音高を第１の系列の表示器で表示し、その次のコード（和音）区間で使用可能な音高及び一時的に使用可能な音高を第２の系列の表示器で表示することが示されている。また、演奏進行に伴って、コード区間の切り替わりタイミングが近づいたことを演奏者に報知するために、点灯している表示器の輝度を時間経過に従って変化させることが示されている。また、同時に演奏される自動演奏の旋律における各音名毎の使用頻度を検出し、この使用頻度に応じて、対応する音高の表示器の輝度を調整することにより、自動演奏における当該音名の使用頻度を演奏者に報知し、もって、演奏者が各音名の使用バランスを考慮してアドリブ演奏を行うことができるようにすることを試みている。
【特許文献１】特開平9-292878号公報
【０００３】
しかし、上記従来技術では、コード（和音）の切り替わりタイミングの到来を表示器の輝度変化で報知するので、微妙な輝度変化の程度は把握しにくいが故に、初心者等誰でもがコード切り替わりタイミングの到来を容易に把握することができるとは言い難いものであった。また、上記従来技術では、アドリブ演奏で使用可能な音高（コード構成音）及び一時的に使用可能な音高（コード非構成音）の表示条件が鍵盤の全鍵域で共通していたので、中音域や低音域で不自然なアドリブ演奏を招くおそれがあった。つまり、中音域や低音域でも一時的に使用可能な音高（コード非構成音）の表示がなされるので、もし、演奏者がその表示をみて中音域や低音域でコード非構成音をアドリブ演奏したとすると、和声感が乏しくなったり、音が濁りがちとなり、好ましくない。また、自動演奏における当該音名の使用頻度を演奏者に報知するだけでは、音楽的に好ましいアドリブ演奏をガイドすることにはならず、不十分であった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は上述の点に鑑みてなされたもので、演奏者に対して、アドリブ演奏の参考となる情報を、曲の進行に合わせて、わかりやすく提示することができるようにした演奏支援装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００５】
この発明に係る演奏支援装置は、複数の演奏用鍵を備えた演奏操作手段と、前記複数の演奏用鍵に各々対応して複数段を成した表示素子を備えた表示手段と、コード進行を指定するコード指定情報を少なくとも含む演奏情報を供給する供給手段と、前記演奏情報に基づく演奏の進行に伴い、該演奏情報に含まれる前記コード指定情報に基づき、現時点から所定時間先までの演奏期間において使用可能な鍵を決定する決定手段と、前記決定手段で決定された前記使用可能な鍵を時間順に対応付けされた表示素子段で報知するように、前記表示手段における表示を制御する表示制御手段とを具えたことを特徴とする。
【０００６】
この発明によれば、演奏情報に含まれるコード指定情報に基づき、現時点から所定時間先までの演奏期間において使用可能な鍵を決定し、該使用可能な鍵を時間順に対応付けされた表示素子段で報知するように表示制御するので、使用可能な鍵を示す表示が時間経過に伴い順次段階的に変化してスクロールされることとなり、初心者等誰でもがコード切り替わりタイミングの到来を容易に把握することができるようになり、かつ、コード切り替わりに伴う使用可能鍵がどの鍵であるのかが事前によく分かり、アドリブ演奏が行いやすくなる。その場合、使用可能鍵を、コードの根音やその他構成音、コード非構成音など、各種の属性に応じて、異なる表示態様で表示するとよい。
【０００７】
本発明の実施例として、前記決定手段は、前記複数の演奏用鍵を複数の音域に分けて各音域ごとに異なる基準で前記使用可能な鍵を決定するとよい。これにより、各音域に適した基準で使用可能な鍵を決定し表示することができ、不自然なアドリブ演奏ガイドを行うことがなくなる。例えば、中音域や低音域では一時的に使用可能な音高（コード非構成音）を使用可能な鍵として表示しないようにすることができる。
【０００８】
本発明の実施例として、自動演奏される楽曲パートの演奏情報に基づき、それ対応する鍵を報知するように表示手段における表示を制御するとよい。これにより、自動演奏される楽曲パートの旋律が表示されるので、演奏者はそれを見てアドリブ演奏の参考とすることができる。例えば、自動演奏される旋律に絡むように対旋律をアドリブ演奏し易くなる。好ましい実施例では、自動演奏される楽曲パートの演奏情報に基づき、対旋律候補の鍵を示す情報を生成する手段を更に具え、該対旋律候補の鍵を示す情報に基づき、該対旋律候補の鍵を報知するように表示手段における表示を制御するとよい。これにより、自動演奏される旋律に絡むような好適な対旋律がガイド表示されるので、そのガイド表示に従って演奏すれば、初心者でも好適な対旋律の演奏を楽しむことができる。
【０００９】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し、実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記録媒体の形態で実施することもできる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の一実施例を添付図面に基づき、詳細に説明しよう。
図１は、この発明に係る演奏支援装置を内蔵した電子楽器の実施の形態を示すハード構成ブロック図である。この実施の形態においては、中央処理ユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。ＣＰＵ１に対して、データ及びアドレスバス４を介してＲＯＭ２、ＲＡＭ３、操作検出回路５、６、表示回路７、音源回路８、効果回路９、外部記憶装置１０、ＭＩＤＩインタフェース（Ｉ／Ｆ）１１および通信インタフェース（Ｉ／Ｆ）１２がそれぞれ接続されている。ＣＰＵ１はＲＯＭ２及びＲＡＭ３内の各種プログラムや各種データ及び外部記憶装置１０などから取り込まれた楽曲演奏情報などに基づいて当該電子楽器全体の動作を制御する。更に、ＣＰＵ１には、タイマ割込み処理における割込み時間や各種時間を計時するタイマ１Ａが接続されている。ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種プログラムや各種データ等を格納するものである。ＲＡＭ３は、自動演奏に関する各種演奏情報やＣＰＵ１がプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【００１１】
演奏操作装置５Ａは音楽演奏用の複数の演奏操作子からなっており、典型的には、複数の鍵を具えた鍵盤からなる。検出回路５は、演奏操作装置（以下、鍵盤という）５Ａの各演奏操作子（以下、鍵という）の押圧及び離鍵操作を検出し、検出出力を生じる。設定操作装置６Ａは、音色、音量等の楽音特性の選択・設定や自動演奏曲等の選択、各種の音楽条件を入力など、電子楽器における種々の選択・設定・入力を行うための各種の操作子からなり、例えば、数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはパネルスイッチ等である。この他にも音高、音色、効果等を選択・設定・制御するための各種操作子を含んでいてよい。検出回路６は、設定操作装置６Ａにおける各スイッチ等の操作状態を検出し、その操作状態に応じた操作情報をデータ及びアドレスバス４を介してＣＰＵ１に与える。ディスプレイ１３は、液晶表示パネル（ＬＣＤ）等からなり、文字、図形、画像の表示が可能なものである。設定操作装置６Ａによる選択・設定状態や電子楽器の状態などが、ＣＰＵ１の制御の下で、表示回路７を介してディスプレイ１３で表示される。
【００１２】
多段ＬＥＤ表示器１４は、鍵盤５Ａの各鍵に各々対応して複数段を成した表示素子で構成される。各表示素子は、異なる色の複数のＬＥＤ（発光ダイオード）で構成された発光セルからなり、赤、黄、緑、青等の異なる色の中からいずれかの色を選択的に発光させることができる。この多段ＬＥＤ表示器１４における各表示素子の発光は、表示回路７を介してＣＰＵ１によって制御される。この多段ＬＥＤ表示器１４は、本発明に従うアドリブ演奏支援のために使用されるものであるが、勿論、その他の用途（例えば演奏に同期したイメージ又は照明のディスプレイを行うなど）で適宜使用することもできる。この多段ＬＥＤ表示器１４の具体的構成例については、図２を参照して後述する。
【００１３】
音源回路８は、複数のチャンネルで楽音信号の同時発生が可能であり、ＣＰＵ１の制御の下でデータ及びアドレスバス４を経由して与えられる楽音発生指示データを受け取り、このデータに基づき楽音信号を発生する。音源回路８から発生された楽音信号は、効果回路９で適宜楽音効果が付与され、サウンドシステム１５を介して発音される。音源回路８における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるＦＭ方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるＡＭ方式、あるいは奏法エレメントを用いて高品質な奏法波形を合成する方式など、公知の方式を適宜採用してよい。すなわち、音源回路の方式は、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式、奏法波形合成方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路を構成するものに限らず、ＤＳＰとマイクロプログラムあるいはＣＰＵ１と音源ソフトウェアを用いて音源回路（ソフトウェア音源）を構成するようにしてもよい。また、複数の発音チャンネルは、共通の楽音発生用回路ハードウェアを時分割使用するものであってもよいし、あるいは個別の楽音発生用回路ハードウェアを並列的に具備したものであってもよい。
【００１４】
外部記憶装置１０は、ハードディスク、フレキシブル磁気ディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋの略）、フラッシュメモリ等の各種記憶装置を総称するものであり、これらの各種記憶装置いずれか１つ又は複数を利用できるように構成されている。外部記憶装置１０は、様々な楽曲の自動演奏データ、楽音制御情報、ＣＰＵ１が実行する各種プログラム等の制御に関するデータ等を記憶していてよい。本発明を実施するための制御プログラムは、ＲＯＭ２に予め記憶させておいてもよいし、あるいは、外部記憶装置１０のＣＤ−ＲＯＭ等からハードディスクにインストールし、動作時にそれをＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００１５】
ＭＩＤＩインタフェース（Ｉ／Ｆ）１１は、他のＭＩＤＩ機器１６からＭＩＤＩ規格の楽曲演奏情報（ＭＩＤＩデータ）を当該電子楽器へ入力したり、あるいは当該電子楽器からＭＩＤＩ規格の演奏情報（ＭＩＤＩデータ）を他のＭＩＤＩ機器１６へ出力するためのインタフェースである。通信インタフェース１２は、例えばＬＡＮやインターネット、電話回線等の通信ネットワーク１７に接続されており、該通信ネットワーク１７を介して、サーバコンピュータ１８あるいはその他のノードと接続され、当該サーバコンピュータ１８又は他のノードから制御プログラムや各種データを電子楽器側に取り込むためのインタフェースである。すなわち、ＲＯＭ２や外部記憶装置１０に本発明を実施するための制御プログラムや楽曲演奏情報その他各種データが記憶されていない場合に、サーバコンピュータ又は他のノードから該制御プログラムや楽曲演奏情報その他各種データをダウンロードするために用いることができる。なお、ＭＩＤＩインタフェース１１は専用のＭＩＤＩインタフェースを用いるものに限らず、ＲＳ２３２−Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４等の汎用の通信インタフェースを用いてＭＩＤＩインタフェースを構成するようにしてもよい。この場合、通信インタフェースでＭＩＤＩメッセージ以外のデータをも同時に送受信するようにしてもよいのは勿論である。
【００１６】
図２は、多段ＬＥＤ表示器１４の配置例を示す平面図であり、電子楽器の本体ケース上において鍵盤６Ａの上辺寄りに近接して、多段ＬＥＤ表示器１４が配置されている。多段ＬＥＤ表示器１４は、各鍵毎に、多数（図示例では１２）段の表示素子（複数の異なる色のＬＥＤからなるセル）で構成されている。多段ＬＥＤ表示器１４の各段は、演奏時間軸上の位置に対応している。具体的には、鍵盤６Ａに一番近い段１４ｓ1を最下段、一番遠い段１４ｓ12を最上段、と呼ぶと、最下段１４ｓ1が現演奏時点に対応し、最上段１４ｓ12が所定時間先の演奏時点に対応し，その間の各段は現演奏時点から該所定時間先の演奏時点までの演奏期間を等分割した各時点に対応する。更に具体例を示すと、自動演奏における演奏時間の単位として「tick」（四分音符の長さが９６tick）が知られているが、多段ＬＥＤ表示器１４は、現演奏時点から２８８tick分（つまり３拍分）先までの演奏期間に対応づけられる。すなわち、１２段からなる多段ＬＥＤ表示器１４の１段分の表示素子段は、２４tick（１６分音符）の演奏時間長に対応しており、最下段１４ｓ1から１段上にいく毎に２４tick（１６分音符）づつ先の演奏時間位置に対応することになり、最上段１４ｓ12は最大の２８８tick（３拍）先の演奏時間位置に対応することになる。なお、多段ＬＥＤ表示器１４における表示素子段の段数はこの実施例のような１２段に限らず、任意の複数段であってよく、また、１拍分の時間長に対応して設ける表示素子段数も４段に限らない。また、所定時間先（最大の先取り時間長）とは、３拍先に限らず、４拍先あるいは２拍先など、その他設計上適宜に定めてよい。
【００１７】
この実施例における、アドリブ演奏支援のための、多段ＬＥＤ表示器１４を用いた第１の表示手法は、所望の楽曲を自動演奏してそのコード（和音）進行に応じて、アドリブ演奏用に使用可能な鍵を表示（ＬＥＤ点灯による報知）することであり、現在の演奏時点におけるコードに対応する使用可能な鍵の表示のみならず、所定時間先（３拍先）のコードに対応する使用可能な鍵の表示も行い、加えて、先行して表示された使用可能な鍵の表示が、時間経過に伴い、現在の演奏時点に対応する表示素子段１４ｓ1に向かって、スクロールされるようにすることである。なお、アドリブ演奏用に使用可能な鍵とは、公知の通り音楽理論から適切に定めることができ、例えば、コード構成音がそれに該当し、更に、コード構成音でない音（非構成音）も、その演奏曲の音階（調）などを考慮して適切に定めることができる。従って、本発明の実施にあたって、具体的にどの鍵を使用可能な鍵として決定するかについては、公知の技術又は音楽理論を適宜用いればよい。
【００１８】
この実施例における、アドリブ演奏支援のための、多段ＬＥＤ表示器１４を用いた第２の表示手法は、鍵盤５Ａの各鍵を複数の音域に分けて各音域ごとに異なる基準を適用して前記使用可能な鍵を決定することである。例えば、所定の低音域ではコードの根音のみを使用可能な鍵とし、所定の中音域ではコードのすべての構成音（根音とその他の構成音）を使用可能な鍵とし、所定の高音域ではコードのすべての構成音と演奏曲音階（調）などに基づき使用可能と決定されるいくつかのコード非構成音）とを使用可能な鍵とする。これにより、各音域に適した基準で使用可能な鍵を決定し表示することができ、好ましいアドリブ演奏ガイドを行うことができる。すなわち、低音域ではベース音として根音主体のアドリブ演奏をさせ、中音域では和声的伴奏音としてコード構成音主体のアドリブ演奏をさせ、高音域では経過音やテンションノートなども含むメロディ性に富んだアドリブ演奏をさせるよう、誘導できる。
【００１９】
なお、上記第１及び第２の表示手法のいずれの場合も、多段ＬＥＤ表示器１４において、各種コード構成音と非構成音をその属性に応じて異なる表示態様で（例えば異なる色で）表示するようにするとよい。しかし、これに限らず、共通の表示態様であってもよい。
【００２０】
この実施例における、アドリブ演奏支援のための、多段ＬＥＤ表示器１４を用いた第３の表示手法は、所望の楽曲の演奏パートを自動演奏してその旋律的進行に応じて、該旋律的進行に対応する鍵を表示（ＬＥＤ点灯による報知）することである。これにより、自動演奏される楽曲パートの旋律的進行が表示されるので、演奏者はそれを見てアドリブ演奏の参考とすることができる。例えば、自動演奏される旋律に絡むように対旋律をアドリブ演奏し易くなる。
【００２１】
この実施例における、アドリブ演奏支援のための、多段ＬＥＤ表示器１４を用いた第４の表示手法は、前記自動演奏される楽曲パートの演奏情報に基づき、その旋律的進行に対する対旋律（カウンタメロディ）候補の鍵を表示（ＬＥＤ点灯による報知）することである。これにより、自動演奏される旋律に絡むような好適な対旋律がガイド表示されるので、そのガイド表示に従って演奏すれば、初心者でも好適な対旋律のアドリブ演奏を楽しむことができる。
【００２２】
以下の説明では、説明の便宜上、上記第１乃至第４の表示手法を組み合わせて実現しうるようにした実施例が示される。しかし、上記第１乃至第４の表示手法をそれぞれ単独で実施するように構成してもよいし、あるいは、そのうち２又は３のみを適宜組み合わせて実施するように構成してもよい。例えば、上記第１の表示手法を基本として、これを単独で実施する、あるいはこれに上記第２乃至第４の表示手法を適宜選択して組み合わせて実施するようにしてよい。
【００２３】
本発明に従うアドリブ演奏支援を実施する場合、まず、演奏者は、所望の楽曲を選択し、該選択した楽曲の演奏情報（自動演奏データ）に基づく自動演奏を開始させる。例えば外部記憶装置１０に１又は複数の楽曲の自動演奏データが記憶されており、そこから選択された楽曲の自動演奏データを読み出すことで該自動演奏データが供給される。自動演奏データのデータ形式は、公知のどのような形式のものを使用してもよい。なお、本発明を実施しうるようにするには自動演奏データの中にコード進行を指定するコード指定情報を少なくとも含んでいる必要がある。しかし、もし記憶された自動演奏データ中にコード指定情報が含まれていない場合は、メロディデータに基づき自動的にコード進行を判定してコード指定情報を生成するようにしてもよい。
【００２４】
図３は、公知のＳＭＦ（スタンダードＭＩＤＩファイル）形式からなる自動演奏データ（楽曲演奏情報）のデータ構成例を示す。演奏データは、1つのヘッダチャンクと１つ以上のトラックチャンクを含む。ヘッダチャンクには、フォーマットを表す情報やトラック数や時間分解能を表す情報など、トラックチャンクに記憶された演奏データに関しての基本的な情報が含まれている。１つのトラックチャンクは、演奏シーケンスに従って、デルタタイムと共に複数のイベントデータが記憶されている。デルタタイムは、１つ前のイベントからの経過時間を表す。公知の通り、自動演奏シーケンスの実行にあたっては、或るデルタタイムの時間が経過したとき次のイベントを読み出して実行する。調指定イベントは、当該楽曲の調を指定するデータである。コード指定イベントは、コード（和音）の変更タイミングに対応して挿入されるイベントデータであり、変更後の新たなコードのコード名（根音とコード種類）を示すデータ（コード指定情報）からなる。ノートオンイベントは、発音開始させるべき音を示すイベントデータであり、該音の音高（鍵名）を示すデータを含む。ノートオフイベントは、発音終了させるべき音を示すイベントデータであり、該音の音高（鍵名）を示すデータを含む。このノートオンイベントとノートオフイベントによって、或る楽曲パート（例えばメロディパート）の旋律的進行の演奏シーケンスが記述される。なお、演奏データ中に調指定データが含まれていなかった場合は、公知のように、演奏データ中のメロディ進行を自動解析して演奏調を判定するようにすればよく、あるいは、演奏者に調指定情報を入力させるように促してもよい。
【００２５】
図４は、自動演奏開始時に実行される開始手続のコンピュータプログラムの一例を示すフローチャートである。ステップＳ１では、選択された楽曲の演奏情報（自動演奏データ）の読み出し位置を、発音用とＬＥＤ表示用とで区別するよう初期化する。ここで、読み出し位置とは、必ずしもメモリ上の実際の読み出しアドレス位置を指示するものではなく、演奏情報の現在の読み出し位置を演奏進行の時間軸に換算して指摘する概念的なポインタである。発音用読み出し位置とは、自動演奏に基づく楽音発生を実際に行う演奏時間軸上の演奏進行位置に対応する概念として使用する。ＬＥＤ表示用読み出し位置とは、多段ＬＥＤ表示器１４において、自動演奏における実際の演奏音発生タイミングよりも最大先取り時間（この実施例では２８８tickすなわち３拍分の時間）分だけ先行して表示させるために、ＬＥＤ表示用として発音用よりも先行している時間軸上の進行位置に対応する概念として使用する。すなわち、ＬＥＤ表示用読み出し位置は、発音用読み出し位置（現在の演奏位置）よりも、多段ＬＥＤ表示器１４の最上段１４ｓ12に対応する最大先取り時間（この実施例では２８８tickすなわち３拍分の時間）に相当する時間だけ先行するよう初期設定する。換言すれば、ＬＥＤ表示用のために、図３に示すようなトラックチャンクの演奏データが、表示用の最大先取り時間（２８８tickすなわち３拍分の時間）だけ演奏音発生タイミングに先行してメモリから先読みされるように設定する、ということである。
【００２６】
次に、ステップＳ２では、多段ＬＥＤ表示器１４の全てのＬＥＤ表示をクリアする。ステップＳ３では、ＲＡＭ３内に設定される所定の表示管理バッファ（ＬＥＤ表示管理用ワーキングメモリエリア）をクリアする。ステップＳ４では、自動演奏データのヘッダチャンク（図３）から演奏テンポに対応した時間分解能情報を読み出し、１tick当たりのタイマー割込み周期を設定する。つまり、公知のように、１tick毎のタイマー割込み周期の実時間が演奏テンポに応じて可変設定される。ステップＳ５では、設定したタイマー割込み周期でタイマー１Ａが割込み動作を行うことを許可する状態に設定する。少なくとも以上のような処理を含む初期設定処理を終了すると図４のルーチンが終了する。これにより、自動演奏がＲＵＮ状態となり、以後は、１tick毎のタイマー割込みによって、自動演奏処理、詳しくは自動演奏の進行に伴うＬＥＤ表示処理と発音処理、が行われる。
【００２７】
図５は、１tick周期で実行されるタイマー割込み処理の一例を示し、特に、本発明に関連するＬＥＤ表示処理に関する手順のみを示している。図５の説明において、「読み出し位置」とは、上述の「ＬＥＤ表示用読み出し位置」を指す。なお、タイマー割込みに基づき実行される発音処理については特に図示しないが、これは公知の手順を適宜使用すればよい。
【００２８】
まず、ステップＳ１０では、現在のタイマー割込みに対応する読み出し位置が、自動演奏データの終端（楽曲の終わり）を過ぎたかどうかをチェックする。演奏開始時あるいは演奏中はまだ終端に達していないので、このステップＳ１０は常にＮＯであり、ステップＳ１１に行く。ステップＳ１１では、現在のタイマー割込みに対応する読み出し位置に、演奏情報のイベントがあるかをチェックする。ここでの処理は、演奏情報中の各イベントを実行すべき時間を規定する、現在の読み出し位置に対応する、デルタタイム（イベント間の時間間隔；図３参照）が満了したかどうかを判定する処理からなる。なお、デルタタイムは、後述するステップＳ２６において１割込み周期毎に１tick分増加（又は減少）するように計測される。デルタタイムが満了したならば、今回のタイマー割込みタイミングで処理すべきイベントがあることとなり、ステップＳ１１はＹＥＳと判定し、ステップＳ１２に行く。
【００２９】
ステップＳ１２では処理すべきイベントが調指定イベント（図３参照）であるか否かを判定し、調指定イベントであれば、ステップＳ１３にて、ＲＡＭ３上に確保された調指定レジスタ（現在の演奏調を記憶するレジスタ）の記憶を新たな調指定情報で更新する。
【００３０】
ステップＳ１４では処理すべきイベントがコード指定イベント（図３参照）であるか否かを判定し、コード指定イベントであれば、ステップＳ１５にて、該コード指定イベントに含まれるコード指定情報から使用可能鍵情報（アドリブ演奏用に使用可能な鍵を示す情報）を生成する。このステップＳ１５で実行する使用可能鍵情報生成処理の詳細例は図６に示されている。
【００３１】
図６において、ステップＳ３０では、調指定レジスタに記憶されている調指定情報と前記コード指定情報とに基づき、現在の演奏調の基音に対する該コードの根音の音程差を求める。これは、コード根音の調音階上の位置（度）を示す。次にステップＳ３１では、前記コード指定情報からコードタイプを求める。ステップＳ３２では、前ステップＳ３０，３１で求めたコード根音の調音階位置とコードタイプとに基づき所定の選択テーブル（図７（ａ））を参照して、使用可能相対ノートテーブル（図７（ｂ））を選択する。
【００３２】
図７（ａ）は選択テーブルの一例を示すもので、コード根音の調音階位置（具体的には、調の基音に対するコードの根音の音程差を半音単位の数値０〜１１で表した値）の各値０〜１１と各種のコードタイプとの各組み合わせに対応して、選択すべき使用可能相対ノートテーブルの所在場所を指示するポインタをそれぞれ記憶している。ステップＳ３０，３１で求めたコード根音の調音階位置とコードタイプとの組み合わせに基づき、該選択テーブルから１つのポインタが読み出される。そして、読み出された１つのポインタが指示する１組の使用可能相対ノートテーブルが選択される。
【００３３】
図７（ｂ）は、１つのポインタによって指示される１組の使用可能相対ノートテーブルの一例を示す。このような使用可能相対ノートテーブルが、図７（ａ）の選択テーブルにリストされている全てのポインタに対応して設けられている。これらの選択テーブル及び使用可能相対ノートテーブルは、ＲＯＭ２あるいは外部記憶装置１０において不揮発的に設けられている。
【００３４】
図７（ｂ）に示すように、１組の使用可能相対ノートテーブルは、複数の音域（例えば低音域、中音域、高音域）の各々に対応する１オクターブ範囲のテーブルからなり、前記第２の表示手法として述べたような各音域ごとに異なる基準を適用して使用可能な鍵を決定することを実現する。音程差の欄の数値０〜１１は、１オクターブ範囲の１２個の半音単位の相対ノートを識別するものであり、コードの根音に対する音程差を示す値である。使用の可否の欄は、それに対応する相対ノートが使用可能な鍵であるか否かを示すデータを示す。使用可能を示すデータにあっては、該使用可能なノートが、根音であるか、その他のコード構成音であるか、コード非構成音であるか、という属性を区別する情報も含まれる。一例として、図７（ｂ）は、図７（ａ）の選択テーブルにおけるコード根音の調音階位置が「５」（つまり４度音）でコードタイプがMajorの組み合わせに対応して読み出されるポインタによって指示される使用可能相対ノートテーブル（つまりサブドミナント・メジャー・コードに対応する使用可能相対ノートテーブル）を示している。この例では、低音域ではコードの根音のみを使用可能なノートと定め、中音域ではコードのすべての構成音（根音とその他の構成音）を使用可能なノートと定め、高音域ではコードのすべての構成音と非構成音のうちの根音に対する２度音程（２半音上）のノートつまり調音階における５度のノート及び根音に対する７度音程（１１半音上）のノートつまり調音階における３度のノートを使用可能なノートと定めている。このように、所定の高音域でのみコード非構成音を使用可能とすることは、低音域及び中音域における和声感が損なわれないように、つまり、コード非構成音は高音域でのみ使用されるように、アドリブ演奏を誘導できるので好ましい。また、所定の低音域ではコードの根音のみを使用可能とすることは、低音域のベース感が損なわれないようにアドリブ演奏を誘導できるので好ましい。なお、各音域をどの範囲で分割するかについては、適宜設計可能である。例示的に、図２において、低音域、中音域、高音域の鍵域分割例が示されている。また、使用可能なコード非構成音をどのようにして選ぶべきかは、音楽理論上決まることであり、公知であるから、ここでは詳しく述べない。
【００３５】
図６に戻り、ステップＳ３３では、前記ステップＳ３２で選択された使用可能相対ノートテーブルから使用可能ノートテーブル（図７（ｃ））を作成する。使用可能ノートテーブルは、前記ステップＳ３２で選択された使用可能相対ノートテーブル中の各音域に対応するテーブルにおける相対ノート（０〜１１）をコード根音のノートに応じて具体的なノートに変換することで作成されるもので、複数の各音域（例えば低音域、中音域、高音域）に対応する１オクターブ範囲のテーブルからなる。図７（ｃ）は、コード根音のノートがＦの場合に、図７（ｂ）の使用可能相対ノートテーブルから作成される使用可能ノートテーブルを示している。この使用可能ノートテーブルは、ＲＡＭ３又は外部記憶装置１０における書換え可能なメモリ領域に設定される。
【００３６】
ステップＳ３４では、ステップＳ３３で作成された各音域毎の１オクターブ範囲の使用可能ノートテーブルをそれぞれの音域（鍵域）全体に拡張し、鍵盤６Ａの全鍵域にわたる使用可能鍵テーブルを作成する。拡張するとは、使用可能ノートテーブルにおいて１オクターブ範囲で定義された使用可能ノートを、その属性情報も含めて、当該音域を構成する１又は複数のオクターブの各オクターブに対して同じように定義することである。図７（ｄ）は、図７（ｃ）に示された使用可能ノートテーブルを拡張した使用可能鍵テーブルを例示している。この例では、Ａ０〜Ｅ２の鍵域を低音域と定め、低音域用の使用可能ノートテーブルにおける１オクターブ範囲の使用可能ノートの情報を該鍵域全体に（複数オクターブに）拡張している。また、Ｆ２〜Ｂ４の鍵域を中音域と定め、中音域用の使用可能ノートテーブルにおける１オクターブ範囲の使用可能ノートの情報を該鍵域全体に（複数オクターブに）拡張している。また、Ｃ５〜Ｃ８の鍵域を高音域と定め、高音域用の使用可能ノートテーブルにおける１オクターブ範囲の使用可能ノートの情報を該鍵域全体に（複数オクターブに）拡張している。この使用可能鍵テーブルは、概念的には、図示のように、鍵盤６Ａにおける全ての鍵Ａ０〜Ｃ８について、それぞれ所定のアドレス位置を持ち、このアドレス位置に使用可否を示すと共に使用可能な場合はその属性を示す情報を記憶させた構成からなるものとしてよい。しかし、使用不可能な鍵については情報を記憶させておく必要がないため、実際は、この使用可能鍵テーブルは、使用可能な鍵に関してのみ記憶位置を割り当て、この割り当てた記憶位置に該鍵を識別するキーコードと属性情報とを記憶させた構成（これを総称して使用可能鍵情報という）からなるものとしてよい。この場合、各記憶位置がポインタによって特定されるようにし、ポインタを特定することで該使用可能鍵一覧テーブルにおける特定の使用可能鍵の記憶位置にアクセスして当該鍵についての使用可能鍵情報を読み出すことができる。この使用可能鍵テーブルも、ＲＡＭ３又は外部記憶装置１０における書換え可能なメモリ領域に設定される。
【００３７】
図５に戻り、ステップＳ１６では、上記のように作成された使用可能鍵テーブルにおける各使用可能鍵のポインタに「残り時間レジスタ」をそれぞれ割り付け、これら「ポインタ」と「残り時間レジスタ」のセットを「使用可能鍵イベント」として、ＲＡＭ３内の表示管理バッファ内に置く。「残り時間レジスタ」とは、多段ＬＥＤ表示器１４における表示残り時間を保持するレジスタであり、この残り時間はtick単位で表現され、このステップＳ１６でポインタに割りつけられたとき、最大残り時間である２８８tickに相当する値２８８が該「残り時間レジスタ」にセットされる。以後、この「残り時間レジスタ」の保持値は、タイマー割込み周期毎に１減少される。具体的には、この「残り時間レジスタ」の保持値は多段ＬＥＤ表示器１４のどの表示素子段で表示すべきかを示すものであり、最下段１４ｓ1以外の１２個の各表示素子段１４ｓ2〜１４ｓ13によって２４tickづつの表示残り時間を分担して表示するよう制御される。「ポインタ」によって上記使用可能鍵テーブルを参照することによりどの鍵をどのような属性で表示すべきかが特定され、それに割りつけられた「残り時間レジスタ」の値によってどの表示素子段で表示すべきかが特定される。ステップＳ１５，Ｓ１６での処理は前記第１及び第２の表示手法に関係している。
【００３８】
ステップＳ１７では、処理すべきイベントがノートオンイベントあるいはノートオフイベント（図３参照）であるか否かを判定し、ノートオンイベントであれば、ステップＳ１８で当該ノートオンイベントデータに「残り時間レジスタ」をそれぞれ割り付け、このノートオンイベントデータと「残り時間レジスタ」のセットを、「メロディ表示オンイベント」としてＲＡＭ３内の表示管理バッファ内に置く。また、処理すべきイベントがノートオフイベントであれば、ステップＳ１８で当該ノートオフイベントデータに「残り時間レジスタ」をそれぞれ割り付け、このノートオフイベントデータと「残り時間レジスタ」のセットを、「メロディ表示オフイベント」としてＲＡＭ３内の表示管理バッファ内に置く。多段ＬＥＤ表示器１４においては、同じノートの「メロディ表示オンイベント」から「メロディ表示オフイベント」までの間で、該ノートに対応する鍵のＬＥＤ表示素子段を所定の色で点灯表示するよう制御される。すなわち、ノートオンイベントデータによってどの鍵を表示すべきかが特定され、それに割りつけられた「残り時間レジスタ」の値によってどの表示素子段で表示すべきかが特定される。その場合、ノートオンイベントデータに割り付けられた「残り時間レジスタ」このステップＳ１７、Ｓ１８での処理は前記第３の表示手法に関係している。
【００３９】
ステップＳ１９では、上記所定の演奏パートのメロディ進行に応じて対旋律候補のノートを決定し、該対旋律候補ノートのノートオンイベントまたはノートオフイベントを生成する。今回の割込み処理で生成したものが対旋律候補ノートのノートオンイベントであれば、当該ノートオンイベントデータに「残り時間レジスタ」をそれぞれ割り付け、このノートオンイベントデータと「残り時間レジスタ」のセットを、「対旋律候補表示オンイベント」としてＲＡＭ３内の表示管理バッファ内に置く。また、今回の割込み処理で生成したものが対旋律候補ノートのノートオフイベントであれば、当該ノートオフイベントデータに「残り時間レジスタ」をそれぞれ割り付け、このノートオフイベントデータと「残り時間レジスタ」のセットを、「対旋律候補表示オフイベント」としてＲＡＭ３内の表示管理バッファ内に置く。多段ＬＥＤ表示器１４においては、同じノートの「対旋律候補表示オンイベント」から「対旋律候補表示オフイベント」までの間で、該ノートに対応する鍵のＬＥＤ表示素子段を所定の色で点灯表示するよう制御される。このステップＳ１９での処理は前記第４の表示手法に関係している。この対旋律候補の生成手法それ自体は音楽理論に従い公知の手法で行えばよい。その場合、所定の演奏パートのメロディ進行のみならず、ステップＳ１５，Ｓ１６で生成した使用可能鍵情報も考慮して対旋律候補を生成するとよい。
【００４０】
ステップＳ２０では、表示管理バッファに置かれている全ての残り時間レジスタの内容を１減少する（１tick分減少する）。次に、ステップＳ２１では、表示管理バッファに置かれている残り時間レジスタのうちその内容が０になった使用可能鍵イベントがあるかどうかをチェックする。演奏すべき時点がまだ到来していない使用可能鍵イベントについては、その残り時間レジスタがまだ０にならない。残り時間レジスタの内容が０になった使用可能鍵イベントは、その演奏時点が到来したことを示す。残り時間レジスタの内容が０になった使用可能鍵イベントがある場合は、ステップＳ２２の処理を実行した後ステップＳ２３に行くが、ない場合はステップＳ２２の処理を行わずにステップＳ２３に行く。
【００４１】
ステップＳ２２では、ＲＡＭ３上に設定された「現在の使用可能鍵状態」バッファを、残り時間レジスタの内容が０になった使用可能鍵イベントで置き換える。この「現在の使用可能鍵状態」バッファは、現演奏時点に対応する多段ＬＥＤ表示器１４の最下段１４ｓ1での表示状態を設定するものである。すなわち、ステップＳ２４において、最下段１４ｓ1のＬＥＤ表示を該「現在の使用可能鍵状態」バッファの内容で更新する。ステップＳ２４による更新処理は割込み周期で行われるが、該「現在の使用可能鍵状態」バッファの内容は、次に、残り時間レジスタの内容が０になった使用可能鍵イベントが検出されるまで保持されるので、コードに基づく使用可能鍵を現演奏時点に対応して多段ＬＥＤ表示器１４の最下段１４ｓ1で行うＬＥＤ表示は、次のコード変更時点が到来するまで、持続される。なお、このとき、使用可能鍵の属性に応じて異なる表示態様でＬＥＤ表示がなされる。
【００４２】
ステップＳ２３では、多段ＬＥＤ表示器１４における最下段１４ｓ1以外の表示素子段１４ｓ2〜１４ｓ12のＬＥＤ表示を、表示管理バッファ上の残り時間レジスタが０以外の使用可能鍵イベントで更新する。前述の通り、実際のコード変更イベントの時点よりも所定の最大先取り時間（この実施例では２８８tickすなわち３拍分の時間）分だけ先行して、該コードに対応する使用可能鍵イベントの残り時間レジスタに最大値（２８８）がセットされるので、該残り時間レジスタの内容は割込み周期毎に最大値（２８８）から順次１づつ減少し、その値に応じて、最上段１４ｓ12から最下段１４ｓ1に向かってＬＥＤ表示が順次シフト（又はスクロール）されることになる。具体的には、１段目から最上段までの表示素子段１４ｓ1〜１４ｓ12の数（１２）で残り時間レジスタに最大値（２８８）を割った商（２４）が、１段分の表示素子段だけ下降するのに要する表示シフト時間（tick数）である。ステップＳ２３では、例えば、残り時間レジスタの内容（値）をこの表示シフト時間「２４」で割ることによりどの表示素子段でＬＥＤ表示させるべきかを決定することができる。なお、このときも、使用可能鍵の属性に応じて異なる表示態様でＬＥＤ表示がなされる。
【００４３】
ステップＳ２３では、同じノートの「メロディ表示オンイベント」から「メロディ表示オフイベント」までの間で、該ノートに対応する鍵のＬＥＤ表示素子段を所定の表示態様（例えば色）で点灯表示するよう制御することも行う。これは、具体的には、或る鍵の「メロディ表示オンイベント」についての残り時間レジスタの値で決定される表示素子段から上に向かって、該鍵の「メロディ表示オフイベント」についての残り時間レジスタの値で決定される表示素子段まで、すべてをＬＥＤ表示することからなる。これにより、複数の連続する表示素子段を使用して、メロディノートのオンイベントからオフイベントまでの間で連続するＬＥＤ表示が行われ、かつ、このＬＥＤ表示が上方の表示素子段から下方へと順次スクロールされる。同様に、ステップＳ２３では、同じノートの「対旋律候補表示オンイベント」から「対旋律候補表示オフイベント」までの間で、該ノートに対応する鍵のＬＥＤ表示素子段を所定の表示態様（例えば色）で点灯表示するよう制御することも行う。これは、具体的には、或る鍵の「対旋律候補表示オンイベント」についての残り時間レジスタの値で決定される表示素子段から上に向かって、該鍵の「対旋律候補表示オフイベント」についての残り時間レジスタの値で決定される表示素子段まで、すべてをＬＥＤ表示することからなる。勿論、メロディと対旋律候補の表示態様（例えば色）は異ならせる。なお、この「対旋律候補」表示を行うか否かをユーザーが選択できるようにする表示選択手段を設けるとよい。例えば、アドリブ演奏に馴れていないユーザーは、「対旋律候補」表示をするよう選択し、「対旋律候補」表示を行わせるようにすると、アドリブ演奏の手助けとなるので都合がよい。また、「メロディ」表示を行うか否かをユーザーが選択できるようにする表示選択手段を設けるようにしてもよい。
【００４４】
ステップＳ２５では、残り時間レジスタの内容が０になったイベントとそれに付随する情報を表示管理バッファから解放（キャンセル）する。そして、ステップＳ２６では、表示用読み出し位置を１tick前進させる。例えば、今回の割込み周期で何らかのイベント処理を行ったならば、その直後に置かれたデルタタイムを読み出してセットし、該セットされたデルタタイムから１減少する。次の割込み周期におけるこのステップＳ２６では、該デルタタイムの残数から更に１減少する。こうして、やがて該デルタタイムの残数が０になると、次のイベントの処理タイミングが到来したことを示し、ステップＳ１１では、処理すべきイベントがあると判定する。
【００４５】
ステップＳ２７では、表示用読み出し位置が曲の終端から所定の最大先取り時間（２８８tick）だけ経過したかを判定する。ＮＯであれば、今回の割込みを終了する。その場合は、次のタイマー割込み周期で、また、この割込み処理（ＬＥＤ表示）が実行される。従って、曲の終端を過ぎても、まだ、このＬＥＤ表示用割込み処理が実行され、ＬＥＤ表示のスクロール処理が行われる。実際の発音演奏が曲の終端に達したとき、それよりも所定最大先取り時間（２８８tick）だけ先行しているこのＬＥＤ表示用割込み処理におけるステップＳ２７がＹＥＳと判定し、ステップＳ２８で終了処理を行う。この終了処理とは、このＬＥＤ表示処理を終了することであり、以後のタイマー割込みを実行しないようにする。
【００４６】
次に、図２及び図８の楽譜例を参照して、本実施例にかかわる表示動作例を説明する。図８の楽譜例は、Ｃ長調の楽曲において、現在の演奏時点（位置）で、コードＣへのコード変更がなされ、かつ、メロディノートとして四分音符のＥ５のノートオンイベントがあったとしている。そして、その一拍後に四分休符があり、更に一拍後に四分音符のＦ５のノートオンイベントがあり、かつ、コードＦへのコード変更が予定されている。
【００４７】
図２における多段ＬＥＤ表示器１４のＬＥＤ表示の具体例は、図８の楽譜例に対応している。すなわち、現在の演奏時点（位置）に対応する最下段１４ｓ1の表示素子段では、現在のコードであるコードＣに基づく使用可能鍵がＬＥＤ表示されている。すなわち、所定の低音域（Ａ０〜Ｅ２の鍵域）では、コードＣの根音であるＣの鍵（Ｃ１，Ｃ２）が根音の属性を示す所定の表示態様、例えば赤色、で点灯表示される。なお、図２において、白抜きで描いたＬＥＤは赤色点灯表示であることを示す。また、黒で塗りつぶしたＬＥＤは非点灯であることを示す。また、網かけで描いたＬＥＤはそれぞれ後述するように所定の色合いで点灯表示されることを示す。所定の中音域（Ｆ２〜Ｂ４の鍵域）では、コードＣの根音であるＣの鍵（Ｃ３，Ｃ４）が根音の属性を示す所定の表示態様（例えば赤色）で点灯表示され、コードＣの根音以外の構成音であるＥ及びＧの鍵（Ｇ２，Ｅ３，Ｇ３，Ｅ４，Ｇ４）が根音以外のコード構成音の属性を示す所定の表示態様（例えば緑色）で点灯表示される。また、所定の高音域（Ｃ５〜Ｃ８の鍵域）では、コードＣの根音Ｃ及びその他の構成音Ｅ，Ｇに対応する鍵をそれぞれ上記のような所定の表示態様（Ｃ５，Ｃ６，Ｃ７，Ｃ８は赤色、Ｅ５，Ｇ５，Ｅ６，Ｇ６，Ｅ７，Ｇ７は緑色）で表示すると共に、コード非構成音のうち音楽理論上では使用可能と判定されたノートであるＤ，Ａ，Ｂに対応する鍵Ｄ５，Ａ５，Ｂ５，Ｄ６，Ａ６，Ｂ６，Ｄ７，Ａ７，Ｂ７がコード非構成音の属性を示す所定の表示態様（例えば黄色）で点灯表示される。
【００４８】
そして、自動演奏されるメロディパートの四分音符Ｅ５については、現在の演奏時点（拍の立ち上がり）に対応してノートオンイベントが生じ、その拍の終わりに対応してノートオフイベントが生ずることにより、その間に相当する４段分の表示素子段で鍵Ｅ５に対応して、自動演奏されるメロディパートの属性を示す所定の表示態様（例えば青色）で連続的に点灯表示される。なお、この例の場合、最下段１４ｓ1の鍵Ｅ５が、コード非構成音の属性からなる使用可能鍵を示す表示と、自動演奏されるメロディノートであることを示す表示とで、競合するが、このように同時に表示される属性が競合した場合は、いずれか一方の属性を優先して表示するようにするとよい。例えば、コードに基づく使用可能鍵を示す表示を優先さると、ユーザーに使用可能鍵を提示する意味で都合よい。また、メロディノートであることを示す表示は、コード変更時点に後続するタイミングに対応する表示素子段でも表示されるので、コード変更時点に対応する表示素子段で表示しなくても不都合ない。
【００４９】
対旋律候補の一例として、図８におけるメロディパートの四分休符の位置（拍）に対応して四分音符のＢ５鍵が対旋律候補として決定された例を挙げる。その場合、図２に示すように、多段ＬＥＤ表示器１４における下から５番目の表示素子段から８番目の表示素子段までの４段分の（１拍分の長さの）表示素子段で鍵Ｂ５に対応して、対旋律候補の属性を示す所定の表示態様（例えばマゼンダ色）で連続的に点灯表示される。
【００５０】
現在の演奏時点から２拍後の演奏タイミングに対応する上から４段目の表示素子段１４ｓ9においては、該２拍後の演奏タイミングで予定されているコード変更に係るコードＦに基づく使用可能鍵がＬＥＤ表示される。すなわち、低音域ではコードＦの根音であるノートＦの鍵が所定の赤色で点灯され、中音域では根音ノートＦの鍵の赤色点灯に加えて、構成音であるノートＡ，Ｃの鍵が所定の緑色で点灯され、高音域では根音及び構成音のノートＦ，Ａ，Ｃの鍵の点灯に加えて、コード非構成音の使用可能鍵Ｄ，Ｅ，Ｇが所定の黄色で点灯される。
【００５１】
また、自動演奏されるメロディパートについては、現在の演奏時点から２拍後の演奏タイミングで四分音符Ｆ５のノートオンイベントが発生し、その拍の終わりに対応してノートオフイベントが生ずることにより、その間に相当する４段分の表示素子段で鍵Ｆ５に対応して所定の青色で連続的に点灯表示される。なお、コードＦの根音鍵Ｆ５の赤色点灯表示と競合する段では、表示素子段では赤色が優先されるので、事実上、３段で青色点灯がなされる。そして、図２の例では、四分音符Ｆ５の拍に対応して対旋律候補としてＡ５の鍵を所定のマゼンダ色で点灯することが示されている。この場合も、コードＦの構成音鍵Ａ５の緑色点灯表示と競合する段では、表示素子段では緑色が優先されるので、事実上、３段でマゼンダ色点灯がなされる。
【００５２】
図２に示す上述したようなＬＥＤ表示状態は、表示管理バッファ上の各イベントの内容とそれに対応する残り時間レジスタの内容とによって決定される。前述の通り、タイマー割込み周期で図５の割込み処理が繰り返される毎に、表示管理バッファ上の各イベントに対応する残り時間レジスタの内容が順次減少されるので、時間経過に伴い、多段ＬＥＤ表示器１４の上段から下段に向かってＬＥＤ表示が順次シフトしてゆく（下方にスクロールする）ことになる。勿論、その場合、最上段１４ｓ12には、現演奏時点から見て２８８tick（３拍）後の（未来の）使用可能鍵状態及びメロディ及び対旋律候補に関する新たなイベントに対応する新たなＬＥＤ表示が湧き出てくる。
【００５３】
上記実施例では、現在使用可能な鍵は最下段に表示すると共に、それよりも所定時間先以内の使用可能な鍵はその切り替わり時点（コード指定イベントの時点）に相当する表示素子段でのみ多段ＬＥＤ表示器１４を点灯させている。しかし、これに限らず、別の実施形態として、該当するコード指定イベントの時点から次のコード指定イベントの時点までの区間など、当該使用可能な鍵の使用可能な時間的区間に対応する複数の表示素子段で連続的に点灯表示を行い、その連続的点灯表示が時間経過に伴い順次シフトされるようにしてもよい。
【００５４】
また、上記実施例では、楽曲パートの旋律の表示あるいは対旋律候補の表示は、ノートオンからノートオフまでの時間区間に対応する複数の表示素子段で多段ＬＥＤ表示器１４を連続的に点灯させている。しかし、これに限らず、別の実施形態として、ノートオンの時点に対応する表示素子段でのみ多段ＬＥＤ表示器１４を点灯させ、その点灯表示が時間経過に伴い順次シフトされるようにしてもよい。
【００５５】
なお、使用可能鍵の属性に応じて表示態様を異ならせる形態は、色合いを異ならせる手法に限らず、明度を異ならせたり、点滅の時間パターンを異ならせたり、色と明度と点滅時間パターンのいずれかの組み合わせを異ならせる手法などを適宜採用してよい。
【００５６】
なお、本発明の実施にあたって、自動演奏及びユーザによるアドリブ演奏の楽音発生形態は任意であってよい。例えば、自動演奏された楽曲の全パートの演奏音を可聴的に発音し、同時に、ユーザーが鍵盤５Ａで行った演奏操作音（アドリブ演奏音）も発音するようにしてよい。あるいは、自動演奏音のうち任意のパートのみを可聴的に発音するようにユーザーが選択できるようにしてもよい。その場合、自動演奏処理を行って必要なＬＥＤ表示処理は行わせるが、自動演奏音の実際の発音は全く行わないようにしてもよい。
【００５７】
上記実施例では、演奏操作装置５Ａとして鍵盤を使用しているが、鍵盤に限らず、その他のタイプの演奏操作子からなるものを使用してもよい。よって、本発明において、鍵とは、鍵盤を構成する鍵に限らず、楽音演奏用の操作子を総称する用語として使用するものとする。すなわち、鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、そのような場合に、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、ＭＩＤＩインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置やゲーム装置、あるいは携帯電話等の携帯型通信端末、自動演奏ピアノ等に適用してもよい。
【００５８】
なお、楽曲演奏情報（自動演奏データ）のフォーマットは、図３に示したようなデルタタイムとイベントデータとからなるもの（イベントの発生時刻を１つ前のイベントからの時間で表した『イベント＋相対時間』形式のもの）に限らず、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント＋絶対時間』形式のもの、音符の音高と符長あるいは休符と休符長で曲データを表した『音高（休符）＋符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。また、複数チャンネル分の演奏データが存在する場合は、複数のチャンネルの演奏データが混在した形式であってもよいし、各チャンネルの演奏データがトラック毎に分かれているような形式であってもよい。さらに、自動演奏データに基づく演奏処理方法は、設定されたテンポに応じて処理周期を変更する方法、処理周期は一定で自動演奏中のタイミングデータの値を設定されたテンポに応じて変更する方法、処理周期は一定で１回の処理において演奏データ中のタイミングデータの計数の仕方をテンポに応じて変更する方法等、どのようなものであってもよい。また、メモリ上において、時系列の演奏データが連続する領域に記憶されていてもよいし、飛び飛びの領域に散在して記憶されている演奏データを、連続するデータとして別途管理するようにしてもよい。すなわち、時系列的に連続する演奏データとして管理することができればよく、メモリ上で連続して記憶されているか否かは問題ではない。
【図面の簡単な説明】
【００５９】
【図１】この発明に係る演奏支援装置を具備した電子楽器の実施の形態を示すハード構成ブロック図。
【図２】図１における多段ＬＥＤ表示器１４の配置例及び表示例を示す平面図。
【図３】公知のＳＭＦ（スタンダードＭＩＤＩファイル）形式からなる自動演奏データのデータ構成例を示す図。
【図４】自動演奏開始時に実行される開始手続のコンピュータプログラムの一例を示すフローチャート。
【図５】タイマー割込み周期で実行されるＬＥＤ表示処理の一例を示すフローチャート。
【図６】図５のステップＳ１５における使用可能鍵情報生成処理の詳細例を示すフローチャート。
【図７】アドリブ演奏用に使用可能な鍵を示す情報を生成するための各種のテーブルの構成例を示す図。
【図８】図２に示されたＬＥＤ表示例に対応する楽譜例を示す図。
【符号の説明】
【００６０】
１  中央処理ユニット（ＣＰＵ）
１Ａ  タイマ
２  リードオンリメモリ（ＲＯＭ）
３  ランダムアクセスメモリ（ＲＡＭ）
５Ａ  演奏操作装置（鍵盤）
６Ａ  設定操作装置
７  表示回路
８  音源回路
９  効果回路
１０  外部記憶装置
１３  ディスプレイ
１４  多段ＬＥＤ表示器
【図１】
2007163710.tif 000003
【図２】
2007163710.tif 000004
【図３】
2007163710.tif 000005
【図４】
2007163710.tif 000006
【図５】
2007163710.tif 000007
【図６】
2007163710.tif 000008
【図７】
2007163710.tif 000009
【図８】
2007163710.tif 000010
【手続補正書】
【提出日】平成17年12月13日(2005.12.13)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2007163710.tif 000011