(57)【要約】【課題】カラオケ装置において、ガイドメロディの音色の種別を変更した際に、音量の変化によって違和感が生じることを防止すること。【解決手段】ＣＰＵが、ガイドメロディの音色の種別を変更する際にその音色の種別に対応するよう音響効果の各種設定を変更する場合には、音声制御部のワークエリアが一時的に記憶する演奏データから「データ挿入可能領域」を検出し、その検出したデータ挿入可能領域へ変更データおよび設定データを挿入する。なお、このようにデータ挿入可能領域へ変更データおよび設定データを挿入する際には、ＣＰＵが、ボリューム設定値を指定する旨の設定データのみを、データ挿入可能領域のうちガイドメロディの残響が存在する部分へ挿入しないようにしている。【選択図】図４
2006349821.tif 000002
【特許請求の範囲】
【請求項１】
音色が指定されたガイドメロディを含み、ＭＩＤＩデータの形式で作成された演奏データを記憶する演奏データ記憶手段と、
前記演奏データを前記演奏データ記憶手段から取得可能な演奏データ取得手段と、
前記演奏データ取得手段によって取得された演奏データに基づいてカラオケ演奏を行うカラオケ演奏手段と、
を備えるカラオケ装置であって、
前記演奏データ取得手段によって取得された演奏データを一時的に記憶可能なバッファと、
前記ガイドメロディの音色の種別と前記ガイドメロディに関する設定内容を示すガイドメロディ設定情報とを対応付けた設定情報対応テーブルを記憶する設定情報対応テーブル記憶手段と、
前記ガイドメロディの音色の種別を変更する旨の変更データを取得可能な変更データ取得手段と、
前記変更データ取得手段によって変更データが取得された場合に、その変更データが指示するガイドメロディの音色の種別に対応するガイドメロディ設定情報を、前記設定情報対応テーブル記憶手段が記憶する前記設定情報対応テーブルを参照して特定する設定情報特定手段と、
前記変更データ取得手段によって変更データが取得された場合に、前記バッファに記憶された演奏データから前記変更データおよび前記ガイドメロディ設定情報を示す設定データを挿入可能な領域を検出し、その検出したデータ挿入可能領域へ前記変更データおよび前記設定情報特定手段によって特定された設定データを挿入することによって前記バッファが記憶する演奏データを更新するデータ更新手段と、
前記バッファが記憶する演奏データを読み出して前記カラオケ演奏手段に転送する演奏データ転送手段と、を備え、
前記データ更新手段は、前記データ挿入可能領域へ前記変更データおよび前記設定情報特定手段によって特定された設定データを挿入することによって前記バッファが記憶する演奏データを更新する際には、前記設定データのうち少なくとも音量設定値であるボリューム設定値またはエクスプレッション設定値の少なくとも何れかを指定する旨の設定データを、前記データ挿入可能領域のうち前記ガイドメロディの残響が存在する部分へは挿入しないようにし、
前記カラオケ演奏手段は、前記演奏データ転送手段によって転送された演奏データに基づいてカラオケ演奏を行うこと
を特徴とするカラオケ装置。
【請求項２】
音色が指定されたガイドメロディを含み、ＭＩＤＩデータの形式で作成された演奏データを記憶する演奏データ記憶手段と、
前記演奏データを前記演奏データ記憶手段から取得可能な演奏データ取得手段と、
前記演奏データ取得手段によって取得された演奏データに基づいてカラオケ演奏を行うカラオケ演奏手段と、
を備えるカラオケ装置であって、
前記演奏データ取得手段によって取得された演奏データを一時的に記憶可能なバッファと、
前記ガイドメロディの音色の種別と前記ガイドメロディに関する設定内容を示すガイドメロディ設定情報とを対応付けた設定情報対応テーブルを記憶する設定情報対応テーブル記憶手段と、
前記ガイドメロディの音色の種別を変更する旨の変更データを取得可能な変更データ取得手段と、
前記変更データ取得手段によって変更データが取得された場合に、その変更データが指示するガイドメロディの音色の種別に対応するガイドメロディ設定情報を、前記設定情報対応テーブル記憶手段が記憶する前記設定情報対応テーブルを参照して特定する設定情報特定手段と、
前記変更データ取得手段によって変更データが取得された場合に、前記バッファに記憶された演奏データから前記変更データおよび前記ガイドメロディ設定情報を示す設定データを挿入可能な領域を検出し、その検出したデータ挿入可能領域へ前記変更データおよび前記設定情報特定手段によって特定された設定データを挿入することによって前記バッファが記憶する演奏データを更新するデータ更新手段と、
前記バッファが記憶する演奏データを読み出して前記カラオケ演奏手段に転送する演奏データ転送手段と、を備え、
前記データ更新手段は、前記データ挿入可能領域へ前記変更データおよび前記設定情報特定手段によって特定された設定データを挿入することによって前記バッファが記憶する演奏データを更新する際には、前記データ挿入可能領域のうち前記ガイドメロディの残響が存在する部分へ、前記設定データのうち前記ボリューム設定値を指定する旨の設定データ、および前記ボリューム設定値の変化を相殺するよう前記ガイドメロディのエクスプレッション設定値を調整する旨の設定データをこの順にて挿入し、
前記カラオケ演奏手段は、前記演奏データ転送手段によって転送された演奏データに基づいてカラオケ演奏を行うこと
を特徴とするカラオケ装置。
【請求項３】
請求項２に記載のカラオケ装置において、
前記データ更新手段は、前記データ挿入可能領域へ前記変更データおよび前記設定情報特定手段によって特定された設定データを挿入することによって前記バッファが記憶する演奏データを更新する際には、前記データ挿入可能領域のうち前記ガイドメロディの残響が存在する部分へ、前記ボリューム設定値を指定する旨の設定データ、および前記ボリューム設定値の変化を相殺するよう前記ガイドメロディのエクスプレッション設定値を調整する旨の設定データをこの順にて挿入し、さらに、前記データ挿入可能領域のうち前記ガイドメロディの残響が存在する部分以外へ、前記音量設定値を前記バッファが記憶する演奏データの更新直前のエクスプレッション設定値とするよう指定する旨の第二のエクスプレッション設定データを挿入することを特徴とするカラオケ装置。
【請求項４】
請求項１〜請求項３の何れかに記載のカラオケ装置において、
前記データ更新手段は、前記演奏データのうち、前記ガイドメロディにおいて有効なノートオン信号が存在しない領域を前記データ挿入可能領域として検出することを特徴とするカラオケ装置。
【請求項５】
請求項４に記載のカラオケ装置において、
前記データ更新手段は、前記データ挿入可能領域のうち、前記ガイドメロディにおいて有効なノートオン信号が存在しなくなった時から所定時間が経過するまでの間を、前記データ挿入可能領域のうちガイドメロディの残響が存在する部分として検出することを特徴とするカラオケ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラオケ装置において、ガイドメロディの音色の種別を変更した際に、音量の変化によって違和感が生じることを防止する技術に関する。
【背景技術】
【０００２】
従来より、ガイドメロディを含む演奏データに基づいてカラオケ演奏を行う機能を有するカラオケ装置が知られている。ここでガイドメロディとは、カラオケ演奏に合わせて歌おうとする人が主旋律をうろ覚えの場合などに、その補助となるよう演奏されるメロディパートを云う。このガイドメロディは、基本的には主な設置場所であるカラオケボックスにて利用されることを想定して、楽曲ごとに様々な音色にて作成されている。なお、ガイドメロディに使われる音色の種別の具体例としては、ビブラフォンやピアノ、フルート、ハーモニカなどが挙げられる。
【０００３】
また、上述のようなカラオケ装置の中には、ガイドメロディの音符の長さや音高を変更するものがある（例えば、特許文献１参照。）。また、上述のようなカラオケ装置の中には、ガイドメロディの音量を利用者の要望に応じて変化させるものがある（例えば、特許文献２参照。）。
【特許文献１】特開２０００−２６７６５２号公報（第４頁、図２，３，６）
【特許文献２】特開平９−８１１６６号公報（第５頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述のようなカラオケ装置においては、ガイドメロディの音色の種別を変更する旨のデータに対応する音響効果を設定するためのデータについては、図３（ａ）に例示するように、本来演奏データには含まれないため、これらのデータを含めて送信すると、図３（ｂ）に例示するように、例えばノートオン信号などの他の信号を示すデータを送信するタイミングが遅れてしまうおそれがある。
【０００５】
なお、ガイドメロディの音色の種別を変更する際には、演奏データから他のデータを挿入可能な領域を検出し、その検出したデータ挿入可能領域へ音響効果を設定するためのデータを挿入することが考えられるが、このようなカラオケ装置においては、ガイドメロディの音色によっては上述の演奏データのデータ挿入可能領域にガイドメロディの残響が存在することがあり、このような残響が存在するときにその音量を変更すると、その残響の音量が変化して違和感が生じるおそれがある。なお、上述のような残響が存在する音色としては、ピアノなどの打鍵する楽器の音色などが挙げられる。
【０００６】
本発明は、このような不具合に鑑みなされたものであり、その目的とするところは、カラオケ装置において、ガイドメロディの音色の種別を変更した際に、音量の変化によって違和感が生じることを防止する技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するためになされた請求項１に係るカラオケ装置は、「データ挿入可能領域のうち残響が存在する部分についてはガイドメロディに関する設定データのうち少なくとも音量設定値を指定する旨の設定データを挿入しないようにすること」を特徴とする。
【０００８】
具体的には、演奏データ記憶手段（１６：この欄においては、発明に対する理解を容易にするため、必要に応じて「発明を実施するための最良の形態」欄で用いた符号を付すが、この符号によって請求の範囲を限定することを意味するものではない。）が、音色が指定されたガイドメロディを含み、ＭＩＤＩデータの形式で作成された演奏データを記憶しており、カラオケ演奏手段（３０）が、演奏データ取得手段（１２）によって演奏データ記憶手段から取得された演奏データに基づいてカラオケ演奏を行う。また、バッファ（２４ｇ）が、演奏データ取得手段によって取得された演奏データを一時的に記憶可能であり、変更データ取得手段（２４ｅ）が、ガイドメロディの音色の種別を変更する旨の変更データを取得可能である。また、設定情報対応テーブル記憶手段（２４ｅ）が、ガイドメロディの音色の種別とガイドメロディに関する設定内容を示す「ガイドメロディ設定情報」とを対応付けた設定情報対応テーブルを記憶する。
【０００９】
そして、変更データ取得手段によって変更データが取得された場合には、設定情報特定手段（２４ｅ）が、その変更データが指示するガイドメロディの音色の種別に対応するガイドメロディ設定情報を、設定情報対応テーブル記憶手段が記憶する設定情報対応テーブルを参照して特定する。一方、データ更新手段（２４ｅ）が、バッファに記憶された演奏データからデータ挿入可能領域を検出し、その検出したデータ挿入可能領域へ変更データおよび設定情報特定手段によって特定されたガイドメロディ設定情報を示す設定データを挿入することによってバッファが記憶する演奏データを更新する。なお、ここで「データ挿入可能領域」とは、演奏データのうち変更データやガイドメロディ設定情報を示す設定データを挿入可能な領域を云う。なお、上述のようにデータ挿入可能領域へ変更データおよび設定情報特定手段によって特定された設定データを挿入することによってバッファが記憶する演奏データを更新する際には、データ更新手段が、上述の設定データのうち少なくとも音量設定値であるボリューム設定値またはエクスプレッション設定値の少なくとも何れかを指定する旨の設定データを、データ挿入可能領域のうちガイドメロディの残響が存在する部分へは挿入しないようにする。
【００１０】
さらに、演奏データ転送手段（２４ｅ）が、バッファが記憶する演奏データを読み出してカラオケ演奏手段に転送し、カラオケ演奏手段が、演奏データ転送手段によって転送された演奏データに基づいてカラオケ演奏を行う。
【００１１】
従来のカラオケ装置においては、ガイドメロディの音色によっては上述の演奏データのデータ挿入可能領域にガイドメロディの残響が存在することがあり、このような残響が存在するときにその音量を変更すると、その残響の音量が変化して違和感が生じるおそれがある。なお、上述のような残響が存在する音色としては、ピアノなどの打鍵する楽器の音色などが挙げられる。
【００１２】
これに対して本発明によれば、図４に例示するように、データ挿入可能領域のうち残響が存在する部分（残響領域）についてはガイドメロディに関する設定データのうち少なくとも音量設定値を指定する旨の設定データを上述の残響領域へは挿入しないようにする。このことにより、残響領域ではガイドメロディの残響が自然に減衰することとなるので、上述のようにガイドメロディの音色の種別を変更した際に、例えば演奏データのデータ挿入可能領域にガイドメロディの残響が存在する場合でも、音量の変化によって違和感が生じることを防止することができる。
【００１３】
なお、演奏データについては、複数のＭＩＤＩトラックで構成されており、これら複数のＭＩＤＩトラックのうちの少なくとも一つはガイドメロディ用のトラックとして使用される。
【００１４】
また、上述のように、データ更新手段がガイドメロディに関する設定データのうち少なくとも音量設定値を指定する旨の設定データを残響領域へは挿入しないようにする場合には、次のような手法が考えられる。すなわち、（イ）音量設定値を指定する旨のデータのみを残響領域に挿入しないようにし、例えばエフェクト設定に関する設定データなどそれ以外の設定データを残響領域へ挿入することや、（ロ）音量設定値を指定する旨の設定データ、およびエフェクト設定に関する設定データの一部を残響領域へ挿入しないようにする、（ハ）音量設定値を指定する旨の設定データを含むすべての設定データを残響領域に挿入しないようにすることなどが考えられる。
【００１５】
このうち（イ）音量設定値を指定する旨のデータのみを残響領域に挿入しないようにすれば、データを挿入した後のデータ挿入可能領域を広くすることができる。また、（ロ）音量設定値を指定する旨の設定データ、およびエフェクト設定に関する設定データの一部を残響領域へ挿入しないようにすれば、（イ）と同様に、データを挿入した後のデータ挿入可能領域を広くすることができる。また、（ハ）音量設定値を指定する旨の設定データを含むすべての設定データを残響領域に挿入しないようにすれば、音量設定値を指定する旨の設定データと、例えばエフェクト設定に関する設定データなどそれ以外の設定データとを区別して残響領域に挿入することの可否を判断する必要がないので、上述の（イ）および（ロ）の場合に比べてデータ更新手段が実行する処理のステップ数が少なくなり、データ更新処理を実行するＣＰＵなどの負担を低減することができる。
【００１６】
また、上記課題を解決するためには、残響領域へエクスプレッション設定値を調整する旨の設定データを挿入することが考えられる。具体的には、請求項２のように、上述のようにデータ挿入可能領域へ変更データおよび設定情報特定手段によって特定された設定データを挿入することによってバッファが記憶する演奏データを更新する際には、データ更新手段が、データ挿入可能領域のうちガイドメロディの残響が存在する部分へ、設定データのうちボリューム設定値を指定する旨の設定データ、およびボリューム設定値の変化を相殺するようガイドメロディのエクスプレッション設定値を調整する旨の設定データをこの順にて挿入することが考えられる。
【００１７】
このようにすれば、残響領域でもガイドメロディの残響の音量が変化しないので、上述のようにガイドメロディの音色の種別を変更した際に、例えば演奏データのデータ挿入可能領域にガイドメロディの残響が存在する場合でも、音量の変化によって違和感が生じることを防止することができる。
【００１８】
なお、上述のようにエクスプレッション設定値を調整する旨の設定データを残響領域に挿入した場合には、エクスプレッション設定値を変化させる以前の設定値に戻すために、データ挿入可能領域における残響領域以外の部分へ、エクスプレッション設定値を変化させる以前の設定データを再び挿入することが望ましい。具体的には、請求項３のように、上述のようにデータ挿入可能領域へ変更データおよび設定情報特定手段によって特定された設定データを挿入することによってバッファが記憶する演奏データを更新する際には、データ更新手段が、「データ挿入可能領域のうちガイドメロディの残響が存在する部分」へ、ボリューム設定値を指定する旨の設定データ、およびボリューム設定値の変化を相殺するようガイドメロディのエクスプレッション設定値を調整する旨の設定データをこの順にて挿入し、さらに、「データ挿入可能領域のうちガイドメロディの残響が存在する部分以外」へ、音量設定値をバッファが記憶する演奏データの更新直前のエクスプレッション設定値とするよう指定する旨の第二のエクスプレッション設定データを挿入することが考えられる。
【００１９】
このようにすれば、上述のようにデータ挿入可能領域へ変更データおよび設定情報特定手段によって特定された設定データを挿入することによってバッファが記憶する演奏データを更新する際には、ガイドメロディの音量設定を相殺するよう音量設定し、さらにガイドメロディの変更以前の状態に戻す際にはエクスプレッション設定値が変更以前の状態に戻るようにしておくことで、聴感の違和感を少なくすることができる。
【００２０】
ところで、上述の「データ挿入可能領域」の検出手法としては、ガイドメロディのノートオフ信号とノートオン信号との間の領域をデータ挿入可能領域として検出する手法が挙げられる。しかし、このようなデータ挿入可能領域検出手法においては、例えばガイドメロディに和音が含まれていて複数のノートオン信号が同時に有効となる場合には、その和音を構成する音のノートオフ信号の一つを検出しても、和音を構成する他の音のノートオン信号が有効な状態が維持される。ここで、上述のような手法で検出されたデータ挿入可能領域へ変更データおよび設定データを挿入した場合には、その挿入した変更データおよび設定データによって有効なノートオン信号の音色および音響設定が変更される。このことによってそのガイドメロディの和音の音色および音響設定が演奏中に変更され、違和感を与えるおそれがある。
【００２１】
そこで、データ更新手段が、演奏データのうちガイドメロディの有効なノートオン信号が存在しない領域をデータ挿入可能領域として検出することが考えられる（請求項４）。
このようにすれば、ガイドメロディの和音を構成する全ての音のノートオン信号が無効となってから音色や音響設定を変更するので、例えばガイドメロディに和音が含まれる場合であっても、その和音の音色および音響設定が演奏中に変更されて違和感を与えてしまうといったことを防ぐことができる。
【００２２】
また、上述のデータ挿入可能領域のうちガイドメロディの残響が存在する部分（残響領域）については、ガイドメロディにおいて有効なノートオン信号が存在しなくなった時点から所定時間が経過するまでの間とすることが考えられる（請求項５）。なお、所定時間については、予め実験等によって一つの値を設定する手法や、予め実験等によってガイドメロディの音色ごとに設定する手法などが考えられる。一例を挙げると、ピアノなどの打鍵する楽器については残響領域を大きく設定し、トランペットなど吹奏楽器について残響領域を小さく設定するといった具合である。
【００２３】
また、上述の変更データについては、（ニ）例えば当該カラオケ装置が備える操作部（１８）やリモコン端末（２）などから入力される場合や、（ホ）演奏データに含まれる場合が考えられる。このうち(ニ)の場合には、上述の変更データ取得手段が、例えば当該カラオケ装置が備える操作部やリモコン端末などから入力されたガイドメロディの音色の種別を変更する旨のデータを上述の変更データとして取得することが考えられる。また、(ホ)の場合には、上述の変更データ取得手段が、バッファが一時的に記憶する演奏データから変更データを取得することが考えられる。
【００２４】
また、上述のようにバッファが一時的に記憶する演奏データから変更データを取得する手法としては、（ヘ）カラオケ演奏を行う予定の演奏データすべてを演奏データ記憶手段から取得してバッファへ一時的に記憶させ、そのバッファが記憶する演奏データから変更データを検出する手法や、（ト）カラオケ演奏を行う予定の演奏データの取得中に、そのバッファが記憶する演奏データから変更データを検出する手法が考えられる。
【００２５】
このうち、上述の（ヘ）については、変更データ取得手段が、演奏データ取得手段によって演奏データが演奏データ記憶手段から取得されてバッファへ記憶されたのちに、バッファに記憶された演奏データから変更データを検出することによって変更データを取得することが考えられる。
【００２６】
このようにすれば、上述の（ト）の場合に比べて、上述の変更データ検出処理の起動頻度を少なくでき、変更データ取得手段の処理負荷を小さくできる。また、予約曲に対して上述の処理を実行すれば、その予約曲よりも以前に予約された演奏曲の演奏中に上述の処理を行うこともできる。ただし、カラオケ演奏を行う予定の演奏データすべてをバッファへ一時的に記憶させるため、上述の（ト）の場合に比べて、バッファの記憶領域の容量を大きくする必要がある。
【００２７】
また、上述の（ト）については、さらに具体的には、所定時間が経過するごとに変更データ検出処理を実行する手法が考えられる。すなわち、変更データ取得手段が、所定時間が経過するごとにその間にバッファに記憶された演奏データから変更データを検出することによって変更データを取得することが考えられる。
【００２８】
このようにすれば、バッファの記憶領域の容量を小さくすることができる。ただし、上述の変更データ検出処理の実行頻度が多くなり、変更データ取得手段の処理負荷が大きくなる。
【発明を実施するための最良の形態】
【００２９】
以下に本発明の実施形態を図面とともに説明する。
［第一実施形態］
図１は、カラオケシステムの全体構成を示すブロック図である。また、図２は、カラオケシステムの音声制御部の構成を示すブロック図である。また、図３は、ＭＩＤＩデータを構成する各トラックおよびＭＩＤＩデータ列を示す説明図であり、（ａ）は通常演奏時を示し、（ｂ）はガイドメロディ変更時（単純置き換え時）を示す。また、図４は、ＭＩＤＩデータを構成する各トラックおよびＭＩＤＩデータ列を示す説明図であり、ガイドメロディ変更時（遅延解消手法その１）を示す。
【００３０】
カラオケシステムは、図１に示すように、カラオケ装置１とリモコン端末２とがデータ通信可能に構成されたものである。
［カラオケ装置１の構成の説明］
カラオケ装置１は、カラオケ装置１全体の動作を制御する制御部１２、カラオケ装置１をネットワーク１００に接続するためのインタフェース部１４、演奏楽曲の伴奏内容および歌詞を示す楽曲データや映像データなどを記憶するハードディスク（ＨＤＤ）１６、複数のキー・スイッチからなる操作部１８、リモコン端末２からの赤外線信号を赤外線通信によって受信するための赤外線通信部２０、操作部１８からの信号を処理する操作処理部２２、ハードディスク１６に記憶された楽曲データから演奏楽曲のオーディオ信号（音響や音声に関する信号）を生成し、生成されたオーディオ信号およびマイクロフォン２６から入力されたオーディオ信号を増幅してスピーカ２８へ出力する音声制御部２４、制御部１２によってＨＤＤ１６から取得された楽曲データ（演奏データ）に基づきカラオケ演奏を行うＭＩＤＩ音源３０、映像情報を一時的に記憶するビデオＲＡＭ３２、映像データに基づく映像の再生を制御する映像再生部３４、ビデオＲＡＭ３２に記憶された映像情報および映像再生部３４により再生される映像の表示部３６での表示を制御する映像制御部３８などを備えている。また、制御部１２と音声制御部２４とはＵＳＢ４０によって接続されている。また、制御部１２は、後述する入力受付処理およびメイン処理の各処理を実行する。
【００３１】
なお、制御部１２は、演奏データ取得手段に該当する。また、ＨＤＤ１６は演奏データ記憶手段に該当する。また、ＭＩＤＩ音源３０はカラオケ演奏手段に該当する。
［音声制御部２４の構成の説明］
カラオケ装置１が備える音声制御部２４は、図２に示すように、Ｉ／Ｆ２４ｂ、ＲＯＭ２４ｃ、ＲＡＭ２４ｄ、ＣＰＵ２４ｅ、Ｉ／Ｆ２４ｆ、を備えている。なお、これらＩ／Ｆ２４ｂ、ＲＯＭ２４ｃ、ＲＡＭ２４ｄ、ＣＰＵ２４ｅおよびＩ／Ｆ２４ｆについては、バス２４ａによって互いに接続されている。また、Ｉ／Ｆ２４ｂはＵＳＢ４０を介して制御部１２に接続されている。また、Ｉ／Ｆ２４ｆはＭＩＤＩ音源３０に接続されている。
【００３２】
なお、本実施形態におけるＭＩＤＩデータの転送に必要な時間については次のように設定されている。すなわち、ＲＥＶ設定については、ＲＥＶ設定のデータサイズが３バイト（２４ビット）であり、且つデータ転送速度が３１．２５ｋｂｐｓであることから、０．７６８ｓｅｃとなるため、本実施形態では約１ｍｓｅｃに設定されている。また、ＶＩＢ設定については、ＶＩＢ設定のデータサイズが９バイト（２４ビット）であり、且つデータ転送速度が３１．２５ｋｂｐｓであることから、２．３ｓｅｃとなるため、本実施形態では、約３ｍｓｅｃに設定されている。また、本実施形態の説明中および図中の記号「ＶＯＬ」とは「ボリューム」を示し、また、記号「ＲＥＶ」とは「リバーブ」を示し、記号「ＶＩＢ」とは「ビブラート」を示す。
【００３３】
また、ＲＡＭ２４ｄは、制御部１２によってＨＤＤ１６から取得された演奏データを一時的に記憶しておき、編集作業を行うためのワークエリア２４ｇ、ワークエリア２４ｇにて編集された演奏データを一時的に記憶しておき、「シリアル送信割込」によって演奏データを順に読み出すためのバッファエリア２４ｈ、有効なノートンオン信号を記憶可能なノートオン信号エリア２４ｉを備えている。なお、演奏データについては、複数のＭＩＤＩトラックａ〜ｎで構成されており（図３参照）、これら複数のＭＩＤＩトラックａ〜ｎのうちの少なくとも一つはガイドメロディ用のトラックとして使用される。
【００３４】
なお、ノートオン信号エリア２４ｉが同時に記憶可能な有効なノートンオン信号の個数については、ＭＩＤＩ音源３０における同時発音数に対応して６４個に設定されている。
ＣＰＵ２４ｅは、エフェクト出力テーブルを記憶する（図１４参照）。このエフェクト出力テーブルとは、ガイドメロディの音色の種別（ＶＩＢ設定ＭＩＤＩコマンドやＶＯＬ設定ＭＩＤＩコマンドなど）とガイドメロディに関する設定内容を示すガイドメロディ設定情報（ＶＩＢ設定ＭＩＤＩコマンドやＶＯＬ設定ＭＩＤＩコマンドなどに対応するステップ値）とを対応付けたテーブルを云う。なお、エフェクト出力テーブルは、特許請求の範囲における「設定情報対応テーブル」に該当する。
【００３５】
また、ＣＰＵ２４ｅは、カラオケ演奏を行う予定の演奏データすべてを制御部１２によってＨＤＤ１６から取得してワークエリア２４ｇへ一時的に記憶させ、そのワークエリア２４ｇが記憶する演奏データから変更データを検出する機能を有する。
【００３６】
また、ＣＰＵ２４ｅは、後述するメイン処理、演奏処理、送信対象トラック出力処理、およびノートオフチェック・エフェクトテーブルセット処理の各処理を実行することにより、次のような機能を有する。すなわち、ＣＰＵ２４ｅは、変更データが取得された場合には、その変更データが指示するガイドメロディの音色の種別に対応するガイドメロディ設定情報を、エフェクト出力テーブルを参照して特定する。さらに、ＣＰＵ２４ｅは、ワークエリア２４ｇに記憶された演奏データから「データ挿入可能領域」を検出し、その検出したデータ挿入可能領域へ変更データおよびガイドメロディ設定情報を示す「設定データ」を挿入することによってワークエリア２４ｇが記憶する演奏データを更新する。なお、ここで「データ挿入可能領域」とは、演奏データのうち変更データやガイドメロディ設定情報を示す設定データを挿入可能な領域を云う（図４参照）。なお、上述のようにデータ挿入可能領域へ変更データおよび設定データを挿入する際には、ＣＰＵ２４ｅは、上述の設定データのうち少なくとも音量設定値を指定する旨の設定データを、データ挿入可能領域のうちガイドメロディの残響が存在する部分（残響領域）へは挿入しないようにする。本実施形態では、ボリューム設定値を指定する旨の設定データのみを上述の残響領域に挿入しないようにしている（図４参照）。また、上述の残響領域については、ガイドメロディにおいて有効なノートオン信号が存在しなくなった時点から所定時間（残響時間）が経過するまでの間とする。なお、残響時間については、現在の音色の種別に基づき、ＣＰＵ２４ｅが記憶する音色変更時残響時間テーブル（図１５参照）を参照して特定する。この音色変更時残響時間テーブルは、音色と残響時間とを対応付けたテーブルである。一例を挙げると、ピアノなどの打鍵する楽器については残響領域を大きく設定し、トランペットなど吹奏楽器について残響領域を小さく設定するといった具合である。
【００３７】
さらに、ＣＰＵ２４ｅは、ワークエリア２４ｇが記憶する演奏データを読み出し、その読み出した演奏データをバッファエリア２４ｈへ一時的に記憶しておき、「シリアル送信割込」によって演奏データをバッファエリア２４ｈから順に読み出してＭＩＤＩ音源３０へＩ／Ｆ２４ｆを介して転送する。なお、音声制御部２４のＣＰＵ２４ｅによって演奏データがＭＩＤＩ音源３０へ転送された場合には、ＭＩＤＩ音源３０が、その演奏データに基づいてカラオケ演奏を行う。
【００３８】
なお、ワークエリア２４ｇはバッファに該当する。また、音声制御部２４のＣＰＵ２４ｅは、設定情報対応テーブル記憶手段、変更データ取得手段、設定情報特定手段、データ更新手段およびデータ転送手段に該当する。
【００３９】
［リモコン端末２の構成の説明］
リモコン端末２は、リモコン端末２全体の動作を制御する制御部５２、カラオケ装置１に赤外線信号を赤外線通信によって送信する赤外線通信部５４、各種情報を記憶するメモリ５６、表示部５８の表示領域に沿って設置されるタッチパネルおよび複数のキー・スイッチからなる操作部６０、操作部６０からの信号を処理する操作処理部６２、映像情報を一時的に記憶するビデオＲＡＭ６４、ビデオＲＡＭ６４に記憶された映像情報の表示部５８での表示を制御する映像制御部６６、ネットワーク１００に接続された無線アクセスポイント１１０との間で無線ＬＡＮ規格（例えば、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ規格，ＨｏｍｅＲＦ規格，Ｂｌｕｅｔｏｏｔｈ規格など）に従った無線通信を行うための無線ＬＡＮ通信部６８、などを備えている。
【００４０】
［カラオケ装置１の制御部１２の入力受付処理］
以下に、カラオケ装置１の制御部１２により実行される入力受付処理の処理手順を図６のフローチャートに基づいて説明する。この入力受付処理は、カラオケ装置１が起動している間に繰り返し実行される。
【００４１】
まず、ステップＳ１１０では、利用者が予約したカラオケ演奏曲の選曲情報を記憶するための選曲テーブルを初期化する（図１４（ｂ）参照）。
続くＳ１２０では、利用者によって操作部１８を介して選曲情報の入力があったか否かを判断する。操作部１８を介して選曲情報の入力がなかった場合には（Ｓ１２０：Ｎｏ）、再び本Ｓ１２０を繰り返し実行することにより、利用者によって操作部１８を介して選曲情報の入力があるまで待機する。一方、操作部１８を介して選曲情報の入力があった場合には（Ｓ１２０：Ｙｅｓ）Ｓ１３０へ移行する。
【００４２】
Ｓ１３０では、上述の選曲テーブルの記憶内容が一杯であるか否かを判断する。上述の選曲テーブルの記憶内容が一杯である場合には（Ｓ１３０：Ｙｅｓ）、演奏が終了するなどにより選曲テーブルの記憶内容に空きスペースが生じるまでは新たな選曲情報は記憶できないため、再びＳ１２０に戻ってＳ１２０以降の処理を繰り返し実行する。一方、上述の選曲テーブルの記憶内容が一杯であると判断した場合には（Ｓ１３０：Ｎｏ）、Ｓ１４０へ移行する。
【００４３】
Ｓ１４０では、先のＳ１２０にて操作部１８を介して入力された選曲情報を選曲テーブルに登録する。そして、Ｓ１２０へ移行する。
［カラオケ装置１の制御部１２のメイン処理］
以下に、カラオケ装置１の制御部１２により実行されるメイン処理の処理手順を図７のフローチャートに基づいて説明する。このメイン処理は、カラオケ装置１が起動している間に繰り返し実行される。また、本メイン処理と上述の入力受付処理とは、制御部１２においてマルチタスク処理によって並行して非同期で実行される。
【００４４】
まず、ステップＳ２１０では、各種初期化処理を実行する。一例を挙げると、操作部１８を入力待ちにするといった具合である。
続くＳ２２０では、選曲待ちの際にＢＧＭとして演奏するためのＢＧＭデータを、ＨＤＤ１６から読み出して音声制御部２４にＵＳＢ４０を介して送信する。
【００４５】
続くＳ２３０では、先のＳ２２０にて音声制御部２４に対して送信したＢＧＭデータを再生する旨の指示を音声制御部２４に送信する。
続くＳ２４０では、上述の入力受付処理のＳ１４０において選曲テーブルに選曲情報の入力が行われたか否かを判断する。選曲テーブルに選曲情報の入力が行われた場合には（Ｓ２４０：Ｙｅｓ）、後述するＳ２６０へ移行する。一方、選曲テーブルに選曲情報の入力が行われてはいない場合には（Ｓ２４０：Ｎｏ）、Ｓ２５０へ移行する。
【００４６】
Ｓ２５０では、音声制御部２４によるＢＧＭデータの演奏が終了しているか否かを判断する。音声制御部２４によるＢＧＭデータの演奏が終了していない場合には（Ｓ２５０：Ｎｏ）、Ｓ２４０に戻る。一方、音声制御部２４によるＢＧＭデータの演奏が終了している場合には（Ｓ２５０：Ｙｅｓ）、選曲待ちの間に次のＢＧＭデータを音声制御部２４に送信して演奏させるため、Ｓ２２０へ移行する。
【００４７】
さて、先のＳ２４０において選曲テーブルに選曲情報の入力が行われた場合へ移行するＳ２６０では、選曲テーブルに入力された選曲情報に基づいて楽曲の演奏を行うため、ＢＧＭデータの演奏を中止する旨の指示を音声制御部２４に送信する。
【００４８】
続くＳ２７０では、選曲テーブルの記憶領域における先頭部分が空いている状態であるか否かを判断する。選曲テーブルの記憶領域における先頭部分が空いている状態である場合には（Ｓ２７０：Ｙｅｓ）、選曲待ちであると判断し、その間ＢＧＭデータの演奏を行うためにＳ２２０へ移行する。一方、選曲テーブルの記憶領域における先頭部分が空いておらず選曲情報が登録されている場合には（Ｓ２７０：Ｎｏ）、Ｓ２８０へ移行する。
【００４９】
Ｓ２８０では、選曲テーブルの記憶領域における先頭部分に登録された選曲情報が曲番号であるのか否かを判断する。選曲テーブルの記憶領域における先頭部分に登録された選曲情報が曲番号ではない場合には（Ｓ２８０：Ｎｏ）、Ｓ２７０へ移行する。一方、選曲テーブルの記憶領域における先頭部分に登録された選曲情報が曲番号であると判断された場合には（Ｓ２８０：Ｙｅｓ）、Ｓ２９０へ移行する。
【００５０】
Ｓ２９０では、選曲テーブルの記憶領域における先頭部分に登録された選曲情報である曲番号に該当する演奏データをＨＤＤ１６から読み出して音声制御部２４に送信する。
続くＳ３００では、ガイドメロディの設定を変更するか否かを判断する。なお、ガイドメロディの設定を変更する旨の指示については、操作部１８やリモコン端末、外部のホストコンピュータなどを介して入力される。ガイドメロディの設定を変更しないと判断した場合には（Ｓ３００：Ｎｏ）、Ｓ３１０を処理せずにＳ３２０へ移行する。一方、ガイドメロディの設定を変更すると判断した場合には（Ｓ３００：Ｙｅｓ）、ガイドメロディを変更する旨を音声制御部２４に送信してＳ３２０へ移行する。
【００５１】
Ｓ３２０では、先のＳ２９０にて音声制御部２４に送信した演奏データの演奏を開始するため、その旨を示す指示を音声制御部２４に送信する。
続くＳ３３０では、選曲テーブルの記憶領域における先頭部分を初期化して空いている状態として他の記憶内容を順次繰り上げる。
【００５２】
続くＳ３４０では、音声制御部２４による演奏データの演奏が終了しているか否かを判断する。音声制御部２４による演奏データの演奏が終了していない場合には（Ｓ３４０：Ｎｏ）、本Ｓ３４０を繰り返し実行することによりその演奏データの演奏が終了するまで待機する。一方、音声制御部２４による演奏データの演奏が終了している場合には（Ｓ３４０：Ｙｅｓ）、次の演奏データを音声制御部２４に送信して演奏させるため、Ｓ２７０へ移行する。
【００５３】
［カラオケ装置１の音声制御部２４のメイン処理］
以下に、カラオケ装置１の音声制御部２４により実行されるメイン処理の処理手順を図８のフローチャートに基づいて説明する。
【００５４】
このメイン処理は、カラオケ装置１が起動している間に繰り返し実行される。
まず、ステップＳ６１０では、制御部１２から演奏データが送信されているか否かを判断する。制御部１２から演奏データが送信されていると判断した場合には（Ｓ６１０：Ｙｅｓ）その演奏データを受信する。そして、複数のトラックで構成されるＭＩＤＩ形式の演奏データ（図３（ａ）参照）をＭＩＤＩ転送バイト列（図４参照）に変換してＲＡＭ２４ｄのワークエリア２４ｇに格納する。
【００５５】
一方、制御部１２から演奏データが送信されていないと判断した場合には（Ｓ６１０：Ｎｏ）、Ｓ６２０へ移行する。
Ｓ６２０では、制御部１２からガイドメロディを変更する旨の指示が送信されているか否かを判断する。制御部１２からガイドメロディを変更する旨の指示が送信されていると判断した場合には（Ｓ６２０：Ｙｅｓ）、その指示を受信してＲＡＭ２４ｄのワークエリア２４ｇに格納する。一方、制御部１２からガイドメロディを変更する旨の指示が送信されていないと判断した場合には（Ｓ６２０：Ｎｏ）、Ｓ６３０へ移行する。
【００５６】
Ｓ６３０では、制御部１２から演奏データの演奏を開始する旨の指示が送信されているか否かを判断する。制御部１２から演奏データの演奏を開始する旨の指示が送信されていないと判断した場合には（Ｓ６３０：Ｎｏ）、Ｓ６１０へ移行する。一方、制御部１２から演奏データの演奏を開始する旨の指示が送信されていると判断した場合には（Ｓ６３０：Ｙｅｓ）、Ｓ６４０へ移行する。
【００５７】
Ｓ６４０では、演奏データの受信が完了しているか否かを判断する。演奏データの受信が完了していないと判断した場合には（Ｓ６４０：Ｎｏ）、Ｓ６１０へ移行する。一方、演奏データの受信が完了していると判断した場合には（Ｓ６４０：Ｙｅｓ）、後述する演奏処理を実行する（Ｓ６５０）。そして、演奏処理が終了したらその旨を示す情報を制御部１２に送信し、先のＳ６２５にてＲＡＭ２４ｄのワークエリア２４ｇに格納したガイドメロディを変更する旨の指示を消去する。そして、Ｓ６１０へ移行して以下のステップを繰り返し実行する。
【００５８】
［カラオケ装置１の音声制御部２４の演奏処理］
以下に、カラオケ装置１の音声制御部２４により実行される演奏処理の処理手順を図９のフローチャート、図３および図４に基づいて説明する。なお、図３は、ＭＩＤＩデータを構成する各トラックおよびＭＩＤＩデータ列を示す説明図であり、（ａ）は通常演奏時を示し、（ｂ）はガイドメロディ変更時（単純置き換え時）を示す。また、図４は、ＭＩＤＩデータを構成する各トラックおよびＭＩＤＩデータ列を示す説明図であり、ガイドメロディ変更時（遅延解消手法その１）を示す。この演奏処理は、音声制御部２４のメイン処理において、Ｓ６５０へ移行した際に実行される。
【００５９】
まず、ステップＳ７１０では、テンポ値より１ステップ当たりの時間を算出する。
続くＳ７１５では、「演奏前一括展開処理」を実行する。ここで「演奏前一括展開処理」とは、演奏予定の演奏データすべてをＲＡＭ２４ｄのワークエリア２４ｇに一旦格納し、ガイドメロディの設定を変更する旨の指示に従って、格納した演奏データへガイドメロディの設定を変更する旨の各種データを挿入することで更新する処理である。なお、演奏前一括展開処理については後述する。
【００６０】
続くＳ７２０では、音源の設定やボリューム値などの演奏に関するパラメータなどについて初期化処理を実行する。
続くＳ７２５では、現在のステップ値を数値「０」とし、エフェクト出力テーブルより出力データを決定し（Ｓ７３０）、その決定したデータを出力する（Ｓ７４０）。
【００６１】
Ｓ７５５では、現在のステップ値に数値「１」を加算する。
Ｓ７６０では、１ステップ分の時間待機する。そして、Ｓ７６５へ移行する。
Ｓ７６５では、制御部１２から演奏データの演奏を中止する旨の指示が送信されているか否かを判断する。制御部１２から演奏データの演奏を中止する旨の指示が送信されていると判断した場合には（Ｓ７６５：Ｙｅｓ）本処理を終了する。一方、制御部１２から演奏データの演奏を中止する旨の指示が送信されていないと判断した場合には（Ｓ７６５：Ｎｏ）、Ｓ７７０へ移行する。
【００６２】
Ｓ７７０では、上述のＳ７１５にて実行した「演奏前一括展開処理」によって処理された演奏データの演奏が終了したか否かを判断する。該当演奏データの演奏が終了していないと判断した場合には（Ｓ７７０：Ｎｏ）、Ｓ７３０へ移行して以下の処理を繰り返し実行する。一方、該当演奏データの演奏が終了したと判断した場合には（Ｓ７７０：Ｙｅｓ）、本処理を終了する。
【００６３】
［カラオケ装置１の音声制御部２４の演奏前一括展開処理］
以下に、カラオケ装置１の音声制御部２４により実行される演奏前一括展開処理の処理手順を図１０のフローチャートに基づいて説明する。この演奏前一括展開処理とは、上述のように、演奏予定の演奏データすべてをＲＡＭ２４ｄのワークエリア２４ｇに一旦格納し、ガイドメロディの設定を変更する旨の指示に従って、格納した演奏データへガイドメロディの設定を変更する旨の各種データを挿入することで更新する処理であり、上述の音声制御部２４の演奏処理において、Ｓ７１５へ移行した際に実行される。
【００６４】
まず、Ｓ１７０５では、各トラック先頭のアドレスを、各トラック別に「ポインタ変数（現在の読み込み位置）」に格納する。なお、上述のテンポ値とは、ＢＰＭ（Beat Per Minute）で表される数値である。また、上述のポインタ変数とは、全トラックにおいて、各トラック先頭のアドレスをトラック毎の読み出し位置として設定するための変数を云う。
【００６５】
続くＳ１７１０では、現在のステップ値をゼロとし、送信対象トラックを第１トラックに設定し（Ｓ１７１５）、送信対象トラックの出力処理を実行する（Ｓ１７２０）。なお、この「送信対象トラックの出力処理」については後述する。
【００６６】
続くＳ１７２５では、送信対象トラックを次のトラックに設定する。
続くＳ１７３０では、全てのトラックを送信対象トラックとしたか否かを判断する。全てのトラックを送信対象トラックとはしていないと判断した場合には（Ｓ１７３０：Ｎｏ）、Ｓ１７２０へ移行して以下の処理を繰り返し実行する。一方、全てのトラックを送信対象トラックとしたと判断した場合には（Ｓ１７３０：Ｙｅｓ）、Ｓ１７３５へ移行する。
【００６７】
Ｓ１７３５では、エフェクト出力テーブル（図１４（ａ）参照）を参照して、現在のステップ値と同一の値を有するデータが存在するか否かを判断する。現在のステップ値と同一の値を有するデータが存在する場合には（Ｓ１７３５：Ｙｅｓ）、当該データを読み出してＲＡＭ２４ｄのワークエリア２４ｇに記憶させ（Ｓ１７４０）、Ｓ１７４５に移行する。一方、現在のステップ値と同一の値を有するデータが存在しない場合には（Ｓ１７３５：Ｎｏ）、そのままＳ１７４５に移行する。
【００６８】
Ｓ１７４５では、現在のステップ値に数値「１」を加算する。
続くＳ１７５５では、制御部１２から演奏データの演奏を中止する旨の指示が送信されているか否かを判断する。制御部１２から演奏データの演奏を中止する旨の指示が送信されていると判断した場合には（Ｓ１７５５：Ｙｅｓ）本処理を終了する。一方、制御部１２から演奏データの演奏を中止する旨の指示が送信されていないと判断した場合には（Ｓ１７５５：Ｎｏ）、Ｓ１７６０へ移行する。
【００６９】
Ｓ１７６０では、全てのトラックについて各トラックの終端まで到達しているか否かを判断する。全てのトラックについて各トラックの終端まで到達していないと判断した場合には（Ｓ１７６０：Ｎｏ）、Ｓ１７１５へ移行して以下の処理を繰り返し実行する。一方、全てのトラックについて各トラックの終端まで到達していると判断した場合には（Ｓ１７６０：Ｙｅｓ）、本処理を終了する。
【００７０】
［カラオケ装置１の音声制御部２４の送信対象トラック出力処理］
以下に、カラオケ装置１の音声制御部２４により実行される送信対象トラック出力処理の処理手順を図１１のフローチャートおよび図１２のフローチャートに基づいて説明する。この送信対象トラック出力処理は、上述の音声制御部２４の演奏前一括展開処理において、Ｓ１７２０へ移行した際に実行される。
【００７１】
まず、ステップＳ８０５では、送信対象トラックにおいて、演奏がトラックの終端まで到達しているか否かを判断する。演奏がトラックの終端まで到達していると判断した場合には（Ｓ８０５：Ｙｅｓ）本処理を終了する。一方、演奏がトラックの終端まで到達していないと判断した場合には（Ｓ８０５：Ｎｏ）、Ｓ８１０へ移行する。
【００７２】
Ｓ８１０では、現在の読み込み位置のデータ（現在位置データ）のデルタタイムを数値「１」減算する。
続くＳ８１５では、現在位置データのデルタタイムが数値「０」であるか否かを判断する。現在位置データのデルタタイムが数値「０」ではないと判断した場合には（Ｓ８１５：Ｎｏ）、本処理を終了する。一方、現在位置データのデルタタイムが数値「０」であると判断した場合には（Ｓ８１５：Ｙｅｓ）、Ｓ８２０へ移行する。
【００７３】
Ｓ８２０では、当該トラックの属性がガイドメロディであるか否かを判断する。当該トラックの属性がガイドメロディではないと判断した場合には（Ｓ８２０：Ｎｏ）、現在の読込位置のデータをＲＡＭ２４ｄのワークエリア２４ｇに記憶させ（Ｓ８２５）、後述するＳ８８５へ移行する。一方、当該トラックの属性がガイドメロディであると判断した場合には（Ｓ８２０：Ｙｅｓ）、Ｓ８３５へ移行する。
【００７４】
Ｓ８３５では、当該トラックにおける音色がビブラフォンであるか否かを判断する。当該トラックにおける音色がビブラフォンではないと判断した場合には（Ｓ８３５：Ｎｏ）、音色変更時残響時間テーブル（図１４参照）を参照して、現在の音色に対応する残響時間を読み出し（Ｓ８３６）、その読み出した残響時間を内蔵ＲＡＭに記憶させる（Ｓ８３７）。そして、Ｓ８２５へ移行する。一方、当該トラックにおける音色がビブラフォンであると判断した場合には（Ｓ８３５：Ｙｅｓ）、Ｓ８４０へ移行する。
【００７５】
Ｓ８４０では、読み込んだデータがノートオン信号を示すデータであるか否かを判断する。読み込んだデータがノートオン信号を示すデータであると判断した場合には（Ｓ８４０：Ｙｅｓ）、該当ノートオン信号を、ＲＡＭ２４ｄのノートオン信号エリア２４ｉが記憶するノートオンテーブルに追加し（Ｓ８４５）、Ｓ８２５へ移行する。一方、読み込んだデータがノートオン信号を示すデータではないと判断した場合には（Ｓ８４０：Ｎｏ）、Ｓ８５０へ移行する。なお、ノートオンテーブルとは、現在有効なガイドメロディのノートオン信号を記録するテーブルを云い、ＲＡＭ２４ｄのノートオン信号エリア２４ｉに保存されている。
【００７６】
Ｓ８５０では、読み込んだデータが、音色ＭＡＰまたは音色ＢＡＮＫの何れか一方を示すデータであるか否かを判断する。読み込んだデータが音色ＭＡＰまたは音色ＢＡＮＫの何れか一方を示すデータであると判断した場合には（Ｓ８５０：Ｙｅｓ）、現在位置のデータのパラメータを、指定値に置換してＲＡＭ２４ｄのワークエリア２４ｇに記憶させるとともに（Ｓ８５５）、音色変更時残響時間テーブル（図１４参照）を参照して、現在の音色に対応する残響時間を読み出し（Ｓ８６７）、その読み出した残響時間を内蔵ＲＡＭに記憶させる（Ｓ８６８）。そして、後述するＳ８８５へ移行する。一方、読み込んだデータが音色ＭＡＰまたは音色ＢＡＮＫの何れか一方を示すデータではないと判断した場合には（Ｓ８５０：Ｎｏ）、Ｓ８６０へ移行する。
【００７７】
Ｓ８６０では、読み込んだデータが音色設定に関するデータであるか否かを判断する。読み込んだデータが音色設定に関するデータではないと判断した場合には（Ｓ８６０：Ｎｏ）、後述するＳ８７０へ移行する。一方、読み込んだデータが音色設定に関するデータであると判断した場合には（Ｓ８６０：Ｙｅｓ）、Ｓ８６１へ移行する。
【００７８】
Ｓ８６１では、現在位置のデータのパラメータを指定値に置換してＲＡＭ２４ｄのワークエリア２４ｇに記憶させ、音色変更時残響時間テーブル（図１４参照）を参照して、現在の音色に対応する残響時間を読み出す（Ｓ８９２）。
【００７９】
続く８６２では、先に置換したボリューム設定値を出力したか否かを判断する。先に置換したボリューム設定値を出力したと判断した場合には（Ｓ８６２：Ｙｅｓ）、後述するＳ８６４へ移行する。一方、先に置換したボリューム設定値を出力していないと判断した場合には（Ｓ８６２：Ｎｏ）、ボリューム設定値を新たに指定値に設定してＲＡＭ２４ｄのワークエリア２４ｇに記憶させ（Ｓ８６３）、Ｓ８６４へ移行する。
【００８０】
Ｓ８６４では、先に置換したビブラート設定値を出力したか否かを判断する。先に置換したビブラート設定値を出力したと判断した場合には（Ｓ８６４：Ｙｅｓ）、後述するＳ８８５へ移行する。一方、先に置換したビブラート設定値を出力していないと判断した場合には（Ｓ８６４：Ｎｏ）、ビブラート設定値を新たに指定値に設定してＲＡＭ２４ｄのワークエリア２４ｇに記憶させ（Ｓ８６５）、音色を変更した旨を内蔵するＲＡＭ等に記憶し（Ｓ８６６）、後述するＳ８８５へ移行する。
【００８１】
さて、Ｓ８７０では、読み込んだデータがボリューム設定値またはビブラート設定値の何れか一方であるか否かを判断する。読み込んだデータがボリューム設定値またはビブラート設定値の何れか一方ではないと判断した場合には（Ｓ８７０：Ｎｏ）、読み込んだデータがノートオフ信号を示すデータであるか否かを判断する（Ｓ８７６）。読み込んだデータがノートオフ信号を示すデータであると判断した場合には（Ｓ８７６：Ｙｅｓ）、現在のデータ、およびノートオフに対応したノートオン信号テーブル上にあるノートオン信号を削除し（Ｓ８７７）、後述するノートオフチェック・エフェクトテーブルセット処理を実行し（Ｓ８７８）、後述するＳ８８０へ移行する。そして、現在のデータをＲＡＭ２４ｄのワークエリア２４ｇにそのまま記憶させ（Ｓ８８０）、後述するＳ８８５に移行する。一方、読み込んだデータがノートオフ信号を示すデータではないと判断した場合には（Ｓ８７６：Ｎｏ）、後述するノートオフチェック・エフェクトテーブルセット処理を実行せずにそのままＳ８８０へ移行し、現在のデータをＲＡＭ２４ｄのワークエリア２４ｇにそのまま記憶させる。そして、後述するＳ８８５に移行する。
【００８２】
ところで、先のＳ８７０にて、読み込んだデータがボリューム設定値またはビブラート設定値の何れか一方であると判断した場合には（Ｓ８７０：Ｙｅｓ）、現在位置のデータのパラメータを、指定値に置換してＲＡＭ２４ｄのワークエリア２４ｇに記憶させ（Ｓ８５５）、該当する設定が置換済みである旨をＲＡＭ２４ｄのワークエリア２４ｇに記憶させる（Ｓ８７４）。そしてＳ８８５へ移行する。
【００８３】
また、Ｓ８８５では、データを読み込む位置を１ステップ分進行させる。そしてＳ８１５へ移行して以下の処理を繰り返し実行する。
［カラオケ装置１の音声制御部２４のノートオフチェック・エフェクトテーブルセット処理］
以下に、カラオケ装置１の音声制御部２４により実行されるノートオフチェック・エフェクトテーブルセット処理の処理手順を図１３のフローチャートに基づいて説明する。このノートオフチェック・エフェクトテーブルセット処理は、音声制御部２４が実行する送信対象トラック出力処理において、Ｓ８７８へ移行した際に実行される。
【００８４】
まず、ステップＳ１８０２では、同一トラックで別音高の信号が、ＲＡＭ２４ｄのノートオン信号エリア２４ｉが記憶するノートオン信号テーブルに存在するか否かを判断する。同一トラックで別音高の信号がノートオン信号テーブルに存在する場合には（Ｓ１８０２：Ｙｅｓ）、そのまま本処理を終了する。一方、同一トラックで別音高の信号がノートオン信号テーブルに存在しない場合には（Ｓ１８０２：Ｎｏ）、Ｓ１８０４に移行する。
【００８５】
Ｓ１８０４では、次のノートオン信号を検出するまで現在のトラックを検索する。
続くＳ１８０６では、先のＳ１８０４にてノートオン信号を検出するまでの間に、該当トラックにおいてビブラフォンへの音色の変更があったか否かを判断する。該当トラックにおいてビブラフォンへの音色の変更がなかった場合には（Ｓ１８０６：Ｎｏ）、そのまま本処理を終了する。一方、該当トラックにおいてビブラフォンへの音色の変更があった場合には（Ｓ１８０２：Ｙｅｓ）、Ｓ１８０７に移行する。
【００８６】
なお、サブルーチン内でステップ値の数値を変更すると、処理進行中のメインプログラムで使用中のステップ値の数値が変わる。よって、サブルーチン処理が終了するまではメインプログラムのステップ値の数値を保護する必要がある。よって、サブルーチン内でステップ値とは別のステップ値（仮想ステップ値）を用意し、サブルーチン終了直前に仮想ステップ値を出力テーブルに設定する。以下に手順を示す。
【００８７】
Ｓ１８０７では、先の送信対象トラック出力処理で内蔵ＲＡＭに記憶した現在の音色の残響時間を読み出し、その読み出した残響時間をステップ値に換算する。これは曲の進行がステップ値によって行われることに基づく。
【００８８】
続くＳ１８０８では、仮想ステップ値に現在のステップ値を設定する。
続くＳ１８１０では、エフェクト出力テーブル（図１４（ａ）参照）のすべてのステップ値エリアを、未セット状態に初期化する。
【００８９】
続くＳ１８１２では、仮想ステップ値に数値「１」を加算する。
続くＳ１８１４では、ガイドメロディのトラックにノートオン信号が出現したか否かを判断する。ガイドメロディのトラックにノートオン信号が出現していない場合には（Ｓ１８１４：Ｎｏ）、全てのトラックにおいてＭＩＤＩコマンド処理が存在しないか否かを判断する（Ｓ１８１６）。全てのトラックにおいてＭＩＤＩコマンド処理が存在する場合には（Ｓ１８１６：Ｎｏ）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。一方、全てのトラックにおいてＭＩＤＩコマンド処理が存在しない場合には（Ｓ１８１６：Ｙｅｓ）、エフェクト出力テーブルの最も上の未セットデータがＶＯＬ設定に関するものであるか否かを判断する（Ｓ１８１７）。エフェクト出力テーブルの最も上の未セットデータがＶＯＬ設定に関するものではない場合には（Ｓ１８１７：Ｎｏ）、エフェクト出力テーブルの最も上の未セットデータに仮想ステップ値を設定し（Ｓ１８１８）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。一方、エフェクト出力テーブルの最も上の未セットデータがＶＯＬ設定に関するものである場合には（Ｓ１８１７：Ｙｅｓ）、仮想ステップ値が残響を考慮した時間であるか否かを判断する（Ｓ１８４０）。仮想ステップ値が残響を考慮した時間ではない、つまり、残響時間よりも仮想ステップ値の数値の方が小さい場合には（Ｓ１８４０：Ｎｏ）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。一方、仮想ステップ値が残響を考慮した時間である、つまり、残響時間よりも仮想ステップ値の数値の方が大きい場合には（Ｓ１８４０：Ｙｅｓ）、エフェクト出力テーブルの最も上の未セットデータに仮想ステップ値を設定し（Ｓ１８１８）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。
【００９０】
一方、ガイドメロディのトラックにノートオン信号が出現している場合には（Ｓ１８１４：Ｙｅｓ）、エフェクト出力テーブルの全てのデータにステップ値が設定されたか否かを判断する（Ｓ１８２０）。エフェクト出力テーブルの全てのデータにステップ値が設定されている場合には（Ｓ１８２０：Ｙｅｓ）そのまま本処理を終了し、エフェクト出力テーブルの全てのデータにステップ値が設定されていない場合には（Ｓ１８２０：Ｎｏ）、Ｓ１８３８に移行する。
【００９１】
Ｓ１８３８では、エフェクト出力テーブルの最も上の未セットデータから順に、直前のデータのステップ値に数値「１」を加算した値を設定する。そして、本処理を終了する。
［第一実施形態の効果］
（１）このように第一実施形態のカラオケ装置１によれば、次のような効果を奏する。すなわち、従来のカラオケ装置においては、ガイドメロディの音色の種別を変更する旨の「変更データ」に対応するガイドメロディ設定情報については、本来演奏データには含まれないため（図３（ａ）参照）、これらのデータを含めて音声制御部２４がＭＩＤＩ音源３０へＭＩＤＩデータを送信すると、例えばノートオン信号などの他の信号を示すデータを送信するタイミングが遅れてしまうおそれがある（図３（ｂ）参照）。これに対して本実施形態のカラオケ装置１によれば、ＣＰＵ２４ｅが、メイン処理、演奏処理、送信対象トラック出力処理、およびノートオフチェック・エフェクトテーブルセット処理の各処理を実行することにより、ガイドメロディの音色の種別を変更する際にその音色の種別に対応するよう音響効果の各種設定を変更する場合には、音声制御部２４のワークエリア２４ｇが一時的に記憶する演奏データから「データ挿入可能領域」を検出し、その検出したデータ挿入可能領域へ変更データおよび設定データを挿入する（図４参照）。なお、このようにデータ挿入可能領域へ変更データおよび設定データを挿入する際には、ＣＰＵ２４ｅが、音量設定値であるボリューム設定値またはエクスプレッション設定値の少なくとも何れかを指定する旨の設定データのみを残響領域へ挿入しないようにしている。このことにより、残響領域ではガイドメロディの残響が自然に減衰することとなるので、ガイドメロディの音色の種別を変更した際に、例えば演奏データのデータ挿入可能領域にガイドメロディの残響が存在する場合でも、音量の変化によって違和感が生じることを防止することができる。
【００９２】
（２）また、第一実施形態のカラオケ装置１によれば、データ挿入可能領域へ変更データおよび設定データを挿入することによってワークエリア２４ｇが記憶する演奏データを更新する際には、ＣＰＵ２４ｅが、上述のように音量設定値であるボリューム設定値またはエクスプレッション設定値の少なくとも何れかを指定する旨の設定データのみを上述の残響領域に挿入しないようにしているので、データを挿入した後のデータ挿入可能領域を広くすることができる。
【００９３】
（３）また、第一実施形態のカラオケ装置１によれば、ＣＰＵ２４ｅが、「演奏処理」のサブルーチンである「ノートオフチェック・エフェクトテーブルセット処理」を実行することによって、演奏データのうちガイドメロディの有効なノートオン信号が存在しない領域を「データ挿入可能領域」として検出する。このことにより、ガイドメロディの和音を構成する全ての音のノートオン信号が無効となってから音色や音響設定を変更するので、例えばガイドメロディに和音が含まれる場合であっても、その和音の音色および音響設定が演奏中に変更されて違和感を与えてしまうといったことを防ぐことができる。
［第二実施形態］
上記第一実施形態では、データ挿入可能領域へ変更データおよび設定データを挿入することによってワークエリア２４ｇが記憶する演奏データを更新する際には、ＣＰＵ２４ｅが、演奏処理のサブルーチンである「ノートオフチェック・エフェクトテーブルセット処理（１）」を実行することによって、ボリューム設定値を指定する旨の設定データのみを上述の残響領域に挿入しないようにしている（図４参照）。これに対して第二実施形態では、データ挿入可能領域へ変更データおよび設定データを挿入することによってワークエリア２４ｇが記憶する演奏データを更新する際には、ＣＰＵ２４ｅが、演奏処理のサブルーチンである「ノートオフチェック・エフェクトテーブルセット処理（２）」を実行することによって、ボリューム設定値を指定する旨の設定データを含むすべての設定データを上述の残響領域に挿入しないようにしている（図５参照）。
【００９４】
［カラオケ装置１の音声制御部２４のノートオフチェック・エフェクトテーブルセット処理］
以下に、カラオケ装置１の音声制御部２４により実行されるノートオフチェック・エフェクトテーブルセット処理の処理手順を図１６のフローチャートに基づいて説明する。このノートオフチェック・エフェクトテーブルセット処理は、音声制御部２４が実行する送信対象トラック出力処理において、Ｓ８７８へ移行した際に実行される。
【００９５】
この第二実施形態で実行されるノートオフチェック・エフェクトテーブルセット処理では、Ｓ１８０７にて内蔵ＲＡＭから読み出した現在の音色の残響時間をステップ値に換算したのちに、Ｓ１８０９にてその換算したステップ値を現在のステップ値に加えたものを仮想ステップ値に設定しており、この点が、Ｓ１８０７にて内蔵ＲＡＭから読み出した現在の音色の残響時間をステップ値に換算したのちに、Ｓ１８０８にて現在のステップ値を仮想ステップ値に設定する第一実施形態のノートオフチェック・エフェクトテーブルセット処理とは異なる。
【００９６】
また、この第二実施形態で実行されるノートオフチェック・エフェクトテーブルセット処理では、Ｓ１８１６にて全てのトラックにおいてＭＩＤＩコマンド処理が存在しない場合には（Ｓ１８１６：Ｙｅｓ）、エフェクト出力テーブルの最も上の未セットデータに仮想ステップ値を設定し（Ｓ１８１８）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行しており、この点が、Ｓ１８１６にて全てのトラックにおいてＭＩＤＩコマンド処理が存在しない場合には（Ｓ１８１６：Ｙｅｓ）、Ｓ１８１７にてエフェクト出力テーブルの最も上の未セットデータがＶＯＬ設定に関するものであるか否かを判断し、さらに、エフェクト出力テーブルの最も上の未セットデータがＶＯＬ設定に関するものである場合には（Ｓ１８１７：Ｙｅｓ）、Ｓ１８４０にて仮想ステップ値が残響を考慮した時間であるか否かを判断する第一実施形態のノートオフチェック・エフェクトテーブルセット処理とは異なる。
【００９７】
［第二実施形態の効果］
このように第二実施形態によれば、ＣＰＵ２４ｅが、データ挿入可能領域へ変更データおよび設定データを挿入することによってワークエリア２４ｇが記憶する演奏データを更新する際には、演奏処理のサブルーチンである「ノートオフチェック・エフェクトテーブルセット処理（２）」（図１６参照）を実行することによって、ボリューム設定値を指定する旨の設定データを含むすべての設定データを上述の残響領域に挿入しないようにしている。このことにより、ボリューム設定値を指定する旨の設定データと、例えばエフェクト設定に関する設定データなどそれ以外の設定データとを区別して残響領域に挿入することの可否を判断する必要がなく、例えばボリューム設定値を指定する旨のデータのみを残響領域に挿入しないようにする場合やボリューム設定値を指定する旨の設定データ、およびエフェクト設定に関する設定データの一部を残響領域へ挿入しないようにする場合に比べてＣＰＵ２４ｅが実行する処理のステップ数が少なくなり、計算が単純化するとともにデータ更新処理を実行するＣＰＵなどの負担を低減することができる。
［第三実施形態］
上記第一実施形態では、ＣＰＵ２４ｅが、演奏処理のサブルーチンである「演奏前一括展開処理」を実行することによって、カラオケ演奏を行う予定の演奏データすべてをＨＤＤ１６から取得してＲＡＭ２４ｄのワークエリア２４ｇへ一時的に記憶させ、そのワークエリア２４ｇが記憶する演奏データから変更データを検出するが、これに対して第三実施形態では、ＣＰＵ２４ｅが、上述の「演奏前一括展開処理」の代わりに「「演奏中逐次一括処理」（図１７参照）を実行することによって、カラオケ演奏を行う予定の演奏データをＨＤＤ１６から取得してＲＡＭ２４ｄのワークエリア２４ｇへ一時的に記憶させている途中に、そのワークエリア２４ｇが記憶する演奏データから変更データを検出する。
【００９８】
［カラオケ装置１の音声制御部２４の演奏中逐次一括処理］
以下に、カラオケ装置１の音声制御部２４により実行される演奏中逐次一括処理の処理手順を図１７のフローチャートを参照して説明する。
【００９９】
この演奏中逐次一括処理は、上述の音声制御部２４の演奏処理において、Ｓ７１５へ移行した際に実行される。
まず、Ｓ９１０では、テンポ値より１ステップ当たりの時間を算出する。
【０１００】
続くＳ９１５では、各トラック先頭のアドレスを、各トラック別に「ポインタ変数（現在の読み込み位置）」に格納する。
続くＳ９２０では、音源の設定やボリューム値などの演奏に関するパラメータなどについて初期化処理を実行する。
【０１０１】
続くＳ９２５では、現在のステップ値をゼロとし、送信対象トラックを第１トラックに設定し（Ｓ９３５）、送信対象トラックの出力処理を実行する（Ｓ９４０）。なお、この「送信対象トラックの出力処理」については、既に説明したのでここでは詳細な説明は省略する。
【０１０２】
続く９４５では、送信対象トラックを次のトラックに設定する。
続くＳ９５０では、全てのトラックを送信対象トラックとしたか否かを判断する。全てのトラックを送信対象トラックとはしていないと判断した場合には（Ｓ９５０：Ｎｏ）、Ｓ９４０へ移行して以下の処理を繰り返し実行する。一方、全てのトラックを送信対象トラックとしたと判断した場合には（Ｓ９５０：Ｙｅｓ）、Ｓ９５２へ移行する。
【０１０３】
Ｓ９５２では、エフェクト出力テーブル（図１４（ａ）参照）を参照して、現在のステップ値と同一の値を有するデータが存在するか否かを判断する。現在のステップ値と同一の値を有するデータが存在する場合には（Ｓ９５２：Ｙｅｓ）、当該データを読み出してＲＡＭ２４ｄのワークエリア２４ｇに記憶させ（Ｓ９５４）、Ｓ９５５に移行する。一方、現在のステップ値と同一の値を有するデータが存在しない場合には（Ｓ９５４：Ｎｏ）、そのままＳ９５５に移行する。
【０１０４】
Ｓ９５５では、現在のステップ値に数値「１」を加算する。
続くＳ９６０では、１ステップ分の時間待機する。
続くＳ９６５は、制御部１２から演奏データの演奏を中止する旨の指示が送信されているか否かを判断する。制御部１２から演奏データの演奏を中止する旨の指示が送信されていると判断した場合には（Ｓ９６５：Ｙｅｓ）本処理を終了する。一方、制御部１２から演奏データの演奏を中止する旨の指示が送信されていないと判断した場合には（Ｓ９６５：Ｎｏ）、Ｓ９７０へ移行する。
【０１０５】
Ｓ９７０では、全てのトラックについて各トラックの終端まで到達しているか否かを判断する。全てのトラックについて各トラックの終端まで到達していないと判断した場合には（Ｓ９７０：Ｎｏ）、Ｓ９３５へ移行して以下の処理を繰り返し実行する。一方、全てのトラックについて各トラックの終端まで到達していると判断した場合には（Ｓ９７０：Ｙｅｓ）、本処理を終了する。
【０１０６】
［第三実施形態の効果］
このように第三実施形態によれば、ＣＰＵ２４ｅが、「演奏処理」のサブルーチンである「演奏中逐次一括処理」を実行することによって、カラオケ演奏を行う予定の演奏データをＨＤＤ１６から取得してＲＡＭ２４ｄのワークエリア２４ｇへ一時的に記憶させている途中に、そのワークエリア２４ｇが記憶する演奏データから変更データを検出する。このようにすれば、ＲＡＭ２４ｄのワークエリア２４ｇの記憶領域の容量を小さくすることができる。ただし、変更データ検出処理の実行頻度が多くなり、上述のＣＰＵ２４ｅにおける変更データ取得処理実行領域の処理負荷が大きくなる。
［第四実施形態］
上記第三実施形態では、ガイドメロディの音色の種別を変更する際にその音色の種別に対応するよう音響効果の各種設定を変更する場合には、ＣＰＵ２４ｅが、「演奏処理」のサブルーチンである「演奏中逐次一括処理（１）を実行することにより、音声制御部２４のワークエリア２４ｇが一時的に記憶する演奏データから「データ挿入可能領域」を検出し、その検出したデータ挿入可能領域へ変更データおよび設定データを挿入する（図４参照）。これに対して第四実施形態では、ガイドメロディの音色の種別を変更する際にその音色の種別に対応するよう音響効果の各種設定を変更する場合には、ＣＰＵ２４ｅが、「演奏処理」のサブルーチンである「演奏中逐次一括処理（２）」を実行することにより、設定データのうちボリューム設定値を指定する旨の設定データ、およびボリューム設定値を指定する旨の設定データに対応してガイドメロディのエクスプレッション設定値を調整する旨の設定データを残響領域へこの順にて挿入する。
【０１０７】
また、ＣＰＵ２４ｅが、図１４に示すエフェクト出力テーブル（１）の代わりに、図２５（ａ）に示すエフェクト出力テーブル（２）を記憶するとともに、ＥＸＰ設定ＭＩＤＩコマンドを記憶するためのエクスプレッション出力エリアその１（図２５（ｂ）参照）、同じくＥＸＰ設定ＭＩＤＩコマンドを記憶するためのエクスプレッション出力エリアその２（図２５（ａ）参照）、現在のボリューム設定値を記憶するための現在ＶＯＬ設定記憶エリア（図２５（ｃ）参照）、および現在のエクスプレッション設定値を記憶するための現在ＥＸＰ設定記憶エリア（図２５（ｄ）参照）を有している。
【０１０８】
［カラオケ装置１の音声制御部２４の演奏中逐次一括処理］
以下に、カラオケ装置１の音声制御部２４により実行される演奏中逐次一括処理の処理手順を図１９のフローチャートを参照して説明する。
【０１０９】
この演奏中逐次一括処理は、上述の音声制御部２４の演奏処理において、Ｓ７１５へ移行した際に実行される。
この第四実施形態で実行される演奏中逐次一括処理は、次の点が第三実施形態で実行される演奏中逐次一括処理とは異なる。
・Ｓ９３５を実行した後に、Ｓ９４０にてサブルーチンである「送信対象トラックの出力処理（１）」を実行する代わりに、Ｓ９４２にてサブルーチンである「送信対象トラックの出力処理（２）」（後述）を実行する。
・Ｓ９５２を実行した後に、Ｓ９５４にて該当データを内蔵ＲＡＭに記憶する代わりに、Ｓ９７５にてサブルーチンである「エフェクト出力処理」（後述）を実行する。
【０１１０】
［カラオケ装置１の音声制御部２４の送信対象トラック出力処理（２）］
以下に、カラオケ装置１の音声制御部２４により実行される送信対象トラック出力処理（２）の処理手順を図２０のフローチャートおよび図２１のフローチャートに基づいて説明する。この送信対象トラック出力処理は、上述の音声制御部２４の演奏中逐次一括処理において、Ｓ９４２へ移行した際に実行される。
【０１１１】
この第四実施形態で実行される送信対象トラック出力処理（２）は、次の点が第三実施形態で実行される送信対象トラック出力処理（１）とは異なる。
・Ｓ８２０にてトラックの属性がガイドメロディであると判断された場合には（Ｓ８２０：ＹＥＳ）、サブルーチンであるＶＯＬ設定・ＥＸＰ設定記憶処理（Ｓ８３２）を実行し、その後Ｓ８３５を実行する。
・Ｓ８７６を実行した後に、Ｓ８７８にてサブルーチンである「ノートオフチェック・エフェクトテーブルセット処理（１）を実行する代わりに、Ｓ８７９にてサブルーチンである「ノートオフチェック・エフェクトテーブルセット処理（２）」（後述）を実行する。
【０１１２】
以下に、ＶＯＬ設定・ＥＸＰ設定記憶処理、およびノートオフチェック・エフェクトテーブルセット処理（２）について順に説明する。
［カラオケ装置１の音声制御部２４のＶＯＬ設定・ＥＸＰ設定記憶処理］
以下に、カラオケ装置１の音声制御部２４により実行されるＶＯＬ設定・ＥＸＰ設定記憶処理の処理手順を図２３のフローチャートに基づいて説明する。このＶＯＬ設定・ＥＸＰ設定記憶処理は、上述の音声制御部２４の送信対象トラック出力処理において、Ｓ８３２へ移行した際に実行される。
【０１１３】
まず、Ｓ１０１０では、現在のデータがボリューム設定に関するデータであるか否かを判断する。現在のデータがボリューム設定に関するデータである場合には（Ｓ１０１０：Ｙｅｓ）、そのボリューム設定に関するデータが示す値を内蔵ＲＡＭに記憶させ（Ｓ１０２０）、本処理を終了する。一方、現在のデータがボリューム設定に関するデータではない場合には（Ｓ１０１０：Ｎｏ）、Ｓ１０３０に移行する。
【０１１４】
Ｓ１０３０では、現在のデータがエクスプレッション設定に関するデータであるか否かを判断する。現在のデータがエクスプレッション設定に関するデータである場合には（Ｓ１０３０：Ｙｅｓ）、そのエクスプレッション設定に関するデータが示す値を内蔵ＲＡＭに記憶させ（Ｓ１０４０）、本処理を終了する。一方、現在のデータがエクスプレッション設定に関するデータである場合には（Ｓ１０３０：Ｙｅｓ）、そのまま本処理を終了する。
【０１１５】
［カラオケ装置１の音声制御部２４のノートオフチェック・エフェクトテーブルセット処理（３）］
以下に、カラオケ装置１の音声制御部２４により実行されるノートオフチェック・エフェクトテーブルセット処理（３）の処理手順を図２２のフローチャートに基づいて説明する。このノートオフチェック・エフェクトテーブルセット処理は、音声制御部２４が実行する送信対象トラック出力処理において、Ｓ８７９へ移行した際に実行される。
【０１１６】
この第四実施形態で実行されるノートオフチェック・エフェクトテーブルセット処理では、Ｓ１８０２〜Ｓ１８１６、Ｓ１８２０およびＳ１８３８の各処理が第三実施形態で実行されるノートオフチェック・エフェクトテーブルセット処理と同様の処理である。そして、Ｓ１８１６において全てのトラックにおいてＭＩＤＩコマンド処理が存在しないか否かを判断した際に、全てのトラックにおいてＭＩＤＩコマンド処理が存在する場合には（Ｓ１８１６：Ｎｏ）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。一方、全てのトラックにおいてＭＩＤＩコマンド処理が存在しない場合には（Ｓ１８１６：Ｙｅｓ）、エフェクト出力テーブル（２）（図２５（ａ）参照）の最も上の未セットデータがエクスプレッション設定に関するものであるか否かを判断する（Ｓ１８４２）。
【０１１７】
エフェクト出力テーブルの最も上の未セットデータがエクスプレッション設定に関するものである場合には（Ｓ１８４２：Ｙｅｓ）、エクスプレッション出力エリア（２）に対してステップ値が設定されているか否かを判断する（Ｓ１８２６）。エクスプレッション出力エリア（２）に対してステップ値が設定されている場合には（Ｓ１８２６：ＹＥＳ）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。一方、エクスプレッション出力エリア（２）に対してステップ値が設定されていない場合には（Ｓ１８２６：ＮＯ）、仮想ステップ値が残響を考慮した時間であるか否かを判断する（Ｓ１８４０）。仮想ステップ値が残響を考慮した時間ではない場合には（Ｓ１８４０：Ｎｏ）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。一方、仮想ステップ値が残響を考慮した時間である場合には（Ｓ１８４０：Ｙｅｓ）、エクスプレッション出力エリア（２）に仮想ステップ値を設定し（Ｓ１８２８）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。
【０１１８】
一方、先のＳ１８４２にてエフェクト出力テーブルの最も上の未セットデータがエクスプレッション設定に関するものではない場合には（Ｓ１８４２：Ｎｏ）、エフェクト出力テーブルの最も上の未セットデータがボリューム設定に関するものであるか否かを判断する（Ｓ１８１７）。エフェクト出力テーブルの最も上の未セットデータがボリューム設定に関するものではない場合には（Ｓ１８１７：Ｎｏ）、エフェクト出力テーブルの最も上の未セットデータに仮想ステップ値を設定し（Ｓ１８１８）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。一方、エフェクト出力テーブルの最も上の未セットデータがボリューム設定に関するものである場合には（Ｓ１８１７：Ｙｅｓ）、該当ボリューム設定の設定値よりエクスプレッション設定値を次の数式（１）を用いて算出し、ＥＸＰ出力エリアにおけるＥＸＰ設定ＭＩＤＩコマンド領域に反映させる（Ｓ１８４４）。そして、エフェクト出力テーブルの最も上の未セットデータに仮想ステップ値を設定し（Ｓ１８１８）、Ｓ１８１２に戻ってＳ１８１２以下の処理を繰り返し実行する。
ＥＸＰ２＝ＥＸＰ１×ＶＯＬ１／ＶＯＬ２・・・（１）
但し、ＶＯＬ１とは変更前のボリューム設定値であり、ＥＸＰ１とは変更前のエクスプレッション設定値であり、ＶＯＬ２とは変更後のボリューム設定値であり、ＥＸＰ２とは変更後のエクスプレッション設定値である。なお、図１８中のＥＸＰ３とは、最終的なエクスプレッション値として挿入されたエクスプレッション設定値であり、エクスプレッション出力エリアその２（図２５（ａ）参照）に記憶される。なお、ＥＸＰ３は、特許請求の範囲における「第二のエクスプレッション」に該当する。
【０１１９】
一方、先のＳ１８１４にてガイドメロディのトラックにノートオン信号が出現している場合には（Ｓ１８１４：Ｙｅｓ）、エフェクト出力テーブルの全てのデータにステップ値が設定されたか否かを判断する（Ｓ１８２０）。エフェクト出力テーブルの全てのデータにステップ値が設定されている場合には（Ｓ１８２０：Ｙｅｓ）、エクスプレッション出力エリア（２）に対してステップ値が設定されているか否かを判断する（Ｓ１８２２）。
【０１２０】
エクスプレッション出力エリア（２）に対してステップ値が設定されている場合には（Ｓ１８２２：ＹＥＳ）、そのまま本処理を終了する。一方、一方、エクスプレッション出力エリア（２）に対してステップ値が設定されていない場合には（Ｓ１８２２：ＮＯ）、エクスプレッション出力エリア（２）に、直前のデータのステップ値に数値「１」を加算した値を設定する（Ｓ１８２４）。そして、本処理を終了する。
【０１２１】
一方、先のＳ１８２０にてエフェクト出力テーブルの全てのデータにステップ値が設定されていない場合には（Ｓ１８２０：Ｎｏ）、Ｓ１８３８に移行する。
Ｓ１８３８では、エフェクト出力テーブルの最も上の未セットデータから順に、直前のデータのステップ値に数値「１」を加算した値を設定する。そして、本処理を終了する。
【０１２２】
［カラオケ装置１の音声制御部２４のエフェクト出力処理］
以下に、カラオケ装置１の音声制御部２４により実行されるエフェクト出力処理の処理手順を図２５のフローチャートに基づいて説明する。このエフェクト出力処理は、上述の音声制御部２４の演奏中逐次一括処理において、Ｓ９７５へ移行した際に実行される。
【０１２３】
まず、Ｓ１１１０では、該当データがボリューム設定に関するデータであるか否かを判断する。該当データがボリューム設定に関するデータではない場合には（Ｓ１０１０：Ｎｏ）、その該当データを内蔵ＲＡＭに記憶させ（Ｓ１１２０）、本処理を終了する。一方、該当データがボリューム設定に関するデータである場合には（Ｓ１１１０：Ｙｅｓ）、Ｓ１１３０に移行する。
【０１２４】
Ｓ１１３０では、変更前のボリューム設定値（ＶＯＬ１）の値が変更後のボリューム設定値（ＶＯＬ２）の値よりも大きいか否かを判断する。ＶＯＬ１の値がＶＯＬ２の値よりも大きい場合には（Ｓ１１３０：Ｙｅｓ）、ＥＸＰ出力エリアのＭＩＤＩコマンドを内蔵ＲＡＭに記憶させ（Ｓ１１４０）、該当データ（ＶＯＬ設定ＭＩＤＩコマンド）を内蔵ＲＡＭに記憶させる（Ｓ１１５０）。そして、本処理を終了する。一方、ＶＯＬ１の値がＶＯＬ２の値よりも大きくない場合には（Ｓ１１３０：Ｎｏ）、該当データであるＶＯＬ設定ＭＩＤＩコマンドを内蔵ＲＡＭに記憶させ（Ｓ１１６０）、ＥＸＰ出力エリアのＭＩＤＩコマンドを内蔵ＲＡＭに記憶させる（Ｓ１１７０）。そして、本処理を終了する。
【０１２５】
［第四実施形態の効果］
このように第四実施形態によれば、ＣＰＵ２４ｅが、「演奏処理」のサブルーチンである「演奏中逐次一括処理（２）を実行することにより、設定データのうちボリューム設定値を指定する旨の設定データ、およびボリューム設定値の変化を相殺するようガイドメロディのエクスプレッション設定値を調整する旨の設定データを残響領域へこの順にて挿入する。このことにより、ガイドメロディのボリューム設定値の変化を相殺するようガイドメロディのエクスプレッション設定値を調整することで残響領域でもガイドメロディの残響の音量が変化しないので、上述のようにガイドメロディの音色の種別を変更した際に、例えば演奏データのデータ挿入可能領域にガイドメロディの残響が存在する場合でも、音量の変化によって違和感が生じることを防止することができる。
【０１２６】
（２）また、第四実施形態のカラオケ装置１によれば、上述のようにエクスプレッション設定値を調整する旨の設定データを残響領域へ挿入した際には、エクスプレッション設定値を変化前の設定値に戻すために、データ挿入可能領域における残響領域以外の部分へ変化前の設定データを再び挿入する。このことにより、ガイドメロディのボリューム設定値の変化を相殺するようガイドメロディのエクスプレッション設定値を調整しても、さらにガイドメロディの変更以前の状態に戻す際にはエクスプレッション設定値が変更以前の状態に戻るようにしておくことで、聴感の違和感を少なくすることができる。
［他の実施形態］
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、以下のような様々な態様にて実施することが可能である。
【０１２７】
（１）上記実施形態では、演奏データのうちガイドメロディの有効なノートオン信号が存在しない領域を「データ挿入可能領域」として検出しているが、これには限られず、ガイドメロディのノートオフ信号とノートオン信号との間の領域を「データ挿入可能領域」として検出してもよい。
【０１２８】
（２）上記第一実施形態では、ＣＰＵ２４ｅが、「演奏処理」のサブルーチンである「演奏前一括展開処理」を実行することによって、カラオケ演奏を行う予定の演奏データを制御部１２によってＨＤＤ１６から取得してワークエリア２４ｇへ一時的に記憶させ、そのワークエリア２４ｇが記憶する演奏データから変更データを検出するが、これには限られず、例えばカラオケ装置１が備える操作部１８やリモコン端末２などから入力された変更データを取得するようにしてもよい。
【０１２９】
（３）上記第一実施形態では、データ挿入可能領域へ変更データおよび設定データを挿入することによってワークエリア２４ｇが記憶する演奏データを更新する際には、ＣＰＵ２４ｅが、音量設定値であるボリューム設定値またはエクスプレッション設定値の少なくとも何れかを指定する旨の設定データのみを上述の残響領域に挿入しないようにしているが（図４参照）、これには限られず、例えば、ＣＰＵ２４ｅが、ボリューム設定値を指定する旨の設定データ、およびエフェクト設定に関する設定データの一部を残響領域へ挿入しないようにしてもよい。このようにしても、同様にデータを挿入した後のデータ挿入可能領域を広くすることができる。
【図面の簡単な説明】
【０１３０】
【図１】カラオケシステムの全体構成を示すブロック図である。
【図２】カラオケシステムの音声制御部の構成を示すブロック図である。
【図３】ＭＩＤＩデータを構成する各トラックおよびＭＩＤＩデータ列を示す説明図であり、（ａ）は通常演奏時を示し、（ｂ）はガイドメロディ変更時（単純置き換え時）を示す。
【図４】ＭＩＤＩデータを構成する各トラックおよびＭＩＤＩデータ列を示す説明図であり、ガイドメロディ変更時（その１）を示す。
【図５】ＭＩＤＩデータを構成する各トラックおよびＭＩＤＩデータ列を示す説明図であり、ガイドメロディ変更時（その２）を示す。
【図６】カラオケ装置の制御部が実行する入力受付処理を示すフローチャートである。
【図７】カラオケ装置の制御部が実行するメイン処理を示すフローチャートである。
【図８】カラオケ装置の音声制御部が実行するメイン処理を示すフローチャートである。
【図９】カラオケ装置の音声制御部が実行する演奏処理を示すフローチャートである。
【図１０】カラオケ装置の音声制御部が実行する演奏前一括展開処理を示すフローチャートである。
【図１１】カラオケ装置の音声制御部が実行する送信対象トラック出力処理（１−１）を示すフローチャートである。
【図１２】カラオケ装置の音声制御部が実行する送信対象トラック出力処理（１−２）を示すフローチャートである。
【図１３】カラオケ装置の音声制御部が実行するノートオフチェックおよびエフェクトテーブルセット処理（１）を示すフローチャートである。
【図１４】（ａ）はエフェクト出力テーブルを示す説明図（１）であり、（ｂ）は選曲テーブルを示す説明図である。
【図１５】音色変更時残響時間テーブルを示す説明図である。
【図１６】カラオケ装置の音声制御部が実行するノートオフチェックおよびエフェクトテーブルセット処理（２）を示すフローチャートである。
【図１７】カラオケ装置の音声制御部が実行する演奏処理（演奏中逐次一括処理（１））を示すフローチャートである。
【図１８】ＭＩＤＩデータを構成する各トラックおよびＭＩＤＩデータ列を示す説明図であり、ガイドメロディ変更時（その３）を示す。
【図１９】カラオケ装置の音声制御部が実行する演奏処理（演奏中逐次一括処理（２））を示すフローチャートである。
【図２０】カラオケ装置の音声制御部が実行する送信対象トラック出力処理（２−１）を示すフローチャートである。
【図２１】カラオケ装置の音声制御部が実行する送信対象トラック出力処理（２−２）を示すフローチャートである。
【図２２】カラオケ装置の音声制御部が実行するノートオフチェックおよびエフェクトテーブルセット処理（３）を示すフローチャートである。
【図２３】カラオケ装置の音声制御部が実行するＶＯＬ設定・ＥＸＰ設定記憶処理を示すフローチャートである。
【図２４】カラオケ装置の音声制御部が実行するエフェクト出力処理を示すフローチャートである。
【図２５】（ａ）はエフェクト出力テーブル（２）およびエクスプレッション出力エリア（２）を示す説明図であり、（ｂ）はエクスプレッション出力エリア（１）を示す説明図であり、（ｃ）は現在ＶＯＬ設定記憶エリアを示す説明図であり、（ｄ）は現在ＥＸＰ設定記憶エリアを示す説明図である。
【符号の説明】
【０１３１】
１…カラオケ装置、２…リモコン端末、１２…制御部、１４…インタフェース部、１６…ハードディスク（ＨＤＤ）、１８…操作部、２０…赤外線通信部、２２…操作処理部、２４…音声制御部、２４ａ…バス、２４ｂ，２４ｆ…Ｉ／Ｆ、２４ｃ…ＲＯＭ、２４ｄ…ＲＡＭ、２４ｅ…ＣＰＵ、２４ｇ…ワークエリア、２４ｈ…バッファエリア、２４ｉ…ノートオン信号エリア、２６…マイクロフォン、２８…スピーカ、３０…ＭＩＤＩ音源、３２，６４…ビデオＲＡＭ、３４…映像再生部、３６…表示部、３８…映像制御部、５２…制御部、５４…赤外線通信部、５６…メモリ、５８…表示部、６０…操作部、６２…操作処理部、６６…映像制御部、６８…無線ＬＡＮ通信部、１００…ネットワーク、１１０…無線アクセスポイント
【図１】
2006349821.tif 000003
【図２】
2006349821.tif 000004
【図３】
2006349821.tif 000005
【図４】
2006349821.tif 000006
【図５】
2006349821.tif 000007
【図６】
2006349821.tif 000008
【図７】
2006349821.tif 000009
【図８】
2006349821.tif 000010
【図９】
2006349821.tif 000011
【図１０】
2006349821.tif 000012
【図１１】
2006349821.tif 000013
【図１２】
2006349821.tif 000014
【図１３】
2006349821.tif 000015
【図１４】
2006349821.tif 000016
【図１５】
2006349821.tif 000017
【図１６】
2006349821.tif 000018
【図１７】
2006349821.tif 000019
【図１８】
2006349821.tif 000020
【図１９】
2006349821.tif 000021
【図２０】
2006349821.tif 000022
【図２１】
2006349821.tif 000023
【図２２】
2006349821.tif 000024
【図２３】
2006349821.tif 000025
【図２４】
2006349821.tif 000026
【図２５】
2006349821.tif 000027