(57)【要約】【課題】ベンダー操作に応じて音高変化させる演奏表現を加えることが出来たり、誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る演奏装置を実現する。【解決手段】ＣＰＵ１０は、曲を構成する各音を表すと共に、発音中の楽音について音高変化を指定するベンドチェンジ値を備えたソングデータに基づいて自動演奏し、自動演奏により発音された楽音のベンドチェンジ値と、ユーザ操作で発生したベンダー操作値との比較結果に応じて当該楽音の音高変化を制御する。【選択図】図１
2014153378.tif 000002
【特許請求の範囲】
【請求項１】
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、
ユーザ操作に応じた操作値を取得する取得手段と、
前記自動演奏手段により発音された楽音のチェンジ値と、前記取得手段により取得された操作値との比較結果に応じて当該楽音のパラメータを変化させるパラメータ変化手段と
を具備することを特徴とする演奏装置。
【請求項２】
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、
ユーザ操作に応じたベンダー操作値を取得する取得手段と、
前記自動演奏手段により発音された楽音のベンドチェンジ値と、前記取得手段により取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化手段と
を具備することを特徴とする演奏装置。
【請求項３】
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より大きい場合に、当該ベンダー操作値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項２記載の演奏装置。
【請求項４】
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より小さい場合に、当該ベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項２記載の演奏装置。
【請求項５】
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より大きい場合に、当該ベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項２記載の演奏装置。
【請求項６】
前記曲データに含まれるベンドチェンジ値を、上限となる第１のベンドチェンジ値と下限となる第２のベンドチェンジ値とから構成し、
前記音高変化手段は、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第１のベンドチェンジ値より大きい場合に、当該第１のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させる第１の音高変化手段と、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第１のベンドチェンジ値より小さく且つ第２のベンドチェンジ値より大きい場合に、当該ベンダー操作値に従って前記自動演奏手段により発音された楽音の音高を変化させる第２の音高変化手段と、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第２のベンドチェンジ値より小さい場合に、当該第２のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させる第３の音高変化手段と
を具備することを特徴とする請求項２記載の演奏装置。
【請求項７】
コンピュータに、
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、
ユーザ操作に応じた操作値を取得する取得ステップと、
前記自動演奏ステップで発音された楽音のチェンジ値と、前記取得ステップで取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる音高変化ステップと
を実行させることを特徴とするプログラム。
【請求項８】
コンピュータに、
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、
ユーザ操作に応じたベンダー操作値を取得する取得ステップと、
前記自動演奏ステップで発音された楽音のベンドチェンジ値と、前記取得ステップで取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化ステップと
を実行させることを特徴とするプログラム。
【請求項９】
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏し、
ユーザ操作に応じた操作値を取得し、
前記発音された楽音のチェンジ値と、前記取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる、演奏方法。
【請求項１０】
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏し、
ユーザ操作に応じたベンダー操作値を取得し、
前記発音された楽音のベンドチェンジ値と、前記取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる、演奏方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器に用いて好適な演奏装置、演奏方法およびプログラムに関する。
【背景技術】
【０００２】
従来より「ワンキープレイ」あるいは「エニイキープレイ」と呼ばれ、半自動的な演奏を実現する演奏装置が知られている。例えば「エニイキープレイ」とは、鍵盤のいずれかの鍵（ＡｎｙＫｅｙ）が押鍵される毎に一音ずつ発音させて楽曲を演奏するものである。なお、「ワンキープレイ」とは、「ワンキープレイ」用に設けられた専用の演奏操作子を押下するワンキー（ＯｎｅＫｅｙ）操作毎に一音ずつ発音させて楽曲を演奏する形態である。
【０００３】
このような演奏装置は、例えば曲を構成する各音を表す曲データをメモリに記憶しておき、エニイキー操作（又はワンキー操作）が為される毎にメモリに記憶しておいた曲データを一音ずつ読み出して再生するように構成されているものや、曲の進行に応じて、押鍵するとそのタイミングで発音される曲データの音をメモリから読み出すことにより、正しい音階で発音できるように構成されているものがある。この種の技術については例えば特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１２９４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述した「エニイキープレイ」と呼ばれる演奏形態を具現する演奏装置では、鍵を弾くタイミングを与えるだけで曲演奏を進行させるか、あるいは曲の進行に応じて、押鍵すると正しい音階で発音するようにしているので、鍵盤操作に不慣れなビギナーには好適ではあるものの、ある程度鍵盤操作に慣れたユーザにしてみれば物足りなさを感じてしまう。この為、例えば押鍵タイミングを与えて曲演奏を進めるだけではなく、ベンダー操作に応じてピッチヘベンド（音高変化）させる演奏表現を加えることが出来、しかも誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが可能な演奏装置が望まれている。
【０００６】
本発明は、このような事情に鑑みてなされたもので、ベンダー操作に応じて音高変化させる演奏表現を加えることが出来、しかも誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る演奏装置、演奏方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明による演奏装置は、曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、ユーザ操作に応じた操作値を取得する取得手段と、前記自動演奏手段により発音された楽音のチェンジ値と、前記取得手段により取得された操作値との比較結果に応じて当該楽音のパラメータを変化させるパラメータ変化手段とを具備することを特徴とする。
【０００８】
また、本発明による演奏装置は、曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、ユーザ操作に応じたベンダー操作値を取得する取得手段と、前記自動演奏手段により発音された楽音のベンドチェンジ値と、前記取得手段により取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化手段とを具備することを特徴とする。
【０００９】
一方、本発明によるプログラムは、コンピュータに、曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、ユーザ操作に応じた操作値を取得する取得ステップと、前記自動演奏ステップで発音された楽音のチェンジ値と、前記取得ステップで取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる音高変化ステップとを実行させることを特徴とする。
【００１０】
また、本発明によるプログラムは、コンピュータに、曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、ユーザ操作に応じたベンダー操作値を取得する取得ステップと、前記自動演奏ステップで発音された楽音のベンドチェンジ値と、前記取得ステップで取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化ステップとを実行させることを特徴とする。
【００１１】
さらに、本発明による演奏方法は、曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏し、ユーザ操作に応じた操作値を取得し、前記発音された楽音のチェンジ値と、前記取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる、ことを特徴とする。
【００１２】
また、本発明による演奏方法は、曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏し、ユーザ操作に応じたベンダー操作値を取得し、前記発音された楽音のベンドチェンジ値と、前記取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる、ことを特徴とする。
【発明の効果】
【００１３】
本発明では、ベンダー操作に応じて音高変化させる演奏表現を加えることが出来、しかも誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る。
【図面の簡単な説明】
【００１４】
【図１】実施の一形態による電子楽器１００の全体構成を示すブロック図である。
【図２】ＲＡＭ１２に記憶される主要なデータを説明するためのメモリマップである。
【図３】イベントデータの構成を示す図である。
【図４】ベンドチェンジ値の経時変化の一例を示す図である。
【図５】メインルーチンの動作を示すフローチャートである。
【図６】タイマ割り込み処理の動作を示すフローチャートである。
【図７】ソング処理の動作を示すフローチャートである。
【図８】鍵盤処理の動作を示すフローチャートである。
【図９】ベンダー処理の動作を示すフローチャートである。
【図１０】ベンダー処理の動作を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．構成  
図１は、本発明による演奏装置を備えた実施の一形態である電子楽器１００の全体構成を示すブロック図である。図１において、ＣＰＵ１０は、通常モード又はエニイキープレイによる自動演奏モードの何れかの動作モードを実行する。具体的には、通常モードであれば、ＣＰＵ１０は操作部１４のスイッチ操作に応じて発生する操作イベントに基づき楽器各部の動作状態を設定すると共に、ユーザの演奏操作（押離鍵操作）に応じて鍵盤１３が発生する演奏データに基づき生成したノートイベントを音源１７に供給して楽音形成する。
【００１６】
一方、エニイキープレイによる自動演奏モードならば、ＣＰＵ１０は鍵盤１３の何れかの鍵が押鍵される毎、すなわちエニイキープレイ毎にＲＡＭ１２からソングデータ（後述する）を一音ずつ読み出して発音する。本発明の要旨に係わるＣＰＵ１０の処理動作については追って詳述する。
【００１７】
ＲＯＭ１１には、ＣＰＵ１０にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述するメインルーチン、タイマ割り込み処理、当該メインルーチンからコールされるソング処理、鍵盤処理およびベンダー処理を含む。
【００１８】
ＲＡＭ１２は、図２に図示するように、データエリアＤＥおよびワークエリアＷＥを備える。ＲＡＭ１２のワークエリアＷＥには、ＣＰＵ１０の処理に用いられる各種レジスタ・フラグデータが一時記憶される。ここで、図２を参照してワークエリアＷＥに一時記憶される主要なレジスタ・フラグデータについて説明する。
【００１９】
図２において、カウンタＢＣは、例えば１ｍｓｅｃ周期で実行されるタイマ割り込み毎にインクリメントされて歩進されるカウンタレジスタであり、ベンド周期（１０ｍｓｅｃ）計測に用いられる。カウンタＤＴＣは、例えば１ｍｓｅｃ周期で実行されるタイマ割り込み毎にインクリメントされて歩進されるカウンタレジスタであり、Δｔ計測に用いられる。
【００２０】
レジスタＥＶＴは、自動演奏モード下のエニイキープレイに応じてソングデータエリアＳＤＥから読み出されるソングデータ中のイベントを一時記憶する。レジスタΔＴｉｍｅは、自動演奏モード下のエニイキープレイに応じてソングデータエリアＳＤＥから読み出されるソングデータ中のΔｔを一時記憶する。なお、ソングデータの構成については追って述べる。フラグＳＳＦは、ソング再生中（自動演奏中）であるか否かを表すフラグであり、「０」の場合に停止状態を表し、「１」の場合にソング再生中を表す。
【００２１】
レジスタＮＮは、ソング再生中にソングデータエリアＳＤＥから読み出されるソングデータ中のイベントに含まれるノートナンバ（音高）を一時記憶する。レジスタＢＤＣは、ソング再生中にソングデータエリアＳＤＥから読み出されるソングデータ中のベンドチェンジイベントに含まれるベンドチェンジ値を一時記憶する。レジスタＬＢＤは、最終ベンド値を一時記憶する。
【００２２】
ＲＡＭ１２のソングデータエリアＳＤＥには、図２に図示するように、曲を構成する各音を表すと共に、発音中の楽音について音高変化を指定するソングデータが記憶される。一つのソングデータは、イベントおよびΔｔから構成される。Δｔは、前イベントからの経過時間（ティック数）で次イベントの開始タイミングを表す。
【００２３】
イベントは、図３に図示するように、チャンネルデータＣｈおよび演奏情報から構成される。チャンネルデータＣｈは、メロディパートあるいは伴奏パートの何れかを識別する。演奏情報は、発音又は消音するイベントあるいは発音中の楽音について音高変化を指定するイベントの何れかを含む。
【００２４】
演奏情報が発音を指示するイベントである場合には、ノートオンイベントおよび発音音高を表すノートナンバから構成される。演奏情報が消音を指示するイベントである場合には、ノートオフイベントおよび消音音高を表すノートナンバから構成される。演奏情報が発音中の楽音について音高変化を指定するイベントである場合には、ベンドチェンジイベントおよびベンドチェンジ値から構成される。
【００２５】
ここで、図４を参照してベンドチェンジイベントの一例について説明する。図４は、ベンドチェンジイベントによって音高「Ｃ」でノートオンした楽音を、ノートオフ時点で音高「Ｄ」までピッチベンド（音高変化）させる過程を図示している。この一例では、ノートオンの時点ｔ０からノートオフの時点ｔ７までの音長を「７０ｍｓｅｃ」とした場合に、当該音長区間におけるベンダー操作値の検出周期を１０ｍｓｅｃとしている。
【００２６】
そうすると、ノートオンの時点ｔ０においてベンドチェンジ値４０Ｈ（初期値：１６進表示）を備えるベンドチェンジイベントのソングデータを設定し、さらに検出周期ｔ１〜ｔ７に各々同期させてベンドチェンジ値４４Ｈ、４８Ｈ、４ＣＨ、５０Ｈ、７８Ｈおよび７Ｆをそれぞれ備えるベンドチェンジイベントのソングデータを設定する。こうしたソングデータを再生して得られるベンドチェンジイベントによって、音高「Ｃ」で発音した楽音を連続的に音高「Ｄ」までピッチベンドさせることが可能になる。
【００２７】
次に、再び図１を参照して実施形態の構成について説明を進める。図１において、鍵盤１３は、押離鍵操作（演奏操作）に応じたキーオン／キーオフ信号、鍵番号およびベロシティ等からなる演奏データを発生してＣＰＵ１０に供給する。
【００２８】
操作部１４は、コンソールパネル（不図示）に配設される各種スイッチから構成され、操作されたスイッチに対応したスイッチイベントを発生してＣＰＵ１０に供給する。本発明の要旨に係わる主要なスイッチとして、上述した通常モード又は自動演奏モードを選択するモードスイッチが挙げられる。なお、モードスイッチの操作により通常モードが選択された場合には、前述したフラグＳＳＦが「０」（ソング再生停止状態）にセットされ、一方、自動演奏モードが選択された場合には、フラグＳＳＦが「１」（ソング再生中）にセットされる。
【００２９】
表示部１５は、ＬＣＤパネルおよびドライバから構成され、ＣＰＵ１０から供給される表示制御信号に応じて各種画面を表示する。ピッチベンダー１６は、ユーザのベンダー操作（ホイール回動）に応じたベンダー操作値を出力する。なお、ピッチベンダー１６から出力されるベンダー操作値はＣＰＵ１０に供給される。ＣＰＵ１０に供給されたベンダー操作値は、発音音高を変化させるベンドチェンジイベントに付加されて音源１７に与えられる。
【００３０】
音源１７は、周知の波形メモリ読み出し方式によって構成され、時分割動作する複数の発音チャンネルを備える。音源１７は、ＣＰＵ１０から供給される各種イベントに応じた楽音データを生成して出力する。サウンドシステム１８は、音源１７から出力される楽音データをアナログ形式の楽音信号にＤ／Ａ変換した後に信号増幅してスピーカから放音する。
【００３１】
Ｂ．動作
次に、図５〜図１１を参照して上記構成による電子楽器１００の動作を説明する。以下では、電子楽器１００のＣＰＵ１０が実行するメインルーチン、タイマ割り込み処理、メインルーチンからコールされるソング処理、鍵盤処理およびベンダー処理の各動作について説明する。
【００３２】
（１）メインルーチンの動作
電源スイッチ操作により電子楽器１００がパワーオンされると、ＣＰＵ１０は図５に図示するメインルーチンを実行してステップＳＡ１に進み、楽器各部を初期化するイニシャライズを実行する。なお、このイニシャライズでは、後述のタイマ割り込み処理で用いられるカウンタＢＣおよびカウンタＤＴＣをゼロリセットする。
【００３３】
そして、イニシャライズが完了すると、次のステップＳＡ２に進み、操作されたスイッチに対応して操作部１４が発生するスイッチイベントに基づくスイッチ処理を実行する。例えばモードスイッチ操作により通常モードが選択された場合には、フラグＳＳＦを「０」にセットし、自動演奏モードが選択された場合には、フラグＳＳＦを「１」にセットする。
【００３４】
続いて、ステップＳＡ３では、ソング処理を実行する。ソング処理では、後述するように、ソング再生中（自動演奏モード）であると、Δｔ経過時間ＤＴＣに基づき次イベントタイミングに達したかどうかを判別し、次イベントタイミングに達していると、次のイベントおよびΔｔを含むソングデータをＲＡＭ１２のソングデータエリアＳＤＥから読み出す。
【００３５】
そして、読み出したソングデータ中の次のイベントが伴奏パートのイベントならば、そのイベントに含まれる演奏情報に従って伴奏音を自動演奏する。一方、次のイベントがメロディパートのノートイベントならば、当該ノートイベントに付随するノートナンバをレジスタＮＮにストアし、次のイベントがメロディパートのベンドチェンジイベントならば、当該ベンドチェンジイベントに付随するベンドチェンジ値をレジスタＢＤＣにストアする。
【００３６】
次いで、ステップＳＡ４に進むと、鍵盤処理を実行する。鍵盤処理では、後述するように、ソング再生中（自動演奏モード）ならば、何れかの鍵の押鍵に応じて、現在再生対象のソングデータで指定される音高のメロディ音を発音させるノートオンイベントを作成して音源１７に送付し、一方、離鍵に応じて、現在再生対象のソングデータで指定される音高のメロディ音を消音させるノートオフイベントを作成して音源１７に送付する。
【００３７】
続いて、ステップＳＡ５では、ベンダー処理を実行する。ベンダー処理では、後述するように、ベンド周期（例えば１０ｍｓｅｃ）経過毎に、ユーザのベンダー操作に応じて発生するベンダー操作値を取得し、ソング再生中（自動演奏モード）ならば、取得されたベンダー操作値が現在再生中のソングデータのベンドチェンジイベントに付随するベンドチェンジ値より大きいと、ベンダー操作値を音源１７に送付し、一方、ベンダー操作値がベンドチェンジ値より小さいと、ベンドチェンジ値を音源１７に送付する。そして、上記ステップＳＡ２に処理を戻し、以後、電子楽器１００がパワーオフされるまで上述したステップＳＡ２〜ＳＡ５を繰り返し実行する。
【００３８】
（２）タイマ割り込み処理の動作
次に、図６を参照してタイマ割り込み処理の動作を説明する。ＣＰＵ１０では、上述したメインルーチンの実行と同時にタイマ割り込み処理を起動する。本実施形態では、説明の簡略化を図る為、１ｍｓｅｃ周期でタイマ割り込み処理が実行されるものとしている。本処理の割り込みタイミングになると、図６に図示するステップＳＢ１に進み、ベンド周期計測用のカウンタＢＣをインクリメントして歩進させ、続くステップＳＢ２では、Δｔ計測用のカウンタＤＴＣをインクリメントして歩進させて本処理を終える。
【００３９】
（３）ソング処理の動作
次に、図７を参照してソング処理の動作を説明する。上述したメインルーチンのステップＳＡ３（図５参照）を介して本処理が実行されると、ＣＰＵ１０は、図７に図示するステップＳＣ１に進み、フラグＳＳＦが「１」、つまりソング再生中（自動演奏モード）であるか否かを判断する。ソング再生中でなければ、判断結果は「ＮＯ」になり、ステップＳＣ２に進み、ソング開始か否か、すなわちモードスイッチの操作により自動演奏モードが選択されたかどうかを判断する。自動演奏モードが選択されず通常モードのままであれば、判断結果は「ＮＯ」になり、本処理を終える。
【００４０】
一方、モードスイッチの操作により自動演奏モードが選択されると、上記ステップＳＣ２の判断結果は「ＹＥＳ」になり、ステップＳＣ３に進み、ＲＡＭ１２のソングデータエリアＳＤＥから曲頭のソングデータを構成する開始イベントを読み出してレジスタＥＶＴにストアする。続いて、ステップＳＣ４では、曲頭のソングデータにおいて、開始イベントに続くΔＴを同様に読み出してレジスタΔＴｉｍｅにストアする。この後、ステップＳＣ５に進み、フラグＳＳＦを「１」にセットしてソング再生中（自動演奏モード）に遷移して一旦、本処理を終える。
【００４１】
さて、こうしてソング再生中（自動演奏モード）に遷移した状態で本処理が実行されると、上述したステップＳＣ１の判断結果が「ＹＥＳ」となり、ステップＳＣ６に進み、Δｔ経過時間を計測するカウンタＤＴＣの値（以下、カウンタＤＴＣの値をΔｔ経過時間ＤＴＣと称す）を取得する。続いて、ステップＳＣ７では、レジスタΔＴｉｍｅからΔｔ経過時間ＤＴＣを減算した値（ΔＴｉｍｅ−ＤＴＣ）が「０」以下のΔｔ経過であるか否か、つまり換言すれば次イベントタイミングであるかどうかを判断する。
【００４２】
（ΔＴｉｍｅ−ＤＴＣ）が「０」より大きく、Δｔが経過していない場合、つまり次イベントタイミングでなければ、判断結果は「ＮＯ」になり、本処理を終えるが、次イベントタイミングならば、上記ステップＳＣ７の判断結果は「ＹＥＳ」になり、ステップＳＣ８に進み、ＲＡＭ１２のソングデータエリアＳＤＥから次のイベントおよびΔＴを含むソングデータを読み出し、読み出した次イベントおよびΔｔをそれぞれレジスタＥＶＴおよびレジスタΔＴｉｍｅにストアして取得する。
【００４３】
次いで、ステップＳＣ９では、レジスタＥＶＴにストアした次のイベントに含まれるチャンネルデータＣｈに基づきメロディパートのイベントであるか否かを判断する。チャンネルデータＣｈに基づき伴奏パートと識別された場合には、判断結果が「ＮＯ」になり、ステップＳＣ１０に進み、イベントに含まれる演奏情報に従って伴奏音を自動演奏する伴奏パート処理を実行した後、ステップＳＣ１４に進み、上記ステップＳＣ８で取得したΔｔをレジスタΔＴｉｍｅにストアすると共に、レジスタＤＴＣをゼロリセットして本処理を終える。
【００４４】
一方、チャンネルデータＣｈに基づきメロディパートと識別されると、上記ステップＳＣ９の判断結果は「ＹＥＳ」になり、ステップＳＣ１１に進む。ステップＳＣ１１では、レジスタＥＶＴにストアした次のイベントがノートイベントであるか否かを判断する。ノートイベントであると、判断結果は「ＹＥＳ」になり、ステップＳＣ１２に進み、当該ノートイベントに付随するノートナンバをレジスタＮＮにストアする。この後、ステップＳＣ１４に進み、上記ステップＳＣ８で取得したΔｔをレジスタΔＴｉｍｅにストアすると共に、レジスタＤＴＣをゼロリセットして本処理を終える。
【００４５】
これに対し、レジスタＥＶＴにストアした次のイベントがベンドチェンジイベントであると、上記ステップＳＣ１１の判断結果は「ＮＯ」になり、ステップＳＣ１３に進む。ステップＳＣ１３では、ベンドチェンジイベントに付随するベンドチェンジ値をレジスタＢＤＣにストアする。この後、ステップＳＣ１４に進み、上記ステップＳＣ８で取得したΔｔをレジスタΔＴｉｍｅにストアすると共に、レジスタＤＴＣをゼロリセットして本処理を終える。
【００４６】
このように、ソング処理では、ソング再生中（自動演奏モード）であると、Δｔ経過時間ＤＴＣに基づき次イベントタイミングに達したかどうかを判別し、次イベントタイミングに達していれば、次のイベントおよびΔｔをＲＡＭ１２のソングデータエリアＳＤＥから読み出し、読み出した次のイベントが伴奏パートのイベントならば、そのイベントに含まれる演奏情報に従って伴奏音を自動演奏し、一方、次のイベントがメロディパートのノートイベントであると、当該ノートイベントに付随するノートナンバをレジスタＮＮにストアする。また、次のイベントがメロディパートのベンドチェンジイベントならば、当該ベンドチェンジイベントに付随するベンドチェンジ値をレジスタＢＤＣにストアする。
【００４７】
（４）鍵盤処理の動作
次に、図８を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図５参照）を介して本処理が実行されると、ＣＰＵ１０は、図８に図示するステップＳＤ１に進み、鍵盤１３の各鍵について鍵変化を検出する鍵盤走査を行う。続いて、ステップＳＤ２では、上記ステップＳＤ１の鍵盤走査結果に基づき鍵変化の有無を判別する。鍵変化が無ければ、判断結果は「ＮＯ」になり、本処理を終える。
【００４８】
一方、鍵盤１３の何れかの鍵の押離鍵操作により鍵変化が有ると、上記ステップＳＤ２の判断結果は「ＹＥＳ」になり、ステップＳＤ３に進み、フラグＳＳＦが「１」、つまりソング再生中（自動演奏モード）であるか否かを判断する。ソング再生中でなければ、判断結果は「ＮＯ」になり、ステップＳＤ４に進む。ステップＳＤ４では、押鍵操作に応じて作成したノートオンイベントを音源１７に送付して押鍵された鍵の音高の楽音を発音させたり、離鍵操作に応じて作成したノートオフイベントを音源１７に送付して離鍵された鍵の音高の楽音を消音させたりする通常モードの押離鍵処理を実行して本処理を終える。
【００４９】
これに対し、ソング再生中（自動演奏モード）であると、上記ステップＳＤ３の判断結果は「ＹＥＳ」になり、ステップＳＤ５に進む。ステップＳＤ５では、現在再生対象のソングデータ中のイベントに含まれるノートナンバをレジスタＮＮにストアする。なお、レジスタＮＮにストアしたノートナンバとは、現在再生対象のソングデータで指定されるメロディ音の音高である。
【００５０】
そして、ステップＳＤ６では、鍵変化が、エニイキープレイの押鍵に対応したノートオンであるか否かを判断する。エニイキープレイの押鍵に対応したノートオンならば、上記ステップＳＤ６の判断結果は「ＹＥＳ」になり、ステップＳＤ７に進む。ステップＳＤ７では、レジスタＮＮにストアされたノートナンバを含むノートオンイベントを作成して音源１７に送付し、メロディ音を発音するよう指示した後、本処理を終える。
【００５１】
一方、エニイキープレイの離鍵に対応したノートオフであると、上記ステップＳＤ６の判断結果は「ＮＯ」になり、ステップＳＤ８に進む。ステップＳＤ８では、レジスタＮＮにストアされたノートナンバを含むノートオフイベントを作成して音源１７に送付し、離鍵された鍵の音高のメロディ音を発音するよう指示した後、本処理を終える。
【００５２】
このように、鍵盤処理では、ソング再生中（自動演奏モード）であると、エニイキープレイの押鍵に応じて、現在再生対象のソングデータで指定される音高のメロディ音を発音させるノートオンイベントを作成して音源１７に送付したり、エニイキープレイの離鍵に応じて、現在再生対象のソングデータで指定される音高のメロディ音を消音させるノートオフイベントを作成して音源１７に送付したりする。
【００５３】
（５）ベンダー処理の動作
次に、図９〜図１０を参照してベンダー処理の動作を説明する。前述したメインルーチンのステップＳＡ５（図５参照）を介して本処理が実行されると、ＣＰＵ１０は、図９に図示するステップＳＥ１に進み、例えば１ｍｓｅｃ周期で実行されるタイマ割り込み毎に歩進されるカウンタＢＣの値が、ベント周期（例えば１０ｍｓｅｃ）を超えたか否かを判断する。ベンド周期を経過していなければ、ここでの判断結果は「ＮＯ」になり、本処理を終える。
【００５４】
一方、ベント周期を経過すると、上記ステップＳＥ１の判断結果が「ＹＥＳ」となり、ステップＳＥ２に進み、ピッチベンダー１６が出力するベンダー操作値を取得する。次いで、ステップＳＥ３では、フラグＳＳＦが「１」、つまりソング再生中（自動演奏モード）であるか否かを判断する。通常モード下であると、判断結果は「ＮＯ」になり、ステップＳＥ４に進み、上記ステップＳＥ２で取得したベンダー操作値、つまりユーザのベンダーホイール操作で発生したベンダー操作値をレジスタＬＢＯにストアする。
【００５５】
そして、ステップＳＥ５では、レジスタＬＢＯにストアされたベンダー操作値を音源１７に送付する。これにより、音源１７では、発音中の楽音の音高をベンダー操作値に対応して変化させる。この後、ステップＳＢ６に進み、カウンタＢＣをゼロリセットして本処理を終える。
【００５６】
これに対し、ソング再生中（自動演奏モード）であると、上記ステップＳＥ３の判断結果が「ＹＥＳ」になり、ステップＳＥ７に進む。ステップＳＥ７では、上記ステップＳＥ２で取得したベンダー操作値が、レジスタＢＣＤにストアされたベンドチェンジ値より大きいか否かを判断する。ベンダー操作値がベンドチェンジ値より大きければ、判断結果は「ＹＥＳ」になり、ステップＳＥ８に進み、ベンダー操作値をレジスタＬＢＯにストアする。そして、ステップＳＥ５に進み、レジスタＬＢＯにストアされたベンダー操作値を音源１７に送付した後、ステップＳＢ６に進み、カウンタＢＣをゼロリセットして本処理を終える。
【００５７】
さて一方、ベンダー操作値がベンドチェンジ値より小さければ、上記ステップＳＥ７の判断結果は「ＮＯ」になり、ステップＳＥ９に進む。ステップＳＥ９では、レジスタＢＣＤにストアされたベンドチェンジ値をレジスタＬＢＯにストアする。そして、ステップＳＥ５に進み、レジスタＬＢＯにストアされたベンダー操作値を音源１７に送付した後、ステップＳＢ６に進み、カウンタＢＣをゼロリセットして本処理を終える。
【００５８】
このように、ベンダー処理では、ベンド周期（例えば１０ｍｓｅｃ）経過毎に、ユーザのホイール操作で発生するベンダー操作値を取得し、ソング再生中（自動演奏モード）ならば、取得されたベンダー操作値が現在再生中のソングデータのベンドチェンジイベントに付随するベンドチェンジ値より大きいと、ベンダー操作値を音源１７に送付し、一方、ベンダー操作値がベンドチェンジ値より小さいと、ベンドチェンジ値を音源１７に送付する。
【００５９】
具体的には、例えば図１０に図示するように、ベンドチェンジイベントによって音高「Ｃ」でノートオンした楽音をノートオフ時点で音高「Ｄ」までピッチベンドさせる過程で、ベンダー操作値がベンドチェンジ値より大きい検出周期ｔ１〜ｔ５ではベンダー操作値に応じてピッチベンドさせ、ベンダー操作値がベンドチェンジ値より小さい検出周期ｔ６、ｔ７では、ベンドチェンジ値に応じてピッチベンドさせる為、ベンダー操作に応じて音高変化させる演奏表現を加えることが出来、しかも誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る。
【００６０】
以上説明したように、本実施形態では、曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えたソングデータに基づいて自動演奏し、自動演奏により発音された楽音のベンドチェンジ値と、ユーザ操作で発生したベンダー操作値との比較結果に応じて当該楽音の音高を変化させるので、ベンダー操作に応じて音高変化させる演奏表現を加えることが出来たり、誤ったベンダー操作が行われても音楽性を損なわずに曲演奏を進めることが出来る、という効果を奏する。
【００６１】
なお、上述した実施形態では、ソングデータ中のベンドチェンジイベントに付随するベンドチェンジ値によって最低限の音高変化を指定し、このベンドチェンジ値を下回るベンダー操作値ならば、そのベンダー操作値に換えてベンドチェンジ値を用いて音高を変化させるようにしたが、これに限定されず、上限となるベンドチェンジ値を設け、このベンドチェンジ値を上回るベンダー操作値ならば、そのベンダー操作値に換えてベンドチェンジ値を用いて音高を変化させることで急激にピッチを上げる不自然なベンダー操作を回避することが出来る。
【００６２】
また、例えば上限となる第１のベンドチェンジ値および下限となる第２のベンドチェンジ値を設け、ベンダー操作値が上限を超えたら当該ベンダー操作値に換えて第１のベンドチェンジ値を用い、ベンダー操作値が下限を超えたら当該ベンダー操作値に換えて第２のベンドチェンジ値を用いることによって極端なベンダー操作が為された場合でも音楽性を損なわない音高変化を実現することも出来る。
【００６３】
また、本実施形態においては、発音中の楽音の音高変化を指定するベンドチェンジ値をを予め記憶しておき、このベンドチェンジ値とピッチベンダー１６の操作によるベンダー操作値と、の比較結果に基づいて楽音の音高を変化させているが、これに限らず、例えばビブラート等の変調の深さを指定するチェンジ値を予め記憶しておき、このチェンジ値とモジュレーションホイールの操作による操作値との比較結果に基づいて楽音の変調度合いを変化させたり、あるいはフィルターの開閉を制御する値を記憶しておき、この記憶された値とコントロールノブの操作による操作値との比較結果に基づいて楽音の音色をコントロールするフィルタを変化させたりすることも可能である。
【００６４】
以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
【００６５】
（付記）
［請求項１］
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、
ユーザ操作に応じた操作値を取得する取得手段と、
前記自動演奏手段により発音された楽音のチェンジ値と、前記取得手段により取得された操作値との比較結果に応じて当該楽音のパラメータを変化させるパラメータ変化手段と
を具備することを特徴とする演奏装置。
【００６６】
［請求項２］
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏手段と、
ユーザ操作に応じたベンダー操作値を取得する取得手段と、
前記自動演奏手段により発音された楽音のベンドチェンジ値と、前記取得手段により取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化手段と
を具備することを特徴とする演奏装置。
【００６７】
［請求項３］
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より大きい場合に、当該ベンダー操作値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項２記載の演奏装置。
【００６８】
［請求項４］
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より小さい場合に、当該ベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項２記載の演奏装置。
【００６９】
［請求項５］
前記音高変化手段は、前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音のベンドチェンジ値より大きい場合に、当該ベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させることを特徴とする請求項２記載の演奏装置。
【００７０】
［請求項６］
前記曲データに含まれるベンドチェンジ値を、上限となる第１のベンドチェンジ値と下限となる第２のベンドチェンジ値とから構成し、
前記音高変化手段は、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第１のベンドチェンジ値より大きい場合に、当該第１のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させる第１の音高変化手段と、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第１のベンドチェンジ値より小さく且つ第２のベンドチェンジ値より大きい場合に、当該ベンダー操作値に従って前記自動演奏手段により発音された楽音の音高を変化させる第２の音高変化手段と、
前記取得手段により取得されたベンダー操作値が、前記自動演奏手段により発音された楽音の第２のベンドチェンジ値より小さい場合に、当該第２のベンドチェンジ値に従って前記自動演奏手段により発音された楽音の音高を変化させる第３の音高変化手段と
を具備することを特徴とする請求項２記載の演奏装置。
【００７１】
［請求項７］
コンピュータに、
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、
ユーザ操作に応じた操作値を取得する取得ステップと、
前記自動演奏ステップで発音された楽音のチェンジ値と、前記取得ステップで取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる音高変化ステップと
を実行させることを特徴とするプログラム。
【００７２】
［請求項８］
コンピュータに、
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏する自動演奏ステップと、
ユーザ操作に応じたベンダー操作値を取得する取得ステップと、
前記自動演奏ステップで発音された楽音のベンドチェンジ値と、前記取得ステップで取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる音高変化ステップと
を実行させることを特徴とするプログラム。
【００７３】
［請求項９］
曲を構成する各音を表すと共に、発音中の楽音のパラメータ変化を指定するチェンジ値を備えた曲データに基づいて自動演奏し、
ユーザ操作に応じた操作値を取得し、
前記発音された楽音のチェンジ値と、前記取得された操作値との比較結果に応じて当該楽音のパラメータを変化させる、演奏方法。
【００７４】
［請求項１０］
曲を構成する各音を表すと共に、発音中の楽音の音高変化を指定するベンドチェンジ値を備えた曲データに基づいて自動演奏し、
ユーザ操作に応じたベンダー操作値を取得し、
前記発音された楽音のベンドチェンジ値と、前記取得されたベンダー操作値との比較結果に応じて当該楽音の音高を変化させる、演奏方法。
【符号の説明】
【００７５】
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  鍵盤
１４  操作部
１５  表示部
１６  ピッチベンダー
１７  音源
１８  サウンドシステム
１００  電子楽器
【図１】
2014153378.tif 000003
【図２】
2014153378.tif 000004
【図３】
2014153378.tif 000005
【図４】
2014153378.tif 000006
【図５】
2014153378.tif 000007
【図６】
2014153378.tif 000008
【図７】
2014153378.tif 000009
【図８】
2014153378.tif 000010
【図９】
2014153378.tif 000011
【図１０】
2014153378.tif 000012