(57)【要約】      （修正有）【課題】演奏者による音符表記の解釈を経ることなく、所望の楽音を発生させることにより楽曲を演奏させる。【解決手段】ＣＰＵ２１は、表示部１２の画面上に表示された音符のそれぞれの位置と、タッチパネル１３上の演奏者による接触位置とを比較して、接触位置が、何れかの音符の位置を含む周辺領域内であるかを判断して、接触位置が、周辺領域内である場合に、当該音符の音高（Ｃ４）に基づくノートオンイベントを生成して、音源部２６に出力する。これにより、音源部２６により所定の音高の楽音データが生成され、スピーカ１４から楽音が出力される。また、ＣＰＵ２１は、楽曲を構成する音符と対応する曲データに基づき、楽曲を構成する音高の楽音を順次発音するよう音源部２６を制御する。【選択図】図２
2012103575.tif 000002
【特許請求の範囲】
【請求項１】
表示装置と、
当該表示装置に重ねて配置されたタッチパネルと、
楽曲を構成する音符のそれぞれの種別および音長を示す情報を有する楽譜データに基づき、前記表示装置の画面において、五線譜中に当該音符のシンボルを配置したような楽譜を表示する楽譜生成手段と、
前記タッチパネル上での演奏者による接触および接触位置を検出する接触検出手段と、
前記表示装置の画面上に表示された音符のそれぞれの位置と、前記タッチパネル上の接触位置とを比較して、前記接触位置が、前記何れかの音符の位置を含む所定の周辺領域内であるかを判断する領域判定手段と、
前記接触位置が、前記音符の位置を含む前記周辺領域内である場合に、当該音符の音高に基づく楽音を生成する楽音生成手段と、
前記楽曲を構成する音符と対応するように、当該音符の音高情報およびその発音タイミングを示す時間情報を少なくとも含む曲データに基づき、前記楽曲を構成する音高の楽音を順次発音するよう前記楽音生成手段を制御して、前記楽曲を進行させる自動演奏手段と、を備えたことを特徴とする楽音生成装置。
【請求項２】
前記自動演奏手段が、前記接触位置が、前記発音すべき楽音に対応する音符の周辺領域である場合に、前記曲データに基づき、前記楽曲を進行させるように構成されたことを特徴とする請求項１に記載の楽音生成装置。
【請求項３】
前記曲データに基づき、前記楽曲において現在発音すべき楽音に対応する音符を指し示す音符指示子を、前記楽譜中に表示する音符指示子生成手段を備えたことを特徴とする請求項１または２に記載の楽音生成装置。
【請求項４】
前記音符指示子生成手段が、前記発音すべき楽音に対応する音符の周辺領域を示す音符指示子を、前記楽譜中に表示することを特徴とする請求項３に記載の楽音生成装置。
【請求項５】
前記周辺領域が、前記音符を含む第１の領域と、第２の領域の周囲に位置する第２の領域と、を有し、
前記領域判定手段が、前記接触位置が、前記音符の位置の第１の領域、或いは、第２の領域内であるかを判断し、
前記楽音生成手段が、前記接触位置が属する領域に基づき楽音の音高を決定することを特徴とする請求項１ないし４の何れか一項に記載の楽音生成装置。
【請求項６】
前記第２の領域が、さらに、前記音符が配置される五線と垂直方向において前記音符より上側に位置する上側領域と、下側に位置する下側領域とを備え、
前記楽音生成手段が、前記接触位置が、前記第１の領域内である場合には、前記、発音すべき楽音の音高を、前記音符の音高に対応する音高と決定し、前記第２の領域のうち上側領域である場合には、前記音符の音高より所定だけ高い音高と決定し、また、前記第２の領域のうち、下側領域である場合には、前記音符の音高より所定だけ低い音高と決定することを特徴とする請求項５に記載の楽音生成装置。
【請求項７】
表示装置と、当該表示装置に重ねて配置されたタッチパネルと、を備えたコンピュータに、
楽曲を構成する音符のそれぞれの種別および音長を示す情報を有する楽譜データに基づき、前記表示装置の画面において、五線譜中に当該音符のシンボルを配置したような楽譜を表示する楽譜生成ステップと、
前記タッチパネル上での演奏者による接触および接触位置を検出する接触検出ステップと、
前記表示装置の画面上に表示された音符のそれぞれの位置と、前記タッチパネル上の接触位置とを比較して、前記接触位置が、前記何れかの音符の位置を含む所定の周辺領域内であるかを判断する領域判定ステップと、
前記接触位置が、前記音符の位置を含む前記周辺領域内である場合に、当該音符の音高に基づく楽音を生成する楽音生成ステップと、
前記楽曲を構成する音符と対応するように、当該音符の音高情報およびその発音タイミングを示す時間情報を少なくとも含む曲データに基づき、前記楽曲を構成する音高の楽音を順次発音させて、前記楽曲を進行させる自動演奏ステップと、を実行させることを特徴とする楽音生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置の画面上に表示された音符に触ることにより楽音を発生することができる楽音生成装置および楽音生成プログラムに関する。
【背景技術】
【０００２】
一般のアコースティック楽器を演奏する際には、演奏者は、紙に印刷された楽譜をみて、音符表記（主として、音高および音長）を解釈し、楽器に対する操作に置き換えて、所定の操作により楽音を発生させる。鍵盤楽器であれば、楽譜中の音符の音高が、鍵の位置に置き換えられ、かつ、音符の音長が鍵の押鍵時間に置き換えられる。また、音符の間に休符があれば、その休符の長さは、鍵を押していない時間に置き換えられる。
【０００３】
ギターなど弦楽器においても、演奏者は、楽譜中の音符の音高に基づいて、押さえるべき弦を選択して、選択された弦のフレット位置を特定する。また、演奏者は、その後、選択された弦を弾くことにより楽音を発生させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２４６４９号公報
【特許文献２】特開２００３−６６９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、電子楽器（鍵盤楽器）において、表示装置が大型化して、表示装置の画面上に楽譜を表示できるものも提案されている。たとえば、特許文献１には、楽曲の進行にともなって、表示される楽譜の頁や段を適切に変更することができる楽譜表示装置が提供されている。また、特許文献２には、表示装置の画面上に楽譜を表示し、かつ、楽曲の進行にともなって、現在、楽曲が楽譜上のどの位置にいるかを示す印（カーソル）を付した電子楽器が提案されている。このような電子楽器においても、演奏者は、表示装置の画面上に表示された楽譜をみて、楽譜を解釈することにより鍵操作を実現しているため、その動作はアコースティック楽器の場合と同様である。
【０００６】
本発明は、演奏者による音符表記の解釈を経ることなく、所望の楽音を発生させることにより楽曲の演奏をすることができる楽音生成装置および楽音生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的は、表示装置と、
当該表示装置に重ねて配置されたタッチパネルと、
楽曲を構成する音符のそれぞれの種別および音長を示す情報を有する楽譜データに基づき、前記表示装置の画面において、五線譜中に当該音符のシンボルを配置したような楽譜を表示する楽譜生成手段と、
前記タッチパネル上での演奏者による接触および接触位置を検出する接触検出手段と、
前記表示装置の画面上に表示された音符のそれぞれの位置と、前記タッチパネル上の接触位置とを比較して、前記接触位置が、前記何れかの音符の位置を含む所定の周辺領域内であるかを判断する領域判定手段と、
前記接触位置が、前記音符の位置を含む前記周辺領域内である場合に、当該音符の音高に基づく楽音を生成する楽音生成手段と、
前記楽曲を構成する音符と対応するように、当該音符の音高情報およびその発音タイミングを示す時間情報を少なくとも含む曲データに基づき、前記楽曲を構成する音高の楽音を順次発音するよう前記楽音生成手段を制御して、前記楽曲を進行させる自動演奏手段と、を備えたことを特徴とする楽音生成装置により達成される。
【０００８】
好ましい実施態様においては、前記自動演奏手段が、前記接触位置が、前記発音すべき楽音に対応する音符の周辺領域である場合に、前記曲データに基づき、前記楽曲を進行させるように構成されている。
【０００９】
また、より好ましい実施態様においては、前記曲データに基づき、前記楽曲において現在発音すべき楽音に対応する音符を指し示す音符指示子を、前記楽譜中に表示する音符指示子生成手段を備える。
【００１０】
さらに好ましい実施態様においては、前記音符指示子生成手段が、前記発音すべき楽音に対応する音符の周辺領域を示す音符指示子を、前記楽譜中に表示する。
【００１１】
別の好ましい実施態様においては、前記周辺領域が、前記音符を含む第１の領域と、第２の領域の周囲に位置する第２の領域と、を有し、
前記領域判定手段が、前記接触位置が、前記音符の位置の第１の領域、或いは、第２の領域内であるかを判断し、
前記楽音生成手段が、前記接触位置が属する領域に基づき楽音の音高を決定する。
【００１２】
より好ましい実施態様においては、前記第２の領域が、さらに、前記音符が配置される五線と垂直方向において前記音符より上側に位置する上側領域と、下側に位置する下側領域とを備え、
前記楽音生成手段が、前記接触位置が、前記第１の領域内である場合には、前記、発音すべき楽音の音高を、前記音符の音高に対応する音高と決定し、前記第２の領域のうち上側領域である場合には、前記音符の音高より所定だけ高い音高と決定し、また、前記第２の領域のうち、下側領域である場合には、前記音符の音高より所定だけ低い音高と決定する。
【００１３】
また、本発明の目的は、表示装置と、当該表示装置に重ねて配置されたタッチパネルと、を備えたコンピュータに、
楽曲を構成する音符のそれぞれの種別および音長を示す情報を有する楽譜データに基づき、前記表示装置の画面において、五線譜中に当該音符のシンボルを配置したような楽譜を表示する楽譜生成ステップと、
前記タッチパネル上での演奏者による接触および接触位置を検出する接触検出ステップと、
前記表示装置の画面上に表示された音符のそれぞれの位置と、前記タッチパネル上の接触位置とを比較して、前記接触位置が、前記何れかの音符の位置を含む所定の周辺領域内であるかを判断する領域判定ステップと、
前記接触位置が、前記音符の位置を含む前記周辺領域内である場合に、当該音符の音高に基づく楽音を生成する楽音生成ステップと、
前記楽曲を構成する音符と対応するように、当該音符の音高情報およびその発音タイミングを示す時間情報を少なくとも含む曲データに基づき、前記楽曲を構成する音高の楽音を順次発音させて、前記楽曲を進行させる自動演奏ステップと、を実行させることを特徴とする楽音生成プログラムにより達成される。
【発明の効果】
【００１４】
本発明によれば、演奏者による音符表記の解釈を経ることなく、所望の楽音を発生させることにより楽曲の演奏をすることができる楽音生成装置および楽音生成プログラムを提供することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の第１の実施の形態にかかる楽音発生装置の外観を示す図である。
【図２】図２は、本実施の形態に楽音生成装置の構成を示すブロックダイヤグラムである。
【図３】図３は、本実施の形態にかかる楽音生成装置において実行される処理の概略を例示するフローチャートである。
【図４】図４は、本実施の形態にかかるスイッチ処理の例を示すフローチャートである。
【図５】図５は、本実施の形態にかかるソング選択処理の例を示すフローチャートである。
【図６】図６（ａ）は、本実施の形態にかかる曲データの構成例を示す図、図６（ｂ）は、このようにして表示部の画面上に表示された楽譜の例を示す図である。
【図７】図７は、本実施の形態にかかるスタート・ストップスイッチ処理の例を示すフローチャートである。
【図８】図８は、本実施の形態にかかるパネル操作検出処理の例を示すフローチャートである。
【図９】図９は、本実施の形態にかかるパネル操作検出処理の例を示すフローチャートである。
【図１０】図１０は、本実施の形態にかかるパネル操作検出処理の例を示すフローチャートである。
【図１１】図１１は、本実施の形態にかかる周辺領域の例を示す図である。
【図１２】図１２（ａ）、（ｂ）は、それぞれ、演奏者が指をタッチパネル上に接触して、その状態で指を移動した後、指をタッチパネルから離間された例を示す図である。
【図１３】図１３は、表示部の画面上の画像において、五線上に複数の音符が配置されている例を示す図である。
【図１４】図１４は、表示部の画面上の画像において、五線上に複数の音符が配置されている例を示す図である。
【図１５】図１５は、表示部の画面上の画像において、五線上に複数の音符が配置されている例を示す図である。
【図１６】図１６は、表示部の画面上の画像において、五線上に複数の音符が配置されている例を示す図である。
【図１７】図１７は、本実施の形態にかかるガイド判定処理の例を示すフローチャートである。
【図１８】図１８は、本実施の形態にかかるガイド処理の例を示すフローチャートである。
【図１９】図１９は、本実施の形態にかかるガイド処理の例を示すフローチャートである。
【図２０】図２０は、本実施の形態にかかる画像更新処理の例を示すフローチャートである。
【図２１】図２１（ａ）、（ｂ）は、本実施の形態において表示部の画面上に表示された楽譜の例を示す図である。
【図２２】図２２（ａ）は、第２の実施の形態にかかる周辺領域の例を示す図、図２２（ｂ）は、第３の実施の形態にかかる周辺領域の例を示す図である。
【図２３】図２３（ａ）、（ｂ）は、それぞれ、本発明の他の実施の形態において、表示部の画面上に表示された楽譜の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明の第１の実施の形態にかかる楽音発生装置の外観を示す図である。本実施の形態にかかる楽音生成装置１０は、下側に種々のスイッチが配置されたスイッチ部１１、大型の液晶表示装置を含む表示部１２、表示部１２に重ねあわされて配置されたタッチパネル１３およびスピーカ１４を有している。本実施の形態にかかる楽音発生装置１０では、表示部１２の画面上に表示された音符を、演奏者が触ると、タッチパネル１３およびＣＰＵ２１により当該接触が検出され、所定の音高の楽音が発生するようになっている。
【００１７】
図２は、本実施の形態に楽音生成装置の構成を示すブロックダイヤグラムである。図２に示すように、本実施の形態にかかる楽音生成装置１０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、フラッシュメモリ２４、サウンドシステム２５、外部Ｉ／Ｆ２８、スイッチ部１１、表示部１２およびタッチパネル１３を備える。
【００１８】
ＣＰＵ２１は、楽音生成装置１０全体の制御、スイッチ部１１を構成するスイッチの操作の検出、タッチパネル１３への接触の検出、タッチパネル１３への接触にしたがったサウンドシステム１４の制御、表示部１２の画面上に表示する楽譜データの生成、自動演奏モードにおける演奏者に対するタッチパネルの操作ガイドなど、種々の処理を実行する。
【００１９】
ＲＯＭ２２は、ＣＰＵ２１に実行させる種々の処理、たとえば、楽音生成装置１０全体の制御、スイッチ部１１を構成するスイッチの操作の検出、タッチパネル１３への接触の検出、タッチパネル１３への接触にしたがったサウンドシステム１４の制御、表示部１２の画面上に表示する楽譜データの生成、自動演奏モードにおける演奏者へのタッチパネルの操作ガイドなどのプログラムを記憶する。また、ＲＯＭ２２は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリアを有する。ＲＡＭ２３は、ＲＯＭ２２から読み出されたプログラムや、処理の過程で生じたデータを記憶する。また、フラッシュメモリ２４には、種々の楽曲の曲データおよび当該楽曲の自動伴奏データが格納される。
【００２０】
サウンドシステム２５は、音源部２６、オーディオ回路２７およびスピーカ１４を有する。音源部２６は、たとえば、タッチパネルの接触に基づくノートオンイベントなどをＣＰＵ２１から受信すると、ＲＯＭ２２の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部２６は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音データとして出力することもできる。オーディオ回路２７は、楽音データをＤ／Ａ変換して増幅する。これによりスピーカ１４から音響信号が出力される。
【００２１】
外部Ｉ／Ｆ２８は、メモリカードスロットを有し、メモリカード（図示せず）を受け入れて、メモリカード中のデータを読み出し、或いは、メモリカードにデータを書きこむことも可能である。また、外部Ｉ／Ｆ２８は、インターネットなどの外部ネットワークとの接続を実現するための通信手段も備え、外部ネットワークを介した他の機器との間のデータ送受信を実現する。また、本実施の形態にかかる楽音生成装置１０は、通常モードおよび自動演奏モードの何れの下においても、タッチパネル１３上の接触に基づき、所定の音高の楽音を発生する。
【００２２】
以下、本実施の形態にかかる楽音生成装置１０において実行される処理についてより詳細に説明する。図３は、本実施の形態にかかる楽音生成装置において実行される処理の概略を例示するフローチャートである。楽音生成装置１０のＣＰＵ２１は、楽音生成装置１０の電源が投入されると、ＲＡＭ２３中のデータや、表示部１２の表示画面のクリアを含むイニシャル処理（初期化処理）を実行する（ステップ３０１）。
【００２３】
イニシャル処理（ステップ３０１）が終了すると、ＣＰＵ２１は、入力部１１を構成するスイッチのそれぞれの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行する（ステップ３０２）。図４は、本実施の形態にかかるスイッチ処理の例を示すフローチャートである。図４に示すように、スイッチ処理には、ソング選択処理（ステップ４０１）、モード選択処理（ステップ４０２）、スタート・ストップスイッチ処理（ステップ４０３）、音色選択処理（ステップ４０４）および他のスイッチ処理（ステップ４０５）が含まれる。
【００２４】
図５は、本実施の形態にかかるソング選択処理の例を示すフローチャートである。図５に示すように、ＣＰＵ２１は、入力部１１中のソングボタンがオンされたかを判断する（ステップ５０１）。ステップ５０１でＮｏと判断された場合には、ソング選択処理が終了される。ステップ５０１でＹｅｓと判断された場合には、ＣＰＵ２１は、フラッシュメモリ２４から、曲データのタイトル（曲名）を取得して、表示部１２の画面上に、曲名のリスト（ソングリスト）を表示する。また、ＣＰＵ２１は、演奏者による入力部１１中のカーソルボタンの操作にしたがって、カーソル位置に対応する曲名を強調表示する（ステップ５０２）。
【００２５】
ＣＰＵ２１は、入力部１１中の決定スイッチがオンされたかを判断する（ステップ５０３）。ステップ５０３でＮｏと判断された場合には、ステップ５０２に戻る。ステップ５０３でＹｅｓと判断された場合には、ＣＰＵ２１は、カーソル位置にある曲名の曲データのレコードを、当該曲データの先頭アドレスから所定数だけ読み出す（ステップ５０４）。
【００２６】
図６（ａ）は、本実施の形態にかかる曲データの構成例を示す図である。図６（ａ）に示すように、本実施の形態にかかる曲データ６００は、ノートオンイベントのレコード（符号６０１参照）、タイムのレコード（符号６０２参照）、ノートオフイベントのレコード（符号６０３参照）およびタイムのレコード（符号６０４参照）を有する。
【００２７】
ノートオンイベントのレコードには、発音すべき楽音の音色および音高を示す情報が含まれる。ノートオンイベントのレコードに引き続くタイムのレコードに格納された値は、ノートオンイベントと、当該ノートオンイベントにかかる楽音についてのノートオフイベントとの間の時間間隔、つまり、ノートオンイベントにかかる楽音の音長を示す。したがって、ノートオンイベント中の音高情報および引き続タイムのレコード中の値（音長）とにより、五線譜における音符の位置および音符の種別が特定され得る。
【００２８】
また、ノートオフイベントのレコードには、消音すべき楽音の音高を示す情報が含まれる。ノートオフイベントのレコードに引き続くタイムのレコードに格納された値は、ノートオフイベントと、次のノートオンイベントとの間の時間間隔を示す。したがって、ノートオフイベントに引き続くタイムのレコード中の値により、五線譜中に配置する、隣接する音符間の休符の種別が特定され得る。
【００２９】
ステップ５０４において、ＣＰＵ２１は、表示部１２の画面上に初期的に表示すべく、先頭の小節から所定数の小節に相当する曲データのレコードを読み出せば良い。次いで、ＣＰＵ２１は、読み出された曲データのレコード中、ノートオンイベントおよび次のゲートタイムに基づき、音符位置および音符種別を含む音符データを生成する（ステップ５０５）。また、ゲートタイムおよび次のステップタイムに基づく休符データも、ステップ５０５において生成される。
【００３０】
次いで、ＣＰＵ２１は、ステップ５０５で生成された音符データおよび休符データにしたがった音符や休符のシンボルを、五線譜中に配置した画像データを生成する（ステップ５０６）。また、ＣＰＵ２１は、先頭の音符を指し示すカーソルを画像中に生成する（ステップ５０７）。本実施の形態においては、演奏者が指にて触れるべき音符を指し示す音符指示子として、音符の上部に配置されたカーソルを用いている。ＣＰＵ２１は、上記画像中の音符や休符の各々の位置情報（座標）を、ＲＡＭ２３中に格納する（ステップ５０８）。また、ＣＰＵ２１は、表示部１２の画面上に表示された音符および休符に対応する曲データのレコードのアドレス（たとえば最終アドレス）を、アドレスＤＡＤとしてＲＡＭ２３に格納する（ステップ５０９）。図６（ｂ）は、このようにして表示部１２の画面６１０上に表示された楽譜の例を示す図である。図６（ｂ）の例においては、カーソル６１２は、先頭の音符（符号６１１）を指し示している。
【００３１】
ソング選択処理（ステップ４０１）に引き続いて実行されるモード選択処理（ステップ４０２）において、ＣＰＵ２１は、入力部１１中のモード選択ボタンにより、演奏モードが選択され、当該演奏モードを示す情報       ＭＯＤＥがＲＡＭ２３中に格納される。より詳細には、本実施の形態においては、自動演奏を用いたガイドが行なわれない通常モード（ＭＯＤＥ＝０）、自動演奏を行なうモードのうち、演奏者が、オン状態とすべき音符に触れない限り自動演奏が進行しない第１の自動演奏モード（ＭＯＤＥ＝１）、および、演奏者の音符へのオンに関わらず自動演奏が進行する第２の自動演奏モード（ＭＯＤＥ＝２）のうち、何れかの演奏モードを示す情報がＲＡＭ２３に格納される。
【００３２】
モード選択処理（ステップ４０２）に引き続いて、ＣＰＵ２１は、スタート・ストップスイッチ処理を実行する（ステップ４０３）。図７は、本実施の形態にかかるスタート・ストップスイッチ処理の例を示すフローチャートである。図７に示すように、ＣＰＵ２１は、モード選択処理により選択された演奏モードが、自動演奏モード（第１の自動演奏モード：ＭＯＤＥ＝１、或いは、第２の自動演奏モード：ＭＯＤＥ＝２）であるかを判断する（ステップ７０１）。ステップ７０１でＮｏと判断された場合、すなわち、演奏モードが通常モードである場合（ＭＯＤＥ＝０）には、スタート・ストップスイッチ処理を終了する。ステップ７０１でＹｅｓと判断された場合には、ＣＰＵ２１は、入力部１１中のスタート・ストップスイッチの操作があったかを判断する（ステップ７０２）。ステップ７０２でＮｏと判断された場合には、スタート・ストップスイッチ処理を終了する。
【００３３】
ステップ７０２でＹｅｓと判断された場合には、ＣＰＵ２１は、ＲＡＭ２３に格納されたスタートフラグＳＴＦを反転させ（ステップ７０３）、スタートフラグＳＴＦが「１」であるかを判断する（ステップ７０４）。ステップ７０４でＹｅｓと判断された場合には、ＣＰＵ２１は、選択されている楽曲の曲データのレコードの先頭アドレスを取得する（ステップ７０５）。ＣＰＵ２１は、取得した先頭アドレスを、アドレスを示すパラメータＡＤとして、ＲＡＭ２３に格納する（ステップ７０６）。
【００３４】
ＣＰＵ２１は、先頭アドレスＡＤの示す曲データＧ（ＡＤ）のレコードを読み出して、レコード値を、タイマのレジスタ値Ｔとして格納する（ステップ７０７）。また、ＣＰＵ２１は、アドレスを示すパラメータＡＤを歩進する（ステップ７０８）。
【００３５】
また、ＣＰＵ２１は、タイマインタラプトを解除する（ステップ７０９）。タイマインタラプトが解除されることにより、所定の時間間隔でタイマインタラプト処理が実行され、ＣＰＵ２１の内部に設けられたタイマがインクリメントされる。なお、ステップ７０４でＮｏと判断された場合、つまり、ＳＴＦが「０」である場合には、ＣＰＵ２１は、タイマインタラプトを停止する（ステップ７１０）。
【００３６】
スタート・ストップスイッチ処理（ステップ４０３）に引き続いて、ＣＰＵ２１は、音色選択処理を実行する（ステップ４０４）。音色選択処理では、演奏者による、スイッチ部１１の音色選択スイッチ（トーンスイッチ）の操作により、選択された楽音の音色情報が、ＲＡＭ２３に格納される。音色選択処理（ステップ４０４）の後、ＣＰＵ２１は、他のスイッチ処理を実行する（ステップ４０５）。他のスイッチ処理には、テンポスイッチの操作によるテンポデータの設定およびテンポデータのＲＡＭ２３への格納などが含まれる。
【００３７】
スイッチ処理（ステップ３０２）が終了すると、ＣＰＵ２１は、パネル操作検出処理を実行する（ステップ３０３）。図８ないし図１０は、本実施の形態にかかるパネル操作検出処理の例を示すフローチャートである。ＣＰＵ２１は、演奏者によるタッチパネルへの操作状態を検出する（ステップ８０１）。
【００３８】
タッチパネルへの操作状態が「なし」、つまり、演奏者の指がタッチパネルに触れられていない状態が継続されていれば、パネル操作検出処理は終了する。なお、演奏者の指が新たにオフ（新規オフ）となった場合については後述する。演奏者の指がタッチパネルに触れられているとき（オン）には、ＣＰＵ２１は、演奏者の指が新たにタッチパネルに触れられたか（新規オン）を判断する（ステップ８０２）。
【００３９】
ステップ８０２でＹｅｓ、つまり、新規オンであった場合には、ＣＰＵ２１は、演奏者が指で触れた位置が、画面上に表示された音符の周辺領域に該当するかを判断する。図１１は、本実施の形態にかかる周辺領域の例を示す図である。図１１においては、表示部１２の画面上に、五線（符号１１１０）およびＣ４の音高の四分音符（符号１１００）が配置されている。本実施の形態において、音符１１００が配置されている位置から、所定の第１の半径の範囲（符号１１０１参照）内を、第１の領域（ａ領域）、第２の半径（＞第１の半径）の範囲（符号１１０２参照）内であって第１の領域を除く領域を、第２の領域（ｂ領域）としている。さらに、第２の領域（ｂ領域）において、そのＹ座標が、音符の位置のＹ座標より小さいような領域を、ｂ−領域（符号１１０３参照）、そのＹ座標が、音符の位置のＹ座標以上であるような領域をｂ＋領域（符号１１０４参照）としている。
【００４０】
本実施の形態では、基本的には、演奏者の指が、第１の領域（ａ領域）にある場合には、音符に対応する音高の楽音が発音される。また、演奏者の指が、ｂ−領域にある場合には、音符に対応する音高より半音下の音高の楽音が発音され、演奏者の指がｂ＋領域にある場合には、音符に対応する音高より半音上の音高の楽音が発音される。これら第１の領域（ａ領域）および第２の領域（ｂ領域）の総称として、周辺領域と称する。
【００４１】
なお、表示部１２の画面上に表示される楽譜において、音符の周囲に周辺領域を表示しても良いし、表示しなくても良い。また、周辺領域を表示する場合に、第１の領域および第２の領域をそれぞれ表示しても良いし、周辺領域の外郭を画定する第２の領域のみを表示しても良い。
【００４２】
ステップ８０３においては、ＣＰＵ２１は、演奏者により新たにオンされた指の位置と、表示部１２の画面上に表示された音符の周辺領域とに基づき、指が位置する周辺領域を特定する（ステップ８０３）。なお、図１５などを参照して後述するが、複数の音符の周辺領域が重なっている場合がある。この場合には、ＣＰＵ２１は、楽曲において時間的に先行する音符（つまり、楽譜上で左側に位置する音符）を優先して、周辺領域を特定する。ＣＰＵ２１は、指の位置が、何れかの音符の周辺領域内にあるかを判断する（ステップ８０４）。ステップ８０４でＮｏと判断された場合には、パネル操作検出処理が終了される。その一方、ステップ８０４でＹｅｓと判断された場合には、ＣＰＵ２１は、周辺領域の種別に従った発音処理を実行する（ステップ８０５）。発音処理では、発音すべき楽音の音高および音色情報を含むノートオンイベントが生成される。
【００４３】
図１１に示す例において、演奏者の指が、第１の領域（ａ領域）１１０１内で新たにオン状態となった場合には、ＣＰＵ２１は、音符に示す音高（Ｃ４）と、予め設定された音色情報とを含むノートオンイベントを生成して、ノートオンイベントを音源部２６に出力する。また、演奏者の指が第２の領域（ｂ領域）のうちｂ＋領域１１０４内で新たにオン状態となった場合、或いは、ｂ−領域１１０３内で新たにオン状態となった場合には、それぞれ、音符に示す音高より半音上の音高（Ｃ＃４）と音色情報とを含むノートオンイベント、或いは、音符に示す音高より半音下の音高（Ｂ３）と音色情報とを含むノートオンイベントを生成して、音源部２６に出力する。
【００４４】
ステップ８０５の後、ＣＰＵ２１は、ＲＡＭ２３中のノートオンイベントが生成された音高の楽音について、発音ステータスを「発音中」とする（ステップ８０６）。また、ＣＰＵ２１は、スタートフラグＳＴＦが「１」であるかを判断する（ステップ８０７）。ステップ８０７でＹｅｓと判断された場合には、ＣＰＵ２１は、ガイド判定処理を実行する（ステップ８０８）。ガイド判定処理については後述する。
【００４５】
その一方、ステップ８０１で「新規オフ」と判断された場合には、ＣＰＵ２１は、ＲＡＭ２３中の発音ステータスが発音中であるかを判断する（ステップ８０９）。ステップ８０９でＮｏと判断された場合には、パネル操作検出処理を終了する。ステップ８０９でＹｅｓと判断された場合には、ＣＰＵ２１は、発音ステータスが「発音中」となっている楽音について、ノートオフイベントを生成して、音源部２６に出力する（ステップ８１０）。次いで、ＣＰＵ２１は、「発音中」となっていた発音ステータスを「消音」に変更する（ステップ８１１）。
【００４６】
図１２（ａ）は、演奏者が指をタッチパネル上に接触して、その状態で指を移動した後、指をタッチパネルから離間された例を示す図である。図１２（ａ）において、矢印付きの線の一方端の黒点が、タッチパネル上に新たに接触した位置を示し、矢印の先端が、タッチパネル上で離間した位置を示す。たとえば、線１２０１の例では、演奏者の指は、第１の領域内で新規オンして、第１の領域内を接触した状態で移動し、同じく第１の領域内で新規オフしている。したがって、新規オンに伴って、音高Ｃ４を含むノートオンイベントが生成され、新規オフに伴って音高Ｃ４のノートオフイベントが生成される。
【００４７】
また、線１１０２に示す例では、演奏者の指は、ｂ−領域内で新規オンして、同じくｂ−領域内で新規オフしている。したがって、新規オンに伴って、音高Ｂ３を含むノートオンイベントが生成され、新規オフに伴って音高Ｂ３のノートオフイベントが生成される。さらに、線１２０３に示す例では、音符の周辺領域に演奏者の指が位置していないため、ノートオンイベントが生成されない。
【００４８】
その一方、図１２（ｂ）に示すように、複数の領域にわたって演奏者の指が移動する場合も考えられる。たとえば、以下のような態様を考えることができる。
【００４９】
ｂ−領域で新規オンして、ａ領域で移動した後、ａ領域において新規オフとなる（符号１２１１）
ｂ＋領域で新規オンして、ａ領域で移動した後、ａ領域において新規オフとなる（符号１２１２）
周辺領域外で新規オンして、ｂ−領域に移動した後、ｂ−領域において新規オフとなる（符号１２１３）
周辺領域外で新規オンして、ｂ−領域に移動した後、さらに、ａ領域に移動して当該ａ領域において新規オフとなる（符号１２１４）。
【００５０】
上記以外にも、複数の領域にわたる場合が生じ得る。したがって、本実施の形態にかかるパネル操作検出処理では、上述した演奏者の指の移動にも対応できるようになっている。ステップ８０２でＮｏ、つまり、演奏者がタッチパネル上で指をオン中である場合には、図９に示すように、ＣＰＵ２１は、演奏者の指が触れている位置が、画面上に表示された音符についての周辺領域に該当するかを判断する（ステップ９０１）。次いで、ＣＰＵ２１は、検出された周辺領域が、前回の処理において検出された周辺領域と異なるか、つまり、周辺領域の種別が変更されたかを判断する（ステップ９０２）。なお、ｂ−領域からｂ＋領域の移動も、周辺領域の変更と判断される。
【００５１】
ステップ９０２でＮｏと判断された場合には、パネル操作検出処理を終了する。ステップ９０２でＹｅｓと判断された場合には、ＣＰＵ２１は、演奏者の指の位置が、周辺領域内、つまり、第１の領域（ａ領域）或いは第２の領域（ｂ−領域またはｂ＋領域）の何れかにあるかを判断する（ステップ９０３）。ステップ９０３でＹｅｓと判断された場合には、ＣＰＵ２１は、ＲＡＭ２３に格納された発音ステータスが「発音中」であるかを判断する（ステップ９０４）。ステップ９０４でＹｅｓと判断された場合には、ＣＰＵ２１は、指が位置する周辺領域の種別に従った音高変更処理を実行する（ステップ９０９）。
【００５２】
音高変更処理においては、移動前の周辺領域に対応する音高の楽音を消音するノートオフイベントを生成して、音源部２６に出力するとともに、移動後の周辺領域に対応する音高および音色情報を含むノートオンイベントを生成して、音源部２６に出力する。これにより、移動後の周辺領域に対応する音高の楽音を発生させることができる。
【００５３】
図１２（ｂ）において、ｂ−領域で新規オンして、ａ領域で移動した場合（符号１２１１）には、ｂ−領域での新規オンにより、Ｃ４より半音下のＢ３の楽音が発生し、ｂ−領域からａ領域に移動することにより、楽音の音高がＣ４に変更される。また、ｂ＋領域で新規オンして、ａ領域で移動した場合（符号１２１２）には、ｂ＋領域での新規オンにより、Ｃ４より半音上のＣ＃４の楽音が発生し、ｂ＋領域からａ領域に移動することにより、楽音の音高がＣ４に変更される。
【００５４】
ステップ９０４でＮｏと判断された場合には、ＣＰＵ２１は、周辺領域の種別に従った発音処理を実行する（ステップ９０５）。ステップ９０５においては、図８のステップ８０５と同様に、ＣＰＵ２１は、周辺領域に対応する音高および音色情報を含むノートオンイベントを生成して、音源部２６に出力する。また、ＣＰＵ２１は、スタートフラグＳＴＦが「１」であるかを判断する（ステップ９０６）。ステップ９０６でＹｅｓと判断された場合には、ＣＰＵ２１は、ガイド判定処理を実行する（ステップ９０７）。その後、ＣＰＵ２１は、ＲＡＭ２３中のノートオンイベントが生成された音高の楽音について、発音ステータスを「発音中」とする（ステップ９０８）。
【００５５】
図１２（ｂ）において、周辺領域外で新規オンして、ｂ−領域に移動した場合（符号１２１３参照）には、領域ｂ−に移動することにより、音符の音高Ｃ４より半音低いＢ３の楽音が発生する。また、周辺領域外で新規オンして、ｂ−領域に移動した後、さらに、ａ領域に移動した場合（符号１２１４参照）には、領域ｂ−に移動することにより、音符の音高Ｃ４より半音低いＢ３の楽音が発生し、さらに、ａ領域に移動することにより、音高がＣ４に変更される。
【００５６】
次に、ステップ９０３でＮｏと判断された場合について説明する。この場合に、ＣＰＵ２１は、ＲＡＭ２３に格納された発音ステータスが「発音中」であるかを判断する（ステップ１００１）。ステップ１００１でＹｅｓと判断されるときは、演奏者の指の位置が周辺領域の何れかから周辺領域外に移動したことを意味する。したがって、この場合には、ＣＰＵ２１は、消音処理を実行する（ステップ１００２）。消音処理において、ＣＰＵ２１は、発音ステータスが「発音中」である楽音についてのノートオフイベントを生成して、音源部２６に出力する。
【００５７】
ステップ１００１でＮｏと判断された場合、或いは、ステップ１００２が実行された後、ＣＰＵ２１は、演奏者の指の位置が、他の音符についての周辺領域にあるかを判断する（ステップ１００３）。図１３および図１４は、表示部の画面上の画像において、五線上に複数の音符が配置されている例を示す図である。図１３に示す例では、２つの音符１３００および１３１０の周辺領域は重なり合っていない。つまり、音符１３００の第２の領域（符号１３０１参照）と、音符１３１０の第２の領域（符号１３１１参照）とは離間している。したがって、演奏者の指が、音符１３００の第１の領域（ａ領域）でオン状態となり、第２の領域（この例では、ｂ−領域）を経て、周辺領域外に出たそのときに、他の音符についての周辺領域内に位置することはない（矢印１３２０参照）。
【００５８】
これに対して、図１４に示す例では、２つの音符１４００、１４１０は隣接して配置され、その周辺領域が重なり合っている。この例では、音符１４００の第１の領域１４０２は、部分的に音符１４１０の第２の領域１４１１と重なり合い、第２の領域１４０１は、部分的に音符１４１０の第１の領域１４１２、第２の領域１４１１と重なり合っている。このようなときに、演奏者の指が、線１４２０に沿って移動した場合には、音符１４００を優先と考えると、音符１４００の第１の領域１４０２、音符１４００の第２の領域１４０１（より詳細にはｂ−領域からｂ＋領域）を経て、音符１４１０の第１の領域１４１２に達する）。本実施の形態においては、このように、演奏者の指が、ある音符の周辺領域外に出たその時に、他の音符の周辺領域内に位置する場合を考慮して、以下の処理を実行する。
【００５９】
ステップ１００３でＹｅｓと判断された場合には、ＣＰＵ２１は、他の音符についての新たな周辺領域の種別に基づく発音処理を実行する（ステップ１００４）。ステップ１００４においては、ＣＰＵ２１は、他の音符についての周辺領域に対応する音高および音色情報を含むノートオンイベントを生成して、音源部２６に出力する。次いで、ＣＰＵ２１は、スタートフラグＳＴＦが「１」であるかを判断する（ステップ１００５）。ステップ１００５でＹｅｓと判断された場合には、ＣＰＵ２１は、ガイド判定処理を実行する（ステップ１００６）。
【００６０】
ステップ１００３でＮｏと判断された場合には、ＣＰＵ２１は、ＲＡＭ２３中の発音ステータスを「消音」とする（ステップ１００７）。
【００６１】
図１５は、表示部の画面上の画像において、五線上に複数の音符が配置されている例を示す図である。図１５における線１４２０および１５１０は、演奏者の指の移動の軌跡を示している。図１５において、線１４２０は、音符１４００についての第１の領域（ａ領域）１４０２で新規オンして、第２の領域１４０１のｂ−領域およびｂ＋領域を経て、他の音符１４１０の第１の領域（ａ領域）１４１２に達したことを示している。この場合には、Ｃ４（音符１４００の第１の領域）、Ｂ３（音符１４００のｂ−領域）、Ｃ＃４（音符１４００のｂ＋領域）、Ｅ４（音符１４１０の第１の領域）の順で楽音が発音される。
【００６２】
また、図１５において、線１５１０は、音符１４００の第１の領域（ａ領域）１４０２で新規オンして、第２の領域１４０１のｂ−領域を経た後、さらに、他の音符１４１０の第２の領域１４１１のｂ−領域を経て、他の音符１４１０の第１の領域１４１２に達したことを示している。この場合には、Ｃ４（音符１４００の第１の音域）、Ｂ３（音符１４００のｂ−領域）、Ｅ♭４（音符１４１０のｂ−領域）、Ｅ４（音符１４１０の第１の領域）の順で楽音が発音される。
【００６３】
なお、本実施の形態においては、タッチパネル１３への新規オンにおいて、複数の音符の周辺領域が重なっている場合には、楽曲において時間的に先行する音符（つまり、楽譜上で左側に位置する音符）を優先して、周辺領域が特定される。つまり、図１５に示すように、新規オンの際には、左側に位置する音符１４００の周辺領域（符号１４０１、１４０２参照）が、右側に位置する音符１４１０の周辺領域（符号１４１１、１４１２参照）に優先して判断される。しかしながら、いったん、演奏者の指のオン状態が維持された状態で、他の音符の周辺領域内に移動すると、当該他の音符の周辺領域が優先することになる。
【００６４】
図１６は、演奏者の指の軌跡が、他の音符の周辺領域に移ったときの状態を示す図である。図１５の符号１４２０と同じような動きで、演奏者の指が、音符１４００の周辺領域（実際には、第２の領域１４０１）から、音符１４１０の周辺領域（実際には、第１の領域１４１２）に移動すると（符号１６０１参照）、音符１４１０の周辺領域が、音符１４００の周辺領域に優先する。すなわち、演奏者の指が線１４２０に沿って動き、位置１６０１に移動すると、音符１４１０の周辺領域と、音符１４００の周辺領域が重なり合う部分では、音符１４１０の周辺領域が優先する。したがって、位置１６０１以降の演奏者の指の移動に伴う発音は、図１６に示すように、音符１４１０の周辺領域に位置する限り、音符１４１０に関する楽音（Ｅ４、半音下のＥ♭４、或いは、半音上のＦ４）となる。
【００６５】
演奏者の指が線１５１０に沿って動き、位置１６０２に達したときにも同様に、音符１４１０の周辺領域と、音符１４００の周辺領域が重なり合う部分では、音符１４１０の周辺領域が優先する。
【００６６】
次に、本実施の形態にかかるガイド判定処理について説明する。図１７は、本実施の形態にかかるガイド判定処理の例を示すフローチャートである。図１７に示すように、ＣＰＵ２１は、発音フラグＯＮＦが「１」であるかを判断する（ステップ１７０１）。なお、発音フラグＯＮＦは、後述するガイド処理において、読み出された曲データのレコードが、ノートオンイベントであるかノートオフイベントであるかにしたがってセットされるフラグである（図１９のステップ１９０５〜１９０９参照）。ステップ１７０１でＮｏと判断された場合には、ガイド判定処理は終了する。ステップ１７０１でＹｅｓと判断された場合には、ＣＰＵ２１は、演奏モードが、第１の自動演奏モード（ＭＯＤＥ＝１）であるかを判断する（ステップ１７０２）。
【００６７】
ステップ１７０２でＹｅｓ、つまり、演奏モードが第１の自動演奏モードである場合には、ＣＰＵ２１は、演奏者がタッチパネル上で触れている音符の音高ＫＥＹと、ＲＡＭ２３中に格納された、曲データの音高ＮＯＴＥとが一致しているかを判断する（ステップ１７０３）。ステップ１７０３でＮｏと判断された場合には、ＣＰＵ２１は、ＲＡＭ２３中の当該音高ＫＥＹについてのエラーフラグＥＲＲＦ（ＫＥＹ）に「１」をセットする（ステップ１７０９）。
【００６８】
ステップ１７０３でＹｅｓと判断された場合には、ＣＰＵ２１は、ＲＡＭ２３中の音高ＫＥＹについてのエラーフラグＥＲＲＦ（ＫＥＹ）が「１」であるかを判断する（ステップ１７０４）。ステップ１６０４でＹｅｓと判断された場合には、当該エラーフラグＥＲＲＦ（ＫＥＹ）を「０」にリセットする（ステップ１７０５）。
【００６９】
ＣＰＵ２１は、キー操作フラグＫＥＹＦを「１」にセットする（ステップ１７０６）。また、ＣＰＵ２１は、表示部１２の画面上に表示された楽譜中、現在演奏中の音符（演奏者が触れるべき音符）を示すカーソルを消去する（ステップ１７０７）。なお、現在演奏中の音符は、曲データ中のノートオンイベントがＤＡＴＡとしてＲＡＭ２３に格納されている。したがって、ＣＰＵ２１は、ＲＡＭ２３中のＤＡＴＡを参照することで、音符を特定することができる。ＲＡＭ２３中のＤＡＴＡについては、ガイド処理において説明する。その後、ＣＰＵ２１は、発音フラグＯＮＦを「０」にリセットする（ステップ１７０８）。
【００７０】
次に、ステップ１７０２でＮｏと判断された場合について説明する。ステップ１７０２でＮｏと判断された場合にも、ＣＰＵ２１は、演奏者がタッチパネル上で触れている音符の音高ＫＥＹと、ＲＡＭ２３中に格納された、曲データの音高ＮＯＴＥとが一致しているかを判断する（ステップ１７１０）。ステップ１７１０でＮｏと判断された場合にはガイド判定処理を終了する。ステップ１７１０でＹｅｓと判断された場合には、ステップ１７０７に進む。
【００７１】
パネル操作検出処理（ステップ３０３）が終了すると、ＣＰＵ２１は、ガイド処理を実行する実行する（ステップ３０４）。図１８および図１９はは、本実施の形態にかかるガイド処理の例を示すフローチャートである。図１８に示すように、ＣＰＵ２１は、ＲＡＭ２３中のスタートフラグＳＴＦが「１」であるかを判断する（ステップ１８０１）。ステップ１８０１でＮｏと判断された場合には、ガイド処理は終了する。ステップ１８０１でＹｅｓと判断された場合には、発音フラグＯＮＦが「１」であるかを判断する（ステップ１８０２）。
【００７２】
ステップ１８０２でＮｏと判断された場合には、ＣＰＵ２１は、タイマインタラプト処理によりカウントされるタイマ値を参照して、所定の最小単位時間が経過しているかを判断する。ステップ１８０３でＮｏと判断された場合には、ガイド処理を終了する。
【００７３】
その一方、ステップ１８０３でＹｅｓと判断された場合には、ＣＰＵ２１は、タイマのレジスタ値Ｔをデクリメントする（ステップ１８０４）。その後、ＣＰＵ２１は、タイマレジスタ値Ｔが「０」より大きいかを判断し（ステップ１８０５）、ステップ１８０５でＹｅｓと判断された場合には、ガイド処理を終了する。ステップ１８０５でＮｏ、つまり、タイマレジスタ値が「０」以下である場合には、ステップ１８０９に進む。ステップ１８０９については、後述する。
【００７４】
ステップ１８０２でＹｅｓ、つまり、発音フラグＯＮＦが「１」であると判断された場合には、ＣＰＵ２１は、演奏モードが第１の自動演奏モード（ＭＯＤＥ＝１）であるかを判断する（ステップ１８０６）。ステップ１８０６でＹｅｓと判断された場合には、キー操作フラグＫＥＹＦが「１」であるかを判断する（ステップ１８０７）。ステップ１８０７でＮｏと判断された場合には、ガイド処理を終了する。ステップ１８０７でＹｅｓと判断された場合には、ＣＰＵ２１は、キー操作フラグＫＥＹＦを「０」にリセットする（ステップ１８０８）。
【００７５】
ステップ１８０６でＮｏと判断された場合、或いは、ステップ１８０８が実行された後に、ＣＰＵ２１は、エラーフラグＥＲＲＦ（  ）が「０」であるかを判断する（ステップ１８０９）。ステップ１８０９でＮｏと判断された場合には、ガイド処理が終了する。ステップ１８０９でＹｅｓと判断された場合には、ＣＰＵ２１は、アドレスを示すパラメータＡＤを歩進させて（ステップ１８１０）、曲データＧ（ＡＤ）が存在するかを判断する（ステップ１８１１）。ステップ１８１１でＮｏと判断された場合には、ＣＰＵ２１は、スタートフラグＳＴＦを「０」にリセットして（ステップ１８１２）、タイマインタラプトを停止する（ステップ１８１３）。
【００７６】
ステップ１８１１でＹｅｓと判断された場合には、ＣＰＵ２１は、アドレスＡＤの示す曲データＧ（ＡＤ）を読み出して、ＲＡＭ２３中の値ＤＡＴＡとして格納する（ステップ１９０１）。次いで、ＣＰＵ２１は、ＲＡＭ２３中のＤＡＴＡが、イベント（ノートオンイベント或いはノートオフイベント）であるかを判断する（ステップ１９０２）。ステップ１９０２でＮｏと判断された場合、つまり、ＤＡＴＡに格納されているのがタイムである場合には、ＣＰＵ２１は、タイマのレジスタ値Ｔに、ＤＡＴＡの値を格納する（ステップ１９０３）。
【００７７】
ステップ１９０２でＹｅｓと判断された場合には、ＣＰＵ２１は、ＤＡＴＡ中に含まれる音高を、音高情報ＮＯＴＥとして、ＲＡＭ２３に格納する（ステップ１９０４）。次いで、ＣＰＵ２１は、ＤＡＴＡがノートオンイベントであるかを判断する（ステップ１９０５）。ステップ１９０５でＹｅｓと判断された場合には、ＣＰＵ２１は、ＤＡＴＡ（ノートオンイベント）に対応する、表示部１２の画面上に表示された楽譜中の音符を特定して、当該音符を指すカーソルを表示する（ステップ１９０６）。また、ＣＰＵ２１は、発音フラグを「１」にセットする（ステップ１９０７）。ステップ１９０７の後、ステップ１８０６に進む。
【００７８】
また、ステップ１９０５でＮｏと判断された場合、つまり、ＤＡＴＡがノートオフイベントであった場合には、ＣＰＵ２１は、ＤＡＴＡ（ノートオフイベント）に対応する、表示部１２の画面上に表示された楽譜中の音符を特定して、当該音符を指すカーソルを消去する（ステップ１９０９）。ステップ１９０９の後、ステップ１８１０に進む。
【００７９】
ガイド処理（ステップ３０４）が終了すると、音源部２６において音源発音処理が実行される（ステップ３０５）。音源発音処理では、音源部２６が、ＣＰＵ２１からノートオンイベントを受理すると、ノートオンイベントに含まれる音高および音色情報に基づき、ＲＯＭ２２から所定の音色の波形データを、音高にしたがった速度で読み出して、所定の楽音データを生成する。また、音源部２６が、ＣＰＵ２１からノートオフイベントを受理すると、ノートオフイベントに示される音色および音高の楽音を消音する。
【００８０】
音源発音処理（ステップ３０５）が終了すると、ＣＰＵ２１は、画像更新処理を実行する（ステップ３０６）。図２０は、本実施の形態にかかる画像更新処理の例を示すフローチャートである。
【００８１】
図２０に示すように、ＣＰＵ２１は、演奏者によるタッチパネルへの操作状態を検出する（ステップ２００１）。タッチパネルに演奏者の指が接触していない状態であれば（ステップ２００１で「オフ」）、画像更新処理は終了する。タッチパネルに演奏者の指が接触していれば（ステップ２００１で「オン」）、ＣＰＵ２１は、演奏者が指で触れた位置が画面上に表示された音符についての周辺領域に該当するかを判断する（ステップ２００２）。ステップ２００２でＹｅｓと判断された場合には、ＣＰＵ２１は、演奏者の指がその周辺領域に位置する音符の音高が、アドレスを示すパラメータＤＡＤにて特定されるレコード中の音高と一致するかを判断する（ステップ２００３）。
【００８２】
ステップ２００２或いはステップ２００３でＮｏと判断された場合には、楽譜更新処理は終了する。ステップ２００３でＹｅｓと判断された場合は、表示部の画面上に配置された楽譜において、最後尾の音符（時間的にもっとも新しい音符）の周辺領域に演奏者の指が触れていることを意味する。したがって、ステップ２００３でＹｅｓと判断された場合には、ＣＰＵ２１は、曲データのレコードを、アドレスＤＡＤが示すパラメータの後、所定数だけ読み出す（ステップ２００４）。
【００８３】
ＣＰＵ２１は、読み出された曲データのレコード中、ノートオンイベントおよび次のタイムに基づき、音符位置および音符種別を含む音符データを生成する（ステップ２００５）。また、ノートオフイベントおよび次のタイムに基づく休符データも、ステップ２００５において生成される。
【００８４】
次いで、ＣＰＵ２１は、ステップ１６０５で生成された音符データおよび休符データにしたがった音符や休符を、五線譜中に配置した画像データを生成する（ステップ２００６）。また、ＣＰＵ２１は、上記画像中の音符や休符の各々の位置情報（座標）を、ＲＡＭ２３中に格納する（ステップ２００７）。また、ＣＰＵ２１は、表示部１２の画面上に表示された音符および休符に対応する曲データのレコードのアドレス（たとえば最終アドレス）を、アドレスＤＡＤとしてＲＡＭ２３に格納する（ステップ２００８）。
【００８５】
楽譜更新処理（ステップ３０６）が終了すると、ＣＰＵ２１は、その他の処理を実行して（ステップ３０７）、ステップ３０２に戻る。その他の処理には、外部Ｉ／Ｆ２８を介したメモリカードからのデータの読み出し、メモリカードへのデータ書き込み、外部ネットワークを介した他の機器とのデータ送受信などが含まれる。
【００８６】
本実施の形態において、演奏モードが第１の自動演奏モード（ＭＯＤＥ＝１）である場合には、表示部１２の画面上に表示された画像において、カーソルにて示された音符の周辺領域に演奏者の指が触れない限り、自動演奏が進行しない。すなわち、ガイド判定処理において、エラーフラグＥＲＲＦ（ＫＥＹ）に「１」がセットされるため（ステップ１７０９）、ガイド処理において、曲データの次のレコードの読み出しが行なわれない（ステップ１８０９でＮｏ）。
【００８７】
図２１（ａ）、（ｂ）は、それぞれ、表示部の画面上に表示された楽譜の例を示す図である。図２１（ａ）では、画像２１００の楽譜において、音符２１０１の周辺領域（符号２１０２）を、演奏者が指で触るべきことを示している。なお、本実施の形態において、音符の周辺領域を、画像上に表示しても良いし、表示しなくても良い。周辺領域を表示する場合に、第１の領域および第２の領域をそれぞれ表示しても良いし、周辺領域の外郭を画定する第２の領域のみを表示しても良い。また、画像２１００においては、カーソル２１０３が音符２１０１を指している。これにより、演奏者に、音符２１０１（およびその付近）を触れるべきことが示される。
【００８８】
また、第１の自動演奏モードの下では、演奏者の指が、上記音符２１０１の周辺領域に触れるまで、カーソルはその位置に留まり、また、自動演奏も進行しない。その一方、第２の自動演奏モードの下では、演奏者の指が、音符２１０１の周辺領域に触れるか否かにかかわらず、音符２１０１に規定する時間（４分音符に相当する時間）が経過すると、自動演奏は進行する。
【００８９】
図２１（ｂ）では、画像２１１０の楽譜において、音符２１０４の周辺領域（符号２１０２５）を、演奏者が指で触るべきことを示している。第１の演奏モードの下においては、上述したように、演奏者の指が、上記音符２１０１の周辺領域に触れることにより、図２１（ｂ）に示すような画像に移行する。第２の演奏モードの下においては、音符２１０１に規定する時間（４分音符に相当する時間）が経過することにより、図２１（ｂ）に示すような画像に移行する。
【００９０】
本実施の形態によれば、ＣＰＵ２１は、表示部１２の画面上に表示された楽譜中の音符のそれぞれの位置と、タッチパネル１３上の演奏者による接触位置とを比較して、接触位置が、何れかの音符の位置を含む周辺領域内であるかを判断して、接触位置が、周辺領域内である場合に、当該音符の音高に基づくノートオンイベントを生成して、音源部２６に出力する。これにより、音源部２６により所定の音高の楽音データが生成される。このように、本実施の形態によれば、演奏者が、表示画面上の音符或いはその周辺領域に触れることにより、楽曲を構成する音符に対応する楽音を発生することができる。したがって、楽譜表示から、その音符表記の解釈を経ることなく、直接的に楽音を発生することが可能となる。
【００９１】
また、本実施の形態においては、ＣＰＵ２１は、楽曲を構成する音符と対応するように、当該音符の音高情報およびその発音タイミングを示す時間情報を少なくとも含む曲データに基づき、楽曲を構成する音高の楽音を順次発音するようノートオンイベントを制御することで、楽曲を進行させる。したがって、上述した表示部１２の画面上に表示された音符の周辺に触れることで楽音を発音させるような装置で、自動演奏を実現することができる。
【００９２】
本実施の形態において、第１の自動演奏モードの下では、ＣＰＵ２１は、演奏者による接触位置が、発音すべき楽音に対応する音符の周辺領域である場合に、曲データに基づき、楽曲を進行させるように構成されている。したがって、演奏者が、楽曲において発音すべき正しい音符（の周辺）を触れることにより楽曲を進行させることができる。
【００９３】
また、本実施の形態においては、ＣＰＵ２１は、曲データに基づき、楽曲において現在発音すべき楽音に対応する音符を指し示すカーソルを、楽譜中に表示する。したがって、演奏者は、どの音符（の周辺）に触れるべきかを容易に知ることが可能となる。
【００９４】
また、本実施の形態によれば、周辺領域が、音符を含む第１の領域と、第２の領域の周囲に位置する第２の領域と、を有し、ＣＰＵ２１は、演奏者による接触位置が、音符の位置の第１の領域、或いは、第２の領域内であるかを判断し、接触位置が属する領域に基づき楽音の音高を決定する。これにより、演奏者による接触位置と音符との近さに基づいて音高を変化させることが可能となる。
【００９５】
さらに、第２の領域は、音符が配置される五線と垂直方向において、音符より上側に位置する上側領域（ｂ＋領域）と、下側に位置する下側領域（ｂ−領域）とを備える。ＣＰＵ２１は、演奏者による接触位置が、第１の領域内である場合には、発音すべき楽音の音高を、音符の音高に対応する音高と決定し、上側領域である場合には、音符の音高より所定だけ高い音高（たとえば半音高い音高）と決定し、また、下側領域である場合には、前記音符の音高より所定だけ低い音高（たとえば半音低い音高）と決定する。
【００９６】
次に、本発明の第２の実施の形態について説明する。第１の実施の形態においては、図１０に示すように、音符１０００が配置されている位置から、所定の第１の半径の範囲（符号１００１参照）内を第１の領域（ａ領域）、所定の第２の半径（＞第１の半径）の範囲（符号１００２参照）内を第２の領域（ｂ領域）としている。さらに、第２の領域（ｂ領域）において、そのＹ座標が、音符の位置のＹ座標より小さいような領域を、ｂ−領域（符号１００３参照）、そのＹ座標が、音符の位置のＹ座標以上であるような領域をｂ＋領域（符号１００３参照）としている。
【００９７】
第１の実施の形態では、演奏者の指が、第１の領域（ａ領域）にある場合には、音符に対応する音高の楽音が発音される。また、演奏者の指が、ｂ−領域にある場合には、音符に対応する音高より半音下の音高の楽音が発音され、演奏者の指がｂ＋領域にある場合には、音符に対応する音高より半音上の音高の楽音が発音される。
【００９８】
第２の実施の形態においても、音符２２００の周囲に第１の領域および第２の領域（ｂ−領域およびｂ＋領域）が設けられているが、第１の領域の形状が、第１の実施の形態と異なる。図２２（ａ）は、第２の実施の形態にかかる周辺領域の例を示す図である。図２２（ａ）に示すように、この例では、第１の領域２２０１の長径は、第２の領域２２０２の直径と等しく、したがって、左右端で第１の領域２２０１と第２の領域２２０２とは接触している（符号２２０５、２２０６参照）。
【００９９】
また、第１の実施の形態と同様に、第２の領域において、そのＹ座標が、音符の位置のＹ座標より小さいような領域を、ｂ−領域（符号２２０３参照）、そのＹ座標が、音符の位置のＹ座標以上であるような領域をｂ＋領域（符号２２０４参照）としている。
【０１００】
第２の実施の形態においても、演奏者の指が、第１の領域（ａ領域）（符号２２０１参照）にある場合には、音符に対応する音高の楽音が発音される。また、演奏者の指が、ｂ−領域（符号２２０３参照）にある場合には、音符に対応する音高より半音下の音高の楽音が発音され、演奏者の指がｂ＋領域（符号２２０４参照）にある場合には、音符に対応する音高より半音上の音高の楽音が発音される。
【０１０１】
また、演奏者の指が、タッチパネル１３の画面上に触れた状態で周辺領域などを移動した場合の音高の変化は、第１の実施の形態と同様である（図８ないし図１０参照）。
【０１０２】
第２の実施の形態においては、左右端において、第１の領域と第２の領域とが接触している。したがって、演奏者の指が、ある音符のｂ−領域からｂ＋領域に、或いは、ある音符のｂ＋領域からｂ−領域に直接移動することがない。したがって、ユーザの指の動きに伴って、発音される音高は、実際の音符の音高の半音上から半音下に直接変化し、或いは、実際の音符の音高の半音下から半音上に直接変化するような、大きな音高変化は生じない。
【０１０３】
次に、本発明の第３の実施の形態について説明する。図２２（ｂ）は、第３の実施の形態にかかる周辺領域の例を示す図である。図２２（ｂ）に示すように、第３の実施の形態では、第１の領域（符号２２１１参照）および第２の領域（符号２２１２参照）の間に、第３の領域（符号２２１３参照）が設けられている（第１の領域の半径＜第３の領域の半径＜第２の領域の半径）。第３の領域も、第２の領域と同様に、Ｙ座標が音符の位置するＹ座標より小さいこと、或いは、大きいことにしたがって、ｃ−領域（符号２２１６参照）とｃ＋領域（符号２２１７参照）とを含んでいる。
【０１０４】
第３の実施の形態においては、領域に対応して以下に示す音高の楽音が発音されるようになっている。
【０１０５】
演奏者の指が、ａ領域（符号２２１１参照）にある場合には、音符に対応する音高の楽音が発音される。
【０１０６】
演奏者の指が、ｂ−領域（符号２２１４参照）にある場合には、音符に対応する音高より半音下の音高の楽音が発音され、演奏者の指がｂ＋領域（符号２２１５参照）にある場合には、音符に対応する音高より半音上の音高の楽音が発音される。
【０１０７】
演奏家の指が、ｃ−領域（符号２２１６参照）にある場合には、音符に対応する音高より１／４音下の音高の楽音が発音され、演奏者の指がｃ＋領域（符号２２１７参照）にある場合には、音符に対応する音高より１／４音上の楽音が発音される。
【０１０８】
なお、第３の実施の形態においても、演奏者の指が、タッチパネル１３の画面上に触れた状態で周辺領域などを移動した場合の音高の変化は、第１の実施の形態と同様である（図８ないし図１０参照）。
【０１０９】
第３の実施の形態においては、演奏者の指の動きに基づいて、より細かい音程変化を実現することが可能となる。
【０１１０】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【０１１１】
たとえば、第１の実施の形態および第２の実施の形態では、周辺領域として、第１の領域（ａ領域）と第２の領域（ｂ＋領域およびｂ−領域）を設け、第１の領域（ａ領域）、ｂ＋領域、ｂ−領域のそれぞれにおいて、表示された音符の音高に基づく所定の音高を対応付けている。しかしながら、これに限定されず、周辺領域として、第１の領域（ａ領域）だけを設け、演奏者の指が第１の領域に接触したときに、音符に対応する音高の楽音を発音するように構成しても良い。
【０１１２】
また、本実施の形態においては、ノートオンイベント、タイム、ノートオフイベント、および、タイムのレコードを含む曲データに基づいて、音符の音高および音長や、所定の長さの休符を含む楽譜データを生成し、表示部１２の画面上、所定の位置に音符、休符のシンボルを配置したような楽譜を表示している。しかしながら、これに限定されるものではなく、曲データとは別に音符および音長、並びに、休符の種別を示すレコードを含む楽譜データをフラッシュメモリ２４に格納し、ＣＰＵ２１が、楽譜データを読み出して、表示部１２の画面上、所定の位置に音符や休符のシンボルを配置したような楽譜を表示しても良い。
【０１１３】
さらに、第１の実施の形態において、第１の自動演奏モードの下で、発音すべき音符の周辺領域（第１の周辺領域或いは第２の周辺領域）に、演奏者の指が触れることにより、楽曲が進行するように構成されているが、これに限定されるものではなく、周辺領域のうち、第１の周辺領域に演奏者の指が触れた場合のみ、楽曲が進行するように構成しても良い。
【０１１４】
また、前記実施の形態においては、自動演奏モードの下では、表示部１２の画面上に、演奏者が触れるべき音符を指し示すカーソルが表示されるようになっている。しかしながらこれに限定されるものではなく、他の形態の音符指示子を用いても良い。図２３（ａ）、（ｂ）は、それぞれ、本発明の他の実施の形態において、表示部の画面上に表示された楽譜の例を示す図である。図２３（ａ）は、画像２１００の楽譜において、音符２３０１の周辺領域（符号２３０２）を、演奏者が指で触るべきことを示している。この例では、ＣＰＵ２１は、音符指示子として、指で触るべき音符２３０１の周辺領域の外郭を示す印（本例では円形の印）を、楽譜上に表示している。
【０１１５】
第１の実施の形態と同様に、第１の自動演奏モードの下では、演奏者の指が、上記音符２３０１の周辺領域に触れるまで、上記円形の音符指示子はその位置に留まり、また、自動演奏も進行しない。その一方、第２の自動演奏モードの下では、演奏者の指が、音符２３０１の周辺領域に触れるか否かにかかわらず、音符２３０１に規定する時間（４分音符に相当する時間）が経過すると、自動演奏は進行する。
【０１１６】
図２３（ｂ）では、画像２３１０の楽譜において、音符２３１１の周辺領域（符号２３１２）を、演奏者が指で触るべきことを示している。ＣＰＵ２１は、音符指示子として、指で触るべき音符２３１１の周辺領域の外郭を示す印（本例では円形の印）を、楽譜上に表示している。第１の演奏モードの下においては、上述したように、演奏者の指が、上記音符２３０１の周辺領域に触れることにより、図２３（ｂ）に示すような画像に移行する。第２の演奏モードの下においては、音符２３０１に規定する時間（４分音符に相当する時間）が経過することにより、図２３（ｂ）に示すような画像に移行する。
【０１１７】
このように本発明の他の実施の形態によれば、音符指示子が周辺領域に対応するため、演奏者に、指で触れるべき音符およびその触れるべき領域を知らせることが可能となる。
【符号の説明】
【０１１８】
１０        楽音生成装置
１１        スイッチ部
１２        表示部
１３        タッチパネル
１４        スピーカ
２１        ＣＰＵ
２２        ＲＯＭ
２３        ＲＡＭ
２４        フラッシュメモリ
２５        サウンドシステム
２６        音源部
２７        オーディオ回路
【図１】
2012103575.tif 000003
【図２】
2012103575.tif 000004
【図３】
2012103575.tif 000005
【図４】
2012103575.tif 000006
【図５】
2012103575.tif 000007
【図６】
2012103575.tif 000008
【図７】
2012103575.tif 000009
【図８】
2012103575.tif 000010
【図９】
2012103575.tif 000011
【図１０】
2012103575.tif 000012
【図１１】
2012103575.tif 000013
【図１２】
2012103575.tif 000014
【図１３】
2012103575.tif 000015
【図１４】
2012103575.tif 000016
【図１５】
2012103575.tif 000017
【図１６】
2012103575.tif 000018
【図１７】
2012103575.tif 000019
【図１８】
2012103575.tif 000020
【図１９】
2012103575.tif 000021
【図２０】
2012103575.tif 000022
【図２１】
2012103575.tif 000023
【図２２】
2012103575.tif 000024
【図２３】
2012103575.tif 000025