演奏ガイド装置、及びプログラム
【課題】演奏中にユーザーが必要とするガイド表示を確実に実施可能な演奏ガイド装置を提供する。
【解決手段】CPU101は、プログラム−ROM102に格納された曲データを参照して、鍵盤103に設けられたLED、或いは表示装置107を用いたガイド表示を行う。そのガイド表示は、スイッチ群105のリマインドスイッチへの操作により、或いは鍵盤104のなかで押鍵すべき鍵がそのタイミングとなってから一定時間が経過してもユーザーが押鍵しないことにより一時的に行う。
【解決手段】CPU101は、プログラム−ROM102に格納された曲データを参照して、鍵盤103に設けられたLED、或いは表示装置107を用いたガイド表示を行う。そのガイド表示は、スイッチ群105のリマインドスイッチへの操作により、或いは鍵盤104のなかで押鍵すべき鍵がそのタイミングとなってから一定時間が経過してもユーザーが押鍵しないことにより一時的に行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドするための技術に関する。
【背景技術】
【0002】
鍵盤等の演奏操作子群への操作により行う楽曲の演奏を支援するものとして、演奏ガイド装置がある。その演奏ガイド装置は普通、演奏の進行に応じて順次、操作すべき演奏操作子、及びその演奏操作子の操作に用いるのを推奨する指(運指)のうちの少なくとも一方を視覚的にユーザーに通知することにより、正しい操作を行えるように支援する。
【0003】
演奏ガイド装置による演奏のガイドは、楽曲単位、つまり楽曲の先頭から最後まで通して行うのが普通である。しかし、そのように一貫してガイドを行うと、つまり常に操作すべき演奏操作子毎に、その演奏操作子、或いは運指(演奏操作情報)の通知を行うと、ユーザーはそのガイドに頼ってしまい、練習効率は低いものとなる傾向がある。このことから、従来の演奏ガイド装置のなかには、特許文献1に記載されているように、演奏のガイドとしての運指の表示(指示)を行うか否かを操作すべき演奏操作子(楽音)毎に設定し、その設定に従って運指表示を行うようにしたものがある。その演奏ガイド装置では、演奏操作子への操作が適切に行われたか否かを監視し、その監視結果に応じて設定を変更することにより、ユーザーが適切な操作を行えなかった演奏操作子への操作に対してのみ、運指表示を行うことを可能とさせている。
【0004】
運指表示、操作すべき演奏操作子の通知は、演奏の進行に合わせて行わなければならないことから、演奏のガイド自体はその通知を行っているか否かに係わらずに実行される。このことから、運指表示や演奏操作子の通知によるガイドについては「ガイド表示」と総称し、そのガイド表示を行うために実行するガイドは単に「ガイド」と呼ぶことにする。
【0005】
なお、演奏の難易度は楽曲全体で常に同レベルとは限らない。その難易度にむらがあるのが普通である。このため、従来の演奏ガイド装置のなかには、特許文献2に記載されているように、楽曲の一部のみをガイドできるようにしたものもある。
【0006】
演奏技術の未熟なユーザー(演奏者)では、演奏中に適切に操作できた演奏操作子への操作を次の演奏でも適切に行えるとは限らない。適切な演奏が行えなかった部分を重視したために、過去に適切な演奏が行えた部分を適切に演奏できなくなることもある。このようなことからガイド表示を必要とする部分を事前に正確に予測するのは非常に困難な面がある。それにより演奏のガイドでは、ユーザーが必要とするガイド表示を確実に実施できるようにすることが重要と考えられる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−207346号公報
【特許文献2】特開昭60−25790号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の課題は、演奏中にユーザーが必要とするガイド表示を確実に実施可能な演奏ガイド装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明の第1〜第2の態様の演奏ガイド装置は共に、演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドすることを前提とし、演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知手段と、前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するための演奏ガイド情報を記憶する情報記憶手段と、情報記憶手段に記憶された演奏ガイド情報前記楽曲の演奏の進行に合わせて処理することにより、前記通知手段を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド手段と、を共通に備え、それぞれ以下の手段を更に具備する。
【0010】
第1の態様の演奏ガイド装置は、演奏ガイド情報を用いて演奏ガイド手段がガイドを行っている場合に、所定の操作子へのユーザーの操作、及び演奏操作子群へのユーザーの操作の有無のうちの少なくとも一方に基づいて、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置以降の内容を変更し、該変更した内容で該演奏ガイド手段に前記演奏操作情報の通知を行わせるガイド制御手段、を更に具備する。
【0011】
なお、上記ガイド制御手段は、前記情報記憶手段が同一の楽曲の前記演奏ガイド情報を複数、記憶している場合に、前記演奏ガイド手段に処理させる該演奏ガイド情報を切り替えることにより、該演奏ガイド情報中の前記処理位置以降の内容を変更する、ことが望ましい。
【0012】
また、前記ガイド制御手段は、前記演奏操作子群のなかで操作すべきタイミングとなった演奏操作子を所定時間、ユーザーが操作しなかった場合に、前記演奏ガイド情報中の前記処理位置以降の内容を変更する、ことが望ましい。
【0013】
第2の態様の演奏ガイド装置は、上記第1の態様における構成に加えて、演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子と、指示用操作子へのユーザーの操作により、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置の内容を変更する情報更新手段と、を更に具備する。
【0014】
なお、上記指示用操作子として、前記演奏操作情報の通知、該演奏操作情報の非通知、及び前記推奨する指の変更、のうち少なくとも一つを指示するための操作子を備え、前記情報更新手段は、前記演奏ガイド手段による前記ガイド中に前記指示用操作子が操作された場合に、前記演奏ガイド情報中の該演奏ガイド手段が処理している処理位置の変更を行う、ことが望ましい。
【0015】
本発明の第1及び第2の態様のプログラムは共に、演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置として用いることが可能なコンピュータに対し、上記第1及び第2の態様の演奏ガイド装置を実現させるための機能を搭載している。
【発明の効果】
【0016】
本発明では、演奏ガイド情報を用いて演奏ガイド手段がガイドを行っている場合に、所定の操作子へのユーザーの操作、及び演奏操作子群へのユーザーの操作の有無のうちの少なくとも一方に基づいて、演奏ガイド情報中の位置以降の内容を変更し、該変更した内容で演奏操作情報の通知を行わせるガイド通知を行う。そのようにしてガイド通知(演奏操作情報の通知)を行う演奏箇所をユーザーが必要と感じる部分に制限する。このためユーザーにとっては、ガイド通知に頼るのを抑えつつ、必要と考えるガイド通知に支援された演奏を行うことができる。それにより、より効率的な演奏練習を行えるようになる。
【0017】
本発明では、演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子へのユーザーの操作により、演奏ガイド情報中の処理位置の内容を変更する。このため、ガイド通知を行わせる演奏箇所をユーザーが必要と感じる部分に制限することができる。それにより、同様の効果を得ることができる。その変更は、演奏ガイド情報を用いてガイドを行っている場合に制限することにより、演奏の流れのなかで必要と感じた変更をユーザーに適切に行わせることができる。
【図面の簡単な説明】
【0018】
【図1】本実施の形態による演奏ガイド装置を搭載した電子楽器の構成図である。
【図2】表示装置を介して行われる演奏ガイドを示す図である。
【図3】プログラム−ROM及びワーク−RAMにそれぞれ格納された演奏ガイド用のデータを示す図である。
【図4】オリジナルガイドDBのデータ構成を示す図である。
【図5】全体処理のフローチャートである。
【図6】スイッチ処理のフローチャートである。
【図7】曲選択スイッチ処理のフローチャートである。
【図8】スタート/ストップスイッチ処理のフローチャートである。
【図9】ガイド表示設定スイッチ処理のフローチャートである。
【図10】ガイド消去設定スイッチ処理のフローチャートである。
【図11】運指変更スイッチ処理のフローチャートである。
【図12】リマインドスイッチ処理のフローチャートである。
【図13】ガイド処理のフローチャートである。
【図14】ガイド処理のフローチャートである(続き1)。
【図15】ガイド処理のフローチャートである(続き2)。
【図16】ガイド処理のフローチャートである(続き3)。
【図17】ガイド処理のフローチャートである(続き4)。
【図18】鍵盤処理のフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、第1の実施の形態による演奏ガイド装置を搭載した電子楽器の構成図である。
その電子楽器は、図1に示すように、楽器全体の制御を行うCPU101と、CPU101が実行するプログラムや演奏ガイド用の曲データ(演奏ガイドデータ)、及び各種制御用データを格納したプログラム−ROM(以降「ROM」)102と、CPU101がワークに用いるワーク−RAM(以降「RAM」)103と、ユーザーが演奏するための鍵盤(演奏操作子群)104と、各種スイッチからなるスイッチ(SW)群105と、鍵盤104、或いはスイッチ群105に対して行われた操作をそれぞれ検出する複数のインターフェースからなるインターフェース群106と、演奏ガイドに用いることが可能な表示装置107と、その表示装置107上に画像を表示させるインターフェース108と、楽音放音用の波形データを格納したW−ROM109と、そのW−ROM109に格納された波形データを用いて放音すべき楽音の波形データを生成する音源110と、その音源110が出力する波形データをアナログの波形信号(オーディオ信号)に変換するD/A変換器(DAC)111と、そのDACが出力するオーディオ信号を放音するスピーカ112と、各部101〜103、106、107及び110を相互に接続するアドレスバス121、及びデータバス122と、を備えた構成となっている。
【0020】
図2は、上記表示装置を介して行われる演奏ガイドを示す図である。図2に示すように演奏のガイドでは、右手、左手でそれぞれ演奏により放音させるべき楽音を示す音符(操作すべき鍵(演奏操作子)に相当する)、及びその鍵の操作(押鍵)に使うのを推奨する指(運指)を演奏操作情報としてユーザー(演奏者)に視覚的に通知(ガイド表示)できるようになっている。
【0021】
本実施の形態では、特には図示していないが、鍵盤104としては各鍵にLEDを配置したものを採用している。それにより操作すべき鍵は、その鍵に対応するLEDを点灯させてユーザーに視覚的に通知するのが可能となっている。そのLEDの点灯/消灯は、インターフェース群106を構成する、その駆動用のインターフェースを介して行われる。このようなことから本実施の形態による演奏ガイド装置は、W−ROM109、音源110、DAC111及びスピーカ111を除く構成によって実現される。図2に示すような演奏情報が表示装置107に表示可能であり、鍵盤104には各鍵にLEDを配置していることから、操作すべき鍵、及び運指のうちの少なくとも一方を視覚的にユーザーに通知する形でガイド表示を行えるようになっている。
【0022】
図3は、ROM102及びRAM103にそれぞれ格納された演奏ガイド用のデータを示す図である。図3(a)はROM102、図3(b)はRAM103に格納されたデータを示している。図3(a)に示すように、ROM102にはオリジナルガイドDB(データベース)、及びリマインドガイドDBが格納される領域が確保されている。一方のRAM103には、図3(b)に示すように、ユーザーガイドDB、及びtempガイドデータが格納されるエリア(領域)が確保されている。
【0023】
図4は、オリジナルガイドDBのデータ構成を示す図である。このDBは、オリジナルの曲データを楽曲毎に管理するために構築されたものである。図4中「曲データ(1)」のように「曲データ」の後に括弧書きで付した「(1)」は、その曲データに割り当てられた曲番号が1であることを示している。その曲データは、演奏ガイドを実行するためのデータであり、曲データ自体は、図4に示すように、演奏イベント毎にそのイベントを発生させるべきタイミングを示すタイムデータ、及びイベント内容を示すイベントデータ(以降それらをまとめて「ガイド表示データ」と呼ぶ)をまとめ、そのまとめたデータを発生させるべきタイミングが早いほうから順に並べた形の構成となっている。タイムデータは、直前のガイド表示データを処理してからの時間(デルタタイム)を示すデータである。そのタイムデータ、及びイベントデータはそれぞれ1アドレスに格納されているものと想定する。
【0024】
上記イベントデータは、演奏イベントが楽音の発音(開始)であれば、そのイベントの種類(図中「ON」と表記)、楽音の音高「図中「NOTE」と表記の例えば鍵番号である)、及び放音させるべき楽音の音量を示すベロシティの各データを備えたものである。楽音の消音であれば、そのイベントの種類(図中「OFF」と表記)、楽音の音高(NOTE)、及び実施ガイド(図中「yz」と表記)の各データを備えたものである。以降、前者は「ノートオンイベントデータ」と呼び、後者は「ノートオフイベントデータ」と呼ぶことにする。
【0025】
「yz」で示す実施ガイドデータは、実際に表示すべきガイドの内容を指定するためのものである。「y」はその内容を指定するガイド内容データ、「z」は運指データをそれぞれ示している。その運指データzは1〜10の間の整数値であり、1〜5は左手の指、6〜10は右手の指を示している。1と6は親指を示し、5と10は小指を示している。ガイド内容データyは1〜4の間の整数値であり、1は鍵と運指の両方のガイド表示をしない、2は運指のみガイド表示する、3は鍵のみガイド表示する、4は鍵と運指の両方のガイド表示をする、という演奏ガイド内容を指示する。それにより曲データは、演奏(ガイド)中に行うべきガイド表示を楽音(鍵)毎に予め設定したものとなっている。上記運指データについては、指番号とも呼ぶことにする。
【0026】
オリジナルガイドDBに格納される曲データは、或る程度の演奏技術を持っている演奏者を想定したものである。リマインドガイドDBには、演奏技術がかなり低い演奏者を想定して作成の曲データを格納している。それにより本実施の形態では、演奏中に必要に応じて、リマインドガイドDBに格納された曲データによるガイド表示を一時的に行えるようにしている。
【0027】
リマインドガイドDBの曲データによる演奏ガイドでは、非常に容易に操作可能と考えられる鍵への押鍵以外は、LED(鍵)の点灯、或いは運指表示(図2)が行われることになる。このためユーザーにとっては、その曲データによる演奏ガイドに切り替えることにより、そのときに必要とするガイド表示のみを一時的に行わせることができるようになっている。そのようにして必要とするガイド表示のみを一時的に行うため、ガイド表示に頼りすぎる演奏を行うようなことは回避でき、ガイド表示に頼る必要のある箇所はガイド表示に頼った演奏を行うことができる。それにより、ガイド表示を常に行う場合と比較して、演奏の練習はより効率的に行うことができる。
【0028】
楽曲で演奏が難しいと感じる部分はユーザーによって異なる場合がある。これは、ガイド表示が必要と考える部分はユーザーによって異なることを意味する。このことから本実施の形態では、ユーザーが所望するガイド表示を行える曲データを生成できるようにしている。その生成は、オリジナルの曲データを更新する形で行うようにしている。RAM103に確保されたtempガイドデータ格納用のエリア(tempガイドデータエリア)は、その更新を行うためのものである。その更新を行った後の曲データはユーザーガイドDBに格納される。このようなことから曲データ自体は、それが格納されるDBやエリアに係わらず同じ構成となっている。
【0029】
ユーザーガイドDBに格納された曲データは、オリジナルの曲データと比較して、ユーザーにとってより適切なガイド表示を行えるものである可能性が高い。このため本実施の形態では、演奏する楽曲の曲データとしてはユーザーガイドDBに格納されているものを優先するようにしている。
【0030】
演奏ガイドは、通常の自動演奏と同じく、スタートの指示によりスタートし、ガイド表示データを順次、それが持つタイムデータに従って処理することで行われる。曲データの更新は、その演奏ガイド中に行うようにしている。これは、演奏中に必要と感じたガイド表示を確実に行えるようにするためである。それにより、ユーザーガイドDBの曲データによるガイド表示は、演奏中に必要とユーザーが考えたもののみを確実に行えるものとさせている。そのような曲データを用いた演奏ガイドにより、ユーザーにとってより効率的な練習を行えるようにしている。
【0031】
上記曲データの選択、つまり曲番号の入力は、スイッチ群105を構成する曲選択スイッチへの操作により行われる。その曲選択スイッチは、2桁以上の曲番号の入力を可能とするために複数、配置されている。それ以外には、演奏ガイドに係わるスイッチとして、演奏ガイドのスタート/ストップを指示するためのスタート/ストップスイッチ、ガイド表示を行わせるように修正を指示するためのガイド表示設定スイッチ、そのガイド表示を行わないように修正を指示するためのガイド消去設定スイッチ、運指表示の変更を指示するための運指変更スイッチ、ガイド表示の一時的な実施を指示するためのリマインドスイッチ、などを備えている。リマインドガイドDBの曲データを一時的に用いた演奏ガイドは、リマインドスイッチを操作することで行われる。
【0032】
上記各種スイッチは、全て備える必要はない。例えば運指変更スイッチは、曲選択スイッチと同様に、指毎に運指表示の変更を指示できるように複数、存在する。それらのスイッチは共に、機能の割り当てを変更するテンキーで代用することができる。しかし、ここでは混乱を避けるため、上記各種スイッチは全て実在しているとの前提で説明を行うこととする。
【0033】
インターフェース群106のスイッチ群105用のインターフェースは、例えばスイッチ群105を構成する各スイッチを走査し、その走査結果を解析することにより、状態が変化したスイッチ、及びその状態変化の内容を特定し、その特定結果をCPU101に通知する。鍵盤104用のインターフェースも同様にして、状態が変化した鍵、その状態変化の内容(押鍵による変化であればベロシティを含む)を特定し、その特定結果をCPU101に通知する。それによりCPU101は、スイッチ群105へのユーザーの操作に応じて楽器全体の制御を行い、鍵盤104への操作に応じて楽音を発音させる制御を行う。それらの制御は、CPU101がROM102から読み出したプログラムを実行することで実現される。
【0034】
楽音の発音/消音は、音源110へのコマンドの送出によって行われる。音源110は、CPU101から入力したコマンドに応じて、W−ROM109に格納されている波形データを用いて発音させるべき楽音の波形データの生成の開始、或いはその生成の終了を行う。生成した波形データは、DAC111に出力する。そのDAC111への波形データの入力により、DAC111からオーディオ信号がスピーカ112に出力されて楽音が放音される。
【0035】
CPU101は、上記プログラムを実行することにより、以下のような処理を行い、曲データを用いた演奏ガイドを実現させる。図5〜図18に示す各種処理のフローチャートを参照して具体的に説明する。
【0036】
図5は、全体処理のフローチャートである。始めに図5を参照して、全体処理について詳細に説明する。
先ず、ステップSA1では、電源の投入によりイニシャライズを行う。続くステップSA2では、スイッチ群105へのユーザーの操作に対応するためのスイッチ処理を実行する。それ以降は、ステップSA3で演奏ガイドを実施するためのガイド処理、ステップSA4で鍵盤104へのユーザーの操作に対応するための鍵盤処理、及びステップSA5でその他の処理を実行してから、上記ステップSA2に戻る。それにより、電源がオンされている間は、ステップSA2〜5で形成される処理ループを繰り返し実行することにより、ユーザーの指示に対応するように動作する。不図示のMIDI端子を介したMIDIデータの送受信等は、ステップSA5の処理を実行することで実現される。
【0037】
以降は、上記全体処理内で実行されるサブルーチン処理について詳細に説明する。
図6は、上記ステップSA2として実行されるスイッチ処理のフローチャートである。サブルーチン処理では始めに図6を参照して、そのスイッチ処理について詳細に説明する。
【0038】
先ず、ステップSB1では、上記曲選択スイッチへの操作に対応するための曲選択スイッチ処理を実行する。その後は、スタート/ストップスイッチ、ガイド表示設定スイッチ、ガイド消去設定スイッチ、運指変更スイッチ、リマインドスイッチ、及びその他のスイッチへの操作に対応するための処理をそれぞれステップSB2〜7で実行してから、このスイッチ処理を終了する。
【0039】
上記ステップSB1〜6では、それぞれ以下のようなサブルーチン処理が実行される。図7〜図12を参照して詳細に説明する。
図7は、上記ステップSB1として実行される曲選択スイッチ処理のフローチャートである。図6に示すスイッチ処理内で実行されるサブルーチン処理では、始めに図7を参照して、その曲選択スイッチ処理について詳細に説明する。
【0040】
上述したように曲選択スイッチは複数、存在し、1つ以上の曲選択スイッチを操作して曲の選択、つまり曲番号の入力を行うようになっている。しかしここでは便宜的に、そのような操作に対応する部分についての詳細な説明は省略することとする。
【0041】
先ず、ステップSC1では、変数STFの値が0か否か判定する。その変数STFは、演奏ガイド中か否かを管理するための変数であり、代入された値としての1は演奏ガイド中であることを示し、値としての0は演奏ガイド中でないことを示している。このことから、演奏ガイド中でない場合、判定はYESとなってステップSC2に移行し、そうでない場合には、判定はNOとなり、ここで曲選択スイッチ処理を終了する。
【0042】
ステップSC2では、曲選択スイッチがONしたか否か判定する。そのスイッチをユーザーが操作した場合、その旨がインターフェース群106のスイッチ群105用のインターフェースからCPU101に通知されることから、判定はYESとなり、ステップSC3で変数Mに、曲選択スイッチへの操作により入力された曲番号を代入してからステップSC4に移行する。そうでない場合には、判定はNOとなり、ここで曲選択スイッチ処理を終了する。
【0043】
ステップSC4では、ユーザーガイドDB内に、曲番号が変数Mの値の曲データ(図中「曲[M]のデータ」)が存在しないか否か判定する。その曲データが存在しない場合、判定はYESとなり、ステップSC5でオリジナルガイドDBの曲番号が変数Mの値の曲データを読み出し、ユーザーガイドDB内にコピーし、更にステップSC6でユーザーガイドDBの曲番号が変数Mの値の曲データをtempガイドデータエリア内にコピーしてから、曲選択スイッチ処理を終了する。一方、そうでない場合には、判定はNOとなり、次にステップSC6に移行する。
【0044】
このようにして、演奏ガイドが行われていない状況下で曲選択スイッチが操作されると、ユーザーが曲の選択を行ったとして、その選択のために入力された曲番号の曲データがtempガイドデータエリアに用意される。そのエリアにコピーする曲データとしては、ユーザーガイドDBのものを優先しているが、コピーすべき曲データが格納されているDBをユーザーが選択できるようにしても良い。
【0045】
図8は、図6に示すスイッチ処理内でステップSB2として実行されるスタート/ストップスイッチ処理のフローチャートである。次に図8を参照して、そのスイッチ処理について詳細に説明する。
【0046】
先ず、ステップSD1では、スタート/ストップスイッチがONしたか否か判定する。そのスイッチをユーザーが操作した場合、判定はYESとなり、ステップSD2で変数STFの値を反転、つまりその値が1であれば0、その値が0であれば1に更新してからステップSD3に移行する。そうでない場合には、判定はNOとなり、ここでスタート。ストップスイッチ処理を終了する。
【0047】
ステップSD3では、変数STFの値が1か否か判定する。その値が0であった場合、判定はNOとなってステップSD12に移行し、そうでない場合には、判定はYESとなってステップSD4に移行する。
【0048】
ステップSD4では、変数AD1に、ユーザーガイドDBの曲番号として変数Mの値が割り当てられた曲データの開始アドレスの値を代入する。続くステップSD5では、変数AD2に、tempガイドデータエリアの開始アドレスの値を代入する。その次のステップSD6では、変数AD3に、オリジナルガイドDBの曲番号として変数Mの値が割り当てられた曲データの開始アドレスの値を代入する。そのようにして、演奏ガイドに用いる曲データの切り替えや曲データの更新を行えるように、ユーザーガイドDB、tempガイドデータエリア、及びリマインドガイドDBのそれぞれに格納されている同じ曲番号の曲データからデータを読み出す、或いはデータを書き込む準備を各変数AD1〜3に初期値を代入することで行った後、ステップSD7に移行する。
【0049】
ステップSD7では、tempガイドデータエリア内の変数AD2の値で指定されるアドレスに格納されているデータ(ここでは図4に示すようにタイムデータである)を読み出す。その次に移行するステップSD8では、読み出したタイムデータを変数Tに代入する。その後は、ステップSD9で変数n及びmにそれぞれ0及び1を代入し、ステップSD10でイベントデータの処理タイミングの到来を判定するための計時用のタイマインタラプト処理の実行禁止解除を行い、更にステップSD11で変数ONFに0を代入してから、スタート/ストップスイッチ処理を終了する。
【0050】
上記タイマインタラプト処理は、タイムデータの最小時間分解能に相当する時間間隔で発生する割り込み信号により起動されるものであり、起動される度に、変数Tの値をデクリメントするようになっている。従って、その0の値は処理タイミングの到来を示している。その実行禁止解除は、その割り込み信号を有効にすることで行われる。逆に禁止は、その割り込み信号を無効にすることで行われる。変数n及びmは、主に曲データ中からデータを読み出すアドレスの指定用に使われる。変数ONFは、操作すべき鍵の有無を判定するために用意したものであり、代入した0の値は、そのような鍵が存在していないことを示し、1の値は、それが存在することを示している。
【0051】
上記ステップSD3の判定がNOとなって移行するステップSD12では、インターフェース108、及びインターフェース群106の対応するインターフェースに指示して、演奏ガイド用の表示を全て終了させる。続くステップSD13では、上記タイマインタラプト処理の実行を禁止し、その後に移行するステップSD14では、tempガイドデータエリアの曲データをユーザーガイドDBに上書き保存するか否かをユーザーに問い合わせ、その問い合わせによるユーザーの指示に応じて上書き保存する。保存を指示しなければ、その曲データは単に廃棄する。スタート/ストップスイッチ処理は、そのようなことを行ってから終了する。
【0052】
図9は、図6に示すスイッチ処理内でステップSB3として実行されるガイド表示設定スイッチ処理のフローチャートである。次に図9を参照して、そのスイッチ処理について詳細に説明する。
【0053】
本実施の形態では、上述したように、曲データ中に挿入されている実施ガイドデータに従ってガイド表示を行うようにしている。それにより、ユーザーがガイド表示を望む部分でガイド表示が実施されるとは限らない。このことから、ガイド表示の実施を望む部分(演奏箇所)でガイド表示を実際に実施させることができるように、このガイド表示設定スイッチを設けている。
【0054】
先ず、ステップSE1では、変数STFの値が1か否か判定する。その値が1、つまり演奏ガイド中であった場合、判定はYESとなってステップSE2に移行する。そうでない場合には、判定はNOとなり、ここでガイド表示設定スイッチ処理を終了する。
【0055】
ステップSE2では、ガイド表示設定スイッチがONしたか否か判定する。そのスイッチを演奏ガイド中にユーザーが操作した場合、判定はYESとなり、ステップSE3で変数GONに1を代入した後、この設定スイッチ処理を終了する。そうでない場合には、判定はNOとなり、ここでこの設定スイッチ処理を終了する。
【0056】
このようにして本実施の形態では、ガイド表示設定スイッチへの操作は演奏ガイド中のみ有効とさせている。それにより、演奏ガイド中にこの設定スイッチを操作した箇所でのガイド表示を実施するように、tempガイドデータエリアに格納されている曲データの変更を行うようにしている。変数GONに代入した1は、ガイド表示設定スイッチが操作されたことを示す値であり、通常は0が代入される。
【0057】
上述したように、ガイド消去設定スイッチは、ガイド表示の実施を望まない部分でガイド表示を実際に実施させることがないように設けられたスイッチ、リマインドスイッチは、ガイド表示を一時的に実施させられるように設けられたスイッチ、運指変更スイッチは、運指表示を変更させられるように設けられたスイッチである。それらのスイッチもガイド表示設定スイッチと同様に、演奏ガイド中のみ有効とされ、演奏ガイド中の操作により、それぞれ変数GOFF、REMINDF、及びCHGFに1が代入される。運指変更スイッチへの操作では、操作された運指変更スイッチに割り当てられた指番号(上記のように1〜10の間の整数値)が変数FINGERに代入される。
【0058】
このようなことから、図10〜図12に示すように、それらへの操作に対応するために図6のスイッチ処理内でステップSB4〜6として実行される各サブルーチン処理のフローチャートは、ステップSB5の運指変更スイッチ処理では指番号を変数FINGERに代入する処理ステップが追加されていることを除き、基本的に同じものとなっている。それにより、これらのサブルーチン処理についての詳細な説明は省略することとする。
【0059】
図5に示す全体処理内で実行されるサブルーチン処理の説明に戻る。
図13〜図17は、ステップSA3として実行されるガイド処理のフローチャートである。次に図13〜図17を参照して、そのガイド処理について詳細に説明する。
【0060】
先ず、ステップSI1では、変数STFの値が1か否か判定する。その値が1であった場合、判定はYESとなってステップSI2に移行し、そうでない場合には、判定はNOとなり、ここでガイド処理を終了する。
【0061】
ステップSI2では、変数ONFの値が0か、つまり押鍵すべき鍵がないか否か判定する。押鍵すべき鍵が存在しない場合、判定はYESとなってステップSI3に移行し、そうでない場合には、判定はNOとなって図16のステップSI32に移行する。
【0062】
ステップSI3では、変数Tの値が0以下か否か判定する。その値が0以下、つまり変数Tにタイムデータを代入したガイド表示データ中のイベントデータを処理すべきタイミングが到来した場合、判定はYESとなり、ステップSI4で変数nの値をインクリメントして進め、更にステップSI5でtempガイドデータエリアの、変数AD2の値と変数nの値の加算結果により指定されるアドレスに格納されているデータの読み出しを行ってからステップSI6に移行する。そうでない場合には、判定はNOとなり、ここでガイド処理を終了する。
【0063】
ステップSI6では、読み出したデータが曲データの最後を示すもの(図中「END」と表記)か否か判定する。その最後を示すものであった場合、判定はYESとなり、ステップSI7で変数STFに0を代入し、ステップSI8で表示中のガイド表示を全て終了させ、更にステップSI9でtempガイドデータエリアの曲データをユーザーガイドDBに上書き保存するか否かをユーザーに問い合わせ、その問い合わせによるユーザーの指示に応じて上書き保存してから、ガイド処理を終了する。そうでない場合には、判定はNOとなってステップSI10に移行する。
【0064】
ステップSI10では、読み出したデータがタイムデータか否か判定する。そのタイムデータを読み出した場合、判定はYESとなり、ステップSI11で変数Tにタイムデータを代入した後、ガイド処理を終了する。そうでない場合には、判定はNOとなって図14のステップSI12に移行する。
【0065】
ステップSI12では、読み出したデータがノートオフイベントデータか否か判定する。そのイベントデータを読み出した場合、判定はYESとなり、ステップSI13でそのイベントデータ中の音高(NOTE)データに対応する鍵のLEDを消灯させ、ステップSI15で変数ONFに0を代入してから、図13のステップSI4に戻る。そうでない場合には、判定はNOとなって図15のステップSI16に移行する。
【0066】
ステップSI16では、読み出したデータがノートオンイベントデータか否か判定する。そのイベントデータを読み出していない場合、判定はNOとなり、ステップSI17でその他のイベントデータに対応するための処理を実行した後、図13のステップSI4に戻る。そうでない場合には、つまりノートオンイベントデータを読み出した場合には、判定はYESとなり、ステップSI18でそのイベントデータ中の音高データ(図中「ノート」と表記)を変数NOTEに代入し、ステップSI19で変数mに1を代入してからステップSI20に移行する。
【0067】
本実施の形態では、図4に示すように、実施ガイドデータはノートオフイベントデータ中に挿入している。これは、ノートオフイベントデータでは不要なベロシティデータの格納スペースを有効利用するためである。ステップSI20〜SI23では、変数mの値を順次、インクリメントしながら、読み出したノートオンイベントデータに対応するノートオフイベントデータを読み出すための処理が行われる。
【0068】
先ず、ステップSI20では、tempガイドデータエリアの変数AD2、n及びmの各値の加算結果により指定されるアドレスからデータを読み出す。次のステップSI21では、読み出したデータがノートオフイベントデータか否か判定する。読み出したデータがそのイベントデータでない場合、判定はNOとなり、ステップSI22で変数mの値をインクリメントしてから上記ステップSI20に戻る。そうでない場合には、判定はYESとなってステップSI23に移行する。
【0069】
ステップSI23では、ノートオフイベントデータ中の音高データの値(鍵番号)が変数ノートの値と等しいか否か判定する。それらの値が等しくない場合、判定はNOとなり、上記ステップSI22に移行して変数mの値のインクリメントを行う。そうでない場合には、図13のステップSI5で読み出したノートオンイベントデータに対応するノートオフイベントデータを読み出せた場合には、判定はYESとなってステップSI24に移行する。
【0070】
ステップSI24では、ステップSI20で読み出したイベントデータから実施ガイドデータyzを抽出する。その抽出後はステップSI25に移行して、ガイド内容データyの値が3及び4のうちの一方と等しいか否か判定する。その値が3或いは4であった場合、判定はYESとなってステップSI26に移行する。そうでない場合には、判定はNOとなってステップSI31に移行する。
【0071】
ステップSI26では、変数NOTEの値(鍵番号)が割り当てられた鍵のLEDを点灯させる。続くステップSI27では、ガイド内容データyの値が4か否か判定する。その値が4であった場合、判定はYESとなり、ステップSI28で運指データzに従って押鍵すべき鍵の押鍵に推奨する運指の表示を行い(図2)、ステップSI29で変数Nに変数n及びmの加算結果を代入し、更にステップSI30で変数ONFに1を代入してから図13のステップSI4に戻る。そうでない場合には、判定はNOとなり、上記ステップSI29に移行する。
【0072】
一方、ステップSI31では、ガイド内容データyの値が2か否か判定する。その値が2であった場合、判定はYESとなって上記ステップSI28に移行する。そうでない場合には、判定はNOとなって上記ステップSI29に移行する。
【0073】
このようにしてガイド表示は、上記ステップSI25〜SI28、及びSI31の処理を実行することにより、ガイド内容データyに応じて行われる。
図13のステップSI2の判定がNOとなって移行する図16のステップSI32では、変数REMINDFの値が1か否か判定する。リマインドスイッチをユーザーが操作した場合、その値は1であることから、判定はYESとなってステップSI33に移行する。そうでない場合には、判定はNOとなってステップSI42に移行する。
【0074】
ステップSI33では、リマインドガイドDBで変数Mの値を曲番号として割り当てられた曲データの、変数AD3及びNの値の加算結果により指定されるアドレスからデータを読み出す。読み出した後はステップSI34に移行する。ステップSI34〜SI39の各ステップで実行される処理の内容は、図15のステップSI24〜SI28及びSI31と基本的に同じであるため、詳細な説明は省略する。それらのステップの処理を実行することにより、リマインドガイドDBの曲データによる演奏ガイドが行われ、より演奏技術の未熟なユーザーを想定したガイド表示が実施されることになる。ステップSI40には、ステップSI37若しくはSI39でのNOの判定、或いはステップSI38の処理の実行により移行する。
【0075】
ステップSI40では、タイマインタラプト処理の実行を禁止する。続くステップSI41では、変数REMINDFに0を代入する。図17のステップSI56には、その後に移行する。
【0076】
このようにして本実施の形態では、リマインドスイッチをユーザーが操作すると、1回の押鍵分のガイド表示のみを行うようにしている。これは、ユーザーが望んでいないガイド表示を行うことを確実に回避させるためである。このことは、他のスイッチでも同じとしているが、予め設定の演奏期間(例えば1小節、或いは所定数の音符)を単位としてガイド表示(曲データの変更)を行うようにしても良い。他のスイッチでは、演奏の流れのなかでガイド表示が必要、ガイド表示は必要でない、或いは運指表示されている指とは異なる指を用いるほうが望ましい、と感じたユーザーの感覚に沿った曲データの変更を容易、且つ適切に行えるようにすることを重視したためである。
【0077】
なお、本実施の形態では、演奏ガイドに用いる曲データを切り替えることにより、リマインドスイッチへの操作に対応しているが、ガイド内容データyに係わらず、定めたガイド表示を行うようにしても良い。
【0078】
上記ステップSI42では、変数Tの値が所定値−α以下か否か判定する。鍵を押鍵すべきタイミングとなってから一定時間、ユーザーがその鍵を押鍵しなかった場合、その関係が成立して判定はYESとなり、上記ステップSI33に移行する。そうでない場合には、判定はNOとなってステップSI43に移行する。
【0079】
このようにして本実施の形態では、鍵を押鍵すべきタイミングとなってから一定時間、ユーザーがその鍵を押鍵しなかった場合、リマインドスイッチが操作された時と同じ処理を実行するようにしている。これは、ユーザーが鍵を押鍵できなかったのは、その鍵の押鍵にはガイド表示が必要と見なせるためである。
【0080】
ステップSI43では、変数KEYONFの値が1か否か判定する。その変数は、鍵盤104上の鍵をユーザーが新たに押鍵したか否か判定用のものである。1はその押鍵が行われたことを示し、0はその押鍵が行われていないことを示している。このことから、ユーザーが新たな押鍵を行っていない場合、判定はNOとなり、図17のステップSI45に移行する。そうでない場合には、判定はYESとなってステップSI44に移行する。
【0081】
ステップSI44では、変数KEYの値が変数NOTEの値と等しいか否か判定する。その変数は、ユーザーが新たに押鍵した鍵に割り当てられている鍵番号が代入されるものである。このため、押鍵すべき鍵をユーザーが新たに押鍵した場合、判定はYESとなり、ステップSI44aで変数ONFに0を代入してから、図13のステップSI4に戻る。そうでない場合には、判定はNOとなり、図17のステップSI45に移行する。
【0082】
ステップSI45では、変数GONの値が1か否か判定する。その値が0、つまりユーザーがガイド表示設定スイッチを操作していない場合、判定はNOとなってステップSI48に移行する。そうでない場合には、判定はYESとなってステップSI46に移行する。
【0083】
ステップSI46では、リマインドガイドDBで変数Mの値を曲番号として割り当てられた曲データの、変数AD3及びNの値の加算結果により指定されるアドレスからデータ(ノートオフイベントデータ)を読み出し、その読み出したデータを、tempガイドデータエリアの変数AD2及びNの値の加算結果により指定されるアドレスに上書きする。その上書き後は、ステップSI47で変数GONに0を代入してからステップSI56に移行する。
【0084】
ステップSI48では、変数GOFFの値が1か否か判定する。その値が0、つまりユーザーがガイド消去設定スイッチを操作していない場合、判定はNOとなってステップSI52に移行する。そうでない場合には、判定はYESとなってステップSI49に移行する。
【0085】
ステップSI49では、ガイド表示中であればそれを終了させる。続くステップSI50では、tempガイドデータエリアの変数AD2及びNの値の加算結果により指定されるアドレスに格納されているデータ(ノートオフイベントデータ)中の実施ガイドデータyzを、「1z」に書き換える。それにより、ガイド表示は行わないように実施ガイドデータyzを変更する。そのような変更後は、ステップSI51で変数GOFFに0を代入してからステップSI56に移行する。
【0086】
ステップSI52では、変数CHGFの値が1か否か判定する。その値が0、つまりユーザーが運指変更スイッチを操作していない場合、判定はNOとなって図13のステップSI4に戻る。そうでない場合には、判定はYESとなってステップSI53に移行する。
【0087】
ステップSI53では、運指表示中であればそれを終了させる。続くステップSI54では、tempガイドデータエリアの変数AD2及びNの値の加算結果により指定されるアドレスに格納されているデータ(ノートオフイベントデータ)中の実施ガイドデータyzを、その運指データのみ変数FINGERの値に書き換える(図中、書き換え後の実施ガイドデータを「y・FINGER」と表記)。その書き換え後は、ステップSI55で変数CHGFに0を代入してからステップSI56に移行する。
【0088】
ステップSI56では、変数nに、それまでの値から所定値を引いた値を代入する。それにより、ガイド表示を行うべき箇所を前に戻す。その後はステップSI57に移行して、tempガイドデータエリアの変数AD2及びnの値の加算結果により指定されるアドレスからデータを読み出し、その読み出したデータがタイムデータか否か判定する。そのタイムデータを読み出した場合、判定はYESとなってステップSI59に移行し、そうでない場合には、判定はNOとなり、ステップSI58で変数nの値をインクリメントしてから、再度、ステップSI57の処理を実行する。
【0089】
ステップSI59では、読み出したタイムデータを変数Tに代入する。次のステップSI60では、変数mに0を代入する。その次のステップSI61では、タイマインタラプト処理の実行禁止を解除する。その解除を行った後、ガイド処理を終了する。
【0090】
このようにして本実施の形態では、リマインドスイッチ、ガイド表示設定スイッチ、ガイド消去設定スイッチ、及び運指変更スイッチのうちの何れかをユーザーが操作すると、その時点より前の位置から演奏ガイドを再度、行うようにしている。これは、それらのスイッチへの操作を適切に行えたか否かをユーザーに直ちに確認させるためである。その確認を直ちに行わせることにより、ユーザーにとってはその確認をより適切、且つ容易に行えるようになる。
【0091】
図18は、図5の全体処理内でステップSA4として実行される鍵盤処理のフローチャートである。最後に図18を参照して、その鍵盤処理について詳細に説明する。
先ず、ステップSJ1では、インターフェース群106の対応するインターフェースに鍵盤104の走査を行わせ、その走査による解析結果を受け取る。続くステップSJ2では、その解析結果により、鍵盤104上の鍵で生じた変化を判定する。その変化が何れの鍵で生じていないと判定した場合、ここで鍵盤処理を終了する。押鍵(オン)による変化が生じたと判定した場合には、ステップSJ3に移行する。
【0092】
ステップSJ3では、押鍵による変化が生じた鍵の鍵番号を変数KEYに代入する。次のステップSJ4では、ベロシティを変数VELOCITYに代入する。その次のステップSJ5では、変数KEY及びVELOCITYの各値を用いて、楽音の発音指示用のコマンドを作成し、その作成したコマンドは続くステップSJ6で音源110に送付する。その送付後は、ステップSJ7で上記変数KEYONFに1を代入してから、鍵盤処理を終了する。上記変数KEY及びVELOCITYに代入する値は、インターフェースから受け取った解析結果に存在する値である。
【0093】
上記ステップSJ2において、離鍵(オフ)による変化が生じたと判定した場合には、ステップSJ8に移行し、離鍵による変化が生じた鍵の鍵番号を変数KEYに代入する。次のステップSJ9では、変数VELOCITYに0を代入する。その次のステップSJ10では、変数KEY及びVELOCITYの各値を用いて、楽音の消音指示用のコマンドを作成し、その作成したコマンドは続くステップSJ11で音源110に送付する。その送付後は、ステップSJ12で上記変数KEYONFに0を代入してから、鍵盤処理を終了する。このとき変数KEY及びVELOCITYに代入する値も、インターフェースから受け取った解析結果に存在する値である。
【0094】
鍵盤104上の複数の鍵をユーザーが同時に押鍵する、或いは押鍵している状態となることも多い。しかし、上述の鍵盤処理(図18)では、混乱を避けるために、ユーザーが同時に押鍵するのは1鍵のみとの想定で実行される処理、その流れを説明している。
【0095】
なお、本実施の形態では、押鍵すべき鍵、その鍵の押鍵に推奨する指の両方がガイド表示可能(演奏操作情報として通知可能)となっているが、そのうちの一方のみをガイド表示しても良い。そのガイド表示は、リマインドスイッチへの操作により一時的に行わせることができるようにしているが、逆に、一時的に行わせないように指定できるようにしても良い。そのような指定を可能とすることにより、ユーザー(演奏者)にとってはガイドに頼らずに演奏すべき箇所をガイドに頼らずに演奏することができるようになる。それにより、別の視点でユーザーの要望に対応できることとなる。その実現には、上述の手法を用いることができる。本実施の形態は、電子楽器に搭載された演奏ガイド装置に本発明を適用したものであるが、本発明は専用の装置、或いは別の装置に搭載されたものに適用しても良い。
【0096】
上述したような演奏ガイド装置を実現させるようなプログラムは、CD−ROM、DVD、或いは着脱自在なフラッシュメモリ等の記録媒体に記録させて配布しても良い。公衆網等の通信ネットワークを介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得して、演奏ガイド装置として用いることが可能なコンピュータにロードすることにより、そのコンピュータに本発明を適用させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【符号の説明】
【0097】
101 CPU
102 プログラム−ROM
103 ワーク−RAM
104 鍵盤
105 スイッチ群
106 インターフェース群
107 表示装置
108 インターフェース
121 アドレスバス
122 データバス
【技術分野】
【0001】
本発明は、演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドするための技術に関する。
【背景技術】
【0002】
鍵盤等の演奏操作子群への操作により行う楽曲の演奏を支援するものとして、演奏ガイド装置がある。その演奏ガイド装置は普通、演奏の進行に応じて順次、操作すべき演奏操作子、及びその演奏操作子の操作に用いるのを推奨する指(運指)のうちの少なくとも一方を視覚的にユーザーに通知することにより、正しい操作を行えるように支援する。
【0003】
演奏ガイド装置による演奏のガイドは、楽曲単位、つまり楽曲の先頭から最後まで通して行うのが普通である。しかし、そのように一貫してガイドを行うと、つまり常に操作すべき演奏操作子毎に、その演奏操作子、或いは運指(演奏操作情報)の通知を行うと、ユーザーはそのガイドに頼ってしまい、練習効率は低いものとなる傾向がある。このことから、従来の演奏ガイド装置のなかには、特許文献1に記載されているように、演奏のガイドとしての運指の表示(指示)を行うか否かを操作すべき演奏操作子(楽音)毎に設定し、その設定に従って運指表示を行うようにしたものがある。その演奏ガイド装置では、演奏操作子への操作が適切に行われたか否かを監視し、その監視結果に応じて設定を変更することにより、ユーザーが適切な操作を行えなかった演奏操作子への操作に対してのみ、運指表示を行うことを可能とさせている。
【0004】
運指表示、操作すべき演奏操作子の通知は、演奏の進行に合わせて行わなければならないことから、演奏のガイド自体はその通知を行っているか否かに係わらずに実行される。このことから、運指表示や演奏操作子の通知によるガイドについては「ガイド表示」と総称し、そのガイド表示を行うために実行するガイドは単に「ガイド」と呼ぶことにする。
【0005】
なお、演奏の難易度は楽曲全体で常に同レベルとは限らない。その難易度にむらがあるのが普通である。このため、従来の演奏ガイド装置のなかには、特許文献2に記載されているように、楽曲の一部のみをガイドできるようにしたものもある。
【0006】
演奏技術の未熟なユーザー(演奏者)では、演奏中に適切に操作できた演奏操作子への操作を次の演奏でも適切に行えるとは限らない。適切な演奏が行えなかった部分を重視したために、過去に適切な演奏が行えた部分を適切に演奏できなくなることもある。このようなことからガイド表示を必要とする部分を事前に正確に予測するのは非常に困難な面がある。それにより演奏のガイドでは、ユーザーが必要とするガイド表示を確実に実施できるようにすることが重要と考えられる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−207346号公報
【特許文献2】特開昭60−25790号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の課題は、演奏中にユーザーが必要とするガイド表示を確実に実施可能な演奏ガイド装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明の第1〜第2の態様の演奏ガイド装置は共に、演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドすることを前提とし、演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知手段と、前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するための演奏ガイド情報を記憶する情報記憶手段と、情報記憶手段に記憶された演奏ガイド情報前記楽曲の演奏の進行に合わせて処理することにより、前記通知手段を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド手段と、を共通に備え、それぞれ以下の手段を更に具備する。
【0010】
第1の態様の演奏ガイド装置は、演奏ガイド情報を用いて演奏ガイド手段がガイドを行っている場合に、所定の操作子へのユーザーの操作、及び演奏操作子群へのユーザーの操作の有無のうちの少なくとも一方に基づいて、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置以降の内容を変更し、該変更した内容で該演奏ガイド手段に前記演奏操作情報の通知を行わせるガイド制御手段、を更に具備する。
【0011】
なお、上記ガイド制御手段は、前記情報記憶手段が同一の楽曲の前記演奏ガイド情報を複数、記憶している場合に、前記演奏ガイド手段に処理させる該演奏ガイド情報を切り替えることにより、該演奏ガイド情報中の前記処理位置以降の内容を変更する、ことが望ましい。
【0012】
また、前記ガイド制御手段は、前記演奏操作子群のなかで操作すべきタイミングとなった演奏操作子を所定時間、ユーザーが操作しなかった場合に、前記演奏ガイド情報中の前記処理位置以降の内容を変更する、ことが望ましい。
【0013】
第2の態様の演奏ガイド装置は、上記第1の態様における構成に加えて、演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子と、指示用操作子へのユーザーの操作により、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置の内容を変更する情報更新手段と、を更に具備する。
【0014】
なお、上記指示用操作子として、前記演奏操作情報の通知、該演奏操作情報の非通知、及び前記推奨する指の変更、のうち少なくとも一つを指示するための操作子を備え、前記情報更新手段は、前記演奏ガイド手段による前記ガイド中に前記指示用操作子が操作された場合に、前記演奏ガイド情報中の該演奏ガイド手段が処理している処理位置の変更を行う、ことが望ましい。
【0015】
本発明の第1及び第2の態様のプログラムは共に、演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置として用いることが可能なコンピュータに対し、上記第1及び第2の態様の演奏ガイド装置を実現させるための機能を搭載している。
【発明の効果】
【0016】
本発明では、演奏ガイド情報を用いて演奏ガイド手段がガイドを行っている場合に、所定の操作子へのユーザーの操作、及び演奏操作子群へのユーザーの操作の有無のうちの少なくとも一方に基づいて、演奏ガイド情報中の位置以降の内容を変更し、該変更した内容で演奏操作情報の通知を行わせるガイド通知を行う。そのようにしてガイド通知(演奏操作情報の通知)を行う演奏箇所をユーザーが必要と感じる部分に制限する。このためユーザーにとっては、ガイド通知に頼るのを抑えつつ、必要と考えるガイド通知に支援された演奏を行うことができる。それにより、より効率的な演奏練習を行えるようになる。
【0017】
本発明では、演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子へのユーザーの操作により、演奏ガイド情報中の処理位置の内容を変更する。このため、ガイド通知を行わせる演奏箇所をユーザーが必要と感じる部分に制限することができる。それにより、同様の効果を得ることができる。その変更は、演奏ガイド情報を用いてガイドを行っている場合に制限することにより、演奏の流れのなかで必要と感じた変更をユーザーに適切に行わせることができる。
【図面の簡単な説明】
【0018】
【図1】本実施の形態による演奏ガイド装置を搭載した電子楽器の構成図である。
【図2】表示装置を介して行われる演奏ガイドを示す図である。
【図3】プログラム−ROM及びワーク−RAMにそれぞれ格納された演奏ガイド用のデータを示す図である。
【図4】オリジナルガイドDBのデータ構成を示す図である。
【図5】全体処理のフローチャートである。
【図6】スイッチ処理のフローチャートである。
【図7】曲選択スイッチ処理のフローチャートである。
【図8】スタート/ストップスイッチ処理のフローチャートである。
【図9】ガイド表示設定スイッチ処理のフローチャートである。
【図10】ガイド消去設定スイッチ処理のフローチャートである。
【図11】運指変更スイッチ処理のフローチャートである。
【図12】リマインドスイッチ処理のフローチャートである。
【図13】ガイド処理のフローチャートである。
【図14】ガイド処理のフローチャートである(続き1)。
【図15】ガイド処理のフローチャートである(続き2)。
【図16】ガイド処理のフローチャートである(続き3)。
【図17】ガイド処理のフローチャートである(続き4)。
【図18】鍵盤処理のフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図1は、第1の実施の形態による演奏ガイド装置を搭載した電子楽器の構成図である。
その電子楽器は、図1に示すように、楽器全体の制御を行うCPU101と、CPU101が実行するプログラムや演奏ガイド用の曲データ(演奏ガイドデータ)、及び各種制御用データを格納したプログラム−ROM(以降「ROM」)102と、CPU101がワークに用いるワーク−RAM(以降「RAM」)103と、ユーザーが演奏するための鍵盤(演奏操作子群)104と、各種スイッチからなるスイッチ(SW)群105と、鍵盤104、或いはスイッチ群105に対して行われた操作をそれぞれ検出する複数のインターフェースからなるインターフェース群106と、演奏ガイドに用いることが可能な表示装置107と、その表示装置107上に画像を表示させるインターフェース108と、楽音放音用の波形データを格納したW−ROM109と、そのW−ROM109に格納された波形データを用いて放音すべき楽音の波形データを生成する音源110と、その音源110が出力する波形データをアナログの波形信号(オーディオ信号)に変換するD/A変換器(DAC)111と、そのDACが出力するオーディオ信号を放音するスピーカ112と、各部101〜103、106、107及び110を相互に接続するアドレスバス121、及びデータバス122と、を備えた構成となっている。
【0020】
図2は、上記表示装置を介して行われる演奏ガイドを示す図である。図2に示すように演奏のガイドでは、右手、左手でそれぞれ演奏により放音させるべき楽音を示す音符(操作すべき鍵(演奏操作子)に相当する)、及びその鍵の操作(押鍵)に使うのを推奨する指(運指)を演奏操作情報としてユーザー(演奏者)に視覚的に通知(ガイド表示)できるようになっている。
【0021】
本実施の形態では、特には図示していないが、鍵盤104としては各鍵にLEDを配置したものを採用している。それにより操作すべき鍵は、その鍵に対応するLEDを点灯させてユーザーに視覚的に通知するのが可能となっている。そのLEDの点灯/消灯は、インターフェース群106を構成する、その駆動用のインターフェースを介して行われる。このようなことから本実施の形態による演奏ガイド装置は、W−ROM109、音源110、DAC111及びスピーカ111を除く構成によって実現される。図2に示すような演奏情報が表示装置107に表示可能であり、鍵盤104には各鍵にLEDを配置していることから、操作すべき鍵、及び運指のうちの少なくとも一方を視覚的にユーザーに通知する形でガイド表示を行えるようになっている。
【0022】
図3は、ROM102及びRAM103にそれぞれ格納された演奏ガイド用のデータを示す図である。図3(a)はROM102、図3(b)はRAM103に格納されたデータを示している。図3(a)に示すように、ROM102にはオリジナルガイドDB(データベース)、及びリマインドガイドDBが格納される領域が確保されている。一方のRAM103には、図3(b)に示すように、ユーザーガイドDB、及びtempガイドデータが格納されるエリア(領域)が確保されている。
【0023】
図4は、オリジナルガイドDBのデータ構成を示す図である。このDBは、オリジナルの曲データを楽曲毎に管理するために構築されたものである。図4中「曲データ(1)」のように「曲データ」の後に括弧書きで付した「(1)」は、その曲データに割り当てられた曲番号が1であることを示している。その曲データは、演奏ガイドを実行するためのデータであり、曲データ自体は、図4に示すように、演奏イベント毎にそのイベントを発生させるべきタイミングを示すタイムデータ、及びイベント内容を示すイベントデータ(以降それらをまとめて「ガイド表示データ」と呼ぶ)をまとめ、そのまとめたデータを発生させるべきタイミングが早いほうから順に並べた形の構成となっている。タイムデータは、直前のガイド表示データを処理してからの時間(デルタタイム)を示すデータである。そのタイムデータ、及びイベントデータはそれぞれ1アドレスに格納されているものと想定する。
【0024】
上記イベントデータは、演奏イベントが楽音の発音(開始)であれば、そのイベントの種類(図中「ON」と表記)、楽音の音高「図中「NOTE」と表記の例えば鍵番号である)、及び放音させるべき楽音の音量を示すベロシティの各データを備えたものである。楽音の消音であれば、そのイベントの種類(図中「OFF」と表記)、楽音の音高(NOTE)、及び実施ガイド(図中「yz」と表記)の各データを備えたものである。以降、前者は「ノートオンイベントデータ」と呼び、後者は「ノートオフイベントデータ」と呼ぶことにする。
【0025】
「yz」で示す実施ガイドデータは、実際に表示すべきガイドの内容を指定するためのものである。「y」はその内容を指定するガイド内容データ、「z」は運指データをそれぞれ示している。その運指データzは1〜10の間の整数値であり、1〜5は左手の指、6〜10は右手の指を示している。1と6は親指を示し、5と10は小指を示している。ガイド内容データyは1〜4の間の整数値であり、1は鍵と運指の両方のガイド表示をしない、2は運指のみガイド表示する、3は鍵のみガイド表示する、4は鍵と運指の両方のガイド表示をする、という演奏ガイド内容を指示する。それにより曲データは、演奏(ガイド)中に行うべきガイド表示を楽音(鍵)毎に予め設定したものとなっている。上記運指データについては、指番号とも呼ぶことにする。
【0026】
オリジナルガイドDBに格納される曲データは、或る程度の演奏技術を持っている演奏者を想定したものである。リマインドガイドDBには、演奏技術がかなり低い演奏者を想定して作成の曲データを格納している。それにより本実施の形態では、演奏中に必要に応じて、リマインドガイドDBに格納された曲データによるガイド表示を一時的に行えるようにしている。
【0027】
リマインドガイドDBの曲データによる演奏ガイドでは、非常に容易に操作可能と考えられる鍵への押鍵以外は、LED(鍵)の点灯、或いは運指表示(図2)が行われることになる。このためユーザーにとっては、その曲データによる演奏ガイドに切り替えることにより、そのときに必要とするガイド表示のみを一時的に行わせることができるようになっている。そのようにして必要とするガイド表示のみを一時的に行うため、ガイド表示に頼りすぎる演奏を行うようなことは回避でき、ガイド表示に頼る必要のある箇所はガイド表示に頼った演奏を行うことができる。それにより、ガイド表示を常に行う場合と比較して、演奏の練習はより効率的に行うことができる。
【0028】
楽曲で演奏が難しいと感じる部分はユーザーによって異なる場合がある。これは、ガイド表示が必要と考える部分はユーザーによって異なることを意味する。このことから本実施の形態では、ユーザーが所望するガイド表示を行える曲データを生成できるようにしている。その生成は、オリジナルの曲データを更新する形で行うようにしている。RAM103に確保されたtempガイドデータ格納用のエリア(tempガイドデータエリア)は、その更新を行うためのものである。その更新を行った後の曲データはユーザーガイドDBに格納される。このようなことから曲データ自体は、それが格納されるDBやエリアに係わらず同じ構成となっている。
【0029】
ユーザーガイドDBに格納された曲データは、オリジナルの曲データと比較して、ユーザーにとってより適切なガイド表示を行えるものである可能性が高い。このため本実施の形態では、演奏する楽曲の曲データとしてはユーザーガイドDBに格納されているものを優先するようにしている。
【0030】
演奏ガイドは、通常の自動演奏と同じく、スタートの指示によりスタートし、ガイド表示データを順次、それが持つタイムデータに従って処理することで行われる。曲データの更新は、その演奏ガイド中に行うようにしている。これは、演奏中に必要と感じたガイド表示を確実に行えるようにするためである。それにより、ユーザーガイドDBの曲データによるガイド表示は、演奏中に必要とユーザーが考えたもののみを確実に行えるものとさせている。そのような曲データを用いた演奏ガイドにより、ユーザーにとってより効率的な練習を行えるようにしている。
【0031】
上記曲データの選択、つまり曲番号の入力は、スイッチ群105を構成する曲選択スイッチへの操作により行われる。その曲選択スイッチは、2桁以上の曲番号の入力を可能とするために複数、配置されている。それ以外には、演奏ガイドに係わるスイッチとして、演奏ガイドのスタート/ストップを指示するためのスタート/ストップスイッチ、ガイド表示を行わせるように修正を指示するためのガイド表示設定スイッチ、そのガイド表示を行わないように修正を指示するためのガイド消去設定スイッチ、運指表示の変更を指示するための運指変更スイッチ、ガイド表示の一時的な実施を指示するためのリマインドスイッチ、などを備えている。リマインドガイドDBの曲データを一時的に用いた演奏ガイドは、リマインドスイッチを操作することで行われる。
【0032】
上記各種スイッチは、全て備える必要はない。例えば運指変更スイッチは、曲選択スイッチと同様に、指毎に運指表示の変更を指示できるように複数、存在する。それらのスイッチは共に、機能の割り当てを変更するテンキーで代用することができる。しかし、ここでは混乱を避けるため、上記各種スイッチは全て実在しているとの前提で説明を行うこととする。
【0033】
インターフェース群106のスイッチ群105用のインターフェースは、例えばスイッチ群105を構成する各スイッチを走査し、その走査結果を解析することにより、状態が変化したスイッチ、及びその状態変化の内容を特定し、その特定結果をCPU101に通知する。鍵盤104用のインターフェースも同様にして、状態が変化した鍵、その状態変化の内容(押鍵による変化であればベロシティを含む)を特定し、その特定結果をCPU101に通知する。それによりCPU101は、スイッチ群105へのユーザーの操作に応じて楽器全体の制御を行い、鍵盤104への操作に応じて楽音を発音させる制御を行う。それらの制御は、CPU101がROM102から読み出したプログラムを実行することで実現される。
【0034】
楽音の発音/消音は、音源110へのコマンドの送出によって行われる。音源110は、CPU101から入力したコマンドに応じて、W−ROM109に格納されている波形データを用いて発音させるべき楽音の波形データの生成の開始、或いはその生成の終了を行う。生成した波形データは、DAC111に出力する。そのDAC111への波形データの入力により、DAC111からオーディオ信号がスピーカ112に出力されて楽音が放音される。
【0035】
CPU101は、上記プログラムを実行することにより、以下のような処理を行い、曲データを用いた演奏ガイドを実現させる。図5〜図18に示す各種処理のフローチャートを参照して具体的に説明する。
【0036】
図5は、全体処理のフローチャートである。始めに図5を参照して、全体処理について詳細に説明する。
先ず、ステップSA1では、電源の投入によりイニシャライズを行う。続くステップSA2では、スイッチ群105へのユーザーの操作に対応するためのスイッチ処理を実行する。それ以降は、ステップSA3で演奏ガイドを実施するためのガイド処理、ステップSA4で鍵盤104へのユーザーの操作に対応するための鍵盤処理、及びステップSA5でその他の処理を実行してから、上記ステップSA2に戻る。それにより、電源がオンされている間は、ステップSA2〜5で形成される処理ループを繰り返し実行することにより、ユーザーの指示に対応するように動作する。不図示のMIDI端子を介したMIDIデータの送受信等は、ステップSA5の処理を実行することで実現される。
【0037】
以降は、上記全体処理内で実行されるサブルーチン処理について詳細に説明する。
図6は、上記ステップSA2として実行されるスイッチ処理のフローチャートである。サブルーチン処理では始めに図6を参照して、そのスイッチ処理について詳細に説明する。
【0038】
先ず、ステップSB1では、上記曲選択スイッチへの操作に対応するための曲選択スイッチ処理を実行する。その後は、スタート/ストップスイッチ、ガイド表示設定スイッチ、ガイド消去設定スイッチ、運指変更スイッチ、リマインドスイッチ、及びその他のスイッチへの操作に対応するための処理をそれぞれステップSB2〜7で実行してから、このスイッチ処理を終了する。
【0039】
上記ステップSB1〜6では、それぞれ以下のようなサブルーチン処理が実行される。図7〜図12を参照して詳細に説明する。
図7は、上記ステップSB1として実行される曲選択スイッチ処理のフローチャートである。図6に示すスイッチ処理内で実行されるサブルーチン処理では、始めに図7を参照して、その曲選択スイッチ処理について詳細に説明する。
【0040】
上述したように曲選択スイッチは複数、存在し、1つ以上の曲選択スイッチを操作して曲の選択、つまり曲番号の入力を行うようになっている。しかしここでは便宜的に、そのような操作に対応する部分についての詳細な説明は省略することとする。
【0041】
先ず、ステップSC1では、変数STFの値が0か否か判定する。その変数STFは、演奏ガイド中か否かを管理するための変数であり、代入された値としての1は演奏ガイド中であることを示し、値としての0は演奏ガイド中でないことを示している。このことから、演奏ガイド中でない場合、判定はYESとなってステップSC2に移行し、そうでない場合には、判定はNOとなり、ここで曲選択スイッチ処理を終了する。
【0042】
ステップSC2では、曲選択スイッチがONしたか否か判定する。そのスイッチをユーザーが操作した場合、その旨がインターフェース群106のスイッチ群105用のインターフェースからCPU101に通知されることから、判定はYESとなり、ステップSC3で変数Mに、曲選択スイッチへの操作により入力された曲番号を代入してからステップSC4に移行する。そうでない場合には、判定はNOとなり、ここで曲選択スイッチ処理を終了する。
【0043】
ステップSC4では、ユーザーガイドDB内に、曲番号が変数Mの値の曲データ(図中「曲[M]のデータ」)が存在しないか否か判定する。その曲データが存在しない場合、判定はYESとなり、ステップSC5でオリジナルガイドDBの曲番号が変数Mの値の曲データを読み出し、ユーザーガイドDB内にコピーし、更にステップSC6でユーザーガイドDBの曲番号が変数Mの値の曲データをtempガイドデータエリア内にコピーしてから、曲選択スイッチ処理を終了する。一方、そうでない場合には、判定はNOとなり、次にステップSC6に移行する。
【0044】
このようにして、演奏ガイドが行われていない状況下で曲選択スイッチが操作されると、ユーザーが曲の選択を行ったとして、その選択のために入力された曲番号の曲データがtempガイドデータエリアに用意される。そのエリアにコピーする曲データとしては、ユーザーガイドDBのものを優先しているが、コピーすべき曲データが格納されているDBをユーザーが選択できるようにしても良い。
【0045】
図8は、図6に示すスイッチ処理内でステップSB2として実行されるスタート/ストップスイッチ処理のフローチャートである。次に図8を参照して、そのスイッチ処理について詳細に説明する。
【0046】
先ず、ステップSD1では、スタート/ストップスイッチがONしたか否か判定する。そのスイッチをユーザーが操作した場合、判定はYESとなり、ステップSD2で変数STFの値を反転、つまりその値が1であれば0、その値が0であれば1に更新してからステップSD3に移行する。そうでない場合には、判定はNOとなり、ここでスタート。ストップスイッチ処理を終了する。
【0047】
ステップSD3では、変数STFの値が1か否か判定する。その値が0であった場合、判定はNOとなってステップSD12に移行し、そうでない場合には、判定はYESとなってステップSD4に移行する。
【0048】
ステップSD4では、変数AD1に、ユーザーガイドDBの曲番号として変数Mの値が割り当てられた曲データの開始アドレスの値を代入する。続くステップSD5では、変数AD2に、tempガイドデータエリアの開始アドレスの値を代入する。その次のステップSD6では、変数AD3に、オリジナルガイドDBの曲番号として変数Mの値が割り当てられた曲データの開始アドレスの値を代入する。そのようにして、演奏ガイドに用いる曲データの切り替えや曲データの更新を行えるように、ユーザーガイドDB、tempガイドデータエリア、及びリマインドガイドDBのそれぞれに格納されている同じ曲番号の曲データからデータを読み出す、或いはデータを書き込む準備を各変数AD1〜3に初期値を代入することで行った後、ステップSD7に移行する。
【0049】
ステップSD7では、tempガイドデータエリア内の変数AD2の値で指定されるアドレスに格納されているデータ(ここでは図4に示すようにタイムデータである)を読み出す。その次に移行するステップSD8では、読み出したタイムデータを変数Tに代入する。その後は、ステップSD9で変数n及びmにそれぞれ0及び1を代入し、ステップSD10でイベントデータの処理タイミングの到来を判定するための計時用のタイマインタラプト処理の実行禁止解除を行い、更にステップSD11で変数ONFに0を代入してから、スタート/ストップスイッチ処理を終了する。
【0050】
上記タイマインタラプト処理は、タイムデータの最小時間分解能に相当する時間間隔で発生する割り込み信号により起動されるものであり、起動される度に、変数Tの値をデクリメントするようになっている。従って、その0の値は処理タイミングの到来を示している。その実行禁止解除は、その割り込み信号を有効にすることで行われる。逆に禁止は、その割り込み信号を無効にすることで行われる。変数n及びmは、主に曲データ中からデータを読み出すアドレスの指定用に使われる。変数ONFは、操作すべき鍵の有無を判定するために用意したものであり、代入した0の値は、そのような鍵が存在していないことを示し、1の値は、それが存在することを示している。
【0051】
上記ステップSD3の判定がNOとなって移行するステップSD12では、インターフェース108、及びインターフェース群106の対応するインターフェースに指示して、演奏ガイド用の表示を全て終了させる。続くステップSD13では、上記タイマインタラプト処理の実行を禁止し、その後に移行するステップSD14では、tempガイドデータエリアの曲データをユーザーガイドDBに上書き保存するか否かをユーザーに問い合わせ、その問い合わせによるユーザーの指示に応じて上書き保存する。保存を指示しなければ、その曲データは単に廃棄する。スタート/ストップスイッチ処理は、そのようなことを行ってから終了する。
【0052】
図9は、図6に示すスイッチ処理内でステップSB3として実行されるガイド表示設定スイッチ処理のフローチャートである。次に図9を参照して、そのスイッチ処理について詳細に説明する。
【0053】
本実施の形態では、上述したように、曲データ中に挿入されている実施ガイドデータに従ってガイド表示を行うようにしている。それにより、ユーザーがガイド表示を望む部分でガイド表示が実施されるとは限らない。このことから、ガイド表示の実施を望む部分(演奏箇所)でガイド表示を実際に実施させることができるように、このガイド表示設定スイッチを設けている。
【0054】
先ず、ステップSE1では、変数STFの値が1か否か判定する。その値が1、つまり演奏ガイド中であった場合、判定はYESとなってステップSE2に移行する。そうでない場合には、判定はNOとなり、ここでガイド表示設定スイッチ処理を終了する。
【0055】
ステップSE2では、ガイド表示設定スイッチがONしたか否か判定する。そのスイッチを演奏ガイド中にユーザーが操作した場合、判定はYESとなり、ステップSE3で変数GONに1を代入した後、この設定スイッチ処理を終了する。そうでない場合には、判定はNOとなり、ここでこの設定スイッチ処理を終了する。
【0056】
このようにして本実施の形態では、ガイド表示設定スイッチへの操作は演奏ガイド中のみ有効とさせている。それにより、演奏ガイド中にこの設定スイッチを操作した箇所でのガイド表示を実施するように、tempガイドデータエリアに格納されている曲データの変更を行うようにしている。変数GONに代入した1は、ガイド表示設定スイッチが操作されたことを示す値であり、通常は0が代入される。
【0057】
上述したように、ガイド消去設定スイッチは、ガイド表示の実施を望まない部分でガイド表示を実際に実施させることがないように設けられたスイッチ、リマインドスイッチは、ガイド表示を一時的に実施させられるように設けられたスイッチ、運指変更スイッチは、運指表示を変更させられるように設けられたスイッチである。それらのスイッチもガイド表示設定スイッチと同様に、演奏ガイド中のみ有効とされ、演奏ガイド中の操作により、それぞれ変数GOFF、REMINDF、及びCHGFに1が代入される。運指変更スイッチへの操作では、操作された運指変更スイッチに割り当てられた指番号(上記のように1〜10の間の整数値)が変数FINGERに代入される。
【0058】
このようなことから、図10〜図12に示すように、それらへの操作に対応するために図6のスイッチ処理内でステップSB4〜6として実行される各サブルーチン処理のフローチャートは、ステップSB5の運指変更スイッチ処理では指番号を変数FINGERに代入する処理ステップが追加されていることを除き、基本的に同じものとなっている。それにより、これらのサブルーチン処理についての詳細な説明は省略することとする。
【0059】
図5に示す全体処理内で実行されるサブルーチン処理の説明に戻る。
図13〜図17は、ステップSA3として実行されるガイド処理のフローチャートである。次に図13〜図17を参照して、そのガイド処理について詳細に説明する。
【0060】
先ず、ステップSI1では、変数STFの値が1か否か判定する。その値が1であった場合、判定はYESとなってステップSI2に移行し、そうでない場合には、判定はNOとなり、ここでガイド処理を終了する。
【0061】
ステップSI2では、変数ONFの値が0か、つまり押鍵すべき鍵がないか否か判定する。押鍵すべき鍵が存在しない場合、判定はYESとなってステップSI3に移行し、そうでない場合には、判定はNOとなって図16のステップSI32に移行する。
【0062】
ステップSI3では、変数Tの値が0以下か否か判定する。その値が0以下、つまり変数Tにタイムデータを代入したガイド表示データ中のイベントデータを処理すべきタイミングが到来した場合、判定はYESとなり、ステップSI4で変数nの値をインクリメントして進め、更にステップSI5でtempガイドデータエリアの、変数AD2の値と変数nの値の加算結果により指定されるアドレスに格納されているデータの読み出しを行ってからステップSI6に移行する。そうでない場合には、判定はNOとなり、ここでガイド処理を終了する。
【0063】
ステップSI6では、読み出したデータが曲データの最後を示すもの(図中「END」と表記)か否か判定する。その最後を示すものであった場合、判定はYESとなり、ステップSI7で変数STFに0を代入し、ステップSI8で表示中のガイド表示を全て終了させ、更にステップSI9でtempガイドデータエリアの曲データをユーザーガイドDBに上書き保存するか否かをユーザーに問い合わせ、その問い合わせによるユーザーの指示に応じて上書き保存してから、ガイド処理を終了する。そうでない場合には、判定はNOとなってステップSI10に移行する。
【0064】
ステップSI10では、読み出したデータがタイムデータか否か判定する。そのタイムデータを読み出した場合、判定はYESとなり、ステップSI11で変数Tにタイムデータを代入した後、ガイド処理を終了する。そうでない場合には、判定はNOとなって図14のステップSI12に移行する。
【0065】
ステップSI12では、読み出したデータがノートオフイベントデータか否か判定する。そのイベントデータを読み出した場合、判定はYESとなり、ステップSI13でそのイベントデータ中の音高(NOTE)データに対応する鍵のLEDを消灯させ、ステップSI15で変数ONFに0を代入してから、図13のステップSI4に戻る。そうでない場合には、判定はNOとなって図15のステップSI16に移行する。
【0066】
ステップSI16では、読み出したデータがノートオンイベントデータか否か判定する。そのイベントデータを読み出していない場合、判定はNOとなり、ステップSI17でその他のイベントデータに対応するための処理を実行した後、図13のステップSI4に戻る。そうでない場合には、つまりノートオンイベントデータを読み出した場合には、判定はYESとなり、ステップSI18でそのイベントデータ中の音高データ(図中「ノート」と表記)を変数NOTEに代入し、ステップSI19で変数mに1を代入してからステップSI20に移行する。
【0067】
本実施の形態では、図4に示すように、実施ガイドデータはノートオフイベントデータ中に挿入している。これは、ノートオフイベントデータでは不要なベロシティデータの格納スペースを有効利用するためである。ステップSI20〜SI23では、変数mの値を順次、インクリメントしながら、読み出したノートオンイベントデータに対応するノートオフイベントデータを読み出すための処理が行われる。
【0068】
先ず、ステップSI20では、tempガイドデータエリアの変数AD2、n及びmの各値の加算結果により指定されるアドレスからデータを読み出す。次のステップSI21では、読み出したデータがノートオフイベントデータか否か判定する。読み出したデータがそのイベントデータでない場合、判定はNOとなり、ステップSI22で変数mの値をインクリメントしてから上記ステップSI20に戻る。そうでない場合には、判定はYESとなってステップSI23に移行する。
【0069】
ステップSI23では、ノートオフイベントデータ中の音高データの値(鍵番号)が変数ノートの値と等しいか否か判定する。それらの値が等しくない場合、判定はNOとなり、上記ステップSI22に移行して変数mの値のインクリメントを行う。そうでない場合には、図13のステップSI5で読み出したノートオンイベントデータに対応するノートオフイベントデータを読み出せた場合には、判定はYESとなってステップSI24に移行する。
【0070】
ステップSI24では、ステップSI20で読み出したイベントデータから実施ガイドデータyzを抽出する。その抽出後はステップSI25に移行して、ガイド内容データyの値が3及び4のうちの一方と等しいか否か判定する。その値が3或いは4であった場合、判定はYESとなってステップSI26に移行する。そうでない場合には、判定はNOとなってステップSI31に移行する。
【0071】
ステップSI26では、変数NOTEの値(鍵番号)が割り当てられた鍵のLEDを点灯させる。続くステップSI27では、ガイド内容データyの値が4か否か判定する。その値が4であった場合、判定はYESとなり、ステップSI28で運指データzに従って押鍵すべき鍵の押鍵に推奨する運指の表示を行い(図2)、ステップSI29で変数Nに変数n及びmの加算結果を代入し、更にステップSI30で変数ONFに1を代入してから図13のステップSI4に戻る。そうでない場合には、判定はNOとなり、上記ステップSI29に移行する。
【0072】
一方、ステップSI31では、ガイド内容データyの値が2か否か判定する。その値が2であった場合、判定はYESとなって上記ステップSI28に移行する。そうでない場合には、判定はNOとなって上記ステップSI29に移行する。
【0073】
このようにしてガイド表示は、上記ステップSI25〜SI28、及びSI31の処理を実行することにより、ガイド内容データyに応じて行われる。
図13のステップSI2の判定がNOとなって移行する図16のステップSI32では、変数REMINDFの値が1か否か判定する。リマインドスイッチをユーザーが操作した場合、その値は1であることから、判定はYESとなってステップSI33に移行する。そうでない場合には、判定はNOとなってステップSI42に移行する。
【0074】
ステップSI33では、リマインドガイドDBで変数Mの値を曲番号として割り当てられた曲データの、変数AD3及びNの値の加算結果により指定されるアドレスからデータを読み出す。読み出した後はステップSI34に移行する。ステップSI34〜SI39の各ステップで実行される処理の内容は、図15のステップSI24〜SI28及びSI31と基本的に同じであるため、詳細な説明は省略する。それらのステップの処理を実行することにより、リマインドガイドDBの曲データによる演奏ガイドが行われ、より演奏技術の未熟なユーザーを想定したガイド表示が実施されることになる。ステップSI40には、ステップSI37若しくはSI39でのNOの判定、或いはステップSI38の処理の実行により移行する。
【0075】
ステップSI40では、タイマインタラプト処理の実行を禁止する。続くステップSI41では、変数REMINDFに0を代入する。図17のステップSI56には、その後に移行する。
【0076】
このようにして本実施の形態では、リマインドスイッチをユーザーが操作すると、1回の押鍵分のガイド表示のみを行うようにしている。これは、ユーザーが望んでいないガイド表示を行うことを確実に回避させるためである。このことは、他のスイッチでも同じとしているが、予め設定の演奏期間(例えば1小節、或いは所定数の音符)を単位としてガイド表示(曲データの変更)を行うようにしても良い。他のスイッチでは、演奏の流れのなかでガイド表示が必要、ガイド表示は必要でない、或いは運指表示されている指とは異なる指を用いるほうが望ましい、と感じたユーザーの感覚に沿った曲データの変更を容易、且つ適切に行えるようにすることを重視したためである。
【0077】
なお、本実施の形態では、演奏ガイドに用いる曲データを切り替えることにより、リマインドスイッチへの操作に対応しているが、ガイド内容データyに係わらず、定めたガイド表示を行うようにしても良い。
【0078】
上記ステップSI42では、変数Tの値が所定値−α以下か否か判定する。鍵を押鍵すべきタイミングとなってから一定時間、ユーザーがその鍵を押鍵しなかった場合、その関係が成立して判定はYESとなり、上記ステップSI33に移行する。そうでない場合には、判定はNOとなってステップSI43に移行する。
【0079】
このようにして本実施の形態では、鍵を押鍵すべきタイミングとなってから一定時間、ユーザーがその鍵を押鍵しなかった場合、リマインドスイッチが操作された時と同じ処理を実行するようにしている。これは、ユーザーが鍵を押鍵できなかったのは、その鍵の押鍵にはガイド表示が必要と見なせるためである。
【0080】
ステップSI43では、変数KEYONFの値が1か否か判定する。その変数は、鍵盤104上の鍵をユーザーが新たに押鍵したか否か判定用のものである。1はその押鍵が行われたことを示し、0はその押鍵が行われていないことを示している。このことから、ユーザーが新たな押鍵を行っていない場合、判定はNOとなり、図17のステップSI45に移行する。そうでない場合には、判定はYESとなってステップSI44に移行する。
【0081】
ステップSI44では、変数KEYの値が変数NOTEの値と等しいか否か判定する。その変数は、ユーザーが新たに押鍵した鍵に割り当てられている鍵番号が代入されるものである。このため、押鍵すべき鍵をユーザーが新たに押鍵した場合、判定はYESとなり、ステップSI44aで変数ONFに0を代入してから、図13のステップSI4に戻る。そうでない場合には、判定はNOとなり、図17のステップSI45に移行する。
【0082】
ステップSI45では、変数GONの値が1か否か判定する。その値が0、つまりユーザーがガイド表示設定スイッチを操作していない場合、判定はNOとなってステップSI48に移行する。そうでない場合には、判定はYESとなってステップSI46に移行する。
【0083】
ステップSI46では、リマインドガイドDBで変数Mの値を曲番号として割り当てられた曲データの、変数AD3及びNの値の加算結果により指定されるアドレスからデータ(ノートオフイベントデータ)を読み出し、その読み出したデータを、tempガイドデータエリアの変数AD2及びNの値の加算結果により指定されるアドレスに上書きする。その上書き後は、ステップSI47で変数GONに0を代入してからステップSI56に移行する。
【0084】
ステップSI48では、変数GOFFの値が1か否か判定する。その値が0、つまりユーザーがガイド消去設定スイッチを操作していない場合、判定はNOとなってステップSI52に移行する。そうでない場合には、判定はYESとなってステップSI49に移行する。
【0085】
ステップSI49では、ガイド表示中であればそれを終了させる。続くステップSI50では、tempガイドデータエリアの変数AD2及びNの値の加算結果により指定されるアドレスに格納されているデータ(ノートオフイベントデータ)中の実施ガイドデータyzを、「1z」に書き換える。それにより、ガイド表示は行わないように実施ガイドデータyzを変更する。そのような変更後は、ステップSI51で変数GOFFに0を代入してからステップSI56に移行する。
【0086】
ステップSI52では、変数CHGFの値が1か否か判定する。その値が0、つまりユーザーが運指変更スイッチを操作していない場合、判定はNOとなって図13のステップSI4に戻る。そうでない場合には、判定はYESとなってステップSI53に移行する。
【0087】
ステップSI53では、運指表示中であればそれを終了させる。続くステップSI54では、tempガイドデータエリアの変数AD2及びNの値の加算結果により指定されるアドレスに格納されているデータ(ノートオフイベントデータ)中の実施ガイドデータyzを、その運指データのみ変数FINGERの値に書き換える(図中、書き換え後の実施ガイドデータを「y・FINGER」と表記)。その書き換え後は、ステップSI55で変数CHGFに0を代入してからステップSI56に移行する。
【0088】
ステップSI56では、変数nに、それまでの値から所定値を引いた値を代入する。それにより、ガイド表示を行うべき箇所を前に戻す。その後はステップSI57に移行して、tempガイドデータエリアの変数AD2及びnの値の加算結果により指定されるアドレスからデータを読み出し、その読み出したデータがタイムデータか否か判定する。そのタイムデータを読み出した場合、判定はYESとなってステップSI59に移行し、そうでない場合には、判定はNOとなり、ステップSI58で変数nの値をインクリメントしてから、再度、ステップSI57の処理を実行する。
【0089】
ステップSI59では、読み出したタイムデータを変数Tに代入する。次のステップSI60では、変数mに0を代入する。その次のステップSI61では、タイマインタラプト処理の実行禁止を解除する。その解除を行った後、ガイド処理を終了する。
【0090】
このようにして本実施の形態では、リマインドスイッチ、ガイド表示設定スイッチ、ガイド消去設定スイッチ、及び運指変更スイッチのうちの何れかをユーザーが操作すると、その時点より前の位置から演奏ガイドを再度、行うようにしている。これは、それらのスイッチへの操作を適切に行えたか否かをユーザーに直ちに確認させるためである。その確認を直ちに行わせることにより、ユーザーにとってはその確認をより適切、且つ容易に行えるようになる。
【0091】
図18は、図5の全体処理内でステップSA4として実行される鍵盤処理のフローチャートである。最後に図18を参照して、その鍵盤処理について詳細に説明する。
先ず、ステップSJ1では、インターフェース群106の対応するインターフェースに鍵盤104の走査を行わせ、その走査による解析結果を受け取る。続くステップSJ2では、その解析結果により、鍵盤104上の鍵で生じた変化を判定する。その変化が何れの鍵で生じていないと判定した場合、ここで鍵盤処理を終了する。押鍵(オン)による変化が生じたと判定した場合には、ステップSJ3に移行する。
【0092】
ステップSJ3では、押鍵による変化が生じた鍵の鍵番号を変数KEYに代入する。次のステップSJ4では、ベロシティを変数VELOCITYに代入する。その次のステップSJ5では、変数KEY及びVELOCITYの各値を用いて、楽音の発音指示用のコマンドを作成し、その作成したコマンドは続くステップSJ6で音源110に送付する。その送付後は、ステップSJ7で上記変数KEYONFに1を代入してから、鍵盤処理を終了する。上記変数KEY及びVELOCITYに代入する値は、インターフェースから受け取った解析結果に存在する値である。
【0093】
上記ステップSJ2において、離鍵(オフ)による変化が生じたと判定した場合には、ステップSJ8に移行し、離鍵による変化が生じた鍵の鍵番号を変数KEYに代入する。次のステップSJ9では、変数VELOCITYに0を代入する。その次のステップSJ10では、変数KEY及びVELOCITYの各値を用いて、楽音の消音指示用のコマンドを作成し、その作成したコマンドは続くステップSJ11で音源110に送付する。その送付後は、ステップSJ12で上記変数KEYONFに0を代入してから、鍵盤処理を終了する。このとき変数KEY及びVELOCITYに代入する値も、インターフェースから受け取った解析結果に存在する値である。
【0094】
鍵盤104上の複数の鍵をユーザーが同時に押鍵する、或いは押鍵している状態となることも多い。しかし、上述の鍵盤処理(図18)では、混乱を避けるために、ユーザーが同時に押鍵するのは1鍵のみとの想定で実行される処理、その流れを説明している。
【0095】
なお、本実施の形態では、押鍵すべき鍵、その鍵の押鍵に推奨する指の両方がガイド表示可能(演奏操作情報として通知可能)となっているが、そのうちの一方のみをガイド表示しても良い。そのガイド表示は、リマインドスイッチへの操作により一時的に行わせることができるようにしているが、逆に、一時的に行わせないように指定できるようにしても良い。そのような指定を可能とすることにより、ユーザー(演奏者)にとってはガイドに頼らずに演奏すべき箇所をガイドに頼らずに演奏することができるようになる。それにより、別の視点でユーザーの要望に対応できることとなる。その実現には、上述の手法を用いることができる。本実施の形態は、電子楽器に搭載された演奏ガイド装置に本発明を適用したものであるが、本発明は専用の装置、或いは別の装置に搭載されたものに適用しても良い。
【0096】
上述したような演奏ガイド装置を実現させるようなプログラムは、CD−ROM、DVD、或いは着脱自在なフラッシュメモリ等の記録媒体に記録させて配布しても良い。公衆網等の通信ネットワークを介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得して、演奏ガイド装置として用いることが可能なコンピュータにロードすることにより、そのコンピュータに本発明を適用させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【符号の説明】
【0097】
101 CPU
102 プログラム−ROM
103 ワーク−RAM
104 鍵盤
105 スイッチ群
106 インターフェース群
107 表示装置
108 インターフェース
121 アドレスバス
122 データバス
【特許請求の範囲】
【請求項1】
演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置において、
前記演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知手段と、
前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するための演奏ガイド情報を記憶する情報記憶手段と、
前記情報記憶手段に記憶された演奏ガイド情報を前記楽曲の演奏の進行に合わせて処理することにより、前記通知手段を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド手段と、
前記演奏ガイド情報を用いて前記演奏ガイド手段が前記ガイドを行っている場合に、所定の操作子へのユーザーの操作、及び前記演奏操作子群へのユーザーの操作の有無のうちの少なくとも一方に基づいて、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置以降の内容を変更し、該変更した内容で該演奏ガイド手段に前記演奏操作情報の通知を行わせるガイド制御手段と、
を具備することを特徴とする演奏ガイド装置。
【請求項2】
前記ガイド制御手段は、前記情報記憶手段が同一の楽曲の前記演奏ガイド情報を複数、記憶している場合に、前記演奏ガイド手段に処理させる該演奏ガイド情報を切り替えることにより、該演奏ガイド情報中の前記処理位置以降の内容を変更する、
ことを特徴とする請求項1記載の演奏ガイド装置。
【請求項3】
前記ガイド制御手段は、前記演奏操作子群のなかで操作すべきタイミングとなった演奏操作子を所定時間、ユーザーが操作しなかった場合に、前記演奏ガイド情報中の前記処理位置以降の内容を変更する、
ことを特徴とする請求項1、または2記載の演奏ガイド装置。
【請求項4】
前記演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子と、
前記指示用操作子へのユーザーの操作により、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置の内容を変更する情報更新手段と、
を更に具備することを特徴とする請求項1記載の演奏ガイド装置。
【請求項5】
前記指示用操作子として、前記演奏操作情報の通知、該演奏操作情報の非通知、及び前記推奨する指の変更、のうち少なくとも一つを指示するための操作子を備え、
前記情報更新手段は、前記演奏ガイド手段による前記ガイド中に前記指示用操作子が操作された場合に、前記演奏ガイド手段中の該演奏ガイド手段が処理している処理位置の内容を変更する、
ことを特徴とする請求項4記載の演奏ガイド装置。
【請求項6】
演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置において、
前記演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知手段と、
前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するため演奏ガイド情報を記憶する情報記憶手段と、
前記情報記憶手段に記憶された演奏ガイド情報を前記楽曲の演奏の進行に合わせて処理することにより、前記通知手段を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド手段と、
前記演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子と、
前記演奏ガイド情報を用いて前記演奏ガイド手段が前記ガイドを行っている場合に、前記指示用操作子へのユーザーの操作により、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置の内容を変更する情報更新手段と、
を具備することを特徴とする演奏ガイド装置。
【請求項7】
演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置として用いることが可能なコンピュータに、
前記演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知機能と、
前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するため演奏ガイド情報を記憶する記憶手段に記憶された演奏ガイド情報を用いて前記楽曲の演奏の進行に合わせて処理することにより、前記通知機能を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド機能と、
前記演奏ガイド情報を用いて前記演奏ガイド機能により前記ガイドを行っている場合に、所定の操作子へのユーザーの操作、及び前記演奏操作子群へのユーザーの操作の有無のうちの少なくとも一方に基づいて、該演奏ガイド情報中の該演奏ガイド機能が処理している処理位置以降の内容を変更し、該変更した内容で該演奏ガイド機能により前記演奏操作情報の通知を行わせるガイド制御機能と、
を実現させるためのプログラム。
【請求項8】
演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置として用いることが可能なコンピュータに、
前記演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知機能と、
前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するため演奏ガイド情報を記憶する記憶手段に記憶された演奏ガイド情報を用いて前記楽曲の演奏の進行に合わせて処理することにより、前記通知機能を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド機能と、
前記演奏ガイド情報を用いて前記演奏ガイド機能により前記ガイドを行っている場合に、前記演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子へのユーザーの操作により、該演奏ガイド情報中の該演奏ガイド機能が処理している処理位置の内容を変更する情報更新機能と、
を実現させるためのプログラム。
【請求項1】
演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置において、
前記演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知手段と、
前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するための演奏ガイド情報を記憶する情報記憶手段と、
前記情報記憶手段に記憶された演奏ガイド情報を前記楽曲の演奏の進行に合わせて処理することにより、前記通知手段を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド手段と、
前記演奏ガイド情報を用いて前記演奏ガイド手段が前記ガイドを行っている場合に、所定の操作子へのユーザーの操作、及び前記演奏操作子群へのユーザーの操作の有無のうちの少なくとも一方に基づいて、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置以降の内容を変更し、該変更した内容で該演奏ガイド手段に前記演奏操作情報の通知を行わせるガイド制御手段と、
を具備することを特徴とする演奏ガイド装置。
【請求項2】
前記ガイド制御手段は、前記情報記憶手段が同一の楽曲の前記演奏ガイド情報を複数、記憶している場合に、前記演奏ガイド手段に処理させる該演奏ガイド情報を切り替えることにより、該演奏ガイド情報中の前記処理位置以降の内容を変更する、
ことを特徴とする請求項1記載の演奏ガイド装置。
【請求項3】
前記ガイド制御手段は、前記演奏操作子群のなかで操作すべきタイミングとなった演奏操作子を所定時間、ユーザーが操作しなかった場合に、前記演奏ガイド情報中の前記処理位置以降の内容を変更する、
ことを特徴とする請求項1、または2記載の演奏ガイド装置。
【請求項4】
前記演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子と、
前記指示用操作子へのユーザーの操作により、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置の内容を変更する情報更新手段と、
を更に具備することを特徴とする請求項1記載の演奏ガイド装置。
【請求項5】
前記指示用操作子として、前記演奏操作情報の通知、該演奏操作情報の非通知、及び前記推奨する指の変更、のうち少なくとも一つを指示するための操作子を備え、
前記情報更新手段は、前記演奏ガイド手段による前記ガイド中に前記指示用操作子が操作された場合に、前記演奏ガイド手段中の該演奏ガイド手段が処理している処理位置の内容を変更する、
ことを特徴とする請求項4記載の演奏ガイド装置。
【請求項6】
演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置において、
前記演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知手段と、
前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するため演奏ガイド情報を記憶する情報記憶手段と、
前記情報記憶手段に記憶された演奏ガイド情報を前記楽曲の演奏の進行に合わせて処理することにより、前記通知手段を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド手段と、
前記演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子と、
前記演奏ガイド情報を用いて前記演奏ガイド手段が前記ガイドを行っている場合に、前記指示用操作子へのユーザーの操作により、該演奏ガイド情報中の該演奏ガイド手段が処理している処理位置の内容を変更する情報更新手段と、
を具備することを特徴とする演奏ガイド装置。
【請求項7】
演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置として用いることが可能なコンピュータに、
前記演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知機能と、
前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するため演奏ガイド情報を記憶する記憶手段に記憶された演奏ガイド情報を用いて前記楽曲の演奏の進行に合わせて処理することにより、前記通知機能を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド機能と、
前記演奏ガイド情報を用いて前記演奏ガイド機能により前記ガイドを行っている場合に、所定の操作子へのユーザーの操作、及び前記演奏操作子群へのユーザーの操作の有無のうちの少なくとも一方に基づいて、該演奏ガイド情報中の該演奏ガイド機能が処理している処理位置以降の内容を変更し、該変更した内容で該演奏ガイド機能により前記演奏操作情報の通知を行わせるガイド制御機能と、
を実現させるためのプログラム。
【請求項8】
演奏操作子群を構成する演奏操作子への操作により行われる楽曲の演奏をガイドする演奏ガイド装置として用いることが可能なコンピュータに、
前記演奏操作子群のなかで操作すべき演奏操作子、及び該演奏操作子への操作に用いるのを推奨する指のうちの少なくとも一方を演奏操作情報としてユーザーに通知するための通知機能と、
前記楽曲の演奏の進行に応じて前記演奏操作情報を順次、通知するため演奏ガイド情報を記憶する記憶手段に記憶された演奏ガイド情報を用いて前記楽曲の演奏の進行に合わせて処理することにより、前記通知機能を介して前記演奏操作情報の通知を行うことが可能な演奏ガイド機能と、
前記演奏ガイド情報を用いて前記演奏ガイド機能により前記ガイドを行っている場合に、前記演奏ガイド情報の内容の変更を指示するための1つ以上の指示用操作子へのユーザーの操作により、該演奏ガイド情報中の該演奏ガイド機能が処理している処理位置の内容を変更する情報更新機能と、
を実現させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−194565(P2012−194565A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2012−108984(P2012−108984)
【出願日】平成24年5月11日(2012.5.11)
【分割の表示】特願2007−114614(P2007−114614)の分割
【原出願日】平成19年4月24日(2007.4.24)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成24年5月11日(2012.5.11)
【分割の表示】特願2007−114614(P2007−114614)の分割
【原出願日】平成19年4月24日(2007.4.24)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]