以下、本発明に係る実施形態について、図面を参照しながら説明する。なお、以下に説明する実施の形態は、カラオケ通信システムに対して本願のカラオケシステム、サーバ装置及びプログラムを適用した場合の実施形態である。
[1]カラオケ通信システム
[1.1]カラオケ通信システムの概要
まず、図1を用いて本実施形態のカラオケ通信システム1の概要について説明する。なお、図1は、本実施形態に係るカラオケ通信システム1の構成を示すシステム構成図である。また、図が煩雑になることを防止するために、図1においては、一部のユーザ及び一部のカラオケシステムのみを示している。すなわち、実際のカラオケ通信システム1においては、図1に示しているよりも多数のユーザ、カラオケシステム10及びリモコン装置20が存在している。
本実施形態のカラオケ通信システム1は、カラオケデータに基づいて楽曲データ及び歌詞データの再生処理として実行する通信端末装置の一例としてカラオケシステム10と、カラオケシステム10のリモートコントローラとして機能する複数のリモコン装置20と、ネットワークNに接続され、カラオケシステム10にカラオケデータを配信(例えば、ストリーミング配信)する管理サーバ装置30と、を備え、ユーザに対してカラオケに関するサービス(以下、「カラオケ提供サービス」という。)を提供するシステムである。
また、各カラオケデータには、楽曲データと、各楽曲データに対応し、当該楽曲データの再生に同期して再生される歌詞を表示するための歌詞データと、当該楽曲の再生中に歌詞とともに背景画像を表示するための背景画像データと、が少なくとも含まれており、カラオケ通信システム1は、ユーザが選択したカラオケデータの再生を実行すると、楽曲データの再生及び当該楽曲データに対応する歌詞データと背景画像データの再生を実行する構成を備える。
特に、本実施形態のカラオケ通信システム1は、楽曲データ、歌詞データ及び背景画像データをカラオケデータとして配信しつつ同期させてその再生を実行するストリーミング配信などの取得再生処理を実行する構成を有している。
そして、カラオケ通信システム1は、ユーザによってカラオケデータにおける楽曲データの音程キー及びテンポの少なくともいずれか一方を変更する変更指示を受け付けた場合に、当該変更指示に基づいて楽曲データ、歌詞データ及び背景画像データのうち、変更指示に該当する必要な種別のデータ及び必要な部分のデータについて改変する改変データを生成し、予め定められたタイミングで取得再生中のデータであって変更対象のデータを、当該生成した改変データに切り替えて当該カラオケデータを継続的に再生する構成を有している。
カラオケシステム10は、業務用のカラオケ装置から構成されるシステムの他に、セットトップボックス、家庭用ゲーム機、又は、パーソナルコンピュータなどの装置と当該装置に接続されたモニタやテレビなど表示装置とから構成されるシステムである。
また、カラオケシステム10は、ユーザによって選曲された楽曲に対応するカラオケデータを管理サーバ装置30から取得するとともに、カラオケデータに含まれる楽曲データの再生と歌詞データ及び背景画像データの再生とを実行するカラオケデータの再生を行うことによって、ユーザによって選曲された楽曲に対応する楽音の演奏と、当該演奏に同期させつつ、当該楽曲の歌詞及び背景画像の表示と、を実行する構成を有している。
そして、カラオケシステム10は、ユーザの操作に従って、カラオケデータに基づいて楽曲データを再生するための楽曲ID(すなわち、選曲用の楽曲番号)を登録することによって、ユーザが希望するカラオケデータの再生を行うことができるようになっている。
一方、カラオケシステム10は、
(1)ユーザの選択操作に基づいてカラオケデータを管理サーバ装置30から取得しつつ当該カラオケデータに含まれる楽曲データを再生して楽音を演奏させるストリーミングに基づく楽曲再生機能、
(3)楽音の演奏に伴って、カラオケデータに含まれる歌詞データの再生により楽曲の歌詞を表示させる歌詞表示機能、
(4)カラオケデータに含まれる背景画像データを再生し、背景画像を表示する画像表示機能、及び、
(5)歌唱終了後又はその他のタイミングにおいて歌唱したユーザの採点を行う採点機能、
(6)管理サーバ装置30及びリモコン装置20と連動して各リモコン装置20をリモートコントローラとして登録する登録機能、及び、
(7)再生中のカラオケデータにおける音程キー、テンポ又はその双方を変更する楽曲設定変更機能、
等の各種機能を有している。
特に、カラオケシステム10の楽曲設定変更機能は、
(1)カラオケデータの再生中に、ユーザによる楽曲の音程キー及びテンポの少なくともいずれか一方を変更する変更指示を受け付け、当該変更指示の内容を示す変更指示データを管理サーバ装置30に送信し、
(2)カラオケデータの再生中に、管理サーバ装置30にて変更指示データに基づいて生成された少なくとも楽曲データを含む改変データをストリーミング配信により取得しつつ再生し、
(3)当該改変データの再生については、予め定められたタイミングで、取得再生中のカラオケデータにおける楽曲データ及び歌詞データのうち、少なくとも楽曲データを当該取得している改変データに含まれる楽曲データに切り替えてその再生を実行する、
構成を有し、再生中のカラオケデータにおける音程キー及びテンポを変更して楽曲データの再生及び歌詞データの再生を継続的に実行するようになっている。
なお、カラオケシステム10に代えてこれらの機能を有する携帯型の通信端末装置で実現する場合には、スマートフォン、携帯電話機、タブレット型情報通信端末装置などの表示機能を有する携帯端末装置であればよい。ただし、本実施形態においては、説明を具体的なものとするため、カラオケシステム10は、セットトップボックスや家庭用カラオケ装置などのストリーミング再生を実行する再生装置とモニタとから構成されるシステムを用いて説明を行う。
また、上記表示機能により歌詞とともに表示させる背景画像の内容は、任意であるが、本実施形態においては、説明を具体化するため、楽曲毎に予め設定されている背景画像を歌詞とともに表示するものとして説明を行う。
特に、本実施形態においては、背景画像を表示するための背景画像データは、楽曲データや歌詞データと同期させて再生するデータであってもよいし、非同期に再生するデータであってもよい。そして、背景画像データは、カラオケシステム10に予め記憶され、又は、管理サーバ装置30から提供されるデータであってもよい。
ネットワークNは、例えば、携帯電話網を含む公衆電話網と、IP(Internet Protocol)ネットワークが相互接続されて構成される。ただし、当該ネットワークNの構成は、これに限られない。
リモコン装置20は、例えば、ユーザが携帯可能(持ち運び可能)なスマートフォン、携帯用電話機及びタブレット型情報携帯端末装置等である。
具体的には、リモコン装置20は、XML(eXtensible Markup Language)、又は、JSON(JavaScript(登録商標) Object Notation)等のマークアップ言語によって記述されているリソースデータをURLに基づいて取得し、当該取得したリソースデータに基づいて、画像の表示、音の再生及びデータ通信を行うブラウジング機能を有する。
また、リモコン装置20は、タッチパネル機能を有するとともに、カラオケシステム10の操作用のアプリケーションを実行する。
なお、操作用のアプリケーションは、カラオケデータの選択(すなわち、選曲)、カラオケデータの再生、音程キーやテンポの変更、その中止、採点結果の表示や中止などを含むカラオケシステム10の各種の操作をさせることが可能なアプリである。
なお、この操作用アプリは、選曲に必要な楽曲ID(すなわち、選曲番号)等を含む楽曲選曲用のデータを含んでもよく、当該楽曲選曲用のデータを管理サーバ装置30から取得する構成であってもよい。
管理サーバ装置30は、各種のデータベース(以下、「DB」と略す。)を記憶し、カラオケ通信システム1にてユーザに提供されるカラオケ提供サービスを含む各種のサービスを管理する機能を有するサーバ装置である。
また、管理サーバ装置30は、自機に設けられたDB内のユーザ情報や楽曲データ、歌詞データの各種データを管理し、カラオケシステム10からの要求に従って、要求された各種データをDBから読み出してカラオケシステム10に送信する機能を有する。
特に、管理サーバ装置30は、
(1)カラオケシステム10から、ユーザによって選曲された楽曲に対応するカラオケデータの取得要求を示す取得要求指示データを受け付け、
(2)受け付けた取得要求指示データに基づいて、該当する楽曲データ及び歌詞データを含むカラオケデータをカラオケシステム10にストリーミング配信などによって配信し、
(3)カラオケデータの配信中に、ユーザによる楽曲の音程キー及びテンポの少なくともいずれか一方を変更する変更指示データをカラオケシステム10から受信し、
(4)受信した変更指示データに基づき、配信中のカラオケデータに対応する楽曲データ及び歌詞データのうち、少なくとも楽曲の音程キー及びテンポについて改変した改変データを生成し、
(5)所定のタイミングから、改変データをストリーミング配信しつつ、既に配信中のカラオケデータに含まれる楽曲データ及び歌詞データのうち、少なくとも楽曲データの配信を停止する、
構成を有している。
なお、本実施形態の管理サーバ装置30は、カラオケデータが記憶されるDBについては、内部形成されていてもよいし、外部に形成されていてもよい。ただし、DBが管理サーバ装置30の外部に形成されている場合であっても、各DBと直接又はネットワークNを介して接続され、各DBを直接管理するようになっている。
[1.2]カラオケ通信システムの動作概要(楽曲設定変更機能)
次に、図2を用いて本実施形態のカラオケ通信システム1の動作概要及び上記楽曲設定変更機能について説明する。
なお、図2及び図3は、本実施形態のカラオケ通信システム1において実現される楽曲設定変更機能を説明するための図である。特に、図2(A)は、通常の楽曲設定変更機能のない場合の配信されるカラオケデータと再生される楽曲データ及び歌詞データの関係性を示す図、図2(B)は、楽曲の音程キーを変更する際の配信されるカラオケデータと再生される楽曲データ及び歌詞データの関係性を示す図、及び、図3は、楽曲のテンポを変更する際の配信されるカラオケデータと再生される楽曲データ及び歌詞データの関係性を示す図である。
また、例えば、以下で説明する目標時刻は、本発明の所与のタイミングの一例である。
また、以下の説明においては、楽曲データ及び歌詞データを用いて楽曲設定変更機能について説明し、背景画像データについてはその説明を省略する。そして、以下の説明については、再生開始時にストリーミング配信され、カラオケデータに含まれる楽曲データ及び歌詞データが原曲の状態のデータ(以下、「楽曲データ(原曲)」及び「歌詞データ(原曲)」ともいう。)であるものとする。
(楽曲設定変更機能の基本原理)
本実施形態のカラオケシステム10は、カラオケデータの再生中であって、ユーザによる楽曲の音程キー及びテンポの少なくともいずれか一方を変更する変更指示を受け付けた場合に、
(1)変更指示データに基づいて、カラオケデータの再生中に管理サーバ装置30において改変された少なくとも楽曲データを改変データとして取得しつつ、
(2)予め定められたタイミングで、取得再生中の楽曲データ及び歌詞データのうち、少なくとも楽曲データを当該取得している改変データに含まれる楽曲データに切り替えて、
(3)選曲された楽曲データ及び歌詞データの再生を継続的に実行する、
構成を有している。
特に、このような楽曲の音程キーやそのテンポを変更する場合には、管理サーバ装置30は、配信されるカラオケデータに含まれる楽曲データ及び歌詞データを楽曲の音程キーやテンポに合わせて改変し、再度カラオケデータをカラオケデータストリームとして配信する必要がある。
したがって、このような場合には、管理サーバ装置30における処理負担が大きくなるとともに、ストリーミング配信を行う場合においても、データ量が大きくなるので、転送速度は低下し、スムーズな音程キーやそのテンポの変更を行うことができない。
その一方、カラオケデータの楽曲データが示す楽曲の音程キーを変更する場合には、歌詞データの改変は不要であるとともに、楽曲のテンポを変更する場合には、楽曲データ及び歌データが改変の対象となるので、改変データの対象となるデータの種別が異なることとなる。
具体的には、楽曲の音程キーを変更する場合には、楽曲データの再生スピードについては変化せずに、歌詞データの再生スピードも変化せず、歌詞の表示タイミングが変わらないので、表示中の歌詞データを改変する必要性がない。したがって、この場合に、楽曲データのみを改変し、改変データとしては改変された楽曲データさえ含まれていればよい。
また、楽曲のテンポを変更する場合には、楽曲データの再生スピードが変化することによって、歌詞データの再生スピードも変化することになり、歌詞の表示タイミングも変化し、楽曲データのみならず、歌詞データをも改変する必要性が生じる。したがって、この場合には、楽曲データとともに歌詞データをも改変し、改変データとしては改変された楽曲データ及び歌詞データを含めなければならない。
そこで、本実施形態のカラオケ通信システム1においては、ストリーミング配信などのカラオケデータを取得しつつ再生する場合において、楽曲の音程キー、当該楽曲のテンポ又はその双方の変更などによってデータについて改変が必要な場合には、改変の対象となる種別のデータのみ改変し、また、必要な部分のデータについてのみ改変することによって、改変データを改変ストリームデータとしてカラオケデータの再生と切り替え可能に配信することができるようになっている。
そして、本実施形態のカラオケ通信システム1においては、不要なデータの改変によって生ずる処理負担を軽減することができるとともに、煩雑な処理を行うことなく、当該楽曲の音程キー、当該楽曲のテンポ又はその双方の変更が反映されたカラオケデータを迅速に取得再生することができるようになっている。
(目標時刻と改変データストリーム)
本実施形態の場合には、カラオケデータストリームのストリーミング配信とそれに伴う楽曲データ及び歌詞データの再生が実行されている場合において、改変データを改変データストリームとしてストリーミング配信する場合には、当該カラオケデータストリームの各データから改変データストリームにおける該当するデータへの切り替えタイミングを特定する必要がある。
また、ストリーミング配信を行う場合には、ネットワークNの通信レートに応じた配信時間と、管理サーバ装置30において楽曲データ及び歌詞データを含むカラオケデータを改変するための処理時間と、に応じて改変データストリームのカラオケシステム10における到来時刻(受信時刻)が遅延することになる。
すなわち、変更指示のなされたタイミングにおいて再生されていたデータ以降の楽曲データ等を管理サーバ装置30において改変して、カラオケシステム10に配信したとしても、当該改変後のデータは、数秒間遅れて、カラオケシステム10に受信されることになり、シームレスな楽曲再生を行うことができなくなる可能性がある。
そこで、本実施形態のカラオケ通信システム1は、楽曲の音程キー、テンポ又はその双方の変更指示がなされた場合には、当該管理サーバ装置30とカラオケシステム10と間におけるデータ転送速度や管理サーバ装置30の処理速度に基づいて、改変データストリームにおける楽曲データ及び歌詞データに切り替える切り替え時刻を示す目標時刻を設定し、当該目標時刻に基づいて改変データストリームを生成し、かつ、配信する構成を有している。
例えば、カラオケデータストリームに基づく楽曲データ及び歌詞データの再生開始から1分経過したタイミングにおいて、カラオケシステム10から変更指示データが送信された場合であって、当該変更指示の送信から改変データストリームの受信までに発生する遅延が5秒間ある場合を想定する。
この場合には、管理サーバ装置30は、楽曲データの先頭から1分5秒目の再生位置から再生される楽曲データを含む、又は楽曲データ及び歌詞データを含む改変データストリームが生成させる。
このように、本実施形態のカラオケ通信システム1においては、遅延時間を含めて改変データストリームの生成及び配信を行うことによって、改変データに用いるデータ量を削減し、迅速に当該改変データを生成することができるので、音程キーやテンポなどの変更指示後に迅速に改変データに切り替えることができるとともに、シームレスに楽曲データ及び歌詞データの再生を実行することができるようになっている。
なお、遅延時間は、改変データを予め定められた確実に受信可能な時間(例えば、5秒後)を一律に設定して各目標時刻を設定してもよいし、カラオケシステム10の電源投入時やカラオケデータの予約時などの予め定められたタイミングにおいて、管理サーバ装置30と通信を行う際に計測された時間を用いて遅延時間を設定して各目標時刻を設定してもよい。
(楽曲の音程キー又はそのテンポの変更が無い場合)
カラオケシステム10は、楽曲の音程キー及びテンポを変更しない場合には、管理サーバ装置30によって生成及びストリーミング配信されたカラオケデータストリームに従って楽曲データ及び歌詞データの再生を最初から最後まで実行する。
管理サーバ装置30は、カラオケシステム10から送信された楽曲IDを含むカラオケデータの再生指示を受信すると、該当する楽曲IDに対応付けられた楽曲データ及び歌詞データを含むカラオケデータストリームを該当するカラオケシステム10に配信する。
そして、カラオケシステム10は、カラオケデータストリームの受信を開始すると、当該カラオケデータストリームに含まれる楽曲データ及び歌詞データの再生を開始し、楽音を演奏し及び歌詞を表示する。当該カラオケデータストリームのストリーミング配信が終了するまで、楽音の演奏及び歌詞の表示を実行する。
例えば、管理サーバ装置30は、カラオケデータを選曲するための楽曲IDを含む指示入力データを受信すると、予め記憶された原曲の楽曲データ(以下、「楽曲データ(原曲)」という。)、及び、原曲の歌詞データ(以下、「歌詞データ(原曲)」という。)を含む該当するカラオケデータストリームを生成する。
そして、管理サーバ装置30は、図2(A)の[1]に示す所定のタイミング(以下、「配信開始タイミング」という。)から当該生成したカラオケデータストリームを該当するカラオケシステム10に配信するストリーミング配信を開始する。
また、カラオケシステム10は、管理サーバ装置30から送信されたカラオケデータストリームの受信を開始し、当該再生準備を完了すると、当該再生準備の完了タイミングを示す再生開始タイミング(図2(A)の[2]のタイミング)から、受信を開始したカラオケデータストリームに含まれる楽曲データ(原曲)と歌詞データ(原曲)の再生を開始する。
そして、カラオケシステム10は、楽曲データ及び歌詞データの再生が終了する再生終了タイミング(図2(A)の[4]のタイミング)まで、当該カラオケデータストリームに含まれる楽曲データ(原曲)と歌詞データ(原曲)の再生を実行する。
特に、カラオケシステム10は、管理サーバ装置30から配信されるカラオケデータストリームを、例えば、30秒分バッファに蓄積させつつ、当該カラオケデータストリームに含まれる楽曲データを順次再生することによって原曲の音程キー及びテンポで楽曲の楽音を演奏させつつ、当該楽曲データの再生に同期させて歌詞データに基づいて歌詞を表示させる。
なお、このため、カラオケデータストリームの受信は、楽曲データ及び歌詞データの再生終了タイミングの前のタイミング(図2(A)の[3]のタイミング)で終了する。
(楽曲の音程キーを変更する場合)
管理サーバ装置30は、カラオケデータの再生中に、カラオケシステム10から送信された当該カラオケデータにおける楽曲の音程キーを変更する変更指示データを受信した場合には、当該受信したタイミングで、該当する楽曲データ(具体的には変更指示データに含まれる楽曲IDによって特定される原曲として記憶されている楽曲データ)に対して音程キーを変更する改変を実行する。
そして、管理サーバ装置30は、該当する楽曲データの目標時刻に相当する再生位置から再生可能な改変データを改変データストリームとして該当するカラオケシステム10に対してストリーミング配信する。
特に、管理サーバ装置30は、ユーザの指示に基づく音程キーの変更指示があったタイミング以降であって、カラオケシステム10において設定された切り替え時刻を示す目標時刻から、改変後楽曲データを再生するため、音程キーの改変を実行する。
そして、管理サーバ装置30は、所定のタイミングで、改変前のカラオケデータストリームにおける楽曲データについての配信を中止するとともに、改変不要な歌詞データ(すなわち、楽曲のキー変更の場合には、歌詞データの改変は不要である。)のみをカラオケデータストリームとして継続して配信する。
例えば、管理サーバ装置30は、図2(A)と同様に、ストリーミング配信を実行している場合において、カラオケシステム10を介してユーザの指示に基づく音程キーの変更指示があった場合(図2(B)の[5]のタイミング)には、音程キーが変更された楽曲データ(キー改変)のみによって構成された改変データストリームを生成する。
そして、管理サーバ装置30は、当該生成が完了したタイミング(図2(B)の[6]のタイミング)から改変データストリームを該当するカラオケシステム10に配信するストリーミング配信を開始する。
特に、管理サーバ装置30は、ユーザの指示に基づく音程キーの変更指示があったタイミング以降のタイミングで、カラオケシステム10において設定された目標時刻(図2(B)の[7]のタイミング)から改変後楽曲データを再生するため音程キーの改変を実行する。
すなわち、管理サーバ装置30は、図2(B)に示すように、既に歌唱済みの部分における楽曲データ及び変更指示があったタイミング(図2(B)の[5]のタイミング)から目標時刻(図2(B)の[7]のタイミング)までの楽曲データを除き、改変後の歌唱部分における楽曲データに対して音程キーの改変を実行し、改変データストリームの生成及びストリーミング配信を実行する。
このとき、管理サーバ装置30は、カラオケデータ(原曲)及び歌詞データ(原曲)を含むカラオケデータストリームにおけるストリーミング配信については、適当なタイミング又は楽曲データの再生が切り替わったタイミング以降のタイミングにおいて、歌詞データのみから構成されるカラオケデータストリームの配信に切り替える。
なお、管理サーバ装置30は、楽曲データ(原曲)及び歌詞データ(原曲)から構成されるカラオケデータストリームの配信を当該ストリームの配信終了まで継続させてもよい。
一方、カラオケシステム10は、音程キーの変更指示が入力された後に、改変データストリームを受信すると、目標時刻から未改変の楽曲データと歌詞データから構成されるカラオケデータストリームに基づく楽曲データの再生を、改変データストリームに基づく楽曲データの再生に切り替える。ただし、カラオケシステム10は、カラオケデータストリームにおける歌詞データの再生を継続して実行する。
例えば、カラオケシステム10は、改変データストリームの受信を開始すると、目標時刻(図2(B)の[7]のタイミング)にカラオケデータストリームにおける楽曲データの再生から当該改変データストリームにおける楽曲データの再生に切り替える。
その一方、カラオケシステム10は、カラオケデータストリームにおける歌詞データの再生を継続して実行する。
そして、カラオケシステム10は、楽曲データの再生が終了するまで、改変データストリームに基づく楽曲データ及びカラオケデータストリームに基づく歌詞データの再生を実行する。
なお、カラオケシステム10は、目標時刻までに改変データストリームを受信することができない場合には、カラオケデータストリームに基づく楽曲の再生を継続しつつ、改変データストリームを受信し、改変後楽曲データの再生準備が完了次第、カラオケデータストリームにおける楽曲データの再生から当該改変データストリームにおける改変後楽曲データの再生に切り替える。
特に、目標時刻を過ぎて改変データストリームを受信した場合には、受信したタイミングから所定の時間待機し、適切なタイミングにカラオケデータストリームにおける楽曲データの再生から当該改変データストリームにおける改変後楽曲データの再生に切り替える。
通常、ストリーミング配信に基づく楽曲データの再生速度よりも、改変データストリームのデータ転送速度の方が早い。したがって、受信したタイミングから所定の時間待機していればカラオケデータに基づく楽曲の再生位置に改変データストリームにおける楽曲の再生位置が追いつくこととなる。そこで、本実施形態においては、当該再生位置が追いついたタイミングで、カラオケデータストリームにおける楽曲データの再生から当該改変データストリームにおける改変後楽曲データの再生に切り替えるようになっている。
なお、カラオケシステム10は、改変データストリームに切り替えた後は、既にカラオケデータストリームにおけるバッファに記憶された楽曲データを削除する。
(楽曲のテンポを変更する場合)
管理サーバ装置30は、カラオケシステム10から送信された楽曲のテンポを変更する変更指示データを受信した場合には、当該受信したタイミングで、該当する楽曲データ(具体的には変更指示データに含まれる楽曲IDによって特定される原曲として記憶されている楽曲データ)に対してテンポを変更する改変を実行するとともに、該当する歌詞データ(具体的には変更指示データに含まれる楽曲IDによって特定される原曲として記憶されている歌詞データ)に対してテンポを変更する改変を実行する。
そして、管理サーバ装置30は、該当する楽曲データの目標時刻に相当する再生位置から再生可能な当該改変後の楽曲データ及び歌詞データから構成される改変後データを改変データストリームとしてストリーミング配信する。
特に、管理サーバ装置30は、ユーザの指示に基づくテンポの変更指示があったタイミング以降であって、カラオケシステム10において設定された目標時刻から、楽曲データの再生を行う楽曲データ、及び、歌詞データを再生する歌詞データについてテンポの改変を実行する。
また、そして、管理サーバ装置30は、目標時刻で、改変前のカラオケデータストリームを改変データストリームに切り替えると、当該改変前のカラオケデータストリームの配信を中止する。
例えば、管理サーバ装置30は、ストリーミング配信を実行している場合において、カラオケシステム10を介してユーザの指示に基づくテンポの変更指示があった場合(図3の[5]のタイミング)には、テンポが変更された楽曲データ(テンポ改変)及び歌詞データ(テンポ改変)よって構成された改変データストリームを生成する。
そして、管理サーバ装置30は、当該生成が完了したタイミング(図3の[6]のタイミング)から改変データストリームを該当するカラオケシステム10に配信するストリーミング配信を開始する。
特に、管理サーバ装置30は、ユーザの指示に基づくテンポの変更指示があったタイミング以降のタイミングで、カラオケシステム10において設定された目標時刻(図3の[7]のタイミング)から楽曲データの再生を行う楽曲データ及び歌詞データの再生を行う歌詞データについてテンポの改変を実行する。
すなわち、管理サーバ装置30は、図3に示すように、既に歌唱済みの部分における楽曲データ及び変更指示があったタイミング(図3の[5]のタイミング)から目標時刻(図3の[7]のタイミング)までの楽曲データ及び歌詞データを除き、改変後の歌唱部分における楽曲データ及び歌詞データを含む改変データストリームの生成及びストリーミング配信を実行する。
このとき、管理サーバ装置30は、カラオケデータ(原曲)及び歌詞データ(原曲)を含むカラオケデータストリームにおけるストリーミング配信については、適当なタイミング又は楽曲データの再生が切り替わったタイミング以降のタイミングでその配信を終了させる。
一方、カラオケシステム10は、テンポの変更指示が入力された後に、改変データストリームを受信すると、目標時刻から、未改変の楽曲データと歌詞データから構成されるカラオケデータストリームに基づく楽曲データ及び歌詞データの再生を、改変データストリームに基づく楽曲データ及び歌詞データの再生に切り替える。
例えば、カラオケシステム10は、改変データストリームの受信を開始すると、目標時刻(図3の[7]のタイミング)から、カラオケデータストリームにおける楽曲データ及び歌詞データの再生から当該改変データストリームにおける楽曲データ及び歌詞データの再生に切り替える。
そして、カラオケシステム10は、楽曲データの再生が終了するまで、改変データストリームに基づく楽曲データ及び歌詞データの再生を実行する。
なお、カラオケシステム10は、音程キーの変更の場合と同様に、目標時刻までに改変データストリームを受信することができない場合には、カラオケデータストリームに基づく楽曲データ及び歌詞データの再生を継続しつつ、改変データストリームを受信し、改変データストリームにおける楽曲データ及び番組データの再生準備が完了次第、カラオケデータストリームにおける楽曲データ及び歌詞データの再生から当該改変データストリームにおける楽曲データ及び歌詞データの再生に切り替える。
また、カラオケシステム10は、改変データストリームに切り替えた後は、既にカラオケデータストリームにおけるバッファに記憶された楽曲データ及び歌詞データを削除する。
(楽曲の音程キー及びテンポの双方を変更する場合)
管理サーバ装置30は、カラオケシステム10から送信された楽曲の音程キー及びテンポを変更する変更指示データを受信した場合には、当該受信したタイミングで、該当する楽曲データ(具体的には変更指示データに含まれる楽曲IDによって特定される原曲として記憶されている楽曲データ)に対して音程キー及びテンポを変更する改変を実行する。
そして、管理サーバ装置30は、該当する楽曲データの目標時刻に相当する再生位置から再生可能な楽曲データ及び歌詞データから構成される改変データを改変データストリームとして該当するカラオケシステム10に対してストリーミング配信する。
そして、カラオケシステム10は、テンポの変更指示が入力された後に、改変データストリームを受信すると、目標時刻から、未改変の楽曲データと歌詞データから構成されるカラオケデータストリームに基づく楽曲データ及び歌詞データの再生を、改変データストリームに基づく楽曲データ及び歌詞データの再生に切り替える。
なお、この場合における具体的な各部の動作ついては、楽曲の音程キー及びテンポを変更する場合と同様であるため、その説明を省略する。
[2]各部の具体的な構成
[2.1]カラオケシステム
次に、図4を用いて本実施形態のカラオケシステム10について説明する。なお、図4は、本実施形態のカラオケシステム10の構成を示すブロック図である。
本実施形態のカラオケシステム10は、図4に示すように、ネットワークNを介して管理サーバ装置30からカラオケデータを取得するための通信を行う通信制御部111と、マイクMから出力された音声信号に対して所定の処理を行うことによって音声データを生成する音声入力処理部112と、カラオケデータに含まれる楽曲データを再生するカラオケ再生部113と、再生された楽曲データに対応する楽音をスピーカSPに拡声させる拡声処理部114と、を備えている。
また、カラオケシステム10は、システム表示部115と、システム表示部115を制御するシステム表示制御部116と、ユーザによる操作指示を受け付ける操作受付部117と、各部を統合的に制御するシステム制御部118と、現在日時を特定し、又は、ストップウォッチとして機能するタイマ120と、上記各機能を実現するための処理を実行するデータ処理部130と、を備えている。
そして、カラオケシステム10は、システム制御部118を中心にバスや所定の伝送ラインによって接続されている。
なお、例えば、本実施形態のカラオケ再生部113及びシステム表示制御部116は、通信制御部111及びデータ処理部130と連動して、本発明の「取得再生手段」を構成し、操作受付部117は、システム制御部118及びデータ処理部130と連動して、本発明の「選曲受付手段」と、「変更受付手段」を構成する。
通信制御部111は、システム制御部118の制御の下、ネットワークNを介して管理サーバ装置30と通信回線を構築し、各種データの授受を行う。
特に、通信制御部111は、カラオケデータの選曲を受け付けた場合、及び、カラオケデータの再生中に当該カラオケデータにおける音程キーやテンポの変更指示を受け付けた場合に、データ処理部130と連動して、種々のデータの送信し、又は、受信する。
また、通信制御部111は、カラオケデータストリーム又は改変データストリームを受信した場合には、システム制御部118及びデータ処理部130と連動しつつ、カラオケ再生部113に楽曲データを供給し、歌詞データをシステム表示制御部116に供給する。
カラオケ再生部113は、例えば、WAV(Waveform Audio Format)形式などのデータストリームを再生する再生機能を有し、システム制御部118の制御の下、管理サーバ装置30からストリーミング配信されるカラオケデータストリーム又は改変データストリームに含まれる楽曲データの再生(以下、「楽曲データの再生」ともいう。)を実行し、拡声処理部114に出力する。
特に、本実施形態において、カラオケ再生部113は、管理サーバ装置30から供給されデータストリームに含まれる楽曲データを所定時間分バッファリングしつつ、楽曲データを再生する。
また、カラオケ再生部113は、カラオケデータストリームから改変データストリームに切り替わる場合には、目標時刻やその後のタイミングにおいて、再生対象をカラオケデータストリームに含まれる楽曲データから改変データストリームに含まれる改変された楽曲データに切り替えつつ、楽曲の再生をシームレスに継続させる構成になっている。
拡声処理部114は、システム制御部118の制御の下、カラオケ再生部113から出力された楽曲データをアナログ形式のオーディオ信号に変換する処理及び変換されたオーディオ信号を所定のレベルに増幅してスピーカSPに出力する処理を行う。
なお、スピーカSPは、カラオケシステム10が設けられた設置場所によって適したシステムによって構成されている。また、拡声処理部114にて、残響処理等の各種信号処理を施し、当該信号処理後のオーディオ信号をスピーカSPから出力させる構成としてもよい。
システム表示部115は、例えば、有機EL(Electro−Luminescence)素子、液晶表示素子またはCRT(Cathode Ray Tube)によって構成され、システム表示制御部116の制御に従って所定の画像データを表示する。
具体的には、システム表示部115はリモコン装置20から供給される設定画像データと、歌詞データと、に基づいて設定画像と歌詞が重畳された画像を表示する。
システム表示制御部116は、システム制御部118及びデータ処理部130の制御の下、歌詞データ及び設定画像の画像データに基づく表示処理を実行し、歌詞と設定画像が重畳された画像を表示するための表示用データを生成してシステム表示部115に出力する。
特に、本実施形態のシステム表示制御部116は、管理サーバ装置30から供給されるカラオケデータストリーム及び改変データストリームに含まれる歌詞データを所定時間分バッファリングしつつ、当該歌詞データに基づく歌詞の表示(以下、「歌詞データの表示」ともいう。)を実行する。
そして、システム表示制御部116は、カラオケデータストリームから改変データストリームに切り替わる場合には、目標時刻やその後のタイミングにおいて、表示対象をカラオケデータストリームに含まれる歌詞データから改変データストリームに含まれる改変された歌詞データに切り替えつつ、歌詞データの再生をシームレスに継続させる構成になっている。
操作受付部117は、図示せぬタッチパネル、キーパッド等の操作部を有するとともに、赤外線受光部又は所定の通信規格に従ったアンテナを有し、IrDA等の赤外線通信、bluetooth(登録商標)、IEEE802.15.4、無線LAN等の近距離無線通信規格に従い、リモコン装置20から送信される操作コマンドを受け付けて、対応する制御コマンドをバスに出力する。
システム制御部118は、主に図示せぬ中央演算処理装置(CPU)、キャッシュメモリ、及びRAMによって構成され各部を統合的に制御する。また、システム制御部118は、各部と連動しつつ、上記各機能を実現するための処理を実行する。特に、システム制御部118は、データ処理部130と連動して、上記楽曲設定変更機能を実現するための処理を実行する。
タイマ120は、カラオケシステム10と管理サーバ装置30とにおける転送時間及び当該管理サーバ装置30における処理時間を計測する際に用いられるとともに、カラオケデータの再生時間を管理する。
データ処理部130は、システム制御部118と同一、又は、独立したCPU及びワークエリアとしてのROM/RAM133により構成され、アプリケーションを実行することにより、目標時刻設定部131と、楽曲設定変更部132と、データ取得部134と、を実現する。
なお、例えば、本実施形態のデータ取得部134は、通信制御部111、カラオケ再生部113及びシステム表示制御部116と連動して、本発明の「取得再生部」を構成するとともに、楽曲設定変更部132は、通信制御部111、操作受付部117と連動して、「変更受付手段」を構成する。
目標時刻設定部131は、カラオケシステム10の電源投入時に、通信制御部111、システム制御部118及びタイマ120と連動しつつ、管理サーバ装置30とのデータ通信における処理時間及び転送時間を計測し、目標時刻を設定するために用いる遅延時間を計測する。
このとき、目標時刻設定部131は、当該計測された遅延時間をROM/RAM133に記録させる構成になっている。
また、目標時刻設定部131は、カラオケデータの再生中に、当該カラオケデータの楽曲に対する音程キー及びテンポの少なくとも一方を変更する変更指示が受け付けられた場合に、カラオケデータの現時点の再生位置(再生時刻)及び遅延時間に基づいて目標時刻を設定する。
楽曲設定変更部132は、操作受付部117を介して、カラオケデータの再生中に、当該カラオケデータの楽曲に対する音程キー及びテンポの少なくとも一方を変更する変更指示を受け付けると、当該変更内容を示す変更指示データを、通信制御部111を介して、管理サーバ装置30に送信するための処理を実行する。
特に、楽曲設定変更部132は、当該変更指示を受け付けると、目標時刻設定部131に目標時刻を設定させ、当該設定させた目標時刻と、現在再生中の楽曲に対応するカラオケデータの楽曲IDを付加した変更指示データを管理サーバ装置30に送信する。
データ取得部134は、操作受付部117を介して選曲操作を受け付けると、通信制御部111を介して、ユーザが希望するカラオケデータにおける楽曲IDを含む取得要求データを管理サーバ装置30に送信する。
そして、データ取得部134は、送信した取得要求データに基づく該当する楽曲におけるカラオケデータストリームを受信すると、受信したカラオケデータストリームをカラオケ再生部113及びシステム表示制御部116に順次出力する。
そして、データ取得部134は、変更指示データに基づく該当する楽曲における改変データストリームを受信すると、受信した改変データストリームをカラオケ再生部113及びシステム表示制御部116のうち該当する部材に該当するデータを順次出力する。
なお、データ取得部134は、カラオケデータストリームの各データから改変データストリームの各データに完全に切り替わった場合には、カラオケデータストリームの受信を中止する。
[2.2]管理サーバ装置
次に、図5を用いて本実施形態の管理サーバ装置30について説明する。なお、図5は、本実施形態の管理サーバ装置30の構成を示すブロック図である。
本実施形態における管理サーバ装置30は、図5に示すように、ネットワークNに通信接続される通信制御部310と、各種のメモリとして機能するROM/RAM320と、各種のDBが記録される記録部330と、システム全体を制御するシステム管理制御部350と、楽曲データ及び歌詞データの改変及びカラオケシステム10に対するデータの配信を行うデータ処理部360と、を有し、上記の各部は、バスBによって相互に接続されている。
なお、例えば、本実施形態のシステム管理制御部350は、通信制御部310とともに、本発明の「選曲受付受信手段」を構成し、変更指示受付部361は、通信制御部310とともに、本発明の「変更指示受信手段」を構成する。また、例えば、本実施形態のデータ処理部360は、本発明の「配信手段」及び「生成手段」を構成する。
通信制御部310は、所定のネットワークインターフェースであり、ネットワークNを介してカラオケシステム10とデータの授受を行う。
ROM/RAM320には、管理サーバ装置30の駆動に必要な各種のプログラムが記憶されている。また、ROM/RAM320は、システム管理制御部350やデータ処理部360が各種の処理を実行する際のワークエリアとして用いられる。
記録部330は、HDD(Hard Disc Drive)又はSSD(Solid State Drive)により構成され、その記録領域内にユーザ管理DB331と、楽曲データ用DB332と、が記憶される。
ユーザ管理DB331は、各ユーザを管理するための情報(以下、「ユーザ情報」という。)がデータとして記憶されるDBである。
具体的には、ユーザ管理DB331に記憶される複数のユーザ情報は、各ユーザを識別するためのユーザID、氏名、住所、アカウント名、パスワード、性別、年齢、メールアドレス及びお気に入り画像が対応付けて記憶される。
楽曲データ用DB332は、各楽曲の楽曲データが格納されるDBであり、「邦楽」、「J-POP」、又は「ロック」等、楽曲データの階層的な楽曲ジャンルを示すジャンルデータと、各楽曲に対応する楽曲IDと、楽曲タイトル(楽曲名)を示すデータと、対応する楽曲データ及び歌詞データが対応付けて記録される。
また、楽曲データ用DB332に格納される楽曲データは、対応する楽曲の伴奏音を原曲のキー及びテンポにて再生するWAV形式のデータと、当該キー及びテンポにてガイドメロディを再生するためのWAV形式のデータと、が含まれており、カラオケシステム10において、当該楽曲データを再生することによって、楽曲の伴奏音と、ガイドメロディと、が合成された楽音が演奏されることとなる。
また、歌詞データは、対応する楽曲の原曲テンポに合わせて歌詞を表示するためのデータになっているとともに、この歌詞データは、例えば、ブルーの背景上に歌詞が記述された形式になっており、カラオケシステム10において背景画像と合成する際には、当該ブルーの領域に背景画像が合成される構成になっている。
システム管理制御部350は、主に中央演算処理装置(CPU)によって構成され、各プログラムを実行することによって、管理サーバ装置30の各部を統合制御する。
データ処理部360は、システム管理制御部350による制御の下、カラオケシステム10と連動し、所定のアプリケーションを実行することによって、カラオケシステム10から送信される変更指示データを受け付ける変更指示受付部361と、変更指示データに従って、楽曲データ及び歌詞データを改変するデータ改変処理部362と、カラオケシステム10に対するカラオケデータストリーム及び改変データストリームの配信を制御するデータ配信制御部363と、を実現する。
なお、例えば、本実施形態の変更指示受付部361は、本発明の「変更指示受信手段」を構成し、データ改変処理部362は、本発明の「生成手段」を構成する。また、例えば、本実施形態のデータ配信制御部363は、本発明の「配信手段」を構成する。
変更指示受付部361は、カラオケデータストリームの配信中に、通信制御部310を介してカラオケシステム10から送信された当該カラオケデータストリームにおけるカラオケデータの変更指示データを受け付ける。
データ改変処理部362は、変更指示受付部361によって変更指示データが受信されると、当該変更指示データに含まれる楽曲IDに対応する原曲の楽曲データ及び歌詞データを、ユーザによって指示された音程キー又はテンポに改変させる。
このとき、データ改変処理部362は、変更指示データに付加された楽曲ID及び目標時刻に従って、楽曲ID対応する楽曲データ及び歌詞データにおいて、目標時刻以降に再生されるべき部分に対応するデータ部分のみを改変する。
また、データ改変処理部362は、上記のように
(A)変更指示データが楽曲の音程キー変更指示の場合には、原曲の楽曲データの音程キーを指示された音程キーに変更する改変を実行し、
(B)変更指示データが楽曲のテンポ変更指示を含む場合には、原曲の楽曲データ及び歌詞データのテンポを指示されたテンポに変更する改変を実行する。
データ配信制御部363は、通信制御部310を介してカラオケシステム10から取得要求データを受信すると、当該取得要求に含まれる楽曲IDに対応する楽曲データ及び歌詞データを楽曲データ用DB332から取得し、カラオケデータストリームとして対応するカラオケシステム10に配信する。
また、データ配信制御部363は、通信制御部310を介してカラオケシステム10から変更指示データの受信した場合には、データ改変処理部362によって改変された楽曲データ、又は、楽曲データ及び歌詞データを改変データストリームとして対応するカラオケシステム10に配信する。
[3]カラオケ通信システムの動作
[3.1]カラオケシステムの動作
まず、図6及び7を用いて、本実施形態のカラオケシステム10によって実行されるカラオケデータの再生処理の動作について説明する。なお、図6及び7は、本実施形態のカラオケシステム10によって実行されるカラオケデータの再生処理を示すフローチャートである。
本動作においては、カラオケデータが選曲される毎に実行される処理として説明する。ただし、カラオケデータの再生中に他のカラオケデータが予約されるなどの複数のカラオケデータが予約される場合についても、同様な処理によって実現する可能である。
また、本動作に先立って、又は、ユーザの操作に基づいて電源が投入された際に初期設定処理によって、カラオケ通信システム1のサービスにログインするための処理が実行されているものとする。
そして、本動作は、目標時刻設定部131が、管理サーバ装置30とデータ通信を実行し、変更指示データを送信してから改変データストリームを受信するまでの遅延時間を計測しているとともに、当該遅延時間がROM/RAM133に記憶されているものとする。
まず、システム制御部118は、操作受付部117に従ってユーザによる選曲操作(楽曲ID)を受け付けると(ステップSa101)、データ取得部134と連動しつつ、当該選曲されたカラオケデータの楽曲IDを含む取得要求データを管理サーバ装置30に送信する(ステップSa102)。
このとき、データ取得部134は、管理サーバ装置30から配信されるカラオケデータストリームの受信を待機する状態に移行する。
次いで、データ取得部134は、通信制御部111を介して管理サーバ装置30からカラオケデータストリームの受信を開始すると(ステップSa103)、当該受信したカラオケデータストリームに含まれる楽曲データのカラオケ再生部113への供給を開始してその再生を開始させるとともに、歌詞データのシステム表示制御部116への供給を開始して楽曲データの再生と同期させて、歌詞データの再生を開始させる(ステップSa104)。
なお、カラオケ再生部113は、楽曲データの供給が開始されると、当該楽曲データに基づいて、特定の音程キー及びテンポにて楽曲データの再生を開始し、システム表示制御部116は、特定のテンポに合わせつつ、歌詞データの再生を開始する。また、タイマ120は、計時を開始し、再生時間の管理を開始する。
次いで、システム制御部118は、カラオケデータの再生が終了したか否かを判定する(ステップSa105)。このとき、システム制御部118は、カラオケデータの再生が終了したと判定した場合には、本動作を終了させ、カラオケデータの再生が終了していないと判定した場合には、ステップSa106の処理に移行する。
次いで、システム制御部118がカラオケデータの再生が終了していないと判定した場合には、楽曲設定変更部132は、操作受付部117によって変更指示が受け付けられたか否かを判定する(ステップSa106)。
このとき、楽曲設定変更部132は、操作受付部117によって変更指示が受け付けられたと判定した場合には、ステップS107の処理に移行し、操作受付部117によって変更指示が受け付けられていないと判定した場合には、ステップSa105の処理に戻る。
なお、楽曲設定変更部132は、カラオケデータストリーム又は改変データストリームの配信が終了している場合には、変更指示を検出したとしも、当該変更指示を受け付けずにステップSa105の処理に戻る。
次いで、楽曲設定変更部132は、操作受付部117によって変更指示が受け付けられたと判定した場合には、ROM/RAM133に記憶された遅延時間を取得し、当該遅延時間と、カラオケデータの現在の再生位置に基づき、目標時刻を設定する(ステップSa107)。
次いで、楽曲設定変更部132は、当該目標時刻及び再生中の楽曲データに対応する楽曲IDを付加した変更指示データを管理サーバ装置30に送信する(ステップSa108)。このとき、データ取得部134は、改変データストリームの受信を待機する。
次いで、楽曲設定変更部132は、データ取得部134と連動して、改変データストリームの受信を検出すると(ステップSa109)、タイマ120と連動し、現在の再生位置(すなわち、再生時刻)が目標時刻前か否かを判定する(ステップSa110)。
このとき、データ取得部134は、楽曲設定変更部132によって現在の再生位置(すなわち、再生時刻)が目標時刻前と判定された場合には、目標時刻を検出した後に(ステップSa111)、改変ストリームデータに基づく楽曲データ及び歌詞データの再生を実行し(ステップSa112)、ステップSa105の処理に移行する。
具体的には、データ取得部134は、再生中の楽曲データ及び歌詞データのうち、目標時刻に改変の対象となっているデータを、改変データに切り替える処理を実行するとともに、改変データストリームに含まれる楽曲データのカラオケ再生部113への供給及び歌詞データのシステム表示制御部116への供給を開始させる。
また、データ取得部134は、既に配信されているカラオケデータストリームを継続して使用する場合には、当該カラオケデータストリームを継続してカラオケ再生部113及びシステム表示制御部116のうち、必要な部材に該当するデータの出力を継続する。
一方、データ取得部134は、現在の再生位置(すなわち、再生時刻)が目標時刻後と判定された場合には、再生中の楽曲データの再生位置と改変データストリームにおける再生可能な楽曲データの再生位置とを比較する(ステップSa113)。
次いで、データ取得部134は、再生中の楽曲データの再生位置と改変データストリームにおける再生可能な楽曲データの再生位置との一致又はそれに準ずるタイミングを検出すると(ステップSa114)、再生及び表示中の楽曲データ及び歌詞データのうち、改変の対象となっているデータを、改変データに切り替える処理を実行し(ステップSa115)、ステップSa105の処理に戻る。
なお、ステップSa114の処理における再生中の楽曲データの再生位置と改変データストリームにおける再生可能な楽曲データの再生位置との一致、又は、それに準ずるタイミングには、当該再生位置が一致したタイミングだけでなく、改変データストリームの所定のデータ量がバッファに記憶されて、適切に再生することが可能になったときの再生位置と再生中の楽曲データの再生位置とが一致したタイミングを含む。
[3.2]管理サーバ装置の動作
次に、図8及び9を用いて、本実施形態の管理サーバ装置30によって実行される改変データを含むカラオケデータの配信処理の動作について説明する。なお、図8及び9は、本実施形態の管理サーバ装置30において実行される改変データを含むカラオケデータの配信処理を示すフローチャートである。
まず、データ配信制御部363は、通信制御部310を介してカラオケシステム10によって送信された取得要求データを受信すると(ステップSa301)、当該取得要求に含まれる楽曲IDに対応する楽曲データ及び歌詞データを楽曲データ用DB332から取得する(ステップSa302)。
次いで、データ配信制御部363は、取得した楽曲データ及び歌詞データを含むカラオケデータストリームを生成し、生成したカラオケデータストリームの該当するカラオケシステム10への配信を開始する(ステップSa303)。
次いで、データ配信制御部363は、カラオケデータストリーム又は改変データストリームの配信が終了したか否かを判定する(ステップSa304)。このとき、データ配信制御部363は、配信が終了したと判定した場合には、本動作を終了し、配信が終了していないと判定した場合には、ステップSa305の処理に移行する。
次いで,データ配信制御部363によってカラオケデータストリーム又は改変データストリームの配信が終了していないと判定した場合には、変更指示受付部361は、通信制御部310を介してカラオケシステム10から送信された変更指示データを受信したか否かを判定する(ステップSa305)。
このとき、変更指示受付部361は、変更指示データを受信していないと判定した場合には、処理をステップSa304に戻り、変更指示データを受信したと判定した場合には、ステップSa306の処理に移行する。
次いで、変更指示受付部361は、通信制御部310を介して変更指示データを受信すると、当該変更指示データによって示される変更内容が、音程キーの変更であるか、テンポの変更であるか、又は、双方の変更であるかを判定する(ステップSa306〜Sa307)。
次いで、データ改変処理部362は、音程キーのみの変更であると判定した場合には、変更指示データに含まれる目標時刻と楽曲IDに基づいて、当該楽曲IDに対応する楽曲データにおいて目標時刻以降に再生される部分の楽曲データにおける音程キーを変更させた楽曲データ(キー変更)を生成し(ステップSa308)、ステップSa313の処理に移行する。
一方、データ改変処理部362は、テンポのみの変更であると判定した場合には、変更指示データに含まれる目標時刻と楽曲IDに基づいて、当該楽曲IDに対応する楽曲データにおいて目標時刻以降に再生される部分の楽曲データにおけるテンポを変更させた楽曲データ(テンポ変更)を生成する(ステップSa309)。
そして、データ改変処理部362は、変更指示データに含まれる目標時刻と楽曲IDに基づいて、当該楽曲IDに対応する歌詞データにおいて目標時刻以降に再生される部分の歌詞データにおけるテンポを変更させた歌詞データ(テンポ変更)を生成し(ステップSa310)、ステップSa313の処理に移行する。
他方、データ改変処理部362は、音程キーのみ及びテンポのみの変更でないと判定した場合(すなわち、音程キー及びテンポの変更であると判定した場合)には、変更指示データに含まれる目標時刻と楽曲IDに基づいて、当該楽曲IDに対応する楽曲データであって目標時刻以降に再生される部分の音程キー及びテンポを変更させた楽曲データ(キー・テンポ変更)を生成する(ステップSa311)。
次いで、データ改変処理部362は、変更指示データに含まれる目標時刻と楽曲IDに基づいて、当該楽曲IDに対応する歌詞データにおいて目標時刻以降に再生される部分の歌詞データにおけるテンポを変更させた歌詞データ(テンポ変更)を生成し(ステップSa312)、ステップSa313の処理に移行する。
次いで、データ配信制御部363は、生成された楽曲データ(キー変更)、楽曲データ(テンポ変更)、楽曲データ(キー・テンポ変更)、歌詞データ(テンポ変更)のうち、必要なデータを含む改変データを生成し、生成した改変データを改変データストリームとして該当するカラオケシステムに送信して(ステップSa313)ステップSa304の処理に戻る。
以上説明したように、本実施形態のカラオケ通信システム1においては、ストリーミング配信などのカラオケデータを取得しつつ再生する場合において、楽曲の音程キー、当該楽曲のテンポ又はその双方の変更などによってデータについて改変が必要な場合に、改変に該当する種別におけるデータ又は部分のデータについてのみ改変すれば、カラオケデータとして継続的に再生することができるとともに、予め定められたタイミングにおいて改変されたデータについてのみ切り替えて、改変されていないデータは、継続して利用させることができる。
したがって、本実施形態のカラオケ通信システム1においては、不要なデータの改変によって生ずる処理負担を軽減することができるとともに、煩雑な処理を行うことなく、当該楽曲の音程キー、当該楽曲のテンポ又はその双方の変更が反映されたカラオケデータを迅速に取得再生することができる。
[4]変形例
[4.1]変形例1
本変形例においては、ネットワークNの転送速度に応じて改変データストリームの圧縮率を変更させ当該改変データストリームがカラオケシステム10において受信するまでの時間を短縮させるようにしてもよい。
この場合には、カラオケシステム10は、カラオケデータストリームの配信を開始した際などの予め定められたタイミングにおいて、管理サーバ装置30とのデータ転送速度を計測した結果算出した遅延時間基づいて、圧縮率を変更してもよい。
[4.2]変形例2
本変形例においては、目標時刻後に改変データストリームを受信した際に、再生中の楽曲データの再生位置と改変データストリームによって受信した改変データにおける再生位置とが一致したとき、改変でデータに切り替えている点に代えて、目標時刻後に改変データストリームを受信した際に、目標時刻を再設定し、再度改変データストリームを生成させて受信してもよい。
この場合には、例えば、カラオケシステム10は、先に目標時刻を設定した際に用いた遅延時間より、長い遅延時間によって次の目標時刻を再設定する。
[4.3]変形例3
本変形例においては、ユーザの操作に基づいて音程キー又はテンポの変更指示を受け付けたタイミングから改変データに切り替えるタイミングまでの間に、既に受信しているカラオケデータに対して、楽曲データの音程キーを変更指示された音程キーに変更し、又は歌詞データのテンポを変更指示されたテンポに変更し、変更された楽曲データと、歌詞データとを再生してもよい。
なお、この場合には、変更指示を受け付けたタイミングから楽曲データ及び歌詞データに対して信号処理を実行する必要はなく、例えば、目標時刻までに改変データを受信できなかった場合に、当該変更指示を受け付けたタイミングから所定の時間後、又は、当該変更指示を受け付けたタイミングからAメロとBメロの間などの楽曲の区切りのタイミングから信号処理を実行してもよい。
[4.4]変形例4
本変形例においては、予めカラオケシステム10と管理サーバ装置30との転送速度を計測して算出された遅延時間を用いて目標時刻を設定している点に代えて、カラオケシステム10が実在する地域において予め設定された遅延時間用いて目標時刻の設定を行ってもよい。
具体的には、本変形例において、カラオケシステム10のROM/RAM133にエリア管理用の記憶領域を有し、当該記憶領域には、例えば、図10に示すように、各エリア内において発生する遅延時間数を時間帯毎に管理するための情報が格納される。
例えば、ユーザが「東京都○○5丁目」に設置されたカラオケシステム10において「20:00〜09:59」の間に管理サーバ装置30からカラオケデータを受信する場合を想定する。
この場合には、目標時刻設定部131は、エリア管理DBにおいて「東京都○○5丁目」、「20:00〜09:59」と対応付けて格納された「1.5秒」を遅延時間に設定して、現在の再生位置に対し、1.5秒を加算しつつ、目標時刻を設定し、データ改変処理部362は、当該目標時刻に基づいて改変データを生成する。
[4.5]変形例5
本実施形態においては、カラオケデータ及びカラオケデータストリームに、歌詞とともに表示する背景画像に対応する背景画像データが含まれてもよい。
背景画像として、楽曲と、を同期させつつ、再生する必要がない風景などの画像を用いる場合には、楽曲のテンポの変更指示がなされた場合であっても、当該画像データを改変する必要はない。
その一方、楽曲を歌唱するアーティストによる画像(例えば、プロモーションビデオやミュージックビデオ)などを背景画像として利用させる場合には、当該背景画像についてもテンポに連動させる必要がある。
特に、楽曲を歌唱するアーティストが歌唱しているシーンにおいては、口と歌詞のタイミングを一致させるリップシンクさせる必要があるので、当該背景画像についてはテンポに連動させる必要がある。
そこで、このような背景画像を用いる場合であって、楽曲のテンポ変更を含む変更指示を受け付けた場合に、管理サーバ装置30は、歌詞データと同様に、変更指示されたテンポに基づいて原曲の背景画像データを改変し、改変データストリームに含めてカラオケシステム10に配信するようになっている。
[4.6]変形例6
上記実施形態においては、歌唱者の歌唱音に基づくカラオケシステム10について説明したが、ギターやドラムなどの楽器音に基づくカラオケシステム10又はカラオケ通信システム1に適用することも可能である。この場合には、カラオケシステム10は、マイクMや他の入力装置によって楽器音や楽器信号を取得すればよい。
[4.7]変形例7
上記実施形態における管理サーバ装置30は、1台のサーバ装置によって構成されていてもよいし、複数のサーバ装置によってシステムとして構成されていてもよい。また、外部記憶装置40のDB401及びDB402は、一つのデータベースによって構成されても複数のデータベースによって構成されていてもよい。
[4.8]変形例8
上記実施形態におけるカラオケシステム10は、図4に示したマイク、スピーカ及び表示部のいずれかを備えないシステムであってもよい。少なくとも、操作受付部、データ処理部、システム制御部、カラオケ再生部、表示制御部のみを備えた構成であればよい。
[4.9]変形例9
上記実施形態においては、所与のタイミングとしてカラオケシステム10によって定める目標時刻を用いて説明しているが、任意に定められた時刻を所与タイミングとして用いてもよい。
具体的には、管理サーバ装置30は、
(1)現在配信しているカラオケデータストリームの配信時点の再生位置、
(2)管理サーバ装置30でカラオケシステム10から送信された変更指示データを受け付けたタイミングの配信時の再生位置、又は、
(3)カラオケシステム10で変更指示データを受け付けた場合の再生位置
以降から改変データストリームを生成及び配信する。
そして、カラオケシステム10は、再生中の楽曲データの再生位置と、受信した改変データストリームの再生位置とが一致したタイミングを所与のタイミングとして再生中の楽曲データ、又は、楽曲データ及び歌詞データを改変データストリームに切り替えてもよい。