(57)【特許請求の範囲】
【請求項１】
楽譜データが音符を表示する音符表示イベントデータと記号を表示する記号表示イベントデータを含む楽譜を表示するデータとされ、該楽譜データから生成される中間データが音符だけを音符イベントデータとして演奏順に並べた音符データと、記号だけを記号イベントデータとして所定の優先順位により定まる処理順に並べた記号データとされ、該中間データから演奏順に演奏イベントデータを並べた演奏データが生成される楽譜編集装置であって、
前記音符表示イベントデータから前記音符データを生成すると共に、前記音符データにおける音符イベントデータを織別する識別情報を各音符イベントデータに付加し、前記記号表示イベントデータから前記記号データを生成すると共に、前記記号データにおける各記号イベントデータが編集の対象とする音符イベントデータの前記識別情報を各記号イベントデータに付加する中間データ生成手段と、
該中間データ生成手段により生成された前記中間データから前記演奏データを生成する際に、前記音符データと前記記号データとに基づき、前記記号イベントデータに付加されている前記識別情報と同一の識別情報が付加されている前記音符イベントデータに対して、該記号イベントデータに応じた処理で編集を行うことにより前記演奏イベントデータを生成する演奏データ生成手段と、
前記楽譜データの音符表示イベントデータまたは記号イベントデータが編集されたとき、該編集された楽譜データを参照して中間データを書き換え、該書き換えられた中間データから編集された音符イベントデータおよび記号イベントデータを検索し、検索された音符イベントデータおよび記号イベントデータに基づき対応する演奏データ内の演奏イベントデータを編集する編集手段と、
を備えるようにしたことを特徴とする楽譜編集装置。
【請求項２】
前記記号イベントデータは、記号に対応する処理プログラムを指示する指示情報と、該処理プログラムが使用するパラメータ情報とからなり、処理順で記憶手段に記憶されることを特徴とする請求項１に記載の楽譜編集装置。
【請求項３】
楽譜データが音符を表示する音符表示イベントデータと記号を表示する記号表示イベントデータを含む楽譜を表示するデータとされ、該楽譜データから生成される中間データが音符だけを音符イベントデータとして演奏順に並べた音符データと、記号だけを記号イベントデータとして所定の優先順位により定まる処理順に並べた記号データとされ、該中間データから演奏順に演奏イベントデータを並べた演奏データが生成される楽譜編集方法であって、
前記音符表示イベントデータから前記音符データを生成すると共に、前記音符データにおける音符イベントデータを識別する識別情報を各音符イベントデータに付加し、前記記号表示イベントデータから前記記号データを生成すると共に、前記記号データにおける各記号イベントデータが編集の対象とする音符イベントデータの前記識別情報を各記号イベントデータに付加する中間データ生成ステップと、
該中間データ生成ステップにより生成された前記中間データから前記演奏データを生成する際に、前記音符データと前記記号データとに基づき、前記記号イベントデータに付加されている前記識別情報と同一の識別情報が付加されている前記音符イベントデータに対して、該記号イベントデータに応じた処理で編集を行うことにより前記演奏イベントデータを生成する演奏データ生成ステップと、
前記楽譜データの音符表示イベントデータまたは記号イベントデータが編集されたとき、該編集された楽譜データを参照して中間データを書き換え、該書き換えられた中間データから編集された音符イベントデータおよび記号イベントデータを検索し、検索された音符イベントデータおよび記号イベントデータに基づき対応する演奏データ内の演奏イベントデータを編集する編集ステップと、
を備えるようにしたことを特徴とする楽譜編集方法。
【請求項４】
楽譜データが音符を表示する音符表示イベントデータと記号を表示する記号表示イベントデータを含む楽譜を表示するデータとされ、音符だけを音符イベントデータとして演奏順に並べた音符データを前記音符表示イベントデータから生成すると共に、前記音符データにおける音符イベントデータを識別する識別情報を各音符イベントデータに付加し、記号だけを記号イベントデータとして所定の優先順位により定まる処理順に並べた記号データを前記記号表示イベントデータから生成すると共に、前記記号データにおける各記号イベントデータが編集の対象とする音符イベントデータの前記識別情報を各記号イベントデータに付加する中間データ生成ステップ、
該中間データ生成ステップにより生成された前記中間データから演奏データを生成する際に、前記音符データと前記記号データとに基づき、前記記号イベントデータに付加されている前記識別情報と同一の識別情報が付加されている前記音符イベントデータに対して、該記号イベントデータに応じた処理で編集を行うことにより前記演奏イベントデータを生成する演奏データ生成ステップ、
前記楽譜データの音符表示イベントデータまたは記号イベントデータが編集されたとき、該編集された楽譜データを参照して中間データを書き換え、該書き換えられた中間データから編集された音符イベントデータおよび記号イベントデータを検索し、検索された音符イベントデータおよび記号イベントデータに基づき対応する演奏データ内の演奏イベントデータを編集する編集ステップ、
をコンピュータに実行させるための楽譜編集プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、楽譜データを編集した際に楽譜データから効率的に演奏データを生成することのできる楽譜編集装置に関する。
【０００２】
【従来の技術】
従来、楽譜を印刷するために楽譜を表示装置に表示して、表示された態様で楽譜を印刷することのできる装置がある。この場合、五線譜上に表示される音符の種類別や各種音楽用の記号別のアイコンは、キーボード等の入力装置から任意に入力することができるようにされている。
また、表示装置に表示された楽譜の楽譜データから演奏データを作成する装置がある。楽譜には、五線譜上の所定の位置に音符や記号が貼り付けて表示されており、楽譜を表示装置に表示するための楽譜データには、音符や記号を所定の位置に表示させるための表示位置情報や音符種類情報および記号種類情報が含まれている。このような楽譜データ中の各情報を用いることにより、楽譜データから演奏データを作成するようにしている。
【０００３】
【発明が解決しようとする課題】
楽譜データは表示のためのデータであることから、楽譜データ中には時間進行情報はない。このため、楽譜データから演奏データを作成する場合は、常に楽譜データの先頭から終了までの全てに相当する演奏データを作成する必要がある。すると、楽譜データの一部を編集した際に、その楽譜データから演奏データを作成する場合には、編集した一部だけではなく全ての楽譜データに対応する演奏データを作成し直さなければならないという問題があった。したがって、編集後の演奏データ作成作業が非効率的となり、編集後の演奏データの作成に多大の時間がかかっていた。
【０００４】
そこで、本発明は、楽譜データから演奏データを生成しても、楽譜データを編集した際に、全ての演奏データを生成し直す必要のない楽譜編集装置および記録媒体を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明の楽譜編集装置は、楽譜データが音符を表示する音符表示イベントデータと記号を表示する記号表示イベントデータを含む楽譜を表示するデータとされ、該楽譜データから生成される中間データが音符だけを音符イベントデータとして演奏順に並べた音符データと、記号だけを記号イベントデータとして所定の優先順位により定まる処理順に並べた記号データとされ、該中間データから演奏順に演奏イベントデータを並べた演奏データが生成される楽譜編集装置であって、前記音符表示イベントデータから前記音符データを生成すると共に、前記音符データにおける音符イベントデータを織別する識別情報を各音符イベントデータに付加し、前記記号表示イベントデータから前記記号データを生成すると共に、前記記号データにおける各記号イベントデータが編集の対象とする音符イベントデータの前記識別情報を各記号イベントデータに付加する中間データ生成手段と、該中間データ生成手段により生成された前記中間データから前記演奏データを生成する際に、前記音符データと前記記号データとに基づき、前記記号イベントデータに付加されている前記識別情報と同一の識別情報が付加されている前記音符イベントデータに対して、該記号イベントデータに応じた処理で編集を行うことにより前記演奏イベントデータを生成する演奏データ生成手段と、前記楽譜データの音符表示イベントデータまたは記号イベントデータが編集されたとき、該編集された楽譜データを参照して中間データを書き換え、該書き換えられた中間データから編集された音符イベントデータおよび記号イベントデータを検索し、検索された音符イベントデータおよび記号イベントデータに基づき対応する演奏データ内の演奏イベントデータを編集する編集手段とを備えている。
【０００６】
また、上記本発明の楽譜編集装置において、前記記号イベントデータは、記号に対応する処理プログラムを指示する指示情報と、該処理プログラムが使用するパラメータ情報とからなり、処理順で記憶手段に記録されるようにしてもよい。
【０００７】
さらに、上記目的を達成することのできる本発明の記録方法は、楽譜データが音符を表示する音符表示イベントデータと記号を表示する記号表示イベントデータを含む楽譜を表示するデータとされ、該楽譜データから生成される中間データが音符だけを音符イベントデータとして演奏順に並べた音符データと、記号だけを記号イベントデータとして所定の優先順位により定まる処理順に並べた記号データとされ、該中間データから演奏順に演奏イベントデータを並べた演奏データが生成される楽譜編集方法であって、前記音符表示イベントデータから前記音符データを生成すると共に、前記音符データにおける音符イベントデータを識別する識別情報を各音符イベントデータに付加し、前記記号表示イベントデータから前記記号データを生成すると共に、前記記号データにおける各記号イベントデータが編集の対象とする音符イベントデータの前記識別情報を各記号イベントデータに付加する中間データ生成ステップと、該中間データ生成ステップにより生成された前記中間データから前記演奏データを生成する際に、前記音符データと前記記号データとに基づき、前記記号イベントデータに付加されている前記識別情報と同一の識別情報が付加されている前記音符イベントデータに対して、該記号イベントデータに応じた処理で編集を行うことにより前記演奏イベントデータを生成する演奏データ生成ステップと、前記楽譜データの音符表示イベントデータまたは記号イベントデータが編集されたとき、該編集された楽譜データを参照して中間データを書き換え、該書き換えられた中間データから編集された音符イベントデータおよび記号イベントデータを検索し、検索された音符イベントデータおよび記号イベントデータに基づき対応する演奏データ内の演奏イベントデータを編集する編集ステップとを備えている。
さらにまた、上記目的を達成することのできる本発明の記録媒体は、楽譜データが音符を表示する音符表示イベントデータと記号を表示する記号表示イベントデータを含む楽譜を表示するデータとされ、音符だけを音符イベントデータとして演奏順に並べた音符データを前記音符表示イベントデータから生成すると共に、前記音符データにおける音符イベントデータを識別する識別情報を各音符イベントデータに付加し、記号だけを記号イベントデータとして所定の優先順位により定まる処理順に並べた記号データを前記記号表示イベントデータから生成すると共に、前記記号データにおける各記号イベントデータが編集の対象とする音符イベントデータの前記識別情報を各記号イベントデータに付加する中間データ生成ステップ、該中間データ生成ステップにより生成された前記中間データから演奏データを生成する際に、前記音符データと前記記号データとに基づき、前記記号イベントデータに付加されている前記識別情報と同一の識別情報が付加されている前記音符イベントデータに対して、該記号イベントデータに応じた処理で編集を行うことにより前記演奏イベントデータを生成する演奏データ生成ステップ、前記楽譜データの音符表示イベントデータまたは記号イベントデータが編集されたとき、該編集された楽譜データを参照して中間データを書き換え、該書き換えられた中間データから編集された音符イベントデータおよび記号イベントデータを検索し、検索された音符イベントデータおよび記号イベントデータに基づき対応する演奏データ内の演奏イベントデータを編集する編集ステップをコンピュータに実行させるための楽譜編集プログラムを記録したコンピュータ読み取り可能な記録媒体とされている。
【０００８】
このような本発明によれば、楽譜データから音符イベントデータと記号イベントデータとからなる中間データを生成し、中間データである音符イベントデータと記号イベントデータに基づいて演奏データを生成するようにしたので、楽譜データの音符あるいは記号を編集した際に、編集された音符イベントデータあるいは記号イベントデータに関連する中間データを編集し、編集された中間データに関連する演奏データを編集するだけで、演奏データを編集することができるようになる。
したがって、楽譜データの編集に伴う演奏データの編集処理の負担を軽減することができ、パーソナルコンピュータ等を用いて編集処理を実行する際に、短時間で効率的に演奏データの編集を行うことができるようになる。
【０００９】
【発明の実施の形態】
本発明の実施の形態である楽譜編集プログラムが実行される本発明の楽譜編集装置のハードウェア構成の一例を図１に示す。
図１において、１０はパーソナルコンピュータ１における動作を制御する中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）であり、１１は動作時の経過時間を示したり、特定の間隔でタイマ割込を発生するタイマであり、自動伴奏等の時間管理およびエンベロープ制御や効果制御等に使用され、１２はＣＰＵ１０が実行する本発明にかかる楽譜編集プログラムや楽譜編集プログラムが搭載されている自動演奏プログラム等のプログラムや、各種データ等が格納されているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。１３は楽譜データや後述する中間データとされる音符データおよび記号データ、生成された演奏データ等の格納エリアや、ＣＰＵ１０のワークエリア等が設定されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１０】
また、１４はイーサネット（ｅｔｈｅｒｎｅｔ）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネット等に電話回線等の通信ネットワーク８を介して他のコンピュータに接続するための通信インターフェースであり、通信ネットワーク８を通じて他のコンピュータと本発明の楽譜編集プログラム等のアプリケーションソフトや各種データの受け渡しをすることができる。１５はキーボード２およびマウス３を操作した際の操作情報を検出してバス１９に送出する検出回路であり、キーボード２は多数のキーが配列されているパソコン用のキーボードであり、マウス３はディスプレイ４の画面に表示されるポインタを操作するポインタデバイスである。１６はディスプレイ４に所定の表示を行うようディジタル表示データをアナログ信号に変換してディスプレイ４に送っている表示回路であり、ディスプレイ４は本発明に係る楽譜編集プログラムが起動された際に、楽譜や各種の設定を行えるウィンドウが表示されるディスプレイである。
【００１１】
１７は楽譜編集プログラム等の各種アプリケーションプログラムや各種のデータを記憶可能な外部記憶装置であり、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＦＤＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭドライブ、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ）ドライブ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）ドライブ等により構成することができる。１８は楽譜データから生成されたＭＩＤＩフォーマットとされた演奏データを音源装置５との間で受け渡しするＩＮ／ＯＵＴインターフェースであり、音源装置５は音源レジスタに格納されている複数の発音チャンネルの楽音制御データに基づいて楽音を生成すると共に、エフェクト制御データに基づいて生成された楽音データにリバーブ、コーラス、バリエーション等の効果を付与する音源装置である。また、音源装置５に接続されているＭＩＤＩ機器６はＭＩＤＩ対応とされたシーケンサや電子楽器等の他のＭＩＤＩ機器であり、音源装置５に接続されているサウンドシステムは、音源装置５から出力されるアナログ信号に変換されたアナログ楽音信号を増幅して発音するサウンドシステムである。さらに、１９は各ブロック間の情報の受け渡しを行うバスである。
【００１２】
上記したハードウェア構成は、パーソナルコンピュータやワークステーションと同様の構成である。本発明に係る楽譜編集プログラムは、自動演奏プログラム等に搭載されて作成あるいは記録された楽譜データの編集を行う際に起動されるプログラムとすることができる。例えば、図１に示すハードウェア構成において、自動演奏プログラムを起動した際のディスプレイ４に表示されるメニュー中の「編集」にポインタをあわせてマウス３をクリックすると、楽譜編集プログラムが起動して楽譜データを編集することが可能となる。その楽譜編集の概要を楽譜データの構成を示す図２、中間データである音符データの構成を示す図３、中間データである記号データの構成を示す図４、ディスプレイ４に表示される編集前の楽譜と、中間データとを示す図１２と、ディスプレイ４に表示される編集後の楽譜と、中間データとを示す図１３とを参照しながら説明する。
【００１３】
図１に示すハードウェア構成におけるディスプレイ４に図１２の楽譜データ欄に示す楽譜が表示されているものとする。ただし、以下の説明においては、４分音符長を４８０クロックとしている。この楽譜は、楽譜データを作成することの可能なソフトウェアを起動して作成した楽譜データを表示したものであっても、外部記憶装置１７から楽譜データを読み出して表示したものであってもよいが、表示される際には楽譜データはＲＡＭ１３に格納される。本発明の楽譜編集装置は、この表示にかかる楽譜データからＭＩＤＩフォーマットの演奏データを生成するのであるが、まず、図１２に図示する音符データと、記号データからなる中間データを楽譜データから作成してＲＡＭ１３に確保されたそれぞれの記憶エリアに記憶する。中間データである音符データは、曲の全体を設定する全体設定情報（マスターデータ）と、表示された楽譜の音符から生成された各パート毎の音符イベントデータから構成されている。全体設定情報では、パート構成や拍子等の情報から構成され、各々の音符イベントデータは、楽譜におけるそれぞれの音符のイベント情報で構成され、各々を識別することのできるラベルが付された１音符１イベントデータとされており、音符イベントデータはＭＩＤＩフォーマットの形式とされている。
【００１４】
また、中間データである記号データは、全体設定情報（マスターデータ）と、表示された楽譜の記号から生成された各パート毎の記号イベントデータから構成されている。全体設定情報では、パート構成や曲のテンポ等の情報から構成され、各々の記号イベントデータは１記号１イベントデータとされ、記号イベントデータは記号の処理を行うプログラムを指示するプログラム指示データと、そのプログラムが使用するパラメータデータから構成されている。なお、図１２および図１３における中間データにおける各パート毎の音符イベントデータ中において「４８０」あるいは「９６０」とされた値は、音符長すなわち音符種類を表しているステップタイム値である。
【００１５】
図１２の楽譜データ欄に示す楽譜の楽譜データ（ＲＡＭ１３に格納されている）のデータ構成が図２（ａ）に示されている。図示するように楽譜データは、曲の全体を設定する全体設定情報と、各パート毎の表示イベントデータから構成されている。図示する例では、全体設定情報で曲名が「ソング１」であること、パートが３パートで構成されること、拍子が４分の４拍子であること、テンポが「Ａｌｌｅｇｒｏ」であることが設定されている。これにより、図１２の楽譜データ欄に示すように設定されたテンポや拍子が所定位置に表示される。また、各パートの各々の表示イベントデータは、音符や記号を表示する位置を示す表示位置データと、表示する音符や記号の種類を示す表示イベントとから構成されている。
【００１６】
具体的には、第１パートにおける最初の表示イベントデータは、表示位置が「Ａ」で表示イベントが音高（ノートナンバ）が「Ｃ３」の「４分音符」とされており、この表示イベントデータにより図１２に示す楽譜の第１パート（Ｖｉｏｌｉｎ）の最初の４分音符が五線譜のＣ３に表示される。次の表示イベントデータは表示位置が「Ａ」で表示イベントが「スタッカート」とされており、前記した表示位置が「Ａ」の「４分音符」にスタッカートの記号が付されて表示されるようになる。次の表示イベントデータは表示位置が「Ａ」で表示イベントが「メゾフォルテ（ｍｆ）」とされており、前記した表示位置が「Ａ」の「４分音符」にｍｆの記号が付されて表示されるようになる。次の表示イベントデータは、表示位置が「Ｂ」で表示イベントが音高が「Ｅ３」の「４分音符」とされており、この表示イベントデータにより２番目の４分音符が五線譜のＥ３に表示される。次の表示イベントデータは表示位置が「Ｂ」で表示イベントが「表示位置Ｃまでのスラー」とされており、前記した表示位置が「Ｂ」の「４分音符」から表示位置Ｃまでにスラーの記号が付されて表示されるようになる。
【００１７】
次の表示イベントデータは、表示位置が「Ｃ」で表示イベントが音高が「Ｇ３」の「４分音符」とされており、この表示イベントデータにより３番目の４分音符が五線譜のＧ３に表示される。次の表示イベントデータは、表示位置が「Ｄ」で表示イベントが音高が「Ｃ３」の「４分音符」とされており、この表示イベントデータにより４番目の４分音符が五線譜のＣ３に表示される。次の表示イベントデータは表示位置が「Ｄ」で表示イベントが「フォルテッシモ（ｆｆ）」とされており、前記した表示位置が「Ｄ」の「４分音符」にｆｆの記号が付されて表示されるようになる。以降同様とされ、次いで順次続くパート毎の表示データとされ、エンドデータで楽譜データは終了する。
このように、表示イベントデータには音符（の図柄）を表示させる音符表示イベントデータと記号（の図柄）を表示させる記号表示イベントデータとがあり、これらの表示イベントデータは演奏順にＲＡＭ１３の所定エリアに記録されるが、同じ演奏タイミング位置の複数の表示イベントデータが存在する際には、記号表示イベントデータよりも音符表示イベントデータが優先されて記録される。
【００１８】
また、この楽譜データから生成されてＲＡＭ１３に記録される中間データのうちの音符データのデータ構成を図３に示す。この音符データは、図２（ａ）に示す楽譜データのうちの音符を表示させる音符表示イベントデータに基づいて生成され、全体設定情報と各パート毎の音符イベントデータとから構成される。音符イベントデータは演奏順に記録されていると共に、各々の音符イベントデータはＭＩＤＩフォーマットの形式とされており、それぞれの音符イベントデータを識別するための一意のラベルがそれぞれに付されている。
【００１９】
図２（ａ）に示す楽譜データの音符表示イベントデータに基づいて生成された具体的な音符イベントデータが図３に示されており、第１パートの音符イベントデータにおける最初の音符イベントデータは、「ラベル１」が付されており、発音タイミングが「Ａ」、ノートナンバが「Ｃ３」、ベロシティが「６４」、発音長（ゲートタイム）が「３６０」とされたＭＩＤＩデータとされている。２番目の音符イベントデータは、「ラベル２」が付されており、発音タイミングが「Ｂ」、ノートナンバが「Ｅ３」、ベロシティが「６４」、発音長（ゲートタイム）が「３６０」とされたＭＩＤＩデータとされている。３番目の音符イベントデータは、「ラベル３」が付されており、発音タイミングが「Ｃ」、ノートナンバが「Ｇ３」、ベロシティが「６４」、発音長（ゲートタイム）が「３６０」とされたＭＩＤＩデータとされている。４番目の音符イベントデータは、「ラベル４」が付されており、発音タイミングが「Ｄ」、ノートナンバが「Ｃ３」、ベロシティが「６４」、発音長（ゲートタイム）が「３６０」とされたＭＩＤＩデータとされている。
【００２０】
以降のデータは省略されているが、図１２に示す楽譜に対応していることが理解できる。また、第１パートの音符イベントデータに続いて第２パートの音符イベントデータが記録され、次いで順次続くパート毎の音符イベントデータが記録され、エンドデータで音符データは終了する。
このように、音符イベントデータは各パート毎に演奏順とされてＲＡＭ１３の記録エリアに記録され、各音符イベントデータに付されたラベルは、後述する記号データにおいて特定の音符イベントデータを参照するために利用される。
【００２１】
次に、上記した楽譜データから生成されてＲＡＭ１３に記録される中間データのうちの記号データのデータ構成を図４（ａ）に示す。この記号データは、図２（ａ）に示す楽譜データのうちの記号を表示させる記号表示イベントデータに基づいて生成され、全体設定情報と各パート毎の記号イベントデータとから構成される。記号イベントデータは所定の優先順位で記録されると共に、各々の記号イベントデータはその記号の処理を行うプログラムを指示するプログラム指示データ（ただし、図４（ａ）では記号名で示されている）と、指示されたプログラムで使用されるパラメータを示すパラメータデータとから構成されており、パラメータデータは上記した音符イベントデータに付されたラベル名で参照するようにされている。
【００２２】
図２（ａ）に示す楽譜データの記号表示イベントデータに基づいて生成された具体的な記号イベントデータが図４（ａ）に示されており、第１パートの記号イベントデータにおける最初の記号イベントデータは、プログラム指示データが「スタッカート」とされており、パラメータデータが「ラベル１」とされ、このスタッカート処理が行われる際に音符データにおけるラベル１が付された音符イベントデータが使用されるようになる。２番目の記号イベントデータは、プログラム指示データが「スラー」とされており、パラメータデータが「ラベル１」および「ラベル２」とされ、このスラー処理が行われる際に音符データにおけるラベル１が付された音符イベントデータとラベル２が付された音符イベントデータが使用されるようになる。また、３番目の記号イベントデータは、プログラム指示データが「ボリューム（メゾフォルテ）」とされており、パラメータデータが「ラベル１」とされ、このボリューム処理が行われる際に音符データにおけるラベル１が付された音符イベントデータが使用されるようになる。また、４番目の記号イベントデータは、プログラム指示データが「ボリューム（フォテッシモ）」とされており、パラメータデータが「ラベル４」とされ、このボリューム処理が行われる際に音符データにおけるラベル４が付された音符イベントデータが使用されるようになる。
【００２３】
以降のデータは省略されているが、図１２に示す楽譜に対応していることが理解できる。また、第１パートの記号イベントデータに続いて第２パートの記号イベントデータが記録され、次いで順次続くパート毎の記号イベントデータが記録され、エンドデータで記号データは終了する。
なお、記号イベントデータは各パート毎に所定の優先順位の順番でＲＡＭ１３に順次記録されている。この優先順位は、処理を行う順番を意味しており、発音タイミングを修正する処理や発音長（ゲートタイム）を修正するための処理は、ボリューム（ベロシティ）を修正する処理より先に行われる（優先順位が上位）ようにされる。具体的には、メゾフォルテの処理よりスタッカートの処理が先に行われる。また、複数音符に対して実行される処理より、１音符に対する処理の方が先に行われる。具体的には、クレッシェンドの処理よりメゾフォルテの処理が先に行われる。これは、記号イベントデータの処理は時間順でなく種類に応じた順番で行わないと正しい結果が得られなくなるためである。このような優先順位の順番でＲＡＭ１３に記号イベントデータは記録されている。
【００２４】
次に、中間データである図３に示した音符データと図４（ａ）に示した記号データとから生成した演奏データのデータ構造を図５（ａ）に示す。
図５（ａ）に示す演奏データは、図３に示す音符データに対して、図４（ａ）に示す記号イベントデータにより記号処理が実行されて生成され、全体設定情報と各パート毎の演奏イベントデータとから構成される。演奏イベントデータは演奏順に記録されると共に、各々の演奏イベントデータはＭＩＤＩフォーマットの形式とされている。
【００２５】
図３に示す音符データに対して、図４（ａ）に示す記号イベントデータにより記号処理が実行されて生成された具体的な演奏イベントデータが図５（ａ）に示されており、第１パートの演奏イベントデータにおける最初の演奏イベントデータは、ラベル１が付された音符イベントデータに対応するものであり、発音タイミングの時刻が「０」、ノートナンバが「Ｃ３」、ベロシティが「８０」、発音長（ゲートタイム）が「２４０」とされたＭＩＤＩデータとされている。ここで、発音長がラベル１が付された当該音符イベントデータにおける「３６０」より短くされて「２４０」とされているのは、当該音符イベントデータにスタッカート処理が施されたことによるものであり、ベロシティがラベル１が付された当該音符イベントデータにおける「６４」より大きくされて「８０」とされているのは、当該音符イベントデータにボリューム（メゾフォルテ）処理が施されたことによるものである。
【００２６】
２番目の演奏イベントデータは、ラベル２が付された音符イベントデータに対応するものであり、発音タイミングが「４８０」、ノートナンバが「Ｅ３」、ベロシティが「６４」、発音長（ゲートタイム）が「４８０」とされたＭＩＤＩデータとされている。ここで、発音タイミングが「４８０」とされているのは、全体設定情報におけるテンポ数の情報と、当該音符イベントデータまでの音符イベントデータにおける音符長の情報から算出されたタイミングであり、発音長が「４８０」と長くされているのはラベル２の当該音符イベントデータにスラー処理が施されたことによるものである。３番目の演奏イベントデータは、ラベル３が付された音符イベントデータに対応するものであり、発音タイミングが「９６０」、ノートナンバが「Ｇ３」、ベロシティが「６４」、発音長（ゲートタイム）が「３６０」とされたＭＩＤＩデータとされている。ここで、発音タイミングが「９６０」とされているのは、全体設定情報におけるテンポ数の情報と、当該音符イベントデータまでの音符イベントデータにおける音符長の情報から算出されたタイミングである。
【００２７】
４番目の演奏イベントデータは、ラベル４が付された音符イベントデータに対応するものであり、発音タイミングが「１４４０」、ノートナンバが「Ｃ３」、ベロシティが「１１０」、発音長（ゲートタイム）が「３６０」とされたＭＩＤＩデータとされている。ここで、発音タイミングが「１４４０」とされているのは、全体設定情報におけるテンポ数の情報と、当該音符イベントデータまでの音符イベントデータにおける音符長の情報から算出されたタイミングであり、ベロシティが「１１０」と大きくされているのはフォルテッシモ処理がラベル４の当該音符データに施されたことによるものである。
以降の演奏データは省略されているが、図１２に示す楽譜に対応していることが理解できる。また、第１パートの演奏イベントデータに続いて第２パートの演奏イベントデータが記録され、次いで順次続くパート毎の演奏イベントデータが記録され、エンドデータで演奏データは終了する。このように、演奏イベントデータは演奏順とされた各パート毎にＲＡＭ１３に記録されている。
【００２８】
以上の説明ではディスプレイ４に表示される楽譜の新規楽譜データから演奏データを生成することを説明した。次いで、ディスプレイ４に表示されている楽譜を編集した場合に、編集された楽譜データから編集後の演奏データを生成する態様を説明する。ここでは、説明の都合上図１２に示す楽譜データ欄に示す楽譜を図１３の楽譜データ欄に示す楽譜に示すように第１パート（Ｖｉｏｌｉｎ）の１小節目の４つの音符にクレッシェンドを施すように編集した場合につき説明するものとする。
図１２に示す楽譜データ欄に示す楽譜を図１３の楽譜データ欄に示す楽譜に示すように第１パート（Ｖｉｏｌｉｎ）の１小節目の４つの音符にクレッシェンドを施すように編集するには、図１３の楽譜データ欄に示すようにａで示すクレッシェンドのアイコンを表示された楽譜に追加すればよい。これにより、同図に図示する中間データにおける記号データ欄のパート１データにＡで示すクレッシェンドの記号イベントデータが追加される。具体的には、楽譜データに図２（ｂ）に示す表示イベントデータａが追加される。追加された表示イベントデータａは、表示位置が「Ａ」で表示イベントが「表示位置Ｄまでのクレッシェンド」とされている。
【００２９】
このように楽譜データが編集されると、中間データもその編集に応じて編集されるが、この場合は、クレッシェンド記号のみが追加される編集とされていることから、中間データのうちの記号データだけが編集されるようになる。具体的には、音符データは編集されず、記号データが編集されて図４（ｂ）に示すように記号イベントデータＡが図４（ａ）に示す編集前の記号データに追加されて記録されるようになる。追加された記号イベントデータＡは、ボリューム処理の記号イベントデータとされていると共に、他の記号イベントとの処理の優先順位が考慮されて、「ラベル４」をパラメータデータとする「ボリューム（フォルテッシモ）」処理の記号イベントデータの後に、４つの音符に対する処理とされることから「ラベル１〜ラベル４」をパラメータデータとする「ボリューム（クレッシェンド）」処理の記号イベントデータＡが追加されるようになる。
【００３０】
このように記号データが編集されると、その編集に応じて演奏データも編集されるようになる。この場合、演奏データは編集された記号データに対応する演奏イベントデータが修正あるいは追加・削除されることにより編集前の演奏データが編集されるが、上記した例における編集後にはラベル１が付された音符イベントデータにおけるメゾフォルテのボリュームから、ラベル４が付された音符イベントデータにおけるフォルテッシモのボリュームになるように音量が徐々に変化するボリューム処理が行われる。
具体的には、図５（ｂ）に示すように編集後には、ラベル１〜ラベル４が付された音符イベントデータに対応する演奏イベントデータが演奏イベントデータＡ’となるよう編集されるようになる。すなわち、ラベル１が付された音符イベントデータに対応する演奏イベントデータは、発音タイミングの時刻が「０」、ノートナンバが「Ｃ３」、ベロシティが「８０」、発音長が「２４０」と変化しないが、続いて、タイミングの時刻が「２４０」でボリュームを「＋５」する演奏イベントデータが追加される。
【００３１】
また、ラベル２が付された音符イベントデータに対応する演奏イベントデータは、発音タイミングが「４８０」、ノートナンバが「Ｅ３」、ベロシティが「８０」、発音長が「４８０」、ボリューム「＋５」と修正され、続いて、タイミングの時刻が「７２０」でボリュームを「＋５」する演奏イベントデータが追加される。さらに、ラベル３が付された音符イベントデータに対応する演奏イベントデータは、発音タイミングが「９６０」、ノートナンバが「Ｇ３」、ベロシティが「８０」、発音長が「３６０」、ボリューム「＋５」と修正され、続いて、タイミングの時刻が「１２００」でボリュームを「＋５」する演奏イベントデータが追加される。さらにまた、ラベル４が付された音符イベントデータに対応する演奏イベントデータは、発音タイミングが「１４４０」、ノートナンバが「Ｃ３」、ベロシティが「８０」、発音長が「３６０」、ボリューム「＋５」と修正される。これにより、ラベル４が付された演奏イベントデータのボリュームはフォルテッシモに相当する「１１０」となる。
【００３２】
このように編集後の演奏データには、図５（ｃ）に示すようにタイミング時間が「２４０」毎に「＋５」ずつボリュームが増加する演奏イベントデータとなるように編集されて、徐々にボリュームが増加され、全体のボリュームがタイミング時刻「１４４０」の時点において「１１０」とされる。すなわち、ラベル１が付された音符イベントデータにおけるメゾフォルテのボリュームから、ラベル４が付された音符イベントデータにおけるフォルテッシモのボリュームになるようなクレッシェンドの編集が行われる。
なお、「＋５」ずつ増加されているボリュームデータは、ＭＩＤＩにおける音量調整のコントロール・チェンジのメッセージの一つであるエクスプレッションのデータに相当するものであり、当該パートの音量はベロシティとボリュームデータに基づいて制御される。すなわち、発音タイミング「０」においてはベロシティが「８０」でボリュームデータは「０」で、合わせて「８０」となり、発音タイミング「２４０」においてはベロシティが「８０」でボリュームデータは「＋５」増加されて「５」となり、合わせて「８５」となる。また、発音タイミング「４８０」においてはベロシティが「８０」でボリュームデータは「＋５」増加されて「１０」となり、合わせて「９０」となり、発音タイミング「７２０」においてボリュームデータは「＋５」増加されて「１５」となり、合わせて「９５」となる。そして、発音タイミング「９６０」においてはベロシティが「８０」でボリュームデータは「＋５」増加されて「２０」となり、合わせて「１００」となり、発音タイミング「１２００」においてボリュームデータは「＋５」増加されて「２５」となり、合わせて「１０５」となる。さらに、発音タイミング「１４４０」においてはベロシティが「８０」でボリュームデータは「＋５」増加されて「３０」となり、合わせて「１１０」となる。この様子が図５（ｃ）に示されている。
以上の説明では、ボリュームに関する編集の説明をしたが、編集はこれに限らず、音符長や音高の編集あるいはトリルのような記号が追加される編集であってもよい。例えば、トリルの記号が追加された場合は、トリルの記号に対応するよう音符イベントデータを追加する編集が行われる。この場合は、追加された音符イベントデータに対応する演奏イベントデータが生成されて、編集前の演奏データに追加されることにより演奏データが編集されるようになる。
【００３３】
次に、図１に示すハードウェア構成において上記説明した本発明にかかる楽譜編集処理のプログラムが搭載された自動演奏プログラムが起動された際に実行される処理を、そのフローチャートを参照しながら説明する。
最初に、自動演奏プログラムが起動された際に実行されるメイン処理を、図６に示すフローチャートを参照しながら説明する。
メイン処理が開始されるとディスプレイ４に表示される初期画面の設定や、ＲＡＭ１３に設定される各種バッファおよびフラグのリセット等の初期設定処理が行われる（ステップＳ１）。次いで、楽譜データの新規作成の開始指示があるか否かが判断され（ステップＳ２）、楽譜作成開始指示があると判断された際には新規の楽譜データを作成する楽譜作成処理が行われ（ステップＳ３）、楽譜作成開始指示がないと判断された際にはステップＳ３がスキップされて楽譜データの編集開始指示があるか否かが判断される（ステップＳ４）。なお、楽譜作成処理では、楽譜データのみでなく中間データである音符データおよび記号データも生成されると共に、さらに演奏データも生成される。
【００３４】
楽譜編集開始時があると判断された場合は、楽譜データの編集処理が行われ（ステップＳ５）るが、楽譜編集処理では楽譜データの編集を行うことにより、中間データである音符データおよび記号データの編集が行われると共に、演奏データの編集も行われる。楽譜編集処理が終了すると、ユーザの自動演奏開始の指示に従って、演奏データに基づく演奏を行う自動演奏処理が行われる（ステップＳ６）。次いで、その他の処理が行われ（ステップＳ７）た後、メイン処理の終了指示操作があるか否かが判断され（ステップＳ８）、終了指示操作があると判断された場合は、メイン処理は終了する。終了指示操作がないと判断された場合は、ステップＳ２の楽譜作成処理に戻りメイン処理終了指示がされるまで以上の処理が繰り返し実行される。
【００３５】
次に、メイン処理におけるステップＳ３で実行される楽譜作成処理を、図７に示すフローチャートを参照しながら説明する。
楽譜データの新規作成の開始指示があって楽譜作成処理が開始されると、まず、作成するパート数をユーザが入力することにより決定される（ステップＳ１０）。次いで、決定されたパート数に相当する五線譜がディスプレイ４に表示されると共に、初期の楽譜データを作成する（ステップＳ１１）。この初期の楽譜データの作成では、設定された全体設定情報と、パートナンバのみを記録したパート毎の記録領域がＲＡＭ１３上に作成される。そして、キーボード２やマウス３等を使用して、ディスプレイ４に表示されている五線譜上に音符や各種記号を張り付けていくことにより楽譜が入力されるが、このような楽譜イベントの入力操作があるか否かが判断される（ステップＳ１２）。ここで、入力操作があると判断された場合は、入力操作に基づいた表示イベントデータを、五線譜上に入力された音符あるいは記号に対応する楽譜データの位置に書き込む（ステップＳ１３）。すなわち、新規入力された表示イベントデータを、楽譜データ内の対応パートのイベント情報のステップＳ１１で作成された記録領域へ演奏順に従って記録していくようにされる。
【００３６】
次いで、パート数の追加や削除、入力した楽譜イベントの削除や移動等のその他処理が行われ（ステップＳ１４）、楽譜作成終了指示があるか否かが判断される（ステップＳ１５）。ここで、楽譜作成処理の終了指示がないと判断された場合は、ステップＳ１２に戻り上記した楽譜作成処理が再度実行されるが、楽譜イベントの入力操作がないと判断された場合は、ステップＳ１３がスキップされてその他処理（ステップＳ１４）が行われる。このようにステップＳ１２ないしステップＳ１４の処理が繰り返し行われることにより図２（ａ）に示すような楽譜データが作成され、楽譜作成終了指示がされると、作成された楽譜データに基づいて音符データと記号データからなる中間データを生成する後述する中間データ処理が行われる（ステップＳ１６）。次いで、作成された音符データと記号データからなる中間データから演奏データを生成する後述する演奏データ処理１が行われ（ステップＳ１７）、楽譜作成処理は終了する。
【００３７】
次に、楽譜作成処理のステップＳ１６で実行される中間データ処理を図８に示すフローチャートを参照しながら説明する。
楽譜作成処理が終了し中間データ処理が開始されると、初期の音符データと記号データが作成される（ステップＳ２０）。初期の音符データと記号データの作成では、設定された全体設定情報とパートナンバだけを記録した状態の音符データの記録領域および記号データの記録領域がＲＡＭ１３に作成される。次いで、楽譜データの先頭から順に１表示イベントデータずつデータが読み出され（ステップＳ２１）、表示イベントデータの読み出しがすべて終了したか否かが判断される（ステップＳ２２）。ここで、表示イベントデータが残っている場合は、読み出された表示イベントデータが音符を表示させる音符表示イベントデータか否か判断される（ステップＳ２３）。そして、音符表示イベントデータの場合は読み出された音符表示イベントデータから、発音タイミングや音高、ベロシティ、発音長からなる音符イベントデータが作成されると共に、一意のラベルが付されて音符データ記録領域に順次に書き込まれる（ステップＳ２４）。
【００３８】
作成された音符イベントデータがその記録領域に書き込まれると、ステップＳ２１に戻り次の表示イベントデータが読み出され、上記と同様の処理が繰り返される。この処理において、読み出された表示イベントデータが記号を表示する表示イベントデータの場合は、音符イベントデータが作成されることなく（ステップＳ２４はスキップされる）、次の表示イベントデータが読み出される。このようにして、表示イベントデータ中の音符を表示させる表示イベントデータの全てから対応する音符イベントデータが作成されて、その記録領域に書き込まれることにより、図３に示すような音符データが生成される。これにより、ステップＳ２２にて全ての表示イベントの読み出しが終了したと判断されて、楽譜データの読み出し位置が先頭に戻される（ステップＳ２５）。
【００３９】
次いで、楽譜データの先頭から順に１表示イベントデータずつデータが読み出され（ステップＳ２６）、表示イベントデータの読み出しがすべて終了したか否かが判断される（ステップＳ２７）。ここで、表示イベントデータが残っている場合は、読み出された表示イベントデータが記号を表示させる記号表示イベントデータか否か判断される（ステップＳ２８）。そして、記号表示イベントデータの場合は読み出された記号表示イベントデータから、記号に対応する処理を行うプログラムを指示するプログラム指示データと、処理に使用するパラメータデータからなる記号イベントデータが作成され、記号データ記録領域に順次に書き込まれる（ステップＳ２９）。
【００４０】
作成された記号イベントデータがその記録領域に書き込まれると、ステップＳ２６に戻り次の表示イベントデータが読み出され、上記と同様の処理が繰り返される。この処理において、読み出された表示イベントデータが音符を表示する表示イベントデータの場合は、記号イベントデータが作成されることなく（ステップＳ２９はスキップされる）、次の表示イベントデータが読み出される。このようにして、表示イベントデータ中の記号を表示させる表示イベントデータの全てから対応する記号イベントデータが作成されて、その記録領域に書き込まれることにより図４（ａ）に示すような記号データが生成される。これにより、ステップＳ２７にて全ての表示イベントの読み出しが終了したと判断されて、作成された記号データ内の記号イベントデータが優先順位の順番に並び替えられる（ステップＳ３０）。この優先順位は前記したように、処理を行う順番を意味しており、発音タイミングを修正する処理や発音長（ゲートタイム）を修正するための処理は、ボリューム（ベロシティ）を修正する処理より先に行なうようにしたり、データを削除するような処理は一番最後に実施するよう設定されるためである。この並び替え処理が終了すると、中間データ処理は終了される。
【００４１】
次に、楽譜作成処理のステップＳ１７で実行される演奏データ処理１を図９に示すフローチャートを参照しながら説明する。
中間データ処理が終了し演奏データ処理１が開始されると、初期の演奏データが作成される（ステップＳ３５）。初期の演奏データの作成では、設定された全体設定情報とパートナンバだけを記録した状態の演奏データの記録領域をＲＡＭ１３に作成し、この記録領域に中間データ処理で生成された音符データ内の各パート毎の音符イベントデータを演奏イベントデータとして全て書き込む。次いで、ステップＳ３６にて中間データ処理で生成された記号データの先頭から順に１つずつ記号イベントデータを読み出し、その記号に応じて演奏データ内に記録されている演奏イベントデータを書き換えたり、追加したりする処理を行う。この処理は、記号イベントデータの記号種類毎に予め用意されている所定のプログラム（関数）に従って、演奏データ内の演奏イベントデータを修正したり、あるいは新規演奏イベントデータの追加等の処理が行われる。なお、所定のプログラムは、記号イベントデータ内のプログラム指示データにより読み出されて、記号イベントデータ内のパラメータデータを参照して対応するラベルの付された演奏イベントデータ（ここでは、演奏データの記録領域に記録されているので音符イベントデータではなく、演奏イベントデータとなっている）を編集している。
次いで、演奏データ内の全てのラベルデータが削除され（ステップＳ３７）、演奏データ処理１は終了する。これにより、図５（ａ）に示すような演奏データが生成される。
【００４２】
次に、楽譜編集指示開始の指示がされた際にメイン処理のステップＳ５で実行される楽譜編集処理を図１０に示すフローチャートを参照しながら説明する。
楽譜編集処理が開始されると、ユーザが編集したい楽譜データを選択する（ステップＳ４０）。楽譜データが選択されると、選択された楽譜データに基づく楽譜がディスプレイ４に表示される（ステップＳ４１）。そして、編集操作があるか否かが判断される（ステップＳ４２）が、編集はキーボード２やマウス３等を使用して、ディスプレイ４に表示された五線譜上に音符や各種音楽用の記号のアイコンを追加、あるいは既に表示されている音符や各種音楽用の記号を削除・移動させることにより行われるので、ここでは、このような操作があるか否かが判断される。ここで、編集操作があると判断されると、上記した編集操作に対応して楽譜データ内の表示イベントデータが書き換えられる。さらに、ディスプレイ４に表示されている楽譜の表示も図１３の楽譜データ欄のａに示すように対応して変更される（ステップＳ４３）。
【００４３】
次いで、楽譜編集の終了指示がされたか否かが判断され（ステップＳ４４）、終了指示がされていない場合はステップＳ４２に戻り上記した処理が繰り返し行われる。そして、ユーザが音符や記号の編集を終了して楽譜編集の終了指示を行うと、新規追加あるいは削除された図２（ｂ）に示すような編集後の楽譜データを参照して、中間データである音符データや記号データが書き換えられる（ステップＳ４５）。この場合、記号データ内に新規記号イベントデータを書き加える場合は、前記した優先順位に従った位置に書き加えられる。例えば、図１３に示すようにクレッシェンドが追加された場合は、記号データが図４（ｂ）に示すように記号イベントデータＡが追加される。次いで、編集された音符データと記号データからなる中間データから後述する演奏データを編集する演奏データ処理２が行われ（ステップＳ４６）、楽譜編集処理は終了する。
【００４４】
次に、楽譜編集処理のステップＳ４６で実行される演奏データ処理２を図１１に示すフローチャートを参照しながら説明する。
演奏データ処理２が開始されると、音符データ内から編集にかかる音符イベントデータが検索され（ステップＳ５０）、編集された音符イベントデータである編集イベントがあるか否かが判断される（ステップＳ５１）。ここで、編集イベントが検出されると、検索された音符イベントデータに基づき、演奏データ内の対応する演奏イベントデータの修正や追加・削除等が行われ（ステップＳ５２）、ステップＳ５０に戻る。この演奏イベントデータの修正や追加・削除等の処理は編集イベントが検出される毎に行われる。そして、再度音符データ内から編集イベントが検索されるが、編集イベントがないと判断されると、記号データ内から編集にかかる記号イベントが検索される（ステップＳ５３）。
【００４５】
次いで、記号データから編集イベントがあるか否かが判断され（ステップＳ５４）、編集イベントが検出されると、検索された編集イベントに係る記号イベントデータに基づく演奏データ内の対応する演奏イベントデータが編集され（ステップＳ５５）、ステップＳ５３に戻る。この編集の際には、記号データの処理優先順位にしたがって検索された記号イベントデータに基づいて、音符データ内の音符イベントデータをパラメータデータとして使用して新規データを作成し、作成した新規データを演奏データ内の対応する演奏イベントデータとの置き換え、あるいは追加が行われたり、または演奏イベントデータの削除が行われる。この演奏データの編集の処理は記号データから編集イベントが検索される毎に行われ、ステップＳ５３ないしステップＳ５５の処理が繰り返し行われることにより、図５（ｂ）に示すような修正後の演奏データが生成される。そして、ステップＳ５４にて記号データ内から編集イベントが検索されなくなると、演奏データ処理２は終了する。
以上の説明では、クレッシェンドの音楽記号を追加する例を示したが、本発明では音楽用の装飾記号（例えば、トリルやビブラート）であればどのようなものにでも適用することができる。
【００４６】
なお、各種データのフォーマットは、各トラックの情報が混在して記録されているようなものであってもよい。その場合、各イベントデータにチャンネルデータを付して、パート分けをするようにすればよい。また、各種データはＲＡＭ１３に記録するようにしたが、外部記憶装置１７に記録エリアを設けて、外部記憶装置１７に各種データを記録するようにしてもよい。
また、上記した実施例における記号データは楽曲すべての記号イベント情報を優先順位順に記録するようにしたが、本発明はこれに限らず、楽曲全体を複数の区間に分割して該分割区間毎であって優先順位順に、記号イベントデータを記録するようにしてもよい。例えば、１小節毎に記号データを記録するようにし、１小節内における記号イベント情報を優先順位順に並べて記録するようにして、１小節毎に音符データを編集していくようにしてもよい。
さらに、音符データには各音符イベントデータ毎にラベルが付されているが、必ずしもラベルを付さないでもよい。その場合、記号データの各記号イベントデータに対応するプログラムで使用する音符イベントデータは、該音符イベントデータの記憶位置を表すポインタを参照情報として使用するようにすればよい。
【００４７】
ところで、本発明は楽譜編集プログラムあるいは楽譜編集プログラムを搭載した自動演奏プログラムの形態とすることができるが、これに限らず、パソコン＋楽譜編集プログラムからなる楽譜編集装置、あるいは楽譜編集プログラムを搭載した自動演奏プログラムからなる自動演奏装置の形態でもよい。この場合、この楽譜編集プログラムあるいは楽譜編集プログラムを搭載した自動演奏プログラムは磁気ディスク、光ディスク、半導体メモリ等の記憶媒体に記憶させて、パソコンに供給するようにしてもよいし、ネットワークを介して供給するようにしてもよい。
【００４８】
さらに、外部記憶装置１７となるＨＤＤ（ハードディスク）は楽譜編集プログラムや各種データを記憶しておく記憶装置である。ＲＯＭ１２に楽譜編集プログラムが記憶されていない場合、このＨＤＤ内のハードディスクに楽譜編集プログラムを記憶させておき、それをＲＡＭ１３に読み込むことにより、ＲＯＭ１２に楽譜編集プログラムを記憶している場合と同様の動作をＣＰＵ１０にさせることができる。このようにすると、楽譜編集プログラムの追加やバージョンアップ等が容易に行える。さらにまた、外部記憶装置１７とすることができるＣＤ−ＲＯＭ（コンパクトディスク・リードオンリーメモリ）ドライブは、ＣＤ−ＲＯＭに記憶されている楽譜編集プログラムや各種データを読み出す装置である。読み出した楽譜編集プログラムや各種データは、ＨＤＤ内のハードディスクにストアされる。この場合も、楽譜編集プログラムの新規インストールやバージョンアップ等が容易に行える。なお、このＣＤ−ＲＯＭドライブ以外にも、外部記憶装置１７として、フロッピィディスク装置、光磁気ディスク（ＭＯ）装置等、様々な形態のメディアを利用するための装置を設けるようにしてもよい。
【００４９】
通信インターフェース１４はＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線等の通信ネットワーク８に接続されており、該通信ネットワーク８を介して、サーバコンピュータと接続される。これを利用して、パーソナルコンピュータ１内に楽譜編集プログラムや各種データが記憶されていない場合、サーバコンピュータから楽譜編集プログラムや楽譜データ等のデータをパーソナルコンピュータ１にダウンロードすることができる。この場合、クライアントとなるパーソナルコンピュータ１は、通信インターフェース１４及び通信ネットワーク８を介してサーバコンピュータヘ楽譜編集プログラムやデータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求された楽譜編集プログラムやデータを、通信ネットワーク８を介してパーソナルコンピュータ１へと配信し、パーソナルコンピュータ１が通信インターフェース１４を介して、これら楽譜編集プログラムやデータを受信して外部記憶装置１７に蓄積することにより、ダウンロードが完了する。
【００５０】
【発明の効果】
本発明は以上のように、楽譜データから音符イベントデータと記号イベントデータとからなる中間データを生成し、中間データである音符イベントデータと記号イベントデータに基づいて演奏データを生成するようにしたので、楽譜データの音符あるいは記号を編集した際に、編集された音符イベントデータあるいは記号イベントデータに関連する中間データを編集し、編集された中間データに関連する演奏データを編集するだけで、演奏データを編集することができるようになる。
したがって、楽譜データの編集に伴う演奏データの編集処理の負担を軽減することができ、パーソナルコンピュータ等を用いて編集処理を実行する際に、短時間で効率的に演奏データの編集を行うことができるようになる。
【図面の簡単な説明】
【図１】本発明の実施の形態である楽譜編集プログラムが実行される本発明の楽譜編集装置のハードウェア構成の一例を示すブロック図である。
【図２】本発明の楽譜編集装置に係る楽譜データのデータ構成、および、編集後の楽譜データのデータ構成を示す図である。
【図３】本発明の楽譜編集装置に係る音符データのデータ構成、および、編集後の音符データのデータ構成を示す図である。
【図４】本発明の楽譜編集装置に係る記号データのデータ構成、および、編集後の記号データのデータ構成を示す図である。
【図５】本発明の楽譜編集装置に係る演奏データのデータ構成、および、編集後の演奏データのデータ構成を示す図である。
【図６】本発明の楽譜編集装置に係るメイン処理のフローチャートである。
【図７】本発明の楽譜編集装置に係るメイン処理における楽譜作成処理のフローチャートである。
【図８】本発明の楽譜編集装置に係る楽譜作成処理における中間データ処理のフローチャートである。
【図９】本発明の楽譜編集装置に係る楽譜作成処理における演奏データ処理１のフローチャートである。
【図１０】本発明の楽譜編集装置に係るメイン処理における楽譜編集処理のフローチャートである。
【図１１】本発明の楽譜編集装置に係る楽譜編集処理における演奏データ処理２のフローチャートである。
【図１２】本発明の演奏編集装置に係るディスプレイに表示される編集前の楽譜と、中間データとを示す図である。
【図１３】本発明の演奏編集装置に係るディスプレイに表示される編集後の楽譜と、中間データとを示す図である。
【符号の説明】
１  パーソナルコンピュータ、２  キーボード、３  マウス、４  ディスプレイ、５  音源装置、６  ＭＩＤＩ機器、７  サウンドシステム、８  通信ネットワーク、１０  ＣＰＵ、１１  タイマ、１２  ＲＯＭ、１３  ＲＡＭ、１４  通信インターフェース、１５  検出回路、１６  表示回路、１７  外部記憶装置、１８  ＩＮ／ＯＵＴ  インターフェース、１９  バス
【図１】
0003582396.tif 000002
【図２】
0003582396.tif 000003
【図３】
0003582396.tif 000004
【図４】
0003582396.tif 000005
【図５】
0003582396.tif 000006
【図６】
0003582396.tif 000007
【図７】
0003582396.tif 000008
【図８】
0003582396.tif 000009
【図９】
0003582396.tif 000010
【図１０】
0003582396.tif 000011
【図１１】
0003582396.tif 000012
【図１２】
0003582396.tif 000013
【図１３】
0003582396.tif 000014