(57)【特許請求の範囲】
【請求項１】
演奏データにおける演奏ガイドの対象とする対象区間における音符に、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行う待機タイミングの候補を複数設定する候補設定手段と、
前記対象区間について演奏ガイドの複数の実行段階を設定する段階設定手段と、
前記段階設定手段により設定された実行段階のそれぞれにおいて実際に採用する待機タイミングを、前記候補設定手段により設定された待機タイミングの候補の中から決定するタイミング決定手段と、
前記対象区間の演奏ガイドの実行段階を順番に実行すると共に、前記実行段階のそれぞれにおいて、前記タイミング決定手段により決定された待機タイミングで前記待機処理を実行するよう制御する制御手段と、を有し、
前記タイミング決定手段は、各実行段階について実際に採用する待機タイミングを決定する場合において、１つ前に実行される実行段階があるときは、当該１つ前に実行される実行段階について決定された待機タイミングの数よりも多くない範囲で、前記実際に採用する待機タイミングを決定することを特徴とする演奏支援装置。
【請求項２】
前記候補設定手段は、前記対象区間のデータに基づいて定まる、最初に右親指が押鍵される鍵の音高を基準音高として、前記対象区間に存在する音符のうち前記基準音高からの乖離が所定音高差以上である音符に対して、前記待機タイミングの候補を設定することを特徴とする請求項１に記載の演奏支援装置。
【請求項３】
前記タイミング決定手段は、前記基準音高からの乖離が各実行段階に応じた音高差以上である音符に対して設定された待機タイミングの候補を、前記実際に採用する待機タイミングとして決定し、
前記各実行段階に応じた前記音高差は、１つ前に実行される実行段階がある場合は、当該１つ前に実行される実行段階に応じた音高差よりも大きいことを特徴とする請求項２に記載の演奏支援装置。
【請求項４】
前記候補設定手段は、前記対象区間のデータに基づいて定まる、最初に右親指が押鍵される鍵の音高から右小指が位置するべき音高までの範囲を基準範囲とし、前記対象区間において、同じタイミングで押鍵されるべき音符として、前記基準範囲内の音符と前記基準範囲外の音符とが重複する場合は、これら重複する音符に対して、前記待機タイミングの候補を設定することを特徴とする請求項１に記載の演奏支援装置。
【請求項５】
前記タイミング決定手段は、前記基準範囲内の音符と前記基準範囲外の音符とが重複する場合において、重複数が各実行段階に応じた閾値以上であるような前記重複する音符に対して設定された待機タイミングの候補を、前記実際に採用する待機タイミングとして決定し、
前記各実行段階に応じた前記閾値は、１つ前に実行される実行段階がある場合は、当該１つ前に実行される実行段階に応じた閾値よりも大きいことを特徴とする請求項４に記載の演奏支援装置。
【請求項６】
前記タイミング決定手段は、最後の実行段階において採用する待機タイミングを零とすることを特徴とする請求項１〜５のいずれか１項に記載の演奏支援装置。
【請求項７】
演奏ガイドの対象とする対象区間が設定されると共に、前記対象区間について演奏ガイドの複数の実行段階が設定され且つ、前記対象区間の実行段階のそれぞれに、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行う待機タイミングが設定された演奏データを記憶する記憶手段と、
前記記憶手段に記憶された演奏データを用いて、前記対象区間の演奏ガイドの実行段階を順番に実行すると共に、前記実行段階のそれぞれにおいて、前記待機タイミングで前記待機処理を実行するよう制御する制御手段と、を有し、
各実行段階について実際に採用される待機タイミングは、１つ前に実行される実行段階について採用される待機タイミングの数よりも多くないことを特徴とする演奏支援装置。
【請求項８】
前記演奏データにおいては、前記対象区間のデータに基づいて定まる、最初に右親指が押鍵される鍵の音高を基準音高として、前記対象区間に存在する音符のうち前記基準音高からの乖離が所定音高差以上である音符に対して、前記待機タイミングが設定されていることを特徴とする請求項７に記載の演奏支援装置。
【請求項９】
前記演奏データにおいては、前記対象区間のデータに基づいて定まる、最初に右親指が押鍵される鍵の音高から右小指が位置するべき音高までの範囲を基準範囲とし、前記対象区間において、同じタイミングで押鍵されるべき音符として、前記基準範囲内の音符と前記基準範囲外の音符とが重複する場合は、これら重複する音符に対して、前記待機タイミングが設定されていることを特徴とする請求項７に記載の演奏支援装置。
【請求項１０】
演奏支援装置の制御方法であって、
演奏データにおける演奏ガイドの対象とする対象区間における音符に、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行う待機タイミングの候補を複数設定する候補設定ステップと、
前記対象区間について演奏ガイドの複数の実行段階を設定する段階設定ステップと、
前記段階設定ステップにより設定された実行段階のそれぞれにおいて実際に採用する待機タイミングを、前記候補設定ステップにより設定された待機タイミングの候補の中から決定するタイミング決定ステップと、
前記対象区間の演奏ガイドの実行段階を順番に実行すると共に、前記実行段階のそれぞれにおいて、前記タイミング決定ステップにより決定された待機タイミングで前記待機処理を実行するよう制御する制御ステップと、を有し、
前記タイミング決定ステップは、各実行段階について実際に採用する待機タイミングを決定する場合において、１つ前に実行される実行段階があるときは、当該１つ前に実行される実行段階について決定された待機タイミングの数よりも多くない範囲で、前記実際に採用する待機タイミングを決定することを特徴とする演奏支援装置の制御方法。
【請求項１１】
演奏データにおける演奏ガイドの対象とする対象区間における音符に、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行う待機タイミングの候補を複数設定する候補設定手段と、
前記対象区間について演奏ガイドの複数の実行段階を設定する段階設定手段と、
前記段階設定手段により設定された実行段階のそれぞれにおいて実際に採用する待機タイミングを、前記候補設定手段により設定された待機タイミングの候補の中から決定するタイミング決定手段と、
前記対象区間の演奏ガイドの実行段階を順番に実行すると共に、前記実行段階のそれぞれにおいて、前記タイミング決定手段により決定された待機タイミングで前記待機処理を実行するよう制御する制御手段と、を有することを特徴とする演奏支援装置。
【請求項１２】
演奏支援装置の制御方法であって、
演奏データにおける演奏ガイドの対象とする対象区間における音符に、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行う待機タイミングの候補を複数設定する候補設定ステップと、
前記対象区間について演奏ガイドの複数の実行段階を設定する段階設定ステップと、
前記段階設定ステップにより設定された実行段階のそれぞれにおいて実際に採用する待機タイミングを、前記候補設定ステップにより設定された待機タイミングの候補の中から決定するタイミング決定ステップと、
前記対象区間の演奏ガイドの実行段階を順番に実行すると共に、前記実行段階のそれぞれにおいて、前記タイミング決定ステップにより決定された待機タイミングで前記待機処理を実行するよう制御する制御ステップと、を有することを特徴とする演奏支援装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏操作をガイドする演奏支援装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、鍵盤楽器等において、演奏データを用いて鍵を発光させる等により演奏をガイドする技術が知られている。一般的な演奏ガイドにおいては、適切な演奏入力があるまで曲の進行を停止（ウェイティング）する。しかし、ガイド通りに演奏されるまでウェイティングする場合、ユーザにとって苦手な箇所でいつも曲の進行がストップしがちであり、曲全体を通しての演奏練習ができず、練習がつまらないという問題がある。そこで、特許文献１の演奏支援装置では、うまく演奏できなかった箇所を演奏が難しい特定区間として設定し、ウェイティング時間にリミットを設け、特定区間の演奏ガイドにおいてリミット時間が経過したらウェイティング状態を解除するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−７２３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の演奏支援装置の手法では、難しい箇所でつまずいた結果、ウェイティングが解除されるという状況がいつも繰り返されると、いつまでたっても習得できない。つまり、難度の高い箇所の練習が不十分となり、効果的な練習を行えない。また、特許文献１でも従来一般の演奏ガイドでも、音価の全箇所がウェイティングの対象となり得るので、前後の関係が見えず、音楽性に欠けるし、機械的なウェイティングとなって面白みにかけるという問題もある。
【０００５】
本発明は上記従来技術の問題を解決するためになされたものであり、その目的は、難度の高い箇所の繰り返しを多くし、効果的な練習を行える演奏支援装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明の請求項１の演奏支援装置は、演奏データにおける演奏ガイドの対象とする対象区間における音符に、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行う待機タイミングの候補を複数設定する候補設定手段と（Ｓ１０２）、前記対象区間について演奏ガイドの複数の実行段階（ターン１、２、３）を設定する段階設定手段と（Ｓ１０２）、前記段階設定手段により設定された実行段階のそれぞれにおいて実際に採用する待機タイミングを、前記候補設定手段により設定された待機タイミングの候補の中から決定するタイミング決定手段と（Ｓ１０６）、前記対象区間の演奏ガイドの実行段階を順番に実行すると共に、前記実行段階のそれぞれにおいて、前記タイミング決定手段により決定された待機タイミングで前記待機処理を実行するよう制御する制御手段（Ｓ３０８、Ｓ４０８）と、を有し、前記タイミング決定手段は、各実行段階について実際に採用する待機タイミングを決定する場合において、１つ前に実行される実行段階があるときは、当該１つ前に実行される実行段階について決定された待機タイミングの数よりも多くない範囲で、前記実際に採用する待機タイミングを決定することを特徴とする。
【０００７】
上記目的を達成するために本発明の請求項７の演奏支援装置は、演奏ガイドの対象とする対象区間が設定されると共に、前記対象区間について演奏ガイドの複数の実行段階が設定され且つ、前記対象区間の実行段階のそれぞれに、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行う待機タイミングが設定された演奏データを記憶する記憶手段と、前記記憶手段に記憶された演奏データを用いて、前記対象区間の演奏ガイドの実行段階を順番に実行すると共に、前記実行段階のそれぞれにおいて、前記待機タイミングで前記待機処理を実行するよう制御する制御手段と、を有し、各実行段階について実際に採用される待機タイミングは、１つ前に実行される実行段階について採用される待機タイミングの数よりも多くないことを特徴とする。
【０００８】
上記目的を達成するために本発明の請求項１０の演奏支援装置の制御方法は、演奏支援装置の制御方法であって、演奏データにおける演奏ガイドの対象とする対象区間における音符に、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行う待機タイミングの候補を複数設定する候補設定ステップと、前記対象区間について演奏ガイドの複数の実行段階を設定する段階設定ステップと、前記段階設定ステップにより設定された実行段階のそれぞれにおいて実際に採用する待機タイミングを、前記候補設定ステップにより設定された待機タイミングの候補の中から決定するタイミング決定ステップと、前記対象区間の演奏ガイドの実行段階を順番に実行すると共に、前記実行段階のそれぞれにおいて、前記タイミング決定ステップにより決定された待機タイミングで前記待機処理を実行するよう制御する制御ステップと、を有し、前記タイミング決定ステップは、各実行段階について実際に採用する待機タイミングを決定する場合において、１つ前に実行される実行段階があるときは、当該１つ前に実行される実行段階について決定された待機タイミングの数よりも多くない範囲で、前記実際に採用する待機タイミングを決定することを特徴とする。
【０００９】
なお、上記括弧内の符号は例示である。なお、請求項１０記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体は、本発明を構成する。
【発明の効果】
【００１０】
本発明の請求項１、７、１０によれば、難度の高い箇所の繰り返しを多くし、効果的な練習を行える。
【００１１】
請求項２、８によれば、横移動が大きい難度の高い箇所に待機タイミングを設けることができる。請求項３によれば、実行段階が進むにつれて待機タイミングを減少させ、難度の低い箇所の無駄な繰り返しを回避することができる。請求項４、９によれば、離れた鍵の重複押下が必要とされる難度の高い箇所に待機タイミングを設けることができる。請求項５によれば、実行段階が進むにつれて待機タイミングを減少させ、難度の低い箇所の無駄な繰り返しを回避することができる。請求項６によれば、通しで演奏練習でき、円滑に効果を確認することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る演奏支援装置が適用される鍵盤楽器の全体構成を示すブロック図である。
【図２】演奏データ、トラックの概念図（図（ａ）、（ｂ））である。
【図３】ウェイトポイントを設定する処理を説明する図（図（ａ））、対象区間の演奏ガイドの実行段階の遷移を示す図（図（ｂ））である。
【図４】演奏ガイド処理のフローチャートである。
【図５】タイマ割込処理のフローチャートである。
【図６】ＬＲパートの処理のフローチャートである。
【図７】第２の実施の形態におけるＬＲパートの処理のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。
【００１４】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る演奏支援装置が適用される鍵盤楽器の全体構成を示すブロック図である。
【００１５】
本鍵盤楽器は、図１に示すように、検出回路３、検出回路４、ＲＯＭ６、ＲＡＭ７、タイマ８、表示装置９、外部記憶装置１０、ＭＩＤＩ（Musical Instrument Digital Interface）インターフェイス（ＭＩＤＩＩ／Ｆ）１１、通信インターフェイス（通信Ｉ／Ｆ）１２、発光部１７、音源回路１３及び効果回路１４が、バス１６を介してＣＰＵ５にそれぞれ接続されて構成される。さらに、検出回路３には、音高情報を入力するための鍵盤等の演奏操作子１が接続され、検出回路４には、各種情報を入力するための複数のスイッチを含む設定操作子２が接続されている。表示装置９は液晶ディスプレイ（ＬＣＤ）等で構成され、楽譜や文字等の各種情報を表示する。ＣＰＵ５にはタイマ８が接続され、ＭＩＤＩＩ／Ｆ１１には他のＭＩＤＩ機器１００が接続されている。通信Ｉ／Ｆ１２には通信ネットワーク１０１を介してサーバコンピュータ１０２が接続され、音源回路１３には効果回路１４を介してサウンドシステム１５が接続されている。
【００１６】
検出回路３は演奏操作子１の操作状態を検出し、検出回路４は設定操作子２の操作状態を検出する。ＣＰＵ５は、本装置全体の制御を司る。ＲＯＭ６は、ＣＰＵ５が実行する制御プログラムや各種テーブルデータ等を記憶する。ＲＡＭ７は、演奏データ、テキストデータ等の各種入力情報、各種フラグやバッファデータ及び演算結果等を一時的に記憶する。タイマ８は、タイマ割り込み処理における割り込み時間や各種時間を計時する。外部記憶装置１０は、上記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する。
【００１７】
ＭＩＤＩＩ／Ｆ１１は、他のＭＩＤＩ機器１００等の外部装置からのＭＩＤＩ信号を入力したり、ＭＩＤＩ信号を外部装置に出力したりする。通信Ｉ／Ｆ１２は、通信ネットワーク１０１を介して、例えばサーバコンピュータ１０２とデータの送受信を行う。音源回路１３は、演奏操作子１から入力された演奏データや予め設定された演奏データ等を楽音信号に変換する。効果回路１４は、音源回路１３から入力される楽音信号に各種効果を付与し、ＤＡＣ（Digital-to-Analog Converter）やアンプ、スピーカ等のサウンドシステム１５は、効果回路１４から入力される楽音信号等を音響に変換する。
【００１８】
外部記憶装置１０としては、例えば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブ及び光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。ＲＯＭ６に制御プログラムが記憶されていない場合には、この外部記憶装置１０に制御プログラムを記憶させておき、それをＲＡＭ７に読み込むことにより、ＲＯＭ６に制御プログラムを記憶している場合と同様の動作をＣＰＵ５にさせることができる。発光部１７は鍵盤の各鍵に対応して設けられたＬＥＤ等の光源であり、下方から鍵を照射して、押下すべき鍵を発光鍵として奏者に視認させる。発光部１７は光による演奏ガイドに利用される。
【００１９】
図２（ａ）は、演奏ガイドに用いられる演奏データの概念図である。この演奏データＤＴとしては、市販のＭＩＤＩの原データが後述する演奏ガイド処理（図４）におけるデータ編集処理（ステップＳ１０２）で編集されたものを想定する。しかし、演奏データＤＴは、本楽器に予め格納されたプリセットデータであってもよいし、事後的に取得されて格納されたデータであってもよい。演奏データＤＴとしては、ＳＭＦ（Standard MIDI File）等のシーケンスデータが想定されるが、データ形式は問わない。図４のステップＳ１０２の処理によって、原データが、演奏ガイドの対象となる複数の対象区間に分割される。時間軸において５つに分割された対象区間を、先頭からステップ１、２、３、４、５とする。演奏データＤＴは、外部記憶装置１０またはＲＯＭ６に記憶され、演奏ガイド実行の際にはＲＡＭ７に読み出される。
【００２０】
図２（ｂ）は、演奏データＤＴを構成するトラックの概念図である。演奏データＤＴは、ユーザトラック（ｃｈ１、ｃｈ２）、演奏トラック（ｃｈ３〜ｃｈ６）、ウェイティングトラック（ｃｈ７）を含む。ユーザトラックのチャンネルｃｈ１、ｃｈ２にはそれぞれ、右手パート、左手パートが記録されている。ウェイティングトラックはいずれのチャンネルに記録されてもよいが、この例ではチャンネルｃｈ７に記録されている。図２（ａ）に、代表してステップ１について、ユーザトラックとウェイティングトラックの一部を概念的に示している。これらのトラックにはイベント情報としてノート情報（キーイベント）があるほか、ウェイティングトラックには待機タイミングを示すウェイトポイントＷＰがウェイトフラグＦ等の情報として含まれている。待機タイミングは、演奏ガイドを止めてユーザによる演奏入力を待機する待機処理を行うタイミングである。ウェイトポイントＷＰは待機の対象とする音符に対して設定される。その他のステップ２〜５についても構成はステップ１と同様である。
【００２１】
データ編集処理（図４のステップＳ１０２）では、原データに対して編集が実行されることで、演奏データＤＴが取得される。この編集では、演奏ガイドの対象区間を設定する「区間分割処理」と、ウェイトポイントＷＰの候補を設定する「待機タイミング候補設定処理」と、各対象区間における演奏ガイドの実行段階を設定する「ターン設定処理」とが実行される。
【００２２】
まず、区間分割処理については、ＣＰＵ５が所定の分割数に原データを分割する。所定の分割数はユーザが指定してもよいし、予め定められた値としてもよい。区間分割位置は、まとまりのあるフレーズが分断されないよう同じ区間に含まれるような位置とする。例えば、フレーズの区切りを区間分割位置としてもよい。その場合、ＸＦ規格のＭＩＤＩデータに埋め込まれたフレーズマークから区間分割位置が決定されるようにしてもよい。なお、区間分割位置は小節の区切りとしてもよいし、ユーザにより指定されるようにしてもよい。また、短い演奏データの場合は、区間分割処理を実行することは必須でなく、対象区間の数が１つであるとしてもよい。待機タイミング候補設定処理については、所定のルールに従って、対象区間のそれぞれにおいてウェイトポイントＷＰの候補が設定される（図２（ａ）参照）。所定のルールについては図３（ａ）で後述する。演奏データＤＴの全体に対してウェイトポイントＷＰの候補が設定されたウェイティングトラックが、チャンネルｃｈ７に登録される（図２（ｂ）参照）。
【００２３】
図３（ａ）は、ウェイトポイントＷＰを設定する処理を説明する図である。上記所定のルールは、初心者にとって苦手意識が高く戸惑うような箇所にウェイトポイントＷＰが設定されるようなルールとする。まず、ＣＰＵ５は、各対象区間の演奏データを解析し、対象区間のデータに基づいて定まる、最初に右親指が押鍵される鍵の音高を基準音高Ｋ１と決定する。例えば、最初の音符が音名Ｃ３であって、後続の音符がそこから高音側へ遷移するとした場合、最初に音名Ｃ３に右親指が位置する。図３（ａ）の例では音名Ｃ３が基準音高Ｋ１となっている。右親指の位置が決まると五指の各位置が定まる。そこでＣＰＵ５は、最初に右小指が位置するべき音高Ｋ２を決定する。図３（ａ）の例では音高Ｋ２には音名Ｇ３が該当する。そして、ＣＰＵ５は、基準音高Ｋ１から音高Ｋ２までの音高範囲を基準範囲Ｒ０と決定する。
【００２４】
所定のルールのうち第１のルールについては、ＣＰＵ５は、各対象区間に存在する音符のうち基準音高Ｋ１からの乖離が所定音高差Ｒ１以上である音符に対して、待機タイミングの候補を設定する。例えば、基準音高Ｋ１からの高音域側への乖離が所定音高差Ｒ１Ｈ以上である音符及び、基準音高Ｋ１からの低音域側への乖離が所定音高差Ｒ１Ｌ以上である音符に対して、待機タイミングの候補を設定する。横移動（音高の飛躍）が大きいと初心者には演奏が難しいからである。図３（ａ）の例では、音名Ｇ２以下と音名Ｃ４以上の音符がそれらに該当する。
【００２５】
所定のルールのうち第２のルールについては、ＣＰＵ５は、各対象区間において、同じタイミングで押鍵されるべき音符として、基準範囲Ｒ０内の音符と基準範囲Ｒ０外の音符とが重複する場合、これら重複する音符に対して待機タイミングの候補を設定する。図３（ａ）の例では、音名Ｃ３〜Ｇ３までのいずれかの音とそれ以外の音とが同じタイミングで押鍵されるべき音符として重複する場合に、それら重複する音符に対して待機タイミングの候補が設定される。離れた鍵の重複押下は初心者には難しいからである。なお、待機タイミングの候補設定に際し、第１のルールと第２のルールのいずれか１つを適用するとするが、双方を適用してもよい。
【００２６】
次に、ターン設定処理については、対象区間のそれぞれについてターンが設定される。図３（ｂ）は、対象区間の演奏ガイドの実行段階の遷移を示す図である。演奏ガイドの段階は複数あり、それぞれの実行段階をターンと称している。ターンの数（実行段階数）は固定値とするが、演奏の難度に応じて決定しても良い。対象区間の代表としてステップ１について説明する。演奏ガイドは、お手本演奏から開始され、ターン３までの４段階が順番に実行されて終了する。ここで、お手本演奏では演奏のイメージをつかめるようなガイドを行う。例えば、ＣＰＵ５は、自動演奏と共に鍵発光によるガイドを行うが、ユーザによる演奏入力を待つことなく曲を進行させる。ユーザは主に、鍵発光を目で追って運指等のイメージをつかむ。ただし、お手本演奏を設けることは必須でなく、ターン１以降から開始されるようにしてもよい。
【００２７】
ターン１、２では、実質的なウェイティングが実行される。すなわち、バックパートの演奏と共に、ユーザの押鍵に従った発音が行われるが、ウェイトポイントＷＰにおいては、ユーザによる適切な押鍵操作があるまで曲の進行がストップする。ターン１では、ＣＰＵ５は、待機タイミングの候補の全てを、実際に採用する待機タイミングとして採用し、採用した待機タイミングで、ユーザによる演奏入力を待機する待機処理を行う。ターン２では、ＣＰＵ５は、１つ前に実行される実行段階（ターン１）で採用される待機タイミングの数よりも多くない範囲で、実際に採用する待機タイミングを待機タイミングの候補の中から決定する。
【００２８】
例えば、第１のルールを適用する場合は、ＣＰＵ５は、図３（ａ）に示すように、基準音高Ｋ１からの高音域側への乖離が所定音高差Ｒ２Ｈ（Ｒ１Ｈ＜Ｒ２Ｈ）以上である音符及び、基準音高Ｋ１からの低音域側への乖離が所定音高差Ｒ２Ｌ（Ｒ１Ｌ＜Ｒ２Ｌ）以上である音符に対して設定されている候補を、実際に採用する待機タイミングとして決定する。初心者には、横移動が大きい演奏は練習を繰り返さないと習得が難しいからである。図３（ａ）の例では、音名Ｅ２以下と音名Ｅ４以上の音符がそれらに該当する。一方、第２のルールを適用する場合は、ＣＰＵ５は、重複数（基準範囲Ｒ０内及び基準範囲Ｒ０外の音符の数）が、各実行段階に応じた閾値以上であるような重複する音符に対して設定された待機タイミングの候補を、実際に採用する待機タイミングとして決定する。実行段階に応じた閾値として、例えば、ターン１では２、ターン２では３とする。
【００２９】
ターン３は、最後の実行段階であるので、実際に採用される待機タイミングは零とされる。つまり、ターン３では、ＣＰＵ５は、待機タイミングの候補を１つも採用せず、待機処理を行うことなく光によるガイドを行う。これにより、対象区間を通しで演奏練習でき、円滑に効果を確認することができる。なお、ターン３でも、ターン２より多くない数の待機タイミングを採用してもよい。
【００３０】
なお、各対象区間において、設定されるターンの数は例示に限定されず、対象区間によって異なってもよい。ターン数を増やす上で、第１のルールを適用する場合は、乖離を示す音高差（Ｒ１、Ｒ２等）を実行段階に応じて段階的に大きくすればよい。第２のルールを適用する場合は、実行段階に応じた閾値を、実行段階が進むにつれて大きくすればよい。ターン数を増やした場合でも、各ターンで採用される待機タイミングについては、ＣＰＵ５は、実際に採用する待機タイミングを決定する場合において、１つ前に実行される実行段階について決定された待機タイミングの数よりも多くない範囲で、実際に採用する待機タイミングを決定する。なお、ターン１において、待機タイミングの候補の全てを、実際に採用する待機タイミングとして採用する必要はない。また、ターンごとに演奏テンポを変化させてもよいし、各ターン内で演奏テンポを徐々に速くするようにしてもよい。
【００３１】
図４は、演奏ガイド処理のフローチャートである。この処理は、図示しないメイン処理において、設定操作子２により演奏ガイドへの移行が指示されると開始される。なお、上記メイン処理は電源のオン時に開始され、ＣＰＵ５により実行される。メイン処理では、初期化、機器設定の受け付け、楽音発生処理が実行される。楽音発生処理には、演奏ガイドによる発音や自動演奏による発音だけでなく、通常のリアルタイム演奏による発音も含まれる。
【００３２】
まず、ＣＰＵ５は、ユーザからの設定操作子２への入力に従って、演奏ガイドの対象となる曲を選択し（ステップＳ１０１）、ＣＰＵ５は、選択した曲の原データに対して上述したデータ編集を実行して、演奏データＤＴ（図２）を得る（ステップＳ１０２）。次にＣＰＵ５は、演奏データＤＴの複数の対象区間から今回のガイド対象となる対象区間（ステップ）を選択する（ステップＳ１０３）。ここでは、時系列的な順序で対象区間が選択されるとし、最初は先頭の対象区間が選択される。
【００３３】
次に、ＣＰＵ５は、演奏データＤＴから、今回のステップにおける待機タイミングすなわちウェイトポイントＷＰの候補を全て抽出し（ステップＳ１０４）、ターン値Ｎを０にリセットする（ステップＳ１０５）。次に、ＣＰＵ５は、ターン値Ｎに基づいて、今回のターンで実際に採用するウェイトポイントＷＰを、上記抽出したウェイトポイントＷＰの候補の中から決定する（ステップＳ１０６）。
【００３４】
例えば、第１のルールを適用する場合、ターン値Ｎが０または３であれば１つも採用せず、ターン値Ｎが１であれば、基準音高Ｋ１からの高音域側、低音域側への乖離がそれぞれ所定音高差Ｒ１Ｈ以上、所定音高差Ｒ１Ｌ以上である音符に対して設定されているウェイトポイントＷＰが、実際に採用するウェイトポイントＷＰとして決定される。また、ターン値Ｎが２であれば、基準音高Ｋ１からの高音域側、低音域側への乖離がそれぞれ所定音高差Ｒ２Ｈ以上、所定音高差Ｒ２Ｌ以上である音符に対して設定されているウェイトポイントＷＰが、実際に採用するウェイトポイントＷＰとして決定される。一方、第２のルールを適用する場合、ＣＰＵ５は、ターン値Ｎが０または３であれば１つも採用しない。また、ＣＰＵ５は、ターン値Ｎが１であれば重複数が２以上、ターン値Ｎが２であれば重複数が３以上であるような重複する音符に対して設定された待機タイミングの候補を、実際に採用する待機タイミングとして決定する。
【００３５】
次に、ＣＰＵ５は、ユーザから設定操作子２を介して、レッスンスタートの指示がなされるのを待ち（ステップＳ１０７）、レッスンスタートの指示がなされると、曲進行タイミング（読み出しポインタ）を今回の対象区間の先頭にセットする（ステップＳ１０８）。次に、ＣＰＵ５は、押鍵操作を検出したか否かを判別し（ステップＳ１０９）、押鍵操作を検出しなかた場合は、処理をステップＳ１１３に進める一方、押鍵操作を検出した場合は、現在がウェイティング状態であるか否かを判別する（ステップＳ１１０）。その判別の結果、ＣＰＵ５は、現在がウェイティング状態でない場合は、処理をステップＳ１１３に進める一方、現在がウェイティング状態である場合は、ウェイティング対象音符の全てが、押鍵操作された鍵の音符に含まれるか否かを判別する（ステップＳ１１１）。その判別の結果、ＣＰＵ５は、ウェイティング対象音符の一部でも押鍵操作された鍵の音符に含まれない場合は、処理をステップＳ１０９に戻す一方、ウェイティング対象音符の全てが押鍵操作された鍵の音符に含まれる場合は、ウェイティングを解除してから（ステップＳ１１２）、処理をステップＳ１１３に進める。従って、ウェイティング状態では、適切な演奏入力があるまでウェイティング状態が維持される。
【００３６】
ステップＳ１１３では、ＣＰＵ５は、後述する図６のＬＲパートの処理を実行する。次に、ＣＰＵ５は、バックパートの処理を実行する（ステップＳ１１４）。このバックパートの処理では、演奏トラック（ｃｈ３〜ｃｈ６）の発音処理が実行される。次に、ＣＰＵ５は、最後のターンの処理が終了したか否かを判別し（ステップＳ１１５）、未処理のターンがある場合は、Ｎ←Ｎ＋１として（ステップＳ１１７）、処理をステップＳ１０６に戻すことで、順番が次のターンの処理へと移行する。一方、ＣＰＵ５は、最後のターンの処理が終了した場合は、全ての対象区間（ステップ）の処理が終了したか否かを判別し（ステップＳ１１６）、未処理の対象区間がある場合は、処理をステップＳ１０３に戻して次の対象区間の処理へと移行する一方、全対象区間の処理が終了すると、図４の処理を終了させる。
【００３７】
図５は、タイマ割込処理のフローチャートである。この処理は、レッスンスタートの指示がなされると開始され、一定時間間隔で繰り返し実行される。ステップＳ２０１では、曲進行のタイミング（読み出しポインタ）を１つ進める。
【００３８】
図６は、図４のステップＳ１１３で実行されるＬＲパートの処理のフローチャートである。まず、ＣＰＵ５は、現在のタイミングはイベント発生タイミングであるか否かを判別する（ステップＳ３０１）。なお、イベントは複数が同時発生する場合もある。次に、ＣＰＵ５は、今回のイベントの種類が音符（キーイベント）、テンポ変更イベント、その他のいずれであるかを判別し（ステップＳ３０２）、その判別結果に応じて処理を分岐させる。ＣＰＵ５は、イベントの種類がテンポ変更イベントである場合は、そのイベントに応じてテンポを変更し（ステップＳ３０４）、処理をステップＳ３１４に進める一方、イベントの種類がその他である場合は、そのイベントに応じたその他の処理を実行して（ステップＳ３０５）、処理をステップＳ３１４に進める。
【００３９】
イベントの種類が音符である場合は、ＣＰＵ５は、その音符に対応する発光部１７の発光を開始することで、対応する鍵を光で視認させる（ステップＳ３０３）。次に、ＣＰＵ５は、ゲートタイムをセットし（ステップＳ３０６）、今回の音符がウェイティング対象となっているか否かを、ウェイトポイントＷＰの設定状態から判別、すなわちウェイトフラグＦが音符に設定されているか否かによって判別する（ステップＳ３０７）。その判別の結果、今回の音符がウェイティング対象である場合は、ウェイティングを実行し（ステップＳ３０８）、処理をステップＳ３０９に進める一方、今回の音符がウェイティング対象でない場合は、ウェイティングを実行することなく処理をステップＳ３０９に進める。
【００４０】
ステップＳ３０９では、ＣＰＵ５は、今回の音符が単音か否かを判別し、今回の音符が単音でない場合は、処理をステップＳ３１１に進める。ここで、今回の音符が単音か和音かは、例えば、特開平７−６４５６１号公報に開示される手法により判定できる。一方、今回の音符が単音であれば、ＣＰＵ５は、当該単音の音符のキーオフのタイミングでカスタネット音を発音するよう、音源回路１３へ指示を送出してから（ステップＳ３１０）、処理をステップＳ３１１に進める。ここで、カスタネット音は、演奏データＤＴに基づく演奏音とは別の減衰系の音の例示である。演奏音とは別の減衰音は、演奏音と同じ減衰音（ドラム等）や、持続音（オルガン等）に比べて、演奏音の把握の邪魔になりにくいからである。発音する減衰音は例示に限定されず、クラベス等の音でもよい。カスタネット音の実際の発音は、上記メイン処理における楽音発生処理において実行される。これにより、単音における離鍵操作のタイミングでカスタネット音が発音される。
【００４１】
ステップＳ３１１では、ＣＰＵ５は、演奏ガイド中の音符（この場合、単音でなく和音）に対してウェイトフラグＦが設定されている（Ｆ＝１）か否かを判別する。その判別の結果、演奏ガイド中の音符に対してウェイトフラグＦが設定されている場合は、ＣＰＵ５は、当該和音中の最初の押鍵時刻からゲートタイム分の時間が経過して時点でカスタネット音を発音するよう、音源回路１３へ指示を送出してから（ステップＳ３１２）、処理をステップＳ３１４に進める。上記楽音発生処理においては、和音に対応する鍵のうち最初の押鍵が検出された時点からタイマの計時が開始され、タイマの計時時間がゲートタイム分の時間を経過したらカスタネット音が発音される。一方、演奏ガイド中の音符に対してウェイトフラグＦが設定されていない場合は、ＣＰＵ５は、和音中の最後のキーオフイベント発生時（消音タイミング）にカスタネット音を発音するよう、音源回路１３へ指示を送出してから（ステップＳ３１３）、処理をステップＳ３１４に進める。カスタネット音の実際の発音は、楽音発生処理において実行される。
【００４２】
従って、和音の演奏ガイドにおいては、和音中の全音に対して１回だけ減衰系の楽音が発音される。特に、ウェイティング対象の和音については、和音中の最初に押鍵操作された音の押鍵タイミングから、和音中の音のうち最も長い発音時間が設定されている音の発音時間（ゲートタイム）が経過したタイミングで、１回だけカスタネット音が発音される。しかし、ウェイティング対象でない和音については、和音中の最後にキーオフとなる音のキーオフのタイミングで、１回だけカスタネット音が発音される。
【００４３】
ステップＳ３１４では、ＣＰＵ５は、ステップＳ３０６でセットされたゲートタイムが経過したか否かを判別する。その判別の結果、ＣＰＵ５は、ゲートタイムが経過していない場合は図６の処理を終了させる一方、ゲートタイムが経過した場合は、今回の音符に対応する発光部１７を消光してから（ステップＳ３１５）、図６の処理を終了させる。
【００４４】
本実施の形態によれば、ＣＰＵ５は、各実行段階（ステップ）について実際に採用する待機タイミングを決定する場合において、１つ前に実行される実行段階があるときは、当該１つ前に実行される実行段階について決定された待機タイミングの数よりも多くない範囲で、実際に採用する待機タイミングを決定する。これにより、難度の高い箇所の繰り返しを多くし、効果的な練習を行える。
【００４５】
特に、第１のルールでは、対象区間に存在する音符のうち基準音高Ｋ１からの乖離が所定音高差（Ｒ１）以上である音符に対して待機タイミングの候補を設定するので、横移動が大きい難度の高い箇所に待機タイミングを設けることができる。また、基準音高Ｋ１からの乖離が各実行段階に応じた音高差（Ｒ１、Ｒ２）以上である音符に対して設定された待機タイミングの候補を、実際に採用する待機タイミングとして決定し、上記音高差は、１つ前に実行される実行段階がある場合は、当該１つ前に実行される実行段階に応じた音高差よりも大きい。これにより、実行段階が進むにつれて待機タイミングを減少させ、難度の低い箇所の無駄な繰り返しを回避することができる。
【００４６】
また、第２のルールでは、対象区間において、同じタイミングで押鍵されるべき音符として、基準範囲Ｒ０内の音符と基準範囲Ｒ０外の音符とが重複する場合に、これら重複する音符に対して待機タイミングの候補が設定されるので、離れた鍵の重複押下が必要とされる難度の高い箇所に待機タイミングを設けることができる。また、重複数が各実行段階に応じた閾値以上であるような重複する音符に対して設定された待機タイミングの候補を、実際に採用する待機タイミングとして決定し、上記閾値は、１つ前に実行される実行段階がある場合は、当該１つ前に実行される実行段階に応じた閾値よりも大きい。これにより、実行段階が進むにつれて待機タイミングを減少させ、難度の低い箇所の無駄な繰り返しを回避することができる。
【００４７】
本実施の形態によればまた、対象区間の演奏ガイドの実行中に、演奏データＤＴで規定される消音タイミングで、演奏データＤＴに基づく演奏音とは別の減衰系の楽音を発音するので、視覚に頼ることなく離鍵操作のタイミングを習得させることができる。
【００４８】
また、待機タイミング（ウェイティング）が設定されていない和音の演奏ガイドにおいては、和音中の最後にキーオフとなる音のキーオフのタイミングで１回だけ減衰系の楽音が発音される。これにより、和音についての離鍵タイミングをわかりやすくすることができる。一方、待機タイミングが設定されている和音の演奏ガイドにおいては、和音中の最初に押鍵操作された音の押鍵タイミングから、和音中の音のうち最も長い発音時間（ゲートタイム）が設定されている音の発音時間が経過したタイミングで、１回だけ減衰系の楽音が発音される。これにより、待機処理中における和音についての離鍵タイミングをわかりやすくすることができる。
【００４９】
なお、本実施の形態において、演奏データＤＴがプリセットデータであるとした場合は、図４のステップＳ１０２の処理は実行されない。また、ステップＳ１０１における演奏ガイドの対象となる曲の選択処理は、原データでなくプリセットデータの選択となる。その他の処理に変わりはない。
【００５０】
（第２の実施の形態）
第１の実施の形態では、カスタネット音を発音するタイミングを、イベントの音符が単音か和音か、及びウェイティングが設定されているかどうかによって決定し、さらに和音においては最初の押鍵時刻に応じて決定していた。これに対し、本発明の第２の実施の形態では、カスタネット音の発音タイミングが予め規定されている演奏データを用いて演奏ガイドを行う。第１の実施の形態に対して、図６に代えて図７を用いて第２の実施の形態を説明する。
【００５１】
本実施の形態で用いる演奏データＤＴは、図２（ａ）、（ｂ）に示したものと基本的に同様であり、データ編集処理（図４のステップＳ１０２）が施されているデータである。従って、演奏データＤＴは複数の対象区間（ステップ）に分割され、ユーザトラック、演奏トラック、ウェイティングトラックを含む。また、ウェイトポイントＷＰの候補、演奏ガイドの実行段階（ターン）も設定されている。これに加えて、演奏トラックのいずれかに、カスタネット音の発音用トラックが割り当てられており、カスタネット音の発音イベントが記録されている。演奏データＤＴは、外部記憶装置１０またはＲＯＭ６に記憶され、演奏ガイド実行の際にはＲＡＭ７に読み出される。
【００５２】
また、本実施の形態では、図４において、ステップＳ１０２の処理は廃止される。また、ステップＳ１０１における演奏ガイドの対象となる曲の選択処理は、原データでなくプリセットデータである演奏データＤＴの選択となる。
【００５３】
図７は、図４のステップＳ１１３で実行されるＬＲパートの処理のフローチャートである。まず、ＣＰＵ５は、ステップＳ４０１で、図６のステップＳ３０１と同様の処理を実行する。次に、ＣＰＵ５は、今回のイベントの種類が音符（キーイベント）、テンポ変更イベント、カスタネット音の発音、その他のいずれであるかを判別し（ステップＳ４０２）、その判別結果に応じて処理を分岐させる。ＣＰＵ５は、イベントの種類が音符である場合は、ＣＰＵ５は、処理をステップＳ４０３に進める。ＣＰＵ５は、イベントの種類がテンポ変更イベントである場合は、そのイベントに応じてテンポを変更し（ステップＳ４０４）、処理をステップＳ４１０に進める。ＣＰＵ５は、イベントの種類がカスタネット音の発音である場合は、当該カスタネット音を発音するよう、音源回路１３へ指示を送出してから（ステップＳ４０５）、処理をステップＳ４１０に進める。カスタネット音の実際の発音は、上記メイン処理における楽音発生処理において実行される。これにより、離鍵操作のタイミングをカスタネット音で認識させることができる。ＣＰＵ５は、イベントの種類がその他である場合は、そのイベントに応じたその他の処理を実行して（ステップＳ４０６）、処理をステップＳ４１０に進める。
【００５４】
ステップＳ４０３、Ｓ４０７〜Ｓ４０９では、ＣＰＵ５は、図６のステップＳ３０３、Ｓ３０６〜Ｓ３０８と同様の処理を実行する。ステップＳ４１０、Ｓ４１１では、ＣＰＵ５は、図６のステップＳ３１４、３１５と同様の処理を実行する。
【００５５】
本実施の形態によれば、難度の高い箇所の繰り返しを多くし、効果的な練習を行えること、及び、視覚に頼ることなく離鍵操作のタイミングを習得させることに関し、第１の実施の形態と同様の効果を奏することができる。その際特に、演奏データとしてプリセットデータを用いるので、処理が簡単になる。
【００５６】
なお、難度の高い箇所の繰り返しを多くし、効果的な練習を行えるようにするために、実際に採用する待機タイミングを実行段階に応じて決定する演奏支援装置については、鍵盤楽器に限られず、他の楽器にも適用可能である。
【００５７】
なお、第１、第２の実施の形態における離鍵時の減衰系楽音の発音について、毎回鳴らすのではなく、同じフレーズを複数回繰り返すような場合、回を重ねる度に、発音する減衰系楽音の音量を下げていき、曲本来の演奏の中で自動的に離鍵できるよう促すようにしてもよい。
【００５８】
なお、本発明を達成するためのソフトウェアによって表される制御プログラムを記憶した記憶媒体を、本楽器に読み出すことによって同様の効果を奏するようにしてもよく、その場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、プログラムコードを伝送媒体等を介して供給してもよく、その場合、プログラムコード自体が本発明を構成することになる。なお、これらの場合の記憶媒体としては、ＲＯＭ、ハードディスクのほか、光ディスク等の可搬媒体等を用いることができる。
【００５９】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【符号の説明】
【００６０】
５  ＣＰＵ（候補設定手段、段階設定手段、タイミング決定手段、制御手段）、  ＷＰ  ウェイトポイント、  ＤＴ  演奏データ、  Ｋ１  基準音高、  Ｒ０  基準範囲、  Ｒ１Ｌ、Ｒ１Ｈ  所定音高差、  Ｒ２Ｌ、Ｒ２Ｈ  所定音高差
【図１】
0006668761.tif 000002
【図２】
0006668761.tif 000003
【図３】
0006668761.tif 000004
【図４】
0006668761.tif 000005
【図５】
0006668761.tif 000006
【図６】
0006668761.tif 000007
【図７】
0006668761.tif 000008