(57)【特許請求の範囲】
【請求項１】
発音する楽音がパート毎に定められた演奏データを編集する演奏データ編集装置であって、
前記演奏データにおける複数のパートの中から１のパートを指定する指定手段と、
前記演奏データを分析して、前記指定手段によって指定されたパートにおける各楽音の発音期間を調査し、前記パートにおける１の楽音の発音期間内において、同時に発音中となる前記パート内の楽音の最大数を求め、当該最大数が所定数よりも少なかった場合に、前記１の楽音の発音期間と同じ発音期間を有する楽音を発音するためのデータを前記演奏データに付加する付加手段と
を具備することを特徴とする演奏データ編集装置。
【請求項２】
前記付加手段は、前記最大数が所定数よりも少なかった場合に、前記１の楽音と同じ楽音を、前記１の楽音と同じ発音期間において発音するためのデータを前記演奏データに付加する
ことを特徴とする請求項１に記載の演奏データ編集装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、演奏データの編集を行う演奏データ編集装置に関する。
【０００２】
【従来の技術】
最近は、音源を備えたパーソナルコンピュータや演奏データを取り扱うソフトウエアが各種提供されており、誰もが簡単にコンピュータミュージックを楽しむことができるようになっている。すなわち、この種のコンピュータミュージックに対応したパーソナルコンピュータによれば、使用者はキーボード等を操作して１ステップずつ演奏データを入力し、音楽的にまとまった一連の演奏データを編集することができる。従って、楽器演奏に不慣れな者あるいは楽器演奏をすることが全くできない者であっても、作曲、編曲等の音楽的創作行為を楽しむことができる。
【０００３】
【発明が解決しようとする課題】
さて、パーソナルコンピュータに搭載されるような音源は、いわゆる細い音しか出せないものが多い。一方、シンセサイザ等の電子楽器においては、複数の発音チャネルを使用して同一の楽音を同時に発音させることにより芯のある太い音を発音させる技術が利用されている。コンピュータを利用した自動演奏においても、特定のパート（例えばメロディパート）を太い音で演奏したいという要求が強く、上記技術の適用が望まれている。この要求に応えるための一方法として、例えば特定のパートに対応した演奏データ中のすべてのキーオンイベントについてこれらと同一内容のキーオンイベントを複製して演奏データに付加するという方法が考えられる。しかしながら、このような単純な方法を採った場合、新たに付加したキーオンイベントに対応した発音が行われることによって音源の発音チャネルの数が不足し、本来発音されるべき他の楽音が発音されなくなるという事態が生じるおそれがある。
【０００４】
この発明は以上の背景のもとでなされたものであり、かかる問題を解決し、所望のパートについて芯のある太い音が再生されるように演奏データの編集をすることができる演奏データ編集装置を提供することを目的としている。
【０００５】
【課題を解決するための手段】
この発明は、発音する楽音がパート毎に定められた演奏データを編集する演奏データ編集装置であって、
前記演奏データにおける複数のパートの中から１のパートを指定する指定手段と、
前記演奏データを分析して、前記指定手段によって指定されたパートにおける各楽音の発音期間を調査し、前記パートにおける１の楽音の発音期間内において、同時に発音中となる前記パート内の楽音の最大数を求め、当該最大数が所定数よりも少なかった場合に、前記１の楽音の発音期間と同じ発音期間を有する楽音を発音するためのデータを前記演奏データに付加する付加手段と
を具備することを特徴とする演奏データ編集装置を要旨とする。
【０００６】
また、請求項２に係る発明は、請求項１に記載の演奏データ編集装置において、前記付加手段は、前記最大数が所定数よりも少なかった場合に、前記１の楽音と同じ楽音を、前記１の楽音と同じ発音期間において発音するためのデータを前記演奏データに付加することを要旨とする。
【０００７】
【発明の実施の形態】
以下、本発明を更に理解しやすくするため、実施の形態について説明する。
かかる実施の形態は、本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【０００８】
Ａ．構成
図１はこの発明の一実施形態である演奏データ編集装置の外観を示す図である。本実施形態は、音源を内蔵した一般的なパーソナルコンピュータに対し、演奏データの編集のためのソフトウエアをインストールして構成したものである。図１を参照し、各構成要素について説明すると、１はコンピュータ本体、２はＣＲＴディスプレイ、３はキーボード、４はマウス、５Ｌおよび５Ｒはスピーカである。６は複数の発音チャネルにより同時に複数の音を発音し得る複音式の音源ボードであり、コンピュータ本体１内に収容される。また、図１に示す例では、コンピュータ本体１に対し、ＭＩＤＩケーブル７を介して鍵盤電子楽器８が接続されている。
【０００９】
コンピュータ本体１の内部の電気的構成を図２に示す。図２において、１１はこの演奏データ編集装置の各部の制御を行うＣＰＵである。１２は表示部であり、ＣＰＵ１１による制御の下、ＣＲＴディスプレイ２等の表示手段の表示制御を行う。１３は操作部であり、ＣＰＵ１１はこの操作部１３を介してキーボード３，マウス４等の操作手段に対してなされる操作を検知する。１４はＣＰＵ１１のワークエリアとして設けられたＲＡＭであり、ＣＰＵ１１が各種制御を行う上で必要な制御用のレジスタが設定される。図３はこれらの制御用レジスタのうち主要なものを図示したものである。また、ＲＡＭ１４には、自動演奏あるいは演奏データの編集の際に演奏データの記憶手段として使用される。１５はＲＯＭであり、図４に示すように、演奏データの編集を行うための編集プログラムの他、ＣＰＵ１１によって実行される各種制御プログラムを記憶している。
【００１０】
１６はハードディスク装置であり、演奏データの他、種々の情報を記憶するために設けられた大容量の記憶手段である。１７はＭＩＤＩインタフェースであり、ＣＰＵ１１はこのＭＩＤＩインタフェース１７を介して外部の電子楽器等との間でＭＩＤＩデータの授受を行う。図１におけるＭＩＤＩケーブル７はこのＭＩＤＩインタフェース１７に接続されている。また、図１に示した音源ボード６、スピーカ５Ｌおよび５Ｒからなる楽音発生手段もＣＰＵ１１の制御下に置かれている。
【００１１】
この演奏データ編集装置の動作モードとして次の４種類のものがある。いずれの動作モードも、ＣＰＵ１１がＲＯＭ１５内に記憶された各モードに対応した制御プログラムを実行することにより提供されるものである。
【００１２】
▲１▼記憶モード
記憶モードが設定された場合、ＣＰＵ１１はＲＯＭ１５内の記憶プログラムを実行する。この記憶モードにおいては、後述するＭＩＤＩデータ作成モードにおいてステップ入力により逐次入力される演奏データあるいは外部の電子楽器等からＭＩＤＩインタフェース１７経由で入力される演奏データがＲＡＭ１４に格納される。
【００１３】
▲２▼再生モード
再生モードが設定された場合、ＣＰＵ１１はＲＯＭ１５内の再生プログラムを実行する。この再生モードにおいては、ＣＰＵ１１による制御の下、ＲＡＭ１４内に格納された演奏データに従って音源ボード６に各種制御情報が送られ、演奏データに基づく自動演奏が行われる。
【００１４】
▲３▼編集モード
編集モードが設定された場合、ＣＰＵ１１はＲＯＭ１５内の編集プログラムを実行する。この編集モードにおいては、演奏データの変更・削除・追加を行うことが可能である他、以下の特徴的な編集処理を実行することが可能である。いずれも使用者が特定のＭＩＤＩチャネルを指定することにより、全演奏データのうち当該特定ＭＩＤＩチャネルに対応したもののみがその編集処理の処理対象となる。
【００１５】
（ａ）ベロシティエキスパンダ編集処理
演奏データの構成要素の１つとして発音の際の音量を決定するベロシティデータ（音量データ）がある。このベロシティエキスパンダ編集処理は、特定のＭＩＤＩチャネルに対応したベロシティデータを処理対象とし、処理対象たるベロシティデータ全体が所定の範囲内に収るように各ベロシティデータの分布範囲を拡大するものである。すなわち、このベロシティエキスパンダ編集処理は、自動演奏時における特定パートの音量の変化の起伏を大きくし、その特定パートを際立たせる効果を奏するものである。
【００１６】
（ｂ）発音重複化編集処理
音源ボード６の複数の発音チャネルにより同じ楽音を重複して形成すると、１つの発音チャネルを使用した場合に比べて芯のある太い楽音が得られる。発音重複化編集処理は、特定のパートについてこの効果を得るために行われる処理である。すなわち、この発音重複化編集処理は、特定のＭＩＤＩチャネルに対応したキーオンイベントを処理対象とするものであり、既にあるキーオンイベントに対し、これと重複するキーオンイベントを付加するものである。ここで、この重複するキーオンイベントの付加を全く無条件に行った場合には発音チャネルが不足するおそれがある。そこで、本実施形態においては、既存のキーオンイベントの発生状況を時系列的に把握し、各時点において発音チャネルの不足が生じないという条件を満たす限りにおいて、重複したキーオンイベントの付加を行う。
【００１７】
（ｃ）タイミングチューナ編集処理
タイミングチューナ編集処理は、実際の楽器演奏を記録した実演奏データあるいはキーボード３の操作によって作成される実演奏データに基づき、特定のＭＩＤＩチャネルに対応したキーオンイベントの再生タイミングを調整する編集処理である。
【００１８】
▲４▼ＭＩＤＩデータ作成モード
キーボード３，マウス４等の操作手段を操作して１ステップずつ演奏データを順次作成してゆく動作モードである。
【００１９】
次に図３を参照し、ＲＡＭ１４内に設定された制御用レジスタのうち主要なものについて説明する。
【００２０】
（ａ）モードレジスタ
使用者は、キーボード３またはマウス４を操作することにより、記憶モード、再生モード、編集モードおよびＭＩＤＩデータ作成モードのうち所望のものを指定することができる。各動作モードにはモード指定情報「０」〜「３」が各々割り当てられており、これらのモード指定情報のうち使用者により指定された動作モードに対応したものがこのモードレジスタに設定される。
【００２１】
（ｂ）エキスパンダレジスタＥＸＰ，ＭＩＮ，ＭＡＸ
このエキスパンダレジスタは、上述したベロシティエキスパンダ編集処理を制御するための情報を記憶する手段であり、３種類のレジスタＥＸＰ、ＭＡＸおよびＭＩＮによって構成されている。レジスタＥＸＰ（ＣＨ）（ＣＨ＝０〜１５）は、ベロシティエキスパンダ編集処理を適用するか否かを示す情報を各ＭＩＤＩチャネル毎に記憶するレジスタであり、チャネル番号ＣＨのＭＩＤＩチャネルに対しベロシティエキスパンダ編集処理を適用する場合にはＥＸＰ（ＣＨ）＝“１”とされ、適用しない場合にはＥＸＰ（ＣＨ）＝“０”とされる。レジスタＭＡＸ（ＣＨ）（ＣＨ＝０〜１５）およびＭＩＮ（ＣＨ）（ＣＨ＝０〜１５）は、ベロシティエキスパンダ編集処理実行後のベロシティデータの分布範囲の上限値および下限値を各ＭＩＤＩチャネル毎に各々記憶するレジスタである。各ＭＩＤＩチャネルに対応したベロシティデータの上限値および下限値は使用者がキーボード３等の操作手段を介して設定することができるが、この使用者による設定がない場合はデフォルト値が設定される。
【００２２】
（ｃ）ダブラレジスタＤＢＬ
ダブラレジスタＤＢＬ（ＣＨ）（ＣＨ＝０〜１５）は、上述した発音重複化編集処理を適用するか否かを示す情報を各ＭＩＤＩチャネル毎に記憶するレジスタであり、チャネル番号ＣＨのＭＩＤＩチャネルに対し発音重複化編集処理を適用する場合にはＤＢＬ（ＣＨ）＝“１”とされ、適用しない場合にはＤＢＬ（ＣＨ）＝“０”とされる。
【００２３】
（ｄ）チューナレジスタＴＵＮ
チューナレジスタＴＵＮ（ＣＨ）（ＣＨ＝０〜１５）は、上述したタイミングチューナ編集処理を適用するか否かを示す情報を各ＭＩＤＩチャネル毎に記憶するレジスタであり、チャネル番号ＣＨのＭＩＤＩチャネルに対しタイミングチューナ編集処理を適用する場合にはＴＵＮ（ＣＨ）＝“１”とされ、適用しない場合にはＴＵＮ（ＣＨ）＝“０”とされる。
【００２４】
Ｂ．動作
以下、本実施形態の動作を説明する。
（１）全般的動作
キーボード３，マウス４等の操作手段の操作がなされると、操作部１３からＣＰＵ１１に対して割込み要求がなされる。この結果、ＣＰＵ１１は、ＲＯＭ１５内に記憶された操作検出プログラム（図４）を割込み処理として実行する。
【００２５】
この操作検出プログラムのフローは図５に示す通りである。まず、ステップＳ１０１に進み、ＣＰＵ１１は、操作部１３を介して操作の内容を検知し、その操作がモード設定を要求する操作か否かを判断する。この判断結果が「ＹＥＳ」の場合はステップＳ１０６に進み、記憶モード、再生モード、編集モードおよびＭＩＤＩデータ作成モードのモード指定情報（「０」〜「３」）のうち、操作によって要求された動作モードに対応した情報をモードレジスタに設定し、この操作検出プログラムを終了する。
【００２６】
ステップＳ１０１の判断結果が「ＮＯ」の場合はステップＳ１０２に進み、操作部３を介して検知した操作がベロシティエキスパンダ編集処理を指示する操作か否かを判断する。この判断結果が「ＹＥＳ」の場合は、ステップＳ１０７に進み、ベロシティエキスパンダ編集処理の実行に必要な制御情報の設定を行う。すなわち、上記ベロシティエキスパンダ編集処理を指示する操作においては、その処理対象となるＭＩＤＩチャネルの番号、ベロシティエキスパンダ編集処理後のベロシティデータの分布範囲の上限値および下限値の指定が入力されるので、そのＭＩＤＩチャネルの番号ＣＨに対応したレジスタＥＸＰ（ＣＨ）に“１”を設定し、レジスタＭＡＸ（ＣＨ）およびＭＩＮ（ＣＨ）に上限値および下限値を設定する。なお、使用者は上限値および下限値の指定を省略することができるが、その場合にはレジスタＭＡＸ（ＣＨ）およびＭＩＮ（ＣＨ）に対し所定のデフォルト値（例えば「１２０」および「１０」）を設定する。各レジスタへのデータ設定を終えると、操作検出プログラムを終了する。
【００２７】
ステップＳ１０２の判断結果が「ＮＯ」の場合はステップＳ１０３に進み、操作部３を介して検知した操作が発音重複化編集処理を指示する操作か否かを判断する。この判断結果が「ＹＥＳ」の場合はステップＳ１０８に進み、使用者が発音重複化編集処理の処理対象として指定するＭＩＤＩチャネルの番号を操作部１３を介して検知し、そのＭＩＤＩチャネルの番号ＣＨに対応したダブラレジスタＤＢＬ（ＣＨ）に“１”を設定し、操作検出プログラムを終了する。
【００２８】
ステップＳ１０３の判断結果が「ＮＯ」の場合はステップＳ１０４に進み、操作部３を介して検知した操作がタイミングチューナ編集処理を指示する操作か否かを判断する。この判断結果が「ＹＥＳ」の場合はステップＳ１０９に進み、使用者がタイミングチューナ編集処理の処理対象として指定するＭＩＤＩチャネルの番号を操作部１３を介して検知し、そのＭＩＤＩチャネルの番号ＣＨに対応したチューナレジスタＴＵＮ（ＣＨ）に“１”を設定し、操作検出プログラムを終了する。
【００２９】
そして、ステップＳ１０４の判断結果が「ＮＯ」の場合は、以上説明したステップＳ１０２〜Ｓ１０４において判断した指示内容とは別の種類の指示内容に対応した操作検出処理（ステップＳ１０５）を実行し、操作検出プログラムを終了する。
【００３０】
編集モードが設定されると、ＣＰＵ１１はＲＯＭ１５内の編集プログラムを実行する。この編集プログラムは、図６に示すようにベロシティエキスパンダ編集処理、発音重複化編集処理およびタイミングチューナ編集処理に各々対応した３種類の編集用サブプログラムによって構成される。
【００３１】
各編集用サブプログラムは、いずれも図７に示すようにアナライザとチェンジャによって構成されている。これらのうちチェンジャは、各編集用サブプログラムの本来の目的である演奏データの編集処理を行うためのプログラムである。そして、アナライザは、処理対象となる演奏データの分析を行い、チェンジャの実行に必要な情報を演奏データから抽出するプログラムであり、チェンジャの実行に先立って実行される。
【００３２】
アナライザおよびチェンジャの具体的な処理内容は各編集用サブプログラムにより異なるが、いずれの編集用サブプログラムのアナライザも基本的には図８に示すフローに従って演奏データの分析および編集処理に必要な情報の抽出を行うものである。すなわち、ＭＩＤＩチャネルの番号ＣＨを「０」〜「１５」まで変化させ（ステップＳ２０１，Ｓ２０５，Ｓ２０６）、各チャネル番号ＣＨに対応した各ＭＩＤＩチャネルが編集処理の対象であるか否か、すなわち、例えば当該アナライザがベロシティエキスパンダ編集処理のためのアナライザである場合にはレジスタＥＸＰ（ＣＨ）の内容が“１”か否かを判断する（ステップＳ２０２）。そして、この判断結果が「ＹＥＳ」となったチャネル番号ＣＨについては、そのチャネル番号ＣＨのＭＩＤＩチャネルに対応した演奏データをＲＡＭ１４内のワークエリアに取り込み（ステップＳ２０３）、この取り込んだ演奏データを分析して後続のチェンジャが必要とする情報を抽出する（ステップＳ２０４）。このようにしてアナライザに対応した各処理が終了すると、これにより得られた情報に従ってチェンジャに対応した各処理が実行され、ベロシティエキスパンダ編集処理、発音重複化編集処理あるいはタイミングチューナ編集処理が完了するのである。
【００３３】
以下、ベロシティエキスパンダ編集処理、発音重複化編集処理、タイミングチューナ編集処理の順に各々の具体的な処理内容を詳述する。
【００３４】
（２）ベロシティエキスパンダ編集処理
図９は、処理対象として指定されたＭＩＤＩチャネルのうち１つのＭＩＤＩチャネル（チャネル番号ＣＨ）に対応したベロシティデータを演奏の進行順に並べてグラフ化したものであり、実線の曲線Ｐはベロシティエキスパンダ編集処理がなされる前のベロシティデータの変化を、破線の曲線Ｑはベロシティエキスパンダ編集処理後のベロシティデータの変化を表したものである。この図に例示するように、ベロシティエキスパンダ編集処理においては、ベロシティデータ全体がレジスタＭＡＸ（ＣＨ）に設定された上限値とレジスタＭＩＮ（ＣＨ）に設定された下限値によって限られた範囲内に収るように各ベロシティデータの分布範囲を拡大する。
【００３５】
ベロシティエキスパンダ編集処理用のアナライザにおいては、処理対象として指定されている各ＭＩＤＩチャネル（すなわち、ＥＸＰ（ＣＨ）＝“１”となっているＭＩＤＩチャネル）について、ベロシティデータの最大値ｍａｘおよび最小値ｍｉｎ（図９参照）を求める分析処理を行う。
【００３６】
分析処理の直接の対象はベロシティデータであるが、このベロシティデータは演奏データの一部をなすキーオンイベントに含まれている。このキーオンイベントのデータフォーマットを図１０に示す。同図に示すように、キーオンイベントは３バイトの情報によって構成されている。まず、第１バイトはキーオンステータスを表示するものであり、上位４ビットがキーオンイベントの識別コード「９」を表し、下位４ビットは当該キーオンイベントのＭＩＤＩチャネルの番号ＣＨを表している。次に第２バイトは、当該キーオンイベントにより発音する楽音のノートナンバを表している。そして、キーオンイベントの第３バイトがこの分析処理の直接の処理対象であるベロシティデータとなっている。そこで、ベロシティデータの最大値ｍａｘおよび最小値ｍｉｎを求めるに当たっては、演奏データのうちキーオンイベントに対応したもののみに着目し、その第３バイト目のベロシティデータの大小判定を行うという手順を踏む。図１１はこの手順に従って実行される分析処理のフローを示している。なお、この分析処理は、図８に示すステップＳ２０４に相当するものである。以下、図１１に示すフローチャートを参照し、分析処理について詳述する。
【００３７】
まず、最大値ｍａｘおよび最小値ｍｉｎの初期設定を行う（ステップＳ３０１）。次いで処理対象となっているＭＩＤＩチャネルに対応した演奏データの中から先頭のイベントを取り込む（ステップＳ３０２）。次に、この取り込んだイベントの第１バイトの上位４ビットの値が「９」か否か、すなわち、当該イベントがキーオンイベントか否かを判断する（ステップＳ３０３）。この判断結果が「ＹＥＳ」である場合にはステップＳ３０４に進み、「ＮＯ」の場合はステップＳ３０８に進む。
【００３８】
次にステップＳ３０４に進むと、今回取り込んだキーオンイベントの第３バイト目にあるベロシティデータＶｅｌを参照し、このベロシティデータＶｅｌが現在の最大値ｍａｘ以上か否かを判断する。そして、この判断結果が「ＹＥＳ」である場合には、そのベロシティデータＶｅｌによって最大値ｍａｘを更新し（ステップＳ３０５）、ステップＳ３０８へ進む。一方、ステップＳ３０４の判断結果が「ＮＯ」の場合には、今回取り込んだキーオンイベントのベロシティデータＶｅｌが現在の最小値ｍｉｎ以下か否かを判断する（ステップＳ３０６）。そして、この判断結果が「ＹＥＳ」の場合はそのベロシティデータＶｅｌによって最小値ｍｉｎを更新し（ステップＳ３０７）、その後、ステップＳ３０８へ進み、「ＮＯ」の場合はステップＳ３０７を実行することなくステップＳ３０８に進む。
【００３９】
次にステップＳ３０８に進むと、処理対象となっているＭＩＤＩチャネルに対応した全てのイベントについて以上説明した処理を実行したか否か、すなわち、分析を終了してよいか否かを判断する。この判断結果が「ＮＯ」の場合は、今回取り込んだイベントの次のイベントを取り込み（ステップＳ３０９）、この取り込んだイベントについてステップＳ３０３〜Ｓ３０８からなる処理を実行する。以下、同様にして処理対象たるＭＩＤＩチャネルに対応した全てのイベントについてステップＳ３０３〜Ｓ３０８からなる処理が実行される。そして、ステップＳ３０８の判断結果が「ＹＥＳ」になると、その時点における最大値ｍａｘおよび最小値ｍｉｎをＲＡＭ１４内の所定のエリアに格納し（ステップＳ３１０）、当該ＭＩＤＩチャネルに対応した処理を終了する。
【００４０】
チェンジャとしての処理は、図１２に示すフローに従って実行される。まず、ＭＩＤＩチャネルのチャネル番号ＣＨを「０」に初期設定する（ステップＳ４０１）。次いでレジスタＥＸＰ（ＣＨ）の内容が“１”か否か、すなわち、現在のチャネル番号ＣＨに対応したＭＩＤＩチャネルがベロシティエキスパンダ編集処理の処理対象となっているか否かを判断する（ステップＳ４０２）。そして、この判断結果が「ＮＯ」である場合はチャネル番号ＣＨを１だけ増加させた後（ステップＳ４０３）、チャネル番号ＣＨが「１５」を超えているか否かを判定し（ステップＳ４０７）、超えていなければステップＳ４０２の判断を再び行う。
【００４１】
一方、レジスタＥＸＰ（ＣＨ）の内容が“１”となっている場合には、そのチャネル番号ＣＨに対応したＭＩＤＩチャネルのベロシティデータＶｅｌをＲＡＭ１４から１個ずつ順次読み出す（ステップＳ４０４）。そして、このベロシティデータＶｅｌを以下の式（１）に従って更新し、更新後のベロシティデータＶｅｌをＲＡＭ１４内の元の位置に戻す（ステップＳ４０５）。
0003772430.tif 000002
【００４２】
ただし、この式（１）において、ｍａｘおよびｍｉｎは、チャネル番号ＣＨに対応したＭＩＤＩチャネルにおけるベロシティデータの最大値および最小値であり、既に図１１を参照して説明した処理により求められ、ＲＡＭ１４内に格納されていた情報である。
【００４３】
次に、チャネル番号ＣＨのＭＩＤＩチャネルに対応した全てのベロシティデータを読み終えたか否かを判断する（ステップＳ４０６）。そして、この判断結果が「ＮＯ」の場合はステップＳ４０４に戻り、後続のベロシティデータについて同様の処理を行う。そして、ステップＳ４０６の判断結果が「ＹＥＳ」となった場合には、チャネル番号ＣＨを増加させた後（ステップＳ４０３）、ステップＳ４０７に進んでチャネル番号ＣＨが「１５」を超えているか否かを判断する。この判断結果が「ＮＯ」の場合はステップＳ４０２に進み、ステップＳ４０２において他に処理対象となっているＭＩＤＩチャネルが見つかった場合には、そのＭＩＤＩチャネルについて上述の処理を行う。そして、すべてのＭＩＤＩチャネルについての処理が終了すると、ステップＳ４０７の判断結果が「ＹＥＳ」となり、チェンジャとしての処理が終了する。
【００４４】
以上の処理により、処理対象となったＭＩＤＩチャネルに対応した全ベロシティデータは、レジスタＭＡＸ（ＣＨ）およびＭＩＮ（ＣＨ）に設定された上限値および下限値によって限られた範囲内に分布範囲が拡大される。図１３は、このベロシティデータの分布範囲の拡大の様子を図示したものである。この図に示すように、最大値ｍａｘから最小値ｍｉｎまでの範囲に分布していた各ベロシティデータは、前掲式（１）の適用により、各々相互の大小関係をそのまま維持した状態で、上限値ＭＡＸ（ＣＨ）および下限値ＭＩＮ（ＣＨ）によって挟まれた広い範囲内にその分布範囲が拡大されるのである。
【００４５】
このように本実施形態によれば、指定したＭＩＤＩチャネルについてベロシティデータの分布範囲を任意に広げることができるので、自動演奏時における特定パートの音量の変化の起伏を任意に大きくし、演奏に表情を持たせることができる。
【００４６】
（３）発音重複化編集処理
発音重複化編集処理においては、処理対象となっている各ＭＩＤＩチャネル（ＤＢＬ（ＣＨ）＝“１”となっているＭＩＤＩチャネル）について、当該ＭＩＤＩチャネルに対応した既存のキーオンイベントに対し、これと重複するキーオンイベントを付加する処理を行う。この重複するキーオンイベントの付加を全く無条件に行った場合には発音チャネルが不足するおそれがある。そこで、既存のキーオンイベントの発生状況を時系列的に把握する分析処理を行った後、各時点において発音チャネルの不足が生じないという条件を満たす限りにおいて、重複したキーオンイベントを付加する処理を行う。前者の分析処理はアナライザの実行により行われ、後者の処理はチェンジャの実行により行われる。
【００４７】
アナライザの分析処理（図８のステップＳ２０４に相当する処理）においては、処理対象たるＭＩＤＩチャネルに対応した各キーオンイベントについて、各々と同一のキーオンイベントを付加した場合に発音チャネルが不足しないか否かを判定する。この処理の概要を図１４を参照して説明する。図１４（ａ）（ｂ）において、ＫＯＮ１，ＫＯＮ２，…等は各々キーオンイベントを表しており、ＫＯＦＦ１，ＫＯＦＦ２，…等はこれらのキーオンイベントによって開始された発音動作を終了させるキーオフイベントを表している。これらの各キーオンイベントおよび各キーオフイベントは、ＲＡＭ１４内に記憶された演奏データの中から抽出されたものであり、図面横方向を時間の進行方向とし、各々の再生順序に従って時系列的に並べられている。
【００４８】
ここで、図１４（ａ）および（ｂ）に示す各状況について、発音チャネル不足の有無を如何にして判定するか、その例を説明する。なお、以下では音源ボードが４個の発音チャネルを有していることを前提とする。また、図示されたキーオンイベントおよびキーオフイベントは、すべて発音重複化編集処理の処理対象となっているＭＩＤＩチャネルに対応したものであるとする。
【００４９】
まず、図１４（ａ）に示す状況においては、各キーオンイベントＫＯＮ１〜ＫＯＮ３によって開始される各発音期間は時間軸上において重複しない。従って、各キーオンイベントＫＯＮ１〜ＫＯＮ３はいずれも各々に重複したキーオンイベントを付加することが可能である。
【００５０】
次に、図１４（ｂ）に示す状況について検討する。この場合、各キーオンイベントＫＯＮ１〜ＫＯＮ５によって開始される各発音期間の中には時間軸上において相互に重複するものがある。そこで、各キーオンイベントについて重複したキーオンイベントを付加可能か否かを検討する。
【００５１】
まず、キーオンイベントＫＯＮ１について検討すると、このキーオンイベントの発生タイミングにおいては他のキーオンイベントによる発音は行われていない。また、キーオンイベントＫＯＮ１による発音がキーオフイベントＫＯＦＦ１によって終了するまでの間にキーオンイベントＫＯＮ２およびＫＯＮ３が生じるが、これらのキーオンイベントに対応した発音を行ったとしても、依然として発音チャネルが１個余る。従って、キーオンイベントＫＯＮ１による発音が行われる期間、さらに１個の発音チャネルを使用して発音を行ったとしても、発音チャネル不足は生じない。よって、キーオンイベントＫＯＮ１については、これと同じキーオンイベントを付加し、同一音について発音チャネルを２個使用した重複発音を行ってもよいという判定結果となる。
【００５２】
次に、キーオンイベントＫＯＮ２について検討する。上記判定の結果に従うとすると、キーオンイベントＫＯＮ１に関しては発音チャネルを２個使用して重複した発音が行われるため、キーオンイベントＫＯＮ２に対応した発音を行う際には発音チャネルを３個使用することとなる。そして、キーオンイベントＫＯＮ２による発音がキーオフイベントＫＯＦＦ２によって終了するまでの間に、キーオンイベントＫＯＮ３に対応した発音が開始される。ここで、キーオンイベントＫＯＮ３に対応した発音開始時点においては、依然としてキーオンイベントＫＯＮ１に対応した発音が行われているので、この時点において発音チャネルを４個使用することとなる。従って、仮にキーオンイベントＫＯＮ２について発音チャネルを２個使用した発音を行ってしまうと、キーオンイベントＫＯＮ３に対応した発音を開始する時点において発音チャネルが不足してしまう。よって、キーオンイベントＫＯＮ２については、発音チャネルを２個使用した重複発音は許可できないという判定結果となる。
【００５３】
次に、キーオンイベントＫＯＮ３について検討する。上記各判定の結果に従うとすると、キーオンイベントＫＯＮ１に関しては発音チャネルを２個使用して重複した発音が行われ、キーオンイベントＫＯＮ２に関しては発音チャネルを１個使用した発音が行われるため、キーオンイベントＫＯＮ３に対応した発音を行う際には発音チャネルを４個使用することとなる。従って、キーオンイベントＫＯＮ３に関しては、発音チャネルを２個使用した重複発音をすることができないのは明らかである。
【００５４】
次に、キーオンイベントＫＯＮ４について検討する。このキーオンイベントＫＯＮ４に対応した発音を開始する時点においては、キーオンイベントＫＯＮ１に対応した発音が既に終了している。従って、この時点においては、キーオンイベントＫＯＮ２、ＫＯＮ３およびＫＯＮ４に対応した発音を行うために３個の発音チャネルを使用することとなり、発音チャネルが１個余る。また、キーオンイベントＫＯＮ４による発音がキーオフイベントＫＯＦＦ４によって終了するまでの間、他のキーオンイベントに対応した発音は開始されない。よって、キーオンイベントＫＯＮ４については、発音チャネルを２個使用した重複発音を認めてよいという判定結果となる。
【００５５】
以上説明した判定は、複数のキーオンイベントに対応した発音期間が時間軸上において重複し、いずれかのキーオンイベントについて重複発音を行うと発音チャネルの不足が生じる場合には、時間的に先に再生されるキーオンイベントを優先して重複発音を許可するというルールに従って行われるものである。なお、このようなルールの他、発音重複化についての各キーオンイベントの競合を回避する各種のルールが考えられるが、その説明は省略する。
【００５６】
発音重複化編集処理の分析処理においては、以上のような原理に従い、重複発音の適用の可否の判定を処理対象たるＭＩＤＩチャネルに対応した各キーオンイベントについて行うのである。
【００５７】
この分析処理を行うためには、各キーオンイベントおよび各キーオフイベントの発生状況を時系列的に捉える必要がある。そこで、本実施形態においては、演奏データに含まれているステップタイムを参照し、各キーオンイベントに対応した発音期間の時間軸上での占有位置を求める。すなわち、演奏データ中の各イベントの前には、図１５に例示するようにステップタイムを表すデータが付加されている。このステップタイムは、その直前のイベントを再生してから当該イベント（ステップタイムの直後のイベント）を再生するまでの待機時間である。従って、任意のイベントについて当該イベントよりも前に存在する全てのステップタイムの合計値を演算すれば、自動演奏の開始時刻を基準とした当該イベントの相対的な再生時刻を求めることができる。本実施形態においては、各キーオンイベントおよび各キーオフイベントについてこのような演算を行うことにより、各キーオンイベントに対応した発音期間の時間軸上での占有位置を求めるのである。
【００５８】
次に図１６を参照し、発音重複化編集処理の分析処理の具体的なフローについて説明する。まず、処理対象となっているＭＩＤＩチャネルに対応した演奏データの中から先頭のイベントを取り込む（ステップＳ５０１）。次に、この取り込んだイベントがキーオンイベントか否かを判断する（ステップＳ５０２）。この判断結果が「ＹＥＳ」である場合にはステップＳ５０３に進み、「ＮＯ」の場合はステップＳ５０８に進む。
【００５９】
次にステップＳ５０３に進むと、今回取り込んだキーオンイベントの周辺イベントの調査を行う。すなわち、上述したようにステップタイムに基づいて把握される各キーオンイベントに対応した各発音期間に着目し、次の事項の調査を行う。
【００６０】
ａ．今回取り込んだキーオンイベントに対応した発音期間が他のキーオンイベントに対応した発音期間と時間軸上において重複していないかどうか。
ｂ．発音期間の重複が認められる場合において、今回取り込んだキーオンイベントに重複発音を適用した場合に発音チャネルの不足が生じないかどうか。
【００６１】
次にステップＳ５０４に進み、上記ステップＳ５０３での調査結果に基づき、今回取り込んだキーオンイベントに対し、重複発音を適用可能か否かを判断する。この判断の結果は、次の３通りに分れる。
【００６２】
ａ．無条件に重複発音を認めて構わない。
この判断がなされる状況を図１７（ａ）に例示する。この例では、キーオンイベントＫＯＮ１およびＫＯＮ２に対応した各発音期間は、他のキーオンイベントに対応した発音期間と全く重複していない。よって、今回取り込んだキーオンイベントがこの例に示すキーオンイベントＫＯＮ１およびＫＯＮ２のような状況に置かれている場合には、無条件に重複発音を適用可能という判定結果となる。
【００６３】
ｂ．条件付きで重複発音を認めてもよい。すなわち、今回取り込んだキーオンイベントと競合する他のキーオンイベントがあるため、今回取り込んだキーオンイベントに重複発音を適用可能か否かはこれらの他のキーオンイベントに重複発音を適用するか否かによる。
【００６４】
この判断がなされる状況を図１７（ｂ）に例示する。この例では、キーオンイベントＫＯＮ１、ＫＯＮ２およびＫＯＮ３は各々の発音期間が時間軸上において重複しているため、これらのうち１個のみについて重複発音を適用することが許される。また、キーオンイベントＫＯＮ４は、キーオンイベントＫＯＮ２およびＫＯＮ３と発音期間が重複している。従って、キーオンイベントＫＯＮ４については、キーオンイベントＫＯＮ２およびＫＯＮ３のいずれについても重複発音が適用されていない場合に限り、重複発音を認めてよい。今回取り込んだキーオンイベントがこの例に示すキーオンイベントＫＯＮ１〜ＫＯＮ４のような状況に置かれている場合には、これらに対し重複発音を適用可能か否かは競合する他のキーオンイベントに対する重複発音の適用如何によることとなる。
【００６５】
ｃ．今回取り込んだキーオンイベントに重複発音を認める余地は全くない。
キーオンイベントの追加を行わなくても既に発音チャネルが全て使用されており、重複発音を行うと必ず発音チャネルが不足してしまう状況である。
【００６６】
ステップＳ５０４の判定において、判定結果が上記ａまたはｂに該当する場合にはステップＳ５０５に進み、上記ｃに該当する場合にはステップＳ５０８に進む。
【００６７】
次にステップＳ５０５に進むと、ステップＳ５０４の判定結果が上記ｂであるか否かを判断する。この判断結果が「ＹＥＳ」の場合はステップＳ５０６に進み、今回取り込んだキーオンイベントの内容と時間軸上での位置を示す情報をＲＡＭ１４内に記録する。そして、ステップＳ５０８に進む。
【００６８】
一方、ステップＳ５０４の判定結果が「ＮＯ」の場合、すなわち、今回取り込んだキーオンイベントが上記の状況ｂに置かれている場合にはステップＳ５０７に進み、競合を回避するための調整を行う。この調整は、例えば既に図１４を参照して説明したように先に再生されるキーオンイベントを優先して重複発音を適用するルールに従って行う。この方法の他、例えば競合しているキーオンイベントをＣＲＴディスプレイ２に表示し、いずれのキーオンイベントに重複発音を適用するかを使用者に選択させるようにしてもよい。重複発音を適用するキーオンイベントを決定すると、そのキーオンイベントの内容および時間軸上での位置を示す情報をＲＡＭ１４内に記録し、ステップＳ５０８に進む。
【００６９】
次にステップＳ５０８に進むと、処理対象となっているＭＩＤＩチャネルに対応した全てのイベントについて以上説明した処理を実行したか否か、すなわち、分析を終了してよいか否かを判断する。この判断結果が「ＮＯ」の場合は、次のイベントを取り込み（ステップＳ５０９）、ステップＳ５０２へ戻る。以下、同様にして処理対象たるＭＩＤＩチャネルに対応した全てのイベントについてステップＳ５０２〜Ｓ５０８からなる処理が実行される。そして、ステップＳ５０８の判断結果が「ＹＥＳ」になることを以て、このアナライザとしての処理を終了する。
【００７０】
チェンジャとしての処理は、図１８に示すフローに従って実行される。まず、ＭＩＤＩチャネルのチャネル番号ＣＨを「０」に初期設定する（ステップＳ６０１）。次いでダブラレジスタＤＢＬ（ＣＨ）の内容が“１”か否か、すなわち、現在のチャネル番号ＣＨに対応したＭＩＤＩチャネルが発音重複化編集処理の処理対象となっているか否かを判断する（ステップＳ６０２）。そして、この判断結果が「ＮＯ」である場合はチャネル番号ＣＨを１だけ増加させた後（ステップＳ６０５）、チャネル番号ＣＨが「１５」を超えているか否かを判定し（ステップＳ６０４）、超えていなければステップＳ６０２の判断を再び行う。
【００７１】
一方、レジスタＤＢＬ（ＣＨ）の内容が“１”となっている場合には、ステップＳ６０３に進んでキーオンイベント挿入処理を実行する。すなわち、チャネル番号ＣＨに対応したＭＩＤＩチャネルのイベントをＲＡＭ１４から１個ずつ順次読み出し、読み出したイベントをＲＡＭ１４内の別のエリアに順次書込んでゆく。その際に、上述したアナライザの実行の際にＲＡＭ１４に格納した各キーオンイベントに関する情報を参照し、ＲＡＭ１４から読み出した各イベントが重複発音を適用することとしたキーオンイベントであるか否かを判定する。そして、重複発音を適用することとしたキーオンイベントについては、これと同一内容のキーオンイベントを付加し、ＲＡＭ１４へ書込む。このキーオンイベント挿入処理が終わると、ステップＳ６０５に進んでチャネル番号ＣＨを１増加させる。そして、ステップＳ６０４に進んで、チャネル番号ＣＨが「１５」を超えたか否かを判断する。この判断結果が「ＮＯ」の場合はステップＳ６０２に戻る。その後、処理が進んでチャネル番号ＣＨが「１５」を超えることにより、ステップＳ６０４の判断結果が「ＹＥＳ」となり、チェンジャとしての処理が終了する。
【００７２】
以上のように、本実施形態によれば、所望のＭＩＤＩチャネルのキーオンイベントに対し重複発音を適用することができるため、所望のパートの音を芯のある太い音とすることができる。
【００７３】
（４）タイミングチューナ編集処理
最初に、図１９を参照し、タイミングチューナ編集処理の概要を説明する。図１９において、横方向の直線は時間軸を示しており、この時間軸の上側に並べられた一連の白抜きの三角マークは各々、このタイミングチューナ編集処理の処理対象たるキーオンイベントの再生タイミングを示している。また、時間軸の下側には一連の黒塗りの三角マークが記されているが、これらは使用者が発音を望んでいるタイミングを示している。
【００７４】
このタイミングチューナ編集処理においては、処理対象たるＭＩＤＩチャネル（ＴＵＮ（ＣＨ）＝“１”となっているＭＩＤＩチャネル）に対応したキーオンイベントまたはキーオフイベントについて、各々が使用者の望むタイミングで再生されるように再生タイミングの補正を行うものである。タイミングチューナ編集処理は、既存のキーオンイベントまたはキーオフイベントの再生タイミングと使用者が望む再生タイミングとのずれ時間、すなわち、図１９に示すΔｔ1，Δｔ2，…を求める分析処理と、この分析処理の結果に基づいて各キーオンイベントおよびキーオフイベントの再生タイミングを補正する処理とにより構成される。前者の分析処理を行うためのプログラムがアナライザであり、後者の処理を行うためのプログラムがチェンジャである。
【００７５】
アナライザを実行するに当たり、使用者が望む再生タイミングを表すデータを予め準備する必要がある。このデータを得るための方法としては次の２通りがある。
【００７６】
ａ．使用者が実演奏をすることによる方法
例えば使用者が他の電子楽器を使用して特定パート（例えばリズムパート）の演奏を行う。その際に得られる実演奏データをＭＩＤＩインタフェース１７からこの演奏データ編集装置に供給し、実演奏データ中のキーオンイベントまたはキーオフイベントの再生タイミングを使用者が望む再生タイミングとして使用する。
【００７７】
ｂ．図２０に示すように使用者がキーボード３のスペースキーを叩くことにより所望の再生タイミングを指定する実演奏データを作成する方法
この方法を利用する場合、使用者は、演奏データ編集装置の動作モードをＭＩＤＩデータ作成モードに設定した後、スペースキーのみを使用したリズム演奏をする。すなわち、発音を開始させたいタイミングにおいてスペースキーをオンとし、発音を終了させたいタイミングにおいてスペースキーをオフとすればよい。従って、この方法は、電子楽器演奏に不慣れな使用者にとっては便利である。
【００７８】
図２１は、この方法に従ってリズム系の楽音のキーオンイベントの再生タイミングを表す実演奏データを作成する実演奏データ作成プログラムのフローを示すものである。以下、このプログラムの処理内容を説明する。
【００７９】
このプログラムは所定のコマンドが入力されることにより開始される。まず、ステップＳ７０１に進むと、スペースキーのオンイベントがあったか否かを判断する。この判断結果が「ＮＯ」の場合にはステップＳ７０４に進み、処理終了の指示がなされたか否か（図示しない終了ボタンが押されたか否か）を判断する。そして、この判断結果が「ＮＯ」の場合はステップＳ７０１に戻る。
【００８０】
スペースキーのオンイベントが発生すると、ステップＳ７０１の判断結果が「ＹＥＳ」となってステップＳ７０２に進む。そして、現在の動作モードがＭＩＤＩデータ作成モードか否かを判断する。この判断結果が「ＮＯ」の場合は何等のデータを作成することもなくこのプログラムを終了する。
【００８１】
一方、ステップＳ７０２の判断結果が「ＹＥＳ」の場合はステップＳ７０３に進み、ＭＩＤＩエンコード処理を実行する。すなわち、このプログラムの実行を開始してからの経過時間に相当するステップタイムと所定のキーオンイベントを作成し、ＲＡＭ１４内の所定のエリアに書込む。そして、この書込みを終えた後、ステップＳ７０１に戻る。
【００８２】
その後、再びスペースキーのオンイベントが発生すると、ステップＳ７０１，Ｓ７０２を介してステップＳ７０３に進み、再びＭＩＤＩエンコード処理を実行することとなる。この場合には、前回、ステップタイムおよびキーオンイベントの書込みを行ってから現在に至るまでの経過時間に相当するステップタイムと所定のキーオンイベントを作成し、ＲＡＭ１４内の所定のエリアに書込む。以後、同様に、スペースキーのオンイベントが検知される毎に、ステップタイムとキーオンイベントのＲＡＭ１４への記録を行ってゆく。そして、スペースキーの操作が途絶え、処理終了の指示がなされるとステップＳ７０４の判断結果が「ＹＥＳ」となり、処理が終了する。
【００８３】
以上の処理により、使用者が望むキーオンイベントの再生タイミングを表す実演奏データがＲＡＭ１４内に得られる。
【００８４】
なお、持続系の音のキーオンイベントおよびキーオフイベントの両方の再生タイミングを指定するデータをスペースキー操作によって作成したい場合には、図２１に示すプログラムに対し、スペースキーのオンイベントだけでなくオフイベントも判定するように処理を追加すればよい。
【００８５】
このようにして実演奏データが得られると、次にアナライザが実行され、タイミングチューナ編集処理の処理対象となっているＭＩＤＩチャネル（ＴＵＮ（ＣＨ）＝“１”となっているＭＩＤＩチャネル）について、図２２に示す分析処理が実行される。まず、ステップＳ８０１に進むと、ＲＡＭ１４内の演奏データからキーオンイベント以外のイベントの除去された楽譜データを作成する。すなわち、処理対象たるＭＩＤＩチャネルに対応した一連のイベントとこれらの各イベント間に介挿されたステップタイムをＲＡＭ１４から順次読み出してゆく。そして、この読み出しを行うのと並行し、次の処理を行う。
【００８６】
ａ．キーオンイベントが読み出されるまでの間は、その間に読み出されるステップタイムを累算してゆく。
ｂ．キーオンイベントが読み出された時点でステップタイムの累算値と当該キーオンイベントをＲＡＭ１４内の楽譜データ用の記憶エリアに書込む。
ｃ．この書込みを行った後は、ステップタイムの累算値を０に戻し、ａの処理を行う。
【００８７】
以上の処理が行われる結果、処理対象たるＭＩＤＩチャネルに対応したイベントが全て読み出された時点で、ＲＡＭ１４内にキーオンイベント以外のイベントを含まない楽譜データが得られる。
【００８８】
次にステップＳ８０２に進み、ＲＡＭ１４内の楽譜データおよび実演奏データの各々からイベントおよびその前に置かれたステップタイムを順次取り出してゆく。次いでステップＳ８０３に進み、このようにして取り出された楽譜データの各ステップタイムと実演奏データの各ステップタイムとを各々対応するもの同士について比較し、差分（すなわち、前掲図１９に示すΔｔ1，Δｔ2，…等のずれ時間）を求める。そして、この差分を各キーオンイベントに対応させてＲＡＭ１４内に書込み、分析処理を終了する。
【００８９】
チェンジャとしての処理は、図２３に示すフローに従って実行される。まず、ＭＩＤＩチャネルのチャネル番号ＣＨを「０」に初期設定する（ステップＳ９０１）。次いでチューナレジスタＴＵＮ（ＣＨ）の内容が“１”か否か、すなわち、現在のチャネル番号ＣＨに対応したＭＩＤＩチャネルがタイミングチューナ編集処理の処理対象となっているか否かを判断する（ステップＳ９０２）。そして、この判断結果が「ＮＯ」である場合はチャネル番号ＣＨを１だけ増加させ（ステップＳ９０５）、ステップＳ９０４に進んでチャネル番号ＣＨが「１５」を超えたか否かが判断される。この判断が「ＮＯ」の場合は、再びステップＳ９０２の処理を行う。
【００９０】
一方、レジスタＴＵＮ（ＣＨ）の内容が“１”となっている場合には、ステップＳ９０３に進んでステップタイム変更処理を実行する。すなわち、チャネル番号ＣＨに対応したＭＩＤＩチャネルのイベントをＲＡＭ１４から１個ずつ順次読み出し、読み出したイベントをＲＡＭ１４内の別のエリアに順次書込んでゆく。この間、キーオンイベントが読み出された場合には、ＲＡＭ１４に格納された当該キーオンイベントに対応したステップタイムの差分を参照する。そして、当該キーオンイベントの直前のステップタイムについては、この差分に相当するだけ値の補正を行い、この補正後のステップタイムを当該キーオンイベントと共にＲＡＭ１４に書込む。この処理が行われる結果、処理対象たるＭＩＤＩチャネルに対応した各キーオンイベントの再生タイミングは、実演奏データの各キーオンイベントの再生タイミングと一致するように補正される。なお、上記差分をそのまま補正に使用するのではなく、１より小さい所定の係数を差分に乗じたものを補正に使用し、キーオンイベントの再生タイミングを実演奏データのキーオンタイミングに近づけるようにしてもよい。
【００９１】
このステップタイム変更処理が終わるとステップＳ９０５に進み、チャネル番号ＣＨを増加させる。そして、ステップＳ９０４に進み、チャネル番号ＣＨが「１５」を超えたか否かを判断する。この判断結果が「ＮＯ」の場合は、ステップＳ９０２に戻る。その後、処理が進んでチャネル番号ＣＨが「１５」を超えると、ステップＳ９０４の判断結果が「ＹＥＳ」となり、チェンジャとしての処理が終了する。
【００９２】
以上のように、本実施形態によれば、上記タイミングチューナ編集処理により、特定のパートに対応した楽音の再生タイミングを使用者の望むタイミングに微調整することができるため、自動演奏に使用者の好みの乗りを持たせることができる。
【００９３】
【発明の効果】
以上説明したように、この発明によれば、自動演奏の際、本来発音されるべき他の楽音が発音チャネル数不足により発音されなくなるという弊害を招くことなく、所望のパートについて芯のある太い音が再生されるように演奏データを編集することができる。
【図面の簡単な説明】
【図１】  この発明の一実施形態である演奏データ編集装置の外観を示す図である。
【図２】  同実施形態の電気的構成を示すブロック図である。
【図３】  同実施形態の制御用レジスタを示す図である。
【図４】  同実施形態のＲＯＭ１５内の制御プログラムを示す図である。
【図５】  同実施形態の動作を示すフローチャートである。
【図６】  同実施形態の動作を示すフローチャートである。
【図７】  同実施形態の動作を示すフローチャートである。
【図８】  同実施形態の動作を示すフローチャートである。
【図９】  同実施形態のベロシティエキスパンダ編集処理を説明する図である。
【図１０】  ベロシティエキスパンダ編集処理の処理対象であるキーオンイベントを示す図である。
【図１１】  同実施形態の動作を示すフローチャートである。
【図１２】  同実施形態の動作を示すフローチャートである。
【図１３】  ベロシティエキスパンダ編集処理の効果を示す図である。
【図１４】  同実施形態の発音重複化編集処理を説明する図である。
【図１５】  発音重複化編集処理の処理対象を示す図である。
【図１６】  同実施形態の動作を示すフローチャートである。
【図１７】  発音重複化編集処理の分析処理を説明する図である。
【図１８】  同実施形態の動作を示すフローチャートである。
【図１９】  同実施形態のタイミングチューナ編集処理を説明する図である。
【図２０】  同実施形態における実演奏データの作成方法を説明する図である。
【図２１】  同実施形態の動作を示すフローチャートである。
【図２２】  同実施形態の動作を示すフローチャートである。
【図２３】  同実施形態の動作を示すフローチャートである。
【符号の説明】
１１……ＣＰＵ（演奏データ付加手段）、
１２……表示部、１３……操作部（パート指定手段）、
１４……ＲＡＭ（演奏データ記憶手段）、
１５……ＲＯＭ、１６……ハードディスク装置、
１７……ＭＩＤＩインタフェース、
６………音源ボード、５Ｌ，５Ｒ……スピーカ。
【図１】
0003772430.tif 000003
【図２】
0003772430.tif 000004
【図３】
0003772430.tif 000005
【図４】
0003772430.tif 000006
【図５】
0003772430.tif 000007
【図６】
0003772430.tif 000008
【図７】
0003772430.tif 000009
【図８】
0003772430.tif 000010
【図９】
0003772430.tif 000011
【図１０】
0003772430.tif 000012
【図１１】
0003772430.tif 000013
【図１２】
0003772430.tif 000014
【図１３】
0003772430.tif 000015
【図１４】
0003772430.tif 000016
【図１５】
0003772430.tif 000017
【図１６】
0003772430.tif 000018
【図１７】
0003772430.tif 000019
【図１８】
0003772430.tif 000020
【図１９】
0003772430.tif 000021
【図２０】
0003772430.tif 000022
【図２１】
0003772430.tif 000023
【図２２】
0003772430.tif 000024
【図２３】
0003772430.tif 000025