以下、図面を参照して、本発明の実施形態について説明する。かかる実施の形態は、本発明の一形態を示すものであり、この発明を限定するものではなく、本発明の範囲内で任意に変更可能である。
A:第1の実施形態
A−1:第1の実施形態の構成
図1はこの発明の第1の実施形態である通信カラオケシステムの構成を示すブロック図である。
本実施形態にかかる通信カラオケシステムは、複数のカラオケ装置100を通信回線200によりセンタ300に接続してなるものである。なお、図1においては図面が煩雑になるのを防ぐため、1台のカラオケ装置100のみが図示されている。
図1において、センタ300は、多数の楽曲の楽曲データを保有しており、カラオケ装置100からの要求に応じて、楽曲データの配信を行う。また、センタ300では、新たなバージョンの音源の普及に対応して、保有している楽曲データのバージョンアップが行われる。この場合、カラオケ装置100は、センタ300へ要求を行うことにより、既に保有している楽曲データのバージョンアップを行うことができる。なお、このセンタ300は、特許請求の範囲における「楽曲データ配信装置」に相当する。
ところで、上述した従来の技術の下において、この楽曲データのバージョンアップは、新たなバージョンの楽曲データの全体をセンタからカラオケ装置に転送するという態様で行われた。
これに対し、本実施形態に係る通信カラオケシステムでは、楽曲データではなく、代替パートデータと代替情報のみがカラオケ装置100に配信される。ここで、代替パートデータは、新バージョンの楽曲データを構成するパートデータであって旧バージョンの楽曲データに含まれていたパートデータの代わりに演奏に使用されるべきパートデータ、または旧バージョンの楽曲データには含まれておらず、バージョンアップにより新たに追加されたパートデータにより構成されている。また、代替情報は、各代替パートデータ毎に、当該代替パートデータが何回目のバージョンアップに係るものであるかを表した情報である。なお、代替パートデータおよび代替情報については後に詳細に説明する。
カラオケ装置100は、これらの代替パートデータおよび代替情報の配信を受けると、これらと既に保有している楽曲データとを併合することにより、楽曲データを生成する。この併合により、旧バージョンの楽曲データを構成するパートデータと、新バージョンの楽曲データを構成するパートデータとが混在した、いわば新旧併存型の楽曲データが生成される。
カラオケ装置100では、音源のバージョンが旧バージョンである場合には、この新旧併存型の楽曲データの中から旧バージョンに対応したパートデータを選択し、音源のバージョンが新バージョンである場合には、新バージョンに対応したパートデータを選択することにより、音源のバージョンに合ったカラオケ演奏を行うことができる。
本実施形態によれば、このように代替パートデータと代替情報の配信のみによりカラオケ装置100側の楽曲データのバージョンアップを実質的に行うことができるので、楽曲データ配信によるトラヒックおよび配信コストの増大を防止することができる。また、カラオケ装置100側では、新旧併存型の楽曲データから音源のバージョンに合ったパートデータが選択されるので、楽曲データおよび音源についての面倒なバージョン管理が不要となる。
次に本実施形態におけるカラオケ装置100の構成について説明する。図1に示すように、このカラオケ装置100は、CPU(中央処理装置)1、ROM(読み出し専用メモリ)2、RAM(読み書き可能メモリ)3、操作部4、通信制御部5、ハードディスク装置(HDD)6、表示制御部7、ディスプレイ装置(CRT)8、楽器音用音源9、マイクロフォン(以下、「マイク」という)10およびミキサ11により構成されている。ここで、CPU1、ROM2、RAM3、操作部4、通信制御部5、ハードディスク装置6、表示制御部7および楽器音用音源9は、共通のバスBUSに接続されている。
図1において、ROM2には当該カラオケ装置を起動するために必要なイニシャルプログラムが記憶されている。カラオケ装置の電源が投入されると、このイニシャルプログラムに従ってハードディスク装置6に記憶されたシステムプログラムおよびアプリケーションプログラムがRAM3にロードされる。このRAM3は、ロードしたシステムプログラムやアプリケーションプログラムを記憶する記憶エリアの他、カラオケ演奏のための楽曲データを記憶する記憶エリアを有している。
操作部4は、曲番号を入力するためのテンキーやカラオケ装置を操作するためのキーおよび摘み等を備えており、カラオケ装置本体の前面等に設けられている。ユーザは、この操作部4を操作することにより、CPU1に対し、曲番号の入力、音量の調節およびキーコントロール等の指示を与えることができる。なお、カラオケ装置の操作は、図示しないリモートコントローラ(以下、「リモコン」という)によっても可能である。
通信制御部5は、通信回線200を介してセンタ300から配信される楽曲データを受信し、受信した楽曲データを内部のDMAコントローラによってCPU1を介することなく直接ハードディスク装置6に書き込む。楽曲データの他、センタ300から配信される代替パートデータおよび代替情報も、この通信制御部5によって受信される。通信制御部5は、上記代替パートデータおよび代替情報を受信すると、DMAコントローラによって、ハードディスク装置6に書き込む。この後、CPU1は、当該代替パートデータに対応した楽曲データと当該代替パートデータと当該代替情報とを併合してハードディスク装置6に格納する。なお、通信制御部5は、特許請求の範囲における「受信手段」に相当する。
また、ハードディスク装置6には上述したシステムプログラムおよび電源投入時に音源を初期化するための音源プログラムを格納するプログラムファイルの他、カラオケ演奏時に再生される約1万曲分の楽曲データを記憶する楽曲データファイルが設定されている。
ここで、図2〜4を参照して、本実施形態であるカラオケ装置において用いられる楽曲データの詳細な構成について説明する。本実施形態であるカラオケ装置において用いられる楽曲データは、図2に示すように、ヘッダと、これに続くMIDIデータ部および音声データ部により構成されている。まず、ヘッダには、当該楽曲に関する種々の情報、例えば、曲名、ジャンルおよび当該楽曲の演奏時間等の情報が含まれている。また、ヘッダには、音色や音量、アタック、ディケイおよびリリース等のエンベロープ形状値、ならびにエコーおよびリバーブ等のエフェクト処理のためのフィルタ係数といった種々のパラメータ値が記述されたユーザバンクデータが含まれている。楽曲の演奏開始時、上記ユーザバンクデータは、CPU1によって楽器音用音源9に供給され、楽器音用音源9に設定される。これにより、上述した音源プログラムによってのみではまかないきれない個々の楽曲別の設定によって楽器音用音源9を動作させることができるのである。
次に、MIDIデータ部には、MIDI規格に準拠したカラオケ演奏を制御するための情報が含まれている。さらに詳述すると、MIDIデータ部は、図2R>2に示すように、楽音トラック、歌詞トラックおよび音声トラック等の複数のトラックによって構成されている。これらの各トラックは、複数のイベントデータと、各イベントデータ間の時間間隔を示すデュレーションデータΔtとにより構成されるシーケンスデータである。
ここで、上記楽曲データ中の楽音トラックは、伴奏音等の楽音信号を形成するためのシーケンスデータである。なお、この楽音トラックの詳細については後述する。また、歌詞トラックは、演奏される楽曲の歌詞をディスプレイ装置8上に表示するため歌詞表示イベントデータとデュレーションデータΔtにより構成されるシーケンスデータである。
音声トラックは、図3に示すように、音声信号の形成を指示する音声イベントデータとデュレーションデータΔtにより構成されるシーケンスデータである。ここで、音声イベントデータは、後述する音声データ部に書き込まれている音声データi(i=1〜m)を指定する音声データ番号と、当該音声データから生成する音声信号の音程および音量を指定する音程データおよび音量データにより構成されている。
次に、音声データ部には、楽器音用音源9で合成しにくいバックコーラスやハーモニー歌唱等の人声を表す音声データi(i=1〜m)が各データ番号i(i=1〜m)の順に記憶されている。この音声データi(i=1〜m)は、ADPCM(Adaptive Differential Pulse Code Modulation)データ圧縮技術によって圧縮されている。上述した音声トラックに含まれる音声データ番号は、これらの音声データのうちの1つを指定するものである。
次に、図4(a)および(b)を参照して、上記楽曲データ中の楽音トラックの詳細な構成を説明する。図4(a)に例示する楽音トラックは、ピアノ、キーボード、ベースおよびドラムス等の音色別に16のパートデータで構成されている。これらのパートを並行して演奏することにより、オーケストラやフルバンドの演奏音を出力することができるのである。そしてこれらの各パートデータは、図4(b)に示すように、ノートナンバ、ベロシティ(音の強さ)および符長を指定する演奏イベントデータと、各演奏イベントデータ間の時間間隔を指定するデュレーションデータΔtにより構成されている。
また、本実施形態においては、センタ300から代替パートデータおよび代替情報が配信され、これらが楽曲データ中の楽音トラックに追加されて、楽曲データのバージョンアップが行われる場合がある。図5は、バージョンアップが1回行われた場合におけるバージョンアップ後の楽曲データの楽音トラックの例を示す図であり、図6はバージョンアップが2回行われた場合におけるバージョンアップ後の楽音トラックの例を示す図である。
図5(A)および(b)に示す例では、16パートからなる初版の楽音トラックに対し、PART17(GUITER)〜PART20(STRINGS3)の4パートからなる代替パートデータが追加されており、初版に対応したカラオケ演奏に必要なパートデータと、第2版に対応したカラオケ演奏に必要なパートデータとが混在した内容となっている。さらに詳述すると、次の通りである。
まず、初版の楽音トラックのうちPART1(PIANO)〜PART12(DRUMS)の各パートデータは、追加された代替パートデータのいずれとも重複しない。これらの12パートからなるパートデータは、初版に対応したカラオケ演奏および第2版に対応したカラオケ演奏のいずれにおいても使用されるパートデータである。本実施形態では、これらの各バージョンに共通のパートデータを共通パートデータと呼ぶ。
次に初版の楽音トラックのうちPART13(GUITER)、PART14(STRINGS1)、PART15(STRINGS2)およびPART20(STRINGS3)は、追加された代替パートデータと重複している。これらのパートデータは、初版に対応したカラオケ演奏のみに使用され、第2版に対応したカラオケ演奏では代替パートデータによって置き換えられるべきものである。本実施形態では、これらの初版に対応したカラオケ演奏のみに使用されるパートデータを初版パートデータと呼ぶ。
このように図5(a)に示す楽音トラックは、初版および第2版の各々に対応したカラオケ演奏の両方に使用される共通パートデータと、初版のカラオケ演奏にのみ使用される初版パートデータと、第2版に対応したカラオケ演奏のみに使用される代替パートデータとが混在している。すなわち、本実施形態におけるカラオケ装置では、いわば新旧両バージョンの併存した楽曲データを保存しているのである。
本実施形態では、楽器音用音源9のバージョンが初版である場合には共通パートデータと初版パートデータを用いて初版に対応したカラオケ演奏を行い、第2版である場合には共通パートデータと代替パートデータとを用いて第2版に対応したカラオケ演奏を行う、という具合に音源のバージョンに合わせたパートデータの選択を行う。
代替情報は、このパートデータの選択を行う際に参照される情報であり、代替パートデータに対応した各パート毎に各々のバージョンアップの回数を示している。
図5(a)に示す例では、「GUITER」、「STRINGS1」、「STRINGS2」および「STRINGS3」について1回目の代替パートデータの追加(すなわち、当該パートのバージョンアップ)が行われている。そこで、これらの各パートについては、図5(b)に示すように、代替情報として「1」が楽音トラックに記録され、これによりバージョンアップの回数が1回であることが示されているのである。
次に図6(a)および(b)に示す例では、図5(a)および(b)に示す第1回目のバージョンアップ後の楽音トラックに対し、PART21(STRINGS2)およびPART22(STRINGS3)の2パートからなる代替パートデータを追加する第2回目のバージョンアップが行われている。このため、図6(a)に示す楽音トラックは、初版、第2版および第3版の各々に対応したカラオケ演奏の全て使用される共通パートデータ(「PART1」〜「PART12」)と、初版のカラオケ演奏にのみ使用される初版パートデータ(「PART13」〜「PART16」)と、第2版または第3版に対応したカラオケ演奏のみに使用される代替パートデータ(「PART17」〜「PART22」)とにより構成されている。また、代替パートデータは、第2版に対応したものと第3版に対応したものとが混在しており、これらは、版の古いものが先になるような並びとなっている。本実施形態では、これらの各パートデータを楽器音用音源のバージョンに合わせて適切に選択することにより、初版、第2版または第3版に対応したカラオケ演奏を行うことができる。
パートデータの選択の際には代替情報が参照されるが、この代替情報の内容は次の通りである。まず、楽音トラックにおける「GUITER」および「STRINGS1」の各パートについては、第1回目のバージョンアップにおいて代替パートデータが追加されているが(「PART17」および「PART18」)、第2回目のバージョンアップでは代替パートデータが追加されていない。このため、これらのパートに対応した代替情報は「1」となっている。また、楽音トラックにおける「STRINGS2」および「STRINGS3」の各パートについては、第1回目のバージョンアップにおいて代替パートデータが追加され(「PART19」および「PART20」)、さらに第2回目のバージョンアップにおいても代替パートデータが追加されている(「PART21」および「PART22」)。このため、これらのパートに対応した代替情報は「2」となっている。
次に、CPU1は、特許請求の範囲における「制御手段」および「楽曲データ更新手段」に相当するものであり、上述したシステムプログラムに従って、カラオケ装置全体の制御を行う手段である。このCPU1の主な機能は以下に示す通りである。
このCPU1の主な機能のうち本実施形態特有のものとして以下の2つがある。
a.楽曲データのバージョンアップ
センタ300から代替パートデータが受信された場合、この代替パートデータと楽曲データとを併合した楽曲データを生成する。なお、このバージョンアップの動作の詳細については後述する。
b.カラオケ演奏制御
CPU1は、演奏すべき楽曲データ中に、代替情報が含まれている場合に、その代替情報を楽器音用音源9内の楽音バージョン制御部20(後述する)に出力する。この代替情報の出力後、CPU1は、各トラックから並行してイベントデータを読み出し、各イベントデータを該当する各部に供給する。さらに詳述すると、CPU1は、楽曲データ中の楽音トラックに書き込まれた各パートの演奏イベントデータを読み出した際には当該演奏イベントデータを楽器音用音源9に、歌詞トラック中の歌詞表示イベントデータを読み出した際には当該歌詞表示イベントデータを表示制御部7に、それぞれ出力する。また、CPU1は、音声トラック中の音声イベントデータを読み出した際には、当該音声イベントデータ中の音声データ番号によって指定される音声データi(i=1〜m)をRAM3から読み出し、当該音声データi(i=1〜m)に、音声イベントデータ中の音程および音量に関するデータを付加した後、音声データデコーダ(図示略)に出力する。
次に、表示制御部7は、CPU1から供給される歌詞トラック中の歌詞表示イベントデータに従い、演奏される楽曲に対応した歌詞の文字列を生成し、これをLD再生装置(図示略)から供給される映像信号(背景映像)に合成してディスプレイ装置8に出力する。ディスプレイ装置8は、表示制御部7によって供給される情報を表示する。
楽器音用音源9は、CPU1によって供給される楽音トラック中の演奏イベントデータに従って楽器音等の楽音信号を生成し、出力する。なお、楽器音用音源9の詳細な構成および動作は後述する。また、マイク10は、歌唱者が発するボーカル音を電気信号(以下、「ボーカル音信号」という)に変換してミキサ11に出力する。ミキサ11は、楽器音用音源9から供給される楽音信号、マイク10から供給されるボーカル音信号および図示しない音声データデコーダから供給される音声信号を、それぞれミキシングして出力する。ミキサ11から出力された信号は、アンプ(図示略)によって増幅され、スピーカ(図示略)によって出力される。
次に、図7を参照して、楽器音用音源9の詳細な構成を説明する。図7に示すように、楽器音用音源9は、楽音バージョン制御部20および楽音信号生成部21により構成されている。
楽音バージョン制御部20は、CPU1から供給される演奏イベントデータのうち、楽音信号生成部21のバージョンに適合した情報を選択し、当該情報を楽音信号生成部21に供給する。なお、楽音バージョン制御部20の動作の詳細は後述する。
楽音信号生成部21は、楽音バージョン制御部20によって供給される情報に従って伴奏音等の楽音信号を生成し、この楽音信号をミキサ11に出力する。また、この楽音信号生成部21は、内部の記憶装置(図示略)に、当該音源のバージョンを示す情報(以下、「音源バージョン情報」という)を記憶している。すなわち、楽音信号生成部21がバージョンアップされる度に、係員等の所定の操作により、またはCPU1の制御によって、上記音源バージョン情報が更新される。なお、バージョンアップされていない音源については、この音源バージョン情報は存在しない。この音源バージョン情報は、カラオケ演奏開始時に楽音バージョン制御部20に供給される。なお、上記音源バージョン情報は、ハードディスク装置6等に書き込まれる構成としてもよい。以上が本実施形態であるカラオケ装置内の楽器音用音源9の詳細な構成である。
A−2:第1の実施形態の動作
A−2−1:楽曲データのバージョンアップ
以下、本実施形態であるカラオケ装置における楽曲データのバージョンアップの際の動作を説明する。
例えば、新規なバージョンの音源や楽音形成用ソフトウェアが市場に提供されると、楽曲データの配信元であるセンタ300では、このようなバージョンアップされた音源によって新たに生成することが可能となった音色により演奏を行うための代替パートデータおよび代替情報を作成する。一方、カラオケ装置を管理する係員、店員またはユーザ等によって所定の操作が行われ、当該代替パートデータおよび代替情報を取得すべき旨がカラオケ装置の通信制御部5に指示されると、当該指示を受けた通信制御部5は上述した代替パートデータおよび代替情報の配信要求をセンタ300に送信する。当該配信要求を受信したセンタ300は、代替パートデータおよび代替情報を、配信要求を送信したカラオケ装置100に対して配信する。この際、配信される情報には、当該代替パートデータおよび代替情報を追加すべき楽曲データの曲番号が付加される。
カラオケ装置100内の通信制御部5は、これらの情報を受信すると、ハードディスク装置6に格納する。次に、CPU1は、当該情報に付加された曲番号に対応した楽曲データと、受信した代替パートデータおよび代替情報を読み出す。そして、これらの情報を併合し、この併合した楽曲データを再びハードディスク装置6に格納する。
さらに詳述すると、上記の併合処理は、次のようにして行われる。まず、CPU1は、受信した上記代替パートデータを、既存のパートデータまたは代替パートデータのうちの最後尾のものの後に追加する。そして、既存のパートデータに代替情報が付加されていない場合、すなわち当該楽曲データが一度もバージョンアップされていない場合には、受信した代替情報を代替パートデータの最後尾のものの後に追加する。すなわち、図2に示す楽曲データ中の楽音トラックがバージョンアップされる場合には、当該楽曲データ中の楽音トラックの各パートデータの最後尾に、新たに代替情報が追加されて図5に示す楽音トラックにバージョンアップされるのである。これに対し、既存のパートデータに代替情報が付加されている場合、すなわち、以前に当該楽曲データがバージョンアップされている場合には、受信した代替パートデータの追加を行った後、既に付加されている代替情報を、受信した代替情報により置き換える(図6参照)。以上が本実施形態であるカラオケ装置における楽曲データのバージョンアップの際の動作である。
A−2−2:カラオケ演奏時の動作
ユーザが操作部4または図示しないリモコンを操作することにより、曲番号を入力すると、CPU1は、入力された曲番号に対応する楽曲データをハードディスク装置6から読み出し、RAM3の所定の記憶エリアに書き込む。
次に、CPU1は、RAM3に格納された上記楽曲データのヘッダに含まれるユーザバンクデータを読み出し、楽器音用音源9に設定する。また、楽曲データが代替情報を含む場合には、その代替情報を楽器音用音源9の楽音バージョン制御部20に供給する。そして、CPU1は、RAM3内の楽曲データを構成する各トラックを並行して読み出し、トラック内のイベントデータを各部に供給する。これらのイベントデータのうち、楽音トラックから読み出される演奏イベントデータは、楽器音用音源9に供給される。
ここで、楽器音用音源9における楽音バージョン制御部20は、代替情報がCPU1から供給されていない場合には、CPU1によって供給された演奏イベントデータをそのまま楽音信号生成部21に出力する。
これに対し、カラオケ演奏開始時に代替情報がCPU1から供給された場合の楽音バージョン制御部20の動作は、次のようになる。なお、以下の説明においては、図6(a)および(b)に示すように、楽音トラック中の「GUITER」および「STRINGS1」の代替パートデータが1度、「STRINGS2」および「STRINGS3」の代替パートデータが2度追加された場合を例に説明する。また、以下の説明においては、音源バージョン情報が存在しない場合(音源がバージョンアップされていない場合)、「1」の場合および「2」以上の場合に分けて説明する。
a.音源バージョン情報が存在しない場合
この場合、楽音トラックには代替パートデータが追加されているものの、音源がバージョンアップされていないから、代替パートデータに対応した新たな音色を生成することができない。従って、楽音バージョン制御部20は、図8に示すように、CPU1によって供給された演奏イベントデータのうち、共通パートデータおよび初版パートデータ中の演奏イベントデータを楽音信号生成部21に供給する。
b.音源バージョン情報が「1」の場合
この場合、楽音信号生成部21は、「PIANO(PART1)」〜「STRINGS3(PART20)」によって指示される音色の生成は可能なものの、「STRINGS2(PART21)」および「STRINGS3(PART22)」のパートデータによって指示される新たな音色に対応する楽音信号を生成することはできない。従って、楽音バージョン制御部20によって楽音信号生成部21に供給されるのは、図9に示すように、共通パートデータと、代替パートデータのうちの「GUITER(PART17)」〜「STRINGS3(PART20)」のパートデータ中の演奏イベントデータとなる。
c.音源バージョン情報が「2」以上の場合
この場合、楽音信号生成部21は、CPU1によって供給される演奏イベントデータによって指示される音色のすべてを生成することができる。従って、楽音バージョン制御部20によって楽音信号生成部21に供給されるのは、図10に示すように、共通パートデータと、代替パートデータのうちの「GUITER(PART17)」、「STRINGS1(PART18)」、「STRINGS2(PART21)」および「STRINGS3(PART22)」のパートデータ中の演奏イベントデータとなる。
上記a〜cに示したように、楽音信号生成部21が生成することのできる楽音信号のうち、最新の楽音信号の生成を指示する演奏イベントデータが、楽音バージョン制御部20から楽音信号生成部21に供給される。このようにして演奏イベントデータを供給された楽音信号生成部21は、当該演奏イベントデータに従って伴奏音等の楽音信号を生成し、ミキサ11に出力する。
以上説明したように、本実施形態によれば、楽曲データのバージョンアップがなされた場合であっても、新バージョンの楽曲データすべてをセンタからカラオケ装置に配信する必要がないので、配信の差異のトラヒックや配信コストを低減することができる。また、楽曲データと音源の間のバージョンの相違等を管理する必要がないので、カラオケ装置の管理に関する負担を軽減することができる。
なお、上記第1の実施形態において、代替情報および音源バージョン情報は、パートデータや音源のバージョンアップの回数を示すものであったが、パートデータや音源のバージョンを示す情報を代替情報や音源バージョン情報としてもよい。また、上記第1の実施形態においては、音源のバージョンアップが行われない限り、音源バージョン情報が楽音信号生成部21に記憶されないが、音源のバージョンアップが行われる前は初版であることを示す音源バージョン情報を楽音信号生成部21に記憶させるようにしてもよい。
また、上記第1の実施形態では、センタ300からカラオケ装置100に代替パートデータとともに代替情報を配信したが、代替情報の配信をしないようにしてもよい。この場合、カラオケ装置100側で、受信された代替パートデータと既存の楽曲データとから代替情報を生成して楽曲データに付加すればよい。
また、上記第1の実施形態においては、CPU1がRAM3内の楽曲データを構成する全てのパートデータを読み出し、音源バージョン制御部20がこれらの各パートデータに含まれるイベントデータの中から現在の音源のバージョンに適合したものを選択して楽音信号生成部21に供給するようにした。しかし、このようにするのではなく、楽曲データを構成する各パートデータの中から現在の音源のバージョンに適合したパートデータのみを選択して読み出し、そのパートデータのイベントデータを楽音信号生成部21に供給するようにしてもよい。この楽曲データの中からパートデータを選択する操作は、ハードディスク装置6から楽曲データを読み出すときに行ってもよいし、あるいはRAM3から楽曲データを読み出すときに行ってもよい。
B:第2の実施形態
B−1:第2の実施形態の構成
図11はこの発明の第2の実施形態であるカラオケ装置の構成を示すブロック図である。なお、この図において上記第1の実施形態と共通の部分には同一の符号を付し、その説明を省略する。
図11において、音声データ処理部12は、音声信号を生成する手段である。本実施形態における楽曲データは、コーラス音等の音声信号の生成を指示するパートデータを含んでいるが、これらのパートデータに対応した音声の再生は、この音声データ処理部12により行われる。なお、この音声データ処理部12の詳細については後述する。
上記第1の実施形態では、楽音パート(楽音トラック)について新旧バージョンの併存化を行った。これに対し、本実施形態は、楽曲データのうち上記音声データ処理部12の処理対象である音声パートについての新旧バージョン併存化を図ったものである。
ここで、図12を参照して、本実施形態において用いられる楽曲データについて説明する。同図に示す楽曲データは、コーラス音等の新たな音声パートが追加されることにより、楽曲データのバージョンアップがなされている。なお、1度もバージョンアップの行われていない楽曲データの構成は、上述した図2に示した構成と同様である。
図12において、代替音声トラックおよび代替音声データ部ならびに音声代替情報がバージョンアップにより追加された部分である。
ここで、MIDIデータ部に追加された代替音声トラックは、後述する代替音声データ部に書き込まれている代替音声データk(k=1〜n)の発生タイミング、音程および音量を指定するシーケンスデータであり、図3に示した音声トラックと同様のデータ構成となっている。
また、代替音声データ部には、コーラス音等のパートに対応した代替音声データk(k=1〜n)が記憶されている。なお、この代替音声データk(k=1〜n)は、上述した音声データi(i=1〜m)と同様に、ADPCMデータ圧縮技術によって圧縮されている。
また、音声代替情報は、楽曲データに追加された代替音声トラックおよび代替音声データ部のバージョンを示す情報である。なお、上記代替音声トラックおよび代替音声データ部は、特許請求の範囲における「代替パートデータ」に、上記音声代替情報は特許請求の範囲における「代替情報」に、それぞれ相当している。以上がバージョンアップによって追加された代替音声トラックおよび代替音声データ部の詳細である。
本実施形態では、以上のような楽曲データを取り扱うため、CPU1によるカラオケ演奏制御の態様も、上記第1の実施形態と少々異なっている。すなわち、カラオケ演奏開始時、CPU1は、RAM3に格納された楽曲データ中に音声代替情報が含まれているか否かを判断する。この判断の結果、楽曲データ中に音声代替情報が含まれている場合には、CPU1は、楽曲データ中から当該音声代替情報を抽出し、音声データ処理部12内の音声バージョン制御部30(後述する)に供給する。また、CPU1は、カラオケ演奏時、音声トラック中の音声イベントデータを読み出した際には、当該音声イベントデータ中の音声データ番号に対応する音声データi(i=1〜m)を音声データ部から読み出し、当該音声データi(i=1〜m)に音声イベントデータ中の音程データおよび音量データを付加した後、音声データ処理部12に出力する。
また、楽曲データに代替音声トラックおよび代替音声データ部が追加されている場合、代替音声トラック中の音声イベントデータを読み出した際には、CPU1は、当該音声イベントデータ中の音声データ番号に対応する代替音声データk(k=1〜n)を代替音声データ部から読み出し、当該代替音声データk(k=1〜n)に音声イベントデータ中の音程データおよび音量データを付加した後、音声データ処理部12に出力する。
次に、図13を参照して、音声データ処理部12の詳細な構成を説明する。同図に示すように、音声データ処理部12は、音声バージョン制御部30および音声データデコーダ31により構成されている。
音声バージョン制御部30は、CPU1から供給される音声データi(i=1〜m)および代替音声データk(k=1〜n)のうち、音声データデコーダ31が処理することのできる最新の情報を選択して、当該情報を音声データデコーダ31に供給する。なお、音声バージョン制御部30の動作の詳細については後述する。
音声データデコーダ31には、音声バージョン制御部30を介して音声データi(i=1〜m)、音程データおよび音量データが供給される。音声データデコーダ31は、音程データによって指定された音高および音量データによって指定された音量を有する音声信号を音声データi(i=1〜m)から生成し、ミキサ11に出力する。また、音声データデコーダ31には、代替音声データk(k=1〜n)が供給される場合もあるが、音声データデコーダ31は、この代替音声データについてもジョウキ音声データの場合と同様な処理を行う。
また、音声データデコーダ31は、内部の記憶装置(図示略)に、当該音声データデコーダ31のバージョンを示す情報(以下、「デコーダバージョン情報」という)を記憶している。すなわち、音声データデコーダ31がバージョンアップされる度に、係員等の所定の操作により、または、CPU1の制御によって、上記デコーダバージョン情報が音声データデコーダ31内の記憶装置に書き込まれ、または更新される。また、バージョンアップされていない音声データデコーダ31については、デコーダバージョン情報は存在しない。このデコーダバージョン情報は、カラオケ演奏開始時に音声バージョン制御部30に供給される。なお、上記デコーダバージョン情報は、ハードディスク装置6等に書き込まれる構成としてもよい。
B−2:本実施形態の動作
まず、カラオケ演奏開始時、CPU1によって音声代替情報が供給されない場合、すなわち、楽曲データに代替音声トラックおよび代替音声データ部が追加されていない場合には、音声データ処理部12には、CPU1によって音声データi(i=1〜m)のみが供給されるから、音声バージョン制御部30は、当該音声データi(i=1〜m)をそのまま音声データデコーダ31に供給する。
これに対し、カラオケ演奏開始時に音声代替情報がCPU1から供給された場合には、音声バージョン制御部30は、音声代替情報が示す代替音声トラックおよび代替音声データ部のバージョンと、音声データデコーダ31によって供給されるデコーダバージョン情報が示す音声データデコーダ31のバージョンを比較し、以下のような音声データまたは代替音声データの選択を行う。
a.代替音声トラックおよび代替音声データ部のバージョンが音声データデコーダ31のバージョンよりも大きい場合
この場合、楽曲データに新たなコーラス音等を生成するための代替音声トラックおよび代替音声データ部が追加されているものの、音声データデコーダ31がバージョンアップされていないから、新たなコーラス音等を生成することができない。従って、音声バージョン制御部30は、CPU1によって供給される音声データi(i=1〜m)および代替音声データk(k=1〜n)のうち、音声データi(i=1〜m)を選択して音声データデコーダ31に出力する。
b.代替音声トラックおよび代替音声データ部のバージョンが音声データデコーダ31のバージョンよりも小さいかまたは等しい場合
この場合、音声データデコーダ31は、CPU1によって供給される音声データi(i=1〜m)および代替音声データk(k=1〜n)によって指定される音声信号のすべてを生成することができる。従って、音声バージョン制御部30は、CPU1によって供給される音声データi(i=1〜m)および代替音声データk(k=1〜n)のうち、代替音声データk(k=1〜n)を選択して音声データデコーダ31に供給する。
上記aおよびbに示したように、音声データデコーダ31によって生成することができる音声信号のうち、最新の音声信号の生成を指示する情報が、音声バージョン制御部30によって選択されて音声データデコーダ31に供給される。このようにして音声データi(i=1〜m)または代替音声データk(k=1〜n)を受け取った音声データデコーダ31は、当該データに従って音声信号を生成し、ミキサ11に出力する。この音声信号は、ミキサ11において、楽器音用音源9から供給される楽音信号およびマイク11から供給されるボーカル音信号とミキシングされた後、出力される。
以上説明したように、本実施形態によれば、新たなコーラス音等を楽曲に導入した場合であっても、改めて楽曲データ全体を配信する必要はなく、代替音声トラックおよび代替音声データのみをセンタ300からカラオケ装置100に配信すればよいので、楽曲データの配信に関する負担を軽減することができる。
C:第3の実施形態
以下、本発明の第3の実施形態であるカラオケ装置について説明する。
上記第2の実施形態においては、代替音声データk(k=1〜n)として、ADPCMデータ圧縮技術によって圧縮されたデータに従って音声信号を生成する構成とした。これに対し、本実施形態においては、代替音声データk(k=1〜n)は、従来の音声データi(i=1〜m)とは異なる圧縮方法、例えば、ベクトル量子化技術等によって圧縮されている。
本実施形態にかかるカラオケ装置の全体の構成は、上記第2の実施形態であるカラオケ装置と比較すると、音声データ処理部12のみが異なる。従って、上記第2の実施形態と共通する部分については、説明を省略する。
ここで、図14を参照して、本実施形態における音声データ処理部12の構成を説明する。図14に示すように、本実施形態であるカラオケ装置内に設けられた音声データ処理部12は、音声バージョン制御部30、音声データデコーダ31および代替音声データデコーダ32によって構成されている。音声バージョン制御部30は、CPU1によって供給される音声データi(i=1〜m)および代替音声データk(k=1〜n)のうち、当該音声データ処理部12に設けられたデコーダに適合した情報を選択して、当該情報を対応するデコーダに供給するものである。
音声データデコーダ31は、ADPCMデータ圧縮技術によって圧縮された音声データi(i=1〜m)を処理することのできるデコーダであり、音声バージョン制御部30を介して音声データi(i=1〜m)、音程データおよび音量データが供給される。音声データデコーダ31は、音程データによって指定された音高および音量データによって指定された音量を有する音声信号を音声データi(i=1〜m)から生成し、ミキサ11に出力する。
また、代替音声データデコーダ32は、ベクトル量子化技術によって圧縮された代替音声データk(k=1〜n)を処理することのできるデコーダであり、音声バージョン制御部30を介して代替音声データk(k=1〜n)、音程データおよび音量データが供給される。代替音声データデコーダ32は、音程データによって指定された音高および音量データによって指定された音量を有する音声信号を代替音声データk(k=1〜n)から生成し、ミキサ11に出力する。
以下、音声バージョン制御部30の具体的な動作について説明する。まず、カラオケ演奏開始時、CPU1によって音声代替情報が供給されない場合、すなわち、楽曲データに代替音声トラックおよび代替音声データ部が追加されていない場合には、音声データ処理部12には、CPU1によって従来の音声データi(i=1〜m)のみが供給される。従って、当該カラオケ装置に代替音声データデコーダ32が設けられている場合であっても、音声バージョン制御部30は、当該音声データi(i=1〜m)を音声データデコーダ31に出力する。
これに対し、カラオケ演奏開始時に音声代替情報がCPU1から供給された場合には、音声バージョン制御部30は、まず、代替音声データデコーダ32が設けられているか否かを判断する。なお、以下の説明においては、上記判断の結果、代替音声データデコーダ32が設けられている場合と、設けられていない場合とに分けて説明する。
a.代替音声データデコーダ32が設けられている場合
この場合、CPU1によって供給される音声データi(i=1〜m)および代替音声データk(k=1〜n)の両方を処理することができるから、音声バージョン制御部30は、代替音声データk(k=1〜n)を代替音声データデコーダ32に出力する。
代替音声データk(k=1〜n)を供給された代替音声データデコーダ32は、当該代替音声データk(k=1〜n)に従って音声信号を生成し、ミキサ11に出力する。
b.代替音声データデコーダ32が設けられていない場合
この場合、楽曲データ中に代替音声トラックおよび代替音声データ部が追加されているものの、当該代替音声トラックおよび代替音声データ部を処理するための代替音声データデコーダ32が設けられていないから、CPU1によって供給される代替音声データk(k=1〜n)を処理することができない。従って、音声バージョン制御部30は、CPU1によって供給される音声データi(i=1〜m)および代替音声データk(k=1〜n)のうち、音声データi(i=1〜m)を選択して、音声データデコーダ31に出力する。
音声データi(i=1〜m)を供給された音声データデコーダ31は、当該音声データi(i=1〜m)に従って音声信号を生成し、ミキサ11に出力する。以後の動作は上記第2の実施形態と同様である。
以上説明したように、本実施形態によれば、従来の音声データと異なる圧縮方法によって圧縮された代替音声データを楽曲データに追加した場合であっても、当該カラオケ装置に設けられたデコーダに適合した情報を用いることができる。
なお、上記第3の実施形態においては、代替音声データの圧縮方法としてベクトル量子化技術を例に説明したが、代替音声データは、他の圧縮方法によって圧縮されたデータであってもよい。例えば、代替音声データは、TwinVQ(Transform-domain?Weighted?Interleave?Vector?Quantization)符号化方法等を用いて圧縮された代替音声データであってもよい。
D:第4の実施形態
D−1:第4の実施形態の構成
以下、本発明の第4の実施形態について説明する。本実施形態であるカラオケ装置では、図1に示した上記第1の実施形態における楽器音用音源9の代わりに図15に示す音源部13が設けられている。
ここで、図15を参照して、上記音源部13の構成について説明する。音源部13は、図15に示すように、選択部41ならびに音源42aおよび42bにより構成されている。ここで、選択部41は、カラオケ演奏時にCPU1によって供給される楽曲データの楽音トラックに含まれる演奏イベントデータを、当該楽曲データおよび音源部13の動作モード(後述)に従って選択し、選択した演奏イベントデータを、それぞれ音源42aおよび42bのいずれかに出力する手段である。なお、選択部41の詳細な動作は後述する。
音源42aおよび42bは、選択部41によって供給される演奏イベントデータに従って楽音信号を生成し、ミキサ11に出力する手段である。本実施形態では、ユーザが操作部4により所定の操作をすることにより、これらの各音源42aおよび42bを各々独立して初期化し、A+A演奏モード、A+B演奏モードおよびB+B演奏モードという3種類の演奏モードのうち所望のものを選択することができる。さらに詳述すると次の通りである。
まず、本実施形態において、ハードディスク装置6には、あるバージョン(以下、旧バージョンという。)の楽曲データに対応した音源プログラムAとこれより新しいバージョン(以下、新バージョンという。)の楽曲データに対応した音源プログラムBとを予め格納しておくことができる。
このように音源プログラムAおよびBが格納された状態において、ユーザが例えばA+A演奏モードを指定する操作を行ったとすると、ハードディスク装置6から音源プログラムAが読み出され、この音源プログラムAにより音源42aおよび42bの双方が初期化される。これにより本実施形態に係るカラオケ装置の動作モードは、音源42aおよび42bの両方を用いて旧バージョンの楽曲データの演奏を行うことが可能なA+A演奏モードとなる。同様に、ユーザの所定の操作により、ハードディスク装置6から音源プログラムAおよびBを読み出し、音源プログラムAにより音源42aを、音源プログラムBにより音源42bを初期化することもできる。この場合、本実施形態に係るカラオケ装置の動作モードは、音源42aおよび42bの両方を用いて、旧バージョンおよび新バージョンの楽曲データの演奏を行うことが可能なA+B演奏モードとなる。さらに本実施形態においては、ユーザの所定の操作により、ハードディスク装置6から音源プログラムBを読み出し、音源プログラムBにより音源42aおよび42bを初期化することもできる。この場合、本実施形態に係るカラオケ装置の動作モードは、音源42aおよび42bの両方を用いて、新バージョンの楽曲データの演奏を行うことが可能なB+B演奏モードとなる。
D−2:第4の実施形態の動作
次に、本実施形態におけるカラオケ装置の動作を説明する。
a.楽曲データが旧バージョンに対応しており、音源部13の動作モードがA+A演奏モードである場合
この場合、カラオケ演奏時において、選択部41は、CPU1によって演奏イベントデータを供給されると、当該演奏イベントデータを音源42aおよび42bのうちのいずれかに出力する。すなわち、例えば、全ての楽曲を音源42aによって演奏してもよいし、楽曲毎に、音源42aおよび42bを交互に用いてカラオケ演奏を行ってもよい。
ここで、本出願人の先願である特開平9−244666号公報には、複数の楽曲を長い合間なく連続して演奏することができるカラオケ装置が記載されているが、本実施形態におけるA+A演奏モードによれば、当該発明を利用することができる。すなわち、音源42aで楽曲1が演奏されている途中で次の楽曲2のリクエストがあった場合には、当該楽曲2の楽曲データ中のユーザバンクデータを音源42bに出力し、当該ユーザバンクデータに従って音源42bの種々のパラメータを設定する。これにより、音源42aによるカラオケ演奏が終了したとき、既にユーザバンクデータによってパラメータ設定された音源42bによって、即座に楽曲2の演奏を開始することができる(以下、この機能を「曲間短縮機能」という)。
また、本出願人の先願である特開平9−198068号公報には、任意の楽曲からメドレー曲を作成することが可能なカラオケ装置が記載されている。当該出願に係る発明によれば、複数の楽曲の間の演奏部分であるブリッジ部を生成し、複数の楽曲の間に当該ブリッジ部を演奏することにより任意の楽曲からメドレー曲を作成する構成となっている。本実施形態においては、音源42aおよび42bのうちのいずれかによってカラオケ演奏が行われている途中で、他方の音源によってブリッジ部の演奏を行うことにより、メドレー曲の演奏をより効率的に行うことができる(以下、この機能を「ブリッジ部再生機能」という)。
b.楽曲データが新バージョンに対応しており、音源部13の動作モードがA+A演奏モードである場合
この場合、音源部13に対し、共通パートデータ、初版パートデータおよび代替パートデータに含まれる演奏イベントデータが供給される。選択部41は、これらの演奏イベントデータのうち、共通パートデータおよび初版パートデータに含まれる演奏イベントデータを選択して、音源42aおよび42bのいずれかに出力する。この場合にも、上述した曲間短縮機能およびブリッジ部再生機能を用いることができる。
c.楽曲データが旧バージョンに対応しており、音源部13の動作モードがA+B演奏モードである場合
CPU1によって演奏イベントデータが供給されると、選択部41は、当該演奏イベントデータを音源42aに出力する。
d.楽曲データが新バージョンに対応しており、音源部13の動作モードがA+B演奏モードである場合
選択部41は、CPU1によって、共通パートデータ、初版パートデータおよび代替パートデータに含まれる演奏イベントデータを供給されると、当該情報のうち、共通パートデータおよび初版パートデータに含まれる演奏イベントデータを選択して音源42aに、代替パートデータに含まれる演奏イベントデータを選択して音源42bに、それぞれ出力する。すなわち、旧バージョンの楽曲データを音源プログラムAによって初期化された音源42aが処理し、バージョンアップによって楽曲データ中に新たに加えられた部分(代替パートデータ)を音源プログラムBによって初期化された音源42bが処理するのである。
e.楽曲データが新バージョンに対応しており、音源部13の動作モードがB+B演奏モードである場合
選択部41は、CPU1によって、共通パートデータ、初版パートデータおよび代替パートデータに含まれる演奏イベントデータを供給されると、当該情報すべてを、音源42aまたは42bに出力する。この場合にも、上述した曲間短縮機能およびブリッジ部再生機能を用いることができる。
選択部41によって演奏イベントデータを供給された音源42aおよび42bは、当該演奏イベントデータに従って楽音信号を生成し、ミキサ11に出力する。
以上示したように、本実施形態によれば、楽曲データと音源の間のバージョンの相違等を管理する必要がないので、カラオケ装置の管理に関する負担を軽減することができる。また、本実施形態によれば、上述した曲間短縮機能や、ブリッジ部再生機能等を用いることができる。
なお、以上の説明においては、音源部13は、楽音パート(楽音トラック)に関する処理を行う手段であったが、コーラスパート(音声トラックおよび音声データ)に関する処理を行う手段としてもよい。この場合、音源42aおよび42bは、音声データおよび代替音声データを再生する音声データデコーダとしての機能を備えたものとする。
また、本実施形態における音源部13は、カラオケ演奏のみならず、DTM(DeskTopMusic)用の音源等を含む各種の音源として使用可能である。
E:その他の実施形態
上記各実施形態は以下のような構成としてもよい。
(1)上記第1の実施形態においては、楽音バージョン制御部20が、代替情報および音源バージョン情報を比較することによって、代替パートデータおよび初版パートデータのいずれかを選択する構成としたが、ユーザが操作部4または図示しないリモコンを操作することにより、楽音バージョン制御部20に対し、代替パートデータおよび初版パートデータのいずれかを指定できる構成としてもよい。この場合、楽音バージョン制御部20は、代替情報および音源バージョン情報を比較することなく、ユーザにより選択された情報を楽音信号生成部21に出力する。
同様に、第2および第3の実施形態においても、ユーザが操作部4または図示しないリモコンを操作することにより音声バージョン制御部30に対し、代替音声データおよび音声データのいずれかを指定できる構成としてもよい。この場合、音声バージョン制御部30は、音声代替情報およびデコーダバージョン情報の如何に関わらず、ユーザにより選択された情報を対応する音声データデコーダに出力する。
(2)上記第1〜第3の実施形態においては、代替パートデータは、通信回線を介して配信される構成とした。これに対し、これらの情報をセンタ300内でフロッピー(登録商標)ディスク等の可搬式の記憶媒体に記憶させ、このフロッピーディスク等に書き込まれた情報を各カラオケ装置のフロッピーディスクドライブ(図示略)等から読み出して、ハードディスク装置6内の対応する楽曲データに追加する構成としてもよい。
1……CPU(制御手段、楽曲データ更新手段)、2……ROM、3……RAM、4……操作部(楽曲指定手段)、5……通信制御部(受信手段)、6……ハードディスク装置(楽曲データ記憶手段)、7……表示制御部、8……ディスプレイ装置、9……楽器音用音源、10……マイク、11……ミキサ、12……音声データ処理部、13……音源部(音源装置)、20……楽音バージョン制御部、21……楽音信号生成部、30……音声バージョン制御部、31……音声データデコーダ、32……代替音声データデコーダ、41……選択部(選択手段)、41a,41b……音源、100……カラオケ装置、200……通信回線、300……センタ(楽曲データ配信装置)。