(57)【特許請求の範囲】
【請求項１】
表示手段と、
前記表示手段において演奏曲の進行に合わせて歌詞を表示させる歌詞表示制御手段と、
前記表示手段において前記演奏曲の進行に合わせて和音情報を表示させる和音表示制御手段と、
前記演奏曲の演奏データを提供する手段と、
前記演奏データに基づき和音伴奏の発音タイミングとそのゲートタイムを検出し、該検出した発音タイミングとそれに続くゲートタイムの長さを示す表示を前記和音情報の表示に対応づけて表示する演奏タイミング表示制御手段と
を具える曲データ表示制御装置。
【請求項２】
前記演奏タイミング表示制御手段は、右手パートと左手パートとを区別して前記表示を行う請求項１に記載の曲データ表示制御装置。
【請求項３】
演奏曲の進行に合わせて、所定の演奏区間にわたる歌詞文字列を表示装置に表示するステップと、
前記表示装置に表示された歌詞文字列の近傍において前記演奏曲の進行に合わせて所定の和音情報を表示するステップと、
前記演奏曲の演奏データに基づき和音伴奏の発音タイミングとそのゲートタイムを検出し、該検出した発音タイミングとそれに続くゲートタイムの長さを示す表示を前記和音情報の表示に対応づけて表示するステップと
を具える曲データ表示方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、選択された曲データに基づいて再生される楽音にあわせて歌詞や和音名を表示する曲データ表示制御装置及び方法に係り、特に楽音の進行にあわせて歌詞や和音名並びに楽器演奏支援情報をわかりやすく表示する曲データ表示制御装置及び方法に関する。
【０００２】
【従来の技術】
従来から知られている電子楽器あるいはカラオケ装置等の自動演奏装置では、ユーザが選択した所望の曲データに基づいて自動演奏（つまり、曲の再生）を行う際に、背景画像（映像）と当該曲の歌詞とを所定の画面上に表示している。また、演奏曲にあわせて同時に楽器の演奏を楽しみたいといったユーザのために、所定区間分の歌詞とともに、当該歌詞に対応した和音名（コード名）をあわせて画面上に表示するものが既に知られている（例えば、特開平６―３０８９９１号等）。このような自動演奏装置では、曲データ表示制御装置を用いて背景画像は勿論のこと、画面上に表示した歌詞及び和音名の文字の色を演奏曲の進行にあわせて変化させており、ユーザはその文字の色の変化にあわせてピアノやギター等の楽器を操作することによって、楽器の演奏を演奏曲にあわせて行うことが可能となっている。
【０００３】
【発明が解決しようとする課題】
ところで、従来の曲データ表示制御装置では、画面上に表示した歌詞及び和音名の文字の色を演奏曲の進行にあわせて変化する際に、演奏曲の現在の進行位置にある文字の色のみを変えるだけであった。そのため、和音進行と歌詞とを一緒に表示する際に、表示された和音進行の小節幅に歌詞列の幅が納まりきれないような場合には、演奏曲の現在の進行位置にある歌詞文字と次の進行位置にある歌詞文字との間隔が近づいて重なってしまうので非常に見づらい表示となり、画面表示として不適切である、という問題点があった。また、和音名の文字表示についても同様に文字が重なってしまうことが起こり得る。特に、１文字の歌詞を長音で歌唱する場合に複数の和音がその歌詞１文字に対応することがあり、そのような場合に単純に歌詞１文字に対応して複数の和音を表示したとすると、和音表示が重なってしまい、非常に見にくくなる。すなわち、従来にあってはビデオディスプレイにおける歌詞文字列の表示は一定の文字フォント間隔で単に羅列しているだけであったことから、歌詞１文字に対応する表示幅に限度があり、複数の和音表示を付記する場合には重複して和音表示されることがあった。
また、演奏曲にあわせて楽器の演奏を行うユーザのために、画面上に歌詞とともに当該歌詞に対応した和音名（コード名）を表示するだけであったことから、楽器を演奏すべきタイミングや演奏すべき音高がユーザにわからず不便である、という問題点があった。
【０００４】
本発明は上述の点に鑑みてなされたもので、所定の画面上に歌詞あるいは和音進行を適宜に見やすい表示態様で表示し、さらに演奏曲の進行にあわせて楽器の演奏タイミングや演奏すべき音高を表示することにより、演奏曲の進行にあわせて楽器演奏を簡単に行うことができるようにした曲データ表示制御装置及び方法を提供しようとするものである。
【０００５】
【課題を解決するための手段】
【００１０】
請求項１の本発明に係る曲データ表示制御装置は、表示手段と、前記表示手段において演奏曲の進行に合わせて歌詞を表示させる歌詞表示制御手段と、前記表示手段において前記演奏曲の進行に合わせて和音情報を表示させる和音表示制御手段と、前記演奏曲の演奏データを提供する手段と、前記演奏データに基づき和音伴奏の発音タイミングとそのゲートタイムを検出し、該検出した発音タイミングとそれに続くゲートタイムの長さを示す表示を前記和音情報の表示に対応づけて表示する演奏タイミング表示制御手段とを具えるものである。また、実施態様として、前記演奏タイミング表示制御手段は、右手パートと左手パートとを区別してこの表示を行う。表示手段に歌詞あるいは和音情報を表示するのみならず、演奏曲の進行にあわせて和音伴奏の発音タイミングとそれに続くゲートタイムの長さを示す表示を行うので、楽器演奏者は表示手段上に表示された和音伴奏の発音タイミングとそれに続くゲートタイムの長さにあわせて楽器を操作することで、演奏曲の進行にあわせて楽器演奏を行うことができるようになる。特に、初心者にとっては、どのような発音タイミングとゲートタイムで和音を刻む演奏を行えばよいのかが簡単に判り易い。
【００１１】
本発明に係る曲データ表示制御装置は、表示手段と、演奏曲の進行に合わせて歌詞を表示すると共にこの歌詞の表示に対応づけて前記演奏曲の進行に合った伴奏情報を表示する表示画面を作成するものであって、少なくとも時間軸方向の表示スケールが異なる複数の前記表示画面を作成することができる表示画面作成手段と、前記表示画面作成手段で作成可能な複数の表示画面の１つを選択して前記表示手段で表示させる手段とを具える。このように、表示スケールが異なる複数の表示画面を作成し、そのうちの１つの表示画面を選択して表示させることができるので、歌詞文字列や伴奏情報の密集度合い若しくは過疎度合いに応じて最適な表示スケールの画面を選択的に表示することができ、効率的な表示を行うことができるようになる。
【００１２】
本発明に係る曲データ表示制御装置は、演奏曲の進行に合わせて、所定の演奏区間にわたる和音進行を和音名で表示する和音名表示手段と、現在の和音進行位置に対応する和音の構成音とその次の和音進行位置に対応する和音の構成音とを区別して表示する和音構成音表示手段とを具える。和音名の表示によって、所定の演奏区間（数小節分）の全体の和音進行を容易に把握することができる一方で、現時点及び次に演奏すべき和音の構成音がそれぞれ区別されて具体的に表示されるので、初心者にやさしい演奏ガイドを行うことができる。
【００１３】
本発明に係る曲データ表示制御装置は、演奏用鍵盤と、前記演奏用鍵盤の利用可能音域を判別する判別手段と、演奏曲の和音進行に応じて演奏すべき和音の構成音を表示するものであって、前記判別手段によって判別された利用可能音域に合った和音構成音を指示するよう転回形での和音構成音表示を行いうる和音構成音表示手段とを具える。これによれば、演奏鍵盤の音域が例えば１オクターブしかないような場合であっても、その音域にあわせて転回形で（適宜オクターブシフトを行って）和音構成音が表示されるので、的確な和音演奏ガイドを行うことができる。
【００１４】
本発明に係る曲データ表示制御装置は、演奏曲の進行に合わせて、所定の演奏区間にわたる歌詞と該区間の和音進行に従う和音名とを表示する表示手段と、  所定の鍵盤図形を用いて少なくとも現在の和音進行位置に対応する和音の構成音を指示する表示を行う和音構成音表示手段とを具える。歌詞及び和音名の表示によって、所定の演奏区間（例えば数小節分）の全体の歌詞及び和音進行を容易に把握することができる一方で、少なくとも現時点で演奏すべき和音の構成音が鍵盤図形で具体的に表示されるので、初心者にとってわかりやすく操作しやすい演奏ガイドを行うことができる。
【００１５】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し、実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記録媒体の形態で実施することもできる。
【００１６】
【発明の実施の形態】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１７】
図１は、この発明に係る曲データ表示制御装置及び自動演奏装置を内蔵した電子楽器の実施の形態を示すハード構成ブロック図である。
この実施の形態においては、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。この実施の形態では、１つのＣＰＵ１によって曲データの表示に関する各種処理等を行う電子楽器を例に説明する。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してリードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３、鍵盤インタフェース（Ｉ／Ｆ）４、スイッチインタフェース（Ｉ／Ｆ）５、ディスプレイインタフェース（Ｉ／Ｆ）６、音源回路７、効果回路８、外部記憶装置９、ＭＩＤＩインタフェース（Ｉ／Ｆ）１０および通信インタフェース（Ｉ／Ｆ）１１がそれぞれ接続されている。ＣＰＵ１はＲＯＭ２及びＲＡＭ３内の各種プログラムや各種データ、及び外部記憶装置９から取り込まれた楽音制御情報（例えば、曲データ）に基づいて当該電子楽器全体の動作を制御する。更に、ＣＰＵ１には、タイマ割込み処理における割込み時間や各種時間を計時するタイマ１Ａが接続されている。
【００１８】
ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種プログラムや各種データ等を格納するものである。ＲＡＭ３は、自動演奏に関する各種演奏情報やＣＰＵ１がプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。鍵盤４Ａは楽音の音高を選択するための複数の鍵を備えており、各鍵に対応してキースイッチを有しており、この鍵盤４Ａは楽音演奏のために使用できるのは勿論のこと、曲データ等の選択指示を行うための入力手段として使用することもできる。鍵盤インタフェース（Ｉ／Ｆ）４は、鍵盤４Ａの各鍵の押圧及び離鍵を検出し、検出出力を生じる。スイッチ５Ａは曲データの選択指示を入力したり、あるいは演奏曲に関する各種の音楽条件を入力するための各種の操作子を含んで構成される。例えば、数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはパネルスイッチ等である。この他にも音高、音色、効果等を選択・設定・制御するための各種操作子を含んでいてよい。本実施例におけるスイッチ５Ａの具体的な例としては、歌詞画面ボタン、タイミング画面ボタン、４小節／８小節ボタン、構成音／キーボードボタンなどの画面表示モード選択用のスイッチがある。これらのスイッチ５Ａについての説明は、適宜説明する。スイッチインタフェース（Ｉ／Ｆ）５は、スイッチ５Ａの各操作子の操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。ディスプレイインタフェース（Ｉ／Ｆ）６はＣＰＵ１の制御状態に関する情報や曲データの内容あるいは楽器の演奏を支援する情報（後述する歌詞画面あるいはタイミング画面など）を、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ６Ａに表示するためのインタフェースである。
【００１９】
音源回路７は、複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス１Ｄを経由して与えられた演奏情報を入力し、このデータに基づき楽音信号を発生する。音源回路７から発生された楽音信号は、サウンドシステム８Ａを介して発音される。また、効果回路８は前記音源回路７から発生された楽音信号に対して各種効果を与える。前記音源回路７における楽音信号発生方式はいかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるＦＭ方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるＡＭ方式等の公知の方式を適宜採用してもよい。すなわち、音源回路の方式は、波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路を構成するものに限らず、ＤＳＰとマイクロプログラム、あるいはＣＰＵとソフトウェアを用いて音源回路を構成するようにしてもよい。さらに、１つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、１つの発音チャンネルが１つの回路で形成されるようなものであってもよい。
【００２０】
外部記憶装置９は、曲データなどのような楽音制御情報やＣＰＵ１が実行する各種プログラム等の制御に関するデータ等を記憶するものである。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置９（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置９はハードディスク（ＨＤ）に限られず、フロッピィーディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋの略）等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であってもよい。
【００２１】
ＭＩＤＩインタフェース（Ｉ／Ｆ）１０は、他のＭＩＤＩ機器１０Ａ等からＭＩＤＩ規格の演奏情報（ＭＩＤＩデータ）を当該電子楽器へ入力したり、あるいは当該電子楽器からＭＩＤＩ規格の演奏情報（ＭＩＤＩデータ）を他のＭＩＤＩ機器１０Ａ等へ出力するためのインタフェースである。通信インタフェース１１は、例えばＬＡＮやインターネット、電話回線等の通信ネットワーク１１Ｂに接続されており、概通信ネットワーク１１Ｂを介して、サーバコンピュータ１１Ａと接続され、当該サーバコンピュータ１１Ａから制御プログラムや各種データを電子楽器側に取り込むためのインタフェースである。すなわち、ＲＯＭ２やハードディスクに制御プログラムや各種データが記憶されていない場合に、サーバコンピュータ１１Ａから制御プログラムや各種データをダウンロードするために用いられる。クライアントとなる電子楽器は、通信インターフェース１１及び通信ネットワーク１１Ｂを介してサーバコンピュータ１１Ａへと制御プログラムや各種データのダウンロードを要求するコマンドを送信する。サーバコンピュータ１１Ａは、このコマンドを受け、要求された制御プログラムやデータを、通信ネットワーク１１Ｂを介して本電子楽器へと配信し、本電子楽器が通信インタフェース１１を介して、これら制御プログラムや各種データを受信してハードディスクに蓄積することにより、ダウンロードが完了する。なお、ＭＩＤＩインタフェース１０は専用のＭＩＤＩインタフェースを用いるものに限らず、ＲＳ２３２−Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインタフェースを用いてＭＩＤＩインタフェースを構成するようにしてもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信するようにしてもよい。
【００２２】
ここで、曲データの構造について図２を用いて説明する。図２は、曲データのフォーマットの一実施例を示した概略図である。
曲データは、大きく分けてタイミングデータとイベントデータ及びエンドデータとから構成される。タイミングデータは、イベントの発生タイミングを曲の先頭や各小節の先頭からの絶対時間、あるいは１つ前のイベントからの相対時間で示したデータである。イベントデータはその内容によって、演奏イベントデータ、歌詞イベントデータあるいは和音名イベントデータなどの種類に分けられる。演奏イベントデータは、ノートオン、ノートオフ、プログラムチェンジ、ボリューム、エフェクトなどのイベントを示すデータである。演奏イベントデータには複数チャンネルのデータが混在しており、各チャンネルはそれぞれ異なる演奏パート（例えば、メロディパート、リズムパート、ベースパート、キーボードパート等）に対応する。歌詞イベントデータは、メロディに付随する歌詞の文字、前記歌詞の文字を画面上に表示する際の改行や改ページ等のイベントを示すデータである。歌詞の文字は、１つのイベントがメロディの１音符分に対応する。歌詞の文字は対応する音符と同じタイミングに挿入され、改行や改ページはそれらが行われるべきタイミングに挿入される。和音名イベントデータは、和音が変更される位置毎に挿入される和音名（コード名）を示すデータである。エンドデータは、１つの曲データの終了を示すデータである。
【００２３】
図１に示した電子楽器では、例えばＲＯＭ２あるいは外部記憶装置９等からユーザの選択に従った曲データを読み出して自動演奏を行うことは勿論のこと、読み出した曲データの内容をディスプレイ６Ａに所定の形式で表示する。図３は、当該電子楽器のＣＰＵ１によって実行される曲データ表示制御装置の処理を説明するための機能ブロック図である。図３において、図中の矢印は各機能間におけるデータのやり取りを表すものである。
曲データ記憶部１００には、多数の曲データが記憶されている。例えば、図１に示したＲＯＭ３や外部記憶装置９が曲データ記憶部１００に相当する。なお、他のＭＩＤＩ機器やサーバコンピュータから受信した曲データや、鍵盤演奏を記録したものに歌詞や和音を付与したものを曲データ記憶部１００に記憶するようにしてもよい。曲データ読出し部１０１は、前記曲データ記憶部１００に記憶されている多数の曲データの中から選択された曲データを読み出す。曲データの読み出しテンポは、曲データ毎に決まっていてもよいし、ユーザが指定してもよい。また、曲データ毎の読み出しテンポをユーザが修正してもよい。読み出された曲データのうち、演奏イベントデータは演奏データ処理部１０２へと供給される。また、歌詞イベントデータは歌詞データ処理部１０３へ、和音名イベントデータは和音名データ処理部１０４へと供給される。曲データ読出し部１０１では必要に応じて、演奏イベントデータ、歌詞イベントデータ、和音名イベントデータを先読みする。演奏データ処理部１０２は、受け取った演奏イベントデータを音源１０９へと供給するとともに、表示器１１０に表示する演奏支援表示部の鍵盤部（例えば、表示器１１０において鍵盤を表示する領域）での表示用データ及び歌詞・和音表示部（例えば、表示器１１０において歌詞あるいは和音名を表示する領域）での表示用データを作成して、表示用メモリ部１０５へと供給する。その他にも、曲データ読出し部１０１への曲データの読み出しテンポの指示や、読出し停止指示等も必要に応じて行う。
【００２４】
歌詞データ処理部１０３は、曲データ読出し部１０１から受け取った歌詞イベントデータに基づいて表示器１１０の歌詞・和音表示部での表示用データを作成し、表示用メモリ部１０５へと供給する。和音名データ処理部１０４は、曲データ読出し部１０１から受け取った和音名イベントデータに基づいて、表示器１１０の演奏支援表示部での表示用データ及び歌詞・和音表示部での表示用データを作成し、表示用メモリ部１０５へと供給する。また、和音名イベントデータは、和音名→音高変換部１０６へも供給される。表示用メモリ部１０５では、演奏データ処理部１０２、歌詞データ処理部１０３、和音名データ処理部１０４から供給された表示用データを一時記憶し、表示器１１０にこれらの表示用データを供給する。なお、後述するように、表示用メモリ部１０５は複数の画面に対応した複数個の記憶部を有しており、各記憶部に並列に表示用データを記憶することができる。そして、画面表示モードに応じて選択された記憶部に記憶されている表示用データのみが表示器１１０に供給される。和音名→音高変換部１０６では、曲データ読出し部１０１から供給された和音名イベントデータに基づいて表示器１１０の演奏支援表示部で表示すべき該和音名に対応した構成音の音高を求め、表示用メモリ部１０５へと供給する。また、この音高は比較・評価部１０８へも供給され、鍵盤１１１から入力された音高データとの比較・評価にも利用される。オクターブ制御部１０７では、鍵盤１１１の音域に応じて、表示器１１０の演奏支援表示部に表示する音高をオクターブシフトするか否かを決定し、オクターブシフトの有無データを和音名データ処理部１０４及び和音名→音高変換部１０６へ供給する。前記鍵盤１１１の音域は、ユーザにより指示されるか、或いは自動的、半自動的に検出する。比較・評価部１０８では、和音名→音高変換部１０６からの音高と、鍵盤１１１から入力された音高とを比較し、鍵盤入力音高の良否を評価する。そして、評価結果を表示用メモリ部１０５へと供給する。
【００２５】
鍵盤１１１は鍵盤インタフェース（Ｉ／Ｆ）を介して接続されるもので、異なる鍵数のものを接続可能となっている。接続は、ケーブルを介して行ってもよいし、電波や赤外線等によるワイヤレス接続でもよい。鍵盤１１１から入力される音高データは、表示用メモリ部１０５と比較・評価部１０８へと供給される。また、必要に応じて、オクターブ制御部１０７へ音高データや音域情報を供給する。表示器１１０は、歌詞、和音名、押鍵タイミング、音高、評価結果等を歌詞・和音表示部や演奏支援表示部といった所定の表示領域に表示する。
【００２６】
ここで、ＣＰＵ１によって実行される曲データ表示制御装置の処理の一例を図４及び図５の表示例に基づいて説明する。図４は表示器１１０の歌詞・和音表示部における具体的な表示例であり、図４Ａは歌詞・和音表示部に歌詞画面を表示した場合の一実施例である。
表示器１１０の歌詞・和音表示部に歌詞画面を表示した場合、通常のカラオケ画面のように歌詞（本実施例においては、「風が吹いているよ  寒くなるね  そろそ〜ろ  家（うち）に帰ろう」）を表示するとともに、歌詞の上方に和音名（本実施例においては、「Ａｍ」「ＦＭ７」「Ｇ」「Ｅｍ」「Ａｍ」「Ｄｍ」「Ｅｍ」「Ｆ」「Ｇ」「Ｃ」）を表示する。１ページ（すなわち、歌詞・和音表示部で一度に表示することのできる画面）は２行構成であり（ただし、歌詞と歌詞の上方に付された和音名をあわせて１行と考える）、一方の行の終わりまで演奏が進むとその行の表示は消去され、かわりに次の次の行が表示される。例えば、第１行と第２行が既に表示されており、第１行の終わりまで演奏が進むと第１行が消去されて、そこに新たに第３行が表示される。すなわち、第３行と第２行とが表示される。さらに、第２行の終わりまで演奏が進むと第２行が消去されてそこに新たに第４行が表示される。すなわち、第３行と第４行とが表示される。これを演奏の進行に伴い繰り返し行う。したがって、ユーザはこの歌詞画面を上段下段の順に交互に見ていくことで、当該曲の最初から最後まで歌詞及び和音名を続けて見ることができる。なお、演奏の進行位置は歌詞及び和音名の文字の色替え等により表示する。すなわち、表示される歌詞の文字及び和音名の文字の色が演奏の進行にあわせて他の色に変更される。この際に、現在演奏が進行している位置（以下、単に現在位置と呼ぶ）を第１の色（例えば、黄色）で表示し、演奏が次に進行する位置（以下、単に次位置と呼ぶ）を第１の色とは異なる第２の色（例えば、オレンジ色）で表示する。勿論、このような色替えを用いる代わりに文字のフォントの種類や大きさ等を変えたり、あるいは文字の塗りつぶしパターンを変える等により、現在位置及び次位置を表示するようにしてもよい。
このように、現在位置の歌詞や和音名の文字と、次位置の歌詞や和音名の文字とが重なって表示されても識別ができるように、両者を異なる表示態様（例えば、異なる色等）で表示するようにしたことから、たとえ歌詞や和音名の現在位置の文字と次位置の文字が重なったとしても、表示態様が異なるために容易に現在位置の文字と次位置の文字とを識別することができる。
【００２７】
また、歌詞のタイミングと和音のタイミングとがずれている場合に、歌詞の文字と文字との間に空間を設けている。図４Ａの表示例では、第１行の「よ」と「寒」との間に和音名「Ｇ」があるので、「よ」と「寒」との間に空間を設けて表示している。「寒」と「く」との間も同様である。さらに、和音名の変更が頻繁に行われ、歌詞の文字を続けて表示すると当該歌詞に対応する和音名の文字が重なって表示されてしまう場合にも、同様に歌詞の文字と文字との間に空間を設けて表示している。図４Ａの表示例では、第２行の「ろ」と「家」との間に和音名「Ｅｍ」「Ｆ」が入っているので、「ろ」と「家」との間の空間が広く設けられている。
このように、歌詞の文字をつめて表示した場合に和音名が重なって表示されそうなときは、歌詞の文字の間隔を広げて、和音名が重なって表示されないようにするため、和音名の重なりを防ぐことができる。
【００２８】
図４Ｂ〜図４Ｄは、表示器１１０における歌詞・和音表示部にタイミング画面を表示した場合の一実施例である。図４Ｂ及び図４Ｃは、和音名変更タイミング表示の例を示したものである。ただし、図４Ｂは１行につき４小節分の歌詞及び和音名を表示するものであり（以下、便宜的にタイミング画面Ａと呼ぶ）、図４Ｃは１行につき２小節分の歌詞及び和音名を表示するものである（以下、便宜的にタイミング画面Ｂと呼ぶ）。
表示器１１０の歌詞・和音表示部にタイミング画面Ａあるいはタイミング画面Ｂを表示する場合、和音の実際の演奏タイミングがわかるように、時間軸（横線）と小節線（長い縦線）や３拍目を示す線（短い縦線：タイミング画面Ｂのみ）を表示する。また、歌詞画面と同様にタイミング画面Ａ及びタイミング画面Ｂも２行で表示する。さらに、演奏の進行に伴う画面表示の切り替え方法や現在の位置及び次の位置を表示する際の色替えの方法なども、既に説明した歌詞画面の場合と同様である。タイミング画面では時間軸に沿って歌詞の文字や和音名の文字を表示することから、場所によってはこれらの文字が重なることもある。例えば、タイミング画面Ａでは、２行目の「家（うち）」と「に」が一部重なって表示されている。しかし、現在位置の文字（例えば、「家（うち）」）と次位置の文字（例えば、「に」）とを異なる色等で表示すれば、文字が重なって表示されていたとしても比較的区別がしやすくなる。なお、文字が重なって表示されること自体が気に入らないユーザは、タイミング画面Ａに代えてタイミング画面Ｂを表示する（つまり、１行につき２小節分の歌詞及び和音名を表示する）ことにより、文字の重なり部分を減少することができる。すなわち、１行に表示する小節数を少なくすることで歌詞の文字や和音名の文字を表示する間隔が広がることから、歌詞の文字や和音名の文字が重なることが少なくなる。和音名の変更タイミングは黒く塗りつぶした丸（黒丸）によって表示され、また、現在位置は長方形で示すポインタによって表示される。このポインタは、曲の進行にあわせて左側から右側へと移動する。そして、ユーザはポインタの表示位置が黒丸の表示位置にきたタイミングにあわせて鍵盤を押すことにより、歌詞表示にあわせて楽器演奏を行うことができる。なお、和音名の変更タイミングや現在位置の表示態様としては、上記したものに限られるものでないことは言うまでもない。
このように、歌詞や和音名の文字を時間軸に沿って表示するものにおいて、表示倍率（時間方向のスケール）の異なる複数の画面を用意し、選択できるようにしたため、和音変更が頻繁に起こる曲においては広い範囲を表示させて先行する和音を確認しやすくすることができる。また、和音変更があまり起こらない曲においては、狭い範囲を表示させて歌詞の表示間隔を広げて見やすくすることができる。
【００２９】
図４Ｄは、キーボードパート音表示の例を示している。キーボードパート音表示においても、１行につき４小節分の歌詞及び和音名を表示するもの（以下、便宜的にタイミング画面Ｃと呼ぶ）、１行につき２小節分の歌詞及び和音名を表示するもの（以下、便宜的にタイミング画面Ｄと呼ぶ）があるが、ここでは１行につき２小節分の歌詞及び和音名を表示するもののみを例に示した。すなわち、タイミング画面Ｄのみを示している。
図４Ｄに示すキーボードパート音表示では、歌詞の文字や和音名の文字、現在位置を示すポインタについては、上記タイミング画面Ａ及びＢ（図４Ｂ及び図４Ｃ参照）と同様にして表示される。異なる点は、黒丸が和音名の変更タイミングに表示されるのではなく、曲データ中のキーボードパートの音の発音タイミングに表示される点である。また、その音のゲートタイムがユーザからみてわかるように、時間軸とは離れた所定位置に黒丸を基点とした横棒の長さでゲートタイムが表示される。このようなキーボードパート音表示を行うキーボードパートのチャンネルを判定する方法としては、曲データ中のプログラムチェンジを見て判断する（例えば、ピアノやオルガンのプログラムチェンジがあればそのチャンネルをキーボードパートとする）、予め特定のチャンネルをキーボードパートとして決めておく、あるいはユーザがいずれかのチャンネルをキーボードパートであると設定する、などの方法が考えられる。後述するフローチャートでは、プログラムチェンジから判断する例を示している（後述する図９参照）。ユーザは、タイミング画面Ｃ（すなわち、キーボードパート音表示における８小節表示：図示せず）、あるいはタイミング画面Ｄ（すなわち、キーボードパート音表示における４小節表示：図４Ｄに示した例）を見ることで、曲データ中のキーボードパートのおおよその演奏内容を把握することができる。このため、表示されている和音を、表示どおりのタイミングで演奏することにより、比較的簡単な演奏で曲データの持つ曲の雰囲気に似せた演奏を行うことが可能となる。また、和音名変更タイミングのみにあわせて演奏を行うよりも、その曲を演奏している気分をよりいっそう味わうことができる。
【００３０】
また、表示器１１０には歌詞や和音名を表示する歌詞・和音名表示部の他に、ユーザの楽器演奏を支援するための画面を表示する演奏支援表示部がある。この演奏支援表示部には、鍵盤（例えば、ピアノやオルガン）、あるいはフレットと弦（例えば、ギター）などが表示され、ユーザの楽器演奏を支援するための表示を行う。このような、表示器１１０の演奏支援表示部における具体的な表示例を図５Ａ及び図５Ｂに示す。図５Ａ及び図５Ｂは、演奏支援表示部に鍵盤を表示した場合の例である。ただし、図５Ａは現在和音と次和音の構成音をそれぞれ表示した状態を示しており、図５Ｂは実際の鍵盤から現在和音を入力した状態を示したものである。この実施例では、現在和音名として「Ｄｍ９」が指定され、次和音名として「Ｆ９」が指定された状態を示している。
図５Ａに示すように、現在和音（「Ｄｍ９」）の構成音は画面下側に表示された鍵盤部（現在表示部）に表示され、次和音（「Ｆ９」）の構成音は画面上側に表示された鍵盤部（次表示部）に表示される。和音構成音のうち、右手で押すべき音高と左手で押すべき音高は、色等を区別して表示される（ただし、図では塗りつぶしのパターンの違いで、右手で押すべき音高と左手で押すべき音高を区別している。すなわち、格子状に塗りつぶしされている鍵盤が左手で押すべき音高であり、斜線状に塗りつぶされている鍵盤が右手で押すべき音高である）。勿論、これに限らず、例えば鍵盤毎に「右」「左」などのような表示を行うようにしてもよい。ユーザによる実際の鍵盤の操作に伴って、実際の鍵盤から入力された音高に対応するように表示が変化して現在表示部に表示される。図５Ｂでは画面下側に表示された鍵盤部（現在表示部）の鍵盤のうちグレーで表示した部分が入力された音高であるが、一部の鍵について和音構成音と入力した音高との間で不一致を生じている（ここでは、入力がなかった場合も不一致としている）。なお、実際の鍵盤から入力された各音高が、右手で入力されたのか、左手で入力されたのかは判断できないことから、入力された音高の表示では左右を区別して表示していない。
このように、和音名の対応する構成音を現在和音と次和音とに分けて表示するようにし、この際に現在和音の構成音を第１の鍵盤図形を用いて表示し、次和音の構成音を第２の鍵盤図形を用いて表示するようにしたために、実際の鍵盤との対応関係がわかりやすいものとなる。また、１つの和音名に対応する構成音を表示する際、右手で弾くべき音と左手で弾くべき音を区別して表示するようにしたため、複雑な和音も左右の手を使っての簡単な指使いで演奏を行うことができるようになる。さらに、所定区分の歌詞＋和音名を表示するとともに、少なくとも現在弾くべき和音名に対応する音を鍵盤図形を用いて表示するようにしたことから、カラオケ感覚で鍵盤での和音演奏の練習が可能となる。
【００３１】
上述したような各種画面の表示内容は表示用メモリ部１０５に表示用データとして記憶され、そこから表示器１１０に送られて表示器１１０に表示される（図３参照）。そこで、この表示用メモリ部１０５の全体構成についての概略を説明する。図６は、表示用メモリ部１０５の全体構成の一実施例を示す概略図である。
この実施例において、表示用メモリ部１０５には歌詞・和音表示部に用いられる表示用データを記憶するためのメモリが５つ用意されている。歌詞画面用メモリ２０１は、表示器１１０における歌詞・和音表示部に歌詞画面を表示する際に用いる表示用データを一時記憶するためのメモリである。タイミング画面Ａ用メモリ２０２、タイミング画面Ｂ用メモリ２０３、タイミング画面Ｃ用メモリ２０４、タイミング画面Ｄ用メモリ２０５は、各々表示器１１０における歌詞・和音表示部にタイミング画面Ａ〜Ｄを表示する際に用いる表示用データを一時記憶するためのメモリである。そして、表示用メモリ部１０５には演奏支援表示部に用いられる表示用データを記憶するメモリも２つ用意されている。和音構成音表示用メモリ３０１及びキーボードパート音表示用メモリ３０２は、表示器１１０における演奏支援表示部に後述する鍵盤部を表示する際に用いる表示用データを一時記憶するためのメモリである。表示モード指定部１２０から指定される画面表示モード（すなわち、表示画面の指定）に応じて、セレクタ４０１及び４０２によりいずれかのメモリが選択されて、歌詞・和音表示部用メモリ５０１あるいは鍵盤表示部用メモリ５０２に選択されたメモリ内容が転送され実際の表示に利用する。また、演奏中は全メモリ用のデータを並列して作成し記憶していることから、演奏中に画面表示モードを切り替えた場合であっても、直ちに表示器１１０に表示する画面を切り替えることができる。すなわち、ユーザは演奏中に画面表示モードを切り替えることにより、画面上に表示する内容を変更することができる。
【００３２】
ここで、表示モード指定部１２０で行われるセレクタ４０１及び４０２の選択指示、すなわち、画面表示モードの選択処理について説明する。図７は、上記各ボタンが操作された際にＣＰＵ１で実行される表示モード選択処理の一実施例を示したフローチャートである。
ステップＳ２０では、歌詞画面ボタンの操作が行われたか否かを判定する。歌詞画面ボタンの操作が行われていた場合（ステップＳ２０のＹＥＳ）、歌詞画面モードに設定して（ステップＳ２１）、歌詞画面用メモリを選択する（ステップＳ２２）。歌詞画面ボタンの操作が行われていない場合（ステップＳ２０のＮＯ）、ステップＳ２３へジャンプする。ステップＳ２３では、タイミング画面ボタンの操作が行われたか否かを判定する。タイミング画面ボタンの操作が行われている場合（ステップＳ２３のＹＥＳ）、画面表示モードをタイミング画面モードに設定して（ステップＳ２４）、ステップＳ２５へ行く。タイミング画面ボタンの操作が行われていない場合（ステップＳ２３のＮＯ）、４小節／８小節ボタンの操作が行われており（ステップＳ３２のＹＥＳ）、かつ、現在の画面表示モードがタイミング画面モードである場合には（ステップＳ３３のＹＥＳ）、現在の画面表示モードが４小節モードであるならば８小節モードに、現在の画面表示モードが８小節モードならば４小節モードに画面表示モードを設定して（ステップＳ３４）、ステップＳ２５へ行く。
【００３３】
一方、４小節／８小節ボタンの操作が行われていない場合（ステップＳ３２のＮＯ）、あるいは４小節／８小節ボタンの操作が行われているが（ステップＳ３２のＹＥＳ）、現在の画面表示モードがタイミング画面モードでない場合には（ステップＳ３３のＮＯ）、ステップＳ３５へ行く。ステップＳ３５では、構成音／キーボードボタンの操作が行われたか否かを判定する。構成音／キーボードボタンの操作が行われていない場合（ステップＳ３５のＮＯ）、当該処理を終了する。構成音／キーボードボタンの操作が行われている場合（ステップＳ３５のＹＥＳ）、現在が和音構成音モードであるならばキーボードパート音モードに、現在がキーボードパート音モードならば和音構成音モードに画面表示モードを設定する（ステップＳ３６）。こうして設定された画面表示モードが和音構成音モードである場合には（ステップＳ３７のＹＥＳ）和音構成音表示用メモリを選択し（ステップＳ３９）、和音構成音モードでない場合には（ステップＳ３７のＮＯ）キーボードパート音表示用メモリを選択する（ステップＳ３８）。ステップＳ４０では、現在の画面表示モードがタイミング画面モードであるか否かを判定し、タイミング画面モードであるならば（ステップＳ４０のＹＥＳ）ステップＳ２５へ飛び、タイミング画面モードでないならば（ステップＳ４０のＮＯ）当該処理を終了する。
ステップＳ２５では、現在の画面表示モードが和音構成音モードであるか否かを判定する。和音構成音モードであって、かつ、８小節モードである場合には（ステップＳ２５及びステップＳ２６が共にＹＥＳ）、タイミング画面Ａ用メモリが選択される（ステップＳ２７）。和音構成音モードであって、かつ、８小節モードでない場合には（ステップＳ２５がＹＥＳであってステップＳ２６がＮＯ）、タイミング画面Ｂ用メモリが選択される（ステップＳ２８）。和音構成音モードでなく、かつ、８小節モードである場合には（ステップＳ２５がＮＯであってステップＳ２６がＹＥＳ）、タイミング画面Ｃ用メモリが選択される（ステップＳ３０）。和音構成音モードでなく、かつ、８小節モードでない場合には（ステップＳ２５及びステップＳ２６が共にＮＯ）、タイミング画面Ｄ用メモリが選択される（ステップＳ３１）。
【００３４】
以上のようにして、画面表示モードを決定し、それに対応するメモリが選択されることにより、表示器１１０上に表示する画面が決定される。すなわち、歌詞ボタンが操作されると、タイミング画面に替えて歌詞画面が選択される。この際、鍵盤表示には変更がない。タイミング画面ボタンが操作されると、歌詞画面に替えてタイミング画面が選択される。タイミング画面Ａ〜Ｄのどの画面を選択するかは、その時点で設定されているモード（４小節なのか／８小節表示なのか、構成音なのかキーボードパート音表示なのか）により変化する。８小節＆構成音表示の場合、タイミング画面Ａが選択される。４小節＆構成音表示の場合、タイミング画面Ｂが選択される。８小節＆キーボードパート音表示の場合、タイミング画面Ｃが選択される。４小節＆キーボードパート音表示の場合、タイミング画面Ｄが選択される。初期状態としては、例えば８小節＆構成音表示が設定されており、タイミング画面Ａが選択される。４小節／８小節ボタンが操作されると、４小節モードなのか／８小節モードなのかが切り替わる。なお、歌詞画面モードのときに４小節／８小節ボタンが操作された場合には、当該操作は無効となる。すなわち、歌詞画面モードのままである。タイミング画面モードのときに４小節／８小節ボタンが操作された場合には、４小節モード／８小節モードの設定に応じてタイミング画面の種類が切り替わる。構成音／キーボードボタンが操作されると、構成音モードなのかキーボード音モードなのかが切り替わる。これに応じて、和音構成音表示／キーボードパート音表示が切り替わる。また、タイミング画面モードのときに構成音／キーボードボタンが操作された場合には、構成音モード／キーボードパート音モードの設定に応じてタイミング画面の種類が切り替わる。
【００３５】
既に説明したように、この実施の形態ではＣＰＵ１によって曲データの表示に関する各種処理等を行う。すなわち、曲データ表示制御装置の処理はＣＰＵ１が所定のプログラム（ソフトウエア）を実行することにより実施される。勿論、コンピュータソフトウエアの形態に限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路あるいはゲートアレイ等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
以下、図３に示した各機能毎にＣＰＵ１によって実行される本発明に係る曲データ表示制御装置の処理について図８〜図１４までのフローチャートを用いて説明する。
【００３６】
まず、曲データ読出し部１０１における処理について図８を用いて説明する。図８は、ＣＰＵ１で実行される曲データ読出し処理の一実施例を示したフローチャートである。ただし、曲データ読出し時の例外処理（例えば、先頭のタイミングデータの読出し等の処理）の記載は省略している。
ステップＳ１では、読み込んだ曲データが２小節／４小節分経過したか否かを判定する。２小節／４小節分経過していない場合（ステップＳ１のＮＯ）、ステップＳ４の処理へジャンプする。２小節／４小節分経過した場合には（ステップＳ１のＹＥＳ）、ステップＳ２の処理へ進み、２小節／４小節分のキーボードパートのノートイベント、歌詞イベント、和音名イベントを先読みする。そして、先読みした各イベントに基づいて、タイミング画面を作成し、画面上に描画する（ステップＳ３）。すなわち、タイミング画面Ｃ及びＤを作成するために利用するキーボードパートのノートイベント、タイミング画面Ａ〜Ｄを作成するために利用する歌詞イベントと和音名イベントを２小節分又は４小節分先読みする。４小節画面（タイミング画面ＢとＤ）では、先読みした２小節分のデータが４小節のうちの半分となり、８小節画面（タイミング画面ＡとＣ）では、先読みした４小節分のデータが８小節のうちの半分となる。そして、歌詞文字や和音が時間軸に沿った位置に配置される。ただし、隣り合った歌詞文字や和音のタイミングが近接している場合には、歌詞文字や和音が重なって表示されることもある。
【００３７】
ステップＳ４では、タイミングデータが示す時間が経過したか否かを判定する。つまり、曲データ中からタイミングデータが読み出されると、そのタイミングデータが示す時間の経過が計測される。タイミングデータが示す時間が経過した場合（ステップＳ４のＹＥＳ）、イベントを読み出すタイミングであることから、次のイベントデータを読み出す（ステップＳ５）。この読み出したイベントデータが演奏イベントデータであるか否かを判定する（ステップＳ６）。演奏イベントである場合（ステップＳ６のＹＥＳ）、さらに当該演奏イベントデータがキーボードパートのノートオンイベントであるか否かを判定する（ステップＳ７）。キーボードパートのノートイベントである場合（ステップＳ７のＹＥＳ）、キーボードパートの次のノートオンイベントデータを先読みする（ステップＳ８）。キーボードパートのノートイベントでない場合には（ステップＳ７のＮＯ）、キーボードパートの次のノートオンイベントデータの先読み（ステップＳ８）を行わない。こうして得られたデータは、キーボードパートオン表示用として利用される。その後、演奏データ処理部１０２が起動される（ステップＳ９）。
【００３８】
ステップＳ６において、読み出したイベントデータが演奏イベントデータでなく（ステップＳ６のＮＯ）、和音名イベントデータであった場合には（ステップＳ１０のＹＥＳ）、次の和音名データも先読みする（ステップＳ１１）。こうして得られたデータは、和音名の表示態様（色等）の変更と和音構成音表示用に利用される。その後、和音名データ処理部１０４（ステップＳ１２）と和音名→音高変換部１０６（ステップＳ１３）が起動される。ステップＳ１０において、読み出したイベントデータが和音名イベントデータでない場合には（ステップＳ１０のＮＯ）、当該イベントデータは歌詞イベントデータである。ステップＳ１４では、この歌詞イベントデータが改行／改ページデータであるか否かを判定する。改行／改ページデータであった場合（ステップＳ１４のＹＥＳ）、次の改行／改ページまでの歌詞イベントデータ、和音名イベントデータを先読みする（ステップＳ１５）。そして、読み出した各イベントデータに基づいて歌詞画面を作成し画面上に描画する（ステップＳ１６）。この際に、得られたデータを歌詞画面に対応するメモリ（歌詞画面用メモリ）だけでなく、上述したタイミング画面Ａ〜Ｄのそれぞれに対応する表示用メモリ（図６参照）の全てに同時に記憶することによって、タイミング画面Ａ〜Ｄにおける表示データを同時に作成する。すなわち、このステップＳ１６の処理において、例えばタイミング画面Ｃ及びＤ上に表示されるゲートタイム表示などの表示データも作成される。また、この際に既に選択されている表示モードに従った画面表示を行う。このように、得られたデータは歌詞画面だけでなくタイミング画面の表示用データとしても利用される。そして、この場合における画面の更新においても、上記したタイミング画面と同様に画面の上段・下段の半分ずつ交互に行われる。
一方、歌詞イベントデータが改行／改ページデータでない場合（ステップＳ１４のＮＯ）、すなわち普通の歌詞イベントデータの場合、次の歌詞イベントデータを先読みする（ステップＳ１７）。こうして得られたデータは、歌詞の表示態様（色等）の変更に利用される。その後、歌詞データ処理部１０３が起動される（ステップＳ１８）。ステップＳ１９では、次のタイミングデータを読み出し、ステップＳ１の処理へ戻り、ステップＳ１〜ステップＳ１９までの各処理を繰り返し行う。
【００３９】
次に、演奏データ処理部１０２における処理について図９を用いて説明する。図９は、ＣＰＵ１で実行される演奏データ処理の一実施例を示したフローチャートである。
ステップＳ５１では、読み出された演奏イベントデータがノートイベントであるか否かを判定する。ノートイベントである場合（ステップＳ５１のＹＥＳ）、音源へノートイベントを供給する（ステップＳ５２）。さらに、該ノートイベントはキーボードパートのチャンネルか否かを判定する（ステップＳ５３）。読み出されたノートイベントがキーボードパートに設定されているチャンネルである場合（ステップＳ５３のＹＥＳ）、キーボードパート表示用メモリの現在表示部に、該ノートイベントに対応する音高を描画する（ステップＳ５４）。この際に、該ノートイベントがオンイベントであるならば音高を表示し、オフイベントであるならば音高を消去する。また、オクターブシフトの指示があれば、鍵盤の音域内に音高が入るようにオクターブシフトする。ステップＳ５５では該ノートイベントがノートオンイベントであるか否かを判定し、ノートオンイベントである場合には（ステップＳ５５のＹＥＳ）、キーボードパート表示用メモリの次表示部の音高表示を消去するとともに（ステップＳ５６）、キーボードパート表示用メモリの次表示部に先読みされた次ノートイベントに対応する音高を描画する（ステップＳ５７）。この場合にも、オクターブシフトの指示があれば、鍵盤の音域内に音高が入るようにオクターブシフトする。当該キーボードパートの表示では、和音構成音の表示とは異なり、右左手の区別はしない。
【００４０】
一方、ステップＳ５１においてノートイベントでないと判定された場合（ステップＳ５１のＮＯ）、読み出された演奏イベントデータがプログラムチェンジであるか否かを判定する（ステップＳ５８）。プログラムチェンジが読み出されていた場合には（ステップＳ５８のＹＥＳ）、音源へプログラムチェンジイベントを供給する（ステップＳ５９）。そして、該プログラムチェンジはキーボード関連の音色か否かを判定する（ステップＳ６０）。キーボード関連の音色であれば（ステップＳ６０のＹＥＳ）、このプログラムチェンジのチャンネルをキーボードパートに設定する（ステップＳ６１）。すなわち、プログラムチェンジが読み出された場合には、当該プログラムチェンジがキーボード関連の音色（例えば、ピアノ系あるいはオルガン系など）であれば、そのプログラムチェンジのチャンネルをキーボードパートのチャンネルとして設定する。上記の音高表示に用いられるチャンネルは、ここで設定されたチャンネルである。読み出された演奏イベントデータがプログラムチェンジでない場合には（ステップＳ５８のＮＯ）、「その他のイベントの処理」を行う（ステップＳ６２）。当該「その他のイベントの処理」としては、ボリュームイベントに対応するボリューム設定、エフェクト関連イベントに対応するエフェクト設定、テンポイベントに対応する読出しテンポ設定、エンドイベントに対応する読出し停止制御、等の処理がある。
【００４１】
歌詞データ処理部１０３における処理について図１０を用いて説明する。図１０は、ＣＰＵ１で実行される歌詞データ表示処理の一実施例を示したフローチャートである。当該処理は、歌詞画面用メモリ、タイミング画面Ａ〜Ｄ用メモリ（図６参照）全てに対してデータ描画（すなわち、記憶）及びデータ消去を行う処理である。
まず、第１の色で表示中の歌詞文字（現在歌詞文字）を一旦消去し（ステップＳ７１）、この消去した歌詞文字を通常の表示態様（色等）で描画する（ステップＳ７２）。また、第２の色で表示中の歌詞文字（次歌詞文字）を一旦消去し（ステップＳ７３）、この消去した歌詞文字を第１の表示態様（色等）で描画する（ステップＳ７４）。さらに、先読みした歌詞イベントデータに対応する表示中の歌詞文字を一旦消去し（ステップＳ７５）、この消去した歌詞文字を第２の表示態様（色等）で描画する（ステップＳ７６）。このようにして、画面上に歌詞の文字を色替えしながら表示する。
【００４２】
ここで、図１０に示した歌詞データ表示処理の動作を説明する。すなわち、上記歌詞データ表示処理により行われる画面上の歌詞の文字の色替えについて、図１１を用いて簡単に説明する。図１１は、歌詞「家（うち）に帰ろう」（図４Ｂの第４小節参照）を例に歌詞文字の色替えについて説明するための説明図である。ただし、図１１では歌詞の一部分、特に歌詞が重なって表示されている部分を中心に示している。また、図１１では斜線を付した文字が第１の色で表示された文字を、塗りつぶした文字が第２の色で表示された文字を、白抜きの文字が通常の色で表示された文字をそれぞれ示すものとする。
図１１（Ａ）は、「家（うち）」を現在歌詞文字として表示している状態である。すなわち、「家（うち）」が第１の色で表示され、「に」が第２の色で表示され、「帰」が通常の色で表示されている。このような状態で、「に」を示す歌詞イベントデータが読み出されると、図１１（Ｂ）に示すように「に」を現在歌詞文字として表示する。この際に、第１の色で表示されていた「家（うち）」が消去されて、新たに通常の色で表示される（図１０のステップＳ７１及び７２参照）。第２の色で表示されていた「に」が消去されて、新たに第１の色で表示される（図１０のステップＳ７３及び７４参照）。そして、通常の色で表示されていた「帰」が消去されて、新たに第２の色で表示される（図１０のステップＳ７５及び７６参照）。このようにして、「家（うち）」から「に」へ現在歌詞文字の表示が移る。
なお、歌詞の文字が重なっている箇所では、どちらかの色を上に優先的に表示するようにしてよい。例えば、現在歌詞文字を示す第１の色を次歌詞文字を示す第２の色の上に表示してもよいし、反対に次歌詞文字を示す第２の色を現在歌詞文字を示す第１の色の上に表示するようにしてもよい。また、上述の例では、第１の色と第２の色と通常の色との３色を使用して文字を表示する例を示したが、文字の表示は現在歌詞文字と次歌詞文字とが区別しうるものであればよく、２色あるいはより多くの複数の色を用いて表示するものであってもよい。
【００４３】
和音名データ処理部１０４における処理について図１２を用いて説明する。図１２は、ＣＰＵ１で実行される和音名データ表示処理の一実施例を示したフローチャートである。当該処理は、歌詞画面用メモリ、タイミング画面Ａ〜Ｄ用メモリ（図６参照）全てに対してデータ描画（すなわち、記憶）及びデータ消去を行う処理である。
まず、第１の色で表示中の和音名（現在和音名）を一旦消去し（ステップＳ８１）、この消去した和音名を通常の表示態様（色等）で描画する（ステップＳ８２）。また、第２の色で表示中の和音名（次和音名）を一旦消去し（ステップＳ８３）、この消去した和音名を第１の表示態様（色等）で描画する（ステップＳ８４）。さらに、先読みした和音名イベントデータに対応する表示中の和音名を一旦消去し（ステップＳ８５）、この消去した和音名を第２の表示態様（色等）で描画する（ステップＳ８６）。このようにして、画面上に和音名の文字を色替えしながら表示する。
なお、和音名の文字の色替えについても上述の歌詞の文字の色替えと同様であることから、和音名の文字の色替えについての説明は省略する。
【００４４】
和音名→音高変換部１０６における処理について図１３を用いて説明する。図１３は、ＣＰＵ１で実行される和音名→音高変換処理の一実施例を示したフローチャートである。
まず、読み出された和音名に基づいて構成音テーブルを参照して、和音名に対応する構成音を得る（ステップＳ９１）。構成音テーブルは、和音名毎にその和音名に対応する複数の構成音の音高を記憶したもので、各構成音を左右どちらの手で押すべきかを示す情報も記憶している。和音構成音表示用メモリの現在表示部の音高表示を消去し、得られた構成音の音高を描画する（ステップＳ９２）。この場合には前記左右手を示す情報に基づいて右手及び左手を区別する。また、オクターブシフトの指示があれば、鍵盤の音域内に音高が入るようにオクターブシフトする。先読みされた和音名に基づいて構成音テーブルを参照して、和音名に対応する構成音を得る（ステップＳ９３）。和音構成音表示用メモリの次表示部の音高表示を消去し、得られた構成音の音高を描画する（ステップＳ９４）。この場合においても、右手及び左手を区別する。また、オクターブシフトの指示があれば、鍵盤の音域内に音高が入るようにオクターブシフトする。このようにして、画面上に和音名に対応する構成音を表示する。
【００４５】
オクターブ制御部１０７における処理について図１４を用いて説明する。図１４は、ＣＰＵ１で実行されるオクターブ制御処理の一実施例を示したフローチャートである。
まず、接続されている鍵盤の音域に関する情報を取得する若しくは判別する（ステップＳ１０１）。この音域に関する情報の取得方法としては、次のような方法がある。第１に、ユーザが音域を指定する方法がある。例えば、ユーザが「Ｆ２〜Ｃ５」のように音域を指定する。第２に、ユーザに鍵盤の最高鍵と最低鍵を押させて、それに伴う最高ノートナンバと最低ノートナンバを取得する。第３に、鍵盤に対して音域を要求するコマンドを送り、鍵盤がそれを受信することに伴って音域情報をオクターブ制御部に送信する。ステップＳ１０２では、こうして得られた音域に関する情報に対して、オクターブシフトを行う必要があるかないかの判定を行う。すなわち、本装置において表示可能な音高が取得した音域から外れる場合、鍵盤の範囲内に音高が収まるよう、オクターブシフトを行う必要があるかどうかを判定する。オクターブシフトが必要である場合（ステップＳ１０２のＹＥＳ）、オクターブシフトを指示する（ステップＳ１０３）。オクターブシフトが必要でない場合（ステップＳ１０２のＮＯ）、オクターブシフトを解除する（ステップＳ１０４）。このオクターブ制御部から指示されるオクターブシフトは、１オクターブに限らず数オクターブにわたるものでもよい。また、高音側のみ、あるいは低音側のみをシフトするようにしてもよいし、高音側と低音側両方をシフトするようにしてもよい。
このように、接続された鍵盤の音域を判別して、必要に応じてオクターブを折り返して弾くべき音を表示するようにすることにより、転回形での和音構成音表示を行うことができ、音域の狭い鍵盤を用いて手動演奏を行う場合であっても、鍵の存在しない場所の音高を和音構成音として指示する恐れが無くなる。
【００４６】
次に、歌詞・和音表示部における表示の変形例について簡単に説明する。図１５は、歌詞・和音表示部におけるタイミング画面の変形例を示した図である。ただし、図１５は４小節表示の例のみを示した。
タイミング画面Ｃ（すなわち、キーボードパート音表示における８小節表示：図示せず）又は、タイミング画面Ｄ（すなわち、キーボードパート音表示における４小節表示：図１５に示した例）において、右手パートと左手パートを区別して表示する。図中の‘Ｒ’で示したのが右手パートであり、‘Ｌ’で示したのが左手パートである。このような場合には、異なる２つのチャンネルにキーボードパートを設定しておき、一方を右手パートに、他方を左手パートに対応させる。この左右パートの決定の方法としては次のような方法がある。予め特定のチャンネルをそれぞれ右手パート、左手パートに対応付けて設定しておく。例えば「チャンネル１」は右手パートとし、「チャンネル２」は左手パートとする。あるいは、各チャンネルの演奏データの音域を判定し、高い方を右手パートとし、低い方を左手パートとする。あるいは、各チャンネルの音数を判定し、多い方（和音指定ありとみなす）を右手パート、少ない方（ベース指定とみなす）を左手パートとする。勿論、逆でもよい。すなわち、多い方を左手パートに、少ない方を右手パートとしてもよい。なお、上述の例では右手及び左手の両方を表示した例を示したが、右手表示のみ、あるいは左手表示のみでもよい。そして、右手表示のみ、左手表示のみ、両方表示をユーザが選択できるようにしてもよい。
このように、和音名データに基づいて和音名を表示するとともに、右手パート、左手パートの演奏タイミングを別々に表示するようにすることにより、１つの和音に基づく演奏を両手で行う際にどのようなタイミングで左右の手で演奏を行えばよいのかがユーザにわかりやすくなる、という利点がある。
【００４７】
本実施例に係る曲データ表示制御装置を電子楽器に適用した場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、そのような場合に、音源装置、自動演奏装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、ＭＩＤＩインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置やゲーム装置、あるいは携帯電話等の携帯型通信端末、自動演奏ピアノ等に適用してもよい。
【００４８】
なお、曲データのフォーマットは、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント＋絶対時間』形式のもの、イベントの発生時刻を１つ前のイベントからの時間で表した『イベント＋相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で曲データを表した『音高（休符）＋符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。また、複数チャンネル分の曲データが存在する場合は、複数のチャンネルのデータが混在した形式であってもよいし、各チャンネルのデータがトラック毎に別れているような形式であってもよい。さらに、曲データの処理方法は、設定されたテンポに応じて処理周期を変更する方法、処理周期は一定で自動演奏中のタイミングデータの値を設定されたテンポに応じて変更する方法、処理周期は一定で１回の処理において曲データ中のタイミングデータの計数の仕方をテンポに応じて変更する方法等、どのようなものであってもよい。
また、メモリ上において、時系列の曲データが連続する領域に記憶されていてもよいし、飛び飛びの領域に散在して記憶されている曲データを、連続するデータとして別途管理するようにしてもよい。すなわち、時系列的に連続する曲データとして管理することができればよく、メモリ上で連続して記憶されているか否かは問題ではない。
【００４９】
なお、従来より知られている歌詞色替え技術と本発明とを併用してもよいことは勿論である。例えば、本発明に従って現在演奏中の位置にある１文字と次の演奏が行われる位置にある１文字とを異なる色で表示して、これらの文字の読み取りがはっきりできるようにした上で、従来知られたメロディ進行に応じた連続的な文字色替え（歌詞が終わった箇所を連続的に別の色で表示していく）を適用するようにしてよい。
なお、上述した例ではキーボードパートの和音進行や演奏タイミングを表示するようにしたがこれに限らず、その他の演奏パート（例えば、打楽器等）の演奏タイミングを表示するようにしてもよい。
【００５０】
【発明の効果】
本発明によれば、現在の進行位置の歌詞文字や和音名と、次の位置の歌詞文字や和音名が重なっても識別できるように、両者を異なる表示態様（例えば、異なる色等）で表示するようにしたので、たとえ歌詞文字や和音名が重なったとしても、表示態様が異なるために容易に現時位置の文字と次位置の文字とを識別することができる、という効果が得られる。また、歌詞文字や和音名を時間軸に沿って表示するものにおいて、表示倍率（時間方向のスケール）の異なる複数の画面を用意し、選択できるようにしたため、和音変更が頻繁に起こる曲においては広い範囲を表示させて先行する和音を確認しやすくすることができる。和音変更があまり起こらない曲においては、狭い範囲を表示させて歌詞の表示間隔を広げて歌詞を見やすくすることができる。
また、和音名データに基づいて和音名を表示するものにおいて、（和音名とは別の）キーボードパートのノートイベントを検出し、和音の演奏タイミングを表示するようにしたため、曲中のキーボードパートでの演奏タイミングがわかり、単に和音変更タイミングでのみ和音演奏を行うよりも、曲を弾いている気分をより深く味わうことができる、という優れた効果が得られる。
【図面の簡単な説明】
【図１】  この発明に係る曲データ表示制御装置及び自動演奏装置を内蔵した電子楽器の実施の形態を示すハード構成ブロック図である。
【図２】  曲データのフォーマットの一実施例を示した概略図である。
【図３】  図１に示した電子楽器のＣＰＵ１によって実行される曲データ表示制御装置の処理を説明するための機能ブロック図である。
【図４Ａ】  歌詞・和音表示部に歌詞画面を表示した場合の一実施例である。
【図４Ｂ】  歌詞・和音表示部に和音名変更タイミングを表示した実施例であり、１行につき４小節分の歌詞及び和音名を表示した場合である。
【図４Ｃ】  歌詞・和音表示部に和音名変更タイミングを表示した実施例であり、１行につき２小節分の歌詞及び和音名を表示した場合である。
【図４Ｄ】  歌詞・和音表示部にキーボードパート音を表示した場合の一実施例である。
【図５Ａ】  演奏支援表示部に鍵盤を表示した場合における表示例であり、現在和音と次和音を表示した状態を示したものである。
【図５Ｂ】  演奏支援表示部に鍵盤を表示した場合における表示例であり、実際の鍵盤から現在和音を入力した状態を示したものである。
【図６】  表示用メモリ部の全体構成の一実施例を示す概略図である。
【図７】  各ボタンが操作された際の表示モード選択処理の一実施例を示したフローチャートである。
【図８】  ＣＰＵ１で実行される曲データ読出し処理の一実施例を示したフローチャートである。
【図９】  ＣＰＵ１で実行される演奏データ処理の一実施例を示したフローチャートである。
【図１０】  ＣＰＵ１で実行される歌詞データ表示処理の一実施例を示したフローチャートである。
【図１１】  図１０に示した歌詞データ表示処理の動作を説明するための説明図である。
【図１２】  ＣＰＵ１で実行される和音名データ表示処理の一実施例を示したフローチャートである。
【図１３】  ＣＰＵ１で実行される和音名→音高変換処理の一実施例を示したフローチャートである。
【図１４】  ＣＰＵ１で実行されるオクターブ制御処理の一実施例を示したフローチャートである。
【図１５】  歌詞・和音表示部におけるタイミング画面Ｃ又はＤの変形例を示した図である。
【符号の説明】
１…ＣＰＵ、１Ａ…タイマ、２…ＲＯＭ、３…ＲＡＭ、４…鍵盤インタフェース、４Ａ…鍵盤、５…スイッチインタフェース、５Ａ…スイッチ、６…ディスプレイインタフェース、６Ａ…ディスプレイ、７…音源回路、８…効果回路、８Ａ…サウンドシステム、９…外部記憶装置、１０…ＭＩＤＩインタフェース、１０Ａ…他のＭＩＤＩ機器、１１…通信インタフェース、１１Ａ…サーバコンピュータ、１１Ｂ…通信ネットワーク、１Ｄ…データ及びアドレスバス
【図１】
0003743231.tif 000002
【図２】
0003743231.tif 000003
【図３】
0003743231.tif 000004
【図４Ａ】
0003743231.tif 000005
【図４Ｂ】
0003743231.tif 000006
【図４Ｃ】
0003743231.tif 000007
【図４Ｄ】
0003743231.tif 000008
【図５Ａ】
0003743231.tif 000009
【図５Ｂ】
0003743231.tif 000010
【図６】
0003743231.tif 000011
【図７】
0003743231.tif 000012
【図８】
0003743231.tif 000013
【図９】
0003743231.tif 000014
【図１０】
0003743231.tif 000015
【図１１】
0003743231.tif 000016
【図１２】
0003743231.tif 000017
【図１３】
0003743231.tif 000018
【図１４】
0003743231.tif 000019
【図１５】
0003743231.tif 000020