楽曲演奏装置
【課題】楽曲演奏装置において、複数系統の音源を要することなく、複数の楽曲を切れ目なくまたは音源設定に要する時間よりも短い間隔で演奏することを可能とする技術を提供すること。
【解決手段】楽曲演奏装置(100)は、続けて演奏される第1及び第2の楽曲の各々の楽曲データから各楽曲の演奏区間に対応する演奏信号を生成する演奏信号生成手段(1、9、14)と、各楽曲の演奏信号を記憶するメモリ(22)と、第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、各楽曲の演奏信号をメモリから読み出して出力する出力手段(13)とを有し、演奏信号生成手段は、第1クロック信号より周波数の高い第2クロック信号を基準クロック信号として用いて、第1の楽曲の演奏区間の少なくとも一部に対応する演奏信号を生成する。
【解決手段】楽曲演奏装置(100)は、続けて演奏される第1及び第2の楽曲の各々の楽曲データから各楽曲の演奏区間に対応する演奏信号を生成する演奏信号生成手段(1、9、14)と、各楽曲の演奏信号を記憶するメモリ(22)と、第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、各楽曲の演奏信号をメモリから読み出して出力する出力手段(13)とを有し、演奏信号生成手段は、第1クロック信号より周波数の高い第2クロック信号を基準クロック信号として用いて、第1の楽曲の演奏区間の少なくとも一部に対応する演奏信号を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カラオケ曲などの楽曲を演奏する楽曲演奏装置に関する。
【背景技術】
【0002】
複数のカラオケ曲をつないで連続して演奏するメドレー演奏が可能なカラオケ装置が知られている。カラオケ装置は、演奏するカラオケ曲の楽曲データを記憶装置から読み出し、読み出された楽曲データに基づいて音源を動作させるが、その際、各曲毎の音源設定データDsetに基づいて音源の設定を行う必要がある。この音源の設定に数秒を要することがある。そのため、メドレー演奏において複数のカラオケ曲を切れ目なく演奏するためには、2系統の音源を用意し、一方の音源を用いて曲を演奏している間に、他方の音源の設定を後続の曲の音源設定データDsetに基づいて行い、演奏中の曲が終了すると音源を切り替えて後続の曲を演奏する必要があった。
【0003】
特許文献1には、メイン音源を一系統のみ用いてカラオケ曲のメドレー演奏が可能なカラオケ装置が開示されている。より具体的には、特許文献1には、カラオケ装置において、カラオケ演奏用の音源に比べて小規模で廉価なブリッジ用音源を設け、前段曲と後続曲とを接続するブリッジパターンをこのブリッジ用音源で演奏し、このブリッジパターンの演奏中に、カラオケ曲を演奏するためのメイン音源を後続曲の演奏に適した状態にセットアップすることが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−3077号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載のカラオケ装置は、メイン音源は一系統しか用いないものの、メイン音源とは別にブリッジ用音源を有し、やはり複数の音源を必要とする。そのため、音源が一系統の場合と比べてコストアップが生じる。
【0006】
本発明は、上述した背景の下になされたものであり、楽曲演奏装置において、複数系統の音源を要することなく、複数の楽曲を切れ目なくまたは音源設定に要する時間よりも短い間隔で演奏することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決するため、本発明は、第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、前記指定データによって指定された前記複数の楽曲の各々の楽曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する音源を含む演奏信号生成手段と、前記演奏信号生成手段により生成された各楽曲の前記演奏信号を記憶するメモリと、前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、各楽曲の前記演奏信号を前記演奏順にメモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する前記演奏信号を生成することを特徴とする楽曲演奏装置を提供する。
【0008】
好ましい態様において、前記第1の楽曲の前記演奏信号と、前記第2の楽曲の前記演奏信号を連結し、連結した演奏信号を前記メモリに格納する演奏信号合成手段を更に有してもよい。
【0009】
他の好ましい態様において、前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号の間に、これら2つの楽曲の間に演奏されるフレーズの演奏信号であるブリッジ演奏信号を挿入してもよい。
【0010】
他の好ましい態様において、本発明は、第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、前記指定データによって指定された前記複数の楽曲の各々を表す原曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する演奏信号生成手段と、前記演奏信号生成手段により生成された各楽曲の前記演奏信号を連結する演奏信号合成手段と、前記演奏信号合成手段により連結された前記演奏信号を記憶するメモリと、前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記演奏信号を前記メモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する演奏信号を生成し、前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号を一部が重なるように連結することを特徴とする楽曲演奏装置を提供する。
【0011】
他の好ましい態様において、本発明は、第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、前記指定データによって指定された前記複数の楽曲の各々を表す原曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する演奏信号生成手段と、前記演奏信号生成手段により生成された各楽曲の前記演奏信号を連結する演奏信号合成手段と、前記演奏信号合成手段により連結された前記演奏信号を記憶するメモリと、前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記演奏信号を前記メモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する演奏信号を生成し、前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号の間に、これら2つの楽曲の間に演奏されるフレーズの演奏信号であるブリッジ演奏信号を挿入することを特徴とする楽曲演奏装置を提供する。
【発明の効果】
【0012】
本発明によれば、楽曲演奏装置において、複数系統の音源を要することなく、複数の楽曲を切れ目なくまたは音源設定に要する時間よりも短い間隔で演奏することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係るカラオケ装置のブロック図。
【図2】楽曲データの構成を示す模式図。
【図3】楽曲データに含まれる音声トラックの構成を示す模式図。
【図4】楽曲データに含まれる楽音トラックの構成を示す模式図。
【図5】DSP12の機能を示すブロック図。
【図6】通常モードにおけるカラオケ装置の主要部の信号の流れを示すブロック図。
【図7】メドレー曲の構成を説明するための概念図。
【図8】メドレーデータの一例を示す概念図。
【図9】メドレー演奏モードにおけるカラオケ装置100の動作を示すフローチャート。
【図10】原曲からメドレー曲を生成する際の各工程の処理内容を説明するための概念図。
【図11】メドレー演奏モードにおけるカラオケ装置の主要部の信号の流れを示すブロック図。
【図12】本発明の変形例6に係るメドレー曲の演奏途中にキー変更がなされた場合の処理を示すフローチャート。
【発明を実施するための形態】
【0014】
[実施形態]
(構成)
図1は、本発明の一実施形態に基づく楽曲演奏装置として、カラオケ装置100を示すブロック図である。図1に示すように、このカラオケ装置100は、CPU(中央処理装置)1、ROM(読み出し専用メモリ)2、RAM(読み書き可能メモリ)3、操作部4、通信制御部5、ハードディスク装置(HDD)6、表示制御部7、表示装置8、楽器音用音源(以下、単に「音源」という)9、マイクロフォン(以下、「マイク」という)10、ミキサ11、DSP(Digital Signal Processor)12、D/A変換器13、音声デコーダ14、及びクロックジェネレータ15により構成されている。ここで、CPU1、ROM2、RAM3、操作部4、通信制御部5、ハードディスク装置6、表示制御部7、音源9、DSP12、音声デコーダ14は、共通のバス101に接続されている。
【0015】
図1において、ROM2にはカラオケ装置100を起動するために必要なイニシャルプログラムが記憶されている。カラオケ装置100の電源が投入されると、このイニシャルプログラムに従ってハードディスク装置6に記憶されたシステムプログラムおよびアプリケーションプログラムがRAM3にロードされる。RAM3は、ロードしたシステムプログラムやアプリケーションプログラムを記憶する記憶エリアの他、カラオケ演奏のための楽曲データを記憶する記憶エリアを有している。
【0016】
操作部4は、曲番号を入力するためのテンキーやカラオケ装置100を操作するための操作キーおよび摘み等を備えており、カラオケ装置100本体の前面等に設けられている。ユーザは、この操作部4を操作することにより、CPU1に対し、曲番号の入力、音量の調節、テンポの変更、およびキーの変更等の指示を与えることができる。なお、カラオケ装置100の操作は、リモートコントローラ(図示せず)によっても可能である。
【0017】
通信制御部5は、通信回線200を介してセンタ300から配信される楽曲データを受信し、受信した楽曲データを内部のDMA(Direct Memory Access)コントローラ5aによってCPU1を介することなく直接ハードディスク装置6に書き込む。
【0018】
また、ハードディスク装置6には上述したシステムプログラムおよび電源投入時に音源を初期化するための音源プログラムを格納するプログラムファイルの他、カラオケ演奏時に再生される約1万曲分の楽曲データを記憶する楽曲データファイルが設定されている。
【0019】
ここで、図2〜図4を参照して、本実施形態のカラオケ装置100において用いられる楽曲データの詳細な構成について説明する。図2に示すように、楽曲データは、ヘッダと、これに続くMIDIデータ部、及び音声データ部により構成されている。尚、楽曲の演奏に先立って、楽曲データの一部または全部が、ハードディスク装置6からRAM3へロードされる。
【0020】
ヘッダには、当該楽曲に関する種々の情報、例えば、曲名、ジャンルおよび当該楽曲の演奏時間等の情報が含まれている。また、ヘッダには、音色や音量、アタック、ディケイおよびリリース等のエンベロープ形状値、ならびにエコーおよびリバーブ等のエフェクト処理のためのフィルタ係数といった種々のパラメータ値が記述されたユーザバンクデータ(音源設定データともいう)が含まれている。楽曲の演奏開始時、上記ユーザバンクデータは、CPU1によって音源9に供給され、音源9に設定される。これにより、上述した音源プログラムによってのみではまかないきれない個々の楽曲別の設定によって音源9を動作させることができるのである。このように楽曲毎に音源9のパラメータ設定を行うことによって多用な楽音を出力することができるが、音源9のパラメータ設定には数秒の時間を要することがある。
【0021】
また、ヘッダには、楽曲の演奏のテンポを示すテンポデータが含まれる。本実施形態において、テンポデータは、後述する基準クロック信号の所定クロック数当たりの拍(4分音符)の数として設定される。
【0022】
MIDIデータ部には、MIDI規格に準拠したカラオケ演奏を制御するための情報が含まれている。さらに詳述すると、MIDIデータ部は、図2に示すように、楽音トラック、歌詞トラックおよび音声トラック等の複数のトラックによって構成されている。これらの各トラックは、複数のイベントデータと、各イベントデータ間の間隔を示すデュレーションデータΔtとにより構成されるシーケンスデータである。デュレーションデータΔtは、テンポクロック(またはMIDIクロック)と言われる4分音符当たり予め決められた回数(例えば、24回、960回など)CPU1から送信される同期信号のカウント数として設定される。従って、テンポがゆっくりになれば(即ち、1拍の時間が長くなれば)、デュレーションデータΔtの実時間の長さは長くなる。尚、テンポクロックは、各楽曲のテンポデータに基づいてCPU1によって生成される。
【0023】
上記楽曲データ中の楽音トラックは、伴奏音等の楽音信号Smを形成するためのシーケンスデータである。なお、この楽音トラックの詳細については後述する。また、歌詞トラックは、演奏される楽曲の歌詞を表示装置8上に表示するための歌詞表示イベントデータとデュレーションデータΔtにより構成されるシーケンスデータである。
【0024】
音声トラックは、図3に示すように、音声信号Svの形成を指示する音声イベントデータEDvとデュレーションデータΔtにより構成されるシーケンスデータである。ここで、音声イベントデータEDvは、後述する音声データ部に書き込まれている音声データDVi(i=1〜m)を指定する音声データ番号と、当該音声データから生成する音声信号Svの音程および音量を指定する音程データおよび音量データにより構成されている。
【0025】
音声データ部には、音源9で合成しにくいバックコーラスやハーモニー歌唱等の人声を表す音声データDVi(i=1〜m)が各データ番号i(i=1〜m)の順に記憶されている。この音声データDVi(i=1〜m)は、ADPCM(Adaptive Differential Pulse Code Modulation)データ圧縮技術によって圧縮されている。上述した音声トラックに含まれる音声データ番号は、これらの音声データのうちの1つを指定するものである。
【0026】
次に、図4(a)および(b)を参照して、上記楽曲データ中の楽音トラックの詳細な構成を説明する。図4(a)に例示する楽音トラックは、ピアノ、キーボード、ベースおよびドラムス等の音色別に16のパートデータで構成されている。各パートの音色は、上記したように、楽曲データのヘッダに含まれるユーザバンクデータによって設定される。これらのパートを並行して演奏することにより、オーケストラやフルバンドの演奏音を出力することができるのである。そしてこれらの各パートデータは、図4(b)に示すように、発音処理(ノートオン)や消音処理(ノートオフ)などの演奏の具体的な処理を示す演奏イベントデータEDpと、各演奏イベントデータEDp間の間隔を指定するデュレーションデータΔtにより構成されている。尚、発音処理を示す演奏イベントデータ(ノートオンイベントデータ)は、音高を示すノートナンバや音の強さを示すベロシティを含んでもよい。
【0027】
再度図1を参照すると、CPU1は、カラオケ演奏時に、楽曲データに含まれる楽音トラック、歌詞トラック、及び音声トラックから並行してイベントデータを読み出し、各イベントデータを該当する各部に供給するシーケンサとして機能する。さらに詳述すると、CPU1は、楽曲データ中の楽音トラックに書き込まれた各パートの演奏イベントデータEDpを読み出した際には当該演奏イベントデータEDpを音源9に、歌詞トラック中の歌詞表示イベントデータを読み出した際には当該歌詞表示イベントデータを表示制御部7に、それぞれ出力する。また、CPU1は、音声トラック中の音声イベントデータEDvを読み出した際には、当該音声イベントデータEDv中の音声データ番号によって指定される音声データDVi(i=1〜m)をRAM3から読み出し、当該音声データDVi(i=1〜m)に、音声イベントデータEDv中の音程および音量に関するデータを付加した後、音声デコーダ14に出力する。
【0028】
表示制御部7は、CPU1から供給される歌詞トラック中の歌詞表示イベントデータに従い、演奏される楽曲に対応した歌詞の文字列を生成し、これを映像再生装置(図示略)から供給される映像信号(背景映像)に合成して表示装置8に出力する。また、表示制御部7は、操作部4の操作によって入力された曲番号などを受信して、表示装置8に出力する。表示装置8は、表示制御部7によって供給される情報を表示する。
【0029】
音源9は、CPU1によって供給される楽音トラック中の演奏イベントデータEDpに従って楽器音等の楽音信号Smを生成し、DSP12に出力する。音源9が生成する楽音信号Smは、楽音波形を表す一連のデジタルデータを含むデジタル波形信号であり、これらの一連のデジタルデータは音源9から順次DSP12に送信される。また、音源9が生成する楽音信号Smに含まれる一連のデジタルデータ間の間隔(以後、「サンプリング間隔」という)は、後述する基準クロック信号のクロックパルスのカウント数として設定される。従って、1サンプリング間隔の実時間における長さは、基準クロック信号の周期によって変化する。楽音信号Smは、楽曲の演奏信号の一例である。
【0030】
音声デコーダ14は、音声トラック中の音声イベントデータEDvに従ってCPU1から供給される音声データDVi(i=1〜m)及びそれに付加された音程および音量に関するデータに基づいて音声信号Svを生成し、DSP12に出力する。音声デコーダ14が生成する音声信号Svは、音源9が生成する楽音信号Smと同様に、サンプリング間隔毎に生成される一連のデジタルデータを含むデジタル波形信号である。音声信号Svは、楽曲の演奏信号の一例である。
【0031】
DSP12は、操作部4を介して入力されたユーザの指示に基づいて、入力された楽音信号Sm及び音声信号Svにエコー効果などの効果を付与する。更に、DSP12は、後に詳述するように、メドレーデータに基づいてメドレー曲を演奏する際、メドレー演奏される各楽曲(原曲)の楽音信号Sm及び音声信号Sv(これらを総称して演奏信号という)を連結してメドレー曲の演奏信号を生成する。図5は、DSP12のメドレー曲生成に関する機能を示すブロック図である。DSP12は、各原曲の演奏信号を連結してメドレー曲の演奏信号を生成するメドレー合成部21と、メドレー合成部21により生成されたメドレー曲の演奏信号を格納するメモリ22とを有する。メモリ22は、DSP12が音源9や音声デコーダ14から受信した信号を処理する際の作業エリアとしても機能する。
【0032】
再度図1を参照すると、D/A変換器13は、DSP12のメモリ22に格納された演奏信号を読み出してアナログ信号に変換し、ミキサ11に出力する。このとき、D/A変換器13は、演奏信号(楽音信号Sm及び音声信号Sv)に含まれる一連のデジタルデータを、先にメモリ22に入力されたものから順に予め定められた間隔(以後、「読み出し間隔」という)で読み出してアナログ信号に変換する。即ち、メモリ22は先入れ先出しのバッファメモリとして働く。また、D/A変換器13の読み出し間隔は、実時間において1/(44.1kHz)となるように、後述する第1クロック信号のクロックパルスのカウント数として定められている。
【0033】
マイク10は、歌唱者が発するボーカル音を電気信号(以下、「ボーカル音信号」という)に変換してミキサ11に出力する。ミキサ11は、D/A変換器13から供給されるD/A変換済みの演奏信号と、マイク10から供給されるボーカル音信号をミキシングして出力する。ミキサ11から出力された信号は、アンプ(図示略)によって増幅され、スピーカ(図示略)によって出力される。
【0034】
クロックジェネレータ15は、カラオケ装置100においてカラオケ曲の演奏を制御するシーケンスデータ(楽音トラック、歌詞トラック、及び音声トラック)を処理するときに用いられる基準クロック信号を生成する。本実施形態において、クロックジェネレータ15は基準クロック信号として、第1クロック信号CLK1と、第1クロック信号CLK1より高い周波数の第2クロック信号CLK2の2つのクロック信号を生成する。本実施形態では、第2クロック信号CLK2は第1クロック信号CLK1の2倍の高さの周波数を有するものとする。
【0035】
(動作)
次に、上記のように構成されたカラオケ装置100の動作について説明する。カラオケ装置100は、メドレー曲でない曲(以後、「通常曲」という)を個別に演奏する通常モードと、後述するメドレーデータに基づいてメドレー曲を演奏するメドレー演奏モードの2つの動作モードを有する。通常モードからメドレー演奏モードへは、メドレー曲を演奏するときに自動的に切り替えられる。
【0036】
(通常モード)
通常モードでは、カラオケ装置100の各部は第1クロック信号CLK1を基準クロック信号として用いる。本実施形態において、各楽曲の楽曲データに含まれるテンポデータ及びシーケンスデータ(楽音トラック、歌詞トラック、及び音声トラック)は、カラオケ装置100の各部が第1クロック信号CLK1を用いて動作する場合を想定して作成されている。例えば、各楽曲のテンポを規定するテンポデータは、第1クロック信号CLK1が基準クロック信号として用いられる場合に、実時間において意図されたテンポ(例えば、60bpm(beats per minute))で当該楽曲が演奏されるように、基準クロック信号の所定クロック数当たりの拍の数として設定されている。また、演奏イベントデータEDpに基づいて音源9が生成する楽音信号Smのサンプリング間隔は、音源9が第1クロック信号CLK1を基準クロック信号として用いる場合に、サンプリング間隔がD/A変換器13の読み出し間隔(1/(44.1kHz))と実時間において等しくなるように、基準クロック信号のクロックパルスのカウント数として設定されている。
【0037】
図6は、通常モードにおけるカラオケ装置100の主要部の間の信号の流れを示すブロック図である。ユーザが操作部4の操作により通常曲を指定して(即ち、通常曲の曲番号を入力して)演奏を指示すると、CPU1は、ユーザによって指定された楽曲の楽曲データをハードディスク装置6から読み出してRAM3に格納した後、楽曲データのヘッダに含まれる音源設定データDset(ユーザバンクデータ)を音源9に送信する。音源9は受信した音源設定データDsetに基づいて設定を行う。音源の設定がなされた後、CPU1は、楽曲データに含まれる楽音トラック及び音声トラックから並行してイベントデータを順次読み出し、イベントデータが演奏イベントデータEDpの場合は音源9に供給し、音声イベントデータEDvの場合は当該音声イベントデータEDv中の音声データ番号によって指定される音声データDVi(i=1〜m)をRAM3から読み出し、読み出した音声データDViを音声イベントデータEDv中の音程および音量に関するデータと共に音声デコーダ14に供給する。イベントデータを読み出すタイミングは、各トラックに含まれるデュレーションデータΔtに基づいて制御される。音源9は、受信した演奏イベントデータEDpに応じて楽音信号Smを生成し、生成した楽音信号SmをDSP12へ送信する。また、音声デコーダ14は、受信した音声データDVi及び音程・音量データに応じて音声信号Svを生成し、生成した音声信号SvをDSP12へ送信する。
【0038】
DSP12が受信した楽音信号Sm及び音声信号Sv(演奏信号)は、DSP12のメドレー合成部21に入力されるが、通常モードでは、メドレー合成部21は入力された演奏信号に処理を加えず、演奏信号をそのままメモリ22へ書き込む。D/A変換器13は、メモリ22に書き込まれた演奏信号を読み出してアナログ信号に変換する。D/A変換器13により生成されたアナログ信号は、ミキサ11及びアンプ(図示せず)を介してスピーカ(図示せず)に送られ、音として出力される。
【0039】
上記したように、楽曲のテンポを規定するテンポデータは、通常モードにおいて(即ち、第1クロック信号CLK1を基準クロック信号として使う場合に)、意図されたテンポ(例えば、60bpm(beats per minute))で当該楽曲が演奏されるように設定されているので、通常モードでは、CPU1が楽曲の楽曲データを全て処理するのに要する時間は、その楽曲の実際の演奏時間と概ね等しい。
【0040】
(メドレー演奏モード)
次に、メドレー演奏モードにおけるカラオケ装置100の動作を説明する。ここでは、2つの楽曲(曲Aと曲B)をつなげて生成されるメドレー曲Cを演奏する場合を例として説明する。
【0041】
まず、図7を参照して、最初の曲A、次の曲B及びこれらから生成されるメドレー曲Cの関係を示す。曲Aは、A1〜A9の9つのセクションを有し、A1は前奏、A2は1番のAメロ、A3は1番のBメロ、A4は1番のサビ、A5は間奏、A6は2番のAメロ、A7は2番のBメロ、A8は2番のサビ、A9は後奏となっている。本例では、曲Bも曲Aと同様に、B1〜B9の9つのセクションを有する。メドレー曲Cは、曲Aの1番までを構成するセクションA1〜A4と、曲Bの1番を構成するセクションB2〜B4とをブリッジ部BRGでつないだ構成を有する。ブリッジ部BRGは、メドレー演奏において続けて演奏される曲と曲の間を滑らかにつなぐために演奏される短いフレーズである。ここで、メドレー曲Cに含まれる、原曲(この例では曲A、曲B)の一部に基づいて生成される部分を構成曲という。図7の例では、メドレー曲CのうちセクションA1〜A4に対応する部分が構成曲PAとして示され、セクションB2〜B4に対応する部分が構成曲PBとして示されている。
【0042】
本例では、構成曲PAの最後の一部はフェードアウトするとともに、ブリッジ部BRGの一部と予め定められた期間Taの間重ねて演奏され、構成曲PBの出だしの一部はフェードインするとともに、ブリッジ部BRGの一部と予め定められた期間Tbの間重ねて演奏されるものとする。また、構成曲PBの最後はフェードアウトするものとする。
【0043】
本例では、上記したようなメドレー曲Cの構成を示すデータであるメドレーデータMDは通信回線200を介してセンタ300から配信され、ハードディスク装置6に格納されている。図8は、メドレーデータMDの一例を示す概念図である。図示されているように、メドレーデータMDには、メドレー曲Cにおける曲Aの演奏順を示すデータ(本例では、「1」)、曲Aの曲番号、曲Aの演奏区間を示す演奏区間データ、曲Aとブリッジ部BRGの重なり期間Ta、曲Aのフェードアウトの態様を示すフェードカーブA、曲Bの演奏順を示すデータ(本例では、「2」)、曲Bの曲番号、曲Bの演奏区間を示す演奏区間データ、曲Bとブリッジ部BRGの重なり期間Tb、曲Bのフェードインの態様を示すフェードカーブB1、曲Bのフェードアウトの態様を示すフェードカーブB2、及び、メドレー演奏において曲Bの前に演奏されるブリッジ部BRGの演奏データであるブリッジデータが含まれている。
【0044】
重なり期間Ta、Tbは実時間(例えば、2秒)でもよく、あるいは基準クロック信号のクロックパルスのカウント数として設定してもよい。演奏区間データは、本例の場合、曲A、曲Bのいずれも1番を演奏するので、「1」としてもよいが、演奏する区間の開始点と終了点を曲の演奏開始からの経過時間(テンポクロックのカウント数)で示すなど、別の態様でもよい。ブリッジデータは、曲Bと同じ音源設定で演奏可能なシーケンスデータ(楽音トラック)であり、ブリッジ部BRGが曲Bの演奏区間に滑らかに接続するように設計されている。尚、本例では、ブリッジデータは音声トラックを含まないものとするが、ブリッジデータが音声トラックを含んでもよい。また、図示省略するが、メドレーデータMDは、メドレー演奏される各曲の音量レベルを示すデータを含んでいてもよい。
【0045】
続いて、図9及び図10を参照して、メドレー演奏モードにおける動作を説明する。図9はメドレー演奏モードにおけるカラオケ装置100の動作を示すフローチャートであり、図10は原曲からメドレー曲を生成する際の各工程の処理内容を説明するための概念図である。
【0046】
図9に示すように、ユーザが操作部4の操作によりメドレー曲Cを指定して(即ち、メドレー曲Cの曲番号を入力して)演奏を指示すると(ステップS1)、CPU1は、ユーザによって指定されたメドレー曲Cに対応するメドレーデータMDをハードディスク装置6から読み出してRAM3に格納する(ステップS2)。
【0047】
ステップS1で、ユーザがメドレー曲Cの演奏を指示する際、キーやテンポの変更してもよい。ユーザによるテンポ変更の指示は、テンポ変更データTEMPOとしてRAM3に格納され、ユーザによるキー変更の指示は、キー変更データKEYとしてRAM3に格納される。テンポ変更データTEMPOは、テンポデータによって設定されているテンポの増減値(例えば、+10、−10など)であってよい。また、キー変更データKEYは、演奏され曲のキーを半音単位でどの程度上下させるかを示す数値(例えば、+1は半音上げることを示し、−1は半音下げることを示す)であってよい。
【0048】
続いて、CPU1は、RAM3に格納したメドレーデータMDに基づき、メドレー曲Cの演奏を行うために必要なデータの準備をする。具体的には、まずステップS3で、CPU1は、メドレーデータMDに基づいて、原曲A、Bのうちメドレー曲Cに組み込まれる区間(演奏区間)の演奏に必要なデータ(以後、「演奏データ」という)を、各曲A、Bの楽曲データから抽出する(図10(A))。演奏データには、原曲の楽曲データに含まれるヘッダと、演奏区間分の楽音トラック、歌詞トラック、及び音声トラックと、当該区間の音声トラックで用いられる音声データとが含まれる。尚、本例では、曲Aはメドレー曲Cの中で最初に演奏されるため、曲Aの演奏区間は前奏(セクションA1)を含むものとし、曲Bは最初の曲ではないため、曲Bの演奏区間は前奏(セクションB1)を含まないものとしたが、演奏区間に前奏を含めるか否かは任意である。
【0049】
続いてステップS4で、CPU1は、メドレーデータMDに基づいて、抽出した原曲の演奏区間の演奏データを加工して各構成曲PA、PBの演奏データを生成する(図10(B))。この処理には、曲AのセクションA4の演奏が期間T1に渡ってフェードカーブAに従ってフェードアウトするように、また、曲BのセクションB2の演奏が期間T2に渡ってフェードカーブB1に従ってフェードインし、セクションB4の演奏が期間T3に渡ってフェードカーブB2に従ってフェードアウトするように、楽音トラックに含まれる演奏イベントデータEDpのベロシティを書き換える処理が含まれる。また、メドレーデータMDに各曲A、Bの音量レベルが含まれる場合、曲Aと曲Bの音量レベルの差が小さくなるように、例えば曲Bの演奏区間の演奏データを加工してもよい。生成された構成曲PA、PBの演奏データはブリッジ部BRGの演奏データ(ブリッジデータ)と共にRAM3に格納される。
【0050】
メドレー曲Cを構成する構成曲PA、PB、及びブリッジ部BRGの演奏データが準備されると、カラオケ装置100は、これらの演奏データに基づいてメドレー曲Cの演奏を行う(ステップS5)。
【0051】
ステップS5の処理について、図11を参照して以下に詳細に説明する。図11はメドレー演奏モードにおけるカラオケ装置100の主要部の間の信号の流れを示すブロック図である。図11に示すように、本実施形態のメドレー演奏モードでは、D/A変換器13は第1クロック信号CLK1を基準クロック信号として用いて動作し、CPU1、音源9、音声デコーダ14、及びDSP12は、第2クロック信号CLK2を基準クロック信号として用いて動作する。
【0052】
構成曲PA、PB、及びブリッジ部BRGの演奏データを準備した後、CPU1は、構成曲PAの演奏データに含まれるヘッダから音源設定データDset(ユーザバンクテータ)を抽出し、音源9に送信する。音源9は、受信した音源設定データDsetに基づいて各パートの音色等の設定を行う。また、CPU1は、メドレー演奏される曲とその演奏順を示す情報、及び重なり期間Ta、Tbを含むメドレー構成情報ImdをメドレーデータMDから抽出してDSP12に送信する。DSP12は、受信したメドレー構成情報Imdをメモリ22に格納する。
【0053】
続いて、CPU1は、構成曲PAの演奏データに含まれる楽音トラック及び音声トラックから並行してイベントデータを順次読み出し、イベントデータが演奏イベントデータEDpの場合は音源9に供給し、音声イベントデータEDvの場合は当該音声イベントデータEDv中の音声データ番号によって指定される音声データDVi(i=1〜m)をRAM3から読み出し、読み出した音声データDViを音声イベントデータEDv中の音程および音量に関するデータと共に音声デコーダ14に供給する。音源9は、受信した演奏イベントデータEDpに応じて楽音信号Smを生成し、生成した楽音信号SmをDSP12へ送信する。また、音声デコーダ14は、受信した音声データDVi及び音程・音量データに応じて音声信号Svを生成し、生成した音声信号SvをDSP12へ送信する。図10(C)は、DSP12に送信された構成曲PAの演奏信号(楽音信号Sm及び音声信号Sv)を示している。DSP12は、受信した演奏信号をメモリ22に書き込む。また、演奏信号のメモリ22への書き込みがなされた旨をD/A変換器13に通知する。
【0054】
ここで、楽音トラック及び音声トラックからのイベントデータの読み出しを行う際、CPU1は、RAM3に格納されたテンポ変更データTEMPOを参照し、テンポ変更データTEMPOがユーザによるテンポの変更を示す場合(即ち、テンポ変更データTEMPOがゼロでない場合)は、構成曲PAの演奏データに含まれるテンポデータをテンポ変更データTEMPOに基づいて修正し、修正されたテンポデータに基づいてテンポクロックを生成する。上記したように、デュレーションデータΔtはテンポクロックのカウント数として定められているので、デュレーションデータΔtによって定められるイベントデータの送信タイミングに、ユーザによるテンポ変更の指示が反映される。更に、CPU1は、RAM3に格納されたキー変更データKEYを参照し、キー変更データKEYがユーザによるキーの変更を示す場合(即ち、キー変更データKEYがゼロでない場合)は、演奏イベントデータEDpに含まれる音高を表すデータ(ノートナンバ)をキー変更データKEYに基づいて修正し、修正されたノートナンバを含む演奏イベントデータEDpを音源9に送信する。また、音声データDViと共に音声デコーダ14に供給される音程に関するデータをキー変更データKEYに基づいて修正する。このようにして、ユーザによるテンポやキーの変更が、演奏されるカラオケ曲に反映される。
【0055】
演奏信号のメモリ22への書き込みがなされた旨の通知を受信したD/A変換器13は、メモリ22からの演奏信号の読み出し、及び、読み出した演奏信号のアナログ信号への変換を行う。D/A変換器13で生成されたD/A変換済みの演奏信号は、ミキサ11を介してスピーカ(図示せず)に供給され、出力される。ここで、上記したように、D/A変換器13は通常モードと同様に第1クロック信号を基準信号として用いて動作するので、D/A変換器13の読み出し間隔の実時間の長さは、通常モードと同じである(即ち、1/(44.1kHz))。
【0056】
上記したように、メドレー演奏モードでは、CPU1は、第1クロック信号CLK1の2倍の高さの周波数を有する第2クロック信号CLK2を基準クロック信号として用いて動作する。そのため、実時間においては、各楽曲のテンポ(1分間当たりの拍の数で表されるテンポ)は、第1クロック信号CLK1を基準クロック信号として用いた場合と比べて、倍の速さになる(従って、各トラックに含まれるデュレーションデータΔtの実時間の長さは半分となる)。また、メドレー演奏モードでは、音源9及び音声デコーダ14は第1クロック信号CLK1の2倍の高さの周波数を有する第2クロック信号CLK2を基準クロック信号として用いて動作するため、音源9により生成される楽音信号Sm及び音声デコーダ14により生成される音声信号Svに含まれる一連のデジタルデータの間隔(サンプリング間隔)の実時間の長さは、第1クロック信号CLK1を基準クロック信号として用いた場合と比べて、半分(1/(88.2kHz))となる。従って、メドレー演奏モードにおいて、音源9及び音声デコーダ14から出力された信号を、D/A変換器13が、サンプリング間隔と同じ読み出し間隔でメモリ22から読み出し、アナログ信号に変換して出力すると、元の半分の演奏時間で音高が倍になった楽曲が出力されることとなる。しかしながら、本実施形態では、D/A変換器13は、メドレー演奏モードでも、第1クロック信号CLKを基準クロック信号として用い、読み出し間隔は通常モードと同じ(1/(44.1kHz))であるため、楽音信号Sm及び音声信号Svは時間軸方向に倍に引き延ばされて、楽曲は元と同じ演奏時間で同じ音高で出力される。
【0057】
構成曲PAの演奏データの処理を終了すると、CPU1は、構成曲PBの演奏データに含まれるヘッダから音源設定データDsetを抽出し、音源9に送信する。音源9は、受信した音源設定データDsetに基づいて各パートの音色等の設定を行う。この音源の設定には数秒を要する。
【0058】
ここで、メドレー演奏モードにおいてCPU1は、第2クロック信号CLK2を基準クロック信号として用いているため、CPU1が構成曲PAの演奏データを処理するのに要する時間は、構成曲PAの実際の演奏時間の約半分となる。言い換えると、CPU1が構成曲PAの演奏データを処理し終えて、ステップS36で構成曲PB用の音源設定データDsetを音源9に送信するとき、スピーカから出力される構成曲PAの演奏は約半分しかなされていない。
【0059】
続いて、CPU1は、ブリッジ部BRGの演奏データ(ブリッジデータ)に含まれる楽音トラックから演奏イベントデータEDpを逐次読み出して音源9に送信する。音源9は、CPU1から受信した演奏イベントデータEDpに基づいて、楽音信号Smを生成する。上記したように、ブリッジデータは後続の構成曲PB(曲B)と同じ音源設定で演奏可能である。音源9によって生成されたブリッジ部BRGの楽音信号Smは、DSP12に出力される。DSP12は、受信した楽音信号Smをメモリ22に書き込むとともに、既に受信している構成曲PAの演奏信号と連結する(図10(D))。
【0060】
具体的には、DSP12は、CPU1から受信しメモリ22に格納したメドレー構成情報Imdに含まれる重なり期間Taに基づいて、メモリ22に格納されている構成曲PAの演奏信号(楽音信号Sm)の末尾の期間Taに渡る区間を抽出して、それをブリッジ部BRGの楽音信号Smの先頭の期間Taに渡る区間と重ね合わせて長さTaの合成楽音信号を生成し、この合成楽音信号で、メモリ22に格納されている構成曲PAの楽音信号Smの末尾の期間Taに渡る区間を置き換える。ブリッジ部BRGの楽音信号Smの残りは、構成曲PAの楽音信号Smの後に続いてメモリ22に格納される。このようにして、連結された構成曲PAとブリッジ部BRGの演奏信号がメモリ22に格納される。
【0061】
ここで、構成曲PAの演奏データの処理に要する時間を30秒(即ち、構成曲PAの実際の演奏時間は60秒)、ステップS37における音源の設定時間を5秒、ブリッジ部BRGの演奏データの処理に要する時間を3秒(即ち、ブリッジ部BRGの実際の演奏時間は6秒)、構成曲PAとブリッジ部BRGの連結に2秒を要するとした場合、連結完了までのトータルの時間は40秒である。また、構成曲PAとブリッジ部BRGの重なり時間Taを2秒とすると、連結完了時点で、ブリッジ部BRGの演奏が始まるまでには18秒ある。即ち、上記した構成曲PAとブリッジ部BRGの連結は、当該連結部(重なり部分)の演奏開始タイミングが到来する前に終了する。従って、D/A変換器13は、構成曲PAの演奏信号の読み出し、連結部の演奏信号の読み出し、及びブリッジ部BRGの残りの演奏信号(楽音信号Sm)のメモリ22からの読み出しを切れ目なく行うことができるので、カラオケ装置100は、構成曲PAとブリッジ部BRGの間を切れ目なくスムーズに演奏することができる。
【0062】
ブリッジ部BRGの演奏データの処理が終了すると、CPU1は、構成曲PBの演奏データの処理を開始する。このとき、ブリッジ部BRGと構成曲PBは同じ音源設定でよいため、新たな音源設定はなされない。CPU1は、構成曲PBの演奏データに含まれる楽音トラック及び音声トラックから並行してイベントデータを順次読み出し、イベントデータが演奏イベントデータEDpの場合は音源9に供給し、音声イベントデータEDvの場合は当該音声イベントデータEDv中の音声データ番号によって指定される音声データDVi(i=1〜m)をRAM3から読み出し、読み出した音声データDViを音声イベントデータEDv中の音程および音量に関するデータと共に音声デコーダ14に供給する。音源9は、受信した演奏イベントデータEDpに応じて楽音信号Smを生成し、生成した楽音信号SmをDSP12へ送信する。また、音声デコーダ14は、受信した音声データDVi及び音程・音量データに応じて音声信号Svを生成し、生成した音声信号SvをDSP12へ送信する。DSP12は、受信した楽音信号Sm及び音声信号Svをメモリ22に書き込むとともに、既に受信しているブリッジ部BRGの演奏信号と連結する(図10(D))。
【0063】
具体的には、DSP12は、メモリ22に格納されたメドレー構成情報Imdに含まれる重なり期間Tbに基づいて、メモリ22に格納されているブリッジ部BRGの演奏信号の末尾の期間Tbに渡る区間を抽出して、それを構成曲PBの演奏信号(楽音信号Sm及び音声信号Sv)の先頭の期間Tbに渡る区間と重ね合わせて長さTbの合成演奏信号を生成し、この合成演奏信号で、メモリ22に格納されているブリッジ部BRGの演奏信号の末尾の期間Tbに渡る区間を置き換える。構成曲PBの演奏信号の残りは、ブリッジ部BRGの演奏信号の後に続いてメモリ22に格納される。このようにして、連結されたブリッジ部BRGと構成曲PBの演奏信号がメモリ22に格納される。尚、ブリッジ部BRGと構成曲PBの連結処理は、構成曲PBの演奏データの処理が全て終了しなくても、期間Tbに対応する演奏データの処理が終わった時点で始めてもよい。
【0064】
例えば、重なり期間Tbが2秒であり、期間Tbに対応する構成曲PBの演奏データの処理に1秒を有し(演奏時間の半分)、ブリッジ部BRGと構成曲PBの連結に2秒を要するとすると、構成曲PAの演奏開始からブリッジ部BRGと構成曲PBの連結までのトータルの時間は、43秒である。重なり部Tbの演奏開始時間は構成曲PAの演奏開始から62秒後であるので、演奏開始前に連結は完了する。即ち、切れ目なのないスムーズな演奏が可能である。
【0065】
以上説明したように、本実施形態によれば、音源が一つでも、メドレー演奏において複数の楽曲を切れ目なく連続して演奏することができる。また、音源が一つでも、曲と曲の間でフェードインやフェードアウトを入れることができる。
【0066】
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。また、以下の変形例を組み合わせてもよい。
【0067】
(変形例1)
上述した実施形態においては、曲Aの1番と曲Bの1番をつないでメドレー曲Cを生成した。しかしながら、本発明はこれに限定されない。例えば、曲Aの1番の後、曲Bのサビに相当するセクション(B4)をつないでもよいし、曲A全部と曲B全部を接続してメドレー曲Cを生成してもよい。また、曲Aと曲Bの2曲に限らず、3曲以上を連結してメドレー曲を生成してもよい。このように、連結される曲の数や、連結される曲のどの演奏区間を連結するかの指定は任意である。
【0068】
(変形例2)
上述した実施形態においては、センタ300から配信されたメドレーデータがハードディスクドライブ装置6に格納されているものとしたが、メドレー演奏する楽曲、各楽曲の演奏区間、及び演奏順をユーザが指示できるようにし、ユーザの指示に基づいてメドレーデータを作成して、作成したメドレーデータに基づいてメドレー演奏してもよい。その場合、楽曲間のブリッジ部を設けず、楽曲(構成曲)同士を直接つないでもよい。あるいは、予め複数のブリッジデータを作成しておき、続けて演奏される曲の特徴(ジャンル、曲調、テンポなど)に基づいてカラオケ装置100が自動で選択するようにしてもよい。ブリッジデータをユーザが選択してもよい。また、例えばメドレー演奏される曲の演奏区間を各曲の1番や曲全体に固定し、ユーザによる演奏区間の指定を省略してもよい。指定された各曲の全部をメドレー演奏する場合、曲と曲の間隔がなくなる、または短縮されるので、通常モードで演奏する場合と比べて、ユーザは同じ時間でより多くの楽曲を歌うことができる。
【0069】
(変形例3)
上述した実施形態においては、構成曲の最後をフェードアウトさせた。しかしながら、フェードアウトさせなくてもよい。また、メドレー演奏するよう指定された曲の区間の最後の演奏イベントデータEDpがノートオンイベントデータの場合、ノートオフイベントデータを追加して、指定された区間で演奏が終わるようにしてもよい。
【0070】
(変形例4)
上述した実施形態においては、構成曲PAと構成曲PBの間にブリッジ部BRGを設けたが、ブリッジ部BRGを設けることなく、構成曲PAと構成曲PBを直接連結してもよい。また、その際、構成曲PAと構成曲PBの一部が重なるようにしてもよい。
【0071】
(変形例5)
上述した実施形態においては、メドレー演奏において続けて演奏される楽曲(またはブリッジ部)の一部を重ねて連結したが、重ならないようにしてもよい。また、楽曲間の切れ目が全くないようにしなくても、楽曲間の間隔が後続曲のための音源の設定に要する時間よりも短くなるようにすればよい。
【0072】
(変形例6)
上述した実施形態においては、メドレー曲演奏前に、ユーザによる各曲のキーやテンポの変更の指示がなされていたが、メドレー曲の演奏中に、そのような指示を行ってもよい。図12は、メドレー曲の演奏途中にキー変更がなされた場合の処理を示すフローチャートである。
【0073】
ステップS51で、CPU1は、操作部4からの入力をモニターし、ユーザからのキー変更指示があったかチェックする。ユーザからのキー変更指示があった場合(ステップS11:YES)、ステップS12で、次の連結部(曲と曲のつなぎ目)までの時間Tmを算出する。また、ステップS53で、キー変更を反映した連結部の作成に要する時間Tnを算出する。これは、今演奏している曲(構成曲)の演奏データをキー変更を反映して終わりまで処理する時間、次の構成曲またはブリッジ部の連結部の作成に必要な期間に対応した演奏データを処理する時間、演奏データの処理をすることで得られた演奏信号を接続するのに要する時間が含まれる。
【0074】
ステップS54では、ステップS52で算出した時間TmとステップS53で算出した時間Tnとを比較し、Tn<Tmであるかを判定する。Tn<Tmの場合(ステップS53:YES)、ステップS55で、キー変更を反映して現在演奏中の構成曲の演奏信号を生成し、後続の構成曲またはブリッジ部の演奏信号と連結して、キー変更が反映されたメドレー曲の演奏信号を生成する。ステップS56では、新たに生成した、キー変更を反映したメドレー曲の演奏信号に基づいて演奏(音の出力)を行う。なお、キー変更前の古いデータは破棄する。Tn<Tmでない場合(ステップS53:NO)、ステップS57で、キー変更できない旨のメッセージを表示装置8に表示する。テンポ変更の処理も、キー変更の処理と同様である。
【0075】
(変形例7)
上述した実施形態においては、原曲(曲A、曲B)は、演奏情報(演奏イベントデータEDpや音声イベントデータEDv)を音源に供給するタイミングを定めたシーケンスデータ(楽音トラックや音声トラック)を有する楽曲データによって表されていたが、本発明はそれに限らない。例えば、原曲を表す原曲データは、mp3形式やwma形式の波形データ(波形ファイル)であってもよい。例えば、上記実施形態において、原曲A及びBがmp3形式の波形データとしてハードディスク装置6に格納されている場合、メドレー曲合成時、CPU1は、ハードディスクに格納されているmp3ファイルをRAM3に読み出して、mp3形式で圧縮されているデータを伸長(デコード)して各曲の演奏信号(楽音信号Sm)としてDSP12に出力する。この場合、CPU1が原曲データから各楽曲の演奏信号を生成する演奏信号生成手段として働く。
【0076】
(変形例8)
上述した実施形態においては、メドレー演奏モードにおいて、CPU1、音源9、及び音声デコーダ14は、第2クロック信号CLK2を基準クロック信号として用いて動作した。しかしながら、メドレー演奏モードにおいて、CPU1、音源9、及び音声デコーダ14は、常に第2クロック信号CLK2を基準クロック信号として用いる必要はなく、メドレー演奏モードであっても、第1クロック信号CLK1を基準クロック信号として用いるときがあってもよい。例えば、図7に示したメドレー曲Cの演奏信号を生成する場合、重ね合わせ期間Tbに対応する構成曲PBの演奏データの処理が終了した後、基準クロック信号として用いるクロック信号を第2クロック信号CLK2から第1クロック信号CLK1に切り替えてもよい。連結部の作成に必要な演奏信号は既に生成されているからである。また、上述した実施形態においては、メドレー演奏モードにおいて、第1クロック信号CLK1の2倍の高さの周波数を有する第2クロック信号CLK2を基準クロック信号として用いて演奏データの処理をしたが、第2クロック信号CLK2の周波数は、第1クロック信号CLK1の2倍に限定されない。要は、連結部の演奏タイミングが到来する前に、連続して演奏される曲の演奏信号の合成(連結)ができるように、十分な速さで演奏データを処理して演奏信号が生成されるようなクロック信号を基準クロック信号として用いればよい。
【0077】
(変形例9)
上述した実施形態においては、メドレー曲を演奏するときに通常モードからメドレー演奏モードへ自動的に切り替えられたが、本発明はこれに限定されない。通常曲の演奏中に、ユーザが次の通常曲をメドレー演奏モードで演奏するよう指示した場合に、当該指示に応じて、メドレー演奏モードに切り替えてもよい。メドレー演奏モードに切り替わると、CPU1、音源9、及び音声デコーダ14において基準クロック信号として第2クロック信号を用いて、演奏中の曲の残りの演奏データの処理を行い、演奏中の曲の残りの演奏データの処理が終了次第、次の曲の音源設定及び演奏データの処理(即ち、演奏信号の生成)を行う。この場合、ユーザの指示が演奏中の曲の終わり近くでなされた場合には、演奏中の曲が終了した時点で、次の曲の音源設定が終了しておらず、次の曲の演奏信号が生成されていない場合もあり得る。その場合でも、メドレー演奏モードに切り替えることで、演奏中の曲の演奏データの処理を実際の演奏終了前に終わらせて、次の曲の音源設定を開始することができるため、通常モードのまま演奏中の曲の終了を待って次の曲の音源設定をする場合と比べて、次の曲の演奏開始を早めることができる。
【符号の説明】
【0078】
1・・・CPU、2・・・ROM、3・・・RAM、4・・・操作部、5・・・通信制御部、6・・・ハードディスク装置、7・・・表示制御部、8・・・表示装置、9・・・音源、10・・・マイク、11・・・ミキサ、12・・・DSP、13・・・D/A変換器、14・・・音声デコーダ、15・・・クロックジェネレータ、100・・・カラオケ装置、101・・・バス、200・・・通信回線末、300・・・センタ
【技術分野】
【0001】
本発明は、カラオケ曲などの楽曲を演奏する楽曲演奏装置に関する。
【背景技術】
【0002】
複数のカラオケ曲をつないで連続して演奏するメドレー演奏が可能なカラオケ装置が知られている。カラオケ装置は、演奏するカラオケ曲の楽曲データを記憶装置から読み出し、読み出された楽曲データに基づいて音源を動作させるが、その際、各曲毎の音源設定データDsetに基づいて音源の設定を行う必要がある。この音源の設定に数秒を要することがある。そのため、メドレー演奏において複数のカラオケ曲を切れ目なく演奏するためには、2系統の音源を用意し、一方の音源を用いて曲を演奏している間に、他方の音源の設定を後続の曲の音源設定データDsetに基づいて行い、演奏中の曲が終了すると音源を切り替えて後続の曲を演奏する必要があった。
【0003】
特許文献1には、メイン音源を一系統のみ用いてカラオケ曲のメドレー演奏が可能なカラオケ装置が開示されている。より具体的には、特許文献1には、カラオケ装置において、カラオケ演奏用の音源に比べて小規模で廉価なブリッジ用音源を設け、前段曲と後続曲とを接続するブリッジパターンをこのブリッジ用音源で演奏し、このブリッジパターンの演奏中に、カラオケ曲を演奏するためのメイン音源を後続曲の演奏に適した状態にセットアップすることが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−3077号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載のカラオケ装置は、メイン音源は一系統しか用いないものの、メイン音源とは別にブリッジ用音源を有し、やはり複数の音源を必要とする。そのため、音源が一系統の場合と比べてコストアップが生じる。
【0006】
本発明は、上述した背景の下になされたものであり、楽曲演奏装置において、複数系統の音源を要することなく、複数の楽曲を切れ目なくまたは音源設定に要する時間よりも短い間隔で演奏することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決するため、本発明は、第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、前記指定データによって指定された前記複数の楽曲の各々の楽曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する音源を含む演奏信号生成手段と、前記演奏信号生成手段により生成された各楽曲の前記演奏信号を記憶するメモリと、前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、各楽曲の前記演奏信号を前記演奏順にメモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する前記演奏信号を生成することを特徴とする楽曲演奏装置を提供する。
【0008】
好ましい態様において、前記第1の楽曲の前記演奏信号と、前記第2の楽曲の前記演奏信号を連結し、連結した演奏信号を前記メモリに格納する演奏信号合成手段を更に有してもよい。
【0009】
他の好ましい態様において、前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号の間に、これら2つの楽曲の間に演奏されるフレーズの演奏信号であるブリッジ演奏信号を挿入してもよい。
【0010】
他の好ましい態様において、本発明は、第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、前記指定データによって指定された前記複数の楽曲の各々を表す原曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する演奏信号生成手段と、前記演奏信号生成手段により生成された各楽曲の前記演奏信号を連結する演奏信号合成手段と、前記演奏信号合成手段により連結された前記演奏信号を記憶するメモリと、前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記演奏信号を前記メモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する演奏信号を生成し、前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号を一部が重なるように連結することを特徴とする楽曲演奏装置を提供する。
【0011】
他の好ましい態様において、本発明は、第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、前記指定データによって指定された前記複数の楽曲の各々を表す原曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する演奏信号生成手段と、前記演奏信号生成手段により生成された各楽曲の前記演奏信号を連結する演奏信号合成手段と、前記演奏信号合成手段により連結された前記演奏信号を記憶するメモリと、前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記演奏信号を前記メモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する演奏信号を生成し、前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号の間に、これら2つの楽曲の間に演奏されるフレーズの演奏信号であるブリッジ演奏信号を挿入することを特徴とする楽曲演奏装置を提供する。
【発明の効果】
【0012】
本発明によれば、楽曲演奏装置において、複数系統の音源を要することなく、複数の楽曲を切れ目なくまたは音源設定に要する時間よりも短い間隔で演奏することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係るカラオケ装置のブロック図。
【図2】楽曲データの構成を示す模式図。
【図3】楽曲データに含まれる音声トラックの構成を示す模式図。
【図4】楽曲データに含まれる楽音トラックの構成を示す模式図。
【図5】DSP12の機能を示すブロック図。
【図6】通常モードにおけるカラオケ装置の主要部の信号の流れを示すブロック図。
【図7】メドレー曲の構成を説明するための概念図。
【図8】メドレーデータの一例を示す概念図。
【図9】メドレー演奏モードにおけるカラオケ装置100の動作を示すフローチャート。
【図10】原曲からメドレー曲を生成する際の各工程の処理内容を説明するための概念図。
【図11】メドレー演奏モードにおけるカラオケ装置の主要部の信号の流れを示すブロック図。
【図12】本発明の変形例6に係るメドレー曲の演奏途中にキー変更がなされた場合の処理を示すフローチャート。
【発明を実施するための形態】
【0014】
[実施形態]
(構成)
図1は、本発明の一実施形態に基づく楽曲演奏装置として、カラオケ装置100を示すブロック図である。図1に示すように、このカラオケ装置100は、CPU(中央処理装置)1、ROM(読み出し専用メモリ)2、RAM(読み書き可能メモリ)3、操作部4、通信制御部5、ハードディスク装置(HDD)6、表示制御部7、表示装置8、楽器音用音源(以下、単に「音源」という)9、マイクロフォン(以下、「マイク」という)10、ミキサ11、DSP(Digital Signal Processor)12、D/A変換器13、音声デコーダ14、及びクロックジェネレータ15により構成されている。ここで、CPU1、ROM2、RAM3、操作部4、通信制御部5、ハードディスク装置6、表示制御部7、音源9、DSP12、音声デコーダ14は、共通のバス101に接続されている。
【0015】
図1において、ROM2にはカラオケ装置100を起動するために必要なイニシャルプログラムが記憶されている。カラオケ装置100の電源が投入されると、このイニシャルプログラムに従ってハードディスク装置6に記憶されたシステムプログラムおよびアプリケーションプログラムがRAM3にロードされる。RAM3は、ロードしたシステムプログラムやアプリケーションプログラムを記憶する記憶エリアの他、カラオケ演奏のための楽曲データを記憶する記憶エリアを有している。
【0016】
操作部4は、曲番号を入力するためのテンキーやカラオケ装置100を操作するための操作キーおよび摘み等を備えており、カラオケ装置100本体の前面等に設けられている。ユーザは、この操作部4を操作することにより、CPU1に対し、曲番号の入力、音量の調節、テンポの変更、およびキーの変更等の指示を与えることができる。なお、カラオケ装置100の操作は、リモートコントローラ(図示せず)によっても可能である。
【0017】
通信制御部5は、通信回線200を介してセンタ300から配信される楽曲データを受信し、受信した楽曲データを内部のDMA(Direct Memory Access)コントローラ5aによってCPU1を介することなく直接ハードディスク装置6に書き込む。
【0018】
また、ハードディスク装置6には上述したシステムプログラムおよび電源投入時に音源を初期化するための音源プログラムを格納するプログラムファイルの他、カラオケ演奏時に再生される約1万曲分の楽曲データを記憶する楽曲データファイルが設定されている。
【0019】
ここで、図2〜図4を参照して、本実施形態のカラオケ装置100において用いられる楽曲データの詳細な構成について説明する。図2に示すように、楽曲データは、ヘッダと、これに続くMIDIデータ部、及び音声データ部により構成されている。尚、楽曲の演奏に先立って、楽曲データの一部または全部が、ハードディスク装置6からRAM3へロードされる。
【0020】
ヘッダには、当該楽曲に関する種々の情報、例えば、曲名、ジャンルおよび当該楽曲の演奏時間等の情報が含まれている。また、ヘッダには、音色や音量、アタック、ディケイおよびリリース等のエンベロープ形状値、ならびにエコーおよびリバーブ等のエフェクト処理のためのフィルタ係数といった種々のパラメータ値が記述されたユーザバンクデータ(音源設定データともいう)が含まれている。楽曲の演奏開始時、上記ユーザバンクデータは、CPU1によって音源9に供給され、音源9に設定される。これにより、上述した音源プログラムによってのみではまかないきれない個々の楽曲別の設定によって音源9を動作させることができるのである。このように楽曲毎に音源9のパラメータ設定を行うことによって多用な楽音を出力することができるが、音源9のパラメータ設定には数秒の時間を要することがある。
【0021】
また、ヘッダには、楽曲の演奏のテンポを示すテンポデータが含まれる。本実施形態において、テンポデータは、後述する基準クロック信号の所定クロック数当たりの拍(4分音符)の数として設定される。
【0022】
MIDIデータ部には、MIDI規格に準拠したカラオケ演奏を制御するための情報が含まれている。さらに詳述すると、MIDIデータ部は、図2に示すように、楽音トラック、歌詞トラックおよび音声トラック等の複数のトラックによって構成されている。これらの各トラックは、複数のイベントデータと、各イベントデータ間の間隔を示すデュレーションデータΔtとにより構成されるシーケンスデータである。デュレーションデータΔtは、テンポクロック(またはMIDIクロック)と言われる4分音符当たり予め決められた回数(例えば、24回、960回など)CPU1から送信される同期信号のカウント数として設定される。従って、テンポがゆっくりになれば(即ち、1拍の時間が長くなれば)、デュレーションデータΔtの実時間の長さは長くなる。尚、テンポクロックは、各楽曲のテンポデータに基づいてCPU1によって生成される。
【0023】
上記楽曲データ中の楽音トラックは、伴奏音等の楽音信号Smを形成するためのシーケンスデータである。なお、この楽音トラックの詳細については後述する。また、歌詞トラックは、演奏される楽曲の歌詞を表示装置8上に表示するための歌詞表示イベントデータとデュレーションデータΔtにより構成されるシーケンスデータである。
【0024】
音声トラックは、図3に示すように、音声信号Svの形成を指示する音声イベントデータEDvとデュレーションデータΔtにより構成されるシーケンスデータである。ここで、音声イベントデータEDvは、後述する音声データ部に書き込まれている音声データDVi(i=1〜m)を指定する音声データ番号と、当該音声データから生成する音声信号Svの音程および音量を指定する音程データおよび音量データにより構成されている。
【0025】
音声データ部には、音源9で合成しにくいバックコーラスやハーモニー歌唱等の人声を表す音声データDVi(i=1〜m)が各データ番号i(i=1〜m)の順に記憶されている。この音声データDVi(i=1〜m)は、ADPCM(Adaptive Differential Pulse Code Modulation)データ圧縮技術によって圧縮されている。上述した音声トラックに含まれる音声データ番号は、これらの音声データのうちの1つを指定するものである。
【0026】
次に、図4(a)および(b)を参照して、上記楽曲データ中の楽音トラックの詳細な構成を説明する。図4(a)に例示する楽音トラックは、ピアノ、キーボード、ベースおよびドラムス等の音色別に16のパートデータで構成されている。各パートの音色は、上記したように、楽曲データのヘッダに含まれるユーザバンクデータによって設定される。これらのパートを並行して演奏することにより、オーケストラやフルバンドの演奏音を出力することができるのである。そしてこれらの各パートデータは、図4(b)に示すように、発音処理(ノートオン)や消音処理(ノートオフ)などの演奏の具体的な処理を示す演奏イベントデータEDpと、各演奏イベントデータEDp間の間隔を指定するデュレーションデータΔtにより構成されている。尚、発音処理を示す演奏イベントデータ(ノートオンイベントデータ)は、音高を示すノートナンバや音の強さを示すベロシティを含んでもよい。
【0027】
再度図1を参照すると、CPU1は、カラオケ演奏時に、楽曲データに含まれる楽音トラック、歌詞トラック、及び音声トラックから並行してイベントデータを読み出し、各イベントデータを該当する各部に供給するシーケンサとして機能する。さらに詳述すると、CPU1は、楽曲データ中の楽音トラックに書き込まれた各パートの演奏イベントデータEDpを読み出した際には当該演奏イベントデータEDpを音源9に、歌詞トラック中の歌詞表示イベントデータを読み出した際には当該歌詞表示イベントデータを表示制御部7に、それぞれ出力する。また、CPU1は、音声トラック中の音声イベントデータEDvを読み出した際には、当該音声イベントデータEDv中の音声データ番号によって指定される音声データDVi(i=1〜m)をRAM3から読み出し、当該音声データDVi(i=1〜m)に、音声イベントデータEDv中の音程および音量に関するデータを付加した後、音声デコーダ14に出力する。
【0028】
表示制御部7は、CPU1から供給される歌詞トラック中の歌詞表示イベントデータに従い、演奏される楽曲に対応した歌詞の文字列を生成し、これを映像再生装置(図示略)から供給される映像信号(背景映像)に合成して表示装置8に出力する。また、表示制御部7は、操作部4の操作によって入力された曲番号などを受信して、表示装置8に出力する。表示装置8は、表示制御部7によって供給される情報を表示する。
【0029】
音源9は、CPU1によって供給される楽音トラック中の演奏イベントデータEDpに従って楽器音等の楽音信号Smを生成し、DSP12に出力する。音源9が生成する楽音信号Smは、楽音波形を表す一連のデジタルデータを含むデジタル波形信号であり、これらの一連のデジタルデータは音源9から順次DSP12に送信される。また、音源9が生成する楽音信号Smに含まれる一連のデジタルデータ間の間隔(以後、「サンプリング間隔」という)は、後述する基準クロック信号のクロックパルスのカウント数として設定される。従って、1サンプリング間隔の実時間における長さは、基準クロック信号の周期によって変化する。楽音信号Smは、楽曲の演奏信号の一例である。
【0030】
音声デコーダ14は、音声トラック中の音声イベントデータEDvに従ってCPU1から供給される音声データDVi(i=1〜m)及びそれに付加された音程および音量に関するデータに基づいて音声信号Svを生成し、DSP12に出力する。音声デコーダ14が生成する音声信号Svは、音源9が生成する楽音信号Smと同様に、サンプリング間隔毎に生成される一連のデジタルデータを含むデジタル波形信号である。音声信号Svは、楽曲の演奏信号の一例である。
【0031】
DSP12は、操作部4を介して入力されたユーザの指示に基づいて、入力された楽音信号Sm及び音声信号Svにエコー効果などの効果を付与する。更に、DSP12は、後に詳述するように、メドレーデータに基づいてメドレー曲を演奏する際、メドレー演奏される各楽曲(原曲)の楽音信号Sm及び音声信号Sv(これらを総称して演奏信号という)を連結してメドレー曲の演奏信号を生成する。図5は、DSP12のメドレー曲生成に関する機能を示すブロック図である。DSP12は、各原曲の演奏信号を連結してメドレー曲の演奏信号を生成するメドレー合成部21と、メドレー合成部21により生成されたメドレー曲の演奏信号を格納するメモリ22とを有する。メモリ22は、DSP12が音源9や音声デコーダ14から受信した信号を処理する際の作業エリアとしても機能する。
【0032】
再度図1を参照すると、D/A変換器13は、DSP12のメモリ22に格納された演奏信号を読み出してアナログ信号に変換し、ミキサ11に出力する。このとき、D/A変換器13は、演奏信号(楽音信号Sm及び音声信号Sv)に含まれる一連のデジタルデータを、先にメモリ22に入力されたものから順に予め定められた間隔(以後、「読み出し間隔」という)で読み出してアナログ信号に変換する。即ち、メモリ22は先入れ先出しのバッファメモリとして働く。また、D/A変換器13の読み出し間隔は、実時間において1/(44.1kHz)となるように、後述する第1クロック信号のクロックパルスのカウント数として定められている。
【0033】
マイク10は、歌唱者が発するボーカル音を電気信号(以下、「ボーカル音信号」という)に変換してミキサ11に出力する。ミキサ11は、D/A変換器13から供給されるD/A変換済みの演奏信号と、マイク10から供給されるボーカル音信号をミキシングして出力する。ミキサ11から出力された信号は、アンプ(図示略)によって増幅され、スピーカ(図示略)によって出力される。
【0034】
クロックジェネレータ15は、カラオケ装置100においてカラオケ曲の演奏を制御するシーケンスデータ(楽音トラック、歌詞トラック、及び音声トラック)を処理するときに用いられる基準クロック信号を生成する。本実施形態において、クロックジェネレータ15は基準クロック信号として、第1クロック信号CLK1と、第1クロック信号CLK1より高い周波数の第2クロック信号CLK2の2つのクロック信号を生成する。本実施形態では、第2クロック信号CLK2は第1クロック信号CLK1の2倍の高さの周波数を有するものとする。
【0035】
(動作)
次に、上記のように構成されたカラオケ装置100の動作について説明する。カラオケ装置100は、メドレー曲でない曲(以後、「通常曲」という)を個別に演奏する通常モードと、後述するメドレーデータに基づいてメドレー曲を演奏するメドレー演奏モードの2つの動作モードを有する。通常モードからメドレー演奏モードへは、メドレー曲を演奏するときに自動的に切り替えられる。
【0036】
(通常モード)
通常モードでは、カラオケ装置100の各部は第1クロック信号CLK1を基準クロック信号として用いる。本実施形態において、各楽曲の楽曲データに含まれるテンポデータ及びシーケンスデータ(楽音トラック、歌詞トラック、及び音声トラック)は、カラオケ装置100の各部が第1クロック信号CLK1を用いて動作する場合を想定して作成されている。例えば、各楽曲のテンポを規定するテンポデータは、第1クロック信号CLK1が基準クロック信号として用いられる場合に、実時間において意図されたテンポ(例えば、60bpm(beats per minute))で当該楽曲が演奏されるように、基準クロック信号の所定クロック数当たりの拍の数として設定されている。また、演奏イベントデータEDpに基づいて音源9が生成する楽音信号Smのサンプリング間隔は、音源9が第1クロック信号CLK1を基準クロック信号として用いる場合に、サンプリング間隔がD/A変換器13の読み出し間隔(1/(44.1kHz))と実時間において等しくなるように、基準クロック信号のクロックパルスのカウント数として設定されている。
【0037】
図6は、通常モードにおけるカラオケ装置100の主要部の間の信号の流れを示すブロック図である。ユーザが操作部4の操作により通常曲を指定して(即ち、通常曲の曲番号を入力して)演奏を指示すると、CPU1は、ユーザによって指定された楽曲の楽曲データをハードディスク装置6から読み出してRAM3に格納した後、楽曲データのヘッダに含まれる音源設定データDset(ユーザバンクデータ)を音源9に送信する。音源9は受信した音源設定データDsetに基づいて設定を行う。音源の設定がなされた後、CPU1は、楽曲データに含まれる楽音トラック及び音声トラックから並行してイベントデータを順次読み出し、イベントデータが演奏イベントデータEDpの場合は音源9に供給し、音声イベントデータEDvの場合は当該音声イベントデータEDv中の音声データ番号によって指定される音声データDVi(i=1〜m)をRAM3から読み出し、読み出した音声データDViを音声イベントデータEDv中の音程および音量に関するデータと共に音声デコーダ14に供給する。イベントデータを読み出すタイミングは、各トラックに含まれるデュレーションデータΔtに基づいて制御される。音源9は、受信した演奏イベントデータEDpに応じて楽音信号Smを生成し、生成した楽音信号SmをDSP12へ送信する。また、音声デコーダ14は、受信した音声データDVi及び音程・音量データに応じて音声信号Svを生成し、生成した音声信号SvをDSP12へ送信する。
【0038】
DSP12が受信した楽音信号Sm及び音声信号Sv(演奏信号)は、DSP12のメドレー合成部21に入力されるが、通常モードでは、メドレー合成部21は入力された演奏信号に処理を加えず、演奏信号をそのままメモリ22へ書き込む。D/A変換器13は、メモリ22に書き込まれた演奏信号を読み出してアナログ信号に変換する。D/A変換器13により生成されたアナログ信号は、ミキサ11及びアンプ(図示せず)を介してスピーカ(図示せず)に送られ、音として出力される。
【0039】
上記したように、楽曲のテンポを規定するテンポデータは、通常モードにおいて(即ち、第1クロック信号CLK1を基準クロック信号として使う場合に)、意図されたテンポ(例えば、60bpm(beats per minute))で当該楽曲が演奏されるように設定されているので、通常モードでは、CPU1が楽曲の楽曲データを全て処理するのに要する時間は、その楽曲の実際の演奏時間と概ね等しい。
【0040】
(メドレー演奏モード)
次に、メドレー演奏モードにおけるカラオケ装置100の動作を説明する。ここでは、2つの楽曲(曲Aと曲B)をつなげて生成されるメドレー曲Cを演奏する場合を例として説明する。
【0041】
まず、図7を参照して、最初の曲A、次の曲B及びこれらから生成されるメドレー曲Cの関係を示す。曲Aは、A1〜A9の9つのセクションを有し、A1は前奏、A2は1番のAメロ、A3は1番のBメロ、A4は1番のサビ、A5は間奏、A6は2番のAメロ、A7は2番のBメロ、A8は2番のサビ、A9は後奏となっている。本例では、曲Bも曲Aと同様に、B1〜B9の9つのセクションを有する。メドレー曲Cは、曲Aの1番までを構成するセクションA1〜A4と、曲Bの1番を構成するセクションB2〜B4とをブリッジ部BRGでつないだ構成を有する。ブリッジ部BRGは、メドレー演奏において続けて演奏される曲と曲の間を滑らかにつなぐために演奏される短いフレーズである。ここで、メドレー曲Cに含まれる、原曲(この例では曲A、曲B)の一部に基づいて生成される部分を構成曲という。図7の例では、メドレー曲CのうちセクションA1〜A4に対応する部分が構成曲PAとして示され、セクションB2〜B4に対応する部分が構成曲PBとして示されている。
【0042】
本例では、構成曲PAの最後の一部はフェードアウトするとともに、ブリッジ部BRGの一部と予め定められた期間Taの間重ねて演奏され、構成曲PBの出だしの一部はフェードインするとともに、ブリッジ部BRGの一部と予め定められた期間Tbの間重ねて演奏されるものとする。また、構成曲PBの最後はフェードアウトするものとする。
【0043】
本例では、上記したようなメドレー曲Cの構成を示すデータであるメドレーデータMDは通信回線200を介してセンタ300から配信され、ハードディスク装置6に格納されている。図8は、メドレーデータMDの一例を示す概念図である。図示されているように、メドレーデータMDには、メドレー曲Cにおける曲Aの演奏順を示すデータ(本例では、「1」)、曲Aの曲番号、曲Aの演奏区間を示す演奏区間データ、曲Aとブリッジ部BRGの重なり期間Ta、曲Aのフェードアウトの態様を示すフェードカーブA、曲Bの演奏順を示すデータ(本例では、「2」)、曲Bの曲番号、曲Bの演奏区間を示す演奏区間データ、曲Bとブリッジ部BRGの重なり期間Tb、曲Bのフェードインの態様を示すフェードカーブB1、曲Bのフェードアウトの態様を示すフェードカーブB2、及び、メドレー演奏において曲Bの前に演奏されるブリッジ部BRGの演奏データであるブリッジデータが含まれている。
【0044】
重なり期間Ta、Tbは実時間(例えば、2秒)でもよく、あるいは基準クロック信号のクロックパルスのカウント数として設定してもよい。演奏区間データは、本例の場合、曲A、曲Bのいずれも1番を演奏するので、「1」としてもよいが、演奏する区間の開始点と終了点を曲の演奏開始からの経過時間(テンポクロックのカウント数)で示すなど、別の態様でもよい。ブリッジデータは、曲Bと同じ音源設定で演奏可能なシーケンスデータ(楽音トラック)であり、ブリッジ部BRGが曲Bの演奏区間に滑らかに接続するように設計されている。尚、本例では、ブリッジデータは音声トラックを含まないものとするが、ブリッジデータが音声トラックを含んでもよい。また、図示省略するが、メドレーデータMDは、メドレー演奏される各曲の音量レベルを示すデータを含んでいてもよい。
【0045】
続いて、図9及び図10を参照して、メドレー演奏モードにおける動作を説明する。図9はメドレー演奏モードにおけるカラオケ装置100の動作を示すフローチャートであり、図10は原曲からメドレー曲を生成する際の各工程の処理内容を説明するための概念図である。
【0046】
図9に示すように、ユーザが操作部4の操作によりメドレー曲Cを指定して(即ち、メドレー曲Cの曲番号を入力して)演奏を指示すると(ステップS1)、CPU1は、ユーザによって指定されたメドレー曲Cに対応するメドレーデータMDをハードディスク装置6から読み出してRAM3に格納する(ステップS2)。
【0047】
ステップS1で、ユーザがメドレー曲Cの演奏を指示する際、キーやテンポの変更してもよい。ユーザによるテンポ変更の指示は、テンポ変更データTEMPOとしてRAM3に格納され、ユーザによるキー変更の指示は、キー変更データKEYとしてRAM3に格納される。テンポ変更データTEMPOは、テンポデータによって設定されているテンポの増減値(例えば、+10、−10など)であってよい。また、キー変更データKEYは、演奏され曲のキーを半音単位でどの程度上下させるかを示す数値(例えば、+1は半音上げることを示し、−1は半音下げることを示す)であってよい。
【0048】
続いて、CPU1は、RAM3に格納したメドレーデータMDに基づき、メドレー曲Cの演奏を行うために必要なデータの準備をする。具体的には、まずステップS3で、CPU1は、メドレーデータMDに基づいて、原曲A、Bのうちメドレー曲Cに組み込まれる区間(演奏区間)の演奏に必要なデータ(以後、「演奏データ」という)を、各曲A、Bの楽曲データから抽出する(図10(A))。演奏データには、原曲の楽曲データに含まれるヘッダと、演奏区間分の楽音トラック、歌詞トラック、及び音声トラックと、当該区間の音声トラックで用いられる音声データとが含まれる。尚、本例では、曲Aはメドレー曲Cの中で最初に演奏されるため、曲Aの演奏区間は前奏(セクションA1)を含むものとし、曲Bは最初の曲ではないため、曲Bの演奏区間は前奏(セクションB1)を含まないものとしたが、演奏区間に前奏を含めるか否かは任意である。
【0049】
続いてステップS4で、CPU1は、メドレーデータMDに基づいて、抽出した原曲の演奏区間の演奏データを加工して各構成曲PA、PBの演奏データを生成する(図10(B))。この処理には、曲AのセクションA4の演奏が期間T1に渡ってフェードカーブAに従ってフェードアウトするように、また、曲BのセクションB2の演奏が期間T2に渡ってフェードカーブB1に従ってフェードインし、セクションB4の演奏が期間T3に渡ってフェードカーブB2に従ってフェードアウトするように、楽音トラックに含まれる演奏イベントデータEDpのベロシティを書き換える処理が含まれる。また、メドレーデータMDに各曲A、Bの音量レベルが含まれる場合、曲Aと曲Bの音量レベルの差が小さくなるように、例えば曲Bの演奏区間の演奏データを加工してもよい。生成された構成曲PA、PBの演奏データはブリッジ部BRGの演奏データ(ブリッジデータ)と共にRAM3に格納される。
【0050】
メドレー曲Cを構成する構成曲PA、PB、及びブリッジ部BRGの演奏データが準備されると、カラオケ装置100は、これらの演奏データに基づいてメドレー曲Cの演奏を行う(ステップS5)。
【0051】
ステップS5の処理について、図11を参照して以下に詳細に説明する。図11はメドレー演奏モードにおけるカラオケ装置100の主要部の間の信号の流れを示すブロック図である。図11に示すように、本実施形態のメドレー演奏モードでは、D/A変換器13は第1クロック信号CLK1を基準クロック信号として用いて動作し、CPU1、音源9、音声デコーダ14、及びDSP12は、第2クロック信号CLK2を基準クロック信号として用いて動作する。
【0052】
構成曲PA、PB、及びブリッジ部BRGの演奏データを準備した後、CPU1は、構成曲PAの演奏データに含まれるヘッダから音源設定データDset(ユーザバンクテータ)を抽出し、音源9に送信する。音源9は、受信した音源設定データDsetに基づいて各パートの音色等の設定を行う。また、CPU1は、メドレー演奏される曲とその演奏順を示す情報、及び重なり期間Ta、Tbを含むメドレー構成情報ImdをメドレーデータMDから抽出してDSP12に送信する。DSP12は、受信したメドレー構成情報Imdをメモリ22に格納する。
【0053】
続いて、CPU1は、構成曲PAの演奏データに含まれる楽音トラック及び音声トラックから並行してイベントデータを順次読み出し、イベントデータが演奏イベントデータEDpの場合は音源9に供給し、音声イベントデータEDvの場合は当該音声イベントデータEDv中の音声データ番号によって指定される音声データDVi(i=1〜m)をRAM3から読み出し、読み出した音声データDViを音声イベントデータEDv中の音程および音量に関するデータと共に音声デコーダ14に供給する。音源9は、受信した演奏イベントデータEDpに応じて楽音信号Smを生成し、生成した楽音信号SmをDSP12へ送信する。また、音声デコーダ14は、受信した音声データDVi及び音程・音量データに応じて音声信号Svを生成し、生成した音声信号SvをDSP12へ送信する。図10(C)は、DSP12に送信された構成曲PAの演奏信号(楽音信号Sm及び音声信号Sv)を示している。DSP12は、受信した演奏信号をメモリ22に書き込む。また、演奏信号のメモリ22への書き込みがなされた旨をD/A変換器13に通知する。
【0054】
ここで、楽音トラック及び音声トラックからのイベントデータの読み出しを行う際、CPU1は、RAM3に格納されたテンポ変更データTEMPOを参照し、テンポ変更データTEMPOがユーザによるテンポの変更を示す場合(即ち、テンポ変更データTEMPOがゼロでない場合)は、構成曲PAの演奏データに含まれるテンポデータをテンポ変更データTEMPOに基づいて修正し、修正されたテンポデータに基づいてテンポクロックを生成する。上記したように、デュレーションデータΔtはテンポクロックのカウント数として定められているので、デュレーションデータΔtによって定められるイベントデータの送信タイミングに、ユーザによるテンポ変更の指示が反映される。更に、CPU1は、RAM3に格納されたキー変更データKEYを参照し、キー変更データKEYがユーザによるキーの変更を示す場合(即ち、キー変更データKEYがゼロでない場合)は、演奏イベントデータEDpに含まれる音高を表すデータ(ノートナンバ)をキー変更データKEYに基づいて修正し、修正されたノートナンバを含む演奏イベントデータEDpを音源9に送信する。また、音声データDViと共に音声デコーダ14に供給される音程に関するデータをキー変更データKEYに基づいて修正する。このようにして、ユーザによるテンポやキーの変更が、演奏されるカラオケ曲に反映される。
【0055】
演奏信号のメモリ22への書き込みがなされた旨の通知を受信したD/A変換器13は、メモリ22からの演奏信号の読み出し、及び、読み出した演奏信号のアナログ信号への変換を行う。D/A変換器13で生成されたD/A変換済みの演奏信号は、ミキサ11を介してスピーカ(図示せず)に供給され、出力される。ここで、上記したように、D/A変換器13は通常モードと同様に第1クロック信号を基準信号として用いて動作するので、D/A変換器13の読み出し間隔の実時間の長さは、通常モードと同じである(即ち、1/(44.1kHz))。
【0056】
上記したように、メドレー演奏モードでは、CPU1は、第1クロック信号CLK1の2倍の高さの周波数を有する第2クロック信号CLK2を基準クロック信号として用いて動作する。そのため、実時間においては、各楽曲のテンポ(1分間当たりの拍の数で表されるテンポ)は、第1クロック信号CLK1を基準クロック信号として用いた場合と比べて、倍の速さになる(従って、各トラックに含まれるデュレーションデータΔtの実時間の長さは半分となる)。また、メドレー演奏モードでは、音源9及び音声デコーダ14は第1クロック信号CLK1の2倍の高さの周波数を有する第2クロック信号CLK2を基準クロック信号として用いて動作するため、音源9により生成される楽音信号Sm及び音声デコーダ14により生成される音声信号Svに含まれる一連のデジタルデータの間隔(サンプリング間隔)の実時間の長さは、第1クロック信号CLK1を基準クロック信号として用いた場合と比べて、半分(1/(88.2kHz))となる。従って、メドレー演奏モードにおいて、音源9及び音声デコーダ14から出力された信号を、D/A変換器13が、サンプリング間隔と同じ読み出し間隔でメモリ22から読み出し、アナログ信号に変換して出力すると、元の半分の演奏時間で音高が倍になった楽曲が出力されることとなる。しかしながら、本実施形態では、D/A変換器13は、メドレー演奏モードでも、第1クロック信号CLKを基準クロック信号として用い、読み出し間隔は通常モードと同じ(1/(44.1kHz))であるため、楽音信号Sm及び音声信号Svは時間軸方向に倍に引き延ばされて、楽曲は元と同じ演奏時間で同じ音高で出力される。
【0057】
構成曲PAの演奏データの処理を終了すると、CPU1は、構成曲PBの演奏データに含まれるヘッダから音源設定データDsetを抽出し、音源9に送信する。音源9は、受信した音源設定データDsetに基づいて各パートの音色等の設定を行う。この音源の設定には数秒を要する。
【0058】
ここで、メドレー演奏モードにおいてCPU1は、第2クロック信号CLK2を基準クロック信号として用いているため、CPU1が構成曲PAの演奏データを処理するのに要する時間は、構成曲PAの実際の演奏時間の約半分となる。言い換えると、CPU1が構成曲PAの演奏データを処理し終えて、ステップS36で構成曲PB用の音源設定データDsetを音源9に送信するとき、スピーカから出力される構成曲PAの演奏は約半分しかなされていない。
【0059】
続いて、CPU1は、ブリッジ部BRGの演奏データ(ブリッジデータ)に含まれる楽音トラックから演奏イベントデータEDpを逐次読み出して音源9に送信する。音源9は、CPU1から受信した演奏イベントデータEDpに基づいて、楽音信号Smを生成する。上記したように、ブリッジデータは後続の構成曲PB(曲B)と同じ音源設定で演奏可能である。音源9によって生成されたブリッジ部BRGの楽音信号Smは、DSP12に出力される。DSP12は、受信した楽音信号Smをメモリ22に書き込むとともに、既に受信している構成曲PAの演奏信号と連結する(図10(D))。
【0060】
具体的には、DSP12は、CPU1から受信しメモリ22に格納したメドレー構成情報Imdに含まれる重なり期間Taに基づいて、メモリ22に格納されている構成曲PAの演奏信号(楽音信号Sm)の末尾の期間Taに渡る区間を抽出して、それをブリッジ部BRGの楽音信号Smの先頭の期間Taに渡る区間と重ね合わせて長さTaの合成楽音信号を生成し、この合成楽音信号で、メモリ22に格納されている構成曲PAの楽音信号Smの末尾の期間Taに渡る区間を置き換える。ブリッジ部BRGの楽音信号Smの残りは、構成曲PAの楽音信号Smの後に続いてメモリ22に格納される。このようにして、連結された構成曲PAとブリッジ部BRGの演奏信号がメモリ22に格納される。
【0061】
ここで、構成曲PAの演奏データの処理に要する時間を30秒(即ち、構成曲PAの実際の演奏時間は60秒)、ステップS37における音源の設定時間を5秒、ブリッジ部BRGの演奏データの処理に要する時間を3秒(即ち、ブリッジ部BRGの実際の演奏時間は6秒)、構成曲PAとブリッジ部BRGの連結に2秒を要するとした場合、連結完了までのトータルの時間は40秒である。また、構成曲PAとブリッジ部BRGの重なり時間Taを2秒とすると、連結完了時点で、ブリッジ部BRGの演奏が始まるまでには18秒ある。即ち、上記した構成曲PAとブリッジ部BRGの連結は、当該連結部(重なり部分)の演奏開始タイミングが到来する前に終了する。従って、D/A変換器13は、構成曲PAの演奏信号の読み出し、連結部の演奏信号の読み出し、及びブリッジ部BRGの残りの演奏信号(楽音信号Sm)のメモリ22からの読み出しを切れ目なく行うことができるので、カラオケ装置100は、構成曲PAとブリッジ部BRGの間を切れ目なくスムーズに演奏することができる。
【0062】
ブリッジ部BRGの演奏データの処理が終了すると、CPU1は、構成曲PBの演奏データの処理を開始する。このとき、ブリッジ部BRGと構成曲PBは同じ音源設定でよいため、新たな音源設定はなされない。CPU1は、構成曲PBの演奏データに含まれる楽音トラック及び音声トラックから並行してイベントデータを順次読み出し、イベントデータが演奏イベントデータEDpの場合は音源9に供給し、音声イベントデータEDvの場合は当該音声イベントデータEDv中の音声データ番号によって指定される音声データDVi(i=1〜m)をRAM3から読み出し、読み出した音声データDViを音声イベントデータEDv中の音程および音量に関するデータと共に音声デコーダ14に供給する。音源9は、受信した演奏イベントデータEDpに応じて楽音信号Smを生成し、生成した楽音信号SmをDSP12へ送信する。また、音声デコーダ14は、受信した音声データDVi及び音程・音量データに応じて音声信号Svを生成し、生成した音声信号SvをDSP12へ送信する。DSP12は、受信した楽音信号Sm及び音声信号Svをメモリ22に書き込むとともに、既に受信しているブリッジ部BRGの演奏信号と連結する(図10(D))。
【0063】
具体的には、DSP12は、メモリ22に格納されたメドレー構成情報Imdに含まれる重なり期間Tbに基づいて、メモリ22に格納されているブリッジ部BRGの演奏信号の末尾の期間Tbに渡る区間を抽出して、それを構成曲PBの演奏信号(楽音信号Sm及び音声信号Sv)の先頭の期間Tbに渡る区間と重ね合わせて長さTbの合成演奏信号を生成し、この合成演奏信号で、メモリ22に格納されているブリッジ部BRGの演奏信号の末尾の期間Tbに渡る区間を置き換える。構成曲PBの演奏信号の残りは、ブリッジ部BRGの演奏信号の後に続いてメモリ22に格納される。このようにして、連結されたブリッジ部BRGと構成曲PBの演奏信号がメモリ22に格納される。尚、ブリッジ部BRGと構成曲PBの連結処理は、構成曲PBの演奏データの処理が全て終了しなくても、期間Tbに対応する演奏データの処理が終わった時点で始めてもよい。
【0064】
例えば、重なり期間Tbが2秒であり、期間Tbに対応する構成曲PBの演奏データの処理に1秒を有し(演奏時間の半分)、ブリッジ部BRGと構成曲PBの連結に2秒を要するとすると、構成曲PAの演奏開始からブリッジ部BRGと構成曲PBの連結までのトータルの時間は、43秒である。重なり部Tbの演奏開始時間は構成曲PAの演奏開始から62秒後であるので、演奏開始前に連結は完了する。即ち、切れ目なのないスムーズな演奏が可能である。
【0065】
以上説明したように、本実施形態によれば、音源が一つでも、メドレー演奏において複数の楽曲を切れ目なく連続して演奏することができる。また、音源が一つでも、曲と曲の間でフェードインやフェードアウトを入れることができる。
【0066】
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。また、以下の変形例を組み合わせてもよい。
【0067】
(変形例1)
上述した実施形態においては、曲Aの1番と曲Bの1番をつないでメドレー曲Cを生成した。しかしながら、本発明はこれに限定されない。例えば、曲Aの1番の後、曲Bのサビに相当するセクション(B4)をつないでもよいし、曲A全部と曲B全部を接続してメドレー曲Cを生成してもよい。また、曲Aと曲Bの2曲に限らず、3曲以上を連結してメドレー曲を生成してもよい。このように、連結される曲の数や、連結される曲のどの演奏区間を連結するかの指定は任意である。
【0068】
(変形例2)
上述した実施形態においては、センタ300から配信されたメドレーデータがハードディスクドライブ装置6に格納されているものとしたが、メドレー演奏する楽曲、各楽曲の演奏区間、及び演奏順をユーザが指示できるようにし、ユーザの指示に基づいてメドレーデータを作成して、作成したメドレーデータに基づいてメドレー演奏してもよい。その場合、楽曲間のブリッジ部を設けず、楽曲(構成曲)同士を直接つないでもよい。あるいは、予め複数のブリッジデータを作成しておき、続けて演奏される曲の特徴(ジャンル、曲調、テンポなど)に基づいてカラオケ装置100が自動で選択するようにしてもよい。ブリッジデータをユーザが選択してもよい。また、例えばメドレー演奏される曲の演奏区間を各曲の1番や曲全体に固定し、ユーザによる演奏区間の指定を省略してもよい。指定された各曲の全部をメドレー演奏する場合、曲と曲の間隔がなくなる、または短縮されるので、通常モードで演奏する場合と比べて、ユーザは同じ時間でより多くの楽曲を歌うことができる。
【0069】
(変形例3)
上述した実施形態においては、構成曲の最後をフェードアウトさせた。しかしながら、フェードアウトさせなくてもよい。また、メドレー演奏するよう指定された曲の区間の最後の演奏イベントデータEDpがノートオンイベントデータの場合、ノートオフイベントデータを追加して、指定された区間で演奏が終わるようにしてもよい。
【0070】
(変形例4)
上述した実施形態においては、構成曲PAと構成曲PBの間にブリッジ部BRGを設けたが、ブリッジ部BRGを設けることなく、構成曲PAと構成曲PBを直接連結してもよい。また、その際、構成曲PAと構成曲PBの一部が重なるようにしてもよい。
【0071】
(変形例5)
上述した実施形態においては、メドレー演奏において続けて演奏される楽曲(またはブリッジ部)の一部を重ねて連結したが、重ならないようにしてもよい。また、楽曲間の切れ目が全くないようにしなくても、楽曲間の間隔が後続曲のための音源の設定に要する時間よりも短くなるようにすればよい。
【0072】
(変形例6)
上述した実施形態においては、メドレー曲演奏前に、ユーザによる各曲のキーやテンポの変更の指示がなされていたが、メドレー曲の演奏中に、そのような指示を行ってもよい。図12は、メドレー曲の演奏途中にキー変更がなされた場合の処理を示すフローチャートである。
【0073】
ステップS51で、CPU1は、操作部4からの入力をモニターし、ユーザからのキー変更指示があったかチェックする。ユーザからのキー変更指示があった場合(ステップS11:YES)、ステップS12で、次の連結部(曲と曲のつなぎ目)までの時間Tmを算出する。また、ステップS53で、キー変更を反映した連結部の作成に要する時間Tnを算出する。これは、今演奏している曲(構成曲)の演奏データをキー変更を反映して終わりまで処理する時間、次の構成曲またはブリッジ部の連結部の作成に必要な期間に対応した演奏データを処理する時間、演奏データの処理をすることで得られた演奏信号を接続するのに要する時間が含まれる。
【0074】
ステップS54では、ステップS52で算出した時間TmとステップS53で算出した時間Tnとを比較し、Tn<Tmであるかを判定する。Tn<Tmの場合(ステップS53:YES)、ステップS55で、キー変更を反映して現在演奏中の構成曲の演奏信号を生成し、後続の構成曲またはブリッジ部の演奏信号と連結して、キー変更が反映されたメドレー曲の演奏信号を生成する。ステップS56では、新たに生成した、キー変更を反映したメドレー曲の演奏信号に基づいて演奏(音の出力)を行う。なお、キー変更前の古いデータは破棄する。Tn<Tmでない場合(ステップS53:NO)、ステップS57で、キー変更できない旨のメッセージを表示装置8に表示する。テンポ変更の処理も、キー変更の処理と同様である。
【0075】
(変形例7)
上述した実施形態においては、原曲(曲A、曲B)は、演奏情報(演奏イベントデータEDpや音声イベントデータEDv)を音源に供給するタイミングを定めたシーケンスデータ(楽音トラックや音声トラック)を有する楽曲データによって表されていたが、本発明はそれに限らない。例えば、原曲を表す原曲データは、mp3形式やwma形式の波形データ(波形ファイル)であってもよい。例えば、上記実施形態において、原曲A及びBがmp3形式の波形データとしてハードディスク装置6に格納されている場合、メドレー曲合成時、CPU1は、ハードディスクに格納されているmp3ファイルをRAM3に読み出して、mp3形式で圧縮されているデータを伸長(デコード)して各曲の演奏信号(楽音信号Sm)としてDSP12に出力する。この場合、CPU1が原曲データから各楽曲の演奏信号を生成する演奏信号生成手段として働く。
【0076】
(変形例8)
上述した実施形態においては、メドレー演奏モードにおいて、CPU1、音源9、及び音声デコーダ14は、第2クロック信号CLK2を基準クロック信号として用いて動作した。しかしながら、メドレー演奏モードにおいて、CPU1、音源9、及び音声デコーダ14は、常に第2クロック信号CLK2を基準クロック信号として用いる必要はなく、メドレー演奏モードであっても、第1クロック信号CLK1を基準クロック信号として用いるときがあってもよい。例えば、図7に示したメドレー曲Cの演奏信号を生成する場合、重ね合わせ期間Tbに対応する構成曲PBの演奏データの処理が終了した後、基準クロック信号として用いるクロック信号を第2クロック信号CLK2から第1クロック信号CLK1に切り替えてもよい。連結部の作成に必要な演奏信号は既に生成されているからである。また、上述した実施形態においては、メドレー演奏モードにおいて、第1クロック信号CLK1の2倍の高さの周波数を有する第2クロック信号CLK2を基準クロック信号として用いて演奏データの処理をしたが、第2クロック信号CLK2の周波数は、第1クロック信号CLK1の2倍に限定されない。要は、連結部の演奏タイミングが到来する前に、連続して演奏される曲の演奏信号の合成(連結)ができるように、十分な速さで演奏データを処理して演奏信号が生成されるようなクロック信号を基準クロック信号として用いればよい。
【0077】
(変形例9)
上述した実施形態においては、メドレー曲を演奏するときに通常モードからメドレー演奏モードへ自動的に切り替えられたが、本発明はこれに限定されない。通常曲の演奏中に、ユーザが次の通常曲をメドレー演奏モードで演奏するよう指示した場合に、当該指示に応じて、メドレー演奏モードに切り替えてもよい。メドレー演奏モードに切り替わると、CPU1、音源9、及び音声デコーダ14において基準クロック信号として第2クロック信号を用いて、演奏中の曲の残りの演奏データの処理を行い、演奏中の曲の残りの演奏データの処理が終了次第、次の曲の音源設定及び演奏データの処理(即ち、演奏信号の生成)を行う。この場合、ユーザの指示が演奏中の曲の終わり近くでなされた場合には、演奏中の曲が終了した時点で、次の曲の音源設定が終了しておらず、次の曲の演奏信号が生成されていない場合もあり得る。その場合でも、メドレー演奏モードに切り替えることで、演奏中の曲の演奏データの処理を実際の演奏終了前に終わらせて、次の曲の音源設定を開始することができるため、通常モードのまま演奏中の曲の終了を待って次の曲の音源設定をする場合と比べて、次の曲の演奏開始を早めることができる。
【符号の説明】
【0078】
1・・・CPU、2・・・ROM、3・・・RAM、4・・・操作部、5・・・通信制御部、6・・・ハードディスク装置、7・・・表示制御部、8・・・表示装置、9・・・音源、10・・・マイク、11・・・ミキサ、12・・・DSP、13・・・D/A変換器、14・・・音声デコーダ、15・・・クロックジェネレータ、100・・・カラオケ装置、101・・・バス、200・・・通信回線末、300・・・センタ
【特許請求の範囲】
【請求項1】
第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、
続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、
前記指定データによって指定された前記複数の楽曲の各々の楽曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する音源を含む演奏信号生成手段と、
前記演奏信号生成手段により生成された各楽曲の前記演奏信号を記憶するメモリと、
前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、各楽曲の前記演奏信号を前記演奏順にメモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、
前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、
前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する前記演奏信号を生成することを特徴とする楽曲演奏装置。
【請求項2】
前記第1の楽曲の前記演奏信号と、前記第2の楽曲の前記演奏信号を連結し、連結した演奏信号を前記メモリに格納する演奏信号合成手段を更に有することを特徴とする請求項1に記載の楽曲演奏装置。
【請求項3】
前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号の間に、これら2つの楽曲の間に演奏されるフレーズの演奏信号であるブリッジ演奏信号を挿入することを特徴とする請求項2に記載の楽曲演奏装置。
【請求項4】
第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、
続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、
前記指定データによって指定された前記複数の楽曲の各々を表す原曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する演奏信号生成手段と、
前記演奏信号生成手段により生成された各楽曲の前記演奏信号を連結する演奏信号合成手段と、
前記演奏信号合成手段により連結された前記演奏信号を記憶するメモリと、
前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記演奏信号を前記メモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、
前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、
前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する演奏信号を生成し、
前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号を一部が重なるように連結することを特徴とする楽曲演奏装置。
【請求項5】
第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、
続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、
前記指定データによって指定された前記複数の楽曲の各々を表す原曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する演奏信号生成手段と、
前記演奏信号生成手段により生成された各楽曲の前記演奏信号を連結する演奏信号合成手段と、
前記演奏信号合成手段により連結された前記演奏信号を記憶するメモリと、
前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記演奏信号を前記メモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、
前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、
前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する演奏信号を生成し、
前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号の間に、これら2つの楽曲の間に演奏されるフレーズの演奏信号であるブリッジ演奏信号を挿入することを特徴とする楽曲演奏装置。
【請求項1】
第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、
続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、
前記指定データによって指定された前記複数の楽曲の各々の楽曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する音源を含む演奏信号生成手段と、
前記演奏信号生成手段により生成された各楽曲の前記演奏信号を記憶するメモリと、
前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、各楽曲の前記演奏信号を前記演奏順にメモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、
前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、
前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する前記演奏信号を生成することを特徴とする楽曲演奏装置。
【請求項2】
前記第1の楽曲の前記演奏信号と、前記第2の楽曲の前記演奏信号を連結し、連結した演奏信号を前記メモリに格納する演奏信号合成手段を更に有することを特徴とする請求項1に記載の楽曲演奏装置。
【請求項3】
前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号の間に、これら2つの楽曲の間に演奏されるフレーズの演奏信号であるブリッジ演奏信号を挿入することを特徴とする請求項2に記載の楽曲演奏装置。
【請求項4】
第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、
続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、
前記指定データによって指定された前記複数の楽曲の各々を表す原曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する演奏信号生成手段と、
前記演奏信号生成手段により生成された各楽曲の前記演奏信号を連結する演奏信号合成手段と、
前記演奏信号合成手段により連結された前記演奏信号を記憶するメモリと、
前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記演奏信号を前記メモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、
前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、
前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する演奏信号を生成し、
前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号を一部が重なるように連結することを特徴とする楽曲演奏装置。
【請求項5】
第1クロック信号と、前記第1クロック信号の周波数より高い周波数を有する第2クロック信号とを生成するクロック信号生成手段と、
続けて演奏される複数の楽曲、前記複数の楽曲の演奏順、及び前記複数の楽曲の各々の演奏区間を指定する指定データを記憶する記憶手段と、
前記指定データによって指定された前記複数の楽曲の各々を表す原曲データから各楽曲の前記演奏区間に対応する演奏信号を生成する演奏信号生成手段と、
前記演奏信号生成手段により生成された各楽曲の前記演奏信号を連結する演奏信号合成手段と、
前記演奏信号合成手段により連結された前記演奏信号を記憶するメモリと、
前記第1クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記演奏信号を前記メモリから読み出し、読み出した演奏信号を出力する出力手段とを有し、
前記指定データによって指定された複数の楽曲は、第1の楽曲と当該第1の楽曲に続いて演奏される第2の楽曲とを含み、
前記演奏信号生成手段は、前記第2クロック信号を動作タイミングの基準となる基準クロック信号として用いて、前記第1の楽曲の前記演奏区間の少なくとも一部に対応する演奏信号を生成し、
前記演奏信号合成手段は、前記第1の楽曲の前記演奏信号と前記第2の楽曲の前記演奏信号の間に、これら2つの楽曲の間に演奏されるフレーズの演奏信号であるブリッジ演奏信号を挿入することを特徴とする楽曲演奏装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−203110(P2012−203110A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−66141(P2011−66141)
【出願日】平成23年3月24日(2011.3.24)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願日】平成23年3月24日(2011.3.24)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]