JP4055619B2 - 音楽再生装置及びプログラム - Google Patents
音楽再生装置及びプログラム Download PDFInfo
- Publication number
- JP4055619B2 JP4055619B2 JP2003080852A JP2003080852A JP4055619B2 JP 4055619 B2 JP4055619 B2 JP 4055619B2 JP 2003080852 A JP2003080852 A JP 2003080852A JP 2003080852 A JP2003080852 A JP 2003080852A JP 4055619 B2 JP4055619 B2 JP 4055619B2
- Authority
- JP
- Japan
- Prior art keywords
- music
- midi
- clock frequency
- performance
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、デジタル符合化された波形データによる波形データ出力及び音符を元にした楽曲演奏情報による楽曲演奏を同期させて実行させる技術に関する。
【0002】
【従来の技術】
従来、例えばデジタル符合化された波形データによる波形データ出力の一例であるPCM再生と、音符を元にした楽曲演奏情報による楽曲演奏の一例であるMIDI演奏とを同期して実行させる方法として、例えばPCMデータあるいはMIDIデータの何れか一方若しくは双方に同期用・制御用のデータを入れておき、それを用いて同期再生制御する方法が存在する(例えば、特許文献1参照)。但し、この方法の場合には、制御データエリアが無駄となり、またそのような制御データに基づく同期制御処理を行う必要であって処理負荷の増大を招く。
【0003】
これに対して同期制御のための特別な制御データ等を持たずに同期制御を実現しようとする方法が提案されている(例えば、特許文献2参照)。
【0004】
【特許文献1】
国際公開第WO99/40566号パンフレット
【特許文献2】
特許第2797810号公報
【0005】
【発明が解決しようとする課題】
しかしながら、上述した特許文献2に開示される方法では、分解能の粗い側(例えばMIDI演奏等)に分解能の細かい側(例えばPCM再生等)を合わせる思想である。つまり、MIDI演奏に用いるMIDIクロックのタイミングにPCMでの読み出しタイミングを合わせており、PCM再生の速度を微調整することで両者の同期を取ろうという思想である。そのため、PCM再生音のピッチは変わってしまうこととなる。
【0006】
また、特許文献2においては、ワードクロック制御データPの値を、MIDIクロックのテンポ、録音時間、サンプルワード数に基づき、具体的な数値を用いた計算結果が開示されているが、その結果の値は実数ではなく小数点以下を切り捨てた値となっており、特許文献2中の何れを見ても、その誤差部分についての対処に関しては記載されていない。つまり、誤差については基本的に無視することとしている。したがって、その誤差を解消しようとすれば、例えば一定間隔で誤差修正のための処理を特別に実行する必要がある。
【0007】
そこで本発明は、再生時の最小分解能が異なる楽曲演奏と波形データ出力を、誤差を全く発生させずに同期させることができ、且つそのための特別な制御データ等も不要であり、さらに誤差修正のための特別な処理も不要とする技術を提案することを目的とする。
【0008】
【課題を解決するための手段及び発明の効果】
(イ)上述した問題点を解決するためになされた本発明の音楽再生装置によれば、デジタル符合化された波形データを順次出力して行う波形データ出力(例えばPCM演奏)と、音符を元にした楽曲演奏情報に基づいて行う楽曲演奏(例えばMIDI演奏)とを同期させて実行するのであるが、波形データ出力については、波形データ出力時の最小分解能である出力分解能(例えば再生速度を変化させない場合は、アナログ/デジタル変換時のサンプリング周波数と同じにすることができる)によって規定される第一の基準クロック周波数(実施例では速度変化がない場合の例として、A/D変換時のサンプリング周波数と同じ44.1KHz)を用いて実行する。
【0009】
一方、楽曲演奏は、出力分解能よりも粗く且つ音符として表現可能な最小分解能である音符表現分解能(実施例では4分音符1個につき48MIDIクロック)と、1分間あたりに演奏する音符の数であるテンポ値(実施例では、1分間に打つ4分音符の数)とによって規定される第二の基準クロック周波数(例えばMIDIクロック周波数)を用いて実行するのであるが、さらに、この第二の基準クロック周波数によるクロックは、以下の(1)、(2)のように規定される。
【0010】
(1)第一の基準クロック周波数をY、第二の基準クロック周波数をXとしたときに、下式を満たすan,bn(an,bnは整数、n=1,2,3…)を用い、第一の基準クロック周波数によるクロックがan個発生すると第二の基準クロック周波数によるクロックを発生させる。
【0011】
(a1・X−Y)・b1+(a2・X−Y)・b2+……+(an・X−Y)・bn=0
…(数1)
(2)an,bnの組が2組以上存在する場合は、一定期間内におけるa1,a2,a3……anの存在割合がそれぞれb1,b2、b3……bnになるようにする。
【0012】
ここで、まず上記式1について補足説明する。上記式1は、以下の式2を変形したものである。
Y/X=a=(a1・b1+a2・b2+…+an・bn)/(b1+b2+…+bn)
…(数2)
ここで、aは実数であり、当然ながら整数とは限らず、小数点以下の端数も含まれている可能性がある。一方、上述したようにa1,a2,a3…及びb1,b2,b3…はそれぞれ整数である。
【0013】
実数aが整数となる場合は、a1=aとなるため、b1=1となり、a2以降及びb2以降は全て零となるため、第一の基準クロック周波数によるクロックがa1=a個発生する毎に第二の基準クロック周波数によるクロックを発生させることとなる。つまり、常に同じ周期で第二の基準クロック周波数によるクロックも発生することとなる。
【0014】
一方、実数aが整数とならない場合、本発明では、2種類以上の整数an(n=1,2,3…)を用い、一定期間内におけるa1,a2,a3……anの存在割合がそれぞれb1,b2、b3……bnになるようにする。例えばa1,a2の2種類が存在し、それぞれ対応するb1,b2の関係がb1:b2=1:3であったとすると、第一の基準クロック周波数によるクロックがa1個発生すると第二の基準クロック周波数によるクロックを発生させる第一のパターンと、第一の基準クロック周波数によるクロックがa2個発生すると第二の基準クロック周波数によるクロックを発生させる第二のパターンを、一定期間内において1:3の割合で存在するようにするのである。この場合、例えば上記第一のパターンを1回採用したら上記第二のパターンを3回連続で採用する、というようにしてもよいし、その整数倍のサイクルで実行しても良い。例えば第一のパターンを15回採用したら上記第二のパターンを45回連続で採用する、としてもよい。
【0015】
このように、第一の基準クロック周波数によるクロック数に基づき、且ついわば「閏年的対処」をして第二の基準クロック周波数によるクロックを規定することにより、再生時の最小分解能が異なる楽曲演奏と波形データ出力を、誤差を全く発生させずに同期させることができる。そして、このような同期を実現する上で、特別な制御データや同期データを持つ必要がないため、データエリアが無駄にならない。また、一定間隔で誤差修正をする必要も無いので処理負荷が軽減する。
【0016】
さらに、本発明では、楽曲演奏側のクロックを微調整することで同期制御をしているが、楽曲演奏の一例であるMIDI演奏であれば、例えばイベントの発生タイミングがずれても音程の変化自体はない。それに対して波形データ出力側のクロックで調整した場合には音程(音高)変化が発生する。しかし、本発明では波形データ出力側では何らクロック調整をしているわけではないので、そのような音程変化が発生しない。
【0017】
(ロ)an,bnの組が2組以上存在する場合、その何れであっても上述した効果は得られるが、この手法は、上述のように楽曲演奏側のクロックを波形データ出力側のクロックを基準として規定し、その規定するクロック数を微調整することで同期制御をしているため、楽曲演奏の一例であるMIDI演奏であればイベントの発生タイミングを微妙にずらしていることとなる。この場合、音程の変化自体はないが、本来のタイミングとは微視的にはずれていることとなるため、そのずれ量は小さい方が好ましい。
【0018】
そこで、請求項2に示すように、an,bnの組合せが2組以上存在する場合であって、且つその組合せのパターンが2種類以上存在する場合には、少なくとも1つの組中のanがY/Xの実数aの小数点以下を切り上げ又は切り下げた値である組合せパターンを用いるようにすることが考えられる。このようにすれば、その値は実数aに対して1未満の差しかないため、上述したずれ量が最も小さくなる。なお、例えばan,bnの組が2組存在する場合、つまりa1,a2が存在する場合には、a1,a2の何れか一方がY/Xの実数aの小数点以下を切り上げた値であり、他方が切り下げた値である組合せパターンであれば、ずれ量を小さくするという観点からは最適なパターンの一つとなる。
【0019】
(ハ)上述のように、複数のanの何れかが実数aに対して1未満の差しかない場合には確かにずれ量が小さくなる。但し、複数のanの内の他のものが実数から大きくずれていることは好ましくない。そこで、請求項3に示すように、複数のanが存在する場合は、それらの内の最小値と最大値との差が最も小さい組合せパターンを用いることが考えられる。このようにすれば、再生全体を通じて再生タイミングの変化度合いが少なくなり、適切なものとなる。なお、上述した例、すなわちa1,a2の何れか一方がY/Xの実数aの小数点以下を切り上げた値であり、他方が切り下げた値である組合せパターンであれば、両者の差分は最小値の1となり、この観点からも最適なパターンの一つと言える。
【0020】
(ニ)このような(ロ)(ハ)で説明した特質を兼ね備えるan,bnについては、例えば請求項4に示すような算出方法によって得ることができる。つまり、YをXで除算した結果の整数値をa1、余り整数値をb2、a1+1をa2、X−b2をb1とし、それらa1,a2,b1,b2を用いるのである。この場合には、簡単な計算でa1,a2,b1,b2を得ることができるため、リアルタイムに計算しても十分対応できる。なお、全ての組合せを算出しておき、その中から選択することも可能であるが、その場合は相対的に時間が長くなり、例えば3組以上の組合せまで全て算出する場合には、相当時間が掛かる可能性がある。したがって、その場合には、予め組合せを計算してその中から適切な組合せを選択し、それを記憶しておくようにすればよい。具体的には楽曲演奏の演奏テンポに応じた組合せを予め計算によって求めておき、演奏テンポとan,bnの組合せとの対応関係を例えばテーブル形式等で記憶しておき、演奏時に楽曲演奏情報から読み出した演奏テンポに対応する組合わせを用いて同期制御を実行すればよい。
【0021】
(ホ)例えば音楽再生装置の一例としてカラオケ装置が挙げられるが、カラオケ装置の場合には、歌唱者の好みに応じて再生速度を変更できるようにされていることもある。そのような再生速度の変更に際しては請求項5に記載のように対処すればよい。つまり、変更指示受付手段にて再生速度の変更指示を受け付けた場合には、変更制御手段が、その受け付けた再生速度の変更指示に応じて、波形データ出力手段による波形データ出力に用いる第一の基準クロック周波数を変更するのである。このように波形データ出力に用いる第一の基準クロック周波数を変更すれば、楽曲演奏に用いる第二の基準クロック周波数によるクロックは自動的に規定されるため、再生速度の変更時に、再度両者の同期を取る必要が無い。
【0022】
(ホ)また、請求項1〜5の何れかに記載の音楽再生装置における各手段をコンピュータにて実現する場合、例えばコンピュータで実行するプログラムとして備えることができる。このようなプログラムは、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、ハードディスク、ROM、RAM等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードして実行したり、ネットワークを介してロードして実行することにより、採点手段としての機能を実現できる。
【0023】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【0024】
図1(a)は、本発明の音楽再生装置の一実施例としてのカラオケ装置1の構成を示すブロック図である。本実施例のカラオケ装置1は、いわゆる通信カラオケと称されるものであり、通信ネットワーク3を介してホストコンピュータ2に接続できるようになっている。そして、カラオケ装置1は、この通信ネットワーク3を介して接続したホストコンピュータ2からカラオケに関する音楽情報と画像情報とを取得することができる。
【0025】
なお、ホストコンピュータ2は、通信ネットワーク3を介してカラオケ装置1とアクセス可能であって、カラオケ装置1に対して、最新の流行曲等の曲データを発信したり、どのような曲が何回演奏されたかといったログデータを含む関連情報をカラオケ装置1から受信したりして管理することができるようになっている。また、ホストコンピュータ2は、データベースを備えており、このデータベースに楽曲演奏に使用するコンテンツデータとしての音楽情報や背景画または歌詞等の画像情報等を記憶している。また、ホストコンピュータ2は、コンテンツデータ以外にバージョンアップされたシステムプログラム等をデータベースに記憶し、そのデータベースから随時読み出してカラオケ装置1に対して配信することができるようになっている。
【0026】
次に、カラオケ装置1の構成について説明する。
このカラオケ装置1には、図1(a)に示されるように、ホストコンピュータ2に通信ネットワーク3を介して接続し各種の情報を送受信する通信装置19、曲の予約操作などを行うための操作パネル10、カラオケ装置1全体の制御を司る制御手段としてのCPU14、各種情報を一時的に記憶するRAM15、演奏の再生を行う音源再生装置18、音楽情報にかかる電気信号を増幅等するアンプ20、アンプ20からの電気信号を入力して伴奏曲及び利用者(歌唱者)の歌声等を流すスピーカ22、利用者(歌唱者)の歌声等をアンプ20に入力するためのマイクロフォン(以下、単にマイクと称す。)23、カラオケ用の音楽情報や画像情報その他各種データを記憶しているハードディスク13、そのハードディスク13に記憶された画像情報等に基づいて歌詞や背景画を再生するための映像再生装置24、画像情報である背景画及び歌詞等を表示する表示装置26を備えている。この内、操作パネル10、ハードディスク13、RAM15、音源再生装置18及び映像再生装置24は、CPU14に接続されている。
【0027】
上述した通信装置19は、信号の変調および復調を行う変復調装置であり、CPU14の制御の下、通信ネットワーク3を通じてホストコンピュータ2にアクセス可能に構成されている。それによって、通信装置19は、通信ネットワーク3を介してホストコンピュータ2から送られてくる楽曲データ等を受信したり、上記関連情報をホストコンピュータ2に伝送することができる。
【0028】
また、操作パネル10は、利用者によって操作されるものであり、任意の曲の選曲番号を入力するためのテンキーパネル10a、演奏音のピッチ(演奏キーとも称される)の調整及び表示を行うためのピッチパネル10b、演奏速度の調整及び表示を行うための速度パネル10c、例えば選択された曲の選曲番号等を表示するための表示部10dを備えている。
【0029】
テンキーパネル10aは、「0」から「9」までの数字ボタンと、その数字ボタンを介して入力された選曲番号を確定させて演奏を実行させるための選曲ボタンを備える。
また、ピッチパネル10bは、歌唱者の希望する音域に合わせた演奏をさせるための3種類のボタン、すなわちフラットボタン101、ナチュラルボタン102、シャープボタン103と、ピッチ表示用LED105を備える。フラット(♭)ボタン101はキーを下げるためのもの、シャープ(#)ボタン103はキーを上げるためのものである。また、ナチュラルボタン102は、デフォルト状態である標準ピッチに戻すためのものである。
【0030】
ピッチ表示用LED105は、演奏ピッチが標準ピッチ(デフォルトの状態)からどの程度変更されているかを示すためのものであり、中央には、標準ピッチを示すための他よりも少し大きな表示サイズのLEDが配置され、その左右両側には、中央のLEDよりも小さなLEDがそれぞれ6つずつ配置されている。上述したフラットボタン101、シャープボタン103は、それぞれ1回押す毎にピッチが1度(半音:セミトーン)ずつ増減するようになっており、その操作に応じてピッチ表示用LED105の点灯部分が移動するように構成されている。具体的には、標準ピッチの場合は中央のLEDが点灯しており、シャープボタン103を1回押せば1つ右側のLEDが点灯し、さらに1回押せばさらに1つ右側のLEDが点灯する。フラットボタン101の場合も同様に、押した回数分だけ左に位置するLEDが点灯する。なお、このピッチ表示用LED105の配置からも分かるように、本実施例では、標準ピッチから最大6度の増減が可能となっている。
【0031】
また、速度パネル10cは、歌唱者の希望する演奏速度に調整するための3種類のボタン、すなわち減速(−)ボタン111、標準速(±)ボタン112、増速(+)ボタン113と、速度変化表示用LED115を備える。減速(−)ボタン111は演奏速度を減ずるためのもの、増速(+)ボタン113は演奏速度を増すためのもの、標準(±)ボタン112は演奏速度を標準速度に戻すためのものである。これら3種類のボタン111〜113が変更指示受付手段に相当する。
【0032】
速度変化表示用LED115は、演奏速度が標準速度(デフォルトの状態)からどの程度変更されているかを示すためのものであり、中央には、標準速度を示すための他よりも少し大きな表示サイズのLEDが配置され、その左右両側には、中央のLEDよりも小さなLEDがそれぞれ5つずつ配置されている。上述した減速ボタン111は1回押す毎に演奏速度が(標準速度の)5%ずつ減っていき、増速ボタン113は1回押す毎に演奏速度が(標準速度の)5%ずつ増していくようになっており、その操作に応じて速度変化表示用LED115の点灯部分が移動するように構成されている。具体的には、標準速度の場合は中央のLEDが点灯しており、減速ボタン111を1回押せば1つ左側のLEDが点灯し、さらに1回押せばさらに1つ左側のLEDが点灯する。増速ボタン113の場合も同様に、押した回数分だけ右に位置するLEDが点灯する。なお、この速度変化表示用LED115の配置からも分かるように、本実施例では、標準速度から最大25%の増減が可能となっている。つまり、標準速度の75%〜125%の間で5%刻みの速度変更が可能である。
【0033】
また、RAM15には、図2に示すように、MIDIカウンタ値記憶エリア15a、現在使用中MIDIカウンタ値記憶エリア15b、使用回数記憶エリア15cの3つの記憶エリアが準備されている。
また、ハードディスク13には、図2に示すように、アプリケーションプログラムや楽曲データなどが記憶されている。楽曲データは、ヘッダ、MIDIデータ、歌詞データ、バックコーラスなどの肉声の波形データ等によって構成されている。波形データは、アナログのオーディオ信号をデジタル変換して作成したものであり、例えばPCM録音によって作成したPCMデータやエンコードされたADPCMデータ、MP3データ等が該当する。ここではADPCMデータ(Adaptive Differential Pulse Code Modulation Date)として説明を進める。また、ハードディスク13には、映像データや各種の設定に必要な設定データ、さらには演奏記録などのログデータなども記憶されている。そして、操作パネル10の操作部を介して演奏を希望する曲の選曲番号が入力されると、CPU14は、入力された選曲番号に対応する曲の楽曲データやその曲と関連する映像データをハードディスク13から呼び出して、音源再生装置18及び映像再生装置24に同期させて出力するようになっている。
【0034】
その後、CPU14から出力される楽曲データは、音源再生装置18において、アナログの演奏音信号に変換された後、アンプ20へ送られて電気的に増幅される。このアンプ20は、マイク23を介して入力される利用者の歌唱音信号と適度な割合でミキシングするもので、ミキシングされた歌唱音信号と演奏音信号は、アンプ20からスピーカ22に出力され、音声及び演奏音となってスピーカ22から外部へ出力される。
【0035】
ここで、音源再生装置18について、図2を参照してさらに説明する。音源再生装置18は、波形データ出力手段としてのADPCM用のデコーダ18a、ピッチ変更器18b、デジタルアナログコンバータ(DAC)18c、第一の基準クロックとしてのタイマ18d、楽曲演奏手段としてのMIDI音源18fを備えている。CPU14から出力される楽曲データ中のMIDIデータは、MIDI音源18fにおいて演奏音信号に変換された後、DAC18cを介してアンプ20へ出力される。一方、例えばバックコーラス用の波形データは、デコーダ18aによってデコードした後、ピッチパネル10bや速度パネル10cの操作に応じてピッチ変更器18bにてピッチ変更を行い、その後、DAC18cを介してアンプ20へ出力される。なお、デコーダ18aは、ADPCMデータからデコードした得られたPCMデータを一時的に記憶するバッファをその出力部に備えている。
【0036】
MIDIデータを用いた楽曲演奏に際してピッチ変更(キー変更)をする場合には、標準ピッチからの変更量をCPU14からMIDI音源18fに指示してやれば、MIDIデータを用いてその指示されたピッチでの演奏音信号を容易に作成できる。
【0037】
一方、デコーダ18aから出力されるPCMデータの場合は、ピッチ変更器18bにてピッチ変更される。このピッチ変更器18bとしては例えばクロスフェード式のピッチ変更器が採用される。クロスフェード式のピッチ変更に関しては、例えば特許第第3175179号公報などに記載されている公知技術であるため、ここでは詳しい説明は省略する。なお、ADPCMデータについては、例えば標準ピッチのADPCMデータを一つだけ持ち、それを元にしてピッチ変更してもよいし、あるいは標準ピッチのADPCMデータに加えて、相対的に高いピッチのADPCMデータ及び相対的に低いピッチのADPCMデータを持ち、ピッチ変更時には、最もピッチ変更量が小さくなるADPCMデータを用いてピッチ変更をしてもよい。ピッチ変更に際してはピッチ変更量が大きいほど音質の劣化が大きくなるため、極力ピッチ変更量が小さい方が好ましいからである。
【0038】
なお、当然であるが、バックコーラス等が元々存在せず、ADPCMデータ自体を持たない楽曲データも存在する。
次に、カラオケ装置1にて実行されるカラオケ演奏時の処理について説明する
操作パネル10が操作されて選曲番号が入力され、選曲ボタンが操作されて受付完了の場合は、その受け付けた選曲番号に対応する楽曲データをハードディスク13から読み出してRAM15に転送する。そして、RAM15に転送した楽曲データ内のMIDIデータを音源再生装置18内のMIDI音源18f(図2参照)に送る。それと共に、ADPCMデータを持つ楽曲データの場合には、標準ピッチのADPCMデータを音源再生装置18内のデコーダ18a(図2参照)に送る。当然ながら、ADPCMデータ自体を持たない楽曲データの場合は、デコーダ18aへ送ることはない。
【0039】
そして、MIDIデータはMIDI音源18fにおいて演奏音信号に変換された後、DAC18cを介してアンプ20へ出力される。一方、ハードディスク13から読み出された標準ピッチのADPCMデータは、デコーダ18aにてデコードされて標準ピッチのPCMデータとなり、その後、ピッチ変更器18bを介し、さらにDAC18cを介してアンプ20へ出力される。
【0040】
そして、曲の演奏の終了するまでは、操作パネル10のフラットボタン101、シャープボタン103、ナチュラルボタン102が操作されてピッチ変更の指示があればピッチ変更処理を実行し、また、操作パネル10の減速(−)ボタン111、標準速(±)ボタン112、増速(+)ボタン113が操作されて速度変更の指示があれば演奏速度の変更処理を実行する。この演奏速度の変更は、具体的には、CPU14が第一の基準クロックとしてのタイマ18dを制御してその第一の基準クロック周波数としてのクロック周波数を増減させる。後述のように、ADPCM用のデコーダ18aからのPCMデータの出力は、このタイマ18dから出力されるクロックに基づいて実行されるため、このクロック周波数が増減すれば、それに応じてPCMデータの1フレーム毎の出力速度も増減することとなる。つまり、デコーダ18aの出力部には、このクロックによって制御されるバッファを備える。そして、これも後述するが、MIDI演奏は、タイマ18dから出力されるクロック(PCMクロックとも称す。)に基づいて間接的に規定されるため、このPCMクロックの周波数が増減すれば結果としてMIDI演奏の速度も増減することとなる。
【0041】
なお、本実施例では、タイマ18dのクロック周波数に基づいてデコーダ18aから出力されるPCMデータの出力タイミングを制御するようにしたが、波形データとしてPCMデータを用いる場合には、デコーダ18aに代えてバッファを設け、このバッファからのPCMデータの出力タイミングをタイマ18dのクロックで制御するように構成される。
【0042】
以上が、概略的な動作説明であったが、次に、MIDI演奏及び波形データ出力(ここではPCMデータの出力)に関して図3,4のフローチャートも参照して説明する。
図3(a)はMIDIシーケンス処理を示すフローチャートである。MIDIシーケンス処理はMIDI演奏処理そのものであり、楽曲の予約がなされ、楽曲データがハードディスク13から読み出され、歌詞表示等の準備が整ったらすぐに開始される。
【0043】
MIDI演奏はMIDIデータが保持する音符表現分解能に従う基準時間、つまりMIDIクロック毎に順次進んで行く。そのため、MIDIシーケンス処理はMIDIクロック毎に1回実行され、本シーケンス処理中のS70における「MIDIシーケンサ諸処理」に移行する毎に、時系列中のある一点の時刻に行うイベントが実行される。
【0044】
図3(a)のMIDIシーケンスがスタートすると、MIDIデータ中のテンポ情報に基づき、カウンタ値を算出する(S10)。このカウンタ値の詳しい算出に関しては、後述することとし、ここでは、カウンタ値の算出結果が、以下のようになったとして説明を進める。
【0045】
a1=第1のカウンタ値
a2=第2のカウンタ値
b1=第1のカウンタ値を使用する回数
b2=第2のカウンタ値を使用する回数
次に、RAM15内の各記憶エリア15a〜15cを初期化する(S20)。この初期化処理では、現在使用中MIDIカウンタ値記憶エリア15bに第1のカウンタ値であるa1を書き込むと共に、使用回数記憶エリア15cに第1のカウンタ値を使用する回数であるb1を書き込む。
【0046】
その後、第1のカウンタ値であるa1をMIDIカウンタ値記憶エリア15aにセットする(S30)。
そして、スリープ状態へ移行する(S40)。このスリープ状態はPCM出力割り込み処理ルーチンからの起床命令によって解除される。そこで、PCM出力割り込み処理ルーチンの説明を行う。なお、この割り込み処理は、タイマ18dからのクロックが入力する毎にCPU14が実行する。
【0047】
図3(b)に示すように、本割り込みルーチンがスタートすると、CPU14は、デコーダ18aを制御し、1フレーム分のPCMデータを出力させる。出力されたPCMデータは、ピッチ変更器18bを通してDAC18cに書き込まれる(S110)。
【0048】
そして、RAM15上のMIDIカウンタ値記憶エリア15aに格納されているMIDIカウンタ値を減算し(S120)、その減算したMIDIカウンタ値が0であるか否かを判断する(S130)。MIDIカウンタ値が0でなければ(S130:NO)、そのまま本割り込みルーチンを終了する。一方、MIDIカウンタ値が0であれば(S130:YES)、MIDIシーケンス処理を起床させてから(S140)、本割り込みルーチンを終了する。
【0049】
図3(a)のS130にてスリープ状態に移行していたMIDIシーケンス処理は、図3(b)のS140での起床処理によってスリープ状態から起床し、S50の処理、つまり、使うべきカウンタ値の決定処理を実行する。
このS50でのMIDIカウンタ値切換処理の詳細を、図4のフローチャートを参照して説明する。
【0050】
最初のステップS52では、使用回数記憶エリア15cの使用回数を減算し(S52)、その使用回数が0になったか否かを判断する(S53)。使用回数が0でない場合には(S53:NO)、そのまま本決定処理を終了して、図3(a)のS60へ移行する。
【0051】
また、使用回数が0の場合には(S53:YES)、現在使用しているMIDIカウンタ値がa1,a2のどちらであるかを判断する(S54)。MIDIカウンタ値がa1であれば、現在使用中MIDIカウンタ値記憶エリア15bにa2を書き込み(S55)、使用回数記憶エリア15cにb2を書き込んでから(S55)、図3(a)のS50へ移行する。一方、MIDIカウンタ値がa2であれば、現在使用中MIDIカウンタ値記憶エリア15bにa1を書き込み(S57)、使用回数記憶エリア15cにb1を書き込んでから(S58)、図3(a)のS60へ移行する。
【0052】
図3(a)のS60では、S50のMIDIカウンタ値切換処理の処理結果に従ったMIDIカウンタ値、すなわち現在使用中MIDIカウンタ値記憶エリア15bに記憶されたMIDIカウンタ値を、RAM15上のMIDIカウンタ値記憶エリア15aにセットする。
【0053】
次のステップS70ではMIDIシーケンサ諸処理を実行する。具体的には、MIDIデータ中にはMIDIクロックを単位として規定されたタイミングデータとイベントデータが存在しており、そのタイミングデータに従うMIDIクロック分の時間が経過すると次のイベントデータに従うイベントを実行する。このような処理は公知であるため、詳しい説明は省略する。
【0054】
そして、MIDIデータの演奏終了か否かを判断し(S80)、演奏終了でなければ(S80:NO)S40へ戻ってスリープ状態へ移行する。この場合は、上述のように図3(b)のS140での起床処理によってスリープ状態から起床し、S50以下の処理を実行することとなる。そして、演奏終了であれば(S80:YES)、本MIDIシーケンス処理を終了する。
【0055】
次に、図3(a)のS10におけるカウンタ値の算出について説明する。
このS10で算出されるカウンタ値は、上述のように、a1=第1のカウンタ値、a2=第2のカウンタ値、b1=第1のカウンタ値を使用する回数、b2=第2のカウンタ値を使用する回数である。そこで、これらのカウンタ値a1,a2,b1,b2がどのように決定されるかを説明する。
【0056】
本実施例では、次のように決定している。まず、MIDI演奏に対応するクロック周波数(MIDIクロック周波数)をX、PCMデータ出力に対応するクロック周波数(PCMクロック周波数)をYとする。
YをXで除算した結果の整数値を「第1のカウンタ値a1」、余り整数値を「第2のカウンタ値a2を使用する回数b2」とし、a1+1を「第2のカウンタ値a2」、X−b2を「第1のカウンタ値a1を使用する回数b1」とする。
【0057】
これを具体的な数値を用いてさらに説明する。
まず、MIDIクロック周波数Xについては、テンポ値TMP(=1分間に打つ4分音符の数)とタイムベース(4分音符の分解能、つまりMIDIクロック数を4分音符1つあたりいくつにするか)によって定まる。一方、PCMクロック周波数Yについては、演奏速度の変化がない場合、つまり、速度パネル10cは(図1参照)を用いて演奏速度が標準速度から変更されていない場合には、44.1KHzとする。この周波数はタイマ18dが生成しており、また、PCMデータ生成の際におけるA/D変換時のサンプリング周波数も44.1KHzである。この44.1KHzという数値は、コンパクトディスクに音楽を録音する際に使用する値と同じであり、よく使われている。
【0058】
まず、Yについては、44.1KHz、つまり1秒間に44100回出力しているため、1分間では60×44100=2646000回出力することとなる。
一方、Xについては、ここではタイムベースを48(つまり4分音符一つが48個のMIDIクロックに相当する)として、1分間では、テンポ値TMP×48回出力することとなる。
【0059】
ここでYをXで除算した値(Y/X)を考えると、
2646000/(TMP×48)=55125÷TMP
となる。
[例1:TMP=60の場合]
55125/60=918.75(真の値)
=918余り45(整数値)
したがって、a1=918、b2=45となる。さらに、これらの値を用いれば、a2=918+1=919、b1=60−45=15となる。
【0060】
この結果を検証してみる。
a1×b1+a2×b2=918×15+919×45=13770+41355=55125
となり、これは、1分間に出力するPCMクロック数2646000をMIDIのタイムベース48で割った値である55125に一致する。
【0061】
そして、これらの値、a1=918、a2=919、b1=15、b2=45を用いて上述の図3、図4のフローチャートに示す同期処理を実行すると、図5に示すタイムチャートのような結果となる。つまり、この場合は、PCMクロック[(1/44100)秒]が918回出力するとMIDIクロック(この場合は[(918/44100)秒]となる)が1回出力する状態が15回連続し、その後、PCMクロックが919回出力するとMIDIクロック(この場合は[(919/44100)秒]となる)が1回出力する状態が45回連続する。その後は、このパターンの繰り返しとなる。
【0062】
[例2:TMP=61の場合]
55125/61=903.68(真の値)
=903余り42(整数値)
したがって、a1=903、b2=42となる。さらに、これらの値を用いれば、a2=903+1=904、b1=61−42=19となる。
【0063】
この結果を検証してみる。
a1×b1+a2×b2=903×19+904×42=17157+37968=55125
となり、やはり、1分間に出力するPCMクロック数2646000をMIDIのタイムベース48で割った値である55125に一致する。
【0064】
[本実施例の効果]
(1)このように、本実施例では、PCMクロック数に基づき、且ついわば「閏年的対処」をしてMIDIクロックを規定することにより、再生時の最小分解能が異なるMIDI演奏とPCMデータ出力とを、誤差を全く発生させずに同期させることができる。そして、このような同期を実現する上で、特別な制御データや同期データを持つ必要がないため、データエリアが無駄にならない。また、一定間隔で誤差修正をする必要も無いので処理負荷が軽減する。そして、このような同期制御において、MIDIクロックを微調整することで同期制御をしているが、MIDI演奏はイベントの発生タイミングがずれても音程の変化自体はない。それに対してPCMデータ出力側のクロックで調整した場合には音程(音高)変化が発生する。しかし、本実施例ではPCMクロックの方は変化させていないため、そのような音程変化が発生しない。
【0065】
(2)また、PCMクロックを基準としてMIDIクロックを2種類規定しているが、上述した2例であれば、その差はPCMクロック1個分であり、それらはいずれも真の値に最も近い2つの整数値である。つまり、例1の場合であれば、真の値918.75に対して918と919という整数値を採用し、例2の場合であれば、真の値903.68に対して903と904という整数値を採用している。そのため、真の値からのずれも最小で済む。
【0066】
(3)本実施例の場合は、上述したように歌唱者の好みに応じて演奏速度(再生速度)を変更できるようにされているが、そのような場合でも同様の対応できる。つまり、上述のように操作パネル10の減速(−)ボタン111等が操作されて速度変更の指示があれば、CPU14がタイマ18dを制御してそのクロック周波数を増減させる。それによってPCMクロック周波数が増減し、結果としてMIDIクロックもそれに同期して増減する。つまり、基準となるPCMクロック周波数が変化するだけであり、MIDIクロックをPCMクロック何個で規定するか、といった点は、演奏速度に関係ないからである。
【0067】
例えば図6には、図5で説明したMIDIテンポTMP=60であるが、演奏速度を標準速度の85%に減らした場合の同期制御の内容を示している。この場合は、PCMクロック周波数Yが44.1KHz×0.85、つまり1秒間に44100回出力している状態から44100×0.85=37485回出力する状態となる。しかし、PCMクロックとMIDIクロックの関係は、MIDIテンポが同じであれば、常に同じである。つまり、図6に示すように、PCMクロック(この場合は[(1/37485)秒])が918回出力するとMIDIクロック(この場合は[(918/37485)秒]となる)が1回出力する状態が15回連続し、その後、PCMクロックが919回出力するとMIDIクロック(この場合は[(919/37485)秒])が1回出力する状態が45回連続する。その後は、このパターンの繰り返しとなる。
【0068】
このように、演奏速度の変化が生じても、PCMクロック側のみ変更すれば、MIDIクロック側は(PCMクロックを基準として)自動的に規定されるため、速度変更時に、再度両者の同期を取る必要が無い。なお、当然であるが、このように演奏速度を変化させた場合、PCMデータについては元の音程(音高)が保持されるよう、ピッチ変更器18bにてピッチ変更する。
【0069】
また、このような外部からの演奏速度の変更指示ではなく、1曲の中で演奏テンポが曲の途中で変更されるような場合もあるが、MIDIデータ中において曲の途中でテンポ情報があれば、やはりそのテンポ情報に基づいて図3(a)のS10の処理を再度実行し、カウンタ値を再度算出する。
【0070】
[その他]
(a)上記実施例では、図3(a)のS10に示すように、その時点でリアルタイムにカウンタ値a1,a2及び使用回数b1,b2を算出した。しかし、例えば演奏テンポ毎に予めカウンタ値等を計算し、演奏テンポとカウンタ値等との対応関係を記憶しておき、それを読み出すようにしてもよい。
【0071】
また、上記実施例のカウンタ値等の算出方法は一例である。このカウンタ値等として満たすべき条件は次の通りである。
PCMクロック周波数をY、MIDIクロック周波数をXとしたときに、下式を満たすan,bn(an,bnは整数、n=1,2,3…)を用い、PCMクロック周波数によるクロックがan個発生するとMIDIクロック周波数によるクロックを発生させる。
【0072】
(a1・X−Y)・b1+(a2・X−Y)・b2+……+(an・X−Y)・bn=0
…(数1)
上記数1の条件を満たす組合せを例示する。ここでは、上記実施例と同様のクロック周波数及び演奏テンポTMP=60の場合にて説明する。
【0073】
(第1のパターン)
(a1・X−Y)・b1+(a2・X−Y)・b2+…
=(60・918−55125)・15+(60・919-55125)・45
=-675+675
=0
従って、a1=918、b1=15、a2=919、b2=45
これは、上記実施例で示したものと同じである。実値が918.75であるため、それとの差がなるべく少ない2種類の値の組み合わせであって、両者の差分クロックが1の場合。MIDIデータの再生タイミングを本来のタイミングから微妙にずらすことで補正しているが、そのずらす度合いが少なくなるので、最適なパターンの一つと考えられる。
【0074】
(第2のパターン)
(a1・X−Y)・b1+(a2・X−Y)・b2+…
=(60・918−55125)・45+(60・921-55125)・15
=-2025+2025
=0
従って、a1=918、b1=45、a2=921、b2=15
実値が918.75であるため、それとの差が少ない918を基本とした2種類の値の組み合わせであって、両者の差分クロックが3の場合となる。
【0075】
(第3のパターン)
(a1・X−Y)・b1+(a2・X−Y)・b2+…
=(60・917−55125)・25+(60・920-55125)・35
=-2625+2625
=0
従って、a1=917、b1=25、a2=920、b2=35
a1,a2の差分が3である。上記第2のパターンの場合は921の値が実値である918.75から2以上離れている。それに対してこの(3)の場合は、917、920のいずれも実値から2以内の差であり、ずらす度合いは全体的に小さくできる点で好ましい。
【0076】
(第4のパターン)
(a1・X−Y)・b1+(a2・X−Y)・b2+…
=(60・917−55125)・1+(60・919-55125)・7
=-105+105
=0
従って、a1=917、b1=1、a2=919、b2=7
実値が918.75であるため、それとの差が最も少ない整数値919を基本としたものであり、2種類の値の他方が差分クロックが2の917である。上記第1のパターンの場合は919と918が3:1の割合であるが、この第4パターンの場合は、7:1である。つまり、実値に最も近い整数値919の割合が7/8となり、全体的に見た場合にずらす度合いが小さくて済む。最適パターンの一つと考えられる。
【0077】
(第5のパターン)
(a1・X−Y)・b1+(a2・X−Y)・b2+…
=(60・917−55125)・1+(60・918-55125)・1+(60・919-55125)・10
=-105-45+150
=0
従って、a1=917、b1=1、a2=918、b2=1、a3=919、b3=10
これは、3つの値で対応する例である。実値が918.75であるため、それとの差が最も少ない整数値919の割合が10/12、次に差の少ない918の割合が1/12、従って、これら両者で11/12の割合を占め、また残る一つも実値との差が2未満の917であるため、ずらす度合いは全体的に小さくできる。最適パターンの一つと考えられる。
【0078】
(第6のパターン)
(a1・X−Y)・b1+(a2・X−Y)・b2+…
=(60・917−55125)・5+(60・918-55125)・5+(60・919-55125)・5+(60・920-55125)・9
=-525-225+75+675
=0
したがって、a1=917、b1=5、a2=918、b2=5、a3=919、b3=5、a4=920、b4=9
これは、4つの値で対応する例である。実値が918.75であるため、それとの差が少ない919と918を合わせた割合は10/24である。
【0079】
以上、6パターンについて説明したが、もちろんこれ以外の組合せパターンも考えられる。もちろん、このような組合せのパターンを総当たりで計算しておき、その中から適切なものを選択してもよい。その場合は比較的長時間を要することが想定されるため、予め演奏テンポ毎に計算しておく必要がある。その意味では、上記実施例に記載した計算手法の場合には、計算時間が短時間で済むため、リアルタイム処理に適している。
【0080】
(b)また、上記実施例では、出力回数を示すカウンタ値b1,b2がそれぞれb1=15、b2=45となり、PCMクロックが918回出力するとMIDIクロックが1回出力する状態を15回連続させ、その後、PCMクロックが919回出力するとMIDIクロックが1回出力する状態を45回連続させるというパターンを繰り返すようにした。しかし、これは、一定期間内におけるa1,a2,a3……anの存在割合がそれぞれb1,b2、b3……bnになるようにすることの一例である。つまり、上記例ではb1=15、b2=45であるため、b1:b2=1:3となり、この比率で存在すればよい。
【0081】
(c)上記実施例ではカラオケ装置に適用した場合について説明したが、本発明は、カラオケ装置に限られず、デジタル符合化された波形データを順次読み出して行う波形データ出力と、音符を元にした楽曲演奏情報に基づいて行う楽曲演奏とを同期させて実行する音楽再生装置であれば同様に適用できる。
【図面の簡単な説明】
【図1】(a)は実施例のカラオケ装置の概略構成を示すブロック図、(b)は操作パネルの外観図である。
【図2】実施例のカラオケ装置における同期制御のための構成部分の詳細を示すブロック図である。
【図3】(a)はMIDIシーケンス処理を示すフローチャート、(b)はPCM出力割り込み処理を示すフローチャートである。
【図4】図3(a)の処理中で実行されるMIDIカウンタ値切換処理を示すフローチャートである。
【図5】MIDIテンポ60、標準速度の場合の同期処理の内容を示すタイムチャートである。
【図6】MIDIテンポ60、速度が標準速度の85%の場合の同期処理の内容を示すタイムチャートである。
【符号の説明】
1…カラオケ装置、2…ホストコンピュータ、3…通信ネットワーク、10…操作パネル、10a…テンキーパネル、10b…ピッチパネル、10c…速度パネル、10d…表示部、13…ハードディスク、14…CPU、15…RAM、15a…MIDIカウンタ値記憶エリア、15b…現在使用中MIDIカウンタ値記憶エリア、15c…使用回数記憶エリア、18…音源再生装置、18a…デコーダ、18b…クロスフェード式ピッチ変更器、18c…デジタルアナログコンバータ(DAC)、18d…タイマ、18f…MIDI音源、20…アンプ、22…スピーカ、23…マイクロフォン、24…映像再生装置、26…表示装置、111…減速ボタン、112…標準速ボタン、113…増速ボタン、115…速度変化表示用LED。
Claims (6)
- デジタル符合化された波形データを順次出力する波形データ出力手段、
音符を元にした楽曲演奏情報に基づいて楽曲演奏を行う楽曲演奏手段を備える音楽再生装置であって、
前記波形データ出力手段による前記波形データ出力は、前記波形データ出力時の最小分解能である出力分解能によって規定される第一の基準クロック周波数を用いて実行し、
一方、前記楽曲演奏手段による前記楽曲演奏は、前記出力分解能よりも粗く且つ音符として表現可能な最小分解能である音符表現分解能と、1分間あたりに演奏する前記音符の数であるテンポ値とによって規定される第二の基準クロック周波数を用いて実行し、
さらに、前記第二の基準クロック周波数によるクロックを以下のように規定することによって、前記楽曲演奏と前記波形データ出力とを同期させて実行する
音楽再生装置。
(1)前記第一の基準クロック周波数をY、前記第二の基準クロック周波数をXとしたときに、下式を満たすan,bn(an,bnは整数、n=1,2,3…)を用い、前記第一の基準クロック周波数によるクロックがan個発生すると前記第二の基準クロック周波数によるクロックを発生させる。
(a1・X−Y)・b1+(a2・X−Y)・b2+……+(an・X−Y)・bn=0
(2)前記an,bnの組が2組以上存在する場合は、一定期間内におけるa1,a2,a3……anの存在割合がそれぞれb1,b2、b3……bnになるようにする。 - 請求項1に記載の音楽再生装置において
前記an,bnの組が2組以上存在する場合であって、且つその組合せのパターンが2種類以上存在する場合には、少なくとも1つの組中のanがY/Xの実数aの小数点以下を切り上げ又は切り下げた値である組合せパターンを用いる
音楽再生装置。 - 請求項1又は2に記載の音楽再生装置において
前記an,bnの組が2組以上存在する場合であって、且つその組合せのパターンが2種類以上存在する場合には、その組合せパターン中に存在するanの最小値と最大値との差が最も小さい組合せパターンを用いる
音楽再生装置。 - 請求項1に記載の音楽再生装置において
YをXで除算した結果の整数値をa1、余り整数値をb2、a1+1をa2、X−b2をb1とし、それらa1,a2,b1,b2を用いる
音楽再生装置。 - 請求項1〜4の何れかに記載の音楽再生装置において
さらに、
再生速度の変更指示を受け付ける変更指示受付手段、
その変更指示受付手段にて受け付けた再生速度の変更指示に応じて、前記波形データ出力手段による前記波形データ出力に用いる前記第一の基準クロック周波数を変更する変更制御手段を備える
音楽再生装置。 - 請求項1〜5の何れかに記載の音楽再生装置における前記各手段としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080852A JP4055619B2 (ja) | 2003-03-24 | 2003-03-24 | 音楽再生装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003080852A JP4055619B2 (ja) | 2003-03-24 | 2003-03-24 | 音楽再生装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004287217A JP2004287217A (ja) | 2004-10-14 |
JP4055619B2 true JP4055619B2 (ja) | 2008-03-05 |
Family
ID=33294601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003080852A Expired - Lifetime JP4055619B2 (ja) | 2003-03-24 | 2003-03-24 | 音楽再生装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4055619B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4595791B2 (ja) * | 2005-11-18 | 2010-12-08 | ヤマハ株式会社 | カラオケ練習装置およびプログラム |
JP4714230B2 (ja) * | 2008-02-27 | 2011-06-29 | 株式会社コナミデジタルエンタテインメント | 音声処理装置、音声処理方法、ならびに、プログラム |
-
2003
- 2003-03-24 JP JP2003080852A patent/JP4055619B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004287217A (ja) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5811707A (en) | Effect adding system | |
WO2007066818A1 (ja) | 音楽編集装置及び音楽編集方法 | |
JP3885587B2 (ja) | 演奏制御装置及び演奏制御用プログラム、並びに記録媒体 | |
JPH0772879A (ja) | カラオケ装置におけるバックコーラス再生装置 | |
JP2001215979A (ja) | カラオケ装置 | |
JP4055619B2 (ja) | 音楽再生装置及びプログラム | |
JP2005274851A (ja) | 電子音楽装置および同装置に適用されるコンピュータプログラム | |
JP4933910B2 (ja) | カラオケ装置 | |
JP3504296B2 (ja) | 自動演奏装置 | |
JPH08254985A (ja) | 音楽再生制御装置及び音楽再生装置 | |
JP3671788B2 (ja) | 音色設定装置および音色設定方法並びに音色設定プログラムを記録したコンピュータで読み取り可能な記録媒体 | |
JP2002108375A (ja) | カラオケ曲データ変換装置及びカラオケ曲データ変換方法 | |
JP7509127B2 (ja) | 情報処理装置、電子楽器システム、電子楽器、音節進行制御方法及びプログラム | |
JP3743985B2 (ja) | カラオケ装置 | |
JP2518356B2 (ja) | 自動伴奏装置 | |
JP3834963B2 (ja) | 音声入力装置及び方法並びに記憶媒体 | |
JP5533962B2 (ja) | カラオケ装置 | |
JPH11119776A (ja) | 音楽演奏装置 | |
JP4109631B2 (ja) | 音楽再生装置 | |
JP3933154B2 (ja) | 電子楽器 | |
JP2008276101A (ja) | 楽曲再生システム及び楽曲再生装置 | |
JPH0962280A (ja) | カラオケ装置 | |
KR100287505B1 (ko) | 미디템포변화에따른음성데이터제어방법 | |
JP3171192B2 (ja) | 音楽再生装置 | |
JP2002221971A (ja) | カラオケ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060303 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070919 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4055619 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term |