(57)【特許請求の範囲】
【請求項１】
グラフィック表示された楽譜データに対応する演奏データの演奏の進行に合わせて、前記楽譜データ上を移動させるカーソルを表示するためのカーソル表示位置情報を作成する表示位置情報作成装置であって、
イメージデータからなる楽譜データを取得して表示すると共に、前記楽譜データ上を進行させる前記カーソルを表示する楽譜表示手段と、
前記楽譜データ上の前記カーソルの位置がユーザ操作により決定されたことを検出する検出手段と、
発音イベントと該発音イベントのタイミングとを指定する演奏データの先頭からの経過時間である演奏位置を、順次進行させるとともに、前記演奏データの発音イベントのタイミングで演奏位置の進行を一時停止し、前記検出手段が前記カーソルの位置が決定されたことを検出したときに演奏位置の進行を再開するように制御する、演奏位置制御手段と、
前記演奏データを、前記演奏位置に応じて再生する再生手段と、
前記演奏位置制御手段によって演奏データの発音イベントのタイミングで一時停止したときに進行が停止された、前記カーソルの前記楽譜データ上の表示位置を所定位置に調整することができる調整手段と、
前記楽譜表示手段によって表示される楽譜データ上の前記カーソルの座標位置を取得する座標位置取得手段と、
前記検出手段によって前記カーソル位置が決定されたことが検出されたときに、当該検出された時点における前記座標位置取得手段で取得された座標位置と、前記演奏位置制御手段で制御された演奏位置とを組にしてカーソル表示位置情報として記録する記録手段と、
を備えたことを特徴とする表示位置情報作成装置。
【請求項２】
グラフィック表示された楽譜データに対応する演奏データの演奏の進行に合わせて、前記楽譜データ上を移動させるカーソルを表示するためにコンピュータに実行させる表示位置情報作成プログラムであって、
イメージデータからなる楽譜データを取得して表示すると共に、前記楽譜データ上を進行させる前記カーソルを表示する楽譜表示ステップと、
前記楽譜データ上の前記カーソルの位置がユーザ操作により決定されたことを検出する検出ステップと、
発音イベントと該発音イベントのタイミングとを指定する演奏データの先頭からの経過時間である演奏位置を、順次進行させるとともに、前記演奏データの発音イベントのタイミングで演奏位置の進行を一時停止し、前記検出ステップで前記カーソルの位置が決定されたことを検出したときに演奏位置の進行を再開するように制御する、演奏位置制御ステップと、
前記演奏データを、前記演奏位置に応じて再生する再生ステップと、
前記演奏位置制御ステップによって演奏データの発音イベントのタイミングで一時停止したときに進行が停止された、前記カーソルの前記楽譜データ上の表示位置を所定位置に調整することができる調整ステップと、
前記楽譜表示ステップによって表示される楽譜データ上の前記カーソルの座標位置を取得する座標位置取得ステップと、
前記検出ステップによって前記カーソル位置が決定されたことが検出されたときに、当該検出された時点における前記座標位置取得ステップで取得された座標位置と、前記演奏位置制御ステップで制御された演奏位置とを組にしてカーソル表示位置情報として記録する記録ステップと、
を備えたことを特徴とする表示位置情報作成プログラム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、グラフィック表示された楽譜データに対応する楽曲データの進行に合わせて、その楽譜データ上を移動するカーソルの同期情報を作成する表示位置情報作成装置および表示位置情報作成プログラムに関する。
【０００２】
【従来の技術】
従来、演奏データを演奏する際に、ディスプレイに演奏データに対応する楽譜データをグラフィック表示することが行われている。この場合、グラフィック表示された楽譜データ上を、演奏の進行に合わせてカーソルが移動するようにされている。このカーソルを表示させるデータは、グラフィック表示された楽譜データにおける各音符の座標位置と、その音符に対応する演奏データの発音タイミングを基に、その発音タイミングにおいてカーソルをその音符上に表示させる表示位置データをそれぞれ作成するようにしていた。
【０００３】
【発明が解決しようとする課題】
従来、カーソルを演奏されたタイミングで演奏された音符の上に移動するようにカーソルの表示位置データを作成する作業は、それぞれの音符の発音タイミングで、その音符の座標位置になるように表示位置データをそれぞれ手作業で逐次入力しなければならず、多大な時間を要していた。また、そのようにして作成した表示データを検証すると共に、修正する作業にも多大な時間を必要とするという問題点があった。
【０００４】
そこで、本発明は短時間で簡易かつ正確にカーソルの表示データを作成することのできる表示位置情報作成装置および表示位置情報作成プログラムを提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明の表示位置情報作成装置は、グラフィック表示された楽譜データに対応する演奏データの演奏の進行に合わせて、前記楽譜データ上を移動させるカーソルを表示するためのカーソル表示位置情報を作成する表示位置情報作成装置であって、イメージデータからなる楽譜データを取得して表示すると共に、前記楽譜データ上を進行させる前記カーソルを表示する楽譜表示手段と、前記楽譜データ上の前記カーソルの位置がユーザ操作により決定されたことを検出する検出手段と、発音イベントと該発音イベントのタイミングとを指定する演奏データの先頭からの経過時間である演奏位置を、順次進行させるとともに、前記演奏データの発音イベントのタイミングで演奏位置の進行を一時停止し、前記検出手段が前記カーソルの位置が決定されたことを検出したときに演奏位置の進行を再開するように制御する、演奏位置制御手段と、前記演奏データを、前記演奏位置に応じて再生する再生手段と、前記演奏位置制御手段によって演奏データの発音イベントのタイミングで一時停止したときに進行が停止された、前記カーソルの前記楽譜データ上の表示位置を所定位置に調整することができる調整手段と、前記楽譜表示手段によって表示される楽譜データ上の前記カーソルの座標位置を取得する座標位置取得手段と、前記検出手段によって前記カーソル位置が決定されたことが検出されたときに、当該検出された時点における前記座標位置取得手段で取得された座標位置と、前記演奏位置制御手段で制御された演奏位置とを組にしてカーソル表示位置情報として記録する記録手段とを備えている。
【０００６】
また、上記本発明の表示位置情報作成プログラムは、グラフィック表示された楽譜データに対応する演奏データの演奏の進行に合わせて、前記楽譜データ上を移動させるカーソルを表示するためにコンピュータに実行させる表示位置情報作成プログラムであって、イメージデータからなる楽譜データを取得して表示すると共に、前記楽譜データ上を進行させる前記カーソルを表示する楽譜表示ステップと、前記楽譜データ上の前記カーソルの位置がユーザ操作により決定されたことを検出する検出ステップと、発音イベントと該発音イベントのタイミングとを指定する演奏データの先頭からの経過時間である演奏位置を、順次進行させるとともに、前記演奏データの発音イベントのタイミングで演奏位置の進行を一時停止し、前記検出ステップで前記カーソルの位置が決定されたことを検出したときに演奏位置の進行を再開するように制御する、演奏位置制御ステップと、前記演奏データを、前記演奏位置に応じて再生する再生ステップと、前記演奏位置制御ステップによって演奏データの発音イベントのタイミングで一時停止したときに進行が停止された、前記カーソルの前記楽譜データ上の表示位置を所定位置に調整することができる調整ステップと、前記楽譜表示ステップによって表示される楽譜データ上の前記カーソルの座標位置を取得する座標位置取得ステップと、前記検出ステップによって前記カーソル位置が決定されたことが検出されたときに、当該検出された時点における前記座標位置取得ステップで取得された座標位置と、前記演奏位置制御ステップで制御された演奏位置とを組にしてカーソル表示位置情報として記録する記録ステップとを備えている。
【０００７】
このような本発明によれば、発音タイミングになる毎に演奏が停止されて、停止された際にカーソルの表示位置を発音される楽音に対応するグラフィック表示されている音符上に位置するよう調整することにより、カーソル表示位置情報を作成することができるようになる。また、マウスやトラックボール等のポインタ操作手段によりポインタを表示された音符上に位置させて、クリックすることによりカーソルの表示位置を音符上に表示されるよう調整することができる。これにより、カーソル表示位置情報を短時間で簡易かつ正確に作成することができるようになる。
さらに、楽譜データにおける隣接する音符のカーソル表示位置情報を補間すると、グラフィック表示された隣接する音符間をカーソルがほぼ等速で移動するようになり、カーソルがスムースに移動する表示を行えるようになる。
【０００８】
【発明の実施の形態】
本発明の表示位置情報作成方法を実施するハードウェア構成の一例を図１に示す。
図１において、１はシーケンサ機能および音源を有しており、演奏データを再生して楽音を出力することのできるコンピュータ装置である。コンピュータ装置１において、ＣＰＵ１０は動作を制御する中央処理装置（Central Processing Unit）であり、タイマ１１は動作時の経過時間を示したり、特定の間隔でタイマ割込を発生するタイマであり、自動演奏の時間管理等に使用される。ＲＯＭ１２は、ＣＰＵ１０が実行する本発明にかかる表示位置情報を作成する表示位置情報作成プログラムや自動演奏プログラム、および、各種データ等が格納されているＲＯＭ（Read Only Memory）である。ＲＡＭ１３はコンピュータ装置１におけるメインメモリであり、ＣＰＵ１０のワークエリア等が設定されるＲＡＭ（Random Access Memory）である。
【０００９】
また、検出回路１４は操作子２およびマウス３を操作した際の操作情報を検出してバス１８に送出する検出回路であり、操作子２は多数のキーが配列されているパソコン用のキーボードや鍵盤であり、マウス３はディスプレイ４の画面に表示されるポインタを操作するポインタ操作手段である。表示回路１５はディスプレイ４に所定の表示を行うよう表示データをディスプレイ４に送っている表示回路であり、ディスプレイ４には本発明に係る表示位置情報作成プログラムが起動された際に、演奏データに対応する楽譜データを表示することができるディスプレイである。外部記憶装置１６は表示位置情報作成プログラム等の各種アプリケーションプログラムや、演奏データやイメージデータとされている楽譜データ、および、作成されたカーソル表示位置情報等を記憶可能な外部記憶装置であり、ＨＤＤ（Hard Disk Drive）、ＦＤＤ（Floppy Disk Drive）、ＣＤ（Compact Disk）−ＲＯＭドライブ、ＭＯ（Magneto Optical Disk）ドライブ、ＤＶＤ（Digital Versatile Disk）ドライブ等により構成することができる。音源回路１７はＣＰＵ１０から供給された演奏データに基づいて楽音を生成する音源回路であり、音源回路１７で生成された楽音はサウンドシステム５から放音される。
【００１０】
コンピュータ装置１において演奏データが自動演奏される場合は、音源回路１７で再生される楽音の演奏データは、外部記憶装置１６から演奏データに対応するビットマップ形式等のデータとされた楽譜データと共に読み出され、ＲＡＭ１３に一時保存される。ＣＰＵ１０はこの演奏データを解釈して発音パラメータを生成し、発音パラメータを音源回路１７に供給する。これにより、音源回路１７で生成された演奏データを再生した楽音がサウンドシステム５から放音される。同時に、楽譜データは表示回路１５に供給され、表示回路１５によりディスプレイ４に演奏データに対応する楽譜データが図３に示すようにグラフィック表示されるようになる。この場合、図３に示すように演奏データの進行に同期して楽譜データ上をカーソルＣが移動していくようにされている。さらに、バス１８は各ブロック間の情報の受け渡しを行うバスである。
上記したコンピュータ装置１のハードウェア構成は、パーソナルコンピュータやワークステーションと同様の構成とされている。
【００１１】
次に、図１に示すコンピュータ装置１で実施する本発明にかかる表示位置情報作成方法を説明する。
本発明にかかる表示位置情報作成方法は、図３に示すようにディスプレイ４にグラフィック表示された楽譜データ上を、楽譜データに対応する演奏データの進行に同期して移動していくカーソルＣのカーソル表示位置情報を作成する方法である。この演奏データのデータ構造の一例を図２に示す。演奏データは、ファイル化されたＭＩＤＩデータ等とされており、イベントとイベントとの時間間隔を示すデュレーションデータと、イベントデータとが交互に配置されて構成されている。イベントには、ノートオンやノートオフを送るノートメッセージ、楽音をコントロールする情報を送るコントロールメッセージ、メーカ固有のデータやその他のデータを送るエクスクルーシブメッセージ等がある。ノートメッセージのデータ構造をさらに示すと、ノートメッセージは発音させるチャンネル番号を示すチャンネルナンバ、発音する音高を示すノートナンバおよび発音長を示すゲートタイム情報から構成されている。
【００１２】
本発明にかかる表示位置情報作成方法を実施する際には、コンピュータ装置１においてカーソル表示位置情報を作成したい演奏データを選択して演奏させる。すなわち、外部記憶装置１６から選択された演奏データが読み出される。この際に、当該演奏データに対応するビットマップ形式等のイメージデータとされた楽譜データも読み出される。読み出された演奏データはＲＡＭ１３のワークエリアに格納され、楽譜データは表示回路１５に供給され、表示回路１５によりディスプレイ４に演奏データに対応する楽譜データが図３に示すようにグラフィック表示されるようになる。
【００１３】
ここで、読み出された演奏データが図２に示すデータ構造とされていたとすると、ＣＰＵ１０がこの演奏データの最初のイベント１のデータを解釈し、イベント１のデータがノートメッセージの場合は発音パラメータを生成し、その発音タイミングであるデュレーション１で示す時間が経過するまで待機する。そして、デュレーション１で示す時間が経過した際に、演奏の進行が停止される。このとき、ディスプレイ４に表示されているカーソルＣは初期位置に表示されているが、カーソルＣがグラフィック表示された楽譜データにおけるイベント１に対応する最初の音符上に表示されているとは限らない。そこで、マウス３を操作して最初の音符上にポインタをあわせてマウス３をクリック操作する。これにより、カーソルＣはクリックされた位置に移動するようになる。この場合は最初の音符上に、カーソルＣが表示されるようにする。カーソルＣが所定の位置に表示されたら操作子２における音符に対応する鍵、あるいはいずれかの鍵を押鍵する。これを受けて、ＣＰＵ１０は最初のイベント１のデータに対応する発音パラメータを音源回路１７に供給する。これにより、音源回路１７で生成されたイベント１のデータを再生した楽音がサウンドシステム５から放音される。同時に、カーソルＣのディスプレイ４の表示画面における座標位置データが、演奏が停止された際（デュレーション１で示す時間が経過した時刻）のタイミング情報と共にＲＡＭ１３のワークエリアに一時保存される。そして、イベント１におけるゲートタイム情報で示される時間が経過すると、ＣＰＵ１０はそのノートオフデータを音源回路１７に送り、楽音を停止させる。
【００１４】
次いで、ＣＰＵ１０は演奏データから次のデュレーション２のデータとイベント２のデータとを読み出して、そのイベント２のデータを解釈し、イベント２のデータがノートメッセージの場合は発音パラメータを生成し、その発音タイミングであるデュレーション２の時間が経過するまで待機する。この待機状態においてカーソルＣは、デフォルトの進行速度で図３に示す方向に移動していくように表示されていく。そして、デュレーション２の時間が経過した際に、演奏の進行が停止される。このとき、ディスプレイ４に表示されているカーソルＣがグラフィック表示された楽譜データにおけるイベント２に対応する音符上に表示されているとは限らない。そこで、マウス３を操作してイベント２に対応する音符上にポインタをあわせてマウス３をクリック操作する。これにより、カーソルＣはクリックされた位置に移動するようになり、イベント２に対応する音符上に表示されるようになる。カーソルＣが所定の位置に表示されたら操作子２における鍵を押鍵する。これにより、ＣＰＵ１０はイベント２のデータに対応する発音パラメータを音源回路１７に供給する。これにより、音源回路１７で生成されたイベント２のデータを再生した楽音がサウンドシステム５から放音される。同時に、カーソルＣのディスプレイ４の表示画面における座標位置データが、デュレーション２で示す時間が経過した時刻のタイミング情報と共にＲＡＭ１３のワークエリアに一時保存される。そして、イベント２におけるゲートタイム情報で示される時間が経過すると、ＣＰＵ１０はそのノートオフデータを音源回路１７に送り、楽音を停止させる。
【００１５】
このように、ノートメッセージのイベントにおけるデュレーションデータで示す時刻に達する毎に演奏の進行が停止されて、カーソルＣの表示位置を調整してグラフィック表示された楽譜データの対応する音符上に位置させることにより、カーソル表示位置情報を作成することができる。このカーソル表示位置情報は図４に示すように、表示画面におけるカーソルＣのＸ座標とＹ座標との座標位置データと、演奏が停止された際のタイミング情報である演奏開始からの経過時間情報とからなり、グラフィック表示されている楽譜データにおける音符毎のカーソル表示位置情報とされてＲＡＭ１３のワークエリアに一時保存されている。そして、演奏データが終了して、楽譜データにおける全ての音符に対応するカーソル表示位置情報が作成された際には、ＲＡＭ１３に一時保存されていたカーソル表示位置情報をファイルとして外部記憶装置１６に記憶することができる。
【００１６】
このように、発音タイミングになる毎に演奏が停止され、その際にカーソルの表示位置を発音される楽音に対応する音符上に位置するよう表示位置を調整することにより、カーソル表示位置情報を容易にかつ正確に作成することができるようになる。そして、この表示位置の調整は、ポインタを表示された音符上に位置させて、マウス３をクリックすることによりカーソルの表示位置を音符上に調整することができる。これにより、本発明の表示位置情報作成方法によれば、カーソル表示位置情報を短時間で簡易かつ正確に作成することができるようになる。
【００１７】
ところで、演奏データが選択されて自動演奏される際に、楽譜データと共に該当するカーソル表示位置情報も読み出されて演奏の進行に同期してカーソルＣがグラフィック表示された楽譜データ上を移動していくように表示される。この際に、楽音が発音されるタイミングでカーソルＣはグラフィック表示された楽譜データにおける該当する音符上に必ず位置して表示されるようになる。
また、グラフィック表示された楽譜データにおける隣接する音符間をカーソルＣが移動する速度は等速とされる。このため、ＣＰＵ１０は隣接する音符におけるカーソル表示位置情報の演奏開始からの経過時間の差を演算し、その間を補間した表示データを表示回路１５に送ることにより、ディスプレイ４上においてカーソルＣが隣接する音符間を等速で移動するように表示している。ただし、隣接する音符間を移動する速度は、隣接する音符種類や音符間の表示間隔によりそれぞれ異なることになる。
【００１８】
さらに、図３に示すように楽譜データが２段で表示されている際には、上段（高音部）と下段（低音部）とに関わらず、カーソルＣを移動していく際に出現する音符毎に、カーソル表示位置情報が作成されるようになる。すなわち、図３に示すように上段および下段の音符上の位置Ｃ１にカーソルＣを表示させるカーソル表示位置情報に続いて作成されるのは、下段の音符上に表示される位置Ｃ２にカーソルＣを表示させるカーソル表示位置情報となり、次いで作成されるのは、上段および下段の音符上に表示される位置Ｃ３にカーソルＣを表示させるカーソル表示位置情報となる。
【００１９】
次に、図５に示す機能ブロック図を参照して、本発明にかかる表示位置情報作成方法を説明する。
図５において、カーソル表示位置情報を作成する際には、外部記憶装置１６から該当する演奏データを選択して読み出す（Ｓ１）。この際に、当該演奏データに対応するビットマップ形式等のイメージデータとされた楽譜データも外部記憶装置１６から読み出される（Ｓ７）。読み出された演奏データはＲＡＭ１３のワークエリアに格納されると共に、楽譜データはアプリケーションプログラムの表示画面作成部（Ｓ８）に供給されて、演奏データに対応する楽譜データの表示画面データが作成され、表示回路１５を通じて画面表示部であるディスプレイ４に図３に示すようにグラフィック表示されるようになる（Ｓ９）。
【００２０】
読み出された演奏データは、演奏部を構成するＣＰＵ１０に取り込まれて最初のイベントのデータが解釈され、そのイベントのデータがノートメッセージの場合は発音パラメータが生成される。次いで、その発音タイミングであるデュレーションで示す時間が経過するまで待機する。そして、デュレーションで示す時間が経過した際に、演奏の進行が停止される。このとき、ディスプレイ４に表示されているカーソルＣを、グラフィック表示された楽譜データにおける当該イベントに対応する音符上に表示させるために、ポインタを当該音符に合わせてマウス３をクリック操作する（Ｓ５）。これにより、カーソルＣの表示位置が当該音符上に移動し、クリックされた位置にカーソルＣを表示するためのカーソル表示位置情報が作成される（Ｓ６）。このカーソル表示位置情報は、表示画面作成部である表示回路１５に供給され（Ｓ８）、画面表示部にグラフィック表示されている楽譜データの該当する音符上にカーソルＣが表示されるようになる（Ｓ９）。
【００２１】
ここで、画面表示部にグラフィック表示されている楽譜データの該当する音符上からずれてカーソルＣが表示されている場合は、対応する音符上にポインタをあわせてマウス３を再びクリック操作する（Ｓ５）ことにより、カーソルＣの表示位置を調整する。このような操作を繰り返すことにより、カーソルＣを対応する音符上に表示することができる。そして、カーソルＣが所定の位置に表示されたら操作子２における鍵を押鍵すると、鍵盤入力検出部である検出回路１４が押鍵を検出して、ＣＰＵ１０で生成された発音パラメータが演奏部を構成する音源回路１７に供給される。これにより、音源回路１７で生成されたイベントのデータを再生した楽音がサウンドシステム５から放音される（Ｓ３）。同時に、再生された楽音に対応する音符上にカーソルＣを表示させるカーソル表示位置情報が確定される。このカーソル表示位置情報は、図４に示すように画面表示部におけるカーソルＣのＸ座標とＹ座標からなる座標位置データと、演奏開始からの経過時間情報とから構成され、ＲＡＭ１３のワークエリアに一時保存される（Ｓ６）。そして、そのイベントにおけるゲートタイム情報で示される時間が経過すると、ＣＰＵ１０はそのノートオフデータを演奏部を構成する音源回路１７に送り、楽音を停止させる（Ｓ３）。
【００２２】
次いで、同様の操作を繰り返すことにより、演奏データを演奏した際の各楽音に対応するグラフィック表示された楽譜データの該当する音符上にカーソルＣを表示するためのカーソル表示位置情報を次々と作成することができる。そして、演奏データが終了して、楽譜データにおける全ての音符に対応するカーソル表示位置情報が作成された際には、ＲＡＭ１３に一時保存されていた各音符に対応するカーソル表示位置情報をファイルとして外部記憶装置１６に記憶することができる。これにより、カーソル表示位置情報を短時間で簡易かつ正確に作成することができるようになる。
【００２３】
【発明の効果】
本発明は以上のように構成されているので、発音タイミングになる毎に演奏が停止されて、停止された際にカーソルの表示位置を発音される楽音に対応するグラフィック表示されている音符上に位置するよう調整することにより、カーソル表示位置情報を作成することができるようになる。また、マウスやトラックボール等のポインタ操作手段によりポインタを表示された音符上に位置させて、クリックすることによりカーソルの表示位置を音符上に表示されるよう調整することができる。これにより、カーソル表示位置情報を短時間で簡易かつ正確に作成することができるようになる。
さらに、楽譜データにおける隣接する音符のカーソル表示位置情報を補間すると、グラフィック表示された隣接する音符間をカーソルがほぼ等速で移動するようになり、カーソルがスムースに移動する表示を行えるようになる。
【図面の簡単な説明】
【図１】  本発明の表示位置情報作成方法を実施するハードウェア構成の一例を示すブロック図である。
【図２】  演奏データのデータ構造の一例を示す図である。
【図３】  本発明にかかる表示位置情報作成方法を説明するためのグラフィック表示された楽譜データ上に表示されたカーソルを示す図である。
【図４】  本発明にかかる表示位置情報作成方法により作成されたカーソル表示位置情報のデータ構成を示す図である。
【図５】  本発明の表示位置情報作成方法を説明するための機能ブロック図である。
【符号の説明】
１  コンピュータ装置、２  操作子、３  マウス、４  ディスプレイ、５  サウンドシステム、１０  ＣＰＵ、１１  タイマ、１２  ＲＯＭ、１３  ＲＡＭ、１４  検出回路、１５  表示回路、１６  外部記憶装置、１７  音源回路、１８  バス
【図１】
0004389364.tif 000002
【図２】
0004389364.tif 000003
【図３】
0004389364.tif 000004
【図４】
0004389364.tif 000005
【図５】
0004389364.tif 000006