以下、本発明の一実施の形態について、図面を参照しつつ説明する。本実施形態では、利用者がカラオケ装置の演奏と共に主として自らエレキギターを演奏する場合を説明する。
<主要構成>
図1は、本実施形態のカラオケ装置の主要構成を示す説明図である。図1に示すように、カラオケ装置10には、歌詞を示す歌詞テロップ、歌詞テロップの背景に表示する背景映像、選曲番号を示す映像などをCRTに表示するモニタテレビ(以下、モニタと略称する)13(表示手段に相当)と、歌唱者用のモニタ14(表示手段に相当)と、エレキギター4やエレキベース(後述の変形例(2)参照)などの電子楽器を接続するための楽器接続ボード8と、複数の楽器演奏パートにより構成されるカラオケ用の楽曲(カラオケ楽曲。以下、適宜「曲」と略称する)の選曲、及び曲の再生の予約などの選曲制御、選曲された曲の送信要求を示すリクエスト信号のサーバへの送信、及びリクエスト信号により示される曲に対応する楽曲データ(カラオケ楽曲データに相当)の受信などの通信制御、受信された楽曲データに含まれる楽音種類指定情報たるMIDIデータのうち楽器接続ボード8に接続された楽器と同じ種類の楽器の音源を指定する等の制御装置20と、が備えられている。
さらに、カラオケ装置10には、この例では、楽器接続ボード8から入力される楽器の演奏信号、マイクロフォン17,18から入力される音声信号及び曲の再生信号のミキシング、音声と曲との音量バランス、エコー調整、デレィ調整、ミキシング信号の増幅、再生される曲の音程制御(キーコントロール)、高音、低音の制御(トーンコントロール)などを行うアンプ16と、このアンプ16から出力される増幅信号を音として再生するフロアータイプの1組のスピーカ11,11と、天井吊下げ用の1組のスピーカ12,12と、制御装置20を遠隔操作するリモコン30と、が備えられている。リモコン30には、再生される楽曲データの巻き戻し操作(詳細は後述)を行う巻き戻しボタン30a(操作入力手段に相当)、及び早送り操作(詳細は後述)を行う早送りボタン30b(操作入力手段に相当)を初めとする、各種の操作ボタンが備えられている。
楽器接続ボード8は、図示を省略するが、電子ドラム、キーボード、エレキベース、エレキギター4の出力端子(フォンプラグ)を接続するそれぞれの入力端子(フォンジャック)と、各入力端子に入力される演奏信号をそれぞれ出力する出力端子と、が設けられている。そして、楽器接続ボード8は、各楽器の出力端子を入力端子に接続することによって各楽器が接続されたこと及びその楽器の種類を自動検出する(演奏信号設定手段としての機能に相当)とともに、接続された楽器の1つの演奏信号を選択し、その選択された演奏信号を制御装置20の入力端子44(後述の図2参照)へ出力する役割をする。例えばエレキギター4から出力される演奏信号は、エレキギター4のフォンプラグを接続するフォンジャック4a(後述の図2参照)を介して楽器接続ボード8へ入力され、楽器接続ボード8の出力端子から出力される演奏信号は、制御装置20の入力端子44へ入力される。なお、上記のように楽器の接続及びその種類を自動検出するのに代え、利用者が、既に接続済みの楽器に対応した設定等をリモコン30等において手動で行うようにしてもよい。この場合、上記手動設定を受け付けるリモコン30及びそのリモコン30からの遠隔操作信号(楽器の種類情報が含まれている)を入力する制御装置20の機能が、演奏信号設定手段に相当している。
<制御系>
上記制御装置20の制御系の構成について図2を参照して説明する。図2は、制御装置20の制御系の主要構成を示す機能ブロック図である。制御装置20は、装置筺体にLAN回線15を接続する通信端子40と、楽器接続ボード8の出力端子と接続される入力端子44と、アンプ16の音声入力端子と接続される音声出力端子41と、モニタ13の映像入力端子と接続される映像出力端子42と、モニタ14の映像入力端子と接続される映像出力端子43とを備えている。この制御装置20には、制御プログラムにしたがって各種制御を実行するCPU45が設けられている。CPU45には、リモコン30から送信されるデータ、選曲された曲の選曲番号を示す選曲番号データ、予約された曲の選曲番号データなどを一時保存するためのRAM46と、CPU45により実行されるプログラム及び必要なデータテーブルなどが記憶されたROM47とが接続されている。
また、CPU45には、モニタ13,14に歌詞テロップや各種メッセージ映像を表示するための文字映像データが記憶されたビデオRAM48と、サーバ58から送信される楽曲データやコード譜情報(詳細は後述)、歌詞データ、及び映像データを通信端子40を介して受信するためのLANボード50と、このLANボード50により受信される楽曲データ及び歌詞データ等を一時保存するためのRAM49(記憶手段に相当)とが接続されている。
さらに、CPU45には、RAM49から読み出された曲データに含まれるMIDIデータを入力するとともに、その入力されたMIDIデータにより指定される音源から音源信号を出力するMIDI音源ボード51が接続されている。また、CPU45には、上記出力された音源信号を入力してアンプ16により増幅可能な信号に変換する音声制御回路52と、一般的な背景映像を示す背景映像データを読み出すCD−ROMプレーヤ53とが接続されている。
また、CPU45には、CD−ROMプレーヤ53から読み出された一般的な背景映像データ、及びRAM49から読み出された曲固有の背景データや曲データに含まれる歌詞テロップデータ等を入力し、モニタ13の表示画面に表示される背景映像中に歌詞テロップがスーパーインポーズされた映像を作成したり、曲の進行にしたがって歌詞テロップの色を変えたりする映像制御を行う映像制御回路54が接続されている。
さらに、CPU45には、制御装置20の受光部38により受光されたリモコン30からの光信号をデジタル信号に変換する変換回路55と、制御装置20の筺体に設けられた各種ボタン及びキー(テンキー、選曲ボタン等)を押したときに点灯するLEDへ表示信号を出力する表示回路56と、上記各種ボタン及びキーを押したときに発生するスイッチング信号を入力する入力回路57とが接続されている。
以上の基本構成のカラオケ装置10において、利用者がリモコン30により例えばエレキギター4の演奏パートを含むカラオケ楽曲を選曲し、選曲に対応してサーバ58から送信された楽曲データを受信すると、楽曲データが演奏される。そのエレキギター4の演奏パートを含む楽曲データの演奏に合わせて利用者がエレキギター4を演奏すると、エレキギター4から出力される演奏信号は、楽器接続ボード8を介して制御装置20の入力端子44へ入力される。そして、音声制御回路52において、音源信号が音声出力端子41へ出力される。なお、いわゆるマイナスワン再生状態の場合には、音源信号のエレキギター4の楽曲パート一部をエレキギター4の演奏信号と置き置き換えて出力される。
このとき、本実施形態では、サーバ58より歌詞データや映像データとともに受信した当該エレキギター4のギター演奏パートを含む楽曲データに対し、予め演奏支援用にコード譜情報が対応付けられており、当該楽曲データの再生時にはモニタ13,14によってコード譜情報が歌詞データや映像データと共に表示される。これにより、演奏者である利用者は、モニタ13,14に表示されるコード譜情報を活用することで、再生されるカラオケ楽曲に合わせてエレキギター4の演奏パートを自ら容易に演奏して、当該エレキギター4の練習を行ったり、カラオケ楽曲全体のアンサンブルを楽しむことができる。
<楽曲再生の巻き戻し等>
ところで、上記のようにコード譜情報を用いて利用者が自分の楽器の演奏を行うとき、利用者の演奏能力又は当該楽曲に対する習熟度により、弾きやすいコードのみならず、弾きにくい(苦手とする)コードが存在する場合もあり得る。楽曲データの再生中に苦手なコードが現れた場合には、利用者は迅速に当該コードに沿った演奏を行うことができない。
このような場合には、利用者がいわゆる公知の巻き戻し操作を行うことで、楽曲データの再生位置を戻し、その戻したデータ位置から再生を再開させることができる。しかしながら、通常行われるような、楽曲データでの所定の時間単位(例えば1秒単位)での巻き戻し手法では、(本来であれば利用者が苦手とするコードに切り替わるデータ位置まで巻き戻せばいいところを)巻き戻しをし過ぎたり、巻き戻しが足りなかったりする場合があり、不便である。また利用者がいわゆる公知の早送り操作を行って苦手とするコードをスキップしてその次のコードから再生を再開したい場合にも、上記同様、通常の早送り手法では、早送りをし過ぎたり、早送りが足りなかったりする場合がある。
<本実施形態の特徴>
そこで、本実施形態では、利用者が楽器演奏を行うために楽器接続ボード8のフォンジャックに楽器を接続し、利用者が楽曲データの再生位置の巻き戻し操作や早送り操作を行った場合に、再生位置を、例えば操作時間、操作回数、操作量等の操作態様に応じたコードチェンジ位置(コード譜情報における、あるコードと次の別のコードとの境目)に制御して、そのコードチェンジ位置から楽曲データを再生する。以下、順を追ってその詳細を図3〜図6を用いて説明する。
<データ構造>
図3は、本実施形態における、サーバ58より受信した楽曲データを含む受信データのデータ構造を示す説明図である。図3に示す例では、サーバから受信されるデータの、カラオケ楽曲の4小節分を示している。受信データは、4小節分の演奏の進行に対応した複数の楽器演奏パート(この例では、ギターパート(エレキギター4に対応)、ベースパート、ドラムパート)の楽曲データと、コード譜情報と、歌詞データ(歌詞テロップデータ)と、映像データと、を備えている。
楽曲データは、歌詞データ及び映像データとともに、図3に示すデータ中の1番目の小節(以下、単に「第1小節」等という)から再生され、時間の経過に従って第2小節、第3小節、第4小節へと再生が進行して行く。またその再生に対応して、歌詞データ及び映像データに基づく表示も進行していく。なお、図3中のポインタPは再生位置を示しており、この例では、コードEmの第1小節の途中まで再生が進んでいることを示している。ポインタPが移動した後の特定の位置を表す、図3中の「※」位置、「A」位置、「B」位置、「C」位置については後述する。
コード譜情報は、楽曲データに対応付けられており、この例では、図中の第1小節がコードEm、第2小節がコードBm7、第3小節がコードCadd9、第4小節がコードBm7となっている。
<巻き戻し・早送りの具体例>
例えば、図4に示す楽曲の例では、「あのことばさえ いわなければ〜」の歌詞となるメロディーのコード進行が、コードEm(図4中の第1小節)→コードBm7(第2小節)→コードCadd9(第3小節)→コードBm7(第4小節)・・・の順となっている。そしてこれに対応するエレキギター4の演奏は、各小節とも当該コードのストローク奏法となっている。
この楽曲を演奏するエレキギター4の利用者は、楽曲データが上記コード進行で再生されるのに合わせて、当該コード進行(Em→Bm7→Cadd9→Bm7)にてエレキギター演奏パートをストローク演奏することとなる。
その際、例えば、エレキギター4の利用者がCadd9コードの演奏を上手に行えず、もう一度Cadd9コードの部分を初めから弾きたいと考えたとする。この場合には、利用者は、Cadd9コードの演奏の途中で(前述の図3中の「※」位置に相当)リモコン30の上記巻き戻しボタン30aを1回押す。すると、図4(b)に示すように、コードCadd9の直前のコードチェンジ位置、すなわちコードBm7(第2小節)とコードCadd9(第3小節)との境(図3中の「A」位置に相当)に戻るように、楽曲データの再生位置が制御される。これにより、楽曲データがコードCadd9の冒頭から再度再生されるので、エレキギター4の利用者は、再生されるカラオケ楽曲に合わせてCadd9コードの部分を初めから演奏し、練習することができる。
また、例えば、上記利用者が上記Cadd9コードの演奏の途中(図3中の「※」位置に相当)でリモコン30の巻き戻しボタン30aを2回押した場合には、図4(b)に示すように、上述したコードCadd9の直前のコードチェンジ位置(コードBm7とコードCadd9との境)のさらに1つ前のコードチェンジ位置、言い換えればコードCadd9の2回前のコードチェンジ位置である、コードEm(第1小節)とコードBm7(第2小節)との境(図3中の「B」位置に相当)に戻るように、楽曲データの再生位置が制御される。これにより、カラオケ楽曲がコードCadd9の1つ前のコードBm7から再度再生されるので、エレキギター4の利用者は、当該位置から演奏し、練習することができる。なお、リモコン30の巻き戻しボタン30aを3回以上押した場合も同様である。すなわち、n回(n≧1)押した場合には、コードCadd9のn回前のコードチェンジ位置に戻って再生が開始される。
また、例えば、上記利用者が上記Cadd9コードの演奏の途中(図3中の「※」位置に相当)でリモコン30の早送りボタン30bを1回押すと、図4(b)に示すように、楽曲データの再生位置が、コードCadd9の直後のコードチェンジ位置、すなわちコードCadd9(第3小節)とコードBm7(第4小節)との境(図3中の「C」位置)に進むように、制御される。これにより、楽曲データがコードCadd9の後のコードBm7から再生されるので、エレキギター4の利用者は、苦手なCadd9コードの部分を途中から飛ばして、先送りしたBm7コードの部分から再生されるカラオケ楽曲に合わせて演奏することができる。なお、2回以上押した場合も同様であり、すなわち、リモコン30の早送りボタン30bをm回(m≧1)以上押した場合に、コードCadd9のm回後のコードチェンジ位置に進んで再生が開始される。
<巻き戻し・早送り時の表示例>
図5及び図6は、楽曲データの再生時にモニタ13,14に表示される表示内容の一例を示す説明図である。この例では、上記図3に示した4小節分の楽曲データに対応した表示の例を示している。すなわち、モニタ13,14の表示内容は、上記4小節分の歌詞「あの言葉さえ言わなければ」と、歌詞の上側に添えられたコード譜(第1小節:Em、第2小節:Bm7、第3小節:Cadd9、第4小節:Bm7)と、歌詞の下側に2小節分ずつ設けられた再生進行バーと、からなっている。再生進行バーは、楽曲データの再生の進行状態を帯状に延びる黒色部分によって示されている。エレキギター4の利用者は、楽曲データの再生時、モニタ13,14に表示される上記コード譜を見て、再生進行バーの延び状態に対応してコード進行順にエレキギター4のコードを押さえることで、カラオケ楽曲のエレキギターパートを容易に弾くことができる。
図5(a)は、第1小節(コードEm)の冒頭から始まった上記楽曲データの再生が第1小節の途中(歌詞「あの言葉」の「の」部分)まで進行している状態であり、1つ目の再生進行バーの黒色部分が、上記第1小節の途中まで延びている。
図5(b)は、上記図5(a)の状態からさらに再生が進み、コードEmの第1小節が終了して、コードBm7の第2小節の途中の部分(歌詞「言葉さえ」の「葉」の部分)が再生されている状態であり、上記黒色部分が第2小節の途中まで延びている。
図5(c)は、上記図5(b)の状態からさらに再生が進み、コードBm7の第2小節の終わりの部分(歌詞「言葉さえ」の「え」の部分)が再生されている状態であり、上記黒色部分が第2小節の終わりまで延びている。
図6(a)は、上記図5(c)の状態からさらに再生が進み、コードBm7の第2小節が終了して、第3小節の途中の部分(歌詞「言わな」の「わ」の部分)が再生されている状態である。これに対応して、2つ目の再生進行バーの黒色部分がコードCadd9の第3小節に進入して延びている
ここで、前述したように、エレキギター4の利用者がCadd9コードの演奏の途中(図3中の「※」位置に相当)でリモコン30の巻き戻しボタン30aを1回押すと、既に述べたように、楽曲データの再生位置がコードBm7(第2小節)とコードCadd9(第3小節)との境(コードCadd9の直前のコードチェンジ位置)まで戻る。上記黒色部分もこれに対応して、第2小節の終わりまで延びた状態へと戻る(図6(b)参照。図3中の「A」位置に相当)。
また、リモコン30の巻き戻しボタン30aが2回押されると、既に述べたように、楽曲データの再生位置がコードEm(第1小節)とコードBm7(第2小節)との境(コードCadd9の直前のコードチェンジ位置の1つ前のコードチェンジ位置)までさらに戻る。上記黒色部分もこれに対応して、第1小節の終わりまで延びた状態へと戻る(図6(c)参照。図3中の「B」位置に相当)。
なお、詳細な説明を省略するが、早送り操作の場合も、上記同様、再生開始位置の進み方向において当該早送り操作回数に対応したコードチェンジ位置に、黒色部分が延びて表示される。
<制御手順>
上記のような本実施形態の手法を実現するために、カラオケ装置10の楽曲再生時にCPU45により実行される処理内容を、図7のフローチャートにより説明する。
図7において、このフローは、カラオケ装置10の利用者が、制御装置20の電源ボタンを押して制御装置20の電源を立ち上げると、開始される。制御装置20の電源の立ち上がりに連動して、アンプ16、楽器接続ボード8及びモニタ13,14の電源が立ち上がる。なお、前述したように、この例では、カラオケ装置10の利用者が、楽器接続ボード8にエレキギター4を接続して演奏する場合を例にとって説明する。利用者がエレキギター4のフォンプラグを楽器接続ボード8の入力端子(フォンジャック)4aに接続すると、楽器接続ボード8はエレキギター4が接続されたことを検知する。
図7において、まず、ステップS10において、CPU45は、利用者による選曲が終了したか否かを判定する。選曲は、例えば、利用者がエレキギター4を演奏したい曲の選曲番号をリモコン30のテンキーにより入力し、選曲ボタンを押すと、選曲が終了する。選曲が終了するまではステップS10の判定が満たされず(ステップS10:NO)、ループ待機する。選曲が終了した場合はステップS10の判定が満たされ(ステップS10:YES)、ステップS15に移る。
ステップS15では、CPU45は、ステップS10での選曲結果に対応し、上記選曲番号を示す選曲番号データをRAM46に一時保存するとともに、LANボード50を介し、上記選曲番号に対応する曲データの送信を要求するリクエスト信号を、LAN回線15を介してサーバ58へ送信する。これにより、サーバ58は、図示しない記憶装置から、上記リクエスト信号に示される選曲番号に対応する楽曲データ及び上記コード譜情報と当該楽曲データに対応した歌詞データ及び映像データとを検索して読み出し、その読み出された曲データ等を、LAN回線15を介して制御装置20に送信する。ステップS15が終了したら、ステップS20に移る。
ステップS20では、CPU45は、LANボード50を介し、サーバ58からLAN回線15を介して送信された(コード譜情報を含む)楽曲データ等を受信する。その後、ステップS25に移る。
ステップS25では、CPU45は、上記ステップS20で受信した楽曲データ等をRAM49に一時保存する。その後、ステップS30に移る。
ステップS30では、CPU45は、上記ステップS25でRAM49に記憶されているMIDIデータの読み出しを開始し、読み出されたMIDIデータをMIDI音源ボード51に書き込む。ステップS30が終了したら、ステップS35に移る。
ステップS35では、CPU45は、MIDI音源ボード51に制御信号を出力し、上記ステップS30で書き込んだMIDIデータに対応した音源信号を、MIDI音源ボード51から出力させる。MIDI音源ボード51から出力される音源信号は、音声制御回路52へ出力されるとともに、アンプ16により増幅可能な音楽信号に変換され、この変換された音楽信号は、音声出力端子41からアンプ16へ出力される。また、マイクロフォン17,18から入力された音声信号は、アンプ16に内蔵されたミキシング回路9において上記音楽信号とミキシングされる。このとき、エレキギター4の出力端子から出力された演奏信号は、楽器接続ボード8及び制御装置20を介してミキシング回路9に入力され、上記音声信号及び音楽信号とミキシングされる。そして、そのミキシングされたミキシング信号は、アンプ16に内蔵された図示しない増幅回路により増幅された後にスピーカ11及びスピーカ12へ出力され、両スピーカによって再生される。ステップS35が終了すると、ステップS40に移る。
ステップS40では、CPU45は、モニタ13,14に制御信号を出力し、ステップS25で保存したコード譜情報及び歌詞等をモニタ13,14により表示させる。これにより、エレキギター4の演奏者である利用者は、モニタ13,14に表示されるコード譜にしたがってエレキギター4を演奏することにより、再生されるカラオケ楽曲に合わせてエレキギター演奏パートを容易に演奏することができる。その後、ステップS45に移る。
ステップS45では、CPU45は、リモコン30の上記巻き戻しボタン30aが押されたか否かを判定する。利用者が巻き戻しボタン30aを押していた場合は判定が満たされ(ステップS45:YES)、ステップS47に移る。利用者が巻き戻しボタン30aを押していない場合は判定が満たされず(ステップS45:NO)、後述のステップS55に移る。
ステップS47では、CPU45は、楽器接続ボード8の上記演奏信号設定手段としての機能により、楽器の種類(この例ではエレキギター4)が自動検出され、その旨が設定されているか否かを判定する。前述のようにして各楽器の出力端子(フォンプラグ)が接続される入力端子(フォンジャック)の検出結果に基づき上記楽器の種類の設定が既になされていた場合には、ステップS47の判定が満たされ(S47:YES)、ステップS50Aに移る。上記楽器の種類の設定がなされていない場合には、ステップS47の判定が満たされず(S47:NO)、ステップS50Bに移る。なお、前述のように上記自動検出でなく利用者により楽器の種類が手動設定される場合には、このステップS47では、当該手動設定がなされているかどうかを判定すればよい。
ステップS50Aでは、CPU45は、ステップS35で開始された楽曲データの再生における再生位置を制御して、再生位置を直前のコードチェンジ位置に戻す(言い換えれば図3に示すポインタPの位置を戻す)。これにより、後述のステップS65からステップS30にリターンして再度MIDIデータが読み出されるとき、上記戻したコードチェンジ位置の冒頭のコードから再度再生が行われることとなる。ステップS50Aが終了すると、ステップS55に移る。
一方、ステップS50Bでは、CPU45は、ステップS35で開始された楽曲データの再生における再生位置を制御して、再生位置を、従来手法と同様、上記巻き戻しボタン30aの操作態様に対応した位置に戻す。具体的には、操作回数1回(あるいは操作時間や操作量)に対し所定の時間単位(例えば再生時間換算で1秒)が予め対応付けられており、ステップS45で実行された巻き戻しボタン30aの操作に応じた再生時間分だけ再生位置が戻される。これにより、後述のステップS65からステップS30にリターンして再度MIDIデータが読み出されるとき、当該戻した再生位置から再度再生が行われることとなる。ステップS50Bが終了すると、ステップS55に移る。
ステップS55では、CPU45は、リモコン30の上記早送りボタン30bが押されたか否かを判定する。利用者が早送りボタン30bを押していた場合は判定が満たされ(ステップS55:YES)、ステップS57に移る。利用者が早送りボタン30bを押していない場合は判定が満たされず(ステップS55:NO)、後述のステップS65に移る。
ステップS57では、上記ステップS47と同様、CPU45は、楽器の種類(この例ではエレキギター4)が設定されているか否かを判定する。楽器の種類の設定が既になされていた場合には、ステップS57の判定が満たされ(S57:YES)、ステップS60Aに移る。上記楽器の種類の設定がなされていない場合には、ステップS57の判定が満たされず(S57:NO)、ステップS60Bに移る。
ステップS60Aでは、CPU45は、ステップS35で開始された楽曲データの再生における再生位置を制御して、再生位置を直後のコードチェンジ位置に進める(言い換えれば図3に示すポインタPの位置を進める)。これにより、後述のステップS65からステップS30にリターンして再度MIDIデータが読み出されるとき、進めたコードチェンジ位置の冒頭のコードから再生が行われることとなる。ステップS60Aが終了すると、ステップS65に移る。
一方、ステップS60Bでは、CPU45は、ステップS35で開始された楽曲データの再生における再生位置を制御して、再生位置を、上記ステップS50Bと同様、上記早送りボタン30bの操作態様に対応した位置へ進める。これにより、後述のステップS65からステップS30にリターンして再度MIDIデータが読み出されるとき、当該進めた再生位置から再生が行われることとなる。ステップS60Bが終了すると、ステップS65に移る。
ステップS65では、CPU45は、楽曲データの再生が終了したか(言い換えれば、ステップS30でのMIDIデータの読み出しが楽曲データの最後のMIDIデータまで終了したか)否かを判定する。楽曲データの再生が終了していれば判定が満たされ(ステップS65:YES)、このフローを終了する。楽曲データの再生が終了するまでは判定が満たされず(ステップS65:NO)、上記ステップS30に戻り、上記ステップS30〜ステップS65の手順を繰り返す。
以上のフローにおいて、上記ステップS35の手順が各請求項記載の再生手段として機能する。上記ステップS50A、ステップS50B、ステップS60A、ステップS60bの各手順が、再生制御手段として機能する。
以上説明したように、本実施形態のカラオケ装置10においては、リモコン30の上記巻き戻しボタン30aや早送りボタン30bが押された際、前述の自動検出又は手動設定により楽器設定(この例ではエレキギター4)がなされていた場合には、再生位置を、上記巻き戻し操作や上記早送り操作に応じたコードチェンジ位置に制御し、当該コードチェンジ位置から楽曲データが再生される。これにより、上述した時間単位で巻き戻しや早送りを行う従来手法と異なり、巻き戻し(又は早送り)をし過ぎたり、巻き戻し(又は早送り)が足りなかったりするのを回避し、利用者の利便性を向上することができる。
ここで、上記のようなコードチェンジ位置への巻き戻しや早送りは、楽器演奏が行われるときに上述のように有効であるが、楽器演奏が行われないとき(例えば歌唱のみが行われる場合)にはあまり意味がない。そこで、本実施形態では、前述の自動検出又は手動設定により楽器設定(この例ではエレキギター4)がなされていない場合には、上記従来手法と同様に、再生位置を、単に巻き戻し操作や早送り操作の操作態様(操作回数、操作時間、操作量等)に応じたデータ位置に制御し、そのデータ位置から、楽曲データが再生される。
以上のようにして、本実施形態では、楽器演奏が行われないときの従来通りの利便性を確保しつつ、楽器演奏が行われるときの巻き戻し(又は早送り)のし過ぎや不足を回避して、利用者の利便性を向上することができる。
なお、本発明は、上記実施形態に限られず、技術思想を逸脱しない範囲で種々の変形が可能である。以下、そのような変形例について説明する。
(1)コードチェンジ位置より少し前の位置から再生開始する場合
楽曲データの再生の際に、利用者が苦手なコードが現れて前述のように巻き戻しが行われる場合に、利用者が、その苦手なコードの直前のコード(苦手ではないコード)から当該苦手なコードへのコード切り替えを練習したい場合があり得る。同様に、早送りが行われる場合に、苦手なコードからそのコードの次のコード(苦手ではないコード)へのコード切り替えを練習したい場合があり得る。
本変形例は、このような場合に対応し、図8に示すように、上記再生位置の巻き戻し操作や早送り操作が行われたとき、その操作時の1つ前のコードチェンジ位置よりもさらに少し前(この例では、当該コードチェンジ位置と、当該コードチェンジ位置の1つ前のコードチェンジ位置との間の、所定のデータ位置。具体的には当該コードチェンジ位置より半小節前)に再生位置を制御して、その再生位置から楽曲データが再生される。なお、具体的には、上記図7のステップS50A及びステップS60Aにおいて、このような再生位置の制御が行われる。
すなわち、利用者が、Cadd9コードの演奏の途中で(前述の図3中の「※」位置に相当)リモコン30の上記巻き戻しボタン30aを1回押す。すると、図8(b)に示すように、コードCadd9の直前のコードチェンジ位置(コードBm7とコードCadd9との境)よりもさらに半小節前(すなわち第2小節のBm7コード部分の真ん中)に戻るように、楽曲データの再生位置が制御される。これにより、エレキギター4の利用者は、再生されるカラオケ楽曲に合わせてBm7コードの半小節部分に続いてCadd9コードの部分を初めから演奏し、練習することができる。
同様に、上記利用者が上記Cadd9コードの演奏の途中(図3中の「※」位置に相当)でリモコン30の巻き戻しボタン30aを2回押した場合には、図8(b)に示すように、上述したコードCadd9の直前のコードチェンジ位置(コードBm7とコードCadd9との境)のさらに1つ前のコードチェンジ位置(コードEmとコードBm7との境)よりもさらに半小節前(すなわち第1小節のEmコード部分の真ん中)に戻るように、楽曲データの再生位置が制御される。これにより、楽曲データがコードBm7の前のコードEmの半小節目から再度再生されるので、エレキギター4の利用者は、再生されるカラオケ楽曲に合わせてEmコードの半小節部分に続いてBm7コードの部分、Bm7コードの部分に続いてCadd9コードの部分を初めから演奏し、練習することができる。
以上では、再生位置の巻き戻しについて説明したが、再生位置の早送りについても、その操作時の1つ後のコードチェンジ位置よりも少し前(具体的には当該コードチェンジ位置と、当該コードチェンジ位置より1つ前のコードチェンジ位置との間の、所定のデータ位置(例えば当該コードチェンジ位置より半小節前)に再生位置を制御すればよい。
本変形例においては、楽器設定がなされ、上記巻き戻し操作や早送り操作が行われたとき、その操作態様に応じたコードチェンジ位置(上記の例では上記操作時の直前又は直後のコードチェンジ位置)よりも少し前から、楽曲データが再生される。これにより、上述した、苦手なコードを跨いだコード切り替え練習をしたいという利用者のニーズにも対応することができるので、さらに利便性が向上する。
(2)楽器ごとに楽曲データの再生開始位置が異なる場合
例えば、複数の楽器のアンサンブルにより構成されている楽曲データでは、楽器によっては、ある演奏区間の間、演奏が行われなかったりする場合がある。利用者が演奏する楽器がそのような楽器である場合には、上記の実施形態において述べた上記コードチェンジ位置ではなっても、当該楽器が演奏されないデータ位置である場合、上記実施形態の手法によって上記コードチェンジ位置に巻き戻しや早送りが行われても、当該利用者にとって意味がない。
そこで本変形例では、上記再生位置の巻き戻し操作や早送り操作が行われたとき、楽曲データの再生位置を、コードチェンジ位置であり、かつ、利用者が演奏する楽器(上記楽器設定がなされた楽器)の演奏が行われるべきデータ位置(当該楽器の演奏休止区間ではない位置)に制御する。
例えば、図9には、上記図4と同一曲において、ギター演奏パートとベース演奏パートとが含まれており、ベース演奏パートに演奏休止区間が含まれる場合を示している。図9(a)及び図9(b)は図4(a)及び図4(b)と同一図であり、前述したように、「あのことばさえ いわなければ〜」の歌詞となるメロディーのコード進行が、コードEm(第1小節)→コードBm7(第2小節)→コードCadd9(第3小節)→コードBm7(第4小節)・・・の順となっている。
そして、ギター演奏パートについては、上記第1小節〜第4小節の間、すべてが演奏(この例ではストローク演奏)する区間となっている。例えばこの楽曲を演奏するエレキギター4の利用者は、前述したように、楽曲データが上記コード進行で再生されるのに合わせて、当該コード進行(Em→Bm7→Cadd9→Bm7)にてエレキギター演奏パートをストローク演奏する。
この場合において、例えば利用者がCadd9コードの演奏の途中でリモコン30の上記巻き戻しボタン30aを1回押すと、前述したように、コードCadd9の直前のコードチェンジ位置(コードBm7とコードCadd9との境に楽曲データの再生位置が戻る(図9(b)参照))。リモコン30の巻き戻しボタン30aを2回押した場合には、さらに1つ前のコードチェンジ位置(コードEmとコードBm7との境)に楽曲データの再生位置が戻る(図9(b)参照)。
一方、ベース演奏パートについては、上記第1小節〜第4小節のうち、第1小節及び第3小節は演奏区間であるが、第2小節及び第4小節は演奏休止区間(休符の区間)となっている。したがって、例えば上記楽器接続ポート8にエレキベースを接続しこの楽曲を演奏する利用者は、前述したように、楽曲データが上記コード進行で再生されるのに合わせて、第1小節を演奏、第2小節は演奏休止、第3小節は演奏、第4小節は演奏、というようにエレキギター演奏パート全体の演奏を実行する。なお、上記のような休符区間(演奏休止区間)と演奏区間とが楽器演奏パートの内容に含まれる場合には、図3に示す楽曲データは、機能的に各楽器ごとの演奏有無情報を含んでいる(対応付けられている)こととなる。
この場合において、例えば利用者がCadd9コードの演奏の途中でリモコン30の上記巻き戻しボタン30aを1回押すと、上記ギター演奏パートと同様、コードCadd9の直前のコードチェンジ位置(コードBm7とコードCadd9との境に楽曲データの再生位置が戻る(図9(c)参照))。しかしながら、リモコン30の巻き戻しボタン30aを2回押した場合には、仮に上記同様にさらに1つ前のコードチェンジ位置(コードEmとコードBm7との境)に再生位置を戻したとしても、上記コードBm7の区間(つまり第2小節)が演奏休止区間となっていてあまり意味がない(このことは上記図7のステップS20でサーバ58から受信されたコード譜情報によりCPU45により既に認識されている)。そこで、本変形例では、さらにもう1つ前のコードチェンジ位置(コードEmの第1小節の前。演奏が行われるべきデータ位置に相当)に再生位置が戻されるのである。なお、具体的には、上記図7のステップS50A及びステップS60Aにおいて、このような再生位置の制御が行われる。これにより、エレキベースの楽器設定となっている場合には、楽曲データは上記コードEmの第1小節から再生開始される。
本変形例によれば、楽器設定がなされているときの巻き戻しや早送りによって、楽器が演奏されないコードチェンジ位置に再生位置が制御されるのをなくして、利用者にとって意味がない巻き戻しや早送りによる弊害を回避し、確実に利便性を向上することができる。
(3)楽曲データの再生直前にカウント音を入れる場合
本変形例では、上記実施形態、変形例(1)、変形例(2)の手法により楽曲データの再生が開始される直前に、当該楽曲データのテンポ(上記図7のステップS20でサーバ58から受信されたデータによりCPU45が認識)に合致したカウント音が再生される。本変形例のカウント音の再生の一例を図10に示す。なお、図中、「X」がカウント音の再生タイミングを表し、そのうち実線部分が比較的強いカウント音の再生(以下適宜、単に「強音」と称する)、波線部分が比較的弱いカウント音の再生(以下適宜、単に「弱音」と称する)を表している。
図10において、例えば、4/4拍子の場合は、楽曲データ再生開始前に2小節分のカウント期間が設けられており、1小節目が「強音、(休)、強音、(休)」の2カウント、2小節目が「強音、強音、強音、強音」の4カウントとなっている。
また、6/8拍子の場合も、楽曲データ再生開始前に2小節分のカウント期間が設けられており、1小節目が「強音、弱音、弱音、強音、弱音、弱音」の6カウント、2小節目も「強音、弱音、弱音、強音、弱音、弱音」の6カウントとなっている。
さらに、3/4拍子の場合も、楽曲データ再生開始前に2小節分のカウント期間が設けられており、1小節目が「強音、(休)、強音」の2カウント、2小節目も「強音、(休)、強音」の2カウントとなっている。
なお、具体的には、上記図7のステップS50A及びステップS60Aにおいて、前述した再生位置の制御に併せて、上記のようなカウント音の発生制御が行われる。
本変形例によれば、楽器設定がなされているときの巻き戻し(又は早送り)操作後に楽曲データの再生が再開されるとき、利用者が当該楽曲のテンポに乗りつつ、円滑に演奏を始めることができる。
なお、以上の実施形態、変形例(1)、変形例(2)においては、リモコン30の巻き戻しボタン30aや早送りボタン30bを1回押すと、直前(又は直後)のコードチェンジ位置(又はこれに対応する位置)に再生位置が制御されるようにしたが、これに限られない。巻き戻しボタン30aや早送りボタン30bを1回押すごとに、k回前(又はk回後。kは2以上の整数)のコードチェンジ位置(又はこれに対応する位置)に再生位置を移すようにしてもよい。また、上記のように、操作回数に応じて、対応する上記コードチェンジ位置を決定するのにも限られない。すなわち、上記操作ボタン30a,30bの操作時間や操作量に応じて、上記コードチェンジ位置を決定するようにしてもよい。
なお、以上において、図7に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。