(57)【要約】【課題】タイムレートデータ変更後の演奏データの再生時刻間隔（時間情報の間隔）を適度に保つことができるコンピュータで実行される演奏データの編集プログラムを提供すること。【解決手段】タイムレート編集処理では、タイムレートデータを遅くして演奏データの再生時刻間隔を「２０」Ｃｌｏｃｋより大きくにした場合には、その部分に新たな演奏データが挿入され、一方、タイムレートデータを速くして演奏データの再生時刻間隔を「５」Ｃｌｏｃｋ未満にした場合には、その短くなった部分の演奏データが自動演奏の際に非出力のデータに変更される。よって、演奏データの再生時刻間隔を適度に保つことができるので、演奏データの編集や演奏データの再生処理（自動演奏処理）を、滑らかに行うことができる。【選択図】        図３
2004219615.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行される演奏データの編集プログラムにおいて、
タイムレートを入力する入力ステップと、
その入力ステップにより入力されたタイムレートに基づいて記憶手段に記憶される演奏データの時間情報を変更する時間情報変更ステップと、
前記時間情報変更ステップにより変更された時間情報が示す演奏データの時間間隔が所定時間より長くなった部分に、前記記憶手段に記憶される演奏データに基づいて新たな演奏データを挿入する挿入ステップとを備えていることを特徴とするコンピュータで実行される演奏データ編集プログラム。
【請求項２】
コンピュータで実行される演奏データの編集プログラムにおいて、
タイムレートを入力する入力ステップと、
その入力ステップにより入力されたタイムレートに基づいて記憶手段に記憶される演奏データの時間情報を変更する時間情報変更ステップと、
前記時間情報変更ステップにより変更された時間情報が示す演奏データの時間間隔が所定時間より短くなった部分の演奏データを、少なくとも自動演奏の際に非出力とされるデータに変更する変更ステップとを備えていることを特徴とするコンピュータで実行される演奏データの編集プログラム。
【請求項３】
コンピュータで実行される演奏データの編集プログラムにおいて、
タイムレートを入力する入力ステップと、
その入力ステップにより入力されたタイムレートに基づいて記憶手段に記憶される演奏データの時間情報を変更する時間情報変更ステップと、
前記時間情報変更ステップにより変更された時間情報が示す演奏データの時間間隔が所定時間より短くなった部分の演奏データを、前記記憶手段から削除する削除ステップとを備えていることを特徴とするコンピュータで実行される演奏データの編集プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明はコンピュータで実行される演奏データにおいて、タイムレートを入力することにより演奏データの編集が行われるプログラムに関するものである。
【０００２】
【従来の技術】特開平２００１−１４７６９１号公報（特許文献１）には、タイムレートを含む演奏データを編集する技術が開示されている。即ち、タイムレートを変更した場合には、その変更されたデータより後に再生される演奏データの再生時刻を変更するのである。例えば、タイムレートを２倍にした場合には、それ以降の演奏データの出力間隔を２分の１に短くし（狭め）、逆に、タイムレートデータを１０分の１に遅くした場合には、それ以降の演奏データの出力間隔を１０倍に長くする（広める）。また、特開平１０−２６０６８５号公報（特許文献２）には、音源において、記憶している波形を再生する際、タイムレートが指定されると、それに応じて波形の再生速度が変化する技術が開示されている。
【０００３】
【特許文献１】特開２００１−１４７６９１号公報
【０００４】
【特許文献２】特開平１０−２６０６８５号公報
【０００５】
【発明が解決しようとする課題】しかしながら、特許文献１に開示されるように、変更されたタイムレートデータに合わせて、演奏データの出力間隔を長短させるだけでは次の問題点がある。即ち、タイムレートを遅くして演奏データの出力間隔を長くする場合には、以降の演奏データの編集は粗い間隔でしか行うことができず、滑らかな演奏データに編集することができないという問題点がある。逆に、タイムレートを速くして演奏データの出力間隔を短くする場合には、演奏データの出力間隔が短くなり、再生時に単位時間当たりの再生データが多くなり、その結果、再生処理を滑らかに行うことができないという問題点がある。
【０００６】
本発明は上述した問題点を解決するためになされたものであり、タイムレートデータ変更後の演奏データの再生時刻間隔（時間情報の間隔）を適度に保つことができるコンピュータで実行される演奏データの編集プログラムを提供することを目的とする。
【０００７】
【課題を解決するための手段】この目的を達成するために請求項１記載のコンピュータで実行される演奏データの編集プログラムは、タイムレートを入力する入力ステップと、その入力ステップにより入力されたタイムレートデータに基づいて記憶手段に記憶される演奏データの時間情報を変更する時間情報変更ステップと、その時間情報変更ステップにより変更された時間情報の間隔が所定時間より長くなった部分に、前記記憶手段に記憶される演奏データに基づいて新たな演奏データを挿入する挿入ステップとを備えている。ここで、「入力」とは、タイムレートの値を新たに入力する場合のみならず、既に存在するタイムレートの値を変更する場合も含まれる。以降の請求項２及び３についても同様である。
【０００８】
請求項１記載の編集プログラムによれば、入力ステップによりタイムレートが入力されると、時間情報変更ステップによって、入力されたタイムレートに基づいて記憶手段に記憶される演奏データの時間情報が変更される。この入力ステップによるタイムレートの入力は、リアルタイムの入力も含んでいる。この時間情報変更ステップにより変更された時間情報の間隔が所定時間より長くなると、その長くなった部分には、挿入ステップによって、記憶手段に記憶される演奏データに基づいて新たな演奏データが挿入される。ここで、挿入ステップにより挿入される新たな演奏データは、例えば、挿入直前または挿入直後の同種の演奏データであっても良いし、挿入直前および挿入直後の同種の演奏データを補間する演奏データであっても良い。
【０００９】
請求項２記載の編集プログラムは、コンピュータで実行される演奏データの編集プログラムにおいて、タイムレートを入力する入力ステップと、その入力ステップにより入力されたタイムレートに基づいて記憶手段に記憶される演奏データの時間情報を変更する時間情報変更ステップと、その時間情報変更ステップにより変更された時間情報の間隔が所定時間より短くなった部分の演奏データを、少なくとも自動演奏の際に非出力とされるデータに変更する変更ステップとを備えている。なお、請求項２記載の所定時間は、請求項１記載の所定時間と同一の時間又は異なる時間として構成される。
【００１０】
請求項２記載の編集プログラムによれば、入力ステップによりタイムレートが入力されると、時間情報変更ステップによって、そのタイムレートに基づいて記憶手段に記憶される演奏データの時間情報が変更される。この時間情報変更ステップにより変更された時間情報の間隔が所定時間より短くなると、変更ステップにより、その短くなった部分の演奏データが少なくとも自動演奏の際に非出力とされるデータに変更される。ここで、変更ステップによるデータの変更は、例えば、演奏データの一部を変更してその演奏データを自動演奏の際に非出力データとするものでも良いし、演奏データ自体または演奏データに対応付けして所定のデータを付加して、その演奏データを自動演奏の際に非出力データとするものでも良い。
【００１１】
なお、請求項２記載の編集プログラムにおいて、編集後の演奏データを表示する表示ステップであって、前記変更ステップにより少なくとも自動演奏の際に非出力のデータに変更された演奏データを非表示とする表示ステップを備えても良い。また、前記時間情報変更ステップにより変更された時間情報の間隔が、前記変更ステップにより非出力のデータに変更された演奏データにおいて所定時間より長くなった場合に、その演奏データを、自動演奏の際に出力されるデータに再変更する再変更ステップを備えても良い。更に、前記表示ステップは、前記再変更ステップにより出力データに再変更された演奏データを、演奏データの表示の際に表示するものとしても良い。
【００１２】
請求項３記載の編集プログラムは、コンピュータで実行される編集プログラムであってタイムレートを入力する入力ステップと、その入力ステップにより入力されたタイムレートに基づいて前記記憶手段に記憶される演奏データの時間情報を変更する時間情報変更ステップと、その時間情報変更ステップにより変更された時間情報の間隔が所定時間より短くなった部分の演奏データを、前記記憶手段から削除する削除ステップとを備えている。なお、請求項３記載の所定時間は、請求項１または２記載の所定時間と同一の時間又は異なる時間として構成される。
【００１３】
請求項３記載の編集プログラムによれば、入力ステップによりタイムレートが入力されると、時間情報変更ステップによって、その入力ステップにより入力されたタイムレートデータに基づいて記憶手段に記憶される演奏データの時間情報が変更される。この時間情報変更ステップにより変更された時間情報の間隔が所定時間より短くなると、削除ステップによって、その短くなった部分の演奏データが記憶手段から削除される。
【００１４】
【発明の効果】請求項１記載のコンピュータで実行される演奏データの編集プログラムによれば、タイムレートを小さくして演奏データの再生時刻間隔を長くした場合には、その部分に新たな演奏データが挿入される。よって、演奏データの再生時刻間隔を適度に保つことができるので、その後の演奏データの編集を滑らかに行えるという効果がある。
【００１５】
請求項２記載のコンピュータで実行される演奏データの編集プログラムによれば、タイムレートを大きくして演奏データの再生時刻間隔を短くした場合には、その短くなった部分の演奏データが少なくとも自動演奏の際に非出力のデータに変更される。よって、演奏データの再生時刻間隔を適度に保つことができるので、再生処理を滑らかに行えるという効果がある。
【００１６】
請求項３記載のコンピュータで実行される演奏データの編集プログラムによれば、タイムレートを大きくして演奏データの再生時刻間隔を短くした場合には、その短くなった部分の演奏データが削除される。よって、演奏データの再生時刻間隔を適度に保つことができるので、再生処理を滑らかに行えるという効果がある。
【００１７】
【発明の実施の形態】以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の一実施例である編集プログラム（図３から図５）を内蔵した自動演奏プログラム８ａ，９ａがインストールされ或いはＣＤ−ＲＯＭ８ａにて供給されるパーソナル・コンピュータ（以下「ＰＣ」と略す）１と、そのＰＣ１から出力される演奏データに基づいて、アナログの楽音信号（オーディオ信号）を生成してスピーカ１４へ出力する音源装置１５との電気的構成を示したブロック図である。
【００１８】
ＰＣ１は、演算装置であるＣＰＵ２と、そのＣＰＵ２により実行される各種の制御プログラムや固定値データを記憶したＲＯＭ３と、そのＲＯＭ３内に記憶される制御プログラムの実行に当たって各種のデータ等を一時的に記憶するためのメモリであるＲＡＭ４とを備えている。ＲＡＭ４には、自動演奏プログラム８ａ，９ａの実行時に、ポインタ４ａと、ＰＴＤＣｌｏｃｋ４ｂと、ＰＣｌｏｃｋ４ｃと、Ｐ値４ｄとの各メモリが設けられる。これら各メモリ４ａ〜４ｄについては後述する。ＣＰＵ２、ＲＯＭ３及びＲＡＭ４は、アドレスバスおよびデータバスにより構成されるバスライン５によって互いに接続されており、このバスライン５は、入出力インターフェイス６を介して、各種のＩ／Ｏ装置７，１０，１５と接続されている。
【００１９】
入出力インターフェイス６には、数値や文字の入力操作を行うためのキーボード７ａと、ポインティングデバイスとしてのマウス７ｂと、表示装置としての液晶表示装置（以下「ＬＣＤ」と称す）７ｃとが、それぞれユーザーインターフェイス７として接続されている。また、入出力インターフェイス６には、ＣＤ−ＲＯＭドライブ８とハードディスクドライブ（以下「ＨＤドライブ」と略す）９とが記憶デバイスとしてそれぞれ接続されている。本実施例の自動演奏プログラム８ａ，９ａは、演奏データおよびオーディオ波形データ等と共に、ＣＤ−ＲＯＭ８ａに記憶され、ＣＤ−ＲＯＭドライブ８を介してＰＣ１へ供給されて実行されるか、或いは、そのＣＤ−ＲＯＭ８ａからＣＤ−ＲＯＭドライブ８を介してＰＣ１へ供給されたものがＨＤドライブ９へ記憶され（９ａ）、そのＨＤドライブ９から読み出されて実行される。
【００２０】
更に、入出力インターフェイス６には、楽音信号（オーディオ信号）を発生する音源装置１５が接続されている。音源装置１５は、ディジタル処理により波形データの再生処理等を行うＤＳＰ（ディジタル信号プロセッサ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ））１１を内蔵しており、そのＤＳＰ１１が入出力インターフェイス６に接続されている。また、ＤＳＰ１１には、ＤＳＰ１１から出力されるデジタルの楽音信号をアナログの楽音信号に変換するＤ／Ａコンバータ１２が接続され、そのＤ／Ａコンバータ１２には、Ｄ／Ａコンバータ１２によって変換されたアナログ信号を増幅するアンプ１３が接続され、更にそのアンプ１３には、増幅されたアナログ信号を音出力するスピーカ１４が接続されている。
【００２１】
使用者の指示により自動演奏プログラム８ａ、９ａが実行されると、自動演奏プログラム８ａ、９ａは、入出力インターフェイス６およびバスライン５を介してＲＡＭ４にロードされ、ＣＰＵ２により実行される。また、使用者の指示により、オーディオ波形データが入出力インターフェイス６を介して音源装置１５に供給され、音源装置１５内部に記憶される。以降、使用者の指示に応じて、演奏データ（タイムレートデータを含む）の編集、再生が行われると共に、再生されたデータは、入出力インターフェイス６を介して音源装置１５に供給され、その音源装置１５によりオーディオ波形が再生されて、オーディオ信号が出力され、スピーカ１４が鳴動しスピーカ１４から楽音が出力される。
【００２２】
なお、音源装置１５は、ＰＣ１から供給されるタイムレートデータの示すタイムレートに基づいて再生速度を制御しながら、オーディオ波形データを再生するようになっている。即ち、速いタイムレートが指示された場合には、オーディオ波形データを所々飛ばし読みすることにより再生時間を短縮して再生速度を速くし、遅いタイムレートが指示された場合には、オーディオ波形データを所々繰り返し読み出すことにより再生時間を伸長して再生速度を遅くする。さらにタイムレートとして「０」が指定された場合には、オーディオ波形データの一部分を繰り返し読み出すことにより、再生時間の進行を止めるようにする。
【００２３】
図２は、自動演奏プログラム８ａ，９ａが実行されている場合のＬＣＤ７ｃの表示画面の様子を示した図である。ＬＣＤ７ｃの表示画面には、マウスポインタとしてのカーソル７１と、各種の操作指示を行うためのアイコン７２〜７６と、ピッチデータ表示領域７７と、タイムレートデータ表示領域７８とが設けられている。
【００２４】
「演奏開始」アイコン７２は、自動演奏の開始を指示するアイコンであり、このアイコン７２上にカーソル７１をおいてクリックすると、自動演奏が開始される。「演奏停止」アイコン７３は、自動演奏の停止を指示するアイコンであり、このアイコン７３上にカーソル７１をおいてクリックすると、自動演奏が停止される。同様に、「タイムレート編集」アイコン７４は、動作モードをタイムレート編集モードへ切り替えるためのアイコンであり、「タームレート“０”挿入」アイコン７５は、動作モードをタイムレート“０”挿入モードへ切り替えるためのアイコンである。更に「タームレート“０”削除」アイコン７６は、タイムレート“０”区間を削除するモードへ、動作モードを切り替えるためのアイコンである。各アイコン７４〜７６上にカーソル７１をおいてクリックすると、そのアイコンに割り当てられた指示がＣＰＵ２により実行される。
【００２５】
ピッチデータ表示領域７７は、演奏又は編集対象となっている演奏データのピッチデータの変化を示す表示領域である。ピッチデータはこの領域７７に、データの再生時刻を示すＣｌｏｃｋを横軸に、ピッチデータの値を縦軸にしたグラフで表示される。図７から図１１の（ｂ）に示す上段の図は、このピッチデータ表示領域７７に表示されるグラフである。この表示領域７７内にカーソル７１を移動し、ピッチデータを示す実線部分をドラッグすることにより、ピッチデータを変更することができる。なお、縦軸のスケールは、上端がピッチデータの「７０００」を示し、中央が「０」、下端が「−７０００」を示している。ピッチデータは「７０００」で１オクターブ分の音高となる。
【００２６】
タイムレートデータ表示領域７８は、演奏又は編集対象となっているタイムレートデータの変化を示す表示領域である。タイムレートデータはこの領域７８に、データの再生時刻を示すＣｌｏｃｋを横軸に、タイムレートデータの値を縦軸にしたグラフで表示される。図７から図１１の（ｂ）に示す下段の図は、このタイムレートデータ表示領域７８に表示されるグラフである。この表示領域７８内にカーソル７１を移動し、タイムレートデータを示す破線部分をドラッグすることにより、タイムレートデータを変更することができる。なお、縦軸のスケールは、上端がタイムレートデータの「２．０」を示し、中央が「１．０」、下端が「０」を示している。
【００２７】
次に、図３から図６のフローチャートを参照して、本実施例の自動演奏プログラム８ａ，９ａによって実行される各処理を説明する。この説明に先立って、各処理のフローチャート中で使用される各データを、図７（ａ）及び図２を参照しつつ説明する。
【００２８】
図７（ａ）は、演奏データを表わす。Ｃｌｏｃｋ５１は、再生時刻（演奏開始からの経過時間）を示すデータである。演奏データのデータ列は、Ｃｌｏｃｋ順に並んでいる。タイムレート編集モード、タイムレート“０”挿入モード、タイムレート“０”削除モードにおいて、タイムレートデータを変更すると、変更されたタイムレートより後の演奏データのＣｌｏｃｋ５１の値が変更される。ＤＣｌｏｃｋ５２は、「タイムレートデータ＝１．０」の場合の再生時刻を示すデータであり、タイムレートデータに基づいてＣｌｏｃｋを求める際に使用される。
タイムレートデータを変更しても、ＤＣｌｏｃｋ５２の値は変化しない。
【００２９】
各演奏データのＣｌｏｃｋ５１は、その演奏データのＤＣｌｏｃｋ５２及びデータ列中のその演奏データの直前のタイムレートデータに基づいて次の（式１）に従って求めることができる。
【００３０】
【数１】
2004219615.tif 000003
逆に、各演奏データのＤＣｌｏｃｋ５２は、その演奏データのＣｌｏｃｋ及びデータ列中のその演奏データの直前のタイムレートデータに基づいて次の（式２）に従って求めることができる。
【００３１】
【数２】
2004219615.tif 000004
タイムレートデータも演奏データの一種であるため、タイムレートデータのＣｌｏｃｋ５１及びＣｌｏｃｋ５２も、そのタイムレートデータの直前のタイムレートデータに基づいて式１及び式２に従って求めることができる。  Ｃｌｏｃｋ５１あるいはＣｌｏｃｋ５２を求めようとする先頭の演奏データから演奏データ列中の後ろの演奏データに順次、式１及び式２を適用することにより、全ての演奏データのＣｌｏｃｋ５１及びＣｌｏｃｋ５２を求めることができる。
【００３２】
データの種類５３としては、ＮｏｔｅＯｎ、ＮｏｔｅＯｆｆ、Ｐｉｔｃｈ、ＴｉｍｅＲａｔｅ、ＥＮＤ等のデータがある。ＮｏｔｅＯｎの夫々は、オーディオ波形の再生開始を指示するデータも含めて、電子楽器の音源への発音指示を表わすデータであり、その値は音高を示している。例えば、値が「６０」の場合は「Ｃ４」の音高を示す。なお、ＮｏｔｅＯｎは、ベロシティ情報も有しているが本実施例ではその説明は省略する。ＮｏｔｅＯｆｆは、オーディオ波形の再生停止を指示するデータである。
【００３３】
Ｐｉｔｃｈは、ＮｏｔｅＯｎにより指定された音高に対する相対的な音高の制御量を示すデータであり、その値は「７０００」でオクターブ分の音高となる。
Ｐｉｔｃｈにより示されるデータがピッチデータである。ＴｉｍｅＲａｔｅは、自動演奏する際の設定されたテンポに対しての相対的な再生速度（タイムレート）を、演奏データに設定された時間情報に基づいて制御するデータである。ＴｉｍｅＲａｔｅにより示されるデータがタイムレートデータである。タイムレートデータの「１．０」は通常速度での再生を表し、「１．０」より大きい場合は通常速度より速い速度での再生を表し、「１．０」より小さい場合は通常速度より遅い速度での再生を表す。また、タイムレートデータの「０」は再生の進行停止を表している。ＥＮＤは、演奏データの最後を示すデータである。そのほか、オーディオ波形の音質を制御するフォルマントデータ、オーディオ波形の音量を制御するレベルデータなどが演奏データとして存在する。
【００３４】
フラグ５５は、自動演奏処理中に、そのデータを出力するか否かを示すデータ（フラグ）である。フラグ５５の値が「０」のデータは出力され、「１」のデータは出力されない。
【００３５】
また、図１に示すように、自動演奏プログラム８ａ，９ａの実行時には、ＲＡＭ４内に、ポインタ４ａと、ＰＴＤＣｌｏｃｋ４ｂと、ＰＣｌｏｃｋ４ｃと、Ｐ値４ｄとの各メモリが設けられる。ポインタ４ａは、編集位置または自動演奏位置を示すポインタ形式のメモリであり、図３のタイムレート編集処理および図６の自動演奏処理において使用される。編集処理毎または自動演奏処理毎に１ずつ加算され、加算後のポインタの値がＥＮＤデータを示すと、編集処理または自動演奏処理が終了される。
【００３６】
ＰＴＤＣｌｏｃｋ４ｂは、タイムレート編集処理において、編集範囲の開始点に位置するタイムレートデータのＤＣｌｏｃｋ５２（図７（ａ）参照）を記憶するメモリである。また、ＰＣｌｏｃｋ４ｃ及びＰ値４ｄは演奏データの種類毎に設けられているメモリであり、タイムレート編集処理において着目している演奏データの直前の同じ種類の演奏データのＣｌｏｃｋ及びタイムレートの値（タイムレートデータ）がそれそれ記憶される。
【００３７】
なお、ＰＣｌｏｃｋ４ｃまたはＰ値４ｄにおいて、特定種類のデータに対応したＰＣｌｏｃｋ４ｃまたはＰ値４ｄを表す場合には、［］を付して表記する。例えば、タイムレート編集処理においてタイムレートデータのＣｌｏｃｋは「ＰＣｌｏｃｋ［タイムレート］」として、また、同じくタイムレートデータのＰ値は「Ｐ値［タイムレート］」として表記される。
【００３８】
タイムレート編集処理において演奏データのＣｌｏｃｋ５１及びＤＣｌｏｃｋ５２は、これらのＰＴＤＣｌｏｃｋ４ｂ、ＰＣｌｏｃｋ４ｃ及びＰ値４ｄに記憶されたデータを前述の（式１）及び（式２）に適用することによって求めることができる。具体的には、次の計算により求める。
【００３９】
【数３】
2004219615.tif 000005
【００４０】
【数４】
2004219615.tif 000006
図３は、タイムレート編集処理を示したフローチャートである。マウス７ｂを操作し、カーソル７１をＬＣＤ７ｃの「タイムレート編集」アイコン７４上に移動してクリックすると（図２参照）、タイムレート編集モードとなる。このタイムレート編集モードにおいて、カーソル７１をタイムレートデータ表示領域７８内に移動し、編集すべきタイムレートデータの開始Ｃｌｏｃｋから終了Ｃｌｏｃｋまでをドラッグして編集範囲を指定する。次に、指定した編集範囲内の破線で表示されるタイムレートデータを上下にドラッグすることにより、タイムレートデータが変更され、それに応じて、図３に示すタイムレート編集処理として、Ｃｌｏｃｋ変更とデータ間隔適正化をする処理が実行される。
【００４１】
なお、前述した通り、本実施例のタイムレートデータ表示領域７８の縦軸スケールは、上端がタイムレートデータの「２．０」を示し、中央が「１．０」、下端が「０」を示しており、タイムレートデータの変更は０＜タイムレートデータ≦２の範囲で行われる。タイムレートデータ＝０の編集処理（挿入処理または削除処理）は、後述する図４又は図５の処理で行われる。
【００４２】
タイムレート編集処理では、まず、編集処理の開始時に、ポインタ４ａ、ＰＴＤＣｌｏｃｋ４ｂ、ＰＣｌｏｃｋ４ｃ、Ｐ値４ｄの各値の初期値を設定する（Ｓ１０２）。具体的には、第１に、編集位置を示すポインタ４ａへ、編集範囲内で且つ最初のタイムレートデータを示す位置（値）を設定（ポイント）する。第２に、ＰＴＤＣｌｏｃｋ４ｂへ、編集範囲直前のフラグが「０」のタイムレートデータのＤＣｌｏｃｋの値を設定する。第３に、ＰＣｌｏｃｋ［データの種類］４ｃへ、編集範囲直前のフラグが「０」の演奏データのＣｌｏｃｋの値を、演奏データの種類毎にそれぞれ設定する。第４に、Ｐ値［データの種類］４ｄへ、編集範囲直前のフラグが「０」の演奏データの値５４を、演奏データの種類毎にそれぞれ設定する。
【００４３】
Ｓ１０４の処理では、ポインタ４ａの示すデータを判断し、それがタイムレートデータで且つその値が「０」であれば（Ｓ１０４：Ｙｅｓ）、Ｓ１２８によって、タイムレートデータが０である区間（値が「０」であるタイムレートデータから値が「０」でないタイムレートデータまでの区間。以下、「タイムレート０区間」と称す）について、データ更新処理を行う。具体的には、まず、ポインタ４ａが示すデータのＣｌｏｃｋを式１（式１´（ダッシュ））より算出し、タイムレート編集後のデータとして記憶する。次に、その算出したＣｌｏｃｋからポインタ４ａが示すデータの元のＣｌｏｃｋの値を減算し、その差をタイムレート０区間のすべての演奏データのＣｌｏｃｋの値にそれぞれ加算する。これにより、タイムレート０区間のすべての演奏データのＣｌｏｃｋの値が算出されるので、算出された各値により、各Ｃｌｏｃｋの値をそれぞれ更新して記憶する。更に、タイムレート０区間のすべてのデータが自動演奏処理（図６参照）の際に出力されるように、その区間のすべてのフラグの値を「０」として、タイムレート編集に伴うタイムレート０区間のデータ更新を完了する。
【００４４】
その後は、次のデータ更新のために、タイムレート０区間の最後のタイムレートデータを示す位置にポインタ４ａを更新し、そのポインタ４ａが示すデータのＣｌｏｃｋをＰＣｌｏｃｋ［同種のデータ］４ｃへ設定し、更に、ポインタ４ａが示すデータの値をＰ値［同種のデータ］４ｄへ設定する。併せて、ポインタ４ａが示すデータのＤＣｌｏｃｋをＰＴＤＣｌｏｃｋに設定する。（以上Ｓ１２８）  これらの処理により、次のデータ更新のための準備が完了するので、処理をＳ１２４へ移行する。
【００４５】
一方、Ｓ１０４の処理において、ポインタ４ａの示すデータを判断し、それがタイムレートデータで且つその値が「０」でなければ（Ｓ１０４：Ｎｏ）、そのポインタ４ａが示すデータのＣｌｏｃｋを式１（式１´）より算出し、タイムレート編集後のデータとして記憶する（Ｓ１０６）。
【００４６】
次に、Ｓ１０６の処理で算出したＣｌｏｃｋと、ＰＣｌｏｃｋ［同種のデータ］４ｃとの差が５以上あるか否かを判断する（Ｓ１０８）。差が５未満で、かつポインタ４ａが示すデータがピッチデータ或いはタイムレートデータであれば（Ｓ１０８：Ｙｅｓ）、直前の同種のデータとの出力間隔が短すぎるので、自動演奏処理の際に、そのデータが出力されないように、フラグの値を「１」に設定する（Ｓ１１０）。一方、Ｓ１０６の処理で算出したＣｌｏｃｋと、ＰＣｌｏｃｋ［同種のデータ］４ｃとの差が５以上であれば（Ｓ１０８：Ｎｏ）、更にその差が２０より大きいか否かを判断する（Ｓ１１２）。２０より大きい差があり、かつポインタ４ａが示すデータがピッチデータ或いはタイムレートデータあれば（Ｓ１１２：Ｙｅｓ）、直前の同種のデータとの出力間隔は長すぎるので、Ｓ１１４の処理によって新たなデータを挿入する。
【００４７】
Ｓ１１４の処理は、タイムレート編集の結果、データの出力間隔が長すぎるようになった部分にポインタ４ａが示すデータと同種の新たなデータを挿入して、自動演奏処理におけるデータの出力間隔を適正な間隔に保つ処理である。挿入するデータは次のように生成される。まず、データの出力間隔を適正な間隔（本実施例では、５≦Ｃｌｏｃｋ≦２０）にするため、Ｃｌｏｃｋには、ＰＣｌｏｃｋ［同種のデータ］４ｃ＋２０を設定する。その値５４には、Ｐ値［同種のデータ］４ｄを設定し、更に、ＤＣｌｏｃｋを式２（式２´）より算出する。対応するフラグには「０」を設定して、自動演奏処理における出力データとする。以上により挿入データが生成されるので、これをポインタ４ａが示すデータとその次のデータとの間に演奏データとして挿入し、ポインタ４ａを１つ進める。そして、ＰＣｌｏｃｋ［同種のデータ］４ｃへ、生成した挿入データのＣｌｏｃｋを設定して、次の処理へ備えた後に（以上Ｓ１１４）、処理をＳ１０８へ移行する。
【００４８】
また、Ｓ１１２の処理において、Ｓ１０６の処理で算出したＣｌｏｃｋと、ＰＣｌｏｃｋ［同種のデータ］４ｃとの差が２０以下であれば（Ｓ１１２：Ｎｏ）、即ち、変更後の連続するデータのＣｌｏｃｋの差が５以上２０以下であれば（Ｓ１０８：Ｎｏ，Ｓ１１２：Ｎｏ）、直前の同種のデータとの出力間隔は適正なので、自動演奏処理の際に、そのデータが出力されるように、フラグの値を「０」に設定する（Ｓ１１６）。以上の処理により、ポインタ４ａが示すデータについて、タイムレート編集に伴うデータ更新が完了する。
【００４９】
その後は、次のデータ更新のために、ＰＣｌｏｃｋ［同種のデータ］４ｃへ、Ｓ１０６の処理で算出したＣｌｏｃｋを設定し、更に、Ｐ値［同種のデータ］４ｄへ、ポインタ４ａが示すデータの値を設定する（Ｓ１１８）。ポインタ４ａの示すデータの種類がタイムレートデータであれば（Ｓ１２０：Ｙｅｓ）、ＰＴＤＣｌｏｃｋ４ｂへ、ポインタ４ａが示すタイムレートデータのＤＣｌｏｃｋを設定する（Ｓ１２２）。これにより、ポインタ４ａの更新を残して、次のデータ更新のための準備が完了する。
【００５０】
Ｓ１２４の処理では、ポインタ４ａの値を１加算して更新し（Ｓ１２４）、加算後のポインタ４ａの示すデータがＥＮＤデータでなければ（Ｓ１２６：Ｎｏ）、処理をＳ１０４へ移行して、上述したＳ１０４からＳ１２６の各処理を繰り返す。一方、加算後のポインタ４ａの示すデータがＥＮＤデータであれば（Ｓ１２６：Ｙｅｓ）、フラグが「０」に設定されている自動演奏処理で出力されるデータのみをＬＣＤ７ｃへ表示して（Ｓ１３０）、このタイムレート編集処理を終了する。即ち、ＬＣＤ７ｃには、フラグが「１」に設定されている自動演奏処理で出力されないデータは非表示にしてタイムレート編集処理が終了する。
【００５１】
このようにタイムレート編集処理では、タイムレートデータを遅くして演奏データの再生時刻間隔を「２０」Ｃｌｏｃｋより大きくした場合には、その部分に新たな演奏データが挿入され、一方、タイムレートデータを速くして演奏データの再生時刻間隔を「５」Ｃｌｏｃｋ未満にした場合には、その短くなった部分の演奏データが自動演奏の際に非出力のデータに変更される。よって、演奏データの再生時刻間隔を適度に保つことができるので、演奏データの編集や演奏データの再生処理（自動演奏処理）を、滑らかに行うことができる。
【００５２】
図４は、タイムレート“０”挿入処理を示したフローチャートである。マウス７ｂを操作し、カーソル７１をＬＣＤ７ｃの「タイムレート“０”挿入」アイコン７５上に移動してクリックすると（図２参照）、タイムレート“０”挿入モードとなる。このタイムレート“０”挿入モードにおいて、カーソル７１をタイムレートデータ表示領域７８内に移動し、タイムレート０区間としたい開始Ｃｌｏｃｋから終了Ｃｌｏｃｋまでドラッグして、タイムレート０区間の開始位置および挿入範囲（長さ）を指定することにより、タイムレート“０”挿入処理（図４）が実行され、指定された開始Ｃｌｏｃｋの位置に、指定された長さのタイムレート０区間が挿入される。
【００５３】
タイムレート“０”挿入処理では、まず、ドラッグの終了位置のＣｌｏｃｋから開始位置のＣｌｏｃｋを減算して、指定した挿入範囲のＣｌｏｃｋ数を算出する（Ｓ２００）。次に、その算出したＣｌｏｃｋ数を、ドラッグの開始位置より後の各データのＣｌｏｃｋへそれぞれ加算し、各Ｃｌｏｃｋの値を更新して記憶する（Ｓ２０２）。演奏データ列のドラッグ開始Ｃｌｏｃｋに対応する位置に、ドラッグ開始ＣｌｏｃｋをＣｌｏｃｋとした、値が「０」のタイムレートデータを挿入し記憶する。このデータのＤＣｌｏｃｋは式２より算出し、フラグは、「０」としてそれぞれ記憶する（Ｓ２０４）。なお、演奏データ列のドラッグ開始Ｃｌｏｃｋに対応する位置に、既にタイムレートが記憶されていた場合には、値が「０」のタイムレートデータを挿入せずに、そのタイムレートデータの値５４を「０」に変更するとともに、フラグを「０」とすることにより、値が「０」のタイムレートデータの挿入に代える。
【００５４】
演奏データ列のドラッグ終了Ｃｌｏｃｋに対応する位置に、ドラッグ終了ＣｌｏｃｋをＣｌｏｃｋとしたタイムレートデータを挿入して記憶する。このデータの値は、ドラッグ開始Ｃｌｏｃｋの直前のフラグが「０」のタイムレートデータの値と同じ値とする。このデータのＤＣｌｏｃｋは式２より算出し（算出されるＤＣｌｏｃｋは、Ｓ２０４の処理でドラッグ開始位置に挿入したデータのＤＣｌｏｃｋの値と同一）、フラグは「０」として、それぞれ記憶する（Ｓ２０８）。
【００５５】
更に、演奏データ列の、ステップＳ２０４において挿入したデータとステップＳ２０８において挿入したデータとの間に、Ｃｌｏｃｋ間隔「２０」毎にピッチデータを挿入する。このデータの値は、ドラッグ開始Ｃｌｏｃｋの直前のフラグが「０」の同種の演奏データの値と同じ値とする。このデータのＤＣｌｏｃｋはＳ２０４の処理でドラッグ開始位置に挿入したデータのＤＣｌｏｃｋの値とし、フラグは「０」として、それぞれ記憶する（Ｓ２１０）。
【００５６】
以上の各処理により、ドラッグで指定した挿入範囲にタイムレートデータ０区間のデータを挿入できるので、その後は、フラグが「０」に設定されている自動演奏処理で出力されるデータのみをＬＣＤ７ｃへ表示して（Ｓ２１２）、このタイムレート“０”挿入処理を終了する。
【００５７】
図５は、タイムレート“０”削除処理を示したフローチャートである。マウス７ｂを操作し、カーソル７１をＬＣＤ７ｃの「タイムレート“０”削除」アイコン７６上に移動してクリックすると（図２参照）、タイムレート“０”削除モードとなる。このタイムレート“０”削除モードにおいて、カーソル７１をタイムレートデータ表示領域７８内のタイムレートデータ＝０の範囲に移動し、マウス７ｂをクリックすると、タイムレート“０”削除処理（図５）が実行される。このタイムレート“０”削除処理により、クリックされたタイムレート０区間のデータが削除される。
【００５８】
タイムレート“０”削除処理では、まず、クリックされたＣｌｏｃｋを含む範囲のタイムレート０区間のデータのうち、区間末尾のタイムレートデータを除いた全てのデータを削除する（Ｓ３００）。
【００５９】
次に、削除したタイムレート０区間において、区間末尾のタイムレートデータと、区間より後のデータについて、それぞれのＣｌｏｃｋを、クリックされたタイムレート０区間の長さのＣｌｏｃｋ数分だけ減算し、その差を新たなＣｌｏｃｋとしてそれぞれ記憶する（Ｓ３０２）。
【００６０】
以上の各処理により、クリックした部分にタイムレート０区間のデータが削除されるので、その後は、削除されずに残されたデータのうち、フラグが「０」に設定されている自動演奏処理で出力されるデータのみをＬＣＤ７ｃへ表示して（Ｓ３０４）、タイムレート“０”削除処理を終了する。
【００６１】
図６は、自動演奏処理を示したフローチャートである。マウス７ｂを操作し、カーソル７１をＬＣＤ７ｃの「演奏開始」アイコン７２上に移動してクリックすると（図２参照）、ポインタ４ａおよび変数ｔの各値を初期化した後に、自動演奏処理（図６）が設定されているテンポに対応する所定の時間間隔で（例えば１／１０００秒毎に）繰り返し実行される。
【００６２】
ここで、自動演奏処理の中では、変数ｔが用いられる。変数ｔは、自動演奏処理の実行Ｃｌｏｃｋ、即ち現在のＣｌｏｃｋを示す変数である。よって、変数ｔの値とポインタ４ａの示すデータのＣｌｏｃｋの値とが一致する場合に、そのデータが音源装置１５へ出力される。なお、変数ｔの初期値は「−１」とされており、「演奏開始」アイコン７２がクリックされると、「ｔ＝−１」とされた後に自動演奏処理が開始される。
【００６３】
自動演奏処理では、まず、変数ｔの値を１加算して演奏時刻を更新する（Ｓ４００）。前述した通り、変数ｔの初期値は「−１」なので、最初の自動演奏処理の実行時に、変数ｔはｔ＝０となる。
【００６４】
次に、更新後の変数ｔの値と、ポインタ４ａが示すデータのＣｌｏｃｋの値とを比較する（Ｓ４０２）。両値が一致していれば（Ｓ４０２：Ｙｅｓ）、そのポインタ４ａが示すデータのフラグが「１」であるか否かを調べる（Ｓ４０４）。
フラグが「１」でなく「０」であれば（Ｓ４０４：Ｎｏ）、ポインタ４ａが示すデータは出力データなので、そのデータを音源装置１５へ出力する（Ｓ４０６）。これにより該データに基づいて音源装置１５から楽音信号が生成され、スピーカ１４から楽音が出力される。一方、ポインタ４ａが示すデータのフラグが「１」であれば（Ｓ４０４：Ｎｏ）、そのデータは非出力データなので、Ｓ４０６の処理をスキップする。
【００６５】
その後、ポインタ４ａの値を１加算して更新し（Ｓ４０８）、更新後のポインタ４ａの示すデータがＥＮＤデータであるか否かを調べる（Ｓ４１０）。ポインタ４ａの示すデータがＥＮＤデータでなければ（Ｓ４１０：Ｎｏ）、処理をＳ４０２へ移行してＳ４０２からＳ４１０の各処理を繰り返す。同じ値のＣｌｏｃｋをもつ複数のデータが存し得るからであり、それらのデータは、かかる繰り返し処理により、その回の自動演奏処理によって音源装置１５へ出力される。
【００６６】
一方、更新後のポインタ４ａの示すデータがＥＮＤデータであれば（Ｓ４１０：Ｙｅｓ）、自動演奏処理のこの回以降の定期的な実行を終了する（Ｓ４１２）。また、Ｓ４０２の処理において、変数ｔの値とポインタ４ａが示すデータのＣｌｏｃｋの値とが一致しなければ（Ｓ４０２：Ｎｏ）、この回の自動演奏処理を終了する。
【００６７】
次に、タイムレートデータの編集（変更）を行った場合に、前述した図３から図５に示すタイムレートデータ編集処理（タイムレート編集処理、タイムレート“０”挿入処理、タイムレート“０”削除処理）によって、演奏データ（タイムレートデータを含む）の構成がどのように変更されるかについて、図７から図１１を参照して説明する。
【００６８】
各図（ａ）は、編集対象（自動演奏の対象）となっている演奏データの構成図であり、各図（ｂ）は、その構成図に示される演奏データのうち、ピッチデータとタイムレートデータとを横軸をＣｌｏｃｋ５１にして示したグラフである。特に、各図（ｂ）の上段の図は、ＬＣＤ７ｃのピッチデータ表示領域７７に表示されるグラフであり、各図（ｂ）の下段の図は、ＬＣＤ７ｃのタイムレートデータ表示領域７８に表示されるグラフである。なお、本実施例の各図（ａ）では、説明の簡略化のために、Ｃｌｏｃｋ５１の値が「０」以外の部分では、ピッチデータとタイムレートデータのみを記載している。
【００６９】
図７（ａ）は、タイムレートデータの編集前の演奏データの構成図であり、図７（ｂ）は、そのピッチデータとタイムレートデータとを横軸をＣｌｏｃｋ５１にして示したグラフである。なお、以降の各図（ｂ）の説明は同様なので、その説明は省略する。図７（ａ）は、タイムレートデータの編集前のデータなので、Ｃｌｏｃｋ５１の値とＤＣｌｏｃｋ５２の値とが一致している。
【００７０】
図８（ａ）は、図７（ａ）の演奏データについて、Ｃｌｏｃｋ５１が「２０より大きく４０未満」の範囲のタイムレートデータを「１．００」から「０．２５」に変更した後の演奏データの構成図である。このタイムレートデータの変更に伴って、ＤＣｌｏｃｋ５２が「２０」のデータとＤＣｌｏｃｋ５２が「４０」のデータとのＣｌｏｃｋ５１の間隔が「２０より大きい」となるので、Ｃｌｏｃｋ５１の「２０」単位毎にデータが挿入される（図３のＳ１０８：Ｎｏ，Ｓ１１２：Ｙｅｓ，Ｓ１１４）。即ち、編集開始位置であるＣｌｏｃｋ５１が「２０」のデータから、そのデータと同一の値のタイムレートデータ及びピッチデータが、Ｃｌｏｃｋ５１の「２０」単位毎であるＣｌｏｃｋ５１の「４０」，「６０」，「８０」にそれぞれ挿入される。
【００７１】
図９（ａ）は、図８（ａ）の演奏データについて、Ｃｌｏｃｋ５１が「２０より大きく１００未満」の範囲のピッチデータをそれぞれ変更した後の演奏データの構成図である。よって、図９（ａ）に示す通り、Ｃｌｏｃｋ５１の「２０」，「４０」，「６０」，「８０」のピッチデータがそれぞれ変更される。
【００７２】
図１０（ａ）は、図９（ａ）の演奏データについて、Ｃｌｏｃｋ５１が「２０より大きく１００未満（ＤＣｌｏｃｋ５２では「２０より大きく４０未満」）」の範囲のタイムレートデータを「０．２５」から「１．２５」に変更した後の演奏データの構成図である。このタイムレートデータの変更により、ＤＣｌｏｃｋ５２が「２５」のデータのＣｌｏｃｋ５１は「４０」から「２４」に変更され、ＤＣｌｏｃｋ５２が「３０」のデータのＣｌｏｃｋ５１は「６０」から「２８」に変更され、更にＤＣｌｏｃｋ５２が「３５」のデータのＣｌｏｃｋ５１は「８０」から「３２」に変更される。この結果、各データのＣｌｏｃｋ５１の間隔が短く（狭く）なり、その間隔が「５未満」のデータは非出力かつ非表示のデータとなって、そのフラグ５５が「１」とされる（Ｓ１０８：Ｙｅｓ，Ｓ１１０）。
【００７３】
具体的には、Ｃｌｏｃｋ５１が「２４」のデータは、直前の同種で且つフラグ５５が「０」のデータのＣｌｏｃｋ５１が「２０」なので、そのＣｌｏｃｋ５１の間隔は「４」で「５未満」である。よって、Ｃｌｏｃｋ５１が「２４」のデータは、非出力かつ非表示のデータとなり、そのフラグ５５は「１」とされる。次に、Ｃｌｏｃｋ５１が「２８」のデータは、直前の同種で且つフラグ５５が「０」のデータのＣｌｏｃｋ５１が「２０」なので、そのＣｌｏｃｋ５１の間隔は「８」で「５以上」である。よって、Ｃｌｏｃｋ５１が「２８」のデータは、出力データとなり、そのフラグ５５は「０」とされる。更に、Ｃｌｏｃｋ５１が「３２」のデータは、直前の同種で且つフラグ５５が「０」のデータのＣｌｏｃｋ５１が「２８」なので、そのＣｌｏｃｋ５１の間隔は「４」で「５未満」である。
よって、Ｃｌｏｃｋ５１が「３２」のデータは、非出力かつ非表示のデータとなり、そのフラグ５５は「１」とされる。
【００７４】
なお、Ｃｌｏｃｋ５１が「３６」のデータは、直前の同種で且つフラグ５５が「０」のデータのＣｌｏｃｋ５１が「２８」なので、そのＣｌｏｃｋ５１の間隔は「８」で「５以上」である。よって、Ｃｌｏｃｋ５１が「３６」のデータは、出力データとなるので、そのフラグ５５は「０」とされる。
【００７５】
図１１（ａ）は、図１０（ａ）の演奏データについて、Ｃｌｏｃｋ５１の長さ（幅）が「５８」のタイムレート“０”区間を、Ｃｌｏｃｋ５１が「３２」の位置へ挿入した後の演奏データの構成図である。
【００７６】
このタイムレート“０”区間の挿入に伴って、Ｃｌｏｃｋ５１が「３２」より後のデータの各Ｃｌｏｃｋ５１に、挿入されたタイムレート“０”区間の長さ（幅）分の「５８」がそれぞれ加算され、各Ｃｌｏｃｋ５１の値が更新される（図４のＳ２００，Ｓ２０２）。具体的には、図１１（ａ）に、Ｃｌｏｃｋ５１が「９０」以降のデータとして示される。
【００７７】
タイムレート“０”区間の挿入開始位置（ドラッグ開始位置）のＣｌｏｃｋ５１が「３２」の位置には、値５４が「０」のタイムレートデータがフラグ５５を「０」として挿入される（Ｓ２０４）。ただし、この場合、Ｃｌｏｃｋ「３２」の位置には既にタイムレートデータが存在するため、実際には、既に存在するタイムレートデータの値を「０」に変更するとともに、フラグ５５を「０」に変更することでデータの挿入に代える。図１１（ａ）に、Ｃｌｏｃｋ５１が「３２」のデータとして示される。
【００７８】
挿入終了位置（ドラッグ終了位置）のＣｌｏｃｋ５１が「９０」の位置には、タイムレート“０”区間の挿入開始位置の直前のタイムレートデータであってフラグ５５が「０」のタイムレートデータが、即ち「２８」のＣｌｏｃｋ５１のタイムレートデータ「１．２５」が挿入される（Ｓ２０８）。図１１（ａ）に、Ｃｌｏｃｋ５１が「９０」のデータとして示される。
【００７９】
更に、ピッチデータのＣｌｏｃｋ５１の間隔が広がり過ぎないように、挿入開始位置のＣｌｏｃｋ５１が「３２」の位置から挿入終了位置のＣｌｏｃｋ５１が「９０」の位置まで、Ｃｌｏｃｋ５１の間隔「２０」毎に、挿入位置の直前のフラグ５５が「０」でないピッチデータ「５３６４」が挿入される（Ｓ２１０）。
これにより、Ｃｌｏｃｋ５１の「５２」，「７２」の位置に、該ピッチデータが挿入される。
【００８０】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００８１】
本実施例は、ＰＣ１にインストールされ或いはＣＤ−ＲＯＭ８ａにて供給される自動演奏プログラム８ａ，９ａに内蔵された編集プログラムを例にして説明した。しかし、必ずしもこれに限られるものではなく、例えば、自動演奏装置にロードされて使用される演奏データを編集する編集プログラムに本発明を適用しても良い。また、編集プログラム（図３から図５）は、自動演奏処理（図６）を実行するコンピュータと別のコンピュータで実行されるものであっても良い。
【００８２】
また、本実施例では、タイムレートデータの値を小さく編集した場合、演奏データの出力間隔が長くなり過ぎるので、Ｃｌｏｃｋで「２０」間隔毎に新たなデータを挿入している（図３のＳ１１４，図８）。ここで、挿入するデータの値は、挿入直前の同種のデータの値としたが、必ずしもこれに限られるものではなく、例えば、挿入直前および挿入直後の同種のデータの値を補間したものでも良い。例えば、挿入直前および挿入直後の同種のデータの値の平均値を、挿入するデータの値としても良い。このように挿入するデータの値を、挿入前後の同種のデータの値を補間した値とすることにより、より滑らかに変化する演奏データを挿入することができる。なお、補間の方式は、平均値方式に限られるものではなく、他の方式を用いるようにしても良い。
【００８３】
本実施例では、タイムレートデータの値を大きく編集した場合、演奏データの出力間隔が短くなり過ぎるので、かかる場合には、対応する演奏データのフラグを「１」に設定して、そのデータを非出力且つ非表示にしている（図３のＳ１１０，Ｓ１３０，図６のＳ４０４：Ｙｅｓ）。しかし、このフラグの設定に代えて、かかるデータ自体を削除するように構成しても良い。即ち、Ｓ１１０の処理おいて、対応する演奏データを削除するのである。この構成によれば、演奏データのフラグが不要となるので、その分、データ容量を圧縮できると共にフラグの判定に伴う各処理を簡略化することができる。
【００８４】
演奏データ（タイムレートデータを含む）の編集は、マウス７ｂにより行われたが、マウス７ｂに代えて或いはマウス７ｂと共に、キーボード７ａを用いて、該編集を行うように構成しても良い。また、タイムレートデータやピッチデータ以外の他の演奏データ、例えば、オーディオ波形の音質を制御するフォルマントデータや、オーディオ波形の音量を制御するレベルデータなどに、本発明を適用するようにしても良い。
【００８５】
タイムレートデータおよびピッチデータは、ともに、直前の同種のデータとのＣｌｏｃｋの間隔が「５未満」の場合に非出力データとされ、「２０より大」の場合に新たなデータが挿入された。しかし、非出力とするデータの間隔と、新たなデータを挿入するデータの間隔とを、同一の間隔としても良い。
【００８６】
再生時刻を示すＣｌｏｃｋは、本実施例では、演奏開始からの経過時間を示すデータとされたが、これに代えて、Ｃｌｏｃｋを、直前或いは直後のデータとの時間間隔を示すものとして構成しても良い。また、タイムレートデータ＝０は、「０」の値で直接示したが、これに代えて、タイムレートデータ＝０をフラグやコード等によって示すように構成しても良い。かかる場合、タイムレート０区間の開始位置では、タイムレートデータの値は変更せずに、タイムレート０区間の開始を示すフラグやコード等を付加する。同様に、タイムレート０区間の終了位置では、タイムレート０区間の終了を示すフラグやコード等を付加するのである。
【図面の簡単な説明】
【図１】本発明の一実施例である編集プログラムが実行されるパーソナル・コンピュータと音源装置との電気的構成を示したブロック図である。
【図２】自動演奏プログラムが実行されている場合の液晶表示装置の表示画面の様子を示した図である。
【図３】タイムレート編集処理を示したフローチャートである。
【図４】タイムレート“０”挿入処理を示したフローチャートである。
【図５】タイムレート“０”削除処理を示したフローチャートである。
【図６】自動演奏処理を示したフローチャートである。
【図７】（ａ）は、タイムレートデータの編集前の演奏データの構成図であり、（ｂ）は、そのピッチデータとタイムレートデータとを横軸をＣｌｏｃｋ５１にして示したグラフである。
【図８】（ａ）は、図７（ａ）の演奏データについて、Ｃｌｏｃｋ５１が「２０より大きく４０未満」の範囲のタイムレートデータを「１．００」から「０．２５」に変更した後の演奏データの構成図であり、（ｂ）は、そのピッチデータとタイムレートデータとを横軸をＣｌｏｃｋ５１にして示したグラフである。
【図９】（ａ）は、図８（ａ）の演奏データについて、Ｃｌｏｃｋ５１が「２０より大きく１００未満」の範囲のピッチデータをそれぞれ変更した後の演奏データの構成図であり、（ｂ）は、そのピッチデータとタイムレートデータとを横軸をＣｌｏｃｋ５１にして示したグラフである。
【図１０】（ａ）は、図９（ａ）の演奏データについて、Ｃｌｏｃｋ５１が「２０より大きく１００未満（ＤＣｌｏｃｋ５２では「２０より大きく４０未満」）」の範囲のタイムレートデータを「０．２５」から「１．２５」に変更した後の演奏データの構成図であり、（ｂ）は、そのピッチデータとタイムレートデータとを横軸をＣｌｏｃｋ５１にして示したグラフである。
【図１１】（ａ）は、図１０（ａ）の演奏データについて、Ｃｌｏｃｋ５１の長さ（幅）が「５８」のタイムレート０区間を、Ｃｌｏｃｋ５１が「３２」の位置へ挿入した後の演奏データの構成図であり、（ｂ）は、そのピッチデータとタイムレートデータとを横軸をＣｌｏｃｋ５１にして示したグラフである。
【符号の説明】
１                  パーソナル・コンピュータ（ＰＣ）（コンピュータ）
４                  ＲＡＭ（記憶手段）
４ａ                ポインタ
４ｂ                ＰＴＤＣｌｏｃｋ
４ｃ                ＰＣｌｏｃｋ
４ｄ                Ｐ値
７                  ユーザーインターフェイス
７ａ                キーボード
７ｂ                マウス
７ｃ                液晶表示装置（ＬＣＤ）
９                  ハードディスドライブ（記憶手段）
１０                記憶装置（記憶手段）
１５                音源装置
５１                Ｃｌｏｃｋ
５２                ＤＣｌｏｃｋ
５３                データの種類
５５                フラグ
７７                ピッチデータ表示領域
７８                タイムレートデータ表示領域
【図１】
2004219615.tif 000007
【図２】
2004219615.tif 000008
【図３】
2004219615.tif 000009
【図４】
2004219615.tif 000010
【図５】
2004219615.tif 000011
【図６】
2004219615.tif 000012
【図７】
2004219615.tif 000013
【図８】
2004219615.tif 000014
【図９】
2004219615.tif 000015
【図１０】
2004219615.tif 000016
【図１１】
2004219615.tif 000017