JP3666346B2 - 楽音発生装置および記憶媒体 - Google Patents
楽音発生装置および記憶媒体 Download PDFInfo
- Publication number
- JP3666346B2 JP3666346B2 JP2000080395A JP2000080395A JP3666346B2 JP 3666346 B2 JP3666346 B2 JP 3666346B2 JP 2000080395 A JP2000080395 A JP 2000080395A JP 2000080395 A JP2000080395 A JP 2000080395A JP 3666346 B2 JP3666346 B2 JP 3666346B2
- Authority
- JP
- Japan
- Prior art keywords
- sound
- volume
- channel
- waveform data
- envelope
- 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 - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、波形メモリに記憶された、音量エンベロープが時間変化する波形データを読み出し、この波形データに基づいて楽音を発生する楽音発生装置および記憶媒体に関する。
【0002】
【従来の技術】
波形メモリに記憶された波形データを読み出し、この波形データに基づいて楽音を発生する楽音発生装置は、従来より知られており、たとえば次のようなものがある。
【0003】
すなわち、各音色および各周波数毎の波形データを波形メモリに記憶し、この波形メモリから、発生すべき楽音に対応する波形データを読み出し、読み出された波形データの音量を、振幅エンベロープ発生器(AEG;amplitude envelope generator)で発生した音量制御エンベロープにより制御する。そして、同時に複数の楽音を発生させるために、複数の発音チャンネルを形成し、各発音チャンネルでの楽音発生処理を時分割で行うようにしている。なお、楽音発生処理は、通常、CPU制御下でのDSP(digital signal processor)により行われる。
【0004】
また、各発音チャンネルは、上述のように、時分割動作しているので、発音チャンネル数を無制限に多くすることはできず、楽音の同時発音数を有限個に制限せざるを得ない。このため、新たな発音指示(ノートオンイベント)が発生したときに、すべての発音チャンネルにおいて楽音生成処理がなされていた場合、すなわち、すべての発音チャンネルに対して発音割り当てがなされていた場合には、いずれかの発音チャンネルを選択し、その発音チャンネルで発音中の楽音の音量を急速に減衰(ダンプ)させ、その発音チャンネルを新たな楽音生成のために解放する、いわゆるトランケート処理を行う必要がある。そして、トランケート処理を施すべきチャンネル(トランケートチャンネル)としては、全発音チャンネル中、現在発音中の楽音の音量が最も小さいチャンネルを選択する方法が一般的である。
【0005】
このように、各発音チャンネルでそれぞれ発音中の楽音の音量を検出する必要があり、上記従来の楽音発生装置では、上記振幅エンベロープ発生部で発生した音量制御エンベロープの値を検出できるようになっていた。
【0006】
発音中の楽音の音量を検出する必要性は、これに限らず、たとえば、ある発音チャンネルで発音中の楽音に対応した残響音を発生させるときに、当該発音チャンネルで発音中の楽音の音量に基づいて残響音の音量を決定し、別の発音チャンネルで、この決定された音量の残響音を発生させる場合や、現在発音中の楽音の音量に基づいて、当該楽音のピッチや音色、自動演奏の演奏テンポ、自動伴奏のパート数、付加音の数等を制御する場合等にある。
【0007】
【発明が解決しようとする課題】
しかし、上記従来の楽音発生装置では、発音中の楽音の音量を検出するために、発音中の楽音の音量そのものではなく、その音量制御に用いている音量制御エンベロープの値を検出するようにしていた、換言すると、発音中の楽音の音量を間接的に検出するようにしていたので、発音中の楽音の音量が音量制御エンベロープにのみ依存する場合には、音量制御エンベロープの値は当該楽音の音量レベルに対応した値になるため問題は生じないが、発音中の楽音の音量が音量制御エンベロープにのみ依存しない場合には、音量制御エンベロープの値は当該楽音の音量レベルに対応した値にならないため、音量制御エンベロープの値を検出したとしても、発音中の楽音の音量を検出したことにならない。
【0008】
特に、近年の波形メモリを備えた楽音発生装置では、波形メモリに記憶されている波形データは、音量エンベロープが時間変化するものを含む場合が多い。この種の波形データとしては、最初に1度だけ読み出すアタック部と、アタック部の読み出しに続いて繰り返し読み出すループ部を備えたものがあり、そのうちのアタック部は、通常、その音量エンベロープが時間変化する。
【0009】
図6は、音量エンベロープが時間変化する波形データに基づいて発生させた楽音の推移の一例を示す図であり、(a)は、アタック部とループ部からなる波形データを読み出したときのアタック部Waとループ部Wbの読み出し状態の推移を示し、(b)は、(a)の読み出し状態における音量エンベロープの推移を示し、(c)は、(b)の音量エンベロープを制御するための音量制御エンベロープの推移を示し、(d)は、(b)の音量エンベロープを(c)の音量制御エンベロープで制御することにより発生した楽音の音量レベルの推移を示している。
【0010】
同図(b)に示すように、波形データのアタック部Waの音量エンベロープは時間変化するため、アタック部Waの音量レベルを制御すべき音量制御エンベロープとしては、同図(c)に示すように、時間変化しない所定値が採られている。一方、波形データのループ部Wbの音量エンベロープは時間変化しないため、ループ部Wbの音量レベルを制御すべき音量制御エンベロープとしては、時間変化する値(図示例では、線形的に変化する値)が採られ、ノートオフが指示された後の音量制御エンベロープも、同様に、時間変化する値(ただし、ダンプさせるため、ノートオフが指示される前よりも傾きが急で線形的に変化する値)が採られている。
【0011】
このように音量制御エンベロープの値を制御する結果、同図(d)に示すように、ノートオンからノートオフに亘って、自然な楽音が発生するようにしている。
【0012】
すなわち、図6のように、音量エンベロープが時間変化する波形データに対しては、その波形データに付与すべき音量制御エンベロープを検出しただけでは、当該発音中の楽音の実際の音量レベルを検出したことにならないので、このような場合には、その後の音量レベルを用いた各種制御に支障をきたすことがある。たとえば、上記トランケートチャンネルを決定するときに、各発音チャンネル間で発生されている各楽音を、当該各楽音の実際の音量レベルに基づいて比較できないため、大きな音量レベルで発音中の発音チャンネルを、実際にはそれより小さな音量レベルで発音中の発音チャンネルより先にトランケートしてしまうことがあった。また、トランケート処理以外の、音量レベルに応じた制御処理においても、各発音チャンネルそれぞれで発生中の各楽音の実際の音量レベルを検出できないために、適切な楽音制御を行えないこともあった。
【0013】
本発明は、この点に着目してなされたものであり、波形メモリに記憶された、音量エンベロープが時間変化する波形データを読み出し、この波形データに基づいて楽音を発生する場合に、発生中の楽音の音量レベルを正確に検出し、この検出された音量レベルに応じて的確な楽音制御を行うことが可能な楽音発生装置および記憶媒体を提供することを目的とする。
【0014】
【課題を解決するための手段】
【0016】
上記目的を達成するため、請求項1に記載の楽音発生装置は、音量エンベロープが時間変化する複数の波形データを記憶する波形データ記憶手段と、新たな楽音の発生を指示する指示手段と、該新たな楽音の発生が指示されたときに、形成された複数の発音チャンネルからいずれかを選択して発音割り当てを行う割り当て手段と、該割り当て手段によって割り当てられた各発音チャンネルにおいて、前記指示手段により、それぞれ指示された楽音に対応する各波形データを読み出す読み出し手段と、該読み出された各波形データの音量を、当該各発音チャンネル毎に制御するための各音量制御エンベロープを発生するエンベロープ発生手段と、該発生された各音量制御エンベロープに基づいて、前記読み出された各波形データの音量を、当該各発音チャンネル毎に制御する音量制御手段と、該音量の制御された各波形データに基づいて、当該各発音チャンネル毎に楽音を発生する楽音発生手段と、前記読み出された各波形データの音量エンベロープを、当該各発音チャンネル毎に抽出する抽出手段と、該抽出された各音量エンベロープおよび前記発生された各音量制御エンベロープに基づいて、当該各発音チャンネルにおいてそれぞれ発生中の各楽音の音量レベルを検出する検出手段とを有し、前記割り当て手段は、前記新たな楽音の発生が指示されたときに、前記複数の発音チャンネルがすべて発音割り当てされている場合には、前記各発音チャンネルにおいてそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てを行うことを特徴とする。
ここで、波形データの読み出し方法としては、たとえば、波形データをサンプリングしたときの周波数と波形データを読み出すときの周波数とが必ずしも一致しないようにした場合には、整数部と小数部とを含む実数アドレスを発生させ、波形メモリ中、発生したアドレスの整数部が示す位置の波形データと、その隣接する所定数の波形データを読み出し、これら読み出された波形データを、発生したアドレスの小数部に基づいて、所定の補間方法で補間する方法がある。この事情は、以下、請求項が変わっても同様である。
【0017】
好ましくは、前記割り当て手段は、前記トランケートすべき発音チャンネルを選定するときに、前記複数の発音チャンネルから、所定の条件を満たす発音チャンネルを選択し、該選択された各発音チャンネルにおいて、前記検出手段によりそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てを行うことを特徴とする(請求項2)。
【0018】
ここで、所定の条件としては、たとえば、「所定のパートの楽音を発生中の発音チャンネル」、「所定の音域の楽音を発生中の発音チャンネル」、「所定の音色グループの楽音を発生中の発音チャンネル」等を挙げることができる。そして、「所定のパートの楽音を発生中の発音チャンネル」という条件を採用した場合には、さらに具体的な条件として、「1つ以上の発音チャンネルに発音割り当てがされているパートであって、かつ、楽音を発生させる優先度の低いパート」や、「各パート毎に発音割り当て予約チャンネル数を決定しておき、現在発音割り当てされている発音チャンネル数が、その予約チャンネル数を最も多く超えているパート」等を挙げることができる。この事情は、以下、請求項が変わっても同様である。
【0020】
また、請求項3に記載の記憶媒体は、音量エンベロープが時間変化する複数の波形データを記憶手段に記憶する記憶ステップと、指示手段によって新たな楽音の発生が指示されたときに、形成された複数の発音チャンネルからいずれかを選択して発音割り当てを行う割り当てステップと、該割り当てステップで割り当てられた各発音チャンネルにおいて、前記指示手段により、それぞれ指示された楽音に対応する各波形データを読み出す読み出しステップと、該読み出された各波形データの音量を、当該各発音チャンネル毎に制御するための各音量制御エンベロープを発生するエンベロープ発生ステップと、該発生された各音量制御エンベロープに基づいて、前記読み出された各波形データの音量を、当該各発音チャンネル毎に制御する音量制御ステップと、該音量の制御された各波形データに基づいて、当該各発音チャンネル毎に楽音を発生する楽音発生ステップと、前記読み出された各波形データの音量エンベロープを、当該各発音チャンネル毎に抽出する抽出ステップと、該抽出された各音量エンベロープおよび前記発生された各音量制御エンベロープに基づいて、当該各発音チャンネルにおいてそれぞれ発生中の各楽音の音量レベルを検出する検出ステップとを有する楽音発生方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって、前記割り当てステップでは、前記新たな楽音の発生が指示されたときに、前記複数の発音チャンネルがすべて発音割り当てされている場合には、前記各発音チャンネルにおいてそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てを行うことを特徴とする。
【0021】
好ましくは、前記割り当てステップでは、前記トランケートすべき発音チャンネルを選定するときに、前記複数の発音チャンネルから、所定の条件を満たす発音チャンネルを選択し、該選択された各発音チャンネルにおいて、前記検出手段によりそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てを行うことを特徴とする(請求項4)。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0023】
図1は、本発明の一実施の形態に係る楽音発生装置の概略構成を示すブロック図である。
【0024】
同図に示すように、本実施の形態の楽音発生装置は、音高情報を入力するための鍵盤1と、各種情報を入力するための複数の操作子を備えたパネル操作子2と、鍵盤1の各鍵の押鍵状態を検出する押鍵検出回路3と、パネル操作子2の各操作子の操作状態を検出する操作子検出回路4と、装置全体の制御を司るCPU5と、該CPU5が実行する制御プログラムや、各種テーブルデータ等を記憶するROM6と、演奏データ、各種入力情報および演算結果等を一時的に記憶するRAM7と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ8と、各種情報等を表示する、たとえば液晶ディスプレイ(LCD)および発光ダイオード(LED)等を備えたパネル表示器9と、記憶媒体であるフロッピディスク(FD)20をドライブするフロッピディスクドライブ(FDD)10と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するハードディスク(図示せず)をドライブするハードディスクドライブ(HDD)11と、前記制御プログラムを含む各種アプリケーションプログラムや各種データ等を記憶するコンパクトディスク−リード・オンリ・メモリ(CD−ROM)21をドライブするCD−ROMドライブ(CD−ROMD)12と、外部からのMIDI(Musical Instrument Digital Interface)信号を入力したり、MIDI信号を外部に出力したりするMIDIインターフェース(I/F)13と、通信ネットワーク101を介して、たとえばサーバコンピュータ102とデータの送受信を行う通信インターフェース(I/F)14と、各音色および各周波数毎の波形データを記憶した波形メモリを備え、鍵盤1から入力された演奏データや予め設定された演奏データ等に基づいて、波形メモリから波形データを読み出し、この波形データを加工することにより、デジタル楽音信号を生成する波形メモリ音源15と、該波形メモリ音源15からのデジタル楽音信号をアナログ楽音信号に変換するDAC(Digital-to-Analog Converter)16と、該DAC16からのアナログ楽音信号を音響に変換する、たとえばアンプやスピーカ等からなるサウンドシステム17とにより構成されている。
【0025】
上記構成要素3〜16は、バス18を介して相互に接続され、CPU5にはタイマ8が接続され、MIDII/F13には他のMIDI機器100が接続され、通信I/F14には通信ネットワーク101が接続され、波形メモリ音源15にはDAC16が接続され、DAC16にはサウンドシステム17が接続されている。
【0026】
HDD11のハードディスクには、前述のように、CPU5が実行する制御プログラムも記憶でき、ROM6に制御プログラムが記憶されていない場合には、このハードディスクに制御プログラムを記憶させておき、それをRAM7に読み込むことにより、ROM6に制御プログラムを記憶している場合と同様の動作をCPU5にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0027】
CD−ROMドライブ12のCD−ROM21から読み出された制御プログラムや各種データは、HDD11内のハードディスクにストアされる。これにより、制御プログラムの新規インストールやバージョンアップ等が容易に行える。なお、このCD−ROMドライブ12以外にも、外部記憶装置として、光磁気ディスク(MO)装置等、様々な形態のメディアを利用するための装置を設けるようにしてもよい。
【0028】
MIDII/F13は、専用のものに限らず、RS−232CやUSB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェースより構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信してもよい。
【0029】
通信I/F14は、上述のように、たとえばLAN(Local Area Network)やインターネット、電話回線等の通信ネットワーク101に接続されており、該通信ネットワーク101を介して、サーバコンピュータ102に接続される。HDD11内のハードディスクに上記各プログラムや各種パラメータが記憶されていない場合には、通信I/F14は、サーバコンピュータ102からプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ(本実施の形態では、楽音発生装置)は、通信I/F14および通信ネットワーク101を介してサーバコンピュータ102へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータ102は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク101を介してコンピュータへと配信し、コンピュータが通信I/F14を介して、これらプログラムやパラメータを受信してHDD11内のハードディスクに蓄積することにより、ダウンロードが完了する。
【0030】
この他、外部コンピュータ等との間で直接データのやりとりを行うためのインターフェースを備えてもよい。
【0031】
なお、本実施の形態の楽音発生装置は、上述の構成から分かるように、汎用的なパーソナルコンピュータ上に構築されたものであるが、これに限らず、本発明を実施できる最小限要素のみから構成した専用装置上に構築してもよい。
【0032】
図2は、波形メモリ音源15の詳細な構成を示すブロック図である。同図には、バス18も図示されており、波形メモリ音源15とバス18とは、音源レジスタ150を介して接続されている。CPU5は、バス18を介して、音源レジスタ150に各種情報を書き込むことで、波形メモリ音源15に対する楽音制御を行う。なお、波形メモリ音源15は、複数の発音チャンネルを形成し、該各発音チャンネルでの楽音発生処理を時分割で行うようにして、同時に複数の楽音を発生するように構成されている。つまり、図2に示される各ブロックは、機能毎に1つのブロックで表されているが、それぞれ時分割で複数ブロック分の動作を行っている。特に、各発音チャンネルの楽音発生処理に関わる151〜155,161,162の各ブロック、および、音量レベル検出に関わる157〜160の各ブロックは、それぞれ発音チャンネル数分の動作を時分割で行っている。以下に述べる各ブロックの説明では、その時分割チャンネル動作の中の1つのチャンネルに注目して説明を行っている。
【0033】
音源レジスタ150には、アドレス発生部151、音色フィルタ部154、AEG(振幅エンベロープ発生器)部161および合成部A162に供給されるデータ(各発音チャンネルで生成する楽音を制御するためのデータ)を記憶する領域、混合&エフェクト処理部156に供給されるデータを記憶する領域、選択部A157および選択部B159等に供給されるデータ(セレクトデータ)を記憶する領域が設けられ、CPU5は、バス18を介して、これら各領域にデータを書き込むことができるように構成されている。
【0034】
また、音源レジスタ150には、各発音チャンネル毎に、該各発音チャンネルでそれぞれ生成中の各楽音の音量レベルを示すデータを記憶する領域も設けられ、CPU5は、この領域に記憶されているデータを読み出すことができるように構成されている。ただし、CPU5は、音量レベル等のデータを読み出すに先立って、その読み出し動作を制御するためのデータ、具体的には、読み出したい発音チャンネルを示すデータや選択部A157および選択部B159の各状態を決定するためのデータ等を、音源レジスタ150の所定領域に書き込んでおく必要がある。すなわち、この所定領域に目的のデータを書き込むと、これに対応する音量レベルを示すデータが、対応する領域に格納され、CPU5は、この格納された音量レベルを読み出すことができる。
【0035】
音源レジスタ150は、CPU5によって書き込まれた、当該発音チャンネルの楽音制御のための情報をアドレス発生部151に供給し、アドレス発生部151は、この情報に基づいて、波形メモリ152から読み出すべき波形データのアドレスを発生する。本実施の形態では、波形データをサンプリングしたときの周波数と波形データを読み出すときの周波数とが必ずしも一致しないように構成されているため、発生するアドレスは、通常、サンプリングされていない音高の波形データ、すなわち、波形メモリ152に記憶されていない波形データを指示する。換言すると、発生するアドレスは、整数部と小数部を含む実数値となる。そして、アドレス発生部151は、発生したアドレス値の整数部を波形メモリ152に供給し、小数部をサンプル間補間部153に供給する。
【0036】
波形メモリ152からは、供給されたアドレス値の整数部により示される波形データと、その次に位置する波形データの2つの波形データが読み出されて、サンプル間補間部153に供給される。サンプル間補間部153は、この2つの波形データを、前記供給されたアドレス値の小数部に応じて、たとえば線形補間することにより、発生されたアドレス値(実数値)に相当する波形データを生成する。なお、本実施の形態では、隣接する2つの波形データを用いて線形補間することにより、目的の波形データを生成するようにしたが、用いる波形データの数は、2つに限らず、3つ以上であってもよいし、補間方法も線形補間に限らず、たとえばラグランジュ補間等の非線形補間であってもよい。サンプル間補間部153は、補間により生成した波形データを音色フィルタ部154および選択部A157に供給する。
【0037】
音色フィルタ部154は、前記音源レジスタ150から供給された、当該発音チャンネルの楽音制御のための情報に基づいて、サンプル間補間部153から供給された波形データをフィルタリングした後、音量制御部155および前記選択部A157に供給する。音量制御部155は、合成部A162から出力される合成出力(合成後の音量制御エンベロープ)に応じて、フィルタリング後の波形データの音量エンベロープを制御し、混合&エフェクト処理部156に供給する。混合&エフェクト処理部156は、前記音源レジスタ150から供給された楽音制御のための情報に基づいて、音量エンベロープが制御された(各発音チャンネル毎の)波形データ混合処理およびエフェクト処理を行い(楽音制御情報によっては、効果を付与しない場合もある)、各発音チャンネル毎の波形データを複数の系列で混合するとともに、混合後の波形データに、前記楽音制御情報に基づいて、当該系列毎に効果を付与して、前記DAC16に出力する。
【0038】
選択部A157は、サンプル間補間部153および音色フィルタ部154からそれぞれ供給された波形データのいずれかを選択して、当該波形データの音量エンベロープを抽出するために、ピーク抽出部158に供給する。ここで、いずれの波形データを選択するかを示すセレクトデータは、前述のように、音源レジスタ150に設けられた領域に書き込まれており、選択部A157は、このセレクトデータによって示される波形データを選択して、ピーク抽出部158に出力する。
【0039】
前述のように、波形メモリ152から読み出された波形データは、音色フィルタ部154によってフィルタリングされた後に、音量制御部155によって音量制御エンベロープに応じた音量制御が行われる。ここで、音色フィルタ部154によって波形データをフィルタリングしたときに、その波形データの主要な周波数成分の一部または全部が、音色フィルタ部154の周波数特性における減衰量が大きい周波数帯域に入ることがあり、この場合には、当該周波数成分の一部または全部がカットされることになる。これにより、その波形データによって生成される楽音全体としての音量レベルが減少する。すなわち、当該楽音の実際の音量レベル(実音量レベル)は、音色フィルタ部154によるフィルタリング後の波形データに、さらに音量制御エンベロープに応じた音量制御を施したものによって生成される楽音の音量レベルである。したがって、この場合には、音色フィルタ部154から出力された波形データの音量エンベロープを抽出することにより、その楽音の実音量レベルを取得することができる。
【0040】
一方、音色フィルタ部154に供給される前の波形データの音量エンベロープを抽出することにより、音色フィルタ部154のフィルタ特性に左右されない音量エンベロープを抽出することができる。たとえば、前記パネル操作子2の操作に応じて、音色フィルタ部154のカットオフ周波数が一時的に変更された後に再び元に戻された場合には、フィルタリング後の波形データの音量レベルが一時的に減少した後に再び元に戻ることがある。このときに、フィルタリング後の波形データの音量エンベロープを抽出し、この抽出結果に基づいてトランケートを行うと、一時的に音量レベルが低下し再び元に戻る楽音を発生中の発音チャンネルをトランケートしてしまう可能性がある。したがって、この場合には、音色フィルタ部154に供給される前の波形データの音量エンベロープを抽出することにより、音色フィルタ部154によって一時的に音量レベルが低下している楽音をトランケートしないようにすることができる。
【0041】
図3は、ピーク抽出部158の詳細な構成を示すブロック図であり、同図に示すように、ピーク抽出部158は、絶対値化部170、ラッチ部A171、ラッチ部B172および比較部173によって構成されている。
【0042】
選択部A157から供給された波形データは、絶対値化部170に入力され、絶対値化部170は、この入力された波形データを絶対値化した後に、ラッチ部A171および比較部173に供給する。
【0043】
ラッチ部A171は、ラッチした波形データ(絶対値)をラッチ部B172および比較部173に供給する。比較部173は、絶対値化部170からの波形データと、ラッチ部A171からの波形データとを比較し、絶対値化部170からの波形データの値がラッチ部A171からの波形データの値より大きくなったときに、ラッチ部A171に対して、絶対値化部170からの波形データをラッチするように指示する。ラッチ部A171は、この指示に応じて、絶対値化部170からの波形データをラッチする。
【0044】
ラッチ部A171およびラッチ部B172には、所定周期のタイミング信号(パルス信号)φが供給されており、たとえばその立ち上がりで、ラッチ部A171にラッチされている波形データがラッチ部B172にラッチされるとともに、ラッチ部A171にラッチされている値がゼロクリアされる。そして、ラッチ部B172にラッチされた値が、後述する合成部B160に出力される。ここで、タイミング信号φの周期は、入力される波形データの基本波の周期より長い周期(たとえば、数Hz〜数十Hz)に設定されている。
【0045】
なお、ピーク抽出部158も、各発音チャンネルに対応して時分割動作をしている。具体的には、ラッチ部A171およびラッチ部B172は、それぞれ、全発音チャンネル分の記憶領域を備え、検出中のピーク値と、検出されたピーク値を保持している。
【0046】
図2に戻り、ピーク抽出部158によって検出された波形データの音量エンベロープは、合成部B160に供給される。合成部B160には、選択部B159からの出力、すなわち、AEG部161からの出力および合成部A162からの出力のうち、選択されたいずれか一方の出力が供給される。
【0047】
AEG部161は、前記音源レジスタ150から供給された、当該発音チャンネルの楽音制御のための情報に基づいて、音量制御エンベロープを生成し、この音量制御エンベロープを選択部B159および合成部A162に供給する。合成部A162は、前記音源レジスタ150から供給された楽音制御のための情報、具体的には音量データVOLに基づいて、音量制御エンベロープを合成する。そして、この合成後の音量制御エンベロープを選択部B159および音量制御部155に出力する。
【0048】
選択部B159は、選択部A157と同様にして、いずれの波形データを選択するかを示すセレクトデータ(音源レジスタ150に設けられた領域に書き込まれたデータ)によって示される音量制御エンベロープ、すなわち、AEG部161が発生した音量制御エンベロープそのもの、または、この音量制御エンベロープと音量データVOLを合成した合成後の音量制御エンベロープのいずれかを選択して、合成部B160に出力する。
【0049】
前述のように、波形メモリ音源15で発生される楽音の音量レベルは、音量制御部155により、合成部A162から出力された、合成後の音量制御エンベロープに基づいて制御されるため、この合成後の音量制御エンベロープを検出することで、当該楽音の実音量レベルを取得することができる(ただし、波形データが持つ音量エンベロープも時間変化しているため、該音量制御エンベロープは、波形メモリ音源15の当該発音チャンネルで発生される楽音の音量レベルそのものではない)。
【0050】
しかし、前記パネル操作子2の操作に応じて、音量データVOLの値が一時的に絞られる場合があり、このような場合に、合成後の音量制御エンベロープを検出したのでは、当該発音チャンネルで発生する楽音の実質的な音量レベル(または、一時的ではない音量レベル)を正確に取得しているとは言い得ない。
【0051】
このため、選択部B159は、合成部A162による合成前後の音量制御エンベロープのうち、いずれかの音量制御エンベロープを選択するようにしている。
【0052】
合成部B160は、ピーク抽出部158から出力された音量エンベロープと、選択部B159から出力された音量制御エンベロープとを合成し、合成後のエンベロープを、音源レジスタ150の所定位置に確保されたエンベロープ記憶領域に書き込む。このように、音量エンベロープと音量制御エンベロープとを合成したものを、最終的な音量レベルとして検出するようにしたのは、当該楽音の実音量レベルは両エンベロープによって決定されるため、その実音量レベルを正確に求めるようにしたからである。ここで、合成の方法は、音量エンベロープおよび音量制御エンベロープがともにデシベル(dB)値で表されているときには、単なる加算演算に相当し、音量エンベロープおよび音量制御エンベロープがともに実値で表されているときには、乗算演算に相当する。
【0053】
ここで、AEG部16が発生する音量制御エンベロープ、および、合成部B160から出力される音量制御エンベロープは、ともにデシベル値である場合が多い。そのため、ピーク抽出部158の絶対値化部170またはラッチ部B172の内部に実値からデシベル値に変換する変換手段を設け、ピーク抽出部158から出力される波形データの音量エンベロープがデシベル値となるようにすると好都合である。この変換手段が行う具体的な変換方法としては、波形データの実値の上位の符号と同じ値の連続するビット数をカウントしてその数に応じたデシベル値を生成する方法や、波形データの実値で、実値からデシベル値に変換するテーブルを参照して、対応するデシベル値を得る方法や、その他、演算式を用いる方法等がある。
【0054】
CPU5は、このようにして合成され、エンベロープ記憶領域に書き込まれたエンベロープ値を読み出し、このエンベロープ値に応じて、チャンネルトランケート等の制御を行う。
【0055】
なお、本実施の形態では、音量エンベロープおよび音量制御エンベロープの合成結果を音源レジスタ150のエンベロープ記憶領域に書き込むようにしているが、これに限らず、図2中、波線で示すように、ピーク抽出部158から出力された音量エンベロープをそのまま、音源レジスタ150の所定位置に確保された音量エンベロープ記憶領域に書き込むとともに、選択部B159から出力された音量制御エンベロープをそのまま、音源レジスタ150の所定位置に確保された音量制御エンベロープ記憶領域に書き込み、CPU5は、音量エンベロープ記憶領域および音量制御エンベロープ記憶領域に書き込まれた各値をそれぞれ読み出した後、自ら合成し、その合成結果を各種制御に使用するようにしてもよい。
【0056】
また、本実施の形態では、波形メモリ音源15は、波形メモリ152を外部メモリとするDSPによって構成しているため、図2中、波形メモリ152および一部のブロック(音源レジスタ150等)を除いた各ブロックの機能は、マイクロプログラムの実行によるソフトウェアで実現されている。もちろん、これに限らず、すべてハードウェアにより波形メモリ音源を実現するようにしてもよい。
【0057】
以上のように構成された楽音発生装置が実行する制御処理を、図4および図5を参照して説明する。
【0058】
図4は、本実施の形態の楽音発生装置において、楽音の発生開始を指示するイベント(ノートオンイベント)が発生したときに、CPU5が実行するノートオンイベント処理の手順を示すフローチャートである。
【0059】
同図において、まず、発生されたノートオンイベントから、そのパート番号、ノート番号およびベロシティ値を検出し、各検出値を、前記RAM7の所定位置に確保された領域PT,NN,VLにそれぞれ格納する(ステップS1)。
【0060】
次に、全発音チャンネルから、発音割り当てされていない空きチャンネル(ch)を検出し、その結果、空きチャンネルが検出されたときには、その空きチャンネルのチャンネル番号を、RAM7の所定位置に確保された領域AS(その内容を、以下、「ASch」という)に格納する一方、空きチャンネルが検出されないときには、トランケートチャンネルを決定し、その決定されたチャンネルのチャンネル番号を上記領域ASに格納するトランケートチャンネル決定処理サブルーチンを実行した(ステップS5)後に、ASchで発生中の楽音に対する急速減衰処理(ダンプ処理)を実行する(ステップS6)。
【0061】
ここで、空きチャンネルとは、波形メモリ音源15の複数の発音チャンネルのうち、CPU5が、「楽音生成に使用されていない発音チャンネル」として認定した発音チャンネルをいう。CPU5は、発音チャンネルに対するノートオフから充分な時間が経過したとき、または、発音チャンネルで生成される楽音の音量レベルが十分に小さいことが検出されたとき、等に上記認定を行う。このステップS4またはS5,S6の処理により、波形メモリ音源15のASchが、当該ノートオンイベントに応じた新規の楽音を発生するための発音チャンネルとして確保されたことになる。
【0062】
図5は、上記ステップS5のトランケートチャンネル決定処理サブルーチンの詳細な手順を示すフローチャートである。
【0063】
同図において、まず、全パートの中から、トランケートチャンネルをサーチするパート範囲、すなわちサーチ対象パートptを決定する(ステップS11)。ここで、サーチ対象パートptの決定方法としては、たとえば、「1つ以上の発音チャンネルに発音割り当てがされているパートであって、かつ、楽音を発生させる優先度の低いパート」や、「各パート毎に発音割り当て予約チャンネル数を決定しておき、現在発音割り当てされている発音チャンネル数が、その予約チャンネル数を最も多く超えているパート」等を挙げることができる。
【0064】
なお、サーチ範囲の規制の方法は、上記パート単位に限る必要はなく、たとえば、音域単位、音色グループ単位等であってもよい。
【0065】
また、トランケートチャンネルのサーチ範囲を規制するようにしたのは、これにより、トランケートチャンネルの決定が高速化されるからである。したがって、CPU5として、トランケートチャンネルの決定を高速化する意味がないほど十分高速な演算速度のものを採用した場合には、トランケートチャンネルのサーチ範囲を規制しないようにしてもよい。
【0066】
次に、決定されたパートptで発音中の発音チャンネルを、前記音源レジスタ150の、各発音チャンネル毎に設けられた領域に記憶されているパート番号PT(後述するステップS7参照)に基づいて、全発音チャンネルから検出し(ステップS12)、この検出された発音チャンネル(通常、複数個検出される)の各チャンネルでそれぞれ発音中の楽音の音量レベルを、前記エンベロープ記憶領域中、当該各チャンネルに対応する領域から読み出して取得する(ステップS13)。
【0067】
そして、取得された音量レベル(エンベロープ値)中、音量レベルが最小の発音チャンネルを検出して、トランケートチャンネルに決定し(ステップS14)、この決定されたトランケートチャンネルのチャンネル番号を前記領域ASに格納した(ステップS15)後に、本トランケートチャンネル決定処理を終了する。
【0068】
図4に戻り、ステップS7では、音源レジスタ150に、各発音チャンネル毎に設けられた記憶領域であって、該各発音チャンネルでそれぞれ生成する楽音を制御するためのデータを記憶する領域中、ASchに対応する領域に、前記パート番号PT、ノート番号NNおよびベロシティ値VLに応じた楽音を生成するための各種パラメータを書き込む。
【0069】
続くステップS8では、上記ASchに対応する領域に、発音開始を指示する情報を書き込んだ後に、本ノートオンイベント処理を終了する。
【0070】
本ノートオンイベント処理により、波形メモリ音源15に対する当該ノートオンイベントに応じた新規の楽音の発音指示がなされ、当該発音指示に応じた楽音の生成は、専ら波形メモリ音源15が行う。
【0071】
なお、本実施の形態では、音色フィルタ部154の直前または直後の波形データの音量エンベロープを抽出するようにしたが、これに代えて、音量制御部155が出力する波形データの音量エンベロープを抽出するようにしてもよい。または、サンプル間補間部153の直前の波形データの音量エンベロープを抽出するようにしてもよい。
【0072】
また、本実施の形態では、音色フィルタ部154の直前または直後の波形データのいずれかの音量エンベロープを抽出するようにしたが、これに限らず、その両方の音量エンベロープを抽出して、波形メモリ音源15の制御を行うようにしてもよい。または、サンプル間補間部153の直前、音色フィルタ部154の直前、音色フィルタ部154の直後、音量制御部155の直後のいずれか2個所以上の波形データの音量エンベロープを抽出して、波形メモリ音源15の制御を行うようにしてもよい。
【0073】
ここで、サンプル間補間部153の直前および音色フィルタ部154の直前の波形データは、波形メモリ152から読み出されたままの波形データであり、音色フィルタ部154の直後および音量制御部155の直後の波形データは、波形メモリ152から読み出された波形データが加工された後の波形データである。その両者の音量エンベロープを用いれば、入力する演奏データに応じた波形メモリ音源15の制御をより適切に行うことができる。
【0074】
このように、本実施の形態では、各発音チャンネル毎に、当該各チャンネルで発生中の楽音の音量レベルを正確に検出するようにしたので、音量レベルに応じた楽音制御を的確に行うことができる。
【0075】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU5やMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0076】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0077】
プログラムコードを供給するための記憶媒体としては、たとえば、前記フロッピーディスク20、ハードディスク、光ディスク、光磁気ディスク、CD−ROM21、CD−R、磁気テープ、不揮発性のメモリカード、ROM6などを用いることができる。また、他のMIDI機器100や通信ネットワーク101を介してサーバコンピュータ102からプログラムコードが供給されるようにしてもよい。
【0078】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0079】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU5などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0080】
【発明の効果】
【0081】
以上説明したように、請求項1または3に記載の発明によれば、発音割り当てされた各発音チャンネルにおいて、指示手段により、それぞれ指示された楽音に対応する各波形データが読み出され、該読み出された各波形データの音量を、当該各発音チャンネル毎に制御するための各音量制御エンベロープが発生され、前記読み出された各波形データの音量エンベロープが、当該各発音チャンネル毎に抽出され、該抽出された各音量エンベロープおよび前記発生された各音量制御エンベロープに基づいて、当該各発音チャンネルにおいてそれぞれ発生中の各楽音の音量レベルが検出される。そして、新たな楽音の発生が指示されたときに、前記複数の発音チャンネルがすべて発音割り当てされている場合には、前記各発音チャンネルにおいてそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てがなされるので、意図通りのチャンネルをトランケートチャンネルとして選定することができる。
【0082】
さらに、前記トランケートすべき発音チャンネルを選定するときに、前記複数の発音チャンネルから、所定の条件を満たす発音チャンネルが選択され、該選択された各発音チャンネルにおいて、前記検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルが選定され、該選定された発音チャンネルに対して発音割り当てがなされるので、トランケートチャンネルの選定に要する演算処理の処理量および処理時間を削減でき、これにより、演算処理装置として、演算能力があまり高くなく、価格が廉価なものを採用することができ、装置全体のコストを低減させることができる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態に係る楽音発生装置の概略構成を示すブロック図である。
【図2】 図1の波形メモリ音源の詳細な構成を示すブロック図である。
【図3】 図2のピーク抽出部の詳細な構成を示すブロック図である。
【図4】 図1の楽音発生装置において、楽音の発生開始を指示するイベント(ノートオンイベント)が発生したときに、CPUが実行するノートオンイベント処理の手順を示すフローチャートである。
【図5】 図4のトランケートチャンネル決定処理サブルーチンの詳細な手順を示すフローチャートである。
【図6】 音量エンベロープが時間変化する波形データに基づいて発生させた楽音の推移の一例を示す図である。
【符号の説明】
1 鍵盤(指示手段)
5 CPU(楽音制御手段、割り当て手段)
16 DAC(楽音発生手段)
17 サウンドシステム(楽音発生手段)
151 アドレス発生部(読み出し手段)
152 波形メモリ(波形データ記憶手段)
155 音量制御部(音量制御手段)
156 混合&エフェクト処理部(楽音発生手段)
158 ピーク抽出部(抽出手段)
160 合成部B(検出手段)
161 AEG部(エンベロープ発生手段)
Claims (4)
- 音量エンベロープが時間変化する複数の波形データを記憶する波形データ記憶手段と、
新たな楽音の発生を指示する指示手段と、
該新たな楽音の発生が指示されたときに、形成された複数の発音チャンネルからいずれかを選択して発音割り当てを行う割り当て手段と、
該割り当て手段によって割り当てられた各発音チャンネルにおいて、前記指示手段により、それぞれ指示された楽音に対応する各波形データを読み出す読み出し手段と、
該読み出された各波形データの音量を、当該各発音チャンネル毎に制御するための各音量制御エンベロープを発生するエンベロープ発生手段と、
該発生された各音量制御エンベロープに基づいて、前記読み出された各波形データの音量を、当該各発音チャンネル毎に制御する音量制御手段と、
該音量の制御された各波形データに基づいて、当該各発音チャンネル毎に楽音を発生する楽音発生手段と、
前記読み出された各波形データの音量エンベロープを、当該各発音チャンネル毎に抽出する抽出手段と、
該抽出された各音量エンベロープおよび前記発生された各音量制御エンベロープに基づいて、当該各発音チャンネルにおいてそれぞれ発生中の各楽音の音量レベルを検出する検出手段と
を有し、
前記割り当て手段は、前記新たな楽音の発生が指示されたときに、前記複数の発音チャンネルがすべて発音割り当てされている場合には、前記各発音チャンネルにおいてそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てを行う
ことを特徴とする楽音発生装置。 - 前記割り当て手段は、前記トランケートすべき発音チャンネルを選定するときに、前記複数の発音チャンネルから、所定の条件を満たす発音チャンネルを選択し、該選択された各発音チャンネルにおいて、前記検出手段によりそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てを行う
ことを特徴とする請求項1に記載の楽音発生装置。 - 音量エンベロープが時間変化する複数の波形データを記憶手段に記憶する記憶ステップと、
指示手段によって新たな楽音の発生が指示されたときに、形成された複数の発音チャンネルからいずれかを選択して発音割り当てを行う割り当てステップと、
該割り当てステップで割り当てられた各発音チャンネルにおいて、前記指示手段により、それぞれ指示された楽音に対応する各波形データを読み出す読み出しステップと、
該読み出された各波形データの音量を、当該各発音チャンネル毎に制御するための各音量制御エンベロープを発生するエンベロープ発生ステップと、
該発生された各音量制御エンベロープに基づいて、前記読み出された各波形データの音量を、当該各発音チャンネル毎に制御する音量制御ステップと、
該音量の制御された各波形データに基づいて、当該各発音チャンネル毎に楽音を発生する楽音発生ステップと、
前記読み出された各波形データの音量エンベロープを、当該各発音チャンネル毎に抽出する抽出ステップと、
該抽出された各音量エンベロープおよび前記発生された各音量制御エンベロープに基づいて、当該各発音チャンネルにおいてそれぞれ発生中の各楽音の音量レベルを検出する検出ステップと
を有する楽音発生方法をコンピュータに実行させるプログラムを格納した、コンピュータ読み取り可能な記憶媒体であって、
前記割り当てステップでは、前記新たな楽音の発生が指示されたときに、前記複数の発音チャンネルがすべて発音割り当てされている場合には、前記各発音チャンネルにおいてそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てを行う
ことを特徴とする記憶媒体。 - 前記割り当てステップでは、前記トランケートすべき発音チャンネルを選定するときに、前記複数の発音チャンネルから、所定の条件を満たす発音チャンネルを選択し、該選択された各発音チャンネルにおいて、前記検出手段によりそれぞれ検出された各楽音の音量レベルに基づいて、トランケートすべき発音チャンネルを選定し、該選定された発音チャンネルに対して発音割り当てを行う
ことを特徴とする請求項3に記載の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000080395A JP3666346B2 (ja) | 2000-03-22 | 2000-03-22 | 楽音発生装置および記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000080395A JP3666346B2 (ja) | 2000-03-22 | 2000-03-22 | 楽音発生装置および記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001265343A JP2001265343A (ja) | 2001-09-28 |
JP3666346B2 true JP3666346B2 (ja) | 2005-06-29 |
Family
ID=18597502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000080395A Expired - Fee Related JP3666346B2 (ja) | 2000-03-22 | 2000-03-22 | 楽音発生装置および記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3666346B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2416311A1 (en) | 2010-08-03 | 2012-02-08 | Yamaha Corporation | Tone generation apparatus |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5699558B2 (ja) * | 2010-11-17 | 2015-04-15 | ヤマハ株式会社 | 楽音生成装置及びプログラム |
-
2000
- 2000-03-22 JP JP2000080395A patent/JP3666346B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2416311A1 (en) | 2010-08-03 | 2012-02-08 | Yamaha Corporation | Tone generation apparatus |
US8389844B2 (en) | 2010-08-03 | 2013-03-05 | Yamaha Corporation | Tone generation apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2001265343A (ja) | 2001-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3882906A1 (en) | Electronic keyboard musical instrument and method of generating musical sound | |
EP2717257B1 (en) | Technique for generating audio data for loop reproduction on the basis of performance data | |
KR940005988B1 (ko) | 악음파형 발생장치 | |
JP2003263159A (ja) | 楽音生成装置および楽音生成用コンピュータプログラム | |
EP3882905A1 (en) | Electronic musical instrument, electronic keyboard musical instrument, and method of generating musical sound | |
JP3666346B2 (ja) | 楽音発生装置および記憶媒体 | |
JP2576702B2 (ja) | 電子楽器 | |
US5821444A (en) | Apparatus and method for tone generation utilizing external tone generator for selected performance information | |
CN112447159B (zh) | 共鸣音信号发生方法、共鸣音信号发生装置、记录介质及电子音乐装置 | |
US6169243B1 (en) | Automatic performance apparatus with quick start by accelerated loading of setting data | |
JP2002091443A (ja) | 自動演奏装置 | |
JP3518716B2 (ja) | 楽音合成装置 | |
JP5699558B2 (ja) | 楽音生成装置及びプログラム | |
JP2001083967A (ja) | 自動演奏データ編集装置及びデータ編集プログラムを記録した媒体 | |
JP7332002B2 (ja) | 電子楽器、方法及びプログラム | |
JP7124370B2 (ja) | 電子楽器、方法及びプログラム | |
JP2003099039A (ja) | 楽曲データ編集装置及びプログラム | |
JP4186855B2 (ja) | 楽音制御装置及びプログラム | |
JP2001272978A (ja) | 情報修正装置及び情報修正プログラムを記録した媒体 | |
JP2953217B2 (ja) | 電子楽器 | |
JP3637191B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP3532010B2 (ja) | 楽音信号発生装置及び楽音信号発生方法 | |
JP2972364B2 (ja) | 音楽的情報処理装置及び音楽的情報処理方法 | |
JP3837994B2 (ja) | 楽譜データ変換装置、及び記録媒体 | |
JP5070842B2 (ja) | 楽音生成装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041019 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041202 |
|
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: 20050315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050328 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100415 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120415 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130415 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |