(57)【要約】【課題】演奏で盛り上がった場の雰囲気を途切れさせず持続させ得るカラオケ装置を提供する。【解決手段】演奏制御手段８０により複数の演奏曲を順次出力させる場合、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間に所定の曲間演奏を出力させる基調演奏制御手段（曲間演奏制御手段）８４を備えたものであることから、場の雰囲気が途切れがちな曲間を所定の曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで好適に持続させることができる。すなわち、演奏で盛り上がった場の雰囲気を途切れさせず持続させ得るカラオケ装置１６を提供することができる。【選択図】図３
2008046274.tif 000002
【特許請求の範囲】
【請求項１】
多数の演奏曲のうちから選択された所定の演奏曲を出力させる演奏制御手段を備えたカラオケ装置であって、
該演奏制御手段により複数の演奏曲を順次出力させる場合、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間に所定の曲間演奏を出力させる曲間演奏制御手段を備えたことを特徴とするカラオケ装置。
【請求項２】
前記曲間演奏制御手段は、予め定められた複数種類の曲間演奏のうちから選択される曲間演奏を前記曲間に出力させるものである請求項１のカラオケ装置。
【請求項３】
前記曲間演奏制御手段は、予め定められた複数種類の曲間演奏のうちから、直前に演奏された演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させるものである請求項２のカラオケ装置。
【請求項４】
前記曲間演奏制御手段は、予め定められた複数種類の曲間演奏のうちから、直後に演奏される演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させるものである請求項２又は３のカラオケ装置。
【請求項５】
前記曲間演奏制御手段は、予め定められた複数種類の曲間演奏のうちから所定の入力装置を介しての入力操作により選択される曲間演奏を前記曲間に出力させるものである請求項２のカラオケ装置。
【請求項６】
所定の音声データをデコードすることで該音声データに基づく演奏を出力させるコーデック部を備え、前記曲間演奏制御手段は、予め定められた音声データを該コーデック部によりデコードすることで前記曲間演奏を出力させるものである請求項１から５の何れかのカラオケ装置。
【請求項７】
ＭＩＤＩ形式の演奏データに基づいて複数の楽器の演奏音を出力させるＭＩＤＩ音源を備え、前記曲間演奏制御手段は、該ＭＩＤＩ音源によりＭＩＤＩ形式の演奏データに基づいて前記曲間演奏を出力させるものである請求項１から５の何れかのカラオケ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数の演奏曲のうちから選択される所定の演奏曲を出力させるカラオケ装置に関し、特に、演奏で盛り上がった場の雰囲気を途切れさせず持続させるための改良に関する。
【背景技術】
【０００２】
多数の演奏曲のうちから選択された所定の演奏曲を出力させる音楽再生装置が知られている。例えば、カラオケボックス等で使用されるカラオケ装置がそれである。斯かるカラオケ装置によれば、予め記憶装置に記憶された多数のカラオケ演奏曲から選択された所定のカラオケ演奏曲の音楽情報を出力させると共に、そのカラオケ演奏曲の歌詞情報を含む映像をその出力に併行して画面に表示させることで、所望の歌のカラオケ演奏を楽しむことができる。
【０００３】
斯かるカラオケ装置によるカラオケ演奏の一形態として、予め定められた複数種類のリズムパターンのうちから選択された所定のリズムパターンに基づいて演奏曲をアレンジし、通常演奏時とは雰囲気の異なるカラオケ演奏を実現する技術が提案されている。例えば、特許文献１に記載されたカラオケ装置がそれである。この技術によれば、予め定められた複数種類のリズムパターンのうちから所定のリズムパターンが選択された場合、出力対象である楽曲データの一部パートの演奏データをその選択されたリズムパターンに基づいて生成し、その生成された一部パートの演奏データを上記出力対象である楽曲データにおける対応する一部パートの演奏データに代えて音源に供給することで、既存の楽曲データを用いて利用者の所望するリズムパターンでのアレンジ演奏を行うことができる。
【０００４】
【特許文献１】特開平９−３１９３８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、前記カラオケ装置は、一般に演奏に先立って演奏曲の予約（選曲入力）が行われ、予約された複数の演奏曲が基本的には先に予約されたものから順次出力される。ここで、前述した従来の技術により場の雰囲気が盛り上がったとしても、１曲の演奏が終わる毎に仕切直しであるためそこで雰囲気が途切れてしまい、全体を通してはいまいち乗り切れないという欠点があった。このため、演奏で盛り上がった場の雰囲気を途切れさせず持続させ得るカラオケ装置の開発が求められていた。
【０００６】
本発明は、以上の事情を背景として為されたものであり、その目的とするところは、演奏で盛り上がった場の雰囲気を途切れさせず持続させ得るカラオケ装置を提供することにある。
【課題を解決するための手段】
【０００７】
斯かる目的を達成するために、本発明の要旨とするところは、多数の演奏曲のうちから選択された所定の演奏曲を出力させる演奏制御手段を備えたカラオケ装置であって、その演奏制御手段により複数の演奏曲を順次出力させる場合、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間に所定の曲間演奏を出力させる曲間演奏制御手段を備えたことを特徴とするものである。
【発明の効果】
【０００８】
このようにすれば、前記演奏制御手段により複数の演奏曲を順次出力させる場合、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間に所定の曲間演奏を出力させる曲間演奏制御手段を備えたものであることから、場の雰囲気が途切れがちな曲間を所定の曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで好適に持続させることができる。すなわち、演奏で盛り上がった場の雰囲気を途切れさせず持続させ得るカラオケ装置を提供することができる。
【０００９】
また、好適には、前記曲間演奏制御手段は、予め定められた複数種類の曲間演奏のうちから選択される曲間演奏を前記曲間に出力させるものである。このようにすれば、場の雰囲気が途切れがちな曲間を、複数種類の曲間演奏のうちから選択される所定の曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで更に好適に持続させられるという利点がある。
【００１０】
また、好適には、前記曲間演奏制御手段は、予め定められた複数種類の曲間演奏のうちから、直前に演奏された演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させるものである。このようにすれば、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間を、その終了した演奏曲の雰囲気を反映した曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで更に好適に持続させられるという利点がある。
【００１１】
また、好適には、前記曲間演奏制御手段は、予め定められた複数種類の曲間演奏のうちから、直後に演奏される演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させるものである。このようにすれば、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間を、その次の演奏曲の雰囲気を反映した曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで更に好適に持続させられるという利点がある。
【００１２】
また、好適には、前記曲間演奏制御手段は、予め定められた複数種類の曲間演奏のうちから所定の入力装置を介しての入力操作により選択される曲間演奏を前記曲間に出力させるものである。このようにすれば、場の雰囲気が途切れがちな曲間を、複数種類の曲間演奏のうちから利用者の所望に従って選択される曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで更に好適に持続させられるという利点がある。
【００１３】
また、好適には、所定の音声データをデコードすることでその音声データに基づく演奏を出力させるコーデック部を備え、前記曲間演奏制御手段は、予め定められた音声データをそのコーデック部によりデコードすることで前記曲間演奏を出力させるものである。このようにすれば、前記曲間演奏を実用的な態様で出力させられるという利点がある。
【００１４】
また、好適には、ＭＩＤＩ形式の演奏データに基づいて複数の楽器の演奏音を出力させるＭＩＤＩ音源を備え、前記曲間演奏制御手段は、そのＭＩＤＩ音源によりＭＩＤＩ形式の演奏データに基づいて前記曲間演奏を出力させるものである。このようにすれば、前記曲間演奏を実用的な態様で出力させられるという利点がある。
【００１５】
以下、本発明の好適な実施例を図面に基づいて詳細に説明する。
【実施例】
【００１６】
図１は、本発明が好適に適用されるカラオケシステム１０を説明する概略図である。この図１に示すように、上記カラオケシステム１０では、カラオケボックス、スナック、旅館等の店舗１２における複数の個室１４ａ、１４ｂ、１４ｃ、・・・（以下、特に区別しない場合には単に個室１４と称する）にそれぞれ１台乃至は複数台ずつ（図１では１台ずつ）の本発明の一実施例であるカラオケ装置１６ａ、１６ｂ、１６ｃ、・・・（以下、特に区別しない場合には単にカラオケ装置１６と称する）が設置されている。これら複数のカラオケ装置１６のうち、マスターコマンダである所定のカラオケ装置１６ａは、公衆電話回線等による通信回線１８を介してカラオケサービス提供会社のセンタ装置２０に接続されており、そのセンタ装置２０と上記カラオケ装置１６ａの相互間で情報の通信が可能とされている。このセンタ装置２０は、楽曲情報、背景映像情報、及び後述する基調演奏情報等のデジタルコンテンツ（Digital Contents）の保管や入出力管理の基本的な制御を行うサーバであり、上記通信回線１８を介してマスターコマンダであるカラオケ装置１６ａに定期的にコンテンツの配信を行うと共に、そのカラオケ装置１６ａからの要求に応じて所定の機能制御プログラムを送信するものである。また、上記カラオケシステム１０は、所定の対応付け処理が行われることで上記カラオケ装置１６の一部として機能する複数の電子早見本装置２２ａ、２２ｂ、２２ｃ、・・・（以下、特に区別しない場合には単に電子早見本装置２２と称する）を備えており、上記カラオケ装置１６の利用に際して、各利用者（グループ）毎に１台ずつの電子早見本装置２２が貸与され、各個室１４において後述するように上記カラオケ装置１６の遠隔操作装置として用いられるようになっている。上記店舗１２内には上記複数のカラオケ装置１６を相互に接続するＬＡＮ２４が敷設されており、上記電子早見本装置２２からのカラオケ装置１６への入力は、所定のアクセスポイント２６及びＬＡＮ２４を介したＬＡＮ通信や所定の手順により特定されたカラオケ装置１６との間における赤外線通信等の短距離無線通信により行われる。
【００１７】
図２は、上記カラオケ装置１６の構成を例示するブロック線図である。この図２に示すように、本実施例のカラオケ装置１６は、本体装置であるカラオケコマンダ２８と、ＣＲＴ（Cathode-ray Tube）やＴＦＴ（Thin Film Transistor Liquid Crystal）等の映像表示装置であるディスプレイ３０と、音声入力装置であるマイクロフォン３２と、音声合成装置であるアンプ３４と、音声出力装置であるスピーカ３６とを、備えて構成されている。また、上記カラオケコマンダ２８は、中央演算処理装置であるＣＰＵ３８と、読出専用メモリであるＲＯＭ４０と、随時書込読出メモリであるＲＡＭ４２と、記憶装置であるハードディスク４４と、操作パネル４６と、入出力インターフェイス４８と、ディスプレイコントローラ５０と、コーデック部５２と、サウンドデバイス５４と、ＭＩＤＩ音源５６と、シリアルデバイス５８と、モデム６０と、ＬＡＮインターフェイス６２と、上記電子早見本装置２２や図示しないリモコン装置等の入力装置からのリモコン信号を受信するためのリモコン受信部６４とを、備えて構成されている。
【００１８】
上記ＣＰＵ３８は、上記ＲＡＭ４２の一時記憶機能を利用しつつ上記ＲＯＭ４０に予め記憶された所定のプログラムに基づいて電子情報を処理・制御する所謂コンピュータであり、上記電子早見本装置２２や図示しないリモコン装置等により所定のカラオケ演奏曲が選曲された場合、その選曲されたカラオケ演奏曲を上記ＲＡＭ４２に設けられた予約バッファに登録したり、その予約バッファの演奏順に従って上記ハードディスク４４から上記ＲＡＭ４２に選曲されたカラオケ演奏曲の演奏情報及び歌詞情報等を読み出したり、カラオケ演奏曲の演奏が進行するのに応じてそのＲＡＭ４２から上記ＭＩＤＩ音源５６へ演奏情報を送信したり、歌詞情報に基づいて歌詞文字映像を生成して上記ディスプレイコントローラ５０へ送ったり、選曲時には曲名文字映像を生成して上記ディスプレイコントローラ５０へ送ったり、そのディスプレイコントローラ５０により所定の背景映像を再生させたり、カラオケ演奏が行われていない間すなわち曲間において、新譜情報、選曲ランキング、店舗広告等の曲間情報を出力させたり、前記通信回線１８を介した前記センタ装置２０との間の情報通信制御等の基本的な制御に加えて、後述する基調演奏に乗せてのアレンジカラオケ演奏制御を実行する。
【００１９】
前記操作パネル４６は、前記カラオケ装置１６の利用者が歌いたいカラオケ演奏曲を選択したり、演奏曲の音程を調整したり、演奏と歌との音量バランスを調整したり、その他、エコー、音量、トーン等の各種調整を行うための操作ボタン（スイッチ）或いはつまみを備えた入力装置である。また、前記入出力インターフェイス４８は、前記操作パネル４６を介して入力された情報を前記ＣＰＵ３８へ送ったり、そのＣＰＵ３８から供給される指令に応じて前記操作パネル４６の表示窓に所定の文字映像等を表示させる装置である。また、前記カラオケ装置１６には、前記操作パネル４６の一部機能を遠隔で実行するための入力装置として機能する図示しないリモコン装置が備えられており、前記リモコン受信部６４は、そのリモコン装置から送信されるリモコン信号を受信して前記ＣＰＵ３８へ供給する。また、前記カラオケ装置１６と電子早見本装置２２との対応付け（くくりつけ）処理も前記リモコン受信部６４を介して行われ、そのようにして前記カラオケ装置１６に対応付けられた電子早見本装置２２も同様に入力装置として機能する。
【００２０】
前記ディスプレイコントローラ５０は、前記ＣＰＵ３８において生成された歌詞文字映像等の文字映像（テロップ）を出力する文字映像出力装置として機能する他、前記ディスプレイ３０による種々の映像表示を制御する映像表示制御装置として機能する。また、利用者が歌詞を参照しながら歌を歌う際に前記ハードディスク４４に記憶された背景映像情報に基づいて所定の背景映像を再生（デコード）する背景映像再生装置として機能する。この背景映像情報は、例えば、ＭＰＥＧ（Moving Picture Experts Group）形式のデータである。前記カラオケ装置１６によるカラオケ演奏においては、前記ディスプレイコントローラ５０により上記背景映像情報に基づいて所定の背景映像が再生されると共に、前記ＣＰＵ３８により生成された文字映像が前記ディスプレイコントローラ５０により出力されると共に上記背景映像の上面側レイヤに合成される。そして、そのようにして合成されたアナログ情報としての映像がアナログ映像接続された前記ディスプレイ３０に送られ、そのディスプレイ３０にカラオケ演奏映像として表示される。
【００２１】
前記コーデック部５２は、前記ハードディスク４４から読み出されて送られて来る音声データ（デジタル音声データ）をデコードすることでその音声データに基づく演奏を出力させる音声情報再生装置として機能する。この音声データとは、例えば、ＰＣＭ（Pulse Code Modulation）形式のデータ、ＷＡＶ形式のデータ、ＭＰＥＧ形式のデータ、ＷＭＡ形式のデータ等である。また、前記サウンドデバイス５４は、ＳＰＩ（Serial Peripheral Interface）信号接続等を介して前記コーデック部５２と接続されており、そのコーデック部５２による音声情報の再生を制御する。なお、前記コーデック部５２は、上記音声データのデコード（復号）を行い得るものであればよく、必ずしもエンコード（符号化）機能を有しなくともよい。また、前記ＭＩＤＩ音源５６は、前記ハードディスク４４から読み出されて送られて来るカラオケ演奏曲の演奏情報に基づいて楽器の演奏信号等の音楽信号を生成する音源である。この演奏情報は、例えば、ＭＩＤＩ（Musical Instrument Digital Interface）形式のデータである。また、前記シリアルデバイス５８は、ＭＩＤＩプロトコル接続等を介して前記ＭＩＤＩ音源５６と接続されており、そのＭＩＤＩ音源５６によるＭＩＤＩデータに基づく演奏を制御する。前記カラオケ装置１６によるカラオケ演奏においては、前記コーデック部５２により再生されたアナログ情報としての演奏信号及び／又は前記ＭＩＤＩ音源５６から出力されたアナログ情報としての演奏信号がアナログ音声接続された前記アンプ３４へ送られる。そのアンプ３４では、送られてきた演奏信号と前記マイクロフォン３２を介して入力される利用者の歌声とがミキシングされ、それらの信号が電気的に増幅されて前記スピーカ３６から出力される。
【００２２】
前記モデム６０は、前記カラオケ装置１６を公衆電話回線等による通信回線１８に接続するための装置であり、前記ＣＰＵ３８から出力されるディジタル信号をアナログ信号に変換して前記通信回線１８に送り出すと共に、その通信回線１８を介して伝送されるアナログ信号をディジタル信号に変換して前記ＣＰＵ３８に供給する処理を行う。なお、このモデム６０は、マスターコマンダとして機能するカラオケ装置１６ａには必要とされるが、前記センタ装置２０との間で情報の通信を行わない他のカラオケ装置１６には必ずしも設けられなくともよい。
【００２３】
前記ＬＡＮインターフェイス６２は、前記カラオケ装置１６をＬＡＮ２４を介して他のカラオケ装置１６や電子早見本装置２２等の他の機器に接続するための接続器であり、前記カラオケ装置１６は、そのようにＬＡＮ２４を介して接続されることで、他のカラオケ装置１６や電子早見本装置２２等の他の機器との間で情報の送受信が可能とされる。すなわち、前記カラオケ装置１６では、前記ＬＡＮインターフェイス６２を介して、前記アクセスポイント２６により受け付けられる前記電子早見本装置２２からの選曲入力や効果音制御信号を受け付けたり、前記カラオケ装置１６から電子早見本装置２２へ所定の情報を送信したりというように、電波を介して前記カラオケ装置１６と電子早見本装置２２との間における相互の情報のやりとりが実行される。
【００２４】
前記ハードディスク４４には、カラオケ演奏曲を出力させるための多数の楽曲データ（カラオケ情報）を記憶する楽曲データベース６６、それぞれのジャンルにおけるアレンジに対応する基調演奏を出力させるための複数の音声データ及び基調演奏用データテンプレートのセットを記憶する複数の基調演奏データベース６８ａ、６８ｂ、６８ｃ、・・・（以下、特に区別しない場合には単に基調演奏データベース６８と称する）、背景映像を出力させるための複数の背景映像情報を記憶する背景映像データベース等の各種データベース、テンプレートファイル名テーブル７０、テンポ補正テーブル７２、及び各種ＣＰＵプログラム７４等が備えられている。カラオケボックス等の店舗にそれぞれ備えられた複数のカラオケ装置１６のうちマスターコマンダとして機能するカラオケ装置１６ａは、前記モデム６０を介して前記通信回線１８に接続されており、前記複数のカラオケ装置１６によって常に新しい曲が演奏可能とされるように、或いは常に新しい基調演奏が出力可能とされるように、随時新たな楽曲データや基調演奏データが前記センタ装置２０から前記通信回線１８を介して配信され、前記ハードディスク４４の楽曲データベース６６、基調演奏データベース６８等に記憶される。また、上記基調演奏データベース６８の内容が更新される毎に上記テンプレートファイル名テーブル７０もまた更新される。また、そのようにして前記センタ装置２０から情報を取得したカラオケ装置１６ａとその他のカラオケ装置１６との間で前記ＬＡＮ２４を介した通信が行われることにより、各カラオケ装置１６のハードディスク５８に記憶される情報が共有され、楽曲データベース６６、基調演奏データベース６８、及びテンプレートファイル名テーブル７０等の内容が等価なものとされる。
【００２５】
図３は、前記カラオケ装置１６のＣＰＵ３８に備えられた制御機能の要部を説明する機能ブロック線図である。この図３に示す演奏制御手段８０は、多数の演奏曲のうちから選択された所定の演奏曲を出力させる。具体的には、前記ＭＩＤＩ音源５６により前記楽曲データに含まれるＭＩＤＩ形式の演奏データ（以下、ＭＩＤＩデータと称する）に基づいて複数の楽器の演奏音を出力（演奏）させる。前記カラオケ装置１６によるカラオケ演奏に際しては、先ず、前記電子早見本装置２２や図示しないリモコン装置等の入力装置により所定の選曲入力が行われる。斯かる選曲入力が行われると、前記ＲＡＭ４２やハードディスク４４等の記憶装置に設けられた図４に示すような通常用予約バッファ７６又は図５に示すようなアレンジ用予約バッファ７８に、先に予約された演奏曲の曲番号が若くなるように（予約順に演奏されるように）２０曲まで演奏曲乃至はその選曲番号が登録される。そして、上記演奏制御手段８０は、斯かる予約バッファ７６、７８に登録された演奏曲のうち曲番号が若いものから順に、その演奏曲に対応するＭＩＤＩデータ（楽曲データ）を前記楽曲データベース６６から読み出して前記ＲＡＭ４２に展開し、前記ＭＩＤＩ音源５６を介してその演奏曲の出力を制御する。なお、上記通常用予約バッファ７６は後述するアレンジ演奏以外すなわち基調演奏に乗せてのカラオケ演奏を行わない通常のカラオケ演奏のための予約バッファであり、アレンジ用予約バッファ７８は後述するアレンジ演奏すなわち基調演奏に乗せてのカラオケ演奏のための予約バッファである。また、上記演奏制御手段８０は、前記コーデック部５２によりＭＰＥＧ形式等の音楽データをデコードするすることによってもカラオケ演奏を行い得るものであるが、本実施例においては主にＭＩＤＩデータに基づくカラオケ演奏について説明する。
【００２６】
図６は、前記楽曲データベース６６に記憶される楽曲データの構成を階層的に説明する図である。この図６に示すように、前記楽曲データは、楽曲ヘッダ、タイトル画像データ、テロップデータ、及び演奏情報としてのＭＩＤＩデータから構成される。また、そのＭＩＤＩデータは、ＭＩＤＩ部ヘッダ、トラック１ＭＩＤＩデータ、トラック２ＭＩＤＩデータ、・・・、トラック１４ＭＩＤＩデータ、及びトラック１５ＭＩＤＩデータから構成される。また、上記ＭＩＤＩ部ヘッダ部は、各種既存のデータ、デルタ補正値（０、１、２、４の何れか）、メタ情報トラック指定（トラック番号）、及び各種既存のデータから構成される。また、上記ＭＩＤＩ部トラック部（トラック１〜１５ＭＩＤＩデータ）は、データブロック（１）、データブロック（２）、・・・、データブロック（ｎ）、及びデータブロック終端から構成される。また、上記データブロック部（データブロック（１）〜（ｎ））は、デルタ値及び転送ＭＩＤＩデータ列から構成される。
【００２７】
前記演奏制御手段８０は、前記ＭＩＤＩデータに基づく演奏曲の出力に際して、対象となるＭＩＤＩデータを前記ＲＡＭ４２等の記憶装置に展開する。図７は、前記ＲＡＭ４２に形成されたＭＩＤＩリングバッファを例示する図である。この図７に示すように、上記ＭＩＤＩリングバッファは、６４レコード分のＭＩＤＩバッファ（１）〜（６４）から成り、それぞれのＭＩＤＩバッファに４小節カウンタ送出タイミング、４小節ステップ送出タイミング、転送サイズ、及び転送ＭＩＤＩバイト列が記憶されるようになっている。また、図８は、上記ＭＩＤＩリングバッファに対応して前記ＲＡＭ４２に形成された制御リングバッファを例示する図である。この図８に示すように、上記制御リングバッファは、６４レコード分の制御バッファ（１）〜（６４）から成り、それぞれの制御バッファに４小節カウンタ実行タイミング、４小節ステップ実行タイミング、及び制御情報が記憶されるようになっている。図９は、上記４小節カウンタ及び４小節ステップについて説明する図である。上記４小節カウンタとは、演奏が４小節進行する毎に１が加算されるカウンタであり、後述するアレンジ演奏モードにおいては減少することなく単調増加する。また、４小節ステップとは、４小節内での時間情報を示す値であり、４小節の区切り毎に零にリセットされる。また、この４小節ステップは、ＭＩＤＩデータに基づく演奏における最も細かな（最小分解能の）時間情報であり、タイムベースが４８の場合、１小節分で１９２、４小節分では７６８となる。
【００２８】
図１０は、前記ＲＡＭ４２に形成された展開テーブルを例示する図である。この展開テーブルは、テンプレート展開のために必要な情報を一時的に記憶する領域であり、６４レコード分の展開情報すなわち６４での剰余値が０となる４小節カウンタ時の展開情報、６４での剰余値が１となる４小節カウンタ時の展開情報、・・・、６４での剰余値が６２となる４小節カウンタ時の展開情報、及び６４での剰余値が６３となる４小節カウンタ時の展開情報がそれぞれ展開される。また、各ＭＩＤＩバッファの展開情報は、１小節目展開情報、２小節目展開情報、３小節目展開情報、４小節目展開情報、八分音符１個目コード情報、八分音符２個目コード情報、八分音符３個目コード情報、・・・、八分音符３１個目コード情報、及び八分音符３２個目コード情報から成る。前記演奏制御手段８０による演奏曲の出力では、このように前記ＲＡＭ４２上に展開されたＭＩＤＩデータが随時読み出されて前記ＭＩＤＩ音源５６に送られると共に、上記制御リングバッファにおける制御情報が読み出されてそのＭＩＤＩ音源５６における演奏出力が行われる。
【００２９】
図３に戻って、基調演奏制御手段８４は、前記演奏制御手段８０により複数の演奏曲を順次出力させる際、その演奏曲の出力と併行（同期）して所定のテンポを有する所定の基調演奏を出力させる。この基調演奏とは、好適には一定のテンポを有すると共に、リズム、和音、及び曲調等に、利用者が聞いた際に自ずとそのジャンルが知れる程度の統一感を有する拍節乃至は旋律から成るものであり、例えばハウス、トランス、ヒップホップ、レゲエ等というように複数種類（ジャンル）の基調演奏が予め定められている。また、テンポとは、音楽を演奏する上で基準となる速度であり、譜面化した場合における各音符の時間的長さを定めるものである。好適には、そのように予め定められた複数種類の基調演奏のうちから、前記電子早見本装置２２等の入力操作により所定の基調演奏が選択可能とされており、上記基調演奏制御手段８４は、上記入力操作により選択された所定の基調演奏を前記演奏曲の出力と併行して出力させる。以下、斯かる基調演奏制御手段８４による制御動作すなわち基調演奏に乗せての複数の演奏曲を順次出力させるアレンジ演奏モードについて詳細に説明する。
【００３０】
上記基調演奏制御手段８４は、生音出力制御手段８６及びＭＩＤＩ置換制御手段８８を含み、具体的には、それら生音出力制御手段８６及びＭＩＤＩ置換制御手段８８により前記基調演奏を出力させる。この生音出力制御手段８６は、予め定められた生音データ（デコードにより直接的にアナログ音声情報に変換できる情報）としての音声データを前記コーデック部５２によりデコードすることで前記基調演奏を出力させる。前記ハードディスク４４に設けられた基調演奏データベース６８には、各ジャンルに対応して少なくとも一定のテンポを有すると共に、リズム、和音、及び曲調等に統一感を有する複数の音声データが記憶されており、上記生音出力制御手段８６は、それら複数の音声データを前記コーデック部５２を介して連続的にデコードし前記基調演奏として出力させる。上記音声データとしては、ＰＣＭ形式のデータをはじめとしてＷＡＶデータやＭＰＥＧ形式のデータ等、種々のファイル形式が考えられる。また、上記音声データは、好適には、各ジャンル毎のテンポにおける４小節分（又は１小節分）の長さを有するものであり、出力に際してはその４小節分（又は１小節分）のデータが連続的にデコードされることで、利用者の耳には一続きの音楽として聞こえるように基調演奏が出力される。なお、上記音声データによる基調演奏は、前記ＭＩＤＩデータにおけるドラム（Drum）トラックに対応するものである。これは、ＭＩＤＩデータにおけるドラムトラックは一般に各音の鍵盤に音高ではなく楽器が対応付けられているという特殊性を考慮したものであり、上記音声データに基づく基調演奏は、好適には、そのＭＩＤＩデータにおけるドラムトラックの代替として出力される。
【００３１】
上記生音出力制御手段８６は、好適には、前記演奏制御手段８０により複数の演奏曲を順次出力させる際、それら演奏曲の出力が行われていない間すなわち演奏曲間（次曲演奏待ち間）においても上記音声データに基づく基調演奏を継続的に出力させる。すなわち、本実施例のアレンジ演奏モードでは、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの演奏曲間において、それら演奏曲の演奏と併行して出力される基調演奏と同一のテンポ、リズム、及び曲調等を有する曲間用の基調演奏が出力され、斯かる基調演奏により演奏曲と演奏曲との間が統一性ある拍節乃至は旋律により接続される。これにより、１曲の演奏が終わる毎にアレンジが途切れる不具合を防止でき、盛り上がった場の雰囲気を好適に維持することができる。
【００３２】
ここで、前記楽曲データベース６６に記憶されたＭＩＤＩデータは、好適には、演奏時間情報に関連して複数の区分を含むものであり、前記生音出力制御手段８６は、それら区分に応じて前記複数の音声データを前記演奏制御手段８０による演奏曲の出力と併行して順次出力させる。この区分とは、例えば、前記ＭＩＤＩデータのメタ情報に定められた演奏の区分である。すなわち、前記ＭＩＤＩデータのメタ情報には所定の演奏時間毎に、例えば、イントロ（Intro）、Ａメロ（Amelo）、Ｂメロ（Bmelo）、Ｃメロ（Cmelo）、フィル（Fill）、サビ、間奏、及び変拍等の区分が定められており、前記生音出力制御手段８６は、それら区分に応じた音声データを１小節単位で出力させる。また、前記基調演奏データベース６８には、各ジャンル毎に「非盛り上がり」、「盛り上がり」、「Fill」、「次への繋がり」、「曲待ちへの繋がり」というように複数種類（例えば５種類）に分類された音声データが複数セット（例えば４セット）分記憶されており、各セットには、上記分類毎に少なくとも１つの音声データが記憶されている。前記生音出力制御手段８６は、例えば、前記ＭＩＤＩデータにおけるメタ情報がイントロ又はサビである区分の演奏に際しては、その演奏と併行して「盛り上がり」に対応する音声データを出力させ、メタ情報がＡメロ、Ｂメロ、Ｃメロ、又は間奏である区分の演奏に際しては、その演奏と併行して「非盛り上がり」に対応する音声データを出力させ、メタ情報がフィルである区分の演奏に際しては、その演奏と併行して「Fill」に対応する音声データを出力させ、演奏曲の出力が行われていない間すなわち次曲の演奏待ちに際しては、「次への繋がり」又は「曲待ちへの繋がり」に対応する音声データを出力させる。以上のように、前記ＭＩＤＩデータに基づく演奏曲の出力と同期して、リズム、テンポ、及び曲調等に統一感を有する複数の音声データが連続的に出力されることで、その音声データによる基調演奏に乗せて複数の演奏曲を出力させる演奏形態を実現することができる。
【００３３】
前記ＭＩＤＩ置換制御手段８８は、前記ＭＩＤＩデータにおける複数のトラックのうち少なくとも１つのトラックを所定の基調演奏用データで置換する。例えば、前記展開用テーブルに展開されたＭＩＤＩデータにおける１６のトラックのうちバス（Bass）トラック及び／又はシンセサイザー系のトラックを、そのＭＩＤＩデータに基づく演奏曲の出力に先立って所定の基調演奏用データで置換する。ここで、置換の対象となる基調演奏用データとは、各ジャンルに対応してリズム、テンポ、及び曲調等に統一感を有する拍節乃至は旋律を出力させるためのデータであり、ＭＩＤＩデータにおける他のトラックと同様に前記ＭＩＤＩ音源５６によりその基調演奏用データに基づく演奏が行われる。すなわち、ＭＩＤＩデータにおける複数のトラックのうち所定のトラックが斯かる基調演奏用データで置換された状態で、そのＭＩＤＩデータに基づく演奏曲が出力されることで、その基調演奏用データに対応するトラックの演奏が前記基調演奏として出力される。この際、置換された基調演奏用データに対応する基調演奏は、リズム、テンポ、及び曲調等に統一感を有するものであるため、その統一感ある所定のリズムに乗せて複数の演奏曲を出力させる演奏形態を実現することができる。
【００３４】
前記ＭＩＤＩ置換制御手段８８は、好適には、前記基調演奏データベース６８に記憶された基調演奏用データテンプレートを、対象となるＭＩＤＩデータに応じてトランスポーズすることで前記基調演奏用データを作成する。ここで、トランスポーズとは、所定の和音や旋律の相対的な音程関係を保ったまま別のキーに移すことすなわち移調である。前記基調演奏データベース６８には、各ジャンル毎に「非盛り上がり」、「盛り上がり」、「Fill」、「次への繋がり」、「曲待ちへの繋がり」というように複数種類（例えば５種類）に分類された基調演奏用データテンプレートが複数セット（例えば４セット）記憶されている。すなわち、本実施例においては、前記生音出力制御手段８６により出力される複数種類の音声データに対応して基調演奏用データテンプレートが予め定められている。それぞれのジャンルにおける各セットには、上記分類毎に基本となる１３種類（「次への繋がり」及び「曲待ちへの繋がり」については１種類）のコードすなわち「C」、「Cm」、「Caug」、「C6」、「CM7」、「C7」、「Csus4」、「Cm6」、「Cm7」、「Cdim」、「Cm7b5」、「Cb5」、「Cmb5」にそれぞれ対応する１３の基調演奏用データテンプレートが記憶されている。すなわち、前記基調演奏用データテンプレートは全てＣ調で用意されており、対象となる区分のコードに合わせてそのＣ調から上下に移調されて用いられる。
【００３５】
前記ＭＩＤＩ置換制御手段８８は、例えば、前記ＭＩＤＩデータにおけるメタ情報がイントロ又はサビである区分に関しては、「盛り上がり」に対応する１３種類のテンプレートのうちその区分とコードが一致するテンプレートをトランスポーズして基調演奏用データを作成し、その区分における所定トラックをその基調演奏用データで置換する。また、メタ情報がＡメロ、Ｂメロ、Ｃメロ、又は間奏である区分に関しては、「非盛り上がり」に対応する１３種類のテンプレートのうちその区分とコードが一致するテンプレートをトランスポーズして基調演奏用データを作成し、その区分における所定トラックをその基調演奏用データで置換する。また、メタ情報がフィルである区分に関しては、「Fill」に対応する１３種類のテンプレートのうちその区分とコードが一致するテンプレートをトランスポーズして基調演奏用データを作成し、その区分における所定トラックをその基調演奏用データで置換する。また、バストラック及びシンセサイザー系のトラックというように２つ以上のトラックを基調演奏用データで置換する場合には、それぞれのトラックについて上記テンプレートのトランスポーズ及び置換を行う。
【００３６】
なお、前記基調演奏データベース６８において、「次への繋がり」、「曲待ちへの繋がり」に対応するテンプレートが１種類ずつしか記憶されていないのは、それらのテンプレートに基づく基調演奏用データが前記ＭＩＤＩデータに基づく演奏曲の出力が行われていない間すなわち演奏曲間（次曲演奏待ち間）において出力されることを前提としたものであり、トランスポーズする必要がないためである。すなわち、前記ＭＩＤＩ置換制御手段８８は、前記ＭＩＤＩデータに基づく演奏曲の出力が行われていない演奏曲間においては、前記基調演奏データベース６８に記憶された基調演奏用データテンプレートから基調演奏用データを作成し、その基調演奏用データを前記ＭＩＤＩ音源５６に送ることによってその基調演奏用データに基づく基調演奏を出力させる。具体的には、先ず、「曲待ちへの繋がり」テンプレートに対応する基調演奏用データに基づく基調演奏を１乃至数小節分出力した後、次曲の出力が開始されるまで「次への繋がり」テンプレートに対応する基調演奏用データに基づく基調演奏を繰り返し出力させる。このように、前記ＭＩＤＩ置換制御手段８８は、前記演奏制御手段８０による演奏曲の出力が行われていない間すなわち演奏曲間（次曲演奏待ち間）においても上記基調演奏用データテンプレートに基づく基調演奏を継続的に出力させるものであり、これにより１曲の演奏が終わる毎にアレンジが途切れる不具合を防止でき、盛り上がった場の雰囲気を好適に維持することができる。
【００３７】
以上、説明したように、前記基調演奏制御手段８４は、予め定められた音声データを前記生音出力制御手段８６を介して前記コーデック部５２によりデコードすること、及び前記ＭＩＤＩ置換制御手段８８を介して前記ＭＩＤＩ音源５６によりＭＩＤＩ形式の演奏データに基づく演奏を行うことにより、前記演奏制御手段８０による演奏曲の出力が行われていない曲間に所定の曲間演奏を出力させる。すなわち、前記演奏制御手段８０により複数の演奏曲を順次出力させる場合、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間に所定の曲間演奏を出力させる曲間演奏制御手段として機能する。具体的には、前述のように予め定められたハウス、トランス、ヒップホップ、レゲエ等といった複数のジャンル毎に設定された曲間演奏のうちから、前記電子早見本装置２２等の入力装置を介しての入力操作により選択（アレンジ演奏モードの開始時におけるジャンル選択）される曲間演奏を前記曲間に出力させる。なお、本実施例では、前記コーデック部５２により音声データをデコードすることによる曲間演奏と、前記ＭＩＤＩ音源５６によりＭＩＤＩデータに基づく演奏を行うことによる曲間演奏とを併行して（同時に）出力させる態様を説明しているが、それら２種類の曲間演奏のうち何れか一方のみを出力させる態様も考えられる。
【００３８】
図１１乃至図１４は、前記ＭＩＤＩ置換制御手段８８によるＭＩＤＩデータの置換について説明する図である。前記基調演奏用データテンプレートは、好適には、前記音声データと同様に１小節単位で用意されており、その１小節単位のテンプレートがトランスポーズされると共に連結されることで前記基調演奏用データとされる。例えば、図１１及び図１２に示すように２種類の基調演奏用データテンプレート（以下、図１１に示すものをテンプレートデータＡ、図１２に示すものをテンプレートデータＢと称する）を用いてＭＩＤＩデータの置換を行う場合を考えると、先ず、図１３（ａ）に示すように、前記ＲＡＭ４２に４小節分の連結読み取りエリア及び１小節分の一時読み取りエリアが確保される。次に、図１３（ｂ）に示すように、上記一時読み取りエリアに図１１に示すテンプレートデータＡが格納される。次に、図１３（ｃ）に示すように、上記一時読み取りエリアに格納されたテンプレートデータＡが上記連結読み取りエリアに格納（複写）される。次に、図１３（ｄ）に示すように、上記一時読み取りエリアに図１２に示すテンプレートデータＢが格納される。次に、図１３（ｅ）に示すように、上記一時読み取りエリアに格納されたテンプレートデータＢが上記連結読み取りエリアにおけるテンプレートデータＡに連結して格納（複写）される。以上のような格納及び連結が４小節分繰り返されることにより、上記連結読み取りエリアに４小節分の基調演奏用データが形成され、そのようにして形成された基調演奏用データが、図１４に示すように、前記ＲＡＭ４２に確保された演奏エリアにおける所定トラックに格納（そのトラックに格納されていたデータと置換）される。なお、ＭＩＤＩデータをトラック毎に分離して保持している場合、各トラックは可変長であることから、時間軸上で同一の長さで演奏される場合であっても各トラックの実データサイズは異なる場合が考えられる。
【００３９】
ここで、前記基調演奏用データテンプレートをトランスポーズすることによる基調演奏用データの作成に際して、前記ＭＩＤＩ置換制御手段８８は、好適には、所定のトラックに関して演奏上の違和感を軽減するための補正を行う。例えば、バストラックに対応する基調演奏用データの作成に際して、前記基調演奏用データテンプレートを対象区分に合わせてトランスポーズすることで最低音が所定音（例えばＣ１）以下となる場合には、そのトランスポーズの後に更に１オクターブ上にトランスポーズすることで前記基調演奏用データを作成する。また、前記基調演奏用データテンプレートを対象区分に合わせてトランスポーズすることで最高音が所定音（例えばＦ３）以上となる場合には、そのトランスポーズの後に更に１オクターブ下にトランスポーズすることで前記基調演奏用データを作成する。このようにすることで、例えばバストラックに対応する基調演奏用データを所定音域（Ｃ１〜Ｆ３）の範囲内とすることができ、バスに相当する基調演奏が低すぎたり或いは高すぎたりすることによる演奏上の違和感を軽減することができる。
【００４０】
図１５は、前記基調演奏の出力に用いられるテンプレートファイル名テーブル７０を例示する図である。このテンプレートファイル名テーブル７０は、予め前記ハードディスク４４等の記憶装置に記憶されたものであってもよいし、アレンジ演奏モードの開始に際してジャンルが選択される毎にその都度作成されて前記ＲＡＭ４２等に一時記憶されるものであってもよい。図１５に示すように、上記テンプレートファイル名テーブル７０には、前記コーデック部５２を介して基調演奏を出力させるための音声データと、前記ＭＩＤＩデータにおける所定トラックの置換に用いられる基調演奏用データテンプレートが相互に対応付けられて規定される。すなわち、所定のジャンルに関してセット０〜３までの４セットのデータが規定され、各セットには、前述した５つの分類すなわち「非盛り上がり」、「盛り上がり」、「Fill」、「次への繋がり」、「曲待ちへの繋がり」それぞれに対応して１つの音声データ（生音）及び１３の基調演奏用データテンプレート（MIDI-1〜MIDI-13）が規定される。ここで、各セットにおける同一の分類に規定された音声データ及び基調演奏用データテンプレートは、対象となるＭＩＤＩデータにおける共通の区分に対応して用いられるものであり、換言すれば、前記基調演奏制御手段８４は、前記生音出力制御手段８６を介して前記基調演奏データベース６８に記憶された複数の音声データを前記区分に応じて前記コーデック部５２により順次デコードすると共に、その音声データの出力と同期してそれぞれの音声データに対応する基調演奏用データテンプレートに基づく基調演奏が出力されるように前記ＭＩＤＩ置換制御手段８８を介して前記ＭＩＤＩデータにおけるトラックの置換を行う。このように、本実施例では、前記生音出力制御手段８６を介して音声データをデコードすることによる基調演奏と、前記ＭＩＤＩ置換制御手段８８によりＭＩＤＩデータの所定トラックを予め基調演奏用データで置換した上で前記ＭＩＤＩ音源５６を介して演奏することによる基調演奏とを併行して（同時に）出力させる態様を説明しているが、それら２種類の基調演奏のうち何れか一方のみを出力させる態様も考えられる。
【００４１】
前記ＭＩＤＩデータは、好適には、メタ情報がイントロである区分の開始位置を示すイントロフラグより１小節前（１９２ステップ前）に、拍合わせのタイミングをとるための頭フラグを有し、前記ＭＩＤＩ置換制御手段８８は、この頭フラグに応じて前記ＭＩＤＩデータにおける所定トラックの置換を制御する。すなわち、斯かる頭フラグの１小節後から前記ＭＩＤＩデータにおける所定トラックの置換がはじまるように制御する。一般にＭＩＤＩデータは、データのセットアップが行われてから出力が開始されるまでに所定の時間を有する。前述したように、前記ＭＩＤＩ置換制御手段８８は、前記ＭＩＤＩデータに基づく演奏曲の出力が行われていない演奏曲間においては、前記基調演奏データベース６８に記憶された基調演奏用データテンプレートから基調演奏用データを作成し、その基調演奏用データを前記ＭＩＤＩ音源５６に送ることによってその基調演奏用データに基づく基調演奏を出力させるものであり、次曲の出力が開始されるまでは「次への繋がり」テンプレートに対応する基調演奏用データに基づく基調演奏を繰り返し出力させる。ここで、次曲のＭＩＤＩデータのセットアップ後の出だしが１小節分（１９２ステップ）である場合、すなわちメタ情報がイントロである区分の開始位置を示すイントロフラグより１小節前にセットアップが行われる場合には、そのセットアップ開始と同時に「次への繋がり」テンプレートに対応する基調演奏用データに基づく基調演奏の出力が中止され、１小節分の休符区間があった後、メタ情報がイントロである区分の開始位置から前述した所定トラックの置換が行われるように制御される。一方、次曲のＭＩＤＩデータのセットアップ後の出だしが１小節分（１９２ステップ）ではない場合には、セットアップ開始から１小節後に所定トラックの置換を開始するとタイミングが合わないことになる。そこで、斯かる場合には、セットアップ開始と同時に「次への繋がり」テンプレートに対応する基調演奏用データに基づく基調演奏の出力が中止され、上記頭フラグの１９２ステップ後から前述した所定トラックの置換が行われるように制御される。また、前記演奏制御手段８０は、ＭＩＤＩデータに基づいて出力される演奏曲のテンポが、前記生音出力制御手段８６により出力される音声データに基づく基調演奏のテンポに適合するように、上記頭フラグに基づいて対象となるＭＩＤＩデータの出力開始タイミングを制御する。
【００４２】
図３に戻って、前記演奏制御手段８０は、出力される演奏曲のテンポをその演奏曲の出力と併行して前記基調演奏制御手段８４により出力される基調演奏のテンポに応じて補正するテンポ補正手段８２を含む。一般に音声データ（生音データ）のテンポは固定されているため、前記生音出力制御手段８６を介して音声データをデコードすることによる基調演奏と併行してＭＩＤＩデータに基づく複数の演奏曲を順次出力させる場合、前記ＭＩＤＩデータの演奏テンポをその音声データのテンポに適合させる必要がある。このため、上記テンポ補正手段８２は、好適には、前記ＭＩＤＩ音源５６を介して出力される演奏曲のテンポを、その演奏曲の出力と併行して前記コーデック部５２を介して出力される基調演奏のテンポすなわち音声データのテンポの１／ｎ倍、１倍、又はｎ倍（ｎは２の累乗）となるように、実用的には、１／２倍、１倍、又は２倍となるように補正する。図１６は、上記テンポ補正手段８２による演奏曲の出力テンポ補正に用いられるテンポ補正テーブル７２を例示する図である。この図１６に示すように、レゲエアレンジではテンポ＝７０、ヒップホップアレンジではテンポ＝９０、ハウスアレンジではテンポ＝１２５、トランスアレンジではテンポ＝１４０というように、アレンジ演奏モードの開始に際して選択されるジャンル毎に所定のテンポが予め定められており、このテンポは各ジャンルにおける音声データのテンポと一致する。上記テンポ補正手段８２は、各ジャンルに対応して楽曲が保有するテンポ値すなわちＭＩＤＩデータの出力テンポを強制的に補正する。なお、前記ＭＩＤＩ置換制御手段８８を介して対象となるＭＩＤＩデータの所定トラックが置換されて出力される基調演奏は、対象となるＭＩＤＩデータのテンポに依存することから、そのＭＩＤＩデータの演奏テンポを前記音声データのテンポに適合させることで、所定トラックの置換による基調演奏の出力テンポは自ずから前記音声データのテンポに適合する。
【００４３】
図１６に示す「４」はＭＩＤＩデータの演奏テンポを音声データのテンポの１／２倍に、「２」は音声データのテンポの１倍に、「１」は音声データのテンポの２倍にそれぞれ補正することを示している。すなわち、テンポ＝７０のレゲエアレンジでは、デフォルトのテンポ値が５０以下である楽曲は音声データのテンポの１／２倍であるテンポ＝３５に、デフォルトのテンポ値が５１以上１０４以下である楽曲は音声データのテンポの１倍であるテンポ＝７０に、デフォルトのテンポ値が１０５以上である楽曲は音声データのテンポの２倍であるテンポ＝１４０にそれぞれ補正される。また、テンポ＝９０のヒップホップアレンジでは、デフォルトのテンポ値が５０以下である楽曲は音声データのテンポの１／２倍であるテンポ＝４５に、デフォルトのテンポ値が５１以上１３９以下である楽曲は音声データのテンポの１倍であるテンポ＝９０に、デフォルトのテンポ値が１４０以上である楽曲は音声データのテンポの２倍であるテンポ＝１８０にそれぞれ補正される。また、テンポ＝１２５のハウスアレンジでは、デフォルトのテンポ値が９３以下である楽曲は音声データのテンポの１／２倍であるテンポ＝６２．５に、デフォルトのテンポ値が９４以上１８７以下である楽曲は音声データのテンポの１倍であるテンポ＝１２５に、デフォルトのテンポ値が１８８以上である楽曲は音声データのテンポの２倍であるテンポ＝２５０にそれぞれ補正される。また、テンポ＝１４０のトランスアレンジでは、デフォルトのテンポ値が９７以下である楽曲は音声データのテンポの１／２倍であるテンポ＝７０に、デフォルトのテンポ値が９８以上２０９以下である楽曲は音声データのテンポの１倍であるテンポ＝１４０に、デフォルトのテンポ値が２１０以上である楽曲は音声データのテンポの２倍であるテンポ＝２８０にそれぞれ補正される。以上のように、前記演奏制御手段８０により複数の演奏曲を順次出力させる際、それら演奏曲の演奏テンポを、前記生音出力制御手段８６を介して音声データをデコードすることによる基調演奏のテンポに適合させることにより、前記ＭＩＤＩデータに基づく演奏曲及び音声データに基づく基調演奏のテンポが同期（シンクロ）する。これによって、複数の演奏曲を統一感ある所定のリズムにより有機的に結合させ、あたかも連続する一連の楽曲のような印象を利用者に与える演奏形態を実現することができる。
【００４４】
ここで、前記テンポ補正手段８２により演奏曲の演奏テンポを、併行して出力させる音声データのテンポの１／２倍又は２倍にすることを考えると、前記基調演奏用データテンプレートに基づく基調演奏用データの置換に関して補正が必要となってくる場合がある。例えば、前記基調演奏データベース６８に「Fill」の分類で記憶された音声データ及び基調演奏用データテンプレートは、前述のようにＭＩＤＩデータにおけるメタ情報がフィルである区分に関して用いられるものであり、この区分は例えばメタ情報がサビである区分の開始直前１小節分の区分である。この区分における前記基調演奏用データテンプレートに基づく基調演奏用データの適用に関して、前記テンポ補正手段８２によりＭＩＤＩデータの演奏テンポを、併行して出力させる音声データのテンポの２倍にした場合には、そのＭＩＤＩデータにおけるメタ情報がフィルである区分がデフォルトである場合の１／２倍の長さになるため、前記基調演奏用データテンプレートをトランスポーズした基調演奏用データをそのまま適用するとサビの区分にまでかかってしまう。また、前記テンポ補正手段８２によりＭＩＤＩデータの演奏テンポを、併行して出力させる音声データのテンポの１／２倍にした場合には、そのＭＩＤＩデータにおけるメタ情報がフィルである区分がデフォルトである場合の２倍の長さになるため、前記基調演奏用データテンプレートをトランスポーズした基調演奏用データをそのまま適用するとメタ情報がサビである区分が開始する２小節手前から始まってしまう。このため、前記ＭＩＤＩ置換制御手段８８は、前記テンポ補正手段８２により演奏曲の演奏テンポを、併行して出力させる音声データのテンポの１／２倍又は２倍にした場合には、「Fill」の分類で記憶された基調演奏用データテンプレートに基づく基調演奏用データが、メタ情報がサビである区分の直前１小節分の区分に適用されるように前記トラックの置換を行う。
【００４５】
また、前記テンポ補正手段８２により演奏曲の演奏テンポを、併行して出力させる音声データのテンポの２倍にする場合には、ＭＩＤＩデータの展開情報及びコード情報等を参照する分解能を補正する必要がある。例えば、デフォルトのＭＩＤＩデータでは、四分音符の分解能が４８ステップ分の設定とされており、これは八分音符の分解能が２４ステップ分であるのと等価である。前記演奏制御手段８０は、斯かる分解能でＭＩＤＩデータの展開情報及びコード情報等を参照してそのＭＩＤＩデータに基づく演奏曲の出力を行うものであるが、前記テンポ補正手段８２により演奏曲の演奏テンポを、併行して出力させる音声データのテンポの２倍にした場合には、八分音符の分解能が４８ステップ分の設定となることから、展開情報及びコード情報等の参照に関してデフォルトのＭＩＤＩデータとの間で差異が生じる。このため、前記演奏制御手段８０は、前記テンポ補正手段８２により演奏曲の演奏テンポを、併行して出力させる音声データのテンポの２倍にした場合には、八分音符の分解能が２４ステップ分の設定となるように補正を行う。或いは、八分音符毎の展開情報及びコード情報等のうち奇数番目のデータのみを参照して偶数番目のデータを無視するようにする態様も考えられる。
【００４６】
図１７乃至図３８は、前記カラオケ装置１６のＣＰＵ３８によるカラオケ演奏制御、特に本実施例のアレンジカラオケ演奏制御の要部を説明するフローチャートであり、それぞれ所定の周期で繰り返し実行されるものである。なお、図１７乃至図３８にそれぞれ示す複数種類の制御は、マルチプロセスで並行的に実行されるものである。
【００４７】
図１７は、前記カラオケ装置１６のＣＰＵ３８による入力待ち制御を示すフローチャートである。この制御では、先ず、ステップ（以下、ステップを省略する）ＳＡ１において、前記電子早見本装置２２等により所定の入力があったか否かが判断される。このＳＡ１の判断が否定されるうちは、ＳＡ１の判断が繰り返されることにより待機させられるが、ＳＡ１の判断が肯定される場合には、ＳＡ２において、選曲入力すなわち選曲番号（曲番号）の入力であったか否かが判断される。このＳＡ２の判断が否定される場合には、ＳＡ９以下の処理が実行されるが、ＳＡ２の判断が肯定される場合には、ＳＡ３において、その時点における設定がアレンジ演奏モード（アレンジモード）であるか否かが判断される。このＳＡ３の判断が否定される場合には、ＳＡ７以下の処理が実行されるが、ＳＡ３の判断が肯定される場合には、ＳＡ４において、前記アレンジ用予約バッファ７８がフルであるか否か、すなわちそのアレンジ用予約バッファ７８に２０曲の演奏曲が予約されているか否かが判断される。このＳＡ４の判断が肯定される場合には、ＳＡ５において、前記ディスプレイコントローラ５０等を介して前記ディスプレイ３０に新たに演奏曲を予約できない旨の表示が行われた後、ＳＡ１以下の処理が再び実行されるが、ＳＡ４の判断が否定される場合には、ＳＡ６において、入力された演奏曲の選曲番号が前記アレンジ用予約バッファ７８の空きエリアにおける最上段に記憶された後、ＳＡ１以下の処理が再び実行される。ＳＡ７においては、前記通常用予約バッファ７６がフルであるか否か、すなわちその通常用予約バッファ７６に２０曲の演奏曲が予約されているか否かが判断される。このＳＡ７の判断が肯定される場合には、ＳＡ５以下の処理が実行されるが、ＳＡ７の判断が否定される場合には、ＳＡ８において、入力された演奏曲の選曲番号が前記通常用予約バッファ７６の空きエリアにおける最上段に記憶された後、ＳＡ１以下の処理が再び実行される。
【００４８】
ＳＡ９においては、前記電子早見本装置２２等による入力が、モード切替入力であったか否かが判断される。このＳＡ９の判断が否定される場合には、ＳＡ１０において、キーコントロール等のよく知られた既存の入力受付処理が行われた後、ＳＡ１以下の処理が再び実行されるが、ＳＡ９の判断が肯定される場合には、ＳＡ１１において、前記ＭＩＤＩ音源５６等によるカラオケ演奏が行われているか否かが判断される。このＳＡ１１の判断が肯定される場合には、前記ディスプレイコントローラ５０等を介して前記ディスプレイ３０に演奏中はモード切替ができない旨の表示が行われた後、ＳＡ１以下の処理が再び実行されるが、ＳＡ１１の判断が否定される場合には、ＳＡ１３において、その時点における設定が通常演奏モードであるか否かが判断される。このＳＡ１３の判断が肯定される場合には、ＳＡ１４において、アレンジ演奏モードに設定が変更され、図１８に示すアレンジ開始制御（ＳＡＡ）が実行された後、ＳＡ１以下の処理が再び実行されるが、ＳＡ１３の判断が否定される場合には、ＳＡ１５において、通常演奏モードに設定が変更され、図１９に示すアレンジ終了制御（ＳＡＢ）が実行された後、ＳＡ１以下の処理が再び実行される。
【００４９】
図１８は、前記カラオケ装置１６のＣＰＵ３８によるアレンジ開始制御を示すフローチャートである。この制御では、先ず、ＳＡＡ１において、前記ディスプレイコントローラ５０等を介して前記ディスプレイ３０における選曲待ち表示処理を停止させる制御が行われる。次に、ＳＡＡ２において、前記ディスプレイコントローラ５０等を介して前記ディスプレイ３０にアレンジジャンル選択画面の表示が行われる。次に、ＳＡＡ３において、前記ディスプレイコントローラ５０等を介して前記ディスプレイ３０に表示されたカーソル位置が選択可能なジャンルを示す複数段の映像における最上段にセットされる。次に、ＳＡＡ４において、前記電子早見本装置２２等により番号の入力があったか否かが判断される。このＳＡＡ４の判断が肯定される場合には、ＳＡＡ５において、入力された番号に従って前記ディスプレイコントローラ５０等を介して前記ディスプレイ３０に表示されたカーソル位置が変更された後、ＳＡＡ４以下の処理が再び実行されるが、ＳＡＡ４の判断が否定される場合には、ＳＡＡ６において、前記電子早見本装置２２等により決定入力があったか否かが判断される。このＳＡＡ６の判断が否定される場合には、ＳＡＡ４以下の処理が再び実行されるが、ＳＡＡ６の判断が肯定される場合には、ＳＡＡ７において、決定入力が行われた時点でカーソルが位置していた段に対応するジャンルに決定され、図２１に示す演奏メイン制御（ＳＣ）に関して決定されたジャンルでアレンジ演奏モードを開始するように指示が行われる。次に、ＳＡＡ８において、図２０に示す背景映像制御（ＳＢ）に関してアレンジ演奏モードを開始するように指示が行われた後、本ルーチンが終了させられる。
【００５０】
図１９は、前記カラオケ装置１６のＣＰＵ３８によるアレンジ終了制御を示すフローチャートである。この制御では、先ず、ＳＡＢ１において、図２０に示す背景映像制御（ＳＢ）に関してアレンジ演奏モードを終了するように指示が行われる。次に、ＳＡＢ２において、図２１に示す演奏メイン制御（ＳＣ）に関してアレンジ演奏モードを終了するように指示が行われた後、本ルーチンが終了させられる。
【００５１】
図２０は、前記カラオケ装置１６のＣＰＵ３８による背景映像表示制御を示すフローチャートである。この制御では、先ず、ＳＢ１において、アレンジ演奏モード開始指示があったか否かが判断される。このＳＢ１の判断が否定される場合には、ＳＢ４以下の処理が実行されるが、ＳＢ１の判断が肯定される場合には、ＳＢ２において、その時点における設定が通常演奏モードであるか否かが判断される。このＳＢ２の判断が否定される場合には、ＳＢ４以下の処理が実行されるが、ＳＢ２の判断が肯定される場合には、ＳＢ３において、背景映像処理の設定がアレンジ演奏モードに変更された後、ＳＢ４において、アレンジ演奏モード終了指示があったか否かが判断される。このＳＢ４の判断が否定される場合には、ＳＢ７以下の処理が実行されるが、ＳＢ４の判断が肯定される場合には、ＳＢ５において、その時点における設定がアレンジ演奏モードであるか否かが判断される。このＳＢ５の判断が否定される場合には、ＳＢ７以下の処理が実行されるが、ＳＢ５の判断が肯定される場合には、ＳＢ６において、背景映像処理の設定が通常演奏モードに変更された後、ＳＢ７において、その時点における設定がアレンジ演奏モードであるか否かが判断される。このＳＢ７の判断が肯定される場合には、ＳＢ８において、前記ハードディスク４４等に記憶されたアレンジ演奏用背景映像情報に基づき、前記ディスプレイコントローラ５０等を介して前記ディスプレイ３０にアレンジ演奏用背景映像の表示が行われた後、ＳＢ１以下の処理が再び実行されるが、ＳＢ７の判断が否定される場合には、ＳＢ９において、前記ハードディスク４４等に記憶された通常演奏用背景映像情報に基づき、前記ディスプレイコントローラ５０等を介して前記ディスプレイ３０に選曲待ち時の表示を含むよく知られた既存の背景映像の表示が行われた後、ＳＢ１以下の処理が再び実行される。
【００５２】
図２１は、前記カラオケ装置１６のＣＰＵ３８による演奏メイン制御を示すフローチャートである。この制御では、先ず、ＳＣ１において、アレンジ演奏モード開始であるか否かが判断される。このＳＣ１の判断が否定される場合には、ＳＣ８以下の処理が実行されるが、ＳＣ１の判断が肯定される場合には、ＳＣ２において、指示されたアレンジジャンルに応じてテンプレートファイル名テーブル７０が作成され、前記ＲＡＭ４２等に記憶される。次に、ＳＣ３において、ＳＣ２にて作成されたテンプレートファイル名テーブル７０におけるセット０・ノーマルのデータが取得される。次に、前記テンポ補正手段８２の動作に対応するＳＣ４において、ＳＣ３にて取得されたデータに基づいてアレンジジャンルのテンポ値に対応する値が前記ＭＩＤＩ音源５６にセットされる。次に、ＳＣ５において、ＳＣ３にて取得されたデータに基づいてアレンジジャンルのＭＩＤＩテンプレートデータの各トラック毎の音高上限値が取得される。次に、ＳＣ６において、図２２に示すアレンジ生音再生制御に関してアレンジ生音再生を開始するように指示が行われる。次に、ＳＣ７において、前記ＭＩＤＩ音源５６の動作モードがアレンジ演奏モードに設定された後、ＳＣ１以下の処理が再び実行される。
【００５３】
ＳＣ８においては、アレンジ演奏モード停止であるか否かが判断される。このＳＣ８の判断が肯定される場合には、ＳＣ９において、図２２に示すアレンジ生音再生制御に関してアレンジ生音再生を停止するように指示が行われ、ＳＣ１０において、前記ＭＩＤＩ音源５６の動作モードが通常演奏モードに設定された後、ＳＣ１以下の処理が再び実行されるが、ＳＣ８の判断が否定される場合には、ＳＣ１１において、その時点における前記ＭＩＤＩ音源５６の動作モードはアレンジ演奏モードであるか否かが判断される。このＳＣ１１の判断が否定される場合には、ＳＣ１７以下の処理が実行されるが、ＳＣ１１の判断が肯定される場合には、ＳＣ１２において、前記アレンジ用予約バッファ７８に演奏曲の予約があるか否かが判断される。このＳＣ１２の判断が否定される場合には、ＳＣ１以下の処理が再び実行されるが、ＳＣ１２の判断が肯定される場合には、ＳＣ１３において、前記アレンジ用予約バッファ７８の最上段に予約された演奏曲がクリアされると共に、それ以下に予約された演奏曲が１段ずつ上へ移動させられる。次に、ＳＣ１４において、図２２に示すアレンジ生音再生制御に関してＭＩＤＩ連結演奏を開始するように指示が行われる。次に、図２７乃至図３１に示すアレンジＭＩＤＩ１曲分演奏制御（ＳＧ）が実行される。次に、ＳＣ１５において、前記アレンジ用予約バッファ７８に演奏曲の予約があるか否かが判断される。このＳＣ１５の判断が肯定される場合には、ＳＣ１以下の処理が再び実行されるが、ＳＣ１５の判断が否定される場合には、図２２に示すアレンジ生音再生制御に関してＭＩＤＩ連結演奏を終了するように指示が行われた後、ＳＣ１以下の処理が再び実行される。ＳＣ１７においては、前記通常用予約バッファ７６に演奏曲の予約があるか否かが判断される。このＳＣ１７の判断が否定される場合には、ＳＣ１以下の処理が再び実行されるが、ＳＣ１７の判断が肯定される場合には、ＳＣ１８において、前記通常用予約バッファ７６の最上段に予約された演奏曲がクリアされると共に、それ以下に予約された演奏曲が１段ずつ上へ移動させられる。次に、ＳＣ１９において、よく知られた既存の通常ＭＩＤＩ１曲分の演奏制御が実行された後、ＳＣ１以下の処理が再び実行される。
【００５４】
図２２は、前記カラオケ装置１６のＣＰＵ３８によるアレンジ生音再生制御を示すフローチャートである。この制御では、先ず、ＳＤ１において、アレンジ生音再生の開始が通知されたか否かが判断される。このＳＤ１の判断が否定されるうちは、ＳＤ１の判断が繰り返されることにより待機させられるが、ＳＤ１の判断が肯定される場合には、ＳＤ２において、アレンジ生音再生に関する４小節カウンタに零がセットされる。次に、ＳＤ３において、ジャンル内セット値に零がセットされる。次に、ＳＤ４において、アレンジ生音再生に関する盛り上がりフラグに零がセットされる。次に、ＳＤ５において、アレンジ生音再生の停止が通知されたか否かが判断される。このＳＤ５の判断が肯定される場合には、ＳＤ１以下の処理が再び実行されるが、ＳＤ５の判断が否定される場合には、ＳＤ６において、ＭＩＤＩ連結演奏の開始が通知されたか否かが判断される。このＳＤ６の判断が肯定される場合には、図２３に示すＳＤ１３以下の処理が実行されるが、ＳＤ６の判断が否定される場合には、ＳＤ７において、ＭＩＤＩ連結演奏の終了が通知されたか否かが判断される。このＳＤ７の判断が肯定される場合には、図２４に示すＳＤ２４以下の処理が実行されるが、ＳＤ７の判断が否定される場合には、ＳＤ８において、生音連結サイズに零がセットされる。次に、ＳＤ９において、アレンジ生音再生に関する４小節カウンタで指定される展開テーブル展開部が読み込まれる。次に、図２５に示す展開情報よりテンプレート生音データを選択、取得、及び連結するための制御が、展開情報の１小節目（ＳＥi）、２小節目（ＳＥii）、３小節目（ＳＥiii）、４小節目（ＳＥiv）に関してそれぞれ実行される。次に、ＳＤ１０において、アレンジ生音再生に関する４小節カウンタで指定される展開テーブル展開部がクリアされる。次にＳＤ１１において、連結された生音データが連結サイズ分だけ前記コーデック部５２（ＰＣＭデバイス）に出力される。次に、ＳＤ１２において、アレンジ生音再生に関する４小節カウンタに１が加算された後、ＳＤ５以下の処理が再び実行される。
【００５５】
図２３のＳＤ１３においては、その時点におけるジャンル内セット値が零であるか否かが判断される。このＳＤ１３の判断が否定される場合には、ＳＤ１６以下の処理が実行されるが、ＳＤ１３の判断が肯定される場合には、ＳＤ１４において、前記テンプレートファイル名テーブル７０で指定される０→１繋ぎの音声データ（生音データ）が読み込まれる。次に、ＳＤ１５において、ジャンル内セット値に零がセットされる。次に、前記テンプレートファイル名テーブル７０で指定される０→１繋ぎに関して図２６に示すＭＩＤＩテンプレートセットスタート制御（ＳＦi）が実行された後、図２４に示すＳＤ３１以下の処理が実行される。ＳＤ１６においては、その時点におけるジャンル内セット値が１であるか否かが判断される。このＳＤ１６の判断が否定される場合には、ＳＤ１９以下の処理が実行されるが、ＳＤ１６の判断が肯定される場合には、ＳＤ１７において、前記テンプレートファイル名テーブル７０で指定される１→２繋ぎの音声データ（生音データ）が読み込まれる。次に、ＳＤ１８において、ジャンル内セット値に零がセットされる。次に、前記テンプレートファイル名テーブル７０で指定される１→２繋ぎに関して図２６に示すＭＩＤＩテンプレートセットスタート制御（ＳＦii）が実行された後、図２４に示すＳＤ３１以下の処理が実行される。ＳＤ１９においては、その時点におけるジャンル内セット値が２であるか否かが判断される。このＳＤ１９の判断が否定される場合には、ＳＤ２２以下の処理が実行されるが、ＳＤ１９の判断が肯定される場合には、ＳＤ２０において、前記テンプレートファイル名テーブル７０で指定される２→３繋ぎの音声データ（生音データ）が読み込まれる。次に、ＳＤ２１において、ジャンル内セット値に零がセットされる。次に、前記テンプレートファイル名テーブル７０で指定される２→３繋ぎに関して図２６に示すＭＩＤＩテンプレートセットスタート制御（ＳＦiii）が実行された後、図２４に示すＳＤ３１以下の処理が実行される。ＳＤ２２においては、前記テンプレートファイル名テーブル７０で指定される３→１繋ぎの音声データ（生音データ）が読み込まれる。次に、ＳＤ２３において、ジャンル内セット値に零がセットされる。次に、前記テンプレートファイル名テーブル７０で指定される３→１繋ぎに関して図２６に示すＭＩＤＩテンプレートセットスタート制御（ＳＦiv）が実行された後、図２４に示すＳＤ３１以下の処理が実行される。
【００５６】
図２４のＳＤ２４においては、その時点におけるジャンル内セット値が１であるか否かが判断される。このＳＤ２４の判断が否定される場合には、ＳＤ２８以下の処理が実行されるが、ＳＤ２４の判断が肯定される場合には、ＳＤ２５において、前記テンプレートファイル名テーブル７０で指定される１→０繋ぎの音声データ（生音データ）が読み込まれる。次に、ＳＤ２６において、ジャンル内セット値に零がセットされる。次に、ＳＤ２７において、読み込まれた音声データが読み込まれたサイズ分だけ前記コーデック部５２（ＰＣＭデバイス）に出力された後、図２２のＳＤ１２以下の処理が再び実行される。ＳＤ２８においては、その時点におけるジャンル内セット値が２であるか否かが判断される。このＳＤ２８の判断が肯定される場合には、ＳＤ２９において、前記テンプレートファイル名テーブル７０で指定される２→０繋ぎの音声データ（生音データ）が読み込まれた後、ＳＤ２７以下の処理が実行されるが、ＳＤ２８の判断が否定される場合には、ＳＤ３０において、前記テンプレートファイル名テーブル７０で指定される３→０繋ぎの音声データ（生音データ）が読み込まれた後、ＳＤ２７以下の処理が実行される。ＳＤ３１においては、図２７乃至図３１に示すアレンジＭＩＤＩ１曲分演奏制御に関してアレンジ生音再生における４小節カウンタが継承され、ＳＤ３２において、図２７乃至図３１に示すアレンジＭＩＤＩ１曲分演奏制御が起床された後、ＳＤ２７以下の処理が実行される。
【００５７】
図２５は、前記カラオケ装置１６のＣＰＵ３８による展開情報に基づくテンプレート生音データ選択、取得、連結制御を示すフローチャートである。この制御では、先ず、ＳＥ１において、読み出された展開情報のメタ情報が「Fill」であるか否かが判断される。このＳＥ１の判断が肯定される場合には、ＳＥ２において、前記テンプレートファイル名テーブル７０の「Fill」で指定される音声データ（生音データ）が全て読み込まれ、ＳＥ９において、読み込まれたデータサイズが生音連結サイズに加算された後、本ルーチンが終了させられるが、ＳＥ１の判断が否定される場合には、ＳＥ３において、読み出された展開情報のメタ情報が「Amelo」、「Bmelo」、「Cmelo」、又は「間奏」であるか否かが判断される。このＳＥ３の判断が肯定される場合には、ＳＥ４において、アレンジ生音再生に関する盛り上がりフラグが零にセットされ、ＳＥ８において、前記テンプレートファイル名テーブル７０から盛り上がりフラグで指定される生音データが指定小節箇所のみ読み込まれた後、ＳＥ９以下の処理が実行されるが、ＳＥ３の判断が否定される場合には、ＳＥ５において、読み出された展開情報のメタ情報が「Intro」であるか否かが判断される。このＳＥ５の判断が肯定される場合には、ＳＥ６において、アレンジ生音再生に関する盛り上がりフラグが１にセットされた後、ＳＥ８以下の処理が実行されるが、ＳＥ５の判断が否定される場合には、ＳＥ７において、読み出された展開情報がデータ無しであるか否かが判断される。このＳＥ７の判断が否定される場合には、ＳＥ８以下の処理が実行されるが、ＳＥ７の判断が肯定される場合には、それをもって本ルーチンが終了させられる。
【００５８】
図２６は、前記カラオケ装置１６のＣＰＵ３８によるＭＩＤＩテンプレートセットスタート制御を示すフローチャートである。この制御では、先ず、ＳＦ１において、前記ＭＩＤＩ音源５６の設定を初期化するためのＭＩＤＩバイト列が作成される。次に、ＳＦ２において、アレンジ生音再生に関する４小節カウンタ値及びステップ値零が前記ＭＩＤＩ音源５６にセットされる。次に、ＳＦ３において、指示された繋ぎＭＩＤＩテンプレートデータが前記基調演奏データベース６８から読み込まれる。次に、ＳＦ４において、一時ステップ値に１９２がセットされる。次に、ＳＦ５において、読み出されたトラックがテンプレートデータトラック１にセットされる。次に、ＳＦ６において、読み出されたトラックが終端に到達したか否かが判断される。このＳＦ６の判断が肯定される場合には、ＳＦ１１以下の処理が実行されるが、ＳＦ６の判断が否定される場合には、ＳＦ７において、読み出し位置データのデルタ値は零以下であるか否かが判断される。このＳＦ７の判断が肯定される場合には、ＳＦ８において、アレンジ生音再生に関する４小節カウント値及び一時ステップ値で前記ＭＩＤＩ音源５６に対象となるＭＩＤＩデータが登録され、ＳＦ９において、トラック内読み出し位置が次のデータに移動させられた後、ＳＦ７以下の処理が再び実行されるが、ＳＦ７の判断が否定される場合には、ＳＦ１０において、デルタ値が１減算された後、ＳＦ１１において、読み出されたトラックが最終トラックであるか否かが判断される。このＳＦ１１の判断が否定される場合には、ＳＦ１２において、読み出しトラック位置が次のトラックに移動させられ、ＳＦ１３において、一時ステップ値に１が加算された後、ＳＦ６以下の処理が再び実行されるが、ＳＦ１１の判断が肯定される場合には、ＳＦ１４において、全トラックが終端に達したか否かが判断される。このＳＦ１４の判断が否定される場合には、ＳＦ１５において、読み出しトラック位置が先頭トラックへ移動させられた後、ＳＦ１３以下の処理が実行されるが、ＳＦ１４の判断が肯定される場合には、それをもって本ルーチンが終了させられる。
【００５９】
図２７乃至図３１は、前記カラオケ装置１６のＣＰＵ３８によるアレンジＭＩＤＩ１曲分演奏制御を示すフローチャートである。この制御では、先ず、ＳＧ１において、対象となる楽曲データにおけるＭＩＤＩデータが読み込まれる。次に、ＳＧ２において、読み込まれたＭＩＤＩデータにおけるヘッダのデルタ補正値が零以外であるか否かが判断される。このＳＧ２の判断が肯定される場合には、ＳＧ４以下の処理が実行されるが、ＳＧ２の判断が否定される場合には、ＳＧ３において、楽曲テンポ値、テンプレートテンポ値、及びテンポ補正テーブル７２に基づいてデルタ補正値が取得された後、ＳＧ４において、アレンジ生音再生制御において起床されるまでスリープ状態とされる。次に、ＳＧ５において、アレンジ生音再生制御に関して継承された４小節カウンタ値が前記ＭＩＤＩ音源５６の４小節カウンタにセットされる。次に、ＳＧ６において、ＭＩＤＩ演奏に関する４小節ステップ値が３小節目の開始位置である３８４にセットされる。次に、ＳＧ７において、先読みフラグがオン、頭フラグがオフ、ＭＩＤＩ演奏に関する盛り上がりフラグがオフとされると共に、テンプレート現在コードＣがセットされる。次に、ＳＧ８において、先読みトラックが対象となるＭＩＤＩデータのトラック１にセットされた後、図２８に示すＳＧ９以下の処理が実行される。
【００６０】
図２８のＳＧ９においては、読み出しトラックが終端に到達したか否かが判断される。このＳＧ９の判断が肯定される場合には、図２９に示すＳＧ１７以下の処理が実行されるが、ＳＧ９の判断が否定される場合には、ＳＧ１０において、読み出しトラックがメタ情報トラックであるか否か判断される。このＳＧ１０の判断が肯定される場合には、図３０に示すＳＧ３０以下の処理が実行されるが、ＳＧ１０の判断が否定される場合には、ＳＧ１１において、読み出し位置データのデルタ値が零以下であるか否かが判断される。このＳＧ１１の判断が否定される場合には、ＳＧ１２において、デルタ値が１減算された後、図２９に示すＳＧ１７以下の処理が実行されるが、ＳＧ１１の判断が肯定される場合には、ＳＧ１３において、ＭＩＤＩ演奏に関する４小節カウンタ値及びステップ値で前記ＭＩＤＩ音源５６に対象となるＭＩＤＩデータが登録される。次に、ＳＧ１４において、トラック内の読み出し位置が次のデータへ移動させられる。次に、ＳＧ１５において、その時点において読まれているトラックが楽曲データトラックであるか否かが判断される。このＳＧ１５の判断が否定される場合には、ＳＧ１１以下の処理が再び実行されるが、ＳＧ１５の判断が肯定される場合には、ＳＧ１６において、次のデータにおけるデルタ値にデルタ補正値が乗算された後、ＳＧ１１以下の処理が再び実行される。
【００６１】
図２９のＳＧ１７においては、その時点において読まれているトラックが最終楽章トラックであるか否かが判断される。このＳＧ１７の判断が肯定される場合には、ＳＧ１８において、読み出しトラックがテンプレートトラック１にセットされた後、ＳＧ２３以下の処理が実行されるが、ＳＧ１７の判断が否定される場合には、ＳＧ１９において、その時点において読まれているトラックが最終テンプレートトラックであるか否かが判断される。このＳＧ１９の判断が肯定される場合には、ＳＧ２４以下の処理が実行されるが、ＳＧ１９の判断が否定される場合には、ＳＧ２０において、その時点において読まれているトラックが非最終楽章データトラックであるか否かが判断される。このＳＧ２０の判断が肯定される場合には、ＳＧ２１において、読み出しトラックが次の楽曲データトラックにセットされた後、ＳＧ２３以下の処理が実行されるが、ＳＧ２０の判断が否定される場合には、ＳＧ２２において、読み出しトラックが次のテンプレートトラックにセットされた後、ＳＧ２３において、楽曲データにおける全トラックが終端に到達したか否かが判断される。このＳＧ２３の判断が否定される場合には、図２８のＳＧ９以下の処理が実行されるが、ＳＧ２３の判断が肯定される場合には、それをもって本ルーチンが終了させられる。ＳＧ２４においては、読み出しトラックが楽曲データトラック１にセットされる。次に、ＳＧ２５において、頭フラグがオンであるか否かが判断される。このＳＧ２５の判断が否定される場合には、ＳＧ２３以下の処理が実行されるが、ＳＧ２５の判断が肯定される場合には、ＳＧ２６において、ＭＩＤＩ演奏に関する４小節ステップ値に１が加算される。次に、ＳＧ２７において、ＭＩＤＩ演奏に関する４小節ステップ値が７６８であるか否かが判断される。このＳＧ２７の判断が否定される場合には、ＳＧ２３以下の処理が実行されるが、ＳＧ２７の判断が肯定される場合には、ＳＧ２８において、先読みフラグがオンとされ、ＳＧ２９において、ＭＩＤＩ演奏における４小節カウンタ値に１が加算されると共にステップ値に零がセットされた後、ＳＧ２３以下の処理が実行される。
【００６２】
図３０のＳＧ３０においては、先読みフラグがオンであるか否かが判断される。このＳＧ３０の判断が否定される場合には、図３１のＳＧ４０以下の処理が実行されるが、ＳＧ３０の判断が肯定される場合には、ＳＧ３１において、先読みフラグがオフにセットされる。次に、ＳＧ３２において、一時カウンタ値及び一時ステップ値にＭＩＤＩ音源５６の内部値がセットされる。次に、ＳＧ３３において、トラック内読み出し位置が記憶される。次に、ＳＧ３４において、読み出し位置データのデルタ値が零以下であるか否かが判断される。このＳＧ３４の判断が否定される場合には、ＳＧ３５において、デルタ値が４８減算されると共に一時ステップ値が４８加算された後、ＳＧ３６以下の処理が実行されるが、ＳＧ３４の判断が肯定される場合には、図３２に示す第１のメタ制御（ＳＨ）が実行された後、ＳＧ３７において、トラック内読み出し位置が次のデータへ移動させられる。次に、ＳＧ３８において、次のデータにおけるデルタ値にデルタ補正値が乗算された後、ＳＧ３４以下の処理が再び実行される。ＳＧ３６においては、一時ステップ値が７６８であるか否かが判断される。このＳＧ３６の判断が否定される場合には、ＳＧ３４以下の処理が再び実行されるが、ＳＧ３６の判断が肯定される場合には、図３１のＳＧ３９以下の処理が実行される。
【００６３】
図３１のＳＧ３９においては、トラック内読み出し位置が記憶されていた位置に戻される。次に、図３４に示すＭＩＤＩテンプレート制御（ＳＪ）が実行される。次に、ＳＧ４０において、読み出し位置データのデルタ値は零以下であるか否かが判断される。このＳＧ４０の判断が否定される場合には、ＳＧ４１において、デルタ値が１減算された後、図２９のＳＧ１７以下の処理が実行されるが、ＳＧ４０の判断が肯定される場合には、図３３に示す第２のメタ制御（ＳＩ）が実行された後、ＳＧ４２において、トラック内読み出し位置が次のデータへ移動させられる。次に、ＳＧ４３において、次のデータにおけるデルタ値にデルタ補正値が乗算された後、ＳＧ４０以下の処理が再び実行される。
【００６４】
図３２は、前記カラオケ装置１６のＣＰＵ３８による第１のメタ制御を示すフローチャートである。この制御では、先ず、ＳＨ１において、メタ情報が「Intro」、「Amelo」、「Bmelo」、「Cmelo」、「サビ」、「間奏」、又は「変拍」であるか否かが判断される。このＳＨ１の判断が否定される場合には、ＳＨ５以下の処理が実行されるが、ＳＨ１の判断が肯定される場合には、ＳＨ２において、一時カウンタ値で示される展開テーブルの一時ステップ値で示される箇所以降全てにデータ無しを示すＩＤがセットされる。次に、ＳＨ３において、一時カウンタ値に１が加算されると共に一時ステップ値に零がセットされる。次に、ＳＨ４において、一時カウンタ値及び一時ステップ値で示される展開テーブルの展開部にメタ情報「Intro」、「Amelo」、「Bmelo」、「Cmelo」、「サビ」、「間奏」、及び「変拍」の何れかを示すＩＤが書き込まれた後、本ルーチンが終了させられる。ＳＨ５においては、メタ情報が「Fill」であるか否かが判断される。このＳＨ５の判断が肯定される場合には、ＳＨ６において、一時カウンタ値及び一時ステップ値で示される展開テーブルの展開部にメタ情報「Fill」を示すＩＤが書き込まれた後、本ルーチンが終了させられるが、ＳＨ５の判断が否定される場合には、ＳＨ７において、メタ情報がコード情報であるか否かが判断される。このＳＨ７の判断が否定される場合には、それをもって本ルーチンが終了させられるが、ＳＨ７の判断が肯定される場合には、ＳＨ８において、一時カウンタ値及び一時ステップ値で示される展開テーブルのＭＩＤＩ部にコード情報が書き込まれた後、本ルーチンが終了させられる。
【００６５】
図３３は、前記カラオケ装置１６のＣＰＵ３８による第２のメタ制御を示すフローチャートである。この制御では、先ず、ＳＩ１において、メタ情報が頭フラグであるか否かが判断される。このＳＩ１の判断が否定される場合には、ＳＩ４以下の処理が実行されるが、ＳＩ１の判断が肯定される場合には、ＳＩ２において、ＭＩＤＩ演奏に関する４小節ステップ値に５７６がセットされる。次に、ＳＩ３において、頭フラグがオンにセットされた後、本ルーチンが終了させられる。ＳＩ４においては、メタ情報が「Intro」、「Amelo」、「Bmelo」、「Cmelo」、「サビ」、「間奏」、又は「変拍」であるか否かが判断される。このＳＩ４の判断が否定される場合には、それをもって本ルーチンが終了させられるが、ＳＩ４の判断が肯定される場合には、ＳＩ５において、前記ＭＩＤＩ音源５６に４小節先頭スキップ指示が書き込まれる。次に、ＳＩ６において、ＭＩＤＩ演奏に関する４小節ステップ値に零がセットされる。次に、ＳＩ７において、ＭＩＤＩ演奏に関する４小節カウンタ値に１が加算された後、本ルーチンが終了させられる。
【００６６】
図３４及び図３５は、前記カラオケ装置１６のＣＰＵ３８によるＭＩＤＩテンプレート制御を示すフローチャートである。この制御では、先ず、ＳＪ１において、ＭＩＤＩ演奏に関する４小節カウンタで示される展開テーブルの展開部、コード情報が取得される。次に、ＳＪ２において、展開部読み取り位置、コード部読み取り位置が先頭にセットされる。次に、ＳＪ３において、連結読み取りエリア、一時読み込みエリアがクリアされる。次に、ＳＪ４において、展開情報が「Fill」であるか否かが判断される。このＳＪ４の判断が肯定される場合には、ＳＪ５において、前記テンプレートファイル名テーブル７０において「Fill」のコード部情報で指定されるＭＩＤＩテンプレートデータが一時読み込みエリアに読み込まれた後、図３５のＳＪ１２以下の処理が実行されるが、ＳＪ４の判断が否定される場合には、ＳＪ６において、展開情報が「Amelo」、「Bmelo」、「Cmelo」、又は「間奏」であるか否かが判断される。このＳＪ６の判断が肯定される場合には、ＳＪ７において、ＭＩＤＩ演奏に関する盛り上がりフラグが零にセットされた後、ＳＪ１１以下の処理が実行されるが、ＳＪ６の判断が否定される場合には、ＳＪ８において、展開情報が「Intro」又は「サビ」であるか否かが判断される。このＳＪ８の判断が肯定される場合には、ＳＪ９において、ＭＩＤＩ演奏に関する盛り上がりフラグが１にセットされた後、ＳＪ１１以下の処理が実行されるが、ＳＪ８の判断が否定される場合には、ＳＪ１０において、展開情報データ無しであるか否かが判断される。このＳＪ１０の判断が肯定される場合には、図３５のＳＪ１４以下の処理が実行されるが、ＳＪ１０の判断が否定される場合には、ＳＪ１１において、前記テンプレートファイル名テーブル７０より「盛り上がり」のコード部情報で指定されるＭＩＤＩテンプレートデータが一時読み込みエリアに読み込まれた後、図３５のＳＪ１２以下の処理が実行される。
【００６７】
図３５のＳＪ１２においては、コード部情報ルート値とＣの差分が一時読み込みエリア内のＭＩＤＩテンプレートデータの全トラック、全ノートのノートナンバーに加算される。次に、ＳＪ１３において、一時読み込みエリアの内容が連結読み込みエリアにトラック毎に連結コピーされる。次に、ＳＪ１４において、コード部読み取り位置が最終であるか否かが判断される。このＳＪ１４の判断が肯定される場合には、ＳＪ１８以下の処理が実行されるが、ＳＪ１４の判断が否定される場合には、ＳＪ１５において、コード部読み取り位置が次の位置へ移動させられる。次に、ＳＪ１６において、コード部読み取り位置が４つ移動させられたか否かが判断される。このＳＪ１６の判断が否定される場合には、図３４に示すＳＪ４以下の処理が再び実行されるが、ＳＪ１６の判断が肯定される場合には、ＳＪ１７において、展開部読み取り位置が次の位置へ移動させられた後、図３４のＳＪ４以下の処理が再び実行させられる。ＳＪ１８においては、上限／下限確認対象トラックがＭＩＤＩテンプレートトラック１にセットされる。次に、ＳＪ１９において、上限／下限確認対象トラック先頭から終端までの最高音及び最低音データ音高値が取得される。次に、ＳＪ２０において、取得された最高音データ音高値が音高上限値を超えているか否かが判断される。このＳＪ２０の判断が否定される場合には、ＳＪ２０′以下の処理が実行されるが、ＳＪ２０の判断が肯定される場合には、ＳＪ２１において、上限確認対象トラックの全ノートのノートナンバーが１２減算された後、ＳＪ２０′において、取得された最低音データ音高値が音高下限値を下回っているか否かが判断される。このＳＪ２０′の判断が否定される場合には、ＳＪ２２以下の処理が実行されるが、ＳＪ２０′の判断が肯定される場合には、ＳＪ２１′において、下限確認対象トラックの全ノートのノートナンバーが１２加算された後、ＳＪ２２において、上限／下限確認対象トラックが次のトラックへセットされる。次に、ＳＪ２３において、最終トラックであるか否かが判断される。このＳＪ２３の判断が否定される場合には、ＳＪ１９以下の処理が再び実行されるが、ＳＪ２３の判断が肯定される場合には、ＳＪ２４において、連結読み込みエリアの内容が演奏エリアに連結された後、本ルーチンが終了させられる。
【００６８】
図３６は、前記カラオケ装置１６のＣＰＵ３８によるＭＩＤＩドライバインターフェイス制御を示すフローチャートである。この制御では、先ず、ＳＫ１において、テンポ値のセットであるか否かが判断される。このＳＫ１の判断が否定される場合には、ＳＫ６以下の処理が実行されるが、ＳＫ１の判断が肯定される場合には、ＳＫ２において、ＭＩＤＩ演奏に関する４小節カウンタ値、ステップ値に零がセットされる。次に、ＳＫ３において、ＭＩＤＩリングバッファ書き込み位置、読み出し位置へリングバッファ先頭がセットされる。次に、ＳＫ４において、制御リングバッファ書き込み位置、読み出し位置へリングバッファ先頭がセットされる。次に、ＳＫ５において、テンポ値に従ってタイマ割り込み設定が行われ、割り込みが許可された後、本ルーチンが終了させられる。ＳＫ６においては、ＭＩＤＩデータのセットであるか否かが判断される。このＳＫ６の判断が否定される場合には、ＳＫ９以下の処理が実行されるが、ＳＫ６の判断が肯定される場合には、ＳＫ７において、ＭＩＤＩリングバッファ書き込み位置にセット内容が書き込まれる。次に、ＳＫ８において、ＭＩＤＩリングバッファ書き込み位置が次のバッファ（終端に到達した場合は先頭）へ移動させられた後、本ルーチンが終了させられる。ＳＫ９においては、４小節先頭スキップ指示のセットであるか否かが判断される。このＳＫ９の判断が否定される場合には、それをもって本ルーチンが終了させられるが、ＳＫ９の判断が肯定される場合には、ＳＫ１０において、制御リングバッファ書き込み位置にセット内容が書き込まれる。次に、ＳＫ１１において、制御リングバッファ書き込み位置が次のバッファ（終端に到達した場合は先頭）へ移動させられた後、本ルーチンが終了させられる。
【００６９】
図３７及び図３８は、前記カラオケ装置１６のＣＰＵ３８によるＭＩＤＩドライバ割込み制御を示すフローチャートである。この制御では、先ず、ＳＬ１において、ＭＩＤＩ演奏に関する４小節ステップ値に１が加算される。次に、ＳＬ２において、ＭＩＤＩ演奏に関する４小節ステップ値が７６８であるか否かが判断される。このＳＬ２の判断が否定される場合には、ＳＬ５以下の処理が実行されるが、ＳＬ２の判断が肯定される場合には、ＳＬ３において、ＭＩＤＩ演奏に関する４小節カウンタ値に１が加算される。次に、ＳＬ４において、ＭＩＤＩ演奏に関する４小節ステップ値に零がセットされる。次に、ＳＬ５において、ＭＩＤＩリングバッファ読み出し位置が次のバッファ（終端に到達した場合は先頭）へ移動させられる。次に、ＳＬ７において、ＭＩＤＩ演奏に関する４小節カウンタ値がＭＩＤＩリングバッファ内指定カウンタ値よりも大きいか否かが判断される。このＳＬ７の判断が肯定される場合には、ＳＬ８において、ＭＩＤＩリングバッファ内バイト列が前記シリアルデバイス５８に出力された後、図３８のＳＬ１０以下の処理が実行されるが、ＳＬ７の判断が否定される場合には、ＳＬ９において、ＭＩＤＩ演奏に関する４小節カウンタ値がＭＩＤＩリングバッファ内出力指定カウンタ値と等しく、且つＭＩＤＩ演奏に関する４小節ステップ値がＭＩＤＩリングバッファ内出力指定ステップ値以上であるか否かが判断される。このＳＬ９の判断が肯定される場合には、ＳＬ８以下の処理が実行されるが、ＳＬ９の判断が否定される場合には、図３８のＳＬ１０以下の処理が実行される。
【００７０】
図３８のＳＬ１０においては、制御リングバッファ読み出し位置のバッファ内容が取得され、そのバッファがクリアされる。次に、ＳＬ１１において、ＭＩＤＩ演奏に関する４小節カウンタ値が制御リングバッファ内指定カウンタ値よりも大きいか否かが判断される。このＳＬ１１の判断が肯定される場合には、ＳＬ１３以下の処理が実行されるが、ＳＬ１１の判断が否定される場合には、ＳＬ１２において、ＭＩＤＩ演奏に関する４小節カウンタ値が制御リングバッファ内出力指定カウンタ値と等しく、且つＭＩＤＩ演奏に関する４小節ステップ値が制御リングバッファ内出力指定ステップ値以上であるか否かが判断される。このＳＬ１２の判断が否定される場合には、それをもって本ルーチンが終了させられるが、ＳＬ１２の判断が肯定される場合には、ＳＬ１３において、制御内容が４小節スキップであるか否かが判断される。このＳＬ１３の判断が肯定される場合には、ＳＬ１４において、ＭＩＤＩに関する４小節カウンタ値に１が加算されると共にステップ値に零がセットされた後、本ルーチンが終了させられるが、ＳＬ１３の判断が否定される場合には、ＳＬ１５において、よく知られた既存の制御処理が実行された後、本ルーチンが終了させられる。以上の制御において、ＳＣ、ＳＫ、及びＳＬが前記演奏制御手段８０の動作に、ＳＤ、ＳＥ、ＳＦ、ＳＧ、ＳＨ、ＳＩ、及びＳＪが基調演奏制御手段８４の動作にそれぞれ対応する。
【００７１】
続いて、本発明の他の好適な実施例を図面に基づいて詳細に説明する。なお、以下の説明において、実施例相互に共通する部分については同一の符号を付してその説明を省略する。
【００７２】
図３９は、前記カラオケ装置１２のＣＰＵ３８による曲間演奏制御の他の一例を説明するフローチャートであり、所定の周期で繰り返し実行されるものである。また、この図３９及び以下に説明する図４０、図４１に示す制御は、図１７乃至図３８を用いて前述したアレンジ演奏制御の一部としての曲間演奏制御の代替として実行されるものである。本実施例において、曲間演奏制御手段としての前記基調演奏制御手段８４は、予め定められた複数種類の曲間演奏のうちから、直前に演奏された演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させる。すなわち、前記楽曲データベース６６に記憶された多数の楽曲データは、好適には、例えばそのＭＩＤＩ部ヘッダ部等に歌手名、作曲者名、作詞者名、発表年、ジャンル情報等の属性情報をそれぞれ含んでおり、前記基調演奏制御手段８４は、曲間の直前に演奏された演奏曲における斯かる属性情報のうち少なくとも１つの属性情報を読み出し、その属性情報に基づいてその曲間に出力させる曲間演奏を選択する。好適には、前記ＭＩＤＩ部ヘッダ部に記憶されたジャンル情報（邦楽、洋楽、ポップス、ヒップホップ、レゲエ、アニメソング、童謡等）に基づき、ジャンル情報毎に予め定められた曲間演奏を選択して出力させる。
【００７３】
図３９の制御では、先ず、ＳＭ１において、１曲の演奏曲の演奏が終了したか否か、すなわち１つの楽曲データにおけるＭＩＤＩデータに基づく演奏が終了したか否かが判断される。このＳＭ１の判断が否定される場合には、それをもって本ルーチンが終了させられるが、ＳＭ１の判断が肯定される場合には、ＳＭ２において、直前に演奏された演奏曲すなわちＳＭ１にて演奏が終了した演奏曲のジャンル情報が取得される。次に、ＳＭ３において、予め定められた複数種類の曲間演奏のうちから、ＳＭ２にて取得されたジャンル情報に応じて所定の曲間演奏が選択される。次に、ＳＭ４において、前記コーデック部５２及び／又はＭＩＤＩ音源５６を介して、ＳＭ３にて選択された曲間演奏の出力が行われる。次に、ＳＭ５において、前記通常用予約バッファ７６又はアレンジ用予約バッファ７８に予約された次の演奏曲の演奏準備が整い、その演奏が開始されるか否かが判断される。このＳＭ５の判断が否定される場合には、ＳＭ４以下の処理が再び実行されるが、ＳＭ５の判断が肯定される場合には、ＳＭ６において、曲間演奏の出力が終了させられた後、本ルーチンが終了させられる。
【００７４】
図４０は、前記カラオケ装置１２のＣＰＵ３８による曲間演奏制御の更に別の一例を説明するフローチャートであり、所定の周期で繰り返し実行されるものである。なお、この図４０に示す制御において、上述した図３９の制御と共通するステップについては同一の符号を付してその説明を省略する。本実施例において、曲間演奏制御手段としての前記基調演奏制御手段８４は、予め定められた複数種類の曲間演奏のうちから、直後に演奏される演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させる。すなわち、前記基調演奏制御手段８４は、前記通常用予約バッファ７６又はアレンジ用予約バッファ７８に予約された次の演奏曲（番号が最も若く次に演奏が予定されている演奏曲）における複数の属性情報のうち少なくとも１つの属性情報を読み出し、その属性情報に基づいてその曲間に出力させる曲間演奏を選択する。好適には、前記ＭＩＤＩ部ヘッダ部に記憶されたジャンル情報（邦楽、洋楽、ポップス、ヒップホップ、レゲエ、アニメソング、童謡等）に基づき、ジャンル情報毎に予め定められた曲間演奏を選択して出力させる。すなわち、図４０に示す制御では、上述したＳＭ１の判断が肯定される場合には、ＳＭ７において、曲間の直後に演奏される演奏曲すなわち前記通常用予約バッファ７６又はアレンジ用予約バッファ７８に予約された次の演奏曲のジャンル情報が取得された後、上述したＳＭ３以下の処理が実行される。
【００７５】
また、曲間演奏制御手段としての前記基調演奏制御手段８４は、予め定められた複数種類の曲間演奏のうちから、直前に演奏された演奏曲の属性情報及び直後に演奏される演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させるものであってもよい。斯かる態様では、図４１に示すように、前述したＳＭ１の判断が肯定される場合には、ＳＭ２において、直前に演奏された演奏曲すなわちＳＭ１にて演奏が終了した演奏曲のジャンル情報が取得される。次に、ＳＭ７において、曲間の直後に演奏される演奏曲すなわち前記通常用予約バッファ７６又はアレンジ用予約バッファ７８に予約された次の演奏曲のジャンル情報が取得される。そして、ＳＭ８において、予め定められた複数種類の曲間演奏のうちから、ＳＭ２にて取得されたジャンル情報及びＳＭ７にて取得されたジャンル情報に応じて所定の曲間演奏が選択された後、前述したＳＭ４以下の処理が実行される。
【００７６】
このように、本実施例によれば、前記演奏制御手段８０（ＳＣ、ＳＫ、及びＳＬ）により複数の演奏曲を順次出力させる場合、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間に所定の曲間演奏を出力させる曲間演奏制御手段としての基調演奏制御手段８４（ＳＤ、ＳＥ、ＳＦ、ＳＧ、ＳＨ、ＳＩ、ＳＪ、及びＳＭ）を備えたものであることから、場の雰囲気が途切れがちな曲間を所定の曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで好適に持続させることができる。すなわち、演奏で盛り上がった場の雰囲気を途切れさせず持続させ得るカラオケ装置１６を提供することができる。
【００７７】
また、前記基調演奏制御手段８４は、予め定められた複数種類の曲間演奏のうちから選択される曲間演奏を前記曲間に出力させるものであるため、場の雰囲気が途切れがちな曲間を、複数種類の曲間演奏のうちから選択される所定の曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで更に好適に持続させられるという利点がある。
【００７８】
また、前記基調演奏制御手段８４は、予め定められた複数種類の曲間演奏のうちから、直前に演奏された演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させるものであるため、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間を、その終了した演奏曲の雰囲気を反映した曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで更に好適に持続させられるという利点がある。
【００７９】
また、好適には、前記基調演奏制御手段８４は、予め定められた複数種類の曲間演奏のうちから、直後に演奏される演奏曲の属性情報に応じて選択される曲間演奏を前記曲間に出力させるものであるため、１つの演奏曲の出力が終了して次の演奏曲の出力が開始されるまでの曲間を、その次の演奏曲の雰囲気を反映した曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで更に好適に持続させられるという利点がある。
【００８０】
また、前記基調演奏制御手段８４は、予め定められた複数種類の曲間演奏のうちから前記電子早見本装置２２等の入力装置を介しての入力操作により選択される曲間演奏を前記曲間に出力させるものであるため、場の雰囲気が途切れがちな曲間を、複数種類の曲間演奏のうちから利用者の所望に従って選択される曲間演奏で繋ぐことにより、１つの演奏曲の演奏において形成された雰囲気を次の演奏曲まで更に好適に持続させられるという利点がある。
【００８１】
また、所定の音声データをデコードすることでその音声データに基づく演奏を出力させるコーデック部５２を備え、前記基調演奏制御手段８４は、予め定められた音声データをそのコーデック部５２によりデコードすることで前記曲間演奏を出力させるものであるため、前記曲間演奏を実用的な態様で出力させられるという利点がある。
【００８２】
また、ＭＩＤＩ形式の演奏データに基づいて複数の楽器の演奏音を出力させるＭＩＤＩ音源５６を備え、前記基調演奏制御手段８４は、そのＭＩＤＩ音源５６によりＭＩＤＩ形式の演奏データに基づいて前記曲間演奏を出力させるものであるため、前記曲間演奏を実用的な態様で出力させられるという利点がある。
【００８３】
以上、本発明の好適な実施例を図面に基づいて詳細に説明したが、本発明はこれに限定されるものではなく、更に別の態様においても実施される。
【００８４】
例えば、前述の実施例において、前記コーデック部５２及びＭＩＤＩ音源５６は、何れも前記ＣＰＵ３８とは別体の装置として備えられたものであったが、本発明はこれに限定されるものではなく、それらの何れか一方乃至は両方が前記ＣＰＵ３８に制御機能として所謂ソフト的に備えられたものであってもよい。
【００８５】
また、前述の実施例では、図１７乃至図３８を用いて前記演奏制御手段８０により複数の演奏曲を順次出力させる際、その演奏曲の出力と併行して一定のテンポを有する所定の基調演奏を出力させるアレンジ演奏モードの一部として前記曲間演奏が出力される態様を説明したが、図３９乃至図４１のフローチャートを用いて説明したような態様では、斯かるアレンジ演奏モードとは関係なく曲間演奏制御を行うものであってもよい。また、この態様においては、前記テンポ補正手段８２による演奏曲の出力テンポの補正制御や、基調演奏用データテンプレートに基づくＭＩＤＩデータの所定トラックの置換制御等は必ずしも実行されなくてよいことは言うまでもない。
【００８６】
また、前述の実施例では、前記基調演奏データベース６８に各ジャンル毎に音声データ及び基調演奏用データテンプレートの組が４セット（セット０〜３）備えられた態様について説明したが、これは同一ジャンル内において基調演奏に変化をつけるためであり、各ジャンル毎に１セットずつであっても構わない。
【００８７】
また、前述の実施例では、１小節分の長さの音声データやＭＩＤＩデータに基づく演奏を繰り返すことにより前記曲間演奏を出力させる態様を説明したが、直前に演奏された演奏曲や直後に演奏される演奏曲のテンポと関わりなく前記曲間演奏を出力させる態様では、数小節乃至は数分程度の長さを有する音声データやＭＩＤＩデータに基づいて前記曲間演奏を出力させるものであっても構わない。
【００８８】
その他、一々例示はしないが、本発明はその趣旨を逸脱しない範囲内において種々の変更が加えられて実施されるものである。
【図面の簡単な説明】
【００８９】
【図１】本発明が好適に適用されるカラオケシステムを説明する概略図である。
【図２】本発明の一実施例であるカラオケ装置の構成を例示するブロック線図である。
【図３】図２のカラオケ装置のＣＰＵに備えられた制御機能の要部を説明する機能ブロック線図である。
【図４】図２のカラオケ装置のＲＡＭに設けられた通常用予約バッファを例示する図である。
【図５】図２のカラオケ装置のＲＡＭに設けられたアレンジ用予約バッファを例示する図である。
【図６】図２のカラオケ装置のハードディスクに備えられた楽曲データベースに記憶される楽曲データの構成を階層的に説明する図である。
【図７】図２のカラオケ装置のＲＡＭに形成されたＭＩＤＩリングバッファを例示する図である。
【図８】図２のカラオケ装置のＲＡＭに形成された制御リングバッファを例示する図である。
【図９】図２のカラオケ装置の演奏制御における４小節カウンタ及び４小節ステップについて説明する図である。
【図１０】図２のカラオケ装置のＲＡＭに形成された展開テーブルを例示する図である。
【図１１】図２のカラオケ装置のハードディスクに備えられた基調演奏データベースに記憶される基調演奏用データテンプレートを例示する図である。
【図１２】図２のカラオケ装置のハードディスクに備えられた基調演奏データベースに記憶される基調演奏用データテンプレートを例示する図である。
【図１３】図２のカラオケ装置のＣＰＵによる基調演奏出力のためのＭＩＤＩデータの置換について説明する図である。
【図１４】図１３に示す過程によって所定のトラックが基調演奏用データで置換された演奏エリアの内容を例示する図である。
【図１５】図２のカラオケ装置のＣＰＵによる基調演奏の出力に用いられるテンプレートファイル名テーブルを例示する図である。
【図１６】図２のカラオケ装置のＣＰＵによる演奏曲の出力テンポ補正に用いられるテンポ補正テーブルを例示する図である。
【図１７】図２のカラオケ装置のＣＰＵによる入力待ち制御を示すフローチャートである。
【図１８】図２のカラオケ装置のＣＰＵによるアレンジ開始制御を示すフローチャートである。
【図１９】図２のカラオケ装置のＣＰＵによるアレンジ終了制御を示すフローチャートである。
【図２０】図２のカラオケ装置のＣＰＵによる背景映像表示制御を示すフローチャートである。
【図２１】図２のカラオケ装置のＣＰＵによる演奏メイン制御を示すフローチャートである。
【図２２】図２のカラオケ装置のＣＰＵによるアレンジ生音再生制御の一部を示すフローチャートである。
【図２３】図２のカラオケ装置のＣＰＵによるアレンジ生音再生制御の一部を示すフローチャートである。
【図２４】図２のカラオケ装置のＣＰＵによるアレンジ生音再生制御の一部を示すフローチャートである。
【図２５】図２のカラオケ装置のＣＰＵによる展開情報に応じたテンプレート生音データの選択、取得、連結制御を示すフローチャートである。
【図２６】図２のカラオケ装置のＣＰＵによるＭＩＤＩテンプレートセットスタート制御を示すフローチャートである。
【図２７】図２のカラオケ装置のＣＰＵによるアレンジＭＩＤＩ１曲分演奏制御の一部を示すフローチャートである。
【図２８】図２のカラオケ装置のＣＰＵによるアレンジＭＩＤＩ１曲分演奏制御の一部を示すフローチャートである。
【図２９】図２のカラオケ装置のＣＰＵによるアレンジＭＩＤＩ１曲分演奏制御の一部を示すフローチャートである。
【図３０】図２のカラオケ装置のＣＰＵによるアレンジＭＩＤＩ１曲分演奏制御の一部を示すフローチャートである。
【図３１】図２のカラオケ装置のＣＰＵによるアレンジＭＩＤＩ１曲分演奏制御の一部を示すフローチャートである。
【図３２】図２のカラオケ装置のＣＰＵによる第１のメタ制御を示すフローチャートである。
【図３３】図２のカラオケ装置のＣＰＵによる第２のメタ制御を示すフローチャートである。
【図３４】図２のカラオケ装置のＣＰＵによるＭＩＤＩテンプレート制御の一部を示すフローチャートである。
【図３５】図２のカラオケ装置のＣＰＵによるＭＩＤＩテンプレート制御の一部を示すフローチャートである。
【図３６】図２のカラオケ装置のＣＰＵによるＭＩＤＩドライバインターフェイス制御を示すフローチャートである。
【図３７】図２のカラオケ装置のＣＰＵによるＭＩＤＩドライバ割込み制御の一部を示すフローチャートである。
【図３８】図２のカラオケ装置のＣＰＵによるＭＩＤＩドライバ割込み制御の一部を示すフローチャートである。
【図３９】図２のカラオケ装置のＣＰＵによる曲間演奏制御の他の一例を示すフローチャートである。
【図４０】図２のカラオケ装置のＣＰＵによる曲間演奏制御の更に別の一例を示すフローチャートである。
【図４１】図２のカラオケ装置のＣＰＵによる曲間演奏制御の更に別の一例を示すフローチャートである。
【符号の説明】
【００９０】
１６：カラオケ装置
５２：コーデック部
５６：ＭＩＤＩ音源
８０：演奏制御手段
８４：基調演奏制御手段（曲間演奏制御手段）
【図１】
2008046274.tif 000003
【図２】
2008046274.tif 000004
【図３】
2008046274.tif 000005
【図４】
2008046274.tif 000006
【図５】
2008046274.tif 000007
【図６】
2008046274.tif 000008
【図７】
2008046274.tif 000009
【図８】
2008046274.tif 000010
【図９】
2008046274.tif 000011
【図１０】
2008046274.tif 000012
【図１１】
2008046274.tif 000013
【図１２】
2008046274.tif 000014
【図１３】
2008046274.tif 000015
【図１４】
2008046274.tif 000016
【図１５】
2008046274.tif 000017
【図１６】
2008046274.tif 000018
【図１７】
2008046274.tif 000019
【図１８】
2008046274.tif 000020
【図１９】
2008046274.tif 000021
【図２０】
2008046274.tif 000022
【図２１】
2008046274.tif 000023
【図２２】
2008046274.tif 000024
【図２３】
2008046274.tif 000025
【図２４】
2008046274.tif 000026
【図２５】
2008046274.tif 000027
【図２６】
2008046274.tif 000028
【図２７】
2008046274.tif 000029
【図２８】
2008046274.tif 000030
【図２９】
2008046274.tif 000031
【図３０】
2008046274.tif 000032
【図３１】
2008046274.tif 000033
【図３２】
2008046274.tif 000034
【図３３】
2008046274.tif 000035
【図３４】
2008046274.tif 000036
【図３５】
2008046274.tif 000037
【図３６】
2008046274.tif 000038
【図３７】
2008046274.tif 000039
【図３８】
2008046274.tif 000040
【図３９】
2008046274.tif 000041
【図４０】
2008046274.tif 000042
【図４１】
2008046274.tif 000043