(57)【要約】   【課題】演奏操作が容易である楽音制御装置および楽音制御プログラムを提供する。  【解決手段】  演奏位置が合っている場合は（Ｓ２２：Ｙｅｓ）、ポインタが示す音符情報に記憶されている音色で、ノートオンが示す音高とベロシティに応じた楽音を発生するように音源９を制御する（Ｓ２３）。次に、演奏位置を示すポインタを次の音符情報に進め（Ｓ２４）、この押鍵処理を終了する。  一方、Ｓ２２の判断処理において、演奏位置が合っていない場合、すなわちノートオンが示すノートナンバとポインタが示す音符情報のノートナンバとが一致していない場合は（Ｓ２２：Ｎｏ）、演奏間違い数Ｍに１を加算し（Ｓ２６）、そのノートオンをノートオンバッファ４ｂに記憶し（Ｓ２７）、ノーマル音色で発音するように音源９を制御し（Ｓ２８）、この押鍵処理を終了する。  【選択図】    図４
2006251173.tif 000002
【特許請求の範囲】
【請求項１】
演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えた楽音制御装置において、
一連の楽音の発生の開始を指示する音符情報と楽音の音色を指示する音色情報とを記憶する記憶手段と、
前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、
その演奏位置検出手段により検出された演奏位置に設定されている音色情報を取得する音色情報取得手段とを備え、
前記制御手段は、前記入力手段により楽音の発生の開始を指示する演奏情報が入力された場合は、前記音色情報取得手段により取得された音色情報に応じた音色の楽音を発生するように制御するものであること特徴とする楽音制御装置。
【請求項２】
前記制御手段は、前記演奏位置検出手段が前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報に対する演奏位置を特定できない場合は、所定の音色情報に応じた音色の楽音を発生するように制御するものであることを特徴とする請求項１記載の楽音制御装置。
【請求項３】
演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えた楽音制御装置において、
一連の楽音の発生の開始および停止を指示する音符情報を記憶する記憶手段と、
前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、
前記入力手段により楽音の発生の開始を指示する演奏情報が入力された場合は、前記記憶手段に記憶されている音符情報を参照し、現在発生中の楽音の停止を指示する時刻と前記入力手段により入力された演奏情報に対応する音符情報が示す楽音の発生の開始を指示する時刻との時間差を求める時間差検出手段とを備え、
前記制御手段は、前記時間差検出手段により検出された時間差が所定の時間より短い場合は、発生中の楽音に代えて前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記時間差検出手段により検出された時間差が前記所定の時間より短くない場合は、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものであることを特徴とする楽音制御装置。
【請求項４】
前記制御手段は、前記時間差検出手段により検出された時間差が所定の時間より短い場合は、発生中の楽音を停止し、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記時間差検出手段により検出された時間差が前記所定の時間より短くない場合は、発生中の楽音を停止せず前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものであることを特徴とする請求項３記載の楽音制御装置。
【請求項５】
前記制御手段は、前記時間差検出手段により検出された時間差が、所定の時間より短い場合は、発生中の楽音の音高を前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の音高に変更し、前記時間差検出手段により検出された時間差が前記所定の時間より短くない場合は、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものであることを特徴とする請求項３記載の楽音制御装置。
【請求項６】
演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えた楽音制御装置において、
一連の楽音の発生の開始を指示する音符情報と単音モードまたは複音モードのいずれかを指示するモード情報とを記憶する記憶手段と、
前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、
前記入力手段により楽音の発生の開始を指示する演奏情報が入力された場合は、前記演奏位置検出手段により検出された演奏位置に設定されているモード情報を検出するモード検出手段とを備え、
前記制御手段は、前記モード検出手段により単音モードが検出された場合は、発生中の楽音に代えて前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記モード検出手段により複音モードが検出された場合は、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものであることを特徴とする楽音制御装置。
【請求項７】
前記制御手段は、前記モード検出手段により単音モードが検出された場合は、発生中の楽音を停止し、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記モード検出手段により複音モードが検出された場合は、発生中の楽音を停止せず前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものであることを特徴とする請求項６記載の楽音制御装置。
【請求項８】
前記制御手段は、前記モード検出手段により単音モードが検出された場合は、発生中の楽音の音高を前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の音高に変更し、前記モード検出手段により複音モードが検出された場合は、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものであることを特徴とする請求項６記載の楽音制御装置。
【請求項９】
演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えた楽音制御装置において、
楽音の音高を任意に変更する操作子から操作情報を入力する操作情報入力手段と、
一連の楽音の発生の開始を指示する音符情報を記憶する記憶手段と、
前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、
その演奏位置検出手段により検出された演奏位置に設定されている楽音の発生の開始を指示する音符情報の音高と、その楽音の発生の開始を指示する音符情報の次の楽音の発生の開始を指示する音符情報の音高との音高差を検出する音高差取得手段とを備え、
前記制御手段は、前記操作情報入力手段に操作情報を入力した場合は、その操作情報と前記音高差取得手段により取得された音高差とに基づいて楽音の音高を変更するように制御するものであることを特徴とする楽音制御装置。
【請求項１０】
前記制御手段は、前記操作情報入力手段に操作情報を入力した場合は、前記音高差取得手段により取得された音高差に比例した音高幅で音高を変更するように制御するものであることを特徴とする請求項９記載の楽音制御装置。
【請求項１１】
演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えた楽音制御装置において、
楽音の音高を任意に変更する操作子から操作情報を入力する操作情報入力手段と、
一連の楽音の発生の開始を指示する音符情報および前記操作情報入力手段に入力された操作情報に応じて楽音の音高を制御する制御量を示す音高制御情報とを記憶する記憶手段と、
前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、
その演奏位置検出手段により検出された演奏位置に設定されている音高制御情報を検出する音高制御情報検出手段とを備え、
前記制御手段は、前記操作情報入力手段に操作情報を入力した場合は、その操作情報と前記音高制御情報検出手段により検出された制御量とに基づいて楽音の音高を変更するように制御するものであることを特徴とする楽音制御装置。
【請求項１２】
演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えた楽音制御プログラムにおいて、
前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報と楽音の音色を指示する音色情報とを記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、
その演奏位置検出ステップにより検出された演奏位置に設定されている音色情報を取得する音色情報取得ステップとを備え、
前記制御ステップは、前記入力ステップにより楽音の発生の開始を指示する演奏情報が入力された場合は、前記音色情報取得ステップにより取得された音色情報に応じた音色の楽音を発生するように制御するものであること特徴とする楽音制御プログラム。
【請求項１３】
前記制御ステップは、前記演奏位置検出ステップが前記入力ステップにより入力された演奏情報に基づいて前記記憶手段に記憶された音符情報に対する演奏位置を特定できない場合は、所定の音色情報に応じた音色の楽音を発生するように制御するものであることを特徴とする請求項１２記載の楽音制御プログラム。
【請求項１４】
演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えた楽音制御プログラムにおいて、
前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始および停止を指示する音符情報を記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、
前記入力ステップに楽音の発生の開始を指示する演奏情報を入力した場合は、前記記憶手段に記憶されている音符情報を参照し、現在発生中の楽音の停止を指示する時刻と前記入力ステップにより入力された演奏情報に対応する音符情報が示す楽音の発生の開始を指示する時刻との時間差を求める時間差検出ステップとを備え、
前記制御ステップは、前記時間差検出ステップにより検出された時間差が所定の時間より短い場合は、発生中の楽音に代えて前記入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記時間差検出ステップにより検出された時間差が前記所定の時間より短くない場合は、前記入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものであることを特徴とする楽音制御プログラム。
【請求項１５】
演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えた楽音制御プログラムにおいて、
前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報と単音モードまたは複音モードのいずれかを指示するモード情報とを記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、
前記入力ステップにより楽音の発生の開始を指示する演奏情報が入力された場合は、前記演奏位置検出ステップにより検出された演奏位置に設定されているモード情報を検出するモード検出ステップとを備え、
前記制御ステップは、前記モード検出ステップにより単音モードが検出された場合は、発生中の楽音に代えて前記入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記モード検出ステップにより複音モードが検出された場合は、前記入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものであることを特徴とする楽音制御プログラム。
【請求項１６】
演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えた楽音制御プログラムにおいて、
楽音の音高を任意に変更する操作子から操作情報を入力する操作情報入力ステップと、  前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報を記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、
その演奏位置検出ステップにより検出された演奏位置に設定されている楽音の発生の開始を指示する音符情報の音高と、その楽音の発生を指示する音符情報の次の楽音の発生の開始を指示する音符情報の音高との音高差を検出する音高差取得ステップとを備え、
前記制御ステップは、前記操作情報入力ステップにより操作情報を入力した場合は、その操作情報と前記音高差取得ステップにより取得された音高差とに基づいて楽音の音高を変更するように制御するものであることを特徴とする楽音制御プログラム。
【請求項１７】
演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えた楽音制御プログラムにおいて、
楽音の音高を任意に変更する操作子から操作情報を入力する操作情報入力ステップと、  前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報および前記操作情報入力ステップに入力された操作情報に応じて楽音の音高を制御する制御量を示す音高制御情報とを記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、
その演奏位置検出ステップにより検出された演奏位置に設定されている音高制御情報を検出する音高制御情報検出ステップとを備え、
前記制御ステップは、前記操作情報入力ステップにより操作情報を入力した場合は、その操作情報と前記音高制御情報検出ステップにより検出された制御量とに基づいて楽音の音高を変更するように制御するものであることを特徴とする楽音制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏者の演奏に応じて楽音を発生する楽音制御装置および楽音制御プログラムに関する。
【背景技術】
【０００２】
従来、電子楽器などにおいて、演奏者の演奏に応じて楽音を発生する楽音制御装置が知られている。これらの楽音制御装置では、演奏者が容易に演奏を行うことができるように様々な制御が行われている。
【０００３】
特公平７−１０４６６７号公報には、自動演奏装置を搭載し、演奏者が演奏を行う場合に、自動演奏装置が所定のテンポで演奏情報を読出し、演奏者が操作を行わなくても音色などの設定を自動的に行う楽音制御装置が開示されている。この楽音制御装置によれば、自動演奏情報として、所定の演奏タイミングで、演奏者が演奏する楽音の音色を設定する音色情報が記憶され、そのタイミングに至った場合に、音色が設定される。したがって、演奏者は、音色を設定する操作を行う必要が無く、鍵盤等による演奏に集中することができる。
【特許文献１】特公平７−１０４６６７号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記楽音制御装置では、自動演奏装置が音色を設定するよりも早く演奏者が鍵盤の鍵を押下した場合には、異なる音色で楽音が生成されるという問題点があった。また、曲の進行に対して間違った演奏位置の演奏を行った場合も、演奏者が意図する音色とは異なる音色の楽音が生成されるという問題点があった。
【０００５】
また、バイオリンなどの弦楽器を演奏する場合には、１本の弦で楽音を演奏する場合と、複数の弦で異なる音高の楽音を同時に演奏する場合とがあるが、このような演奏の区別ができないという問題点があった。
【０００６】
また、発生している楽音の音高を任意に変更制御するピッチベンダーを操作する場合に、次に発音される音高が考慮されていないために、ピッチが大きく変化したり逆に小さ過ぎたりし、滑らかに音高を変更する操作が困難であるという問題点があった。
【０００７】
本発明は、上述した問題点を解決するためになされたものであり、演奏操作が容易である楽音制御装置および楽音制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１記載の楽音制御装置は、演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えたものであって、一連の楽音の発生の開始を指示する音符情報と楽音の音色を指示する音色情報とを記憶する記憶手段と、前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、その演奏位置検出手段により検出された演奏位置に設定されている音色情報を取得する音色情報取得手段とを備え、
前記制御手段は、前記入力手段により楽音の発生の開始を指示する演奏情報が入力された場合は、前記音色情報取得手段により取得された音色情報に応じた音色の楽音を発生するように制御するものである。
【０００９】
請求項２記載の楽音制御装置は、請求項１記載の楽音制御装置において、前記制御手段は、前記演奏位置検出手段が前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報に対する演奏位置を特定できない場合は、所定の音色情報に応じた音色の楽音を発生するように制御するものである。
【００１０】
請求項３記載の楽音制御装置は、演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えたものであって、一連の楽音の発生の開始および停止を指示する音符情報を記憶する記憶手段と、前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、前記入力手段により楽音の発生の開始を指示する演奏情報が入力された場合は、前記記憶手段に記憶されている音符情報を参照し、現在発生中の楽音の停止を指示する時刻と前記入力手段により入力された演奏情報に対応する音符情報が示す楽音の発生の開始を指示する時刻との時間差を求める時間差検出手段とを備え、前記制御手段は、前記時間差検出手段により検出された時間差が所定の時間より短い場合は、発生中の楽音に代えて前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記時間差検出手段により検出された時間差が前記所定の時間より短くない場合は、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものである。
【００１１】
請求項４記載の楽音制御装置は、請求項３記載の楽音制御装置において、前記制御手段は、前記時間差検出手段により検出された時間差が所定の時間より短い場合は、発生中の楽音を停止し、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記時間差検出手段により検出された時間差が前記所定の時間より短くない場合は、発生中の楽音を停止せず前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものである。
【００１２】
請求項５記載の楽音制御装置は、請求項３記載の楽音制御装置において、前記制御手段は、前記時間差検出手段により検出された時間差が、所定の時間より短い場合は、発生中の楽音の音高を前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の音高に変更し、前記時間差検出手段により検出された時間差が前記所定の時間より短くない場合は、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものである。
【００１３】
請求項６記載の楽音制御装置は、演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えたものであって、一連の楽音の発生の開始を指示する音符情報と単音モードまたは複音モードのいずれかを指示するモード情報とを記憶する記憶手段と、前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、前記入力手段により楽音の発生の開始を指示する演奏情報が入力された場合は、前記演奏位置検出手段により検出された演奏位置に設定されているモード情報を検出するモード検出手段とを備え、前記制御手段は、前記モード検出手段により単音モードが検出された場合は、発生中の楽音に代えて前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記モード検出手段により複音モードが検出された場合は、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものである。
【００１４】
請求項７記載の楽音制御装置は、請求項６記載の楽音制御装置において、前記制御手段は、前記モード検出手段により単音モードが検出された場合は、発生中の楽音を停止し、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記モード検出手段により複音モードが検出された場合は、発生中の楽音を停止せず前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものである。
【００１５】
請求項８記載の楽音制御装置は、請求項６記載の楽音制御装置において、前記制御手段は、前記モード検出手段により単音モードが検出された場合は、発生中の楽音の音高を前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の音高に変更し、前記モード検出手段により複音モードが検出された場合は、前記入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものである。
【００１６】
請求項９記載の楽音制御装置は、演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えたものであって、楽音の音高を任意に変更する操作子から操作情報を入力する操作情報入力手段と、一連の楽音の発生の開始を指示する音符情報を記憶する記憶手段と、前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、その演奏位置検出手段により検出された演奏位置に設定されている楽音の発生の開始を指示する音符情報の音高と、その楽音の発生の開始を指示する音符情報の次の楽音の発生の開始を指示する音符情報の音高との音高差を検出する音高差取得手段とを備え、前記制御手段は、前記操作情報入力手段に操作情報を入力した場合は、その操作情報と前記音高差取得手段により取得された音高差とに基づいて楽音の音高を変更するように制御するものである。
【００１７】
請求項１０記載の楽音制御装置は、請求項９記載の楽音制御装置において、前記制御手段は、前記操作情報入力手段に操作情報を入力した場合は、前記音高差取得手段により取得された音高差に比例した音高幅で音高を変更するように制御するものである。
【００１８】
請求項１１記載の楽音制御装置は、演奏者により演奏された演奏情報を入力する入力手段と、その入力手段により入力された演奏情報に応じて楽音の発生を制御する制御手段とを備えたものであって、楽音の音高を任意に変更する操作子から操作情報を入力する操作情報入力手段と、一連の楽音の発生の開始を指示する音符情報および前記操作情報入力手段に入力された操作情報に応じて楽音の音高を制御する制御量を示す音高制御情報とを記憶する記憶手段と、前記入力手段により入力された演奏情報に基づいて前記記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出手段と、その演奏位置検出手段により検出された演奏位置に設定されている音高制御情報を検出する音高制御情報検出手段とを備え、前記制御手段は、前記操作情報入力手段に操作情報を入力した場合は、その操作情報と前記音高制御情報検出手段により検出された制御量とに基づいて楽音の音高を変更するように制御するものである。
【００１９】
請求項１２記載の楽音制御プログラムは、演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えたものであって、前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報と楽音の音色を指示する音色情報とを記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、その演奏位置検出ステップにより検出された演奏位置に設定されている音色情報を取得する音色情報取得ステップとを備え、前記制御ステップは、前記入力ステップにより楽音の発生の開始を指示する演奏情報が入力された場合は、前記音色情報取得ステップにより取得された音色情報に応じた音色の楽音を発生するように制御するものである。
【００２０】
請求項１３記載の楽音制御プログラムは、請求項１２記載の楽音制御プログラムにおいて、前記制御ステップは、前記演奏位置検出ステップが前記入力ステップにより入力された演奏情報に基づいて前記記憶手段に記憶された音符情報に対する演奏位置を特定できない場合は、所定の音色情報に応じた音色の楽音を発生するように制御するものである。
【００２１】
請求項１４記載の楽音制御プログラムは、演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えたものであって、前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始および停止を指示する音符情報を記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、前記入力ステップに楽音の発生の開始を指示する演奏情報を入力した場合は、前記記憶手段に記憶されている音符情報を参照し、現在発生中の楽音の停止を指示する時刻と前記入力ステップにより入力された演奏情報に対応する音符情報が示す楽音の発生の開始を指示する時刻との時間差を求める時間差検出ステップとを備え、前記制御ステップは、前記時間差検出ステップにより検出された時間差が所定の時間より短い場合は、発生中の楽音に代えて前記入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記時間差検出ステップにより検出された時間差が前記所定の時間より短くない場合は、前記入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものである。
【００２２】
請求項１５記載の楽音制御プログラムは、演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えたものであって、前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報と単音モードまたは複音モードのいずれかを指示するモード情報とを記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、前記入力ステップにより楽音の発生の開始を指示する演奏情報が入力された場合は、前記演奏位置検出ステップにより検出された演奏位置に設定されているモード情報を検出するモード検出ステップとを備え、前記制御ステップは、前記モード検出ステップにより単音モードが検出された場合は、発生中の楽音に代えて前記入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、前記モード検出ステップにより複音モードが検出された場合は、前記入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御するものである。
【００２３】
請求項１６記載の楽音制御プログラムは、演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えたものであって、楽音の音高を任意に変更する操作子から操作情報を入力する操作情報入力ステップと、前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報を記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、その演奏位置検出ステップにより検出された演奏位置に設定されている楽音の発生の開始を指示する音符情報の音高と、その楽音の発生の開始を指示する音符情報の次の楽音の発生の開始を指示する音符情報の音高との音高差を検出する音高差取得ステップとを備え、前記制御ステップは、前記操作情報入力ステップにより操作情報を入力した場合は、その操作情報と前記音高差取得ステップにより取得された音高差とに基づいて楽音の音高を変更するように制御するものである。
【００２４】
請求項１７記載の楽音制御プログラムは、演奏者により演奏された演奏情報を入力する入力ステップと、その入力ステップにより入力された演奏情報に応じて楽音の発生を制御する制御ステップとを備えたものであって、楽音の音高を任意に変更する操作子から操作情報を入力する操作情報入力ステップと、前記入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報および前記操作情報入力ステップに入力された操作情報に応じて楽音の音高を制御する制御量を示す音高制御情報とを記憶する記憶手段に記憶された音符情報を参照することにより前記一連の音符情報に対する演奏位置を検出する演奏位置検出ステップと、その演奏位置検出ステップにより検出された演奏位置に設定されている音高制御情報を検出する音高制御情報検出ステップとを備え、前記制御ステップは、前記操作情報入力ステップにより操作情報を入力した場合は、その操作情報と前記音高制御情報検出ステップにより取得された制御量とに基づいて楽音の音高を変更するように制御するものである。
【発明の効果】
【００２５】
請求項１記載の楽音制御装置によれば、記憶手段は、一連の楽音の発生の開始を指示する音符情報と楽音の音色を指示する音色情報とを記憶し、演奏位置検出手段は、入力手段により入力された演奏情報に基づいて記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、音色情報取得手段は、演奏位置検出手段により検出された演奏位置に設定されている音色情報を取得する。制御手段は、入力手段により楽音の発生の開始を指示する演奏情報が入力された場合は、音色情報取得手段により取得された音色情報に応じた音色の楽音を発生するように制御する。よって、演奏者が楽譜などに記載されているタイミングより早く楽音の発生の開始を指示する演奏を行った場合でも正しい音色で楽音が生成され、演奏操作が容易であるという効果がある。
【００２６】
また、演奏者が楽譜などにより指示されている演奏位置を間違えた場合であっても、正しく演奏されれば、正しい音色で楽音が生成され、演奏操作が容易である。
【００２７】
請求項２記載の楽音制御装置によれば、請求項１記載の楽音制御装置の奏する効果に加え、制御手段は、演奏位置検出手段が入力手段により入力された演奏情報に基づいて記憶手段に記憶された音符情報に対する演奏位置を特定できない場合は、所定の音色情報に応じた音色の楽音を発生するように制御するので、所定の音色を特殊な音色ではない通常の音色に設定しておくことにより演奏操作を間違えた場合には、通常の音色の楽音が生成され、違和感のない演奏を行うことができる。
【００２８】
請求項３、４または５記載の楽音制御装置によれば、記憶手段は、一連の楽音の発生の開始および停止を指示する音符情報を記憶し、演奏位置検出手段は、入力手段により入力された演奏情報に基づいて記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、時間差検出手段は、入力手段により楽音の発生の開始を指示する演奏情報を入力した場合は、記憶手段に記憶されている音符情報を参照し、現在発生中の楽音の停止を指示する時刻と入力手段により入力された演奏情報に対応する音符情報が示す楽音の発生の開始を指示する時刻との時間差を求める。制御手段は、時間差検出手段により検出された時間差が、所定の時間より短い場合は、発生中の楽音に代えて入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、所定の時間より短くない場合は、入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御する。
【００２９】
よって、演奏者が鍵盤などにより演奏を行う場合に、現在発音している楽音に代えて新たな楽音を発生する場合と、複数の楽音をともに発生させる場合とを切り替えて演奏することができるという効果がある。
【００３０】
請求項６、７または８記載の楽音制御装置によれば、記憶手段は、一連の楽音の発生の開始を指示する音符情報と単音モードまたは複音モードのいずれかを指示するモード情報とを記憶し、演奏位置検出手段は、入力手段により入力された演奏情報に基づいて記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、モード検出手段は、入力手段により楽音の発生の開始を指示する演奏情報が入力された場合は、演奏位置検出手段により検出された演奏位置に設定されているモード情報を検出し、制御手段は、モード検出手段により単音モードが検出された場合は、発生中の楽音に代えて入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、モード検出手段により複音モードが検出された場合は、入力手段により入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御する。
【００３１】
よって、演奏者が鍵盤などにより演奏を行う場合に、現在発音している楽音に代えて新たな楽音を発生する場合と、複数の楽音をともに発生させる場合とを切り替えて演奏することができるという効果がある。
【００３２】
請求項９または１０記載の楽音制御装置によれば、操作情報入力手段は、楽音の音高を任意に変更する操作子からの操作情報を入力し、記憶手段は、一連の楽音の発生の開始を指示する音符情報を記憶し、演奏位置検出手段は、入力手段により入力された演奏情報に基づいて記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、音高差取得手段は、演奏位置検出手段により検出された演奏位置に設定されている楽音の発生の開始を指示する音符情報の音高と、その楽音の発生の開始を指示する音符情報の次の楽音の発生の開始を指示する音符情報の音高との音高差を検出する。制御手段は、操作情報入力手段に操作情報を入力した場合は、その操作情報と音高差取得手段により取得された音高差とに基づいて楽音の音高を変更するように制御する。
【００３３】
よって、現在の音高と次に指定する音高との音高差に応じて音高を変更する操作量に対する音高の変更量が異なり、音高を変更する操作を容易に行うことができるという効果がある。すなわち、操作情報がある値だけ変化した場合に、現在の音高と、次に指定される音高との差が大きければ、音高変化を大きくし、現在の音高と、次に指定される音高との差が小さければ、音高変化を小さくすることができ、任意に音高を変更する操作が容易になる。
【００３４】
請求項１１記載の楽音制御装置によれば、操作情報入力手段は、楽音の音高を任意に変更する操作子から操作情報を入力し、記憶手段は、一連の楽音の発生の開始を指示する音符情報および操作情報入力手段に入力された操作情報に応じて楽音の音高を制御する制御量を示す音高制御情報とを記憶し、演奏位置検出手段は、入力手段により入力された演奏情報に基づいて記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、音高制御情報検出手段は、その演奏位置検出手段により検出された演奏位置に設定されている音高制御情報を検出し、制御手段は、操作情報入力手段に操作情報を入力した場合は、その操作情報と音高制御情報検出手段により検出された制御量とに基づいて楽音の音高を変更するように制御する。
【００３５】
よって、演奏位置に応じて操作量に対する音高の変更量を異ならせることができ、音高を変更する操作を容易に行うことができるという効果がある。すなわち、操作情報がある値だけ変化した場合に、現在の音高と、次に指定される音高との差が大きければ、音高変化を大きくし、現在の音高と、次に指定される音高との差が小さければ、音高変化を小さくすることができ、任意に音高を変更する操作が容易になる。また、記憶手段には、現在の音高と次に指定する音高との差に応じた音高の制御量が予め記憶されているので、現在の音高と次に指定される音高との差から操作に応じた音高の制御量を演算などにより求めるなどの処理が不要となり処理が簡単になる。
【００３６】
請求項１２記載の楽音制御プログラムによれば、演奏位置検出ステップは、入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報と楽音の音色を指示する音色情報とを記憶する記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、音色情報取得ステップは、演奏位置検出ステップにより検出された演奏位置に設定されている音色情報を取得する。制御ステップは、入力ステップにより楽音の発生の開始を指示する演奏情報が入力された場合は、音色情報取得ステップにより取得された音色情報に応じた音色の楽音を発生するように制御する。よって、演奏者が楽譜などに記載されているタイミングより早く楽音の発生の開始を指示する演奏を行った場合でも正しい音色で楽音が生成され、演奏操作が容易であるという効果がある。
【００３７】
請求項１３記載の楽音制御プログラムによれば、請求項１２記載の楽音制御プログラムの奏する効果に加え、制御ステップは、演奏位置検出ステップが入力ステップにより入力された演奏情報に基づいて記憶手段に記憶された音符情報に対する演奏位置を特定できない場合は、所定の音色情報に応じた音色の楽音を発生するように制御するので、所定の音色を特殊な音色ではない通常の音色に設定しておくことにより演奏操作を間違えた場合には、通常の音色の楽音が生成され、違和感のない演奏を行うことができる。
【００３８】
請求項１４記載の楽音制御プログラムによれば、演奏位置検出ステップは、入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始および停止を指示する音符情報を記憶する記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、時間差検出ステップは、入力ステップに楽音の発生の開始を指示する演奏情報を入力した場合は、記憶手段に記憶されている音符情報を参照し、現在発生中の楽音の停止を指示する時刻と入力ステップにより入力された演奏情報に対応する音符情報が示す楽音の発生の開始を指示する時刻との時間差を求める。制御ステップは、時間差検出ステップにより検出された時間差が、所定の時間より短い場合は、発生中の楽音に代えて入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、所定の時間より短くない場合は、入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御する。
【００３９】
よって、演奏者が鍵盤などにより演奏を行う場合に、現在発音している楽音に代えて新たな楽音を発生する場合と、複数の楽音をともに発生させる場合とを切り替えて演奏することができるという効果がある。
【００４０】
請求項１５記載の楽音制御プログラムによれば、演奏位置検出ステップは、入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報と単音モードまたは複音モードのいずれかを指示するモード情報とを記憶する記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、モード検出ステップが、入力ステップにより楽音の発生の開始を指示する演奏情報が入力された場合は、演奏位置検出ステップにより検出された演奏位置に設定されているモード情報を検出し、制御ステップは、モード検出ステップにより単音モードが検出された場合は、発生中の楽音に代えて入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始し、モード検出ステップにより複音モードが検出された場合は、入力ステップにより入力された楽音の発生の開始を指示する演奏情報に対応する楽音の発生を開始するように制御する。
【００４１】
よって、演奏者が鍵盤などにより演奏を行う場合に、現在発音している楽音に代えて新たな楽音を発生する場合と、複数の楽音をともに発生させる場合とを切り替えて演奏することができるという効果がある。
【００４２】
請求項１６記載の楽音制御プログラムによれば、操作情報入力ステップは、楽音の音高を任意に変更する操作子から操作情報を入力し、演奏位置検出ステップは、入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報を記憶する記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、音高差取得ステップは、演奏位置検出ステップにより検出された演奏位置に設定されている楽音の発生の開始を指示する音符情報の音高とその楽音の発生の開始を指示する音符情報の次の楽音の発生の開始を指示する音符情報の音高との音高差を検出する。制御ステップは、操作情報入力ステップに操作情報を入力した場合は、操作情報入力ステップにより入力された操作情報と音高差取得ステップにより取得された音高差とに基づいて楽音の音高を変更するように制御する。
【００４３】
よって、現在の音高と次に指定する音高との音高差に応じて音高を変更する操作量に対する音高の変更量が異なり、音高を変更する操作を容易に行うことができるという効果がある。すなわち、操作情報がある値だけ変化した場合に、現在の音高と、次に指定される音高との差が大きければ、音高変化を大きくし、現在の音高と、次に指定される音高との差が小さければ、音高変化を小さくすることができ、任意に音高を変更する操作が容易になる。
【００４４】
請求項１７記載の楽音制御プログラムによれば、操作情報入力ステップは、楽音の音高を任意に変更する操作子から操作情報を入力し、演奏位置検出ステップは、入力ステップにより入力された演奏情報に基づいて、一連の楽音の発生の開始を指示する音符情報および操作情報入力ステップにより入力された操作情報に応じて楽音の音高を制御する制御量を示す音高制御情報とを記憶する記憶手段に記憶された音符情報を参照することにより一連の音符情報に対する演奏位置を検出し、音高制御情報検出ステップは、その演奏位置検出ステップにより検出された演奏位置に設定されている音高制御情報を検出し、制御ステップは、操作情報入力ステップにより操作情報を入力した場合は、その操作情報と音高制御情報検出ステップにより取得された制御量とに基づいて楽音の音高を変更するように制御する。
【００４５】
よって、演奏位置に応じて操作量に対する音高の変更量を異ならせることができ、音高を変更する操作を容易に行うことができるという効果がある。すなわち、操作情報がある値だけ変化した場合に、現在の音高と、次に指定される音高との差が大きければ、音高変化を大きくし、現在の音高と、次に指定される音高との差が小さければ、音高変化を小さくすることができ、任意に音高を変更する操作が容易になる。また、記憶手段には、現在の音高と次に指定する音高との差に応じた音高の制御量が予め記憶されているので、現在の音高と次に指定される音高との差から操作に応じた音高の制御量を演算などにより求めるなどの処理が不要となり処理が簡単になる。
【発明を実施するための最良の形態】
【００４６】
以下、本発明の好ましい第１の実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態である楽音制御装置を有する電子楽器１の電気的構成を示したブロック図である。電子楽器１は、ＣＰＵ２（中央処理装置）と、そのＣＰＵ２により実行される制御プログラムを記憶したＲＯＭ３（リード・オンリ・メモリ）と、ＣＰＵ２が制御プログラムを実行する際の作業用のメモリエリア等を提供するＲＡＭ４（ランダム・アクセス・メモリ）と、フラッシュメモリなどのカード型記憶媒体を着脱自在に装着することができる外部記憶装置５と、鍵盤６と、電子楽器１に指示を行う操作子７と、その操作子７により設定されたパラメータなどを表示する表示器８と、ＣＰＵ２により送信された演奏情報に対応した楽音信号を生成する音源９と、その音源９により生成された楽音を増幅する増幅器１０と、その増幅器１０により増幅された楽音を放音するスピーカ１１とにより構成されている。
【００４７】
ＲＯＭ３には、図３、図４、図６および図７に示すフローチャートの処理を行う制御プログラムや各種定数などが記憶されている。
【００４８】
ＲＡＭ４は、楽譜情報を記憶する楽譜情報メモリ４ａとノートオンバッファ４ｂが設けられている。楽譜情報メモリ４ａは、外部記憶装置５に装着されたカード型メモリに記憶されている複数の曲に対応する楽譜情報の中から、演奏者により選択された曲に対応する楽譜情報が転送されて記憶される領域である。
【００４９】
ノートオンバッファ４ｂは、楽音の発生を指示するノートオンメッセージを記憶する領域である。ノートオンメッセ−ジは、ＭＩＤＩ規格により規定されている鍵盤の鍵などが押下されたことを示すメッセージであり、以下ノートオンと略す。また、鍵盤の鍵が離鍵されたことを示すメッセージは、ノートオフメッセージであり、以下ノートオフと略す。  このノートオンバッファ４ｂには、ノートオンが発生した場合に、ＲＡＭ４の楽譜情報メモリ４ａに記憶されている楽譜情報の演奏位置の検索が行なわれ、演奏位置を特定できない場合に、そのノートオンが記憶される。演奏位置が特定できない場合とは、演奏者が間違えて演奏を行った場合である。
【００５０】
このノートオンバッファ４ｂに記憶されるノートオンの数の最大値は、予めＮ個と定められている。Ｎ個を超える数の間違いが発生した場合は、最も古く発生したノートオンがノートオンバッファ４ｂから消去され、新たに発生したノートオンが記憶される。
【００５１】
外部記憶装置５は、カード型メモリを装着し、そのカード型メモリに記憶されている演奏曲に応じた一連の楽音の発生および停止を指示する音符情報や楽音の音色を指示する音色情報等により構成される楽譜情報を読み書きするものである。
【００５２】
演奏者は、演奏に先立って外部記憶装置５に装着されたカード型メモリから所望の曲を選択し、その曲を演奏者が演奏する。選択された曲に対応する楽譜情報は、外部記憶装置５により読出され、ＲＡＭ４の楽譜情報メモリ４ａに記憶される。
【００５３】
操作子７は、各種パラメータを設定するボリュームやスイッチである。操作子の一つとして、発生している楽音の音高を任意に上下に変更指示するピッチベンダー７ａが備えられている。ピッチベンダー７ａは、操作されていない状態では、中央位置に保持され、演奏者から見てレバーを右方向へ倒すと音高が上昇し、左方向へ倒すと音高が下降するように操作するものである。
【００５４】
また、音色を選択するスイッチまたはロータリエンコーダなどの操作子を有し、鍵盤６により演奏されて発生された演奏情報に応じて音源９が発生する楽音の音色を設定することができる。ピアノやギターなどのように同時に複数の楽音を発生することができる楽器や、管楽器などのように、一つの楽器で同時に複数の音を発生することができない楽器を模倣することができる。
【００５５】
次に図２を参照して、楽譜情報について説明する。図２は、楽譜情報を構成するデータの一例を示している。楽譜情報は、いわゆる自動演奏データとも呼ばれるもので、音符情報と音色情報とを有している。
【００５６】
音符情報と音色情報とは、演奏が行われる順に記憶され、一つの音符情報は、ノートオンが発生する時刻を示すタイムと、そのノートオンが示す音高であるノートナンバ（ＭＩＤＩ規格では、中央Ｃが６０と規定されている）と、そのノートオンの押鍵速度を示すベロシティと、そのノートオンが発生してからそのノートオンに対応するノートオフが発生するまでの時間であるゲートタイムとが記憶されている。なお、タイムは、楽譜情報の先頭の音符情報のノートオンを発生する時刻を０とし、音符情報のノートオンを発生する時刻を示すものである。
【００５７】
ここで、タイムおよびゲートタイムを表す時間の単位は、ティックである。このティックとは、テンポ値に対応する時間間隔であり、テンポ値により特定される１拍の時間長さを所定の値（例えば、２４）で除算した時間である。テンポ値は、１分当たりの拍数（ｂｅａｔ  ｐｅｒ  ｍｉｎｕｔｅを略してｂｐｍという）で表される。例えば、テンポ値が１２０ｂｐｍであれば、１拍の長さは、５００ｍｓｅｃであり、これを２４で除算すると１ティックは、２０．８３ｍｓｅｃとなる。
【００５８】
楽譜情報には、各音符情報に対応して、その音符情報により発生される楽音の音色を示す音色情報が記憶されている。この音色情報は、ＭＩＤＩ規格により規定されているプログラムチェンジである。これらの音色情報は、例えば、音量がしだいに大きくなるクレッシェンド演奏の場合に用いられる音色や、逆に音量がしだいに小さくなるデクレッシェンド演奏の場合に用いられる音色や、音高がしだいに上昇または下降するポルタメント演奏の場合に用いられる
音色や、ゲートタイムが短いスタッカート演奏の場合に用いられる音色や、上記のような特別な演奏法ではない一般的な演奏の場合に用いられるノーマル音色などを指定するものである。音源９は、これらの音色情報に対応する音色の楽音を発生することができるように構成されている。
【００５９】
次に、図３を参照して、ＣＰＵ２により実行されるメイン処理について説明する。図３は、メイン処理を示すフローチャートであって、電子楽器１の電源が投入されてから遮断されるまで実行される処理である。まず、初期化処理を行う（Ｓ１）。この初期化処理としては、ノートオンバッファ４ｂをクリアし、演奏間違い数Ｍ（後述）を０にするなどの処理を行う。また、この実施形態では、外部記憶装置５に装着されているカード型メモリに記憶された複数の曲の楽譜情報の内、いずれかの曲が演奏者により選択されているものとする。そして、曲が選択された時点で、演奏位置を示すポインタが、その曲の最初の音符情報に設定される。
【００６０】
初期化処理の次に、音色を選択する操作が行われたか否かを判断する（Ｓ２）。音色が選択された場合は（Ｓ２：Ｙｅｓ）、音色設定処理を行う（Ｓ３）。音色設定処理は、例えば音源９に選択された音色に対応するプログラムチェンジを送信する処理である。
【００６１】
Ｓ２の処理において、音色設定が行われていない場合（Ｓ２：Ｎｏ）または、Ｓ３の音色設定処理が行われた場合は、次に鍵盤６のいずれかの鍵が押下され、ノートオンが発生したか否かを判断する（Ｓ４）。ノートオンが発生した場合は（Ｓ４：Ｙｅｓ）、押鍵処理を行う（Ｓ５）。この押鍵処理については、図４を参照して後述する。
【００６２】
Ｓ４の処理において、ノートオンが発生していない場合（Ｓ４：Ｎｏ）または、Ｓ５の押鍵処理が行われた場合は、次に鍵盤６のいずれかの鍵が離鍵されノートオフが発生したか否かを判断する（Ｓ６）。ノートオフが発生した場合は（Ｓ６：Ｙｅｓ）、そのノートオフに対応した楽音の発生を停止するように音源９を制御するなどの離鍵処理を行う（Ｓ７）。
【００６３】
Ｓ６の処理において、ノートオフが発生していない場合（Ｓ６：Ｎｏ）または、Ｓ７の離鍵処理が行われた場合は、次に操作子の一つであるピッチベンダー７ａが操作されたか否かを判断する（Ｓ８）。ピッチベンダー７ａが操作された場合は（Ｓ８：Ｙｅｓ）、現在発生している楽音の音高をピッチベンダー７ａの操作量に対応して変化させるベンダー処理を行う（Ｓ９）。
【００６４】
Ｓ８の処理において、ピッチベンダー７ａが操作されていない場合（Ｓ８：Ｎｏ）または、Ｓ９のベンダー処理が行われた場合は、次にその他の処理を行いＳ２の処理に戻る。その他の処理は、上記した操作子以外の操作子が操作されたことを検出し、その操作に応じて行う処理などである。
【００６５】
次に図４を参照して、上記Ｓ５の押鍵処理について説明する。図４は、押鍵処理を示すフローチャートである。まず、演奏間違い数Ｍが０であるか否かを判断する（Ｓ２１）。演奏間違い数Ｍは、ノートオンが発生した場合に、そのノートオンのノートナンバと、ポインタが示す音符情報のノートナンバとを比較し、一致しない場合に、発生したノートオンがノートオンバッファ４ｂに記憶され、そのノートオンバッファ４ｂに記憶されているノートオンの数である。
【００６６】
演奏間違い数Ｍが０である場合は（Ｓ２１：Ｙｅｓ）、演奏位置が合っているか否かを判断する（Ｓ２２）。この判断は、上記の通り発生したノートオンのノートナンバとポインタが示す音符情報のノートナンバとを比較し、一致していれば演奏位置が合っているものと判断し、一致していなければ、演奏位置が合っていないものと判断する。
【００６７】
演奏位置が合っている場合は（Ｓ２２：Ｙｅｓ）、ポインタが示す音符情報に対応して記憶されている音色で、ノートオンが示す音高に応じた楽音を発生するように音源９を制御する（Ｓ２３）。次に、演奏位置を示すポインタを次の音符情報に進め（Ｓ２４）、この押鍵処理を終了する。
【００６８】
一方、Ｓ２２の判断処理において、演奏位置が合っていない場合、すなわちノートオンが示すノートナンバとポインタが示す音符情報のノートナンバとが一致していない場合は（Ｓ２２：Ｎｏ）、演奏間違い数Ｍに１を加算し（Ｓ２６）、そのノートオンをノートオンバッファ４ｂに記憶し（Ｓ２７）、ノーマル音色で発音するように音源９を制御し（Ｓ２８）、この押鍵処理を終了する。
また、Ｓ２１の判断処理で演奏間違い数Ｍが０でないと判断した場合は（Ｓ２１：Ｎｏ）、演奏間違い数Ｍがノートオンバッファ４ｂに記憶するノートオンの数の最大値Ｎから１を引いた値より小さいか否かを判断する（Ｓ２５）。演奏間違い数ＭがＮから１を引いた値より小さい場合は（Ｓ２５：Ｙｅｓ）、演奏間違い数Ｍに１を加算し（Ｓ２６）、そのノートオンをノートオンバッファ４ｂに記憶し（Ｓ２７）、ノーマル音色で発音するように音源９を制御し（Ｓ２８）、この押鍵処理を終了する。
【００６９】
また、Ｓ２５の処理で、演奏間違い数ＭがＮから１を引いた値より小さくない、すなわち、Ｍ＝Ｎ−１である場合は（Ｓ２５：Ｎｏ）、ノートオンバッファ４ｂにそのノートオンを記憶し、ノートオンバッファ４ｂに記憶したＮ個のノートオンに基づいて、楽譜情報メモリ４ａの音符情報を参照し、一連の音符情報に対する演奏位置を検索する（Ｓ３１）。演奏位置の検索方法については、特開２００１−１８４０５９号公報などに開示されている公知の方法を用いることができる。なお、ノートオンをノートオンバッファ４ｂに記憶する際に、ノートオンバッファ４ｂがすでにＮ個のノートオンを記憶している場合は、最も古く記憶したノートオンを消去し、今回発生したノートオンを記憶する。
【００７０】
次に、演奏位置を検索した結果、演奏位置を特定することができたか否かを判断する（Ｓ３２）。演奏位置を特定できた場合は、演奏間違い数Ｍを０に設定し、ノートオンバッファ４ｂをクリアしてＳ２３の処理へ進み、演奏位置を特定することができなかった場合は（Ｓ３２：Ｎｏ）、ノーマル音色で発音するように音源９を制御し（Ｓ２８）、この押鍵処理を終了する。
【００７１】
以上のように、第１の実施形態では、演奏者の演奏に従って曲の楽譜情報の演奏位置を検出し、演奏位置が特定される場合は、その演奏位置に対応する音色情報に従った音色で楽音が生成される。一方、演奏者が間違って演奏を行った場合は、間違って演奏を行った場合に形成される音色であるノーマル音色で演奏される。従って、演奏者は、特に音色を設定するための操作を行う必要がなく、曲の進行に合わせて音色が変更される。また、演奏者が演奏を間違えた場合には、ノーマル音色で演奏されるので、不自然な音色で演奏されることを防止することができる。
【００７２】
次に、第２の実施形態の楽音制御装置について図５および図６を参照して説明する。なお、前記した第１の実施形態の楽音制御装置と同一部分には、同一の符号を付してその説明は省略し、異なる部分についてのみ説明する。
【００７３】
第２の実施形態は、バイオリンなどの弦楽器において、同時には一つの弦のみで演奏を行うスラー演奏が行われた場合である単音演奏と、複数の弦を同時に演奏する場合である複音演奏とがあり、これらの演奏方法に対応できる楽音制御装置を示すものである。
【００７４】
図５は、単音演奏を行う場合（以下、単音モードと称す）と、複音演奏を行う場合（以下、複音モードと称す）との場合分けを説明するための模式図である。図５（ａ）、（ｂ）および（ｃ）は、単音モードを示す図であり、図５（ｄ）および（ｅ）は、複音モードを示す図である。
【００７５】
図５（ａ）は、２つのノート１，２が発生する様子を示すもので、横軸が時間であり、縦軸は、立ち上がりがノートオンを、立ち下がりがノートオフを示すものである。
【００７６】
この図５（ａ）では、ノート１のノートオンが発生した後、ノート２のノートオンが発生し、その直後である時間差Δｔの後に、ノート１のノートオフが発生している。図５（ｂ）は、図５（ａ）に示すノート１，２の変化に対して、発生される楽音の様子を模式的に示す図であり、図５（ａ）と同様に、横軸を時間とし、縦軸は、立ち上がっている部分が発生中を示し、下がっている部分は、発音を行っていない状態を示している。
【００７７】
ノート１のノートオンに応じてノート１の音高で発音１の発音が開始され、ノート２のノートオンが発生すると、ノート１のノートオフが発生するのを待たずに発音１を停止し、ノート２の音高で発音２の発音を開始する。
【００７８】
ノート２のノートオンが発生した時点では、ノート１のノートオフがいつ発生するか不明であるが、楽譜情報には、ゲートタイムとしてノートオフが発生する時刻が予め記憶されているので、このノート１のノートオフが発生する時刻と、ノート２のノートオンが発生した時刻との差により、Δｔを検出することができる。
【００７９】
図５（ｃ）は、図５（ｂ）の変形例を説明するものであって、図５（ａ）のように、ノート２のノートオンが発生した場合に、ノート１の音高の発音１を停止せずに音高だけをノート２の音高に変更することを表している。
【００８０】
一方、図５（ｄ）は、Δｔが大きい場合を示すもので、この場合には、ノート１に対応する発音１は、そのまま発音し、ノート２に対応する発音２を別途発音する方法を示したものである。図５（ｅ）は、図５（ｄ）のノート１，２の変化に対して、発生される楽音の様子を模式的に示す図であり、図５（ｂ）と同様に、横軸を時間とし、縦軸は、立ち上がっている部分が発生中を示し、下がっている部分は、発音を行っていない状態を示している。
【００８１】
ノート１のノートオンに応じてノート１の音高で発音１の発音が開始され、ノート２のノートオンが発生すると、ノート１は、そのまま発音を継続し、ノート２の音高で発音２の発音を開始する。ノート１がノートオフすると発音１の発音を停止し、ノート２がノートオフすると発音２の発音を停止する。
【００８２】
以上のように、ノート２のノートオンが発生した場合に、ノート１のノートオフが発生する時刻を取得し、ノート２のノートオンとノート１のノートオフとの時間差Δｔが所定の時間Ｔより短い場合は、単音モードとし、所定の時間Ｔより短くない場合は、複音モードとして制御を行う。
【００８３】
図６は、第１実施形態の図４に示すフローチャートのＳ２３の処理を置き換えたものである。まず、楽譜情報を参照し、現在のノートオンに対応する音符情報以外で、発生中の楽音があるか否かを検索する（Ｓ４１）。発生中の音符情報が存在する場合には、その音符のノートオフの時刻と現在のノートオンに対応する音符情報のノートオンの時刻との差Δｔを取得する（Ｓ４２）。すなわち、現在発生中の楽音に対応する音符情報の発音開始時刻とゲートタイムとから、ノートオフが発生する時刻を算出し、現在のノートオンに対応する音符情報のノートオンが発生する時刻との差を時間Δｔとする。
【００８４】
次に、取得した時間Δｔが、所定時間Ｔより短いか否かを判断する（Ｓ４３）。所定時間Ｔは、スラー演奏が行われたか否かを判断するための短い時間であり、テンポ値に依存するティックを単位とする時間でもよいし、テンポ値に依存しない絶対時間としてもよい。
【００８５】
時間Δｔが所定時間Ｔより短い場合は（Ｓ４３：Ｙｅｓ）、その発生中の楽音の発生を停止するように音源９を制御する（Ｓ４４）。次に、演奏位置に応じた音色でノートオンが示す音高およびベロシティに応じた楽音を発生するように音源９を制御し（Ｓ４５）、この処理を終了する。
【００８６】
一方、Ｓ４１の判断処理において、発生中の楽音のノートオフのタイミングが過ぎている場合（Ｓ４１：Ｎｏ）、またはＳ４３の判断処理において、時間Δｔが所定時間Ｔより短くない場合（Ｓ４３：Ｎｏ）は、Ｓ４５の処理へ進む。
【００８７】
なお、図６に記載した処理において、単音モードでは、図５（ｂ）に示す処理を行うものとしたが、図５（ｃ）に示すように発生中の楽音の発生を停止せずに、発生中の楽音の音高を今回発生したノートオンが示す音高に変更するようにしてもよい。
【００８８】
以上のように、第２の実施形態によれば、ノートオンが発生した時点において、そのノートオンに対応する音符情報が示すノートオンの時刻と、発生中の楽音のノートオフが発生する時刻を楽譜情報を参照することにより取得し、そのノートオンが発生する時刻とそのノートオフが発生する時刻との時間差Δｔが所定時間Ｔより短い場合は、発生中の楽音に代えて新たなノートオンに対応する楽音を発生し、Δｔが所定時間Ｔより短くない場合は、発生中の楽音は発音を継続し、新たにノートオンに基づく楽音を発生するようにすることができる。
【００８９】
なお、上記第２の実施形態では、ノートオンが発生した時点において、そのノートオンに対応する音符情報が示すノートオンの時刻と、発生中の楽音の音符情報が示すノートオフが発生する時刻との時間差Δｔが所定時間Ｔより短い場合は、単音モードとし、時間差Δｔが所定時間Ｔより短くない場合は、複音モードとしたが、楽譜情報に単音モードとするか複音モードとするかを指定するモード情報を音色情報と同様に記憶しておき、ノートオンが発生した時点において、そのノートオンに対応する演奏位置に対応して記憶されているモード情報を検出し、その検出したモード情報に応じた制御を行うようにしてもよい。なお、このモード情報は、音符情報に対して１対１で記憶するのではなく、モードが切り替わる演奏位置にのみ記憶するようにしてもよい。
【００９０】
次に、図７を参照して、第３の実施形態の楽音制御装置について説明する。なお、前記した第１の実施形態の楽音制御装置と同一部分には、同一の符号を付してその説明は省略し、異なる部分についてのみ説明する。
【００９１】
第３の実施形態は、ピッチベンダー７ａが演奏者により操作された場合に、現在の音高が、次に発音される楽音の音高へ滑らかに移行することができるようにするものである。すなわち、演奏者は、発生中の音高から次に発音する音高へ向けて音高を円滑に移行させたい場合があるが、従来のピッチベンダーでは、ピッチベンダーの操作量に対する音高の変化量は予め定められ、現在の音高と次に演奏される楽音の音高との差に応じて変更することはできなかった。この第３の実施形態では、ノートオンが発生した時、楽譜情報を参照することにより次に演奏される楽音の音高を検出し、現在の音高とその検出された音高との音高差から、ピッチベンダー７ａによる操作量に対応する音高の変化量を変更するものである。
【００９２】
図７（ａ）は、第１の実施形態における図４に示すフローチャートのＳ２３の処理を置き換えたものである。
【００９３】
この処理では、まず今回のノートオンのノートナンバと、ＲＡＭ４ａに記憶されている楽譜情報を参照して次に発生するノートオンのノートナンバとの音程（音高差）を取得する（Ｓ５１）。次に、ピッチベンダー７ａの単位操作量に対する音高の変化幅を演算により求め、その値をＲＡＭ４に記憶する（Ｓ５２）。このピッチベンダー７ａの単位操作量に対する音高の変化幅は、次のようにして算出する。例えば、現在の音高と次に演奏される音高との音程が、全音であれば、音程は２００セントである。ピッチベンダー７ａの値を中央位置で０とし、右方向へ倒した場合の最大位置での操作量を１００、左方向へ倒した場合の最大位置での操作量を−１００とする。ピッチベンダー７ａが最大位置に操作された場合に、２００セントの音高変化が得られるように、１操作量に対する音高の変化幅を１／１００である２セントとする。従って、この場合には、２セントという値がＲＡＭ４に記憶される。
【００９４】
図７（ｂ）は、図３に示すメイン処理のＳ９の処理の詳細を示すフローチャートであり、ピッチベンダー７ａが操作されたことを検出した場合に実行される処理である。まず、発生中の楽音が存在するか否かを判断する（Ｓ６１）。発生中の楽音が存在する場合は（Ｓ６１：Ｙｅｓ）、ピッチベンダー７ａの操作量に、ＲＡＭ４に記憶した単位操作量に対応する音高変化幅を乗算し、その結果得られる音高の変化量を音源９へ送信する（Ｓ６２）。このことにより音源９は、発生中の楽音の音高を変化量に合わせて変化させる。Ｓ６１の判断処理で、発生中の楽音が存在しないと判断した場合は（Ｓ６１：Ｎｏ）、Ｓ６２の処理を行わないでこのベンダー処理を終了する。
【００９５】
以上のように、第３の実施形態によれば、発音を開始する楽音の音高と、次に発音を開始する楽音の音高との差に基づいて、ピッチベンダー７ａの操作量に応じた音高の変化量が設定される。よって、演奏者によるピッチベンダー７ａの操作が容易になる。
【００９６】
なお、上記第３の実施形態では、音符情報を参照することにより発音を開始する楽音の音高と、次に発音を開始する楽音の音高との音高差を検出し、その音高差に基づいて、ピッチベンダー７ａの操作量に応じた音高の変化量が設定されるようにしたが、予め楽譜情報のピッチベンダー７ａの操作量に対する音高の変化幅を音色情報と同様に各音符情報に対応して記憶しておき、ノートオンが発生した時点においてそのノートオンに対応する演奏位置に対して記憶されている音高の変化幅を検出し、ピッチベンダー７ａが操作された場合は、ピッチベンダー７ａによる操作量と、検出された音高の変化幅とに応じて音高を変化するようにしてもよい。なお、この音高の変化幅は、音符情報毎に記憶するようにしてもよいし、楽譜情報の所定の区間毎に記憶するようしてもよい。
【００９７】
また、楽譜情報に記憶する音高の変化幅は、対応する演奏位置の音符情報が示す音高と次の音符情報が示す音高との音高差に比例する値としてもよいし、任意の値としてもよい。
【００９８】
なお、請求項１記載の演奏位置検出手段は、図４に記載のフローチャートのＳ２２およびＳ３１の処理が該当し、音色情報取得手段は、図４に記載のフローチャートのＳ２３の処理が該当し、制御手段は、図４に記載のフローチャートのＳ２３およびＳ２８の処理が該当する。
【００９９】
また、請求項３記載の時間差検出手段は、図６に記載のフローチャートのＳ４２の処理が該当する。また、請求項６記載の音高差取得手段は、図７（ａ）に記載のフローチャートのＳ５１の処理が該当する。
【０１００】
以上、実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【０１０１】
例えば、第１から３の実施形態では、鍵盤６、操作子７、音源９は、ＣＰＵ２とバスにより相互に接続されているものとしたが、ＭＩＤＩなどのインターフェースを介して、接続されるようにしてもよい。
【０１０２】
また、上記第１から３の実施形態では、音色情報は、各音符に対応して記憶しているものとしたが、音色が変更される時点でのみ記憶し、それ以降は、つぎに音色が指定されるまで同一の音色で演奏されるものとしてもよい。この場合には、演奏位置が特定された場合に、その演奏位置の前に記憶されている音色情報を検出する必要がある。
【０１０３】
また、上記第１から３の実施形態では、音符情報と音色情報とは、一つの楽譜情報（データ列）に記憶されているものとしたが、音符情報と音色情報とをそれぞれ異なるデータ列として記憶するようにしてもよい。
【０１０４】
また、上記第１から３の実施形態では、演奏者が外部記憶装置５に装着された記憶媒体に記憶された複数の曲の楽譜情報の中から所望の曲を選択するものとしたが、演奏者が演奏を行うことにより、複数の曲の音符情報を検索し、複数曲の中から演奏情報に合致する音符情報を持つ曲を選択するようにしてもよい。この場合には、曲を特定するために所定数の演奏情報を必要とするので、曲を特定することができるまでは、所定の音色（ノーマル音色）で楽音を発生し、曲を特定することができれば、その曲のその演奏位置に設定されている音色で楽音を発生するようにするのがよい。
【０１０５】
また、上記第１から３の実施形態では、演奏者は楽譜情報として記憶された曲の調と同じ調で演奏を行うものとしたが、演奏者が異なる調で演奏する場合には、演奏者が演奏する調を指定する調指定手段などを備え、その調指定手段により指定された調と、楽譜情報の調との音程に基づいて演奏位置を検出するようにしてもよい。
【０１０６】
また、上記第１から３の実施形態において、演奏位置を検索する場合に、一部の音符の音高を間違えた場合、一部の音符を飛ばして演奏した場合、楽譜情報にはない音符を演奏した場合などの軽微な演奏間違いを行った場合にも、検索位置を正確に検索することができるＤＰマッチング法を用いてもよい。
【０１０７】
また、上記第１から３の実施形態では、演奏位置を特定できなかった場合に、ノーマル音色で発音を行うように音源９を制御するものとしたが、演奏位置を特定できないノートオンの数が所定数を超えるまでは従前の音色で発音し、所定数を超えた場合にノーマル音色で発音するように制御してもよい。
【０１０８】
また、上記第１から３の実施形態では、音符情報として、ノートオンのタイミングであるタイムとゲートタイムを記憶するものとしたが、演奏位置を検出するだけの目的であれば、タイムやゲートタイムは、記憶していなくてもノートナンバさえ順に記憶していればよいものである。
【０１０９】
また、上記第１から３の実施形態では、演奏位置を検索する場合にノートオンが示す音高についての照合を行うものとしたが、タイムやゲートタイムなども照合し、より確実な演奏位置を検出するようにしてもよい。
【０１１０】
また、上記第１から３の実施形態では、音色情報は、一つの楽器における奏法の違いによる音色を示すものとしたが、ピアノやバイオリンなどのように楽器を示すものでもよい。
【０１１１】
また、上記第１から３の実施形態では、音色情報は、一つの楽器における奏法の違いによる音色を示すものとしたが、音色を変更制御するような、例えばクレッシェンドの音量の変化率を示すものでもよい。
【０１１２】
また、上記第１から３の実施形態では、楽音制御プログラムは、電子楽器１のＲＯＭ３に記憶されるものとしたが、外部記憶装置５に装着された記憶媒体やインターネットなどを介して供給され、ＲＡＭ４に記憶されて実行されるようにしてもよいし、パーソナルコンピュータにより実行されるようにしてもよい。
【０１１３】
また、上記上記第１から３の実施形態では、電子楽器１のＣＰＵ２により、単音モードと複音モードとの制御や、ベンダー処理を行うものとしたが、音源９に、モード情報や、ベンダー処理における音高の変化幅の情報やベンダーの操作量の情報を送り、音源９によりこれらの情報に応じて単音モードと複音モードとの制御や、ベンダー処理を行うようにしてもよい。
【図面の簡単な説明】
【０１１４】
【図１】本発明による楽音制御装置を搭載した第１の実施形態における電子楽器の電気的構成を示すブロック図である。
【図２】楽譜情報を構成するデータを示す図である。
【図３】メイン処理を示すフローチャートである。
【図４】押鍵処理を示すフローチャートである。
【図５】第２の実施形態における単音演奏を行う場合と複音演奏を行う場合とを示す説明するための模式図である。
【図６】第２の実施形態の説明のために第１の実施形態におけるＳ２３の処理を置き換えた処理を示すフローチャートである。
【図７】（ａ）は、第３の実施形態の説明のために第１の実施形態におけるＳ２３の処理を置き換えた処理を示すフローチャートであり、（ｂ）は、ベンダー処理を示すフローチャートである。
【符号の説明】
【０１１５】
１                          電子楽器
２                          ＣＰＵ
３                          ＲＯＭ
４                          ＲＡＭ
４ａ                        楽譜情報メモリ（記憶手段）
４ｂ                        ノートオンバッファ
７                          操作子
７ａ                        ピッチベンダー（操作情報入力手段）
８                          表示器
９                          音源
【図１】
2006251173.tif 000003
【図２】
2006251173.tif 000004
【図３】
2006251173.tif 000005
【図４】
2006251173.tif 000006
【図５】
2006251173.tif 000007
【図６】
2006251173.tif 000008
【図７】
2006251173.tif 000009