(57)【要約】【課題】再生時の最小分解能が異なる楽曲演奏と波形データ出力を、誤差を全く発生させずに同期させることができ、且つそのための特別な制御データ等も不要であり、さらに誤差修正のための特別な処理も不要とする技術を提案する。【解決手段】ＭＩＤＩクロック周波数をＸ、ＰＣＭクロック周波数をＹとし、ＹをＸで除算した結果の整数値をａ１、余り整数値をｂ２、ａ１＋１をａ２、Ｘ−ｂ２をｂ１とする。そして、ＰＣＭクロックがａ１回出力するとＭＩＤＩクロックが１回出力する状態をｂ１回連続させ、その後、ＰＣＭクロックがａ２回出力するとＭＩＤＩクロックが１回出力する状態をｂ２回連続させ、このパターンを繰り返す。このようないわば閏年的な対処をすることで、ＰＣＭクロックを基準としてＭＩＤＩクロックを規定しながら、誤差の生じない同期が実現できる。【選択図】図５
2004287217.tif 000002
【特許請求の範囲】
【請求項１】
デジタル符合化された波形データを順次出力する波形データ出力手段、
音符を元にした楽曲演奏情報に基づいて楽曲演奏を行う楽曲演奏手段を備える音楽再生装置であって、
前記波形データ出力手段による前記波形データ出力は、前記波形データ出力時の最小分解能である出力分解能によって規定される第一の基準クロック周波数を用いて実行し、
一方、前記楽曲演奏手段による前記楽曲演奏は、前記出力分解能よりも粗く且つ音符として表現可能な最小分解能である音符表現分解能によって規定される第二の基準クロック周波数を用いて実行し、
さらに、前記前記第二の基準クロック周波数によるクロックを以下のように規定することによって、前記楽曲演奏と前記波形データ出力とを同期させて実行する
音楽再生装置。
（１）前記第一の基準クロック周波数をＹ、前記第二の基準クロック周波数をＸとしたときに、下式を満たすａｎ，ｂｎ（ａｎ，ｂｎは整数、ｎ＝１，２，３…）を用い、前記第一の基準クロック周波数によるクロックがａｎ個発生すると前記第二の基準クロック周波数によるクロックを発生させる。
（ａ１・Ｘ−Ｙ）・ｂ１＋（ａ２・Ｘ−Ｙ）・ｂ２＋……＋（ａｎ・Ｘ−Ｙ）・ｂｎ＝０
（２）前記ａｎ，ｂｎの組が２組以上存在する場合は、一定期間内におけるａ１，ａ２，ａ３……ａｎの存在割合がそれぞれｂ１，ｂ２、ｂ３……ｂｎになるようにする。
【請求項２】
請求項１に記載の音楽再生装置において
前記ａｎ，ｂｎの組が２組以上存在する場合であって、且つその組合せのパターンが２種類以上存在する場合には、少なくとも１つの組中のａｎがＹ／Ｘの実数ａの小数点以下を切り上げ又は切り下げた値である組合せパターンを用いる
音楽再生装置。
【請求項３】
請求項１又は２に記載の音楽再生装置において
前記ａｎ，ｂｎの組が２組以上存在する場合であって、且つその組合せのパターンが２種類以上存在する場合には、その組合せパターン中に存在するａｎの最小値と最大値との差が最も小さい組合せパターンを用いる
音楽再生装置。
【請求項４】
請求項１に記載の音楽再生装置において
ＹをＸで除算した結果の整数値をａ１、余り整数値をｂ２、ａ１＋１をａ２、Ｘ−ｂ２をｂ１とし、それらａ１，ａ２，ｂ１，ｂ２を用いる
音楽再生装置。
【請求項５】
請求項１〜４の何れかに記載の音楽再生装置において
さらに、
再生速度の変更指示を受け付ける変更指示受付手段、
その変更指示受付手段にて受け付けた再生速度の変更指示に応じて、前記波形データ出力手段による前記波形データ出力に用いる前記第一の基準クロック周波数を変更する変更制御手段を備える
音楽再生装置。
【請求項６】
請求項１〜５の何れかに記載の音楽再生装置における前記各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル符合化された波形データによる波形データ出力及び音符を元にした楽曲演奏情報による楽曲演奏を同期させて実行させる技術に関する。
【０００２】
【従来の技術】
従来、例えばデジタル符合化された波形データによる波形データ出力の一例であるＰＣＭ再生と、音符を元にした楽曲演奏情報による楽曲演奏の一例であるＭＩＤＩ演奏とを同期して実行させる方法として、例えばＰＣＭデータあるいはＭＩＤＩデータの何れか一方若しくは双方に同期用・制御用のデータを入れておき、それを用いて同期再生制御する方法が存在する（例えば、特許文献１参照）。但し、この方法の場合には、制御データエリアが無駄となり、またそのような制御データに基づく同期制御処理を行う必要であって処理負荷の増大を招く。
【０００３】
これに対して同期制御のための特別な制御データ等を持たずに同期制御を実現しようとする方法が提案されている（例えば、特許文献２参照）。
【０００４】
【特許文献１】
国際公開第ＷＯ９９／４０５６６号パンフレット
【特許文献２】
特許第２７９７８１０号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した特許文献２に開示される方法では、分解能の粗い側（例えばＭＩＤＩ演奏等）に分解能の細かい側（例えばＰＣＭ再生等）を合わせる思想である。つまり、ＭＩＤＩ演奏に用いるＭＩＤＩクロックのタイミングにＰＣＭでの読み出しタイミングを合わせており、ＰＣＭ再生の速度を微調整することで両者の同期を取ろうという思想である。そのため、ＰＣＭ再生音のピッチは変わってしまうこととなる。
【０００６】
また、特許文献２においては、ワードクロック制御データＰの値を、ＭＩＤＩクロックのテンポ、録音時間、サンプルワード数に基づき、具体的な数値を用いた計算結果が開示されているが、その結果の値は実数ではなく小数点以下を切り捨てた値となっており、特許文献２中の何れを見ても、その誤差部分についての対処に関しては記載されていない。つまり、誤差については基本的に無視することとしている。したがって、その誤差を解消しようとすれば、例えば一定間隔で誤差修正のための処理を特別に実行する必要がある。
【０００７】
そこで本発明は、再生時の最小分解能が異なる楽曲演奏と波形データ出力を、誤差を全く発生させずに同期させることができ、且つそのための特別な制御データ等も不要であり、さらに誤差修正のための特別な処理も不要とする技術を提案することを目的とする。
【０００８】
【課題を解決するための手段及び発明の効果】
（イ）上述した問題点を解決するためになされた本発明の音楽再生装置によれば、デジタル符合化された波形データを順次出力して行う波形データ出力（例えばＰＣＭ演奏）と、音符を元にした楽曲演奏情報に基づいて行う楽曲演奏（例えばＭＩＤＩ演奏）とを同期させて実行するのであるが、波形データ出力については、波形データ出力時の最小分解能である出力分解能（例えば再生速度を変化させない場合は、アナログ／デジタル変換時のサンプリング周波数と同じにすることができる）によって規定される第一の基準クロック周波数（実施例では速度変化がない場合の例として、Ａ／Ｄ変換時のサンプリング周波数と同じ４４．１ＫＨｚ）を用いて実行する。
【０００９】
一方、楽曲演奏は、出力分解能よりも粗く且つ音符として表現可能な最小分解能である音符表現分解能（実施例では４分音符１個につき４８ＭＩＤＩクロック）によって規定される第二の基準クロック周波数（例えばＭＩＤＩクロック周波数）を用いて実行するのであるが、さらに、この第二の基準クロック周波数によるクロックは、以下の（１）、（２）のように規定される。
【００１０】
（１）第一の基準クロック周波数をＹ、第二の基準クロック周波数をＸとしたときに、下式を満たすａｎ，ｂｎ（ａｎ，ｂｎは整数、ｎ＝１，２，３…）を用い、第一の基準クロック周波数によるクロックがａｎ個発生すると第二の基準クロック周波数によるクロックを発生させる。
【００１１】
（ａ１・Ｘ−Ｙ）・ｂ１＋（ａ２・Ｘ−Ｙ）・ｂ２＋……＋（ａｎ・Ｘ−Ｙ）・ｂｎ＝０…（数１）
（２）ａｎ，ｂｎの組が２組以上存在する場合は、一定期間内におけるａ１，ａ２，ａ３……ａｎの存在割合がそれぞれｂ１，ｂ２、ｂ３……ｂｎになるようにする。
【００１２】
ここで、まず上記式１について補足説明する。上記式１は、以下の式２を変形したものである。
Ｙ／Ｘ＝ａ＝（ａ１・ｂ１＋ａ２・ｂ２＋…＋ａｎ・ｂｎ）／（ｂ１＋ｂ２＋…＋ｂｎ）…（数２）
ここで、ａは実数であり、当然ながら整数とは限らず、小数点以下の端数も含まれている可能性がある。一方、上述したようにａ１，ａ２，ａ３…及びｂ１，ｂ２，ｂ３…はそれぞれ整数である。
【００１３】
実数ａが整数となる場合は、ａ１＝ａとなるため、ｂ１＝１となり、ａ２以降及びｂ２以降は全て零となるため、第一の基準クロック周波数によるクロックがａ１＝ａ個発生する毎に第二の基準クロック周波数によるクロックを発生させることとなる。つまり、常に同じ周期で第二の基準クロック周波数によるクロックも発生することとなる。
【００１４】
一方、実数ａが整数とならない場合、本発明では、２種類以上の整数ａｎ（ｎ＝１，２，３…）を用い、一定期間内におけるａ１，ａ２，ａ３……ａｎの存在割合がそれぞれｂ１，ｂ２、ｂ３……ｂｎになるようにする。例えばａ１，ａ２の２種類が存在し、それぞれ対応するｂ１，ｂ２の関係がｂ１：ｂ２＝１：３であったとすると、第一の基準クロック周波数によるクロックがａ１個発生すると第二の基準クロック周波数によるクロックを発生させる第一のパターンと、第一の基準クロック周波数によるクロックがａ２個発生すると第二の基準クロック周波数によるクロックを発生させる第二のパターンを、一定期間内において１：３の割合で存在するようにするのである。この場合、例えば上記第一のパターンを１回採用したら上記第二のパターンを３回連続で採用する、というようにしてもよいし、その整数倍のサイクルで実行しても良い。例えば第一のパターンを１５回採用したら上記第二のパターンを４５回連続で採用する、としてもよい。
【００１５】
このように、第一の基準クロック周波数によるクロック数に基づき、且ついわば「閏年的対処」をして第二の基準クロック周波数によるクロックを規定することにより、再生時の最小分解能が異なる楽曲演奏と波形データ出力を、誤差を全く発生させずに同期させることができる。そして、このような同期を実現する上で、特別な制御データや同期データを持つ必要がないため、データエリアが無駄にならない。また、一定間隔で誤差修正をする必要も無いので処理負荷が軽減する。
【００１６】
さらに、本発明では、楽曲演奏側のクロックを微調整することで同期制御をしているが、楽曲演奏の一例であるＭＩＤＩ演奏であれば、例えばイベントの発生タイミングがずれても音程の変化自体はない。それに対して波形データ出力側のクロックで調整した場合には音程（音高）変化が発生する。しかし、本発明では波形データ出力側では何らクロック調整をしているわけではないので、そのような音程変化が発生しない。
【００１７】
（ロ）ａｎ，ｂｎの組が２組以上存在する場合、その何れであっても上述した効果は得られるが、この手法は、上述のように楽曲演奏側のクロックを波形データ出力側のクロックを基準として規定し、その規定するクロック数を微調整することで同期制御をしているため、楽曲演奏の一例であるＭＩＤＩ演奏であればイベントの発生タイミングを微妙にずらしていることとなる。この場合、音程の変化自体はないが、本来のタイミングとは微視的にはずれていることとなるため、そのずれ量は小さい方が好ましい。
【００１８】
そこで、請求項２に示すように、ａｎ，ｂｎの組合せが２組以上存在する場合であって、且つその組合せのパターンが２種類以上存在する場合には、少なくとも１つの組中のａｎがＹ／Ｘの実数ａの小数点以下を切り上げ又は切り下げた値である組合せパターンを用いるようにすることが考えられる。このようにすれば、その値は実数ａに対して１未満の差しかないため、上述したずれ量が最も小さくなる。なお、例えばａｎ，ｂｎの組が２組存在する場合、つまりａ１，ａ２が存在する場合には、ａ１，ａ２の何れか一方がＹ／Ｘの実数ａの小数点以下を切り上げた値であり、他方が切り下げた値である組合せパターンであれば、ずれ量を小さくするという観点からは最適なパターンの一つとなる。
【００１９】
（ハ）上述のように、複数のａｎの何れかが実数ａに対して１未満の差しかない場合には確かにずれ量が小さくなる。但し、複数のａｎの内の他のものが実数から大きくずれていることは好ましくない。そこで、請求項３に示すように、複数のａｎが存在する場合は、それらの内の最小値と最大値との差が最も小さい組合せパターンを用いることが考えられる。このようにすれば、再生全体を通じて再生タイミングの変化度合いが少なくなり、適切なものとなる。なお、上述した例、すなわちａ１，ａ２の何れか一方がＹ／Ｘの実数ａの小数点以下を切り上げた値であり、他方が切り下げた値である組合せパターンであれば、両者の差分は最小値の１となり、この観点からも最適なパターンの一つと言える。
【００２０】
（ニ）このような（ロ）（ハ）で説明した特質を兼ね備えるａｎ，ｂｎについては、例えば請求項４に示すような算出方法によって得ることができる。つまり、ＹをＸで除算した結果の整数値をａ１、余り整数値をｂ２、ａ１＋１をａ２、Ｘ−ｂ２をｂ１とし、それらａ１，ａ２，ｂ１，ｂ２を用いるのである。この場合には、簡単な計算でａ１，ａ２，ｂ１，ｂ２を得ることができるため、リアルタイムに計算しても十分対応できる。なお、全ての組合せを算出しておき、その中から選択することも可能であるが、その場合は相対的に時間が長くなり、例えば３組以上の組合せまで全て算出する場合には、相当時間が掛かる可能性がある。したがって、その場合には、予め組合せを計算してその中から適切な組合せを選択し、それを記憶しておくようにすればよい。具体的には楽曲演奏の演奏テンポに応じた組合せを予め計算によって求めておき、演奏テンポとａｎ，ｂｎの組合せとの対応関係を例えばテーブル形式等で記憶しておき、演奏時に楽曲演奏情報から読み出した演奏テンポに対応する組合わせを用いて同期制御を実行すればよい。
【００２１】
（ホ）例えば音楽再生装置の一例としてカラオケ装置が挙げられるが、カラオケ装置の場合には、歌唱者の好みに応じて再生速度を変更できるようにされていることもある。そのような再生速度の変更に際しては請求項５に記載のように対処すればよい。つまり、変更指示受付手段にて再生速度の変更指示を受け付けた場合には、変更制御手段が、その受け付けた再生速度の変更指示に応じて、波形データ出力手段による波形データ出力に用いる第一の基準クロック周波数を変更するのである。このように波形データ出力に用いる第一の基準クロック周波数を変更すれば、楽曲演奏に用いる第二の基準クロック周波数によるクロックは自動的に規定されるため、再生速度の変更時に、再度両者の同期を取る必要が無い。
【００２２】
（ホ）また、請求項１〜５の何れかに記載の音楽再生装置における各手段をコンピュータにて実現する場合、例えばコンピュータで実行するプログラムとして備えることができる。このようなプログラムは、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ハードディスク、ＲＯＭ、ＲＡＭ等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードして実行したり、ネットワークを介してロードして実行することにより、採点手段としての機能を実現できる。
【００２３】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００２４】
図１（ａ）は、本発明の音楽再生装置の一実施例としてのカラオケ装置１の構成を示すブロック図である。本実施例のカラオケ装置１は、いわゆる通信カラオケと称されるものであり、通信ネットワーク３を介してホストコンピュータ２に接続できるようになっている。そして、カラオケ装置１は、この通信ネットワーク３を介して接続したホストコンピュータ２からカラオケに関する音楽情報と画像情報とを取得することができる。
【００２５】
なお、ホストコンピュータ２は、通信ネットワーク３を介してカラオケ装置１とアクセス可能であって、カラオケ装置１に対して、最新の流行曲等の曲データを発信したり、どのような曲が何回演奏されたかといったログデータを含む関連情報をカラオケ装置１から受信したりして管理することができるようになっている。また、ホストコンピュータ２は、データベースを備えており、このデータベースに楽曲演奏に使用するコンテンツデータとしての音楽情報や背景画または歌詞等の画像情報等を記憶している。また、ホストコンピュータ２は、コンテンツデータ以外にバージョンアップされたシステムプログラム等をデータベースに記憶し、そのデータベースから随時読み出してカラオケ装置１に対して配信することができるようになっている。
【００２６】
次に、カラオケ装置１の構成について説明する。
このカラオケ装置１には、図１（ａ）に示されるように、ホストコンピュータ２に通信ネットワーク３を介して接続し各種の情報を送受信する通信装置１９、曲の予約操作などを行うための操作パネル１０、カラオケ装置１全体の制御を司る制御手段としてのＣＰＵ１４、各種情報を一時的に記憶するＲＡＭ１５、演奏の再生を行う音源再生装置１８、音楽情報にかかる電気信号を増幅等するアンプ２０、アンプ２０からの電気信号を入力して伴奏曲及び利用者（歌唱者）の歌声等を流すスピーカ２２、利用者（歌唱者）の歌声等をアンプ２０に入力するためのマイクロフォン（以下、単にマイクと称す。）２３、カラオケ用の音楽情報や画像情報その他各種データを記憶しているハードディスク１３、そのハードディスク１３に記憶された画像情報等に基づいて歌詞や背景画を再生するための映像再生装置２４、画像情報である背景画及び歌詞等を表示する表示装置２６を備えている。この内、操作パネル１０、ハードディスク１３、ＲＡＭ１５、音源再生装置１８及び映像再生装置２４は、ＣＰＵ１４に接続されている。
【００２７】
上述した通信装置１９は、信号の変調および復調を行う変復調装置であり、ＣＰＵ１４の制御の下、通信ネットワーク３を通じてホストコンピュータ２にアクセス可能に構成されている。それによって、通信装置１９は、通信ネットワーク３を介してホストコンピュータ２から送られてくる楽曲データ等を受信したり、上記関連情報をホストコンピュータ２に伝送することができる。
【００２８】
また、操作パネル１０は、利用者によって操作されるものであり、任意の曲の選曲番号を入力するためのテンキーパネル１０ａ、演奏音のピッチ（演奏キーとも称される）の調整及び表示を行うためのピッチパネル１０ｂ、演奏速度の調整及び表示を行うための速度パネル１０ｃ、例えば選択された曲の選曲番号等を表示するための表示部１０ｄを備えている。
【００２９】
テンキーパネル１０ａは、「０」から「９」までの数字ボタンと、その数字ボタンを介して入力された選曲番号を確定させて演奏を実行させるための選曲ボタンを備える。
また、ピッチパネル１０ｂは、歌唱者の希望する音域に合わせた演奏をさせるための３種類のボタン、すなわちフラットボタン１０１、ナチュラルボタン１０２、シャープボタン１０３と、ピッチ表示用ＬＥＤ１０５を備える。フラット（♭）ボタン１０１はキーを下げるためのもの、シャープ（＃）ボタン１０３はキーを上げるためのものである。また、ナチュラルボタン１０２は、デフォルト状態である標準ピッチに戻すためのものである。
【００３０】
ピッチ表示用ＬＥＤ１０５は、演奏ピッチが標準ピッチ（デフォルトの状態）からどの程度変更されているかを示すためのものであり、中央には、標準ピッチを示すための他よりも少し大きな表示サイズのＬＥＤが配置され、その左右両側には、中央のＬＥＤよりも小さなＬＥＤがそれぞれ６つずつ配置されている。上述したフラットボタン１０１、シャープボタン１０３は、それぞれ１回押す毎にピッチが１度（半音：セミトーン）ずつ増減するようになっており、その操作に応じてピッチ表示用ＬＥＤ１０５の点灯部分が移動するように構成されている。具体的には、標準ピッチの場合は中央のＬＥＤが点灯しており、シャープボタン１０３を１回押せば１つ右側のＬＥＤが点灯し、さらに１回押せばさらに１つ右側のＬＥＤが点灯する。フラットボタン１０１の場合も同様に、押した回数分だけ左に位置するＬＥＤが点灯する。なお、このピッチ表示用ＬＥＤ１０５の配置からも分かるように、本実施例では、標準ピッチから最大６度の増減が可能となっている。
【００３１】
また、速度パネル１０ｃは、歌唱者の希望する演奏速度に調整するための３種類のボタン、すなわち減速（−）ボタン１１１、標準速（±）ボタン１１２、増速（＋）ボタン１１３と、速度変化表示用ＬＥＤ１１５を備える。減速（−）ボタン１１１は演奏速度を減ずるためのもの、増速（＋）ボタン１１３は演奏速度を増すためのもの、標準（±）ボタン１１２は演奏速度を標準速度に戻すためのものである。これら３種類のボタン１１１〜１１３が変更指示受付手段に相当する。
【００３２】
速度変化表示用ＬＥＤ１１５は、演奏速度が標準速度（デフォルトの状態）からどの程度変更されているかを示すためのものであり、中央には、標準速度を示すための他よりも少し大きな表示サイズのＬＥＤが配置され、その左右両側には、中央のＬＥＤよりも小さなＬＥＤがそれぞれ５つずつ配置されている。上述した減速ボタン１１１は１回押す毎に演奏速度が（標準速度の）５％ずつ減っていき、増速ボタン１１３は１回押す毎に演奏速度が（標準速度の）５％ずつ増していくようになっており、その操作に応じて速度変化表示用ＬＥＤ１１５の点灯部分が移動するように構成されている。具体的には、標準速度の場合は中央のＬＥＤが点灯しており、減速ボタン１１１を１回押せば１つ左側のＬＥＤが点灯し、さらに１回押せばさらに１つ左側のＬＥＤが点灯する。増速ボタン１１３の場合も同様に、押した回数分だけ右に位置するＬＥＤが点灯する。なお、この速度変化表示用ＬＥＤ１１５の配置からも分かるように、本実施例では、標準速度から最大２５％の増減が可能となっている。つまり、標準速度の７５％〜１２５％の間で５％刻みの速度変更が可能である。
【００３３】
また、ＲＡＭ１５には、図２に示すように、ＭＩＤＩカウンタ値記憶エリア１５ａ、現在使用中ＭＩＤＩカウンタ値記憶エリア１５ｂ、使用回数記憶エリア１５ｃの３つの記憶エリアが準備されている。
また、ハードディスク１３には、図２に示すように、アプリケーションプログラムや楽曲データなどが記憶されている。楽曲データは、ヘッダ、ＭＩＤＩデータ、歌詞データ、バックコーラスなどの肉声の波形データ等によって構成されている。波形データは、アナログのオーディオ信号をデジタル変換して作成したものであり、例えばＰＣＭ録音によって作成したＰＣＭデータやエンコードされたＡＤＰＣＭデータ、ＭＰ３データ等が該当する。ここではＡＤＰＣＭデータ（Ａｄａｐｔｉｖｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ  Ｄａｔｅ）として説明を進める。また、ハードディスク１３には、映像データや各種の設定に必要な設定データ、さらには演奏記録などのログデータなども記憶されている。そして、操作パネル１０の操作部を介して演奏を希望する曲の選曲番号が入力されると、ＣＰＵ１４は、入力された選曲番号に対応する曲の楽曲データやその曲と関連する映像データをハードディスク１３から呼び出して、音源再生装置１８及び映像再生装置２４に同期させて出力するようになっている。
【００３４】
その後、ＣＰＵ１４から出力される楽曲データは、音源再生装置１８において、アナログの演奏音信号に変換された後、アンプ２０へ送られて電気的に増幅される。このアンプ２０は、マイク２３を介して入力される利用者の歌唱音信号と適度な割合でミキシングするもので、ミキシングされた歌唱音信号と演奏音信号は、アンプ２０からスピーカ２２に出力され、音声及び演奏音となってスピーカ２２から外部へ出力される。
【００３５】
ここで、音源再生装置１８について、図２を参照してさらに説明する。音源再生装置１８は、波形データ出力手段としてのＡＤＰＣＭ用のデコーダ１８ａ、ピッチ変更器１８ｂ、デジタルアナログコンバータ（ＤＡＣ）１８ｃ、第一の基準クロックとしてのタイマ１８ｄ、楽曲演奏手段としてのＭＩＤＩ音源１８ｆを備えている。ＣＰＵ１４から出力される楽曲データ中のＭＩＤＩデータは、ＭＩＤＩ音源１８ｆにおいて演奏音信号に変換された後、ＤＡＣ１８ｃを介してアンプ２０へ出力される。一方、例えばバックコーラス用の波形データは、デコーダ１８ａによってデコードした後、ピッチパネル１０ｂや速度パネル１０ｃの操作に応じてピッチ変更器１８ｂにてピッチ変更を行い、その後、ＤＡＣ１８ｃを介してアンプ２０へ出力される。なお、デコーダ１８ａは、ＡＤＰＣＭデータからデコードした得られたＰＣＭデータを一時的に記憶するバッファをその出力部に備えている。
【００３６】
ＭＩＤＩデータを用いた楽曲演奏に際してピッチ変更（キー変更）をする場合には、標準ピッチからの変更量をＣＰＵ１４からＭＩＤＩ音源１８ｆに指示してやれば、ＭＩＤＩデータを用いてその指示されたピッチでの演奏音信号を容易に作成できる。
【００３７】
一方、デコーダ１８ａから出力されるＰＣＭデータの場合は、ピッチ変更器１８ｂにてピッチ変更される。このピッチ変更器１８ｂとしては例えばクロスフェード式のピッチ変更器が採用される。クロスフェード式のピッチ変更に関しては、例えば特許第第３１７５１７９号公報などに記載されている公知技術であるため、ここでは詳しい説明は省略する。なお、ＡＤＰＣＭデータについては、例えば標準ピッチのＡＤＰＣＭデータを一つだけ持ち、それを元にしてピッチ変更してもよいし、あるいは標準ピッチのＡＤＰＣＭデータに加えて、相対的に高いピッチのＡＤＰＣＭデータ及び相対的に低いピッチのＡＤＰＣＭデータを持ち、ピッチ変更時には、最もピッチ変更量が小さくなるＡＤＰＣＭデータを用いてピッチ変更をしてもよい。ピッチ変更に際してはピッチ変更量が大きいほど音質の劣化が大きくなるため、極力ピッチ変更量が小さい方が好ましいからである。
【００３８】
なお、当然であるが、バックコーラス等が元々存在せず、ＡＤＰＣＭデータ自体を持たない楽曲データも存在する。
次に、カラオケ装置１にて実行されるカラオケ演奏時の処理について説明する操作パネル１０が操作されて選曲番号が入力され、選曲ボタンが操作されて受付完了の場合は、その受け付けた選曲番号に対応する楽曲データをハードディスク１３から読み出してＲＡＭ１５に転送する。そして、ＲＡＭ１５に転送した楽曲データ内のＭＩＤＩデータを音源再生装置１８内のＭＩＤＩ音源１８ｆ（図２参照）に送る。それと共に、ＡＤＰＣＭデータを持つ楽曲データの場合には、標準ピッチのＡＤＰＣＭデータを音源再生装置１８内のデコーダ１８ａ（図２参照）に送る。当然ながら、ＡＤＰＣＭデータ自体を持たない楽曲データの場合は、デコーダ１８ａへ送ることはない。
【００３９】
そして、ＭＩＤＩデータはＭＩＤＩ音源１８ｆにおいて演奏音信号に変換された後、ＤＡＣ１８ｃを介してアンプ２０へ出力される。一方、ハードディスク１３から読み出された標準ピッチのＡＤＰＣＭデータは、デコーダ１８ａにてデコードされて標準ピッチのＰＣＭデータとなり、その後、ピッチ変更器１８ｂを介し、さらにＤＡＣ１８ｃを介してアンプ２０へ出力される。
【００４０】
そして、曲の演奏の終了するまでは、操作パネル１０のフラットボタン１０１、シャープボタン１０３、ナチュラルボタン１０２が操作されてピッチ変更の指示があればピッチ変更処理を実行し、また、操作パネル１０の減速（−）ボタン１１１、標準速（±）ボタン１１２、増速（＋）ボタン１１３が操作されて速度変更の指示があれば演奏速度の変更処理を実行する。この演奏速度の変更は、具体的には、ＣＰＵ１４が第一の基準クロックとしてのタイマ１８ｄを制御してその第一の基準クロック周波数としてのクロック周波数を増減させる。後述のように、ＡＤＰＣＭ用のデコーダ１８ａからのＰＣＭデータの出力は、このタイマ１８ｄから出力されるクロックに基づいて実行されるため、このクロック周波数が増減すれば、それに応じてＰＣＭデータの１フレーム毎の出力速度も増減することとなる。つまり、デコーダ１８ａの出力部には、このクロックによって制御されるバッファを備える。そして、これも後述するが、ＭＩＤＩ演奏は、タイマ１８ｄから出力されるクロック（ＰＣＭクロックとも称す。）に基づいて間接的に規定されるため、このＰＣＭクロックの周波数が増減すれば結果としてＭＩＤＩ演奏の速度も増減することとなる。
【００４１】
なお、本実施例では、タイマ１８ｄのクロック周波数に基づいてデコーダ１８ａから出力されるＰＣＭデータの出力タイミングを制御するようにしたが、波形データとしてＰＣＭデータを用いる場合には、デコーダ１８ａに代えてバッファを設け、このバッファからのＰＣＭデータの出力タイミングをタイマ１８ｄのクロックで制御するように構成される。
【００４２】
以上が、概略的な動作説明であったが、次に、ＭＩＤＩ演奏及び波形データ出力（ここではＰＣＭデータの出力）に関して図３，４のフローチャートも参照して説明する。
図３（ａ）はＭＩＤＩシーケンス処理を示すフローチャートである。ＭＩＤＩシーケンス処理はＭＩＤＩ演奏処理そのものであり、楽曲の予約がなされ、楽曲データがハードディスク１３から読み出され、歌詞表示等の準備が整ったらすぐに開始される。
【００４３】
ＭＩＤＩ演奏はＭＩＤＩデータが保持する音符表現分解能に従う基準時間、つまりＭＩＤＩクロック毎に順次進んで行く。そのため、ＭＩＤＩシーケンス処理はＭＩＤＩクロック毎に１回実行され、本シーケンス処理中のＳ７０における「ＭＩＤＩシーケンサ諸処理」に移行する毎に、時系列中のある一点の時刻に行うイベントが実行される。
【００４４】
図３（ａ）のＭＩＤＩシーケンスがスタートすると、ＭＩＤＩデータ中のテンポ情報に基づき、カウンタ値を算出する（Ｓ１０）。このカウンタ値の詳しい算出に関しては、後述することとし、ここでは、カウンタ値の算出結果が、以下のようになったとして説明を進める。
【００４５】
ａ１＝第１のカウンタ値
ａ２＝第２のカウンタ値
ｂ１＝第１のカウンタ値を使用する回数
ｂ２＝第２のカウンタ値を使用する回数
次に、ＲＡＭ１５内の各記憶エリア１５ａ〜１５ｃを初期化する（Ｓ２０）。この初期化処理では、現在使用中ＭＩＤＩカウンタ値記憶エリア１５ｂに第１のカウンタ値であるａ１を書き込むと共に、使用回数記憶エリア１５ｃに第１のカウンタ値を使用する回数であるｂ１を書き込む。
【００４６】
その後、第１のカウンタ値であるａ１をＭＩＤＩカウンタ値記憶エリア１５ａにセットする（Ｓ３０）。
そして、スリープ状態へ移行する（Ｓ４０）。このスリープ状態はＰＣＭ出力割り込み処理ルーチンからの起床命令によって解除される。そこで、ＰＣＭ出力割り込み処理ルーチンの説明を行う。なお、この割り込み処理は、タイマ１８ｄからのクロックが入力する毎にＣＰＵ１４が実行する。
【００４７】
図３（ｂ）に示すように、本割り込みルーチンがスタートすると、ＣＰＵ１４は、デコーダ１８ａを制御し、１フレーム分のＰＣＭデータを出力させる。出力されたＰＣＭデータは、ピッチ変更器１８ｂを通してＤＡＣ１８ｃに書き込まれる（Ｓ１１０）。
【００４８】
そして、ＲＡＭ１５上のＭＩＤＩカウンタ値記憶エリア１５ａに格納されているＭＩＤＩカウンタ値を減算し（Ｓ１２０）、その減算したＭＩＤＩカウンタ値が０であるか否かを判断する（Ｓ１３０）。ＭＩＤＩカウンタ値が０でなければ（Ｓ１３０：ＮＯ）、そのまま本割り込みルーチンを終了する。一方、ＭＩＤＩカウンタ値が０であれば（Ｓ１３０：ＹＥＳ）、ＭＩＤＩシーケンス処理を起床させてから（Ｓ１４０）、本割り込みルーチンを終了する。
【００４９】
図３（ａ）のＳ１３０にてスリープ状態に移行していたＭＩＤＩシーケンス処理は、図３（ｂ）のＳ１４０での起床処理によってスリープ状態から起床し、Ｓ５０の処理、つまり、使うべきカウンタ値の決定処理を実行する。
このＳ５０でのＭＩＤＩカウンタ値切換処理の詳細を、図４のフローチャートを参照して説明する。
【００５０】
最初のステップＳ５２では、使用回数記憶エリア１５ｃの使用回数を減算し（Ｓ５２）、その使用回数が０になったか否かを判断する（Ｓ５３）。使用回数が０でない場合には（Ｓ５３：ＮＯ）、そのまま本決定処理を終了して、図３（ａ）のＳ６０へ移行する。
【００５１】
また、使用回数が０の場合には（Ｓ５３：ＹＥＳ）、現在使用しているＭＩＤＩカウンタ値がａ１，ａ２のどちらであるかを判断する（Ｓ５４）。ＭＩＤＩカウンタ値がａ１であれば、現在使用中ＭＩＤＩカウンタ値記憶エリア１５ｂにａ２を書き込み（Ｓ５５）、使用回数記憶エリア１５ｃにｂ２を書き込んでから（Ｓ５５）、図３（ａ）のＳ５０へ移行する。一方、ＭＩＤＩカウンタ値がａ２であれば、現在使用中ＭＩＤＩカウンタ値記憶エリア１５ｂにａ１を書き込み（Ｓ５７）、使用回数記憶エリア１５ｃにｂ１を書き込んでから（Ｓ５８）、図３（ａ）のＳ６０へ移行する。
【００５２】
図３（ａ）のＳ６０では、Ｓ５０のＭＩＤＩカウンタ値切換処理の処理結果に従ったＭＩＤＩカウンタ値、すなわち現在使用中ＭＩＤＩカウンタ値記憶エリア１５ｂに記憶されたＭＩＤＩカウンタ値を、ＲＡＭ１５上のＭＩＤＩカウンタ値記憶エリア１５ａにセットする。
【００５３】
次のステップＳ７０ではＭＩＤＩシーケンサ諸処理を実行する。具体的には、ＭＩＤＩデータ中にはＭＩＤＩクロックを単位として規定されたタイミングデータとイベントデータが存在しており、そのタイミングデータに従うＭＩＤＩクロック分の時間が経過すると次のイベントデータに従うイベントを実行する。このような処理は公知であるため、詳しい説明は省略する。
【００５４】
そして、ＭＩＤＩデータの演奏終了か否かを判断し（Ｓ８０）、演奏終了でなければ（Ｓ８０：ＮＯ）Ｓ４０へ戻ってスリープ状態へ移行する。この場合は、上述のように図３（ｂ）のＳ１４０での起床処理によってスリープ状態から起床し、Ｓ５０以下の処理を実行することとなる。そして、演奏終了であれば（Ｓ８０：ＹＥＳ）、本ＭＩＤＩシーケンス処理を終了する。
【００５５】
次に、図３（ａ）のＳ１０におけるカウンタ値の算出について説明する。
このＳ１０で算出されるカウンタ値は、上述のように、ａ１＝第１のカウンタ値、ａ２＝第２のカウンタ値、ｂ１＝第１のカウンタ値を使用する回数、ｂ２＝第２のカウンタ値を使用する回数である。そこで、これらのカウンタ値ａ１，ａ２，ｂ１，ｂ２がどのように決定されるかを説明する。
【００５６】
本実施例では、次のように決定している。まず、ＭＩＤＩ演奏に対応するクロック周波数（ＭＩＤＩクロック周波数）をＸ、ＰＣＭデータ出力に対応するクロック周波数（ＰＣＭクロック周波数）をＹとする。
ＹをＸで除算した結果の整数値を「第１のカウンタ値ａ１」、余り整数値を「第２のカウンタ値ａ２を使用する回数ｂ２」とし、ａ１＋１を「第２のカウンタ値ａ２」、Ｘ−ｂ２を「第１のカウンタ値ａ１を使用する回数ｂ１」とする。
【００５７】
これを具体的な数値を用いてさらに説明する。
まず、ＭＩＤＩクロック周波数Ｘについては、テンポ値ＴＭＰ（＝１分間に打つ４分音符の数）とタイムベース（４分音符の分解能、つまりＭＩＤＩクロック数を４分音符１つあたりいくつにするか）によって定まる。一方、ＰＣＭクロック周波数Ｙについては、演奏速度の変化がない場合、つまり、速度パネル１０ｃは（図１参照）を用いて演奏速度が標準速度から変更されていない場合には、４４．１ＫＨｚとする。この周波数はタイマ１８ｄが生成しており、また、ＰＣＭデータ生成の際におけるＡ／Ｄ変換時のサンプリング周波数も４４．１ＫＨｚである。この４４．１ＫＨｚという数値は、コンパクトディスクに音楽を録音する際に使用する値と同じであり、よく使われている。
【００５８】
まず、Ｙについては、４４．１ＫＨｚ、つまり１秒間に４４１００回出力しているため、１分間では６０×４４１００＝２６４６０００回出力することとなる。
一方、Ｘについては、ここではタイムベースを４８（つまり４分音符一つが４８個のＭＩＤＩクロックに相当する）として、１分間では、テンポ値ＴＭＰ×４８回出力することとなる。
【００５９】
ここでＹをＸで除算した値（Ｙ／Ｘ）を考えると、
２６４６０００／（ＴＭＰ×４８）＝５５１２５÷ＴＭＰ
となる。
2004287217.tif 000003
したがって、ａ１＝９１８、ｂ２＝４５となる。さらに、これらの値を用いれば、ａ２＝９１８＋１＝９１９、ｂ１＝６０−４５＝１５となる。
【００６０】
この結果を検証してみる。
ａ１×ｂ１＋ａ２×ｂ２＝９１８×１５＋９１９×４５＝１３７７０＋４１３５５＝５５１２５
となり、これは、１分間に出力するＰＣＭクロック数２６４６０００をＭＩＤＩのタイムベース４８で割った値である５５１２５に一致する。
【００６１】
そして、これらの値、ａ１＝９１８、ａ２＝９１９、ｂ１＝１５、ｂ２＝４５を用いて上述の図３、図４のフローチャートに示す同期処理を実行すると、図５に示すタイムチャートのような結果となる。つまり、この場合は、ＰＣＭクロック［（１／４４１００）秒］が９１８回出力するとＭＩＤＩクロック（この場合は［（９１８／４４１００）秒］となる）が１回出力する状態が１５回連続し、その後、ＰＣＭクロックが９１９回出力するとＭＩＤＩクロック（この場合は［（９１９／４４１００）秒］となる）が１回出力する状態が４５回連続する。その後は、このパターンの繰り返しとなる。
【００６２】
2004287217.tif 000004
したがって、ａ１＝９０３、ｂ２＝４２となる。さらに、これらの値を用いれば、ａ２＝９０３＋１＝９０４、ｂ１＝６１−４２＝１９となる。
【００６３】
この結果を検証してみる。
ａ１×ｂ１＋ａ２×ｂ２＝９０３×１９＋９０４×４２＝１７１５７＋３７９６８＝５５１２５
となり、やはり、１分間に出力するＰＣＭクロック数２６４６０００をＭＩＤＩのタイムベース４８で割った値である５５１２５に一致する。
【００６４】
［本実施例の効果］
（１）このように、本実施例では、ＰＣＭクロック数に基づき、且ついわば「閏年的対処」をしてＭＩＤＩクロックを規定することにより、再生時の最小分解能が異なるＭＩＤＩ演奏とＰＣＭデータ出力とを、誤差を全く発生させずに同期させることができる。そして、このような同期を実現する上で、特別な制御データや同期データを持つ必要がないため、データエリアが無駄にならない。また、一定間隔で誤差修正をする必要も無いので処理負荷が軽減する。そして、このような同期制御において、ＭＩＤＩクロックを微調整することで同期制御をしているが、ＭＩＤＩ演奏はイベントの発生タイミングがずれても音程の変化自体はない。それに対してＰＣＭデータ出力側のクロックで調整した場合には音程（音高）変化が発生する。しかし、本実施例ではＰＣＭクロックの方は変化させていないため、そのような音程変化が発生しない。
【００６５】
（２）また、ＰＣＭクロックを基準としてＭＩＤＩクロックを２種類規定しているが、上述した２例であれば、その差はＰＣＭクロック１個分であり、それらはいずれも真の値に最も近い２つの整数値である。つまり、例１の場合であれば、真の値９１８．７５に対して９１８と９１９という整数値を採用し、例２の場合であれば、真の値９０３．６８に対して９０３と９０４という整数値を採用している。そのため、真の値からのずれも最小で済む。
【００６６】
（３）本実施例の場合は、上述したように歌唱者の好みに応じて演奏速度（再生速度）を変更できるようにされているが、そのような場合でも同様の対応できる。つまり、上述のように操作パネル１０の減速（−）ボタン１１１等が操作されて速度変更の指示があれば、ＣＰＵ１４がタイマ１８ｄを制御してそのクロック周波数を増減させる。それによってＰＣＭクロック周波数が増減し、結果としてＭＩＤＩクロックもそれに同期して増減する。つまり、基準となるＰＣＭクロック周波数が変化するだけであり、ＭＩＤＩクロックをＰＣＭクロック何個で規定するか、といった点は、演奏速度に関係ないからである。
【００６７】
例えば図６には、図５で説明したＭＩＤＩテンポＴＭＰ＝６０であるが、演奏速度を標準速度の８５％に減らした場合の同期制御の内容を示している。この場合は、ＰＣＭクロック周波数Ｙが４４．１ＫＨｚ×０．８５、つまり１秒間に４４１００回出力している状態から４４１００×０．８５＝３７４８５回出力する状態となる。しかし、ＰＣＭクロックとＭＩＤＩクロックの関係は、ＭＩＤＩテンポが同じであれば、常に同じである。つまり、図６に示すように、ＰＣＭクロック（この場合は［（１／３７４８５）秒］）が９１８回出力するとＭＩＤＩクロック（この場合は［（９１８／３７４８５）秒］となる）が１回出力する状態が１５回連続し、その後、ＰＣＭクロックが９１９回出力するとＭＩＤＩクロック（この場合は［（９１９／３７４８５）秒］）が１回出力する状態が４５回連続する。その後は、このパターンの繰り返しとなる。
【００６８】
このように、演奏速度の変化が生じても、ＰＣＭクロック側のみ変更すれば、ＭＩＤＩクロック側は（ＰＣＭクロックを基準として）自動的に規定されるため、速度変更時に、再度両者の同期を取る必要が無い。なお、当然であるが、このように演奏速度を変化させた場合、ＰＣＭデータについては元の音程（音高）が保持されるよう、ピッチ変更器１８ｂにてピッチ変更する。
【００６９】
また、このような外部からの演奏速度の変更指示ではなく、１曲の中で演奏テンポが曲の途中で変更されるような場合もあるが、ＭＩＤＩデータ中において曲の途中でテンポ情報があれば、やはりそのテンポ情報に基づいて図３（ａ）のＳ１０の処理を再度実行し、カウンタ値を再度算出する。
【００７０】
［その他］
（ａ）上記実施例では、図３（ａ）のＳ１０に示すように、その時点でリアルタイムにカウンタ値ａ１，ａ２及び使用回数ｂ１，ｂ２を算出した。しかし、例えば演奏テンポ毎に予めカウンタ値等を計算し、演奏テンポとカウンタ値等との対応関係を記憶しておき、それを読み出すようにしてもよい。
【００７１】
また、上記実施例のカウンタ値等の算出方法は一例である。このカウンタ値等として満たすべき条件は次の通りである。
ＰＣＭクロック周波数をＹ、ＭＩＤＩクロック周波数をＸとしたときに、下式を満たすａｎ，ｂｎ（ａｎ，ｂｎは整数、ｎ＝１，２，３…）を用い、ＰＣＭクロック周波数によるクロックがａｎ個発生するとＭＩＤＩクロック周波数によるクロックを発生させる。
【００７２】
（ａ１・Ｘ−Ｙ）・ｂ１＋（ａ２・Ｘ−Ｙ）・ｂ２＋……＋（ａｎ・Ｘ−Ｙ）・ｂｎ＝０…（数１）
上記数１の条件を満たす組合せを例示する。ここでは、上記実施例と同様のクロック周波数及び演奏テンポＴＭＰ＝６０の場合にて説明する。
【００７３】
2004287217.tif 000005
従って、ａ１＝９１８、ｂ１＝１５、ａ２＝９１９、ｂ２＝４５
これは、上記実施例で示したものと同じである。実値が９１８．７５であるため、それとの差がなるべく少ない２種類の値の組み合わせであって、両者の差分クロックが１の場合。ＭＩＤＩデータの再生タイミングを本来のタイミングから微妙にずらすことで補正しているが、そのずらす度合いが少なくなるので、最適なパターンの一つと考えられる。
【００７４】
2004287217.tif 000006
従って、ａ１＝９１８、ｂ１＝４５、ａ２＝９２１、ｂ２＝１５
実値が９１８．７５であるため、それとの差が少ない９１８を基本とした２種類の値の組み合わせであって、両者の差分クロックが３の場合となる。
【００７５】
2004287217.tif 000007
従って、ａ１＝９１７、ｂ１＝２５、ａ２＝９２０、ｂ２＝３５
ａ１，ａ２の差分が３である。上記第２のパターンの場合は９２１の値が実値である９１８．７５から２以上離れている。それに対してこの（３）の場合は、９１７、９２０のいずれも実値から２以内の差であり、ずらす度合いは全体的に小さくできる点で好ましい。
【００７６】
2004287217.tif 000008
従って、ａ１＝９１７、ｂ１＝１、ａ２＝９１９、ｂ２＝７
実値が９１８．７５であるため、それとの差が最も少ない整数値９１９を基本としたものであり、２種類の値の他方が差分クロックが２の９１７である。上記第１のパターンの場合は９１９と９１８が３：１の割合であるが、この第４パターンの場合は、７：１である。つまり、実値に最も近い整数値９１９の割合が７／８となり、全体的に見た場合にずらす度合いが小さくて済む。最適パターンの一つと考えられる。
【００７７】
2004287217.tif 000009
従って、ａ１＝９１７、ｂ１＝１、ａ２＝９１８、ｂ２＝１、ａ３＝９１９、ｂ３＝１０
これは、３つの値で対応する例である。実値が９１８．７５であるため、それとの差が最も少ない整数値９１９の割合が１０／１２、次に差の少ない９１８の割合が１／１２、従って、これら両者で１１／１２の割合を占め、また残る一つも実値との差が２未満の９１７であるため、ずらす度合いは全体的に小さくできる。最適パターンの一つと考えられる。
【００７８】
2004287217.tif 000010
したがって、ａ１＝９１７、ｂ１＝５、ａ２＝９１８、ｂ２＝５、ａ３＝９１９、ｂ３＝５、ａ４＝９２０、ｂ４＝９
これは、４つの値で対応する例である。実値が９１８．７５であるため、それとの差が少ない９１９と９１８を合わせた割合は１０／２４である。
【００７９】
以上、６パターンについて説明したが、もちろんこれ以外の組合せパターンも考えられる。もちろん、このような組合せのパターンを総当たりで計算しておき、その中から適切なものを選択してもよい。その場合は比較的長時間を要することが想定されるため、予め演奏テンポ毎に計算しておく必要がある。その意味では、上記実施例に記載した計算手法の場合には、計算時間が短時間で済むため、リアルタイム処理に適している。
【００８０】
（ｂ）また、上記実施例では、出力回数を示すカウンタ値ｂ１，ｂ２がそれぞれｂ１＝１５、ｂ２＝４５となり、ＰＣＭクロックが９１８回出力するとＭＩＤＩクロックが１回出力する状態を１５回連続させ、その後、ＰＣＭクロックが９１９回出力するとＭＩＤＩクロックが１回出力する状態を４５回連続させるというパターンを繰り返すようにした。しかし、これは、一定期間内におけるａ１，ａ２，ａ３……ａｎの存在割合がそれぞれｂ１，ｂ２、ｂ３……ｂｎになるようにすることの一例である。つまり、上記例ではｂ１＝１５、ｂ２＝４５であるため、ｂ１：ｂ２＝１：３となり、この比率で存在すればよい。
【００８１】
（ｃ）上記実施例ではカラオケ装置に適用した場合について説明したが、本発明は、カラオケ装置に限られず、デジタル符合化された波形データを順次読み出して行う波形データ出力と、音符を元にした楽曲演奏情報に基づいて行う楽曲演奏とを同期させて実行する音楽再生装置であれば同様に適用できる。
【図面の簡単な説明】
【図１】（ａ）は実施例のカラオケ装置の概略構成を示すブロック図、（ｂ）は操作パネルの外観図である。
【図２】実施例のカラオケ装置における同期制御のための構成部分の詳細を示すブロック図である。
【図３】（ａ）はＭＩＤＩシーケンス処理を示すフローチャート、（ｂ）はＰＣＭ出力割り込み処理を示すフローチャートである。
【図４】図３（ａ）の処理中で実行されるＭＩＤＩカウンタ値切換処理を示すフローチャートである。
【図５】ＭＩＤＩテンポ６０、標準速度の場合の同期処理の内容を示すタイムチャートである。
【図６】ＭＩＤＩテンポ６０、速度が標準速度の８５％の場合の同期処理の内容を示すタイムチャートである。
【符号の説明】
１…カラオケ装置、２…ホストコンピュータ、３…通信ネットワーク、１０…操作パネル、１０ａ…テンキーパネル、１０ｂ…ピッチパネル、１０ｃ…速度パネル、１０ｄ…表示部、１３…ハードディスク、１４…ＣＰＵ、１５…ＲＡＭ、１５ａ…ＭＩＤＩカウンタ値記憶エリア、１５ｂ…現在使用中ＭＩＤＩカウンタ値記憶エリア、１５ｃ…使用回数記憶エリア、１８…音源再生装置、１８ａ…デコーダ、１８ｂ…クロスフェード式ピッチ変更器、１８ｃ…デジタルアナログコンバータ（ＤＡＣ）、１８ｄ…タイマ、１８ｆ…ＭＩＤＩ音源、２０…アンプ、２２…スピーカ、２３…マイクロフォン、２４…映像再生装置、２６…表示装置、１１１…減速ボタン、１１２…標準速ボタン、１１３…増速ボタン、１１５…速度変化表示用ＬＥＤ。
【図１】
2004287217.tif 000011
【図２】
2004287217.tif 000012
【図３】
2004287217.tif 000013
【図４】
2004287217.tif 000014
【図５】
2004287217.tif 000015
【図６】
2004287217.tif 000016