JP3709820B2 - 楽曲情報編集装置及び楽曲情報編集プログラム - Google Patents

楽曲情報編集装置及び楽曲情報編集プログラム Download PDF

Info

Publication number
JP3709820B2
JP3709820B2 JP2001306734A JP2001306734A JP3709820B2 JP 3709820 B2 JP3709820 B2 JP 3709820B2 JP 2001306734 A JP2001306734 A JP 2001306734A JP 2001306734 A JP2001306734 A JP 2001306734A JP 3709820 B2 JP3709820 B2 JP 3709820B2
Authority
JP
Japan
Prior art keywords
information
data
music
musical
score
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
Application number
JP2001306734A
Other languages
English (en)
Other versions
JP2003114679A (ja
Inventor
アユミ 深田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2001306734A priority Critical patent/JP3709820B2/ja
Publication of JP2003114679A publication Critical patent/JP2003114679A/ja
Application granted granted Critical
Publication of JP3709820B2 publication Critical patent/JP3709820B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、所定の表示装置に表示された五線譜などの楽譜上に所望の音符や音楽記号等を適宜に入力するといった楽譜編集操作に従って、自動的に自動演奏等に用いる演奏情報を生成する楽曲情報編集装置及び楽曲情報編集プログラムに関する。特に、楽譜編集操作を加えた箇所に対応する部分的な演奏情報のみを自動的に生成するようにした楽曲情報編集装置及び楽曲情報編集プログラムに関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータの普及に伴い、コンピュータを用いて楽器を演奏したり、作曲したり、編曲したり、音色を合成したりするDTM(デスクトップミュージック)により、誰でもが音楽を自由かつ簡単に楽しめるようになってきた。特に、最近のDTMにおいては、ディスプレイなどの表示装置に表示された五線譜上に所望の音符や音楽記号などを適宜に配置して楽譜編集を行うことによって、該楽譜に対応した演奏情報を自動的に生成することができるようになっている。これによると、例えばMIDI(Musical Instrument Digital Interface)規格等に関する専門的な知識の少ないユーザや、あるいは音符が読めないといったような音楽的な知識の少ないユーザであっても、より自然な演奏、美しい演奏、生々しい演奏、癖のある個性的な演奏など、表情ある多彩な演奏を行うことが可能な演奏情報を、楽譜を編集するといった簡単な操作だけで生成することができる。こうしたDTM、すなわち楽曲情報編集装置では、表示装置上に作成した楽譜を表示する楽譜表示情報と、作成した楽譜に対応する楽曲を再生(つまり自動演奏)する演奏情報とを別々に、それぞれ楽譜の開始から終りまでの楽譜全体分について記憶している。
【0003】
【発明が解決しようとする課題】
ところで、上述したような従来の楽曲情報編集装置においては、楽譜の一部の箇所が編集された場合、楽譜表示情報に対しては楽譜編集箇所に対応する部分のデータのみを編集する一方で、演奏情報に対しては楽譜編集箇所に関わらず楽譜の開始から終りまでの楽譜全体分のデータを新たに再生成する。すなわち、従来の楽曲情報編集装置においては楽譜表示情報と演奏情報とが部分的に対応付けられて記憶されていなかったことから、楽譜の一部の箇所に対して編集を加えるたびに楽譜全体分の演奏情報を新たに生成しなければならなかった。このように、従来では楽譜の編集が行われるたびに、こうした楽譜の編集部分の大小に関わらず常に楽譜全体分の演奏情報を生成していたため、楽譜表示情報の編集量に比べて演奏情報の編集量が無駄に増え、楽曲情報編集処理に時間がかかり効率が非常に悪い、という問題点があった。
【0004】
本発明は上述の点に鑑みてなされたもので、楽譜への部分的な編集に応じて、該楽譜の編集部分に対応する演奏情報のみを自動的に生成することにより演奏情報の生成に係る処理量を軽減し、効率的に楽曲情報編集処理を行うことができるようにした楽曲情報編集装置及び楽曲情報編集プログラムを提供しようとするものである。
【0005】
【課題を解決するための手段】
本発明に係る楽曲情報編集装置は、個々の楽音を表す音符や前記楽音の演奏を特徴付ける各種音楽記号を、所定の表示画面に表示された楽譜上の適宜の位置に入力することで、該楽譜に従う楽音を再生するための演奏情報を編集する楽曲情報編集装置であって、各種音楽記号の入力に従い、該入力された音楽記号を楽譜上に表示するための楽譜表示情報を生成し、該生成した楽譜表示情報に対して固有の識別子を付加する表示情報生成手段と、前記生成した楽譜表示情報に対応する部分的な再生情報を生成し、該生成した部分的な再生情報の全てに対して前記楽譜表示情報に付加したのと同じ識別子を付加する再生情報生成手段と、前記生成した部分的な再生情報を前記演奏情報の所定位置に書き込む制御手段とを具えてなり、前記生成した楽譜表示情報と該楽譜表示情報に対応する部分的な再生情報とを固有の識別子で対応付けて楽譜全体の演奏情報を構成するようにしたことを特徴とする。
【0006】
この発明によると、各種音楽記号の入力に従って生成した楽譜表示情報と該楽譜表示情報に対応する部分的な再生情報とを固有の識別子で対応付けて楽譜全体の演奏情報を構成するようにしたことから、効率的に楽曲情報編集処理を行うことができる。すなわち、個々の楽音を表す音符や前記楽音の演奏を特徴付ける各種音楽記号を、所定の表示画面に表示された楽譜上の適宜の位置に入力した場合には、該入力された音楽記号を楽譜上に表示するための楽譜表示情報を生成するが、該生成した楽譜表示情報に対して固有の識別子を付加しておく。また、各種音楽記号を入力した場合には、前記生成した楽譜表示情報に対応する部分的な再生情報を生成する。この際に、該生成した部分的な再生情報の全てに対して前記楽譜表示情報に付加したのと同じ識別子を付加しておく。そして、前記生成した部分的な再生情報を前記演奏情報の所定位置に書き込むことで、入力された音楽記号を含む楽譜全体の演奏情報を生成する。このように、音楽記号の入力といった楽譜への部分的な編集に応じて、該編集された楽譜に対応する部分的な再生情報のみを生成し、入力した音楽記号を表示するための楽譜表示情報と生成した部分的な再生情報とを固有の識別子で対応付けておくことで、音楽記号の入力時には部分的な再生情報のみを編集対象とすることができる。したがって、楽曲情報の生成に係る処理量を軽減でき、効率的に楽曲情報編集処理を行うことができるようになる。
【0007】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【0008】
【発明の実施の形態】
以下、添付図面を参照してこの発明の実施の形態を詳細に説明する。
【0009】
図1は、この発明に係る楽曲情報編集装置の全体構成の一実施例を示したハード構成ブロック図である。ここに示された楽曲情報編集装置のハードウエア構成例はコンピュータを用いて構成されており、そこにおいて、楽曲情報(後述するように、詳しくは演奏情報と楽譜表示情報とが含まれる)の編集はコンピュータがこの発明に係る楽曲情報編集処理を実現する所定のプログラム(ソフトウエア)を実行することにより実施される。勿論、この楽曲情報編集処理はコンピュータソフトウエアの形態に限らず、DSP(Digital Signal Processor)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。また、本発明に係る楽曲情報編集装置はパーソナルコンピュータに限らず、電子楽器やカラオケ装置又は電子ゲーム装置、あるいはその他のマルチメディア機器等、任意の製品応用形態をとっているものであってもよい。
【0010】
本実施例に示す楽曲情報編集装置は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御されるようになっている。CPU1は、この楽曲情報編集装置全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Dを介してリードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3、MIDIインタフェース(I/F)4、操作回路5、表示回路6、音源回路7、外部記憶装置8、通信インタフェース(I/F)9がそれぞれ接続される。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続される。すなわち、タイマ1Aは時間間隔を計数したり、楽譜編集に伴い生成される楽曲情報の中の演奏情報に従って楽曲を再生する際に用いる演奏テンポを設定したりするためのクロックパルスを発生する。このようなタイマ1AからのクロックパルスはCPU1に対して処理タイミング命令として与えられたり、あるいはCPU1に対してインタラプト命令として与えられる。CPU1は、これらの命令に従って各種処理を実行する。
【0011】
ROM2は、CPU1により実行あるいは参照される各種制御プログラム(例えば、後述する楽曲情報編集処理などのプログラム)や各種データ(例えば、後述する音楽記号定義テーブルや曲テンプレートなど)や複数の音楽記号のそれぞれを表示するための複数の音楽記号画像データや音符を表示するための音符画像データ等を格納するものである。RAM3は、ユーザによる楽譜編集操作に伴って生成される1つの楽譜及び該楽譜に対応する楽曲を表す楽曲情報(後述するように、演奏情報と楽譜表示情報とを含む)やCPU1が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中の制御プログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【0012】
ここで、上述したROM2に記憶される音楽記号定義テーブル及び曲テンプレートについて、簡単に説明する。まず、音楽記号定義テーブルについて説明する。
音楽記号定義テーブルは音楽記号毎の種類定義情報、すなわち楽譜編集の際に表示装置6A(例えば、ディスプレイ)に表示された五線譜上に入力することが可能な音楽記号の全てについて、それぞれの音楽記号を所定の種類に分類する定義情報である。音楽記号を所定の種類別に大きく分けると、第1の種類として楽曲全体(例えば、メロディに関するメロディパート、ベースやコード演奏などに関する伴奏パート、リズム伴奏に関するリズムパートなどの複数パートの全て)に対して音楽的な影響を及ぼす記号、第2の種類として1つのパートに対してのみに音楽的な影響を及ぼし、音符表示の編集を必要とせず予め用意されている音楽記号の画像データをそのまま表示に使う記号、第3の種類として1つのパートにおける特定箇所の音符に対して音楽的な影響を及ぼし、特定箇所の音符表示の編集を必要とし予め用意されている音楽記号と音符の画像データを使って新たな表示用の画像データを生成してそれを表示に使う記号とがある。上記第1の種類に分類される音楽記号はおもにテンポを制御するために用いられる音楽記号(例えば、アレグロやリタルダンドなど)であり、この実施例ではこうした音楽記号を「マスタ独立記号」と呼ぶ。上記第2の種類に分類される音楽記号はおもにパートごとの音量を制御するために用いられる音楽記号であり(例えば、メゾ・フォルテやピアニッシモなど)、この実施例ではこうした音楽記号を「(通常)独立記号」と呼ぶ。上記第3の種類に分類される音楽記号はおもに音符の音高を変化させたり、発音長を変化させたり、隣接する音符と連続的につなげたり、装飾音を付加したりするために用いられる音楽記号(例えば、チョーキングやトリルなど)であり、この実施例ではこうした音楽記号を「装飾記号」と呼ぶ。ユーザによって五線譜上に入力されたそれぞれの音楽記号を上記3つの種類のいずれかに分類するために、上記したような音楽記号定義テーブルが予めROM2に用意されている。
【0013】
次に、曲テンプレートについて簡単に説明する。
曲テンプレートは大きく分けて、音楽記号と、表示データ(後述する)から再生データ(後述する)を作成するための方法を表す情報とから構成されるデータである。すなわち、個々の曲テンプレートは音楽記号毎に再生データの作成方法を記憶しており、各音楽記号に従う音楽的特徴を実現するための楽音制御情報(つまり再生データ)を表示データを用いて作成することができるようになっている。例えば、音楽記号と表情付けのための楽音制御情報との対応関係を所定の表情付けアルゴリズムにおけるルールとして設定し、この表情付けルールを表す生成方法情報を予め音楽記号毎に記憶しておき(つまり曲テンプレート)、入力された音楽記号に対応する表情付けアルゴリズムに従って楽音制御情報を生成して演奏情報に付加する。こうした曲テンプレートと表示データを用いた楽音制御情報の生成については、一例として本出願人が既に出願済みの特開2001‐159892号がある。
【0014】
図1に示すハードウエア構成の説明に戻って、MIDIインタフェース(I/F)4は、当該楽曲情報編集装置に接続された外部の電子楽器4A等からMIDI規格の演奏情報(つまり、MIDIデータ)を当該楽曲情報編集装置へ入力したり、あるいは当該楽曲情報編集装置からMIDI規格の演奏情報(MIDIデータ)を外部の電子楽器4A等へ出力するためのインタフェースである。外部の電子楽器4Aはユーザによる操作に応じてMIDIデータを発生する機器であればよく、鍵盤型、弦楽器型、管楽器型、打楽器型、身体装着型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってよい。
【0015】
なお、MIDIインタフェース4は専用のMIDIインタフェースを用いるものに限らず、RS−232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェース4を構成するようにしてもよい。この場合、MIDIデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェース4として上記したような汎用のインタフェースを用いる場合には、外部の電子楽器4AはMIDIデータ以外のデータも送受信できるようにしてよい。勿論、演奏情報に関するデータフォーマットはMIDI形式のデータに限らず、他の形式であってもよく、その場合はMIDIインタフェース4と外部の電子楽器4Aはそれにあった構成とする。
【0016】
操作子5Aは、表示装置6Aに表示された五線譜に対して音符や音楽記号を入力するための各種のスイッチ等を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示装置6Aに表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてよい。操作回路5は、操作子5Aの各スイッチの操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス1Dを介してCPU1に出力する。表示回路6はユーザによる楽譜編集を補助するためにユーザに対し提示する五線譜や、ユーザが提示された五線譜上に入力することのできる音符や音楽記号などの各種記号一覧等の各種情報を、例えば液晶表示パネル(LCD)やCRT等から構成される表示装置6Aに表示するのは勿論のこと、演奏情報を再生する際に用いる各種演奏条件やCPU1の制御状態などを表示装置6Aに表示する。
【0017】
音源回路7は、複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた演奏情報を入力し、この演奏情報に基づいて楽音信号を発生する。音源回路7から発生された楽音信号は、アンプやスピーカなどを含むサウンドシステム7Aから発音される。演奏情報の形式はMIDI形式のようなディジタル符号化されたものであってもよいし、PCM、DPCM、ADPCMのような波形サンプルデータ方式からなるものであってもよい。この音源回路7とサウンドシステム7Aの構成には、従来のいかなる構成を用いてもよい。例えば、音源回路7はFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、CPU1によるソフトウェア処理で構成してもよい。
【0018】
外部記憶装置8は、楽譜編集操作に応じて生成される楽曲情報(後述する)や、CPU1が実行する各種制御プログラム等の制御に関するデータなどを記憶するものである。前記ROM2に制御プログラムが記憶されていない場合に、この外部記憶装置8(例えばハードディスク)に制御プログラムを記憶させておき、それをRAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置8はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD−ROM・CD−RW)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。半導体メモリなどであってもよい。
【0019】
通信インタフェース(I/F)9は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークXに接続されており、該通信ネットワークXを介して、図示しないサーバコンピュータなどと接続され、当該サーバコンピュータなどから制御プログラム、若しくは上述した音楽記号定義テーブルや曲テンプレートなどの各種データを楽曲情報編集装置側に取り込むためのインタフェースである。すなわち、ROM2や外部記憶装置8(例えば、ハードディスク)等に制御プログラムや各種データが記憶されていない場合に、サーバコンピュータなどから制御プログラムや各種データをダウンロードするために用いられる。クライアントとなる楽曲情報編集装置は、通信インターフェース9及び通信ネットワークXを介してサーバコンピュータへと制御プログラムや各種データのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求された制御プログラムや各種データを通信ネットワークXを介して本楽曲情報編集装置へと配信し、本楽曲情報編集装置が通信インタフェース9を介して、これら制御プログラムや各種データを受信して外部記憶装置8(例えば、ハードディスク)等に蓄積することにより、ダウンロードが完了する。なお、通信インタフェース9及び通信ネットワークXは、有線のものに限らず無線のものであってもよい。また、双方を具えていてもよい。
【0020】
なお、上述したような楽曲情報編集装置は操作子5Aや表示装置6Aあるいは音源回路7などを1つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことはいうまでもない。
【0021】
図1に示した楽曲情報編集装置においては、表示装置6A上に表示された五線譜に対して、ユーザがマウス等を利用して適宜の位置に所望の音符や音楽記号を配置していくことで、所定の楽曲情報を生成することができるようになっている。生成される楽曲情報は1つの楽曲を表す情報であって、表示装置6A上に所定の楽譜を表示する楽譜表示情報と、その楽譜に対応する楽曲を再生する演奏情報とからなるデータである。そこで、本発明に係る楽曲情報編集装置における楽譜編集操作に従って生成される楽曲情報、つまり演奏情報及び楽譜表示情報の各々のデータ構成について、図2及び図3を用いてそれぞれ説明する。
【0022】
まず、楽曲情報に含まれる演奏情報のデータ構成について、図2を用いて説明する。図2は、演奏情報のデータ構成の一実施例を示す概念図である。この演奏情報は楽譜編集操作に従って生成される1つの楽曲全体を再生するためのデータであり、従来から知られたSMF(Standard MIDI File)等の所定のファイル形式で記録された複数パート構成(若しくは複数トラック構成)のデータである。
【0023】
図2から理解できるように、演奏情報は大別すると、1つのマスタトラックデータと複数のトラックデータとに分けることができる。マスタトラックデータは楽曲再生の際に用いる各種の再生態様を設定するための情報であり、例えば自動演奏の際に用いる演奏テンポを規定するテンポデータ、音色を規定する音色データ、音量を規定する音量データなどを含む。このマスタトラックデータは、全てのトラックデータに共通に利用されるデータである。一方、第1トラック、第2トラック、…といった各トラックデータは自動演奏される楽曲の再生内容を表わす情報であり、各パート(例えば、メロディに関するメロディパート、ベースやコード演奏などに関する伴奏パート、リズム伴奏に関するリズムパート)毎のタイミングデータとイベントデータの組みを再生進行順に記憶しているデータである。
【0024】
各トラックデータに記憶されるタイミングデータは発音や消音などの楽曲を再生するための各種イベントデータを処理すべき時間(すなわち、タイミング)を表わすデータであり、MIDIクロックに準じたクロック数で表すことのできるデータである。このタイミングデータは、イベントを処理すべきタイミングを曲の先頭や各小節の先頭からの絶対時間(つまり、絶対的なクロック数)、あるいは1つ前のイベントからの相対時間(つまり、相対的なクロック数)で示される。各トラックデータに記憶されるイベントデータは、発音や消音などの楽曲を再生するための各種イベントの内容を表わすデータである。こうした各種イベントの内容としてはキーオン、キーオフ、テンポ変更、音色変更などがあり、これらのイベントを基にして楽曲再生(つまり自動演奏)は行われる。これらのタイミングデータや演奏イベントデータに対しては、該イベントデータと対応しているオブジェクトデータ(後述する図3参照)を表す識別子(ID)が必要に応じて付加される。すなわち、識別子IDはオブジェクト情報が存在するタイミングデータ及び演奏イベントデータに対してのみ付加されるものであり、この識別子IDにより演奏イベントとオブジェクトデータ(詳しくは表示データ)との対応をとるようにしている。この識別子(ID)は、1回の楽譜編集に対して1個の固有の識別子(ID)が割当てられる。例えばID1、ID2、ID3、…などの固有の記号が識別子(ID)として、1回の楽譜編集毎にそれぞれ割当てられることになる。
【0025】
なお、演奏情報は図2に示したようにマスタトラックデータと各トラックデータとが連続的に記憶領域に記憶されているものに限らず、飛び飛びの記憶領域に散在して記憶されていてもよい。例えば、マスタトラックデータと各トラックデータとを別々のメモリ上に記憶してもよい。ただし、この場合には各々散在するデータを、連続するデータとして別途管理することが必要であることはいうまでもない。例えば、マスタトラックデータと各トラックデータとを関連づけしたテーブルを用意しておき、このテーブルを参照することによって1つの演奏情報を決定するようにしてよい。さらに、複数パートに関するタイミングデータと演奏イベントデータとを1つのトラックデータに混在記憶させてもよく、この場合には各タイミングデータ及び演奏イベントデータ毎にトラックを識別するためのトラック識別データなどを付与しておくとよい。
【0026】
次に、楽曲情報に含まれる楽譜表示情報のデータ構成について、図3を用いて説明する。図3は、楽譜表示情報のデータ構成の一実施例を示す概念図である。この楽譜表示情報は楽譜編集の際に入力された音楽記号に関連する楽譜を表示装置6A上に表示するためのデータであり、入力された音楽記号に関する演奏情報と対応付けられて記憶されている。
【0027】
図3から理解できるように、楽譜表示情報は大別すると、オブジェクト情報とIDリスト情報とに分けることができる。オブジェクト情報は複数のオブジェクトデータ(第1オブジェクト、第2オブジェクト、第3オブジェクト、…)からなり、各オブジェクトデータは識別子(ID)と表示データとを含む。識別子(ID)は個々のオブジェクトデータを識別するためのデータであり、それぞれのオブジェクトデータごとに固有の記号(例えばID1、ID2、ID3、…など)が付される。各オブジェクトデータはこの識別子(ID)によって、同じ記号の識別子(ID)が付された演奏情報のタイミングデータ及び演奏イベントデータと対応付けされる。表示データは楽譜編集に従って入力された音楽記号や該音楽記号によって編集が加えられた音符などの表示画像を作成するためのデータであり、これに従って表示装置6Aに表示した五線譜上に楽譜編集における音楽記号の入力に従う内容の楽譜を表示することができるようになっている。表示データは、楽譜表示用のタイミングデータと楽譜表示用のイベントデータとを演奏進行順(すなわち、表示装置6A上に表示する楽譜の表示順)に記憶する。例えば、楽譜編集の際に装飾記号が入力された場合には、入力された装飾記号と該装飾記号に付随する一連の音符や他の装飾記号(つまり、入力された装飾記号により音楽的に影響が及ぼされるもの全て)を表すデータが、音符イベントと装飾記号イベントとを組み合わせた1つのイベントデータとして表示データに記録される。音符イベントは、表示する音符の内容を表わすデータである。装飾イベントは、表示する装飾記号の内容を表わすデータである。楽譜表示用のタイミングデータは、表示装置6A上における音符イベントデータ(又は音符イベントと装飾記号イベントとを組み合わせたイベントデータ)の表示位置を表わすデータである。該楽譜表示用のタイミングデータは、上述した演奏情報におけるタイミングデータと同様のMIDIクロックに準じたクロック数で表わされるデータである。また、楽譜編集の際に独立記号が入力された場合には、該独立記号を表すデータのみが1つのイベントデータとして記録される。
【0028】
IDリスト情報は、各トラック毎で使用している識別子(ID)情報を表示の順番に記録したデータである。マスタトラックIDリストはマスタ独立記号、すなわち全てのパート(もしくはトラック)に影響する記号に対して付された識別子(ID)を記録する。第1トラックIDリストは独立記号や装飾記号など、すなわち第1トラック(パート)に影響する記号に対して付された識別子(ID)をそれぞれの記号毎に装飾記号IDリスト又は独立記号IDリストに分類して記録する。
【0029】
図1に示した楽曲情報編集装置においては、表示装置6Aに表示されている五線譜に対して、ユーザがマウス等を利用して適宜の位置に音符や音楽記号を配置していくことで、楽曲情報を生成することができる。特に、ユーザが五線譜上に音楽記号を入力した場合には、該楽譜編集操作に応じた楽譜表示を行う楽譜表示情報を生成し、該生成した楽譜表示情報と予め用意された曲テンプレートとを用いて作成した楽譜編集に対応する再生データに識別子(ID)を付加して演奏情報の所定位置に記憶する。そこで、こうした表示装置6Aに表示された五線譜上でのユーザによる楽譜編集に伴って行われる楽曲情報の生成処理、すなわち楽譜表示情報及び演奏情報を生成する楽曲情報編集処理について説明する。図4は、図1に示した楽曲情報編集装置におけるCPU1で実行する「楽曲情報編集処理」の一実施例を示すフローチャートである。この「楽曲情報編集処理」は、当該プログラムの起動が指示されて終了が指示されるまでの間動作する処理である。以下、図4に示したフローチャートに従って、当該処理の動作を説明する。
【0030】
ステップS1では、五線譜を表示する。すなわち、ユーザがマウス等を利用して音符や音楽記号を適宜の位置に配置して楽曲を生成しやすくするために、表示装置6A上に五線譜を表示する。ステップS2では、作成済みの楽曲情報を選択して表示装置6A上に楽譜を表示する指示が行われたか否かを判定する。作成済みの楽曲情報を選択して表示する指示は、既存の楽曲情報を編集する場合や、あるいは既存の楽曲情報を利用しながら新たな楽曲情報を作成する場合などに行われる指示である。作成済みの楽曲情報を選択して楽譜を表示する指示が行われていた場合には(ステップS2のYES)、「楽譜の表示」処理を行う(ステップS3)。この「楽譜の表示」処理では、選択された楽曲情報に従って表示装置6A上に楽譜を表示する。すなわち、ユーザが操作子5A等を用いてROM2やRAM3あるいは外部記憶装置8などに予め記憶されている楽曲情報の中から所望の楽曲情報を選択すると、該選択した楽曲情報に従って、表示装置6A上に表示した五線譜に対して音符や音楽記号などを所定の位置に順次に表示して所定の楽曲の楽譜表示を完成する(詳しくは後述する)。一方、作成済みの楽曲情報を選択して楽譜を表示する指示が行われていない場合には(ステップS2のNO)、上記「楽譜の表示」処理を行わないで、ステップS4の処理へいく。すなわち、既存の楽曲情報を利用せずに最初から最後まで新規に楽曲情報を作成する場合には、作成済みの楽曲情報を選択して楽譜を表示する指示を行う必要がないことからそうした指示は行われない。したがって、こうした場合には「楽譜の表示」処理を行わない。
【0031】
ステップS4では、演奏イベントを入力する指示があったか否かを判定する。すなわち、ユーザが操作子5A等を用いて五線譜上に新たに音符を追加する、あるいは五線譜上に既に表示されている音符を編集する(具体的には、音符の削除や音符の配置位置の変更、あるいは音符種類の変更など)といった指示があったか否かを判定する。演奏イベントを入力する指示があった場合には(ステップS4のYES)、入力された演奏イベントのデータを演奏情報の対応する位置に書き込む(ステップS5)。例えば、五線譜上に新たに音符が追加された場合には入力された音符に関する演奏イベントデータを演奏情報の対応する位置に書き込むし、五線譜上に既に表示されている音符を編集した場合には演奏情報の対応する位置にある既存の演奏情報を削除して、入力された音符に関する演奏イベントデータを演奏情報の対応する位置に書き込む。そして、編集された部分の楽譜の表示を編集後の演奏情報の内容に従った楽譜の表示に変更する(ステップS6)。すなわち、五線譜上の表示を編集前の楽譜表示から編集後の楽譜表示へと変更する。一方、演奏イベントを入力する指示がなかった場合には(ステップS4のNO)、上記ステップS5及びステップS6の処理を行わない。
【0032】
ステップS7では、音楽記号のイベントを入力する指示があったか否かを判定する。すなわち、ユーザが操作子5A等を用いて五線譜上に新たに音楽記号を追加する、あるいは五線譜上に既に表示されている音楽記号を編集する(具体的には、音楽記号の削除や音楽記号の種類の変更など)といった指示や、音楽記号の影響を受ける音符(つまり、オブジェクト情報に含まれる音符イベント)を編集するといった指示があったか否かを判定する。音楽記号のイベントを入力する指示がなかった場合には(ステップS7のNO)、ステップS11の処理へジャンプする。他方、音楽記号のイベントを入力する指示があった場合には(ステップS7のYES)、入力された音楽記号が独立記号であるか否かを判定する(ステップS8)。入力された音楽記号が独立記号である場合には(ステップS8のYES)、「独立記号の編集」処理を実行する(ステップS9)。入力された音楽記号が独立記号でない場合、すなわち装飾記号である場合には(ステップS8のNO)、「装飾記号の編集」処理を実行する(ステップS10)。これらの「独立記号の編集」処理あるいは「装飾記号の編集」処理では、入力された音楽記号のイベントに関するデータを楽曲情報の中の演奏情報と楽譜表示情報にそれぞれ書き込む処理を行う。こうした処理については後述することから、ここでの詳細な説明を省略する。楽曲の再生が指示された場合には、楽曲情報の中の演奏情報に従って楽曲を再生する(ステップS11)。例えば、SMF(Sequential MIDI File)などを使っての自動演奏処理が行われる。ステップS12では、該楽曲情報編集プログラムを終了する指示があったか否かを判定する。終了指示があった場合には(ステップS12のYES)、該処理を終了する。終了指示がない場合には(ステップS12のNO)、ステップS2の処理に戻って、上記ステップS2〜ステップS12までの処理を繰り返すことにより、楽譜編集操作に従う楽曲情報生成処理を引き続き実行する。
【0033】
ここで、上述した「楽曲情報編集処理」のステップS3で起動する「楽譜の表示」処理について、図5を用いて説明する。図5は、「楽譜表示処理」の一実施例を示したフローチャートである。
まず、選択された楽曲情報のうちの演奏情報に従った楽譜を表示する(ステップS21)。すなわち、演奏情報のタイミングデータと演奏イベントデータとに従って、表示装置6Aの五線譜上の適宜の位置に音符や休符などを配置して楽譜を表示する。この際に、選択された楽曲情報の演奏情報から識別子IDの付されたタイミングデータ及び演奏イベントデータを抽出して、該抽出された識別子IDの付された各データについての表示を行わないように予め設定しておく。そのため、このステップS21の処理によって表示装置6A上に表示される楽譜には、装飾記号により影響を及ぼされた音符などが表示されない。ステップS22では、IDリスト情報にIDリストがあるかないかを判定する。すなわち、該楽曲はマスタ独立記号や独立記号若しくは装飾記号に関する何らかの楽譜編集が既に行われているものであり、該編集に伴って楽譜表示情報におけるIDリスト情報のIDリスト(つまり、マスタトラックIDリスト、第1トラックIDリスト、第2トラックIDリスト、…)の少なくともいずれかのIDリストに識別子IDが登録済みであるか否かを判定する。
【0034】
IDリスト情報にIDリストがない場合には(ステップS22のNO)、当該処理を終了する。すなわち、この場合には、該楽曲に対してマスタ独立記号や独立記号若しくは装飾記号等に関する何らかの編集が行われていない楽曲であり、上記ステップS21の処理において五線譜上に該楽曲に関する全ての楽譜が表示されていることから、後述するステップS23〜ステップS32までの処理を行わずに、該処理を終了する。一方、IDリスト情報にIDリストがある場合には(ステップS22のYES)、全てのトラックに関するIDリスト(つまり、第1トラックIDリスト、第2トラックIDリスト、…)について、装飾記号IDリストにデータが記録されているか否かを判定する(ステップS23)。装飾記号IDリストにデータが記録されている場合には(ステップS23のYES)、すなわち該楽譜が装飾記号に関する楽譜編集が行われている楽曲の楽譜である場合には、装飾記号IDリストから識別子IDを読み出して、その識別子IDに対応する表示データをオブジェクト情報から読み出す(ステップS24)。そして、読み出された表示データを使って表示する楽譜のデータ(具体的には表示画像)を作成し(ステップS25)、該作成した楽譜のデータを五線譜上の対応する位置に表示する(ステップS26)。
【0035】
上記ステップS25で実行する楽譜のデータの作成処理は、当該「楽譜表示処理」プログラムとは別の専用のプログラムで行う。すなわち、装飾記号の表示に関しては音符の表示位置にあわせて、装飾記号の表示位置を調節しながら表示しなければならない。そこで、こうした表示に関する処理を素早く効率的に行うために専用のプログラムに従い、オブジェクト情報から読み出した表示データを使って五線譜上に表示する楽譜の表示画像を作成する。このように、楽譜表示に従い入力された装飾記号に関するデータを演奏情報とは別の楽譜表示情報に記憶しておき、該楽譜表示情報を用いて専用プログラムによる装飾記号に関する表示画像をまとめて作成するようにすると、こうした楽譜の表示をより素早く効率的に行うことができるようになる、という利点がある。
【0036】
ステップS27では、マスタトラック以外の全てのトラックに関するIDリスト(つまり、第1トラックIDリスト、第2トラックIDリスト、…)について、独立記号IDリストにデータが記録されているか否かを判定する。独立記号IDリストにデータが記録されている場合には(ステップS27のYES)、すなわち該楽譜が独立記号に関する楽譜編集が行われている楽曲の楽譜である場合には、独立記号IDリストから識別子IDを読み出して、その識別子IDに対応する表示データをオブジェクト情報から読み出す(ステップS28)。そして、読み出された表示データの示す音楽記号に相当する予め用意されている画像データを読み出して五線譜上の対応する位置に表示する(ステップS29)。ステップS30では、楽譜表示情報のマスタトラックIDリストにデータが記録されているか否かを判定する。楽譜表示情報のマスタトラックIDリストにデータが記録されている場合には(ステップS30のYES)、すなわち該楽譜がマスタ独立記号に関する楽譜編集が行われている楽曲の楽譜である場合には、マスタトラックIDリストから識別子IDを読み出して、その識別子IDに対応する表示データをオブジェクト情報から読み出す(ステップS31)。そして、読み出された表示データに相当する予め用意されている画像データを読み出して五線譜上の対応する位置に表示する(ステップS32)。これらの独立記号やマスタ独立記号に関しての表示については上述の装飾記号の表示と異なり、音符の表示と組み合わせて表示する必要がなく予め用意されている記号ごとの画像を対応する位置(つまり、表示データ中のタイミングデータで表される位置)に表示すればよいだけであり、音符の表示位置にあわせて独立記号やマスタ独立記号の表示位置を調節しながら表示する必要がないことから、専用のプログラムを用いることなく表示が行える。
【0037】
以上のようにして、この実施例に示す「楽譜表示処理」においては、識別子IDの付されていないタイミングデータ及び演奏イベントデータの表示と、識別子IDの付されたタイミングデータ及び演奏イベントデータの表示とを分けて表示する。すなわち、演奏情報に従って識別子IDの付されていないデータに関する楽譜をまず表示しておき、該表示に対してマスタ独立記号や独立記号若しくは装飾記号(つまり、識別子IDの付されたデータ)に関する表示を追加的に表示する。この際に、識別子IDの付されていないタイミングデータ及び演奏イベントデータの表示については、普通の音符(つまり、音楽記号による編集が加えられていない音符)であることからSMFのデータをそのまま利用して表示処理すればよい。他方、識別子IDの付されたタイミングデータ及び演奏イベントデータの表示については、なにかしらの音楽記号によって編集が加えられたものであることから、SMFのデータを利用せずに、マスタ独立記号や独立記号若しくは装飾記号に関しての楽譜編集が行われた箇所についての表示データを利用して表示処理すればよい。この実施例においては、全トラック分の音符表示、全トラック分の装飾記号、全トラック分の独立記号、マスタトラックのマスタ独立記号の順に表示処理することで、楽譜全体の表示を完成するようになっている。このように、楽譜編集の内容にあわせて演奏情報と楽譜表示情報の各々の表示データとを組み合わせて用いることによって、表示装置6A上に楽譜全体を表示する。
【0038】
なお、上述した「楽譜表示処理」においては、選択された楽曲情報の演奏情報から識別子IDの付されたタイミングデータ及び演奏イベントデータを抽出して、該抽出された識別子IDの付された各データについての表示を行わないようにしたがこれに限らない。例えば、ステップS21における楽譜表示の際には識別子IDのあり・なしに関わらず、演奏情報における全てのタイミングデータ及び演奏イベントデータについての表示を行っておき、ステップS23〜ステップS32までの各処理において、識別子IDの付されたタイミングデータ及び演奏イベントデータの表示についてのみ、既に表示済みの内容と表示内容を差し替えて、あるいは上書きして表示するようにしてもよい。
【0039】
次に、上述した「楽曲情報編集処理」のステップS9で起動する「独立記号の編集」処理について、図6を用いて説明する。図6は、「独立記号編集処理」の一実施例を示したフローチャートである。
ステップS41では、楽曲情報で使用されていないID番号(つまり識別子ID)を検出して、新たなID番号とする。例えば、既にマスタ独立記号や独立記号若しくは装飾記号を楽譜に付加しており、これらの音楽記号に対するID番号として「ID5」までが使用済みであるような場合には、「ID6」を新たなID番号とする。ステップS42では、入力された音楽記号(ここでは独立記号)に対応する表示データを作成する。ここで作成される独立記号に対応する表示データは、その独立記号を表示するための画像データを読み出す指示データである。すなわち、この指示データに従って、独立記号毎に予め用意されている表示用の画像が読み出されることにより、楽譜に独立記号が単独で表示されるようになっている。ステップS43では、新たなID番号と作成された表示データを1つのオブジェクトデータとしてオブジェクト情報に追加する。この場合に追加される表示データは入力された独立記号を五線譜上に表示するためのデータであり、該独立記号を表示するためのデータのみが記録される。ステップS44では、新たなID番号をIDリスト情報の対応するリストの対応する位置に書き込む。例えば、第1トラックとしてメロディパートの楽曲が記録されており、該メロディパートの所望の演奏箇所に対して独立記号が付加された場合には、IDリスト情報における第1トラックリストの独立記号IDリスト(図3参照)の所定位置(つまり、今回編集された記号の演奏進行に相当する順の位置)に新たなID番号を書き込む。ステップS45では、作成した表示データと予め用意されている所定の曲テンプレートとに従って再生データを作成し、該作成した再生データをタイミング検出等に従って算出された演奏情報の対応する位置に書き込む。この場合に作成される再生データは、独立記号に対応した楽曲を再生するためのデータである。演奏データに作成した再生データを書き込む際には、前記ID番号と同じID番号の識別子IDが付加される。ステップS46では、作成された表示データの示す音楽記号に相当する予め用意されている画像データを読み出して五線譜上の対応する位置に表示する。この「独立記号編集処理」により記録される演奏情報及び楽譜表示情報(オブジェクト情報及びIDリスト情報を含む)についての具体例は後述することから、ここでの詳細な説明は省略する。
【0040】
なお、上述した実施例においては、表示データと曲テンプレートとに従って作成した再生データを演奏情報のみに記録するようにしたが、演奏情報と共にオブジェクト情報にも作成した再生データを記録しておくようにしてもよい。こうすると、複数の音楽記号を用いながら順次に楽譜編集を行う場合に便利である。特に、操作に応じて楽譜編集状態を1段階前の編集状態へと順次に戻していくことのできる「undo機能」において便利である。すなわち、再生データをオブジェクト情報に識別子ID及び表示データと共に記録しておくことによって、「undo機能」を使用する毎に1段階前の表示データとそれに対応する曲テンプレートとに従って再生データを再作成しなくても、演奏情報を1段階前の編集状態へと簡単に書き換えることができる。
【0041】
次に、上述した「楽曲情報編集処理」のステップS10で起動する「装飾記号の編集」処理について、図7及び図8を用いて説明する。図7及び図8は「装飾記号編集処理」の一実施例を示したフローチャートであり、図7は前半部分の処理を、図8は後半部分の処理をそれぞれ示したフローチャートである。すなわち、図8に示した処理は図7に示した処理の後に引き続き実行される処理である。
【0042】
まず、「装飾記号の編集」処理の前半部分について、図7のフローチャートを用いて説明する。
ステップS51では、入力された音楽記号(ここでは装飾記号)が影響を及ぼす演奏イベントを演奏情報から検出する。ステップS52では、検出された演奏イベントを演奏情報から削除する。ステップS53では、削除された演奏イベントに対応する表示を消去する。すなわち、表示装置6A上に表示されている五線譜から該音符表示を消去する。ただし、この処理は行わなくてもよく、影響を及ぼす音符表示を消去せずにそのまま残して新たな画像を上書き的に表示するようにしてもよい。
【0043】
ステップS54では、ステップS51で検出した演奏イベントが識別子IDの付加されたものであるか否かを判定する。すなわち、当該装飾記号を付加する前に、既に何らかの音楽記号が付加されている演奏イベントであるか否かを判定する。検出された演奏イベントが識別子IDの付加されたものでない場合、すなわち今回の装飾記号が該演奏イベントに対して初めて付加された音楽記号である場合には(ステップS54のNO)、検出された演奏イベントと入力された音楽記号から表示データを作成する(ステップS55)。他方、検出された演奏イベントが識別子IDの付加されたものである場合、すなわち既に何らかの音楽記号が付加されている演奏イベントである場合には(ステップS54のYES)、付加されているIDに対応するオブジェクトデータから表示データを読み出し(ステップS56)、該読み出された表示データと入力された音楽記号から新たな表示データを作成する(ステップS57)。すなわち、以前入力された音楽記号と今回入力した装飾記号の両方を表示するための表示データを新たに作成する。ステップS58では、楽曲情報で使用されていないID番号(識別子ID)を検出して新たなID番号とする。ステップS59では、新たなID番号と作成された表示データを1つのオブジェクトデータとしてオブジェクト情報に追加する。なお、この際に追加されたオブジェクト情報に取り込まれたオブジェクト情報(つまり、以前に入力された音楽記号に関するオブジェクト情報)を削除してもよい。ステップS60では、新たなID番号をIDリスト情報の対応するリストの対応する位置に書き込む。例えば、第1トラックとしてメロディパートの楽曲が記録されており、該メロディパートの所望の演奏箇所に対して装飾記号が付加された場合には、IDリスト情報における第1トラックリストの装飾記号IDリスト(図3参照)の所定位置(つまり、今回編集された記号の演奏進行に相当する順の位置)に新たなID番号を書き込む。そして、新たに作成されたオブジェクトデータに取り込まれたオブジェクトデータのID(すなわち、上記ステップS56で読み出されたオブジェクトデータのID)を装飾記号リストから削除しておく。
【0044】
次に、「装飾記号の編集」処理の後半部分の処理について、図8のフローチャートを用いて説明する。
上述した図7のステップS60に続く図8のステップS61では、装飾記号が入力されたときに演奏情報を編集しない指示があったか否かを判定する。演奏情報を編集しない指示を行う場合には、例えば「SHIFT」スイッチなどの所定の操作子を押しながら装飾記号を入力するようにすればよい。装飾記号が入力されたときに演奏情報を編集しない指示があった場合、例えば「SHIFT」スイッチを押しながら装飾記号の入力を行った場合には(ステップS61のYES)、作成された表示データと演奏情報とにより作成される再生データを書き込むべき演奏情報の位置に空白データを書き込む(ステップS62)。空白データはそのデータの位置に再生データがあるべきだがあえて再生データを記録しなかったことを表すデータであり、編集された記号が影響を及ぼす時間範囲(つまり、編集された記号の表示データで表示される画像に対応した演奏時間)と、編集された記号のオブジェクトデータに付加されているID番号とを有している。他方、装飾記号が入力されたときに演奏情報を編集しない指示がなかった場合、例えば「SHIFT」スイッチを押すことなく装飾記号の入力のみを行った場合には(ステップS61のNO)、作成された表示データと予め用意されている曲テンプレートとに従って再生データを作成し、該作成した再生データを演奏情報の対応する位置に書き込む(ステップS63)。この際に、該作成した再生データの中の全てのイベントデータに対しては、新たなID番号(ステップS58参照)を付加する。ステップS64では、作成された表示データを使って表示する楽譜のデータを作成する。この楽譜データの作成処理は、当該「装飾記号編集処理」プログラムとは別の専用のプログラムで行う。ステップS65では,作成された楽譜のデータを五線譜上の対応する位置に表示する。この「装飾記号編集処理」により記録される演奏情報及び楽譜表示情報(オブジェクト情報及びIDリスト情報を含む)についての具体例は後述することから、ここでの詳細な説明は省略する。
【0045】
次に、演奏イベントを五線譜を用いた楽譜編集によらずに直接入力することによって、演奏情報の空白データを編集する「直接入力」処理について、図9を用いて説明する。図9は、「直接入力処理」の一実施例を示したフローチャートである。
ステップS71では、演奏イベントを入力する指示があったか否かを判定する。例えば、ピアノロールなどを用いて演奏イベントを入力したり、あるいは数値入力をすることにより演奏イベントを入力したりするなどして、ユーザが直接演奏イベントを入力する指示を行ったか否かを判定する。演奏イベントを入力する指示がない場合には(ステップS71のNO)、当該処理を終了する。演奏イベントを入力する指示があった場合には(ステップS71のYES)、入力の指示されたタイミングに空白データがあるか否かを判定する(ステップS72)。入力の指示されたタイミングに空白データがある場合には(ステップS72のYES)、空白データに付加されている識別子IDを入力された演奏イベントに付加して、そのデータを演奏情報の対応する位置に書き込む(ステップS73)。こうして、直接入力された演奏イベントとオブジェクト情報の表示データとを識別子IDにより対応付けておく。入力の指示されたタイミングに空白データがない場合には(ステップS72のNO)、入力された演奏イベントに基づいて演奏情報を書き換え、楽譜の表示を変更する(ステップS74)。
【0046】
ここで、楽曲情報編集処理時における表示装置6Aに表示する表示内容、演奏情報及び楽譜表示情報(オブジェクト情報及びIDリスト情報を含む)に記録する記録内容について、楽譜編集内容毎に図10〜図16を用いて順次説明する。以下に示す図10〜図16までの各図においては、上から順に表示装置6Aにおける楽譜表示例、楽譜表示例に示す入力がなされた場合に作成される演奏情報、楽譜表示例に示す入力がなされた場合に作成されるオブジェクト情報、楽譜表示例に示す入力がなされた場合に作成されるIDリスト情報についての具体例を示す。また、楽譜編集に伴って追加されるデータについては太枠で囲んで図示した。なお、以下の説明では第1トラックの楽曲(例えば、メロディパートなど)に対してのみに楽譜編集を行った場合について説明する。
【0047】
まず、楽譜編集として通常の音符のみ(つまり、音楽記号を付加していない音符)を表示装置6Aに表示された五線譜上に入力した場合における楽曲情報編集処理について、図10を用いて説明する。図10は、通常の音符のみを入力した場合における楽曲情報編集処理を説明するための概念図である。
【0048】
図10の楽譜表示例に示すように、表示装置6Aに表示された五線譜上に音符A、音符B、音符C、音符Dのような通常の音符のみを演奏進行順に入力して楽譜編集を行った場合には図4のステップS4でYESと判定され、ステップS7でNOと判定されることから、演奏情報のみが作成されて楽譜表示情報は作成されない。すなわち、楽譜表示情報に対しては、該音符A〜音符Dの入力の際にはマスタ独立記号、独立記号、装飾記号のいずれの入力も行われていないことから、オブジェクト情報及びIDリスト情報(つまりマスタトラックIDリスト、第1トラックIDリストの装飾記号IDリスト及び独立記号IDリスト)には何らのデータも記録されない。他方、演奏情報に対しては、マスタトラックには何らのデータも記録されないが、第1トラックには音符A〜音符Dの各タイミングデータ及び各音符イベントデータ(図では、例えば音符Aのタイミングデータ及び音符Aの音符イベントデータとをあわせて単に「音符A」として表示した)を時系列、すなわち演奏進行順に記録する(図4のステップS5)。こうして演奏情報の第1トラックに記録された音符A〜音符Dの各タイミングデータ及び各音符イベントに対しては、識別子IDが付加されていない。したがって、この場合には、演奏情報からこれらの音符A〜音符Dの各タイミングデータ及び各音符イベントデータのみを読み出して表示処理するだけで、図10に示したような通常の音符のみからなる楽譜を表示する(図4のステップS6)。
【0049】
次に、楽譜編集として、図10に示す楽譜表示に対して装飾記号(この実施例ではチョーキング)を入力した場合における楽曲情報編集処理について、図11を用いて説明する。図11は、装飾記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【0050】
図11の楽譜表示例に示すように、表示装置6Aに表示された音符A、音符B、音符C、音符Dのうち、音符B(図では新たな楽譜表示として音符bと表示)から音符C(図では新たな楽譜表示として音符cと表示)にかけてチョーキングを行うように楽譜編集を行った場合には図4のステップS8でNOと判定され、楽譜表示情報が作成されると共に演奏情報の対応箇所が編集される。すなわち、楽譜表示情報に対しては、オブジェクト情報の第1オブジェクトとして識別子ID「ID1」が付加された表示データ「音符b+cho(チョーキング記号)+音符c」(図に示す楽譜表示例における点線で囲んだ表示を行うためのデータ)が作成順に記録される(図7のステップS59)。IDリスト情報の第1トラックIDリストの装飾記号IDリストには、上記オブジェクト情報の第1オブジェクトに識別子IDとして記録したものと同じ識別子ID「ID1」が演奏進行順に記録される(図7のステップS60)。他方、演奏情報に対しては、マスタトラックには何らのデータも記録されないが、第1トラックには、作成した再生データが「音符B」と「音符C」のデータにかえて記録される(図8のステップS63)。再生データは、上記表示データと予め用意された曲テンプレートに従い生成されたデータである。こうして作成された再生データに含まれる全ての演奏イベントに対しては、識別子ID「ID1」が付加される。したがって、この場合には、演奏情報から音符Aと音符Dの各タイミングデータ及び各音符イベントを読み出して処理することにより音符Aと音符Dを表示し、オブジェクト情報から演奏情報に付加された識別子ID「ID1」に対応する表示データを読み出して表示処理することによって、音符bと音符cとをチョーキング記号で装飾した楽譜を表示する(図8のステップS65)。
【0051】
次に、楽譜編集として、図10に示す楽譜表示に対して装飾記号(この実施例ではチョーキング)を「SHIFT」スイッチを押しながら入力した場合(つまり、図8のステップS61でYESと判定された場合)における楽曲情報編集処理について、図12を用いて説明する。図12は、「SHIFT」スイッチを押しながら装飾記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【0052】
「SHIFT」スイッチを押しながら図11に示した楽譜表示例と同様に、表示装置6Aに表示された音符A、音符B、音符C、音符Dのうち、音符B(図では新たな楽譜表示として音符bと表示)から音符C(図では新たな楽譜表示として音符cと表示)にかけてチョーキングを行うように楽譜編集を行った場合には、図11に示したものと同様の楽譜表示情報が作成される。すなわち、楽譜表示情報に対しては、オブジェクト情報の第1オブジェクトとして識別子ID「ID1」が付加された表示データ「音符b+cho(チョーキング記号)+音符c」が作成順に記録される(図7のステップS59)。装飾記号IDリストには、識別子ID「ID1」が演奏進行順に記録される(図7のステップS60)。他方、演奏情報の第1トラックには、空白データが「音符B」と「音符C」のデータにかえて記録される(図8のステップS62)。空白データは、識別子ID「ID1」が付加された表示データに対応する演奏イベントが記録されるべき位置であることを表す演奏イベントを含まないデータである。この空白データには、識別子ID「ID1」が付加されている。この場合には、音符bと音符cとをチョーキング記号で装飾した楽譜を表示するが、該演奏情報を再生しても空白データに対応する区間は発音されない。ユーザはこうした空白データに対して適宜に演奏イベントを直接入力することにより、チョーキング表示箇所での演奏をユーザ独自の演奏で行うようにすることができる。
なお、上記実施例においては演奏情報から音符Bと音符Cとを削除して空白データを記録した例を示したがこれに限らず、空白データを記録する際に音符Bと音符Cを残しておいてそれらの演奏イベントに空白データに付加している識別子ID「ID1」を付加するようにして記録してもよい。
【0053】
次に、楽譜編集として、図11に示す楽譜表示に対して更に他の装飾記号(この実施例ではトリル)を入力した場合における楽曲情報編集処理について、図13を用いて説明する。図13は、装飾記号が付加されている部分に更に装飾記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【0054】
図13の楽譜表示例に示すように、表示装置6Aに表示された音符B(図では新たな楽譜表示として音符bと表示)から音符C(図では新たな楽譜表示として音符cと表示)にかけてチョーキングを行い、その後に音符bに対してトリルを行うように楽譜編集を行った場合には、図7のステップS51で検出される演奏イベントが図11で作成された第1トラックの再生データであることから、図7のステップS54でYESと判定されることになり、以前の楽譜編集処理で作成されたオブジェクト情報から新たなオブジェクト情報を作成する。すなわち、オブジェクト情報の第2オブジェクトとして識別子ID「ID2」を付加した表示データ「音符b+tr(トリル記号)+cho(チョーキング記号)+音符c」(図に示す楽譜表示例における点線で囲んだ表示を行うためのデータ)を、識別子ID「ID1」が付加された表示データ「音符b+cho+音符c」を基にして作成して記録する(図7のステップS56とステップS57)。したがって、識別子ID「ID2」を付加した表示データは、識別子ID「ID1」が付加されている表示データの内容を含む。IDリスト情報の第1トラックIDリストの装飾記号IDリストには、識別子IDのうち最新の識別子ID「ID2」のみが記録される。すなわち、利用されているオブジェクト情報の識別子IDだけを記録する。他方、演奏情報のマスタトラックには何らのデータも記録されないが、第1トラックには識別子ID「ID1」の付された再生データが削除されて、その位置に識別子ID「ID2」の付された新たに作成した再生データが書き込まれる(図8のステップS63)。勿論、作成された再生データに含まれる全ての演奏イベントに対しては、識別子ID「ID2」が付加されている。したがって、この場合には、演奏情報から音符Aと音符Dの各タイミングデータ及び各音符イベントを読み出して表示処理することにより音符Aと音符Dを表示し、オブジェクト情報から識別子ID「ID2」に対応する表示データを読み出して表示処理することによって音符bと音符cとをチョーキング記号及びトリル記号で装飾した楽譜を表示する(図8のステップS65)。
【0055】
次に、楽譜編集として、図10に示す楽譜表示に対して更にマスタ独立記号(この実施例ではアレグロ)を入力した場合における楽曲情報編集処理について、図14を用いて説明する。図14は、マスタ独立記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【0056】
図14の楽譜表示例に示すように、表示装置6Aに表示された音符A〜音符Dの区間の最初にアレグロ(Allegro)を行うように楽譜編集を行った場合には図4のステップS8でYESと判定され、演奏情報の内容を修正することなく、マスタ独立記号に対応する再生データが追加される。すなわち、楽譜表示情報に対しては、オブジェクト情報の第1オブジェクトとして識別子ID「ID1」が付加された表示データ「Allegro」(図に示す楽譜表示例における点線で囲んだ表示を行うためのデータ)が記録される(図6のステップS43)。IDリスト情報のマスタトラックIDリストには、上記オブジェクト情報の第1オブジェクトとして記録したものと同じ識別子ID「ID1」が演奏進行順に記録される(図6のステップS44)。他方、演奏情報のマスタトラックには、演奏イベントには影響を及ぼさず、追加されたアレグロ記号に対応する再生データ(この場合にはテンポデータ)が追加される。この際に、演奏情報のマスタトラックの再生データを追加する位置に、以前からテンポデータが記録されていたような場合には、該テンポデータは削除されて新たに作成されたデータが有効となる。第1トラックには何らのデータも追加記録されないことから、音符A〜音符Dの各タイミングデータ及び各音符イベントデータが演奏進行順に記録されたままである。したがって、この場合には、演奏情報から音符A〜音符Dまでの各タイミングデータ及び各音符イベントを読み出して表示処理することにより音符A〜音符Dまでを表示し、オブジェクト情報から識別子ID「ID1」に対応する表示データを読み出して表示処理することによって「Allegro」記号が付された楽譜を表示する(図6のステップS46)。
【0057】
次に、楽譜編集として、図10に示す楽譜表示に対して更に独立記号(この実施例ではメゾ・フォルテ)を入力した場合における楽曲情報編集処理について、図15を用いて説明する。図15は、独立記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【0058】
図15の楽譜表示例に示すように、表示装置6Aに表示された音符A、音符B、音符C、音符Dのうち、音符B(図では新たな楽譜表示として音符bと表示)に対してメゾ・フォルテ(mf)を付加するように楽譜編集を行った場合には図4のステップS8でYESと判定され、演奏情報の内容を修正することなく、独立記号に対応する再生データが追加される。すなわち、楽譜表示情報に対しては、オブジェクト情報の第1オブジェクトに識別子IDとして「ID1」が付加された表示データ「mf(メゾ・フォルテ記号)」(図に示す楽譜表示例における点線で囲んだ表示を行うためのデータ)が記録される(図6のステップS43)。IDリスト情報の第1トラックIDリストの独立記号IDリストには、上記オブジェクト情報の第1オブジェクトとして記録したものと同じ識別子ID「ID1」が演奏進行順に記録される(図6のステップS44)。他方、演奏情報の第1トラックには、演奏イベントには影響を及ぼさず、追加されたメゾ・フォルテ記号に対応する再生データが追加される。この実施例ではメゾ・フォルテに対応するエクスプレッションデータ(つまり、対応するトラックのみに影響を及ぼす音量データ)が「音符A」と「音符B」のデータの間に追加される。したがって、この場合には、演奏情報から音符A〜音符Dまでの各タイミングデータ及び各音符イベントを読み出して処理することにより音符A〜音符Dまでを表示し、オブジェクト情報から識別子ID「ID1」に対応する表示データを読み出して処理することによって「mf」が付された楽譜を表示する(図6のステップS46)。
【0059】
次に、楽譜編集として、図15に示す楽譜表示に対して更に装飾記号(この実施例ではトリル)を入力した場合における楽曲情報編集処理について、図16を用いて説明する。図16は、独立記号が既に付加されている部分に更に装飾記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【0060】
図16の楽譜表示例に示すように、表示装置6Aに表示されたメゾ・フォルテが既に付されている音符B(図では新たな楽譜表示として音符bと表示)に対して、更にトリルを行うように楽譜編集を行った場合には、図7のステップS51で図15の「音符B」に対応する演奏イベントが検出されて、このイベントにはID番号が付加されていないのでステップS54でNOと判定されることになり、ステップS55で「音符B」に装飾記号が追加された部分のオブジェクト情報を新たに作成する。この場合には、以前からあった独立記号に関するオブジェクト情報については修正しない。すなわち、オブジェクト情報の第2オブジェクトとして識別子ID「ID2」を付加した表示データ「音符b+tr(トリル記号)」(図に示す楽譜表示例における一点鎖線で囲んだ表示を行うためのデータ)を新たに作成して、第1オブジェクトと共に記録する(図7のステップS59)。すなわち、識別子ID「ID1」が付加された表示データ「mf(メゾ・フォルテ記号)」は残しておく。IDリスト情報の第1トラックIDリストの装飾記号IDリストには、上記オブジェクト情報の第2オブジェクトとして新たに記録したものと同じ識別子ID「ID2」が演奏進行順に記録される(図7のステップS60)。一方、IDリスト情報の第1トラックIDリストの独立記号IDリストには、識別子ID「ID1」がそのまま記録されている。すなわち、装飾記号を追加する前に行われた独立記号(メゾ・フォルテ記号)のデータには影響を及ぼさない。他方、演奏情報に対しては、追加された装飾記号(トリル記号)に対応する再生データが演奏情報の対応する位置の演奏イベントに上書きされる。すなわち、この実施例においては、「音符B」のデータがあった位置に識別子ID「ID2」の付された再生データが上書きされて記録される。したがって、この場合には、演奏情報から音符Aと音符Cと音符Dの各タイミングデータ及び各音符イベントを読み出して処理することにより音符Aと音符Cと音符Dを表示し、オブジェクト情報から識別子ID「ID1」に対応する表示データを読み出して処理することによって「mf」記号が付され、かつ、オブジェクト情報から識別子ID「ID2」に対応する表示データを読み出して処理することによって音符bをトリル記号で装飾した楽譜を表示する(図8のステップS65)。
【0061】
なお、再生データと空白データを選択的に演奏情報に書き込む処理(図8参照)は、独立記号の編集において適応してもよい。
なお、上述した「楽曲情報編集処理」(図4参照)により生成される演奏情報のフォーマットは、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント+絶対時間』形式のもの、イベントの発生時刻を1つ前のイベントからの時間で表した『イベント+相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で楽音データを表した『音高(休符)+符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものであってもよい。
【0062】
【発明の効果】
この発明によれば、楽曲再生用の演奏情報と楽譜表示用の楽譜表示情報を別々に構成し、楽譜に対する部分的な編集に応じて、該編集された楽譜の部分に対応する位置に関しての演奏情報のみを作成するようにしたことから、演奏情報の作成に係る処理量を軽減して効率的に楽曲情報編集処理を行うことができる、という効果を得る。
【図面の簡単な説明】
【図1】 この発明に係る楽曲情報編集装置の全体構成の一実施例を示したハード構成ブロック図である。
【図2】 演奏情報のデータ構成の一実施例を示す概念図である。
【図3】 楽譜表示情報のデータ構成の一実施例を示す概念図である。
【図4】 楽曲情報編集処理の一実施例を示すフローチャートである。
【図5】 楽譜表示処理の一実施例を示したフローチャートである。
【図6】 独立記号編集処理の一実施例を示したフローチャートである。
【図7】 装飾記号編集処理における前半部分の一実施例を示したフローチャートである。
【図8】 装飾記号編集処理における後半部分の一実施例を示したフローチャートである。
【図9】 直接入力処理の一実施例を示したフローチャートである。
【図10】 通常の音符のみを入力した場合における楽曲情報編集処理を説明するための概念図である。
【図11】 装飾記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【図12】 「SHIFT」スイッチを押しながら装飾記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【図13】 装飾記号が付加されている部分に更に装飾記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【図14】 マスタ独立記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【図15】 独立記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【図16】 独立記号が既に付加されている部分に更に装飾記号を入力した場合における楽曲情報編集処理を説明するための概念図である。
【符号の説明】
1…CPU、1A…タイマ、2…ROM、3…RAM、4…MIDIインタフェース、4A…電子楽器、5…操作回路、5A…操作子、6…表示回路、6A…表示装置(ディスプレイ)、7…音源回路、7A…サウンドシステム、8…外部記憶装置、9…通信インタフェース、X…通信ネットワーク、1D…データ及びアドレスバス

Claims (5)

  1. 個々の楽音を表す音符や前記楽音の演奏を特徴付ける各種音楽記号を、所定の表示画面に表示された楽譜上の適宜の位置に入力することで、該楽譜に従う楽音を再生するための演奏情報を編集する楽曲情報編集装置であって、
    各種音楽記号の入力に従い、該入力された音楽記号を楽譜上に表示するための楽譜表示情報を生成し、該生成した楽譜表示情報に対して固有の識別子を付加する表示情報生成手段と、
    前記生成した楽譜表示情報に対応する部分的な再生情報を生成し、該生成した部分的な再生情報の全てに対して前記楽譜表示情報に付加したのと同じ識別子を付加する再生情報生成手段と、
    前記生成した部分的な再生情報を前記演奏情報の所定位置に書き込む制御手段と
    を具えてなり、
    前記生成した楽譜表示情報と該楽譜表示情報に対応する部分的な再生情報とを固有の識別子で対応付けて楽譜全体の演奏情報を構成するようにしたことを特徴とする楽曲情報編集装置。
  2. 前記制御手段は、入力された音楽記号が独立記号である場合に、前記作成された再生情報を演奏情報の所定位置に挿入することにより楽譜全体の演奏情報を生成することを特徴とする請求項1に記載の楽曲情報編集装置。
  3. 前記制御手段は、入力された音楽記号が装飾記号である場合に、前記作成された再生情報を入力された装飾記号が音楽的に影響を及ぼす全ての音符に関する再生情報に上書きすることにより楽譜全体の演奏情報を生成することを特徴とする請求項1に記載の楽曲情報編集装置。
  4. 既に音楽記号が入力されている箇所に新たな音楽記号を追加的に入力した場合に、前記表示情報生成手段は以前に入力された音楽記号と新たに入力された音楽記号の全てを表示する楽譜表示情報を生成し、前記再生情報生成手段は前記生成した楽譜表示情報に対応する部分的な再生情報を生成し、以前に入力された音楽記号に関する楽譜表示情報及び再生情報に付加されている識別子とは異なる新たな識別子を該生成した楽譜表示情報及び再生情報に対してそれぞれ付加することを特徴とする請求項1に記載の楽曲情報編集装置。
  5. 個々の楽音を表す音符や前記楽音の演奏を特徴付ける各種音楽記号を、所定の表示画面に表示された楽譜上の適宜の位置に入力することで、該楽譜に従う楽音を再生するための演奏情報を編集する楽曲情報編集プログラムであって、
    各種音楽記号の入力に従い、該入力された音楽記号を楽譜上に表示するための楽譜表示情報を生成し、該生成した楽譜表示情報に対して固有の識別子を付加するステップと、
    前記生成した楽譜表示情報に対応する部分的な再生情報を生成し、該生成した部分的な再生情報の全てに対して前記楽譜表示情報に付加したのと同じ識別子を付加するステップと、
    前記生成した部分的な再生情報を前記演奏情報の所定位置に書き込むことで、生成した楽譜表示情報と該楽譜表示情報に対応する部分的な再生情報とを固有の識別子で対応付けて楽譜全体の演奏情報を生成するステップと
    を具備する楽曲情報編集プログラム。
JP2001306734A 2001-10-02 2001-10-02 楽曲情報編集装置及び楽曲情報編集プログラム Expired - Fee Related JP3709820B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001306734A JP3709820B2 (ja) 2001-10-02 2001-10-02 楽曲情報編集装置及び楽曲情報編集プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001306734A JP3709820B2 (ja) 2001-10-02 2001-10-02 楽曲情報編集装置及び楽曲情報編集プログラム

Publications (2)

Publication Number Publication Date
JP2003114679A JP2003114679A (ja) 2003-04-18
JP3709820B2 true JP3709820B2 (ja) 2005-10-26

Family

ID=19126328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001306734A Expired - Fee Related JP3709820B2 (ja) 2001-10-02 2001-10-02 楽曲情報編集装置及び楽曲情報編集プログラム

Country Status (1)

Country Link
JP (1) JP3709820B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4552718B2 (ja) * 2005-03-24 2010-09-29 ヤマハ株式会社 音楽情報表示装置及びプログラム

Also Published As

Publication number Publication date
JP2003114679A (ja) 2003-04-18

Similar Documents

Publication Publication Date Title
JP4802857B2 (ja) 楽音合成装置及びプログラム
JP4407473B2 (ja) 奏法決定装置及びプログラム
JP3709821B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP3709820B2 (ja) 楽曲情報編集装置及び楽曲情報編集プログラム
JP3797180B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP4270102B2 (ja) 自動演奏装置及びプログラム
JP4802947B2 (ja) 奏法決定装置及びプログラム
JP3797181B2 (ja) 楽譜表示装置及び楽譜表示プログラム
JP3873790B2 (ja) 奏法表示編集装置及び方法
JP3855705B2 (ja) 自動作曲装置および自動作曲用コンピュータプログラム
JP3381581B2 (ja) 演奏データ編集装置及び演奏データ編集プログラムを記録した記録媒体
JP3620396B2 (ja) 情報修正装置及び情報修正プログラムを記録した媒体
JP3669335B2 (ja) 自動演奏装置
JP2660462B2 (ja) 自動演奏装置
JP3267226B2 (ja) 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体
JP4172509B2 (ja) 奏法自動判定装置及び方法
JP3747802B2 (ja) 演奏データ編集装置及び方法並びに記憶媒体
JP3752956B2 (ja) 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3755468B2 (ja) 楽曲データの表情付け装置及びプログラム
JP3637782B2 (ja) データ生成装置と記録媒体
JP3832147B2 (ja) 曲データ加工方法
JP4186802B2 (ja) 自動伴奏生成装置及びプログラム
JP3873789B2 (ja) 奏法自動判定装置及び方法
JP3324318B2 (ja) 自動演奏装置
JP3632551B2 (ja) 演奏データ作成装置と演奏データ作成方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050705

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: 20050719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050801

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: 20090819

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100819

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110819

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120819

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130819

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees