(57)【特許請求の範囲】
【請求項１】
複数のパートに対応する複数のトラックにおいて演奏情報のイベントデータを記録および再生するマルチトラックレコーダとともに使用される電子楽器であって、
指定された一の受信チャンネルのイベントデータである元イベントデータと設定されたアルペジオパターンとに基づいてアルペジオ・イベントデータを生成するアルペジェータと、
前記複数のパート毎に、音色と、前記アルペジオパターンを指定するアルペジオパターン指定データとを記憶する記憶手段と、
前記複数のパートのうち何れかがアルペジオ対象パートとして選択されると、前記記憶手段に記憶され該選択されたパートに係るアルペジオパターン指定データを読み出し、前記アルペジェータに対して該アルペジオパターン指定データによって指定されたアルペジオパターンを設定する準備手段と、
前記アルペジオ・イベントデータを、前記選択されたパートに対して指定されたチャンネル情報が示す送信チャンネルのイベントデータとして、前記マルチトラックレコーダに送信する送信手段と
を有することを特徴とする電子楽器。
【請求項２】
前記マルチトラックレコーダは、前記送信手段が送信したアルペジオ・イベントデータを記録するものであり、
前記マルチトラックレコーダから、前記記録されたアルペジオ・イベントデータを受信する手段と、
前記アルペジオ・イベントデータに基づく楽音信号と、前記アルペジェータが生成したアルペジオ・イベントデータに基づく楽音信号とをそれぞれ生成する音源部と
をさらに備えたことを特徴とする請求項１記載の電子楽器。
【請求項３】
前記準備手段にて、何れかのパートが選択されたとき、前記アルペジェータには、その選択されたパートの前記チャンネル情報が示す送信チャンネルとは異なるチャンネルが一の前記受信チャンネルとして自動的に指定される
ことを特徴とする請求項１記載の電子楽器。
【請求項４】
前記記憶手段は、さらに、前記複数のパート毎に、音色を指定する音色指定データを記憶するものであり、さらに、
各パートの前記チャンネル情報が示す送信チャンネルのイベントデータを受信し、当該パートの音色指定データで指定されている音色で楽音信号を生成する音源部を備える
ことを特徴とする請求項１記載の電子楽器。
【請求項５】
複数のパートに対応する複数のトラックにおいて演奏情報のイベントデータを記録および再生するマルチトラックレコーダとともに使用される電子楽器に適用されるプログラムであって、
前記電子楽器は、
前記複数のパート毎に、音色と、アルペジオパターンを指定するアルペジオパターン指定データとを記憶する記憶手段と、
イベントデータを前記マルチトラックレコーダに送信する送信手段と、
処理装置と
を有するものであり、
前記複数のパートのうち何れかがアルペジオ対象パートとして選択されると、前記記憶手段に記憶され該選択されたパートに係るアルペジオパターン指定データを読み出し、該アルペジオパターン指定データによって指定されたアルペジオパターンを設定する準備過程と、
指定された一の受信チャンネルのイベントデータである元イベントデータと前記設定されたアルペジオパターンとに基づいてアルペジオ・イベントデータを生成するアルペジオ・イベントデータ生成過程と、
前記アルペジオ・イベントデータを、選択されたパートに対して指定されたチャンネル情報が示す送信チャンネルのイベントデータとして、前記送信手段により前記マルチトラックレコーダに送信する送信過程と
を前記処理装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アルペジオを使用した演奏等に用いて好適な電子楽器およびプログラムに関する。
【背景技術】
【０００２】
従来より、アルペジオ（Arpeggio）とは、元々分散和音の意味で用いられていた。例えば、Ｃ音、Ｅ音、Ｇ音の和音を発生させる際、これらの音を同時に発音させるのではなく、時間軸上で発音タイミングをずらしながら発生させたものがアルペジオと呼ばれていた。このアルペジオを自動的に発生させる機能をアルペジェータという。例えば、ユーザがＣ音、Ｅ音、Ｇ音の鍵を同時に押下したときに、対応するＣ音、Ｅ音、Ｇ音の発音タイミングを自動的にずらしたイベントデータを発生させる機能がアルペジェータである。
【０００３】
一方、非特許文献１にあるように、近年の電子楽器においては、アルペジオおよびアルペジェータはより広い意味で用いられている。例えば、入力されたイベントデータのコード検出を行い、コードに応じたイベントデータを出力するものや、押鍵音に関係なく（同時に押下された鍵の数や音高にかかわらず）常に同一のドラムパターンを発生させるものなど、アルペジェータには多種多様な機能が付与されている。この結果、アルペジェータは、「入力されたイベントデータ（元イベントデータ）を、ある規則に基づいて変換し、変換したイベントデータ（アルペジオ・イベントデータ）を出力する機能」であると考えることができる。この元イベントデータをアルペジオ・イベントデータに変換する「規則」を「アルペジオパターン」と呼ぶ。そして、アルペジオパターンを一意に特定する情報、例えばアルペジオパターンの名称などを「アルペジオタイプ」と呼ぶ。
【０００４】
従来の通常の電子楽器においては、アルペジェータが「１」系統のみ設けられていたため、複数のパートのイベントデータに対して同時にアルペジオをかけることができなかった。このため、特許文献１に開示されている電子楽器においては、複数のアルペジェータを装備し、同時に複数の音色に対してアルペジオを施す技術が開示されている。すなわち、同文献においては、電子楽器の鍵盤に対して、一または複数種類の音色が割り当てられる。そして、鍵操作に応じて複数の音色に係る演奏情報が生成されると、これら音色毎に、予め設定されたアルペジオパターンが適用される。
【０００５】
ところで、電子楽器と、複数トラックの演奏情報を記録するマルチトラックレコーダとを用いて、複数のパートから成る楽曲のソングデータを作成するときがある。このような場合には以下のような方法が採られていた。まず、ユーザは、電子楽器の鍵盤等を用いて何れかのパートに係る演奏を行うとともに、その演奏に係る演奏情報をマルチトラックレコーダのあるトラックに録音する。次に、ユーザは、他のパートに係る演奏を行うとともに、その演奏に係る演奏情報を他のトラックに録音する。この録音を行う際に、既に録音済のパートの演奏情報を再生し発音させると、既に録音済みのパートとタイミングを合わせつつ、新たなパートの演奏情報を録音してゆくことができる。このように、複数のトラックの演奏情報を順次録音してゆく際、アルペジオを用いたパートを録音する場合がある。この場合においては、上述したアルペジェータを機能させると、アルペジオを施した演奏情報が対応するトラックに録音されることになる。
【０００６】
【特許文献１】特開平１１−１２６０７４号公報
【非特許文献１】「ＭＯＴＩＦ  ＥＳ  取扱説明書」，ヤマハ株式会社，２００３年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記特許文献１に開示された技術は、鍵盤演奏を行うためのものであり、当該鍵盤に割り当てられた音色で楽音信号を生成する際に必要なアルペジオを施すものであり、マルチトラックレコーダを用いて、個々のパートの演奏情報を対応するトラックに記録してゆくことによりソングデータを構成するものではなかった。このため、「音色」に対してアルペジオパターンを定義付けることが可能であったとしても、「パート」に対してアルペジオパターンを定義付けることができなかった。なお、言うまでもないことであるが、複数のパートに対して同一の音色を割り当てるとともに、各パート毎にアルペジオのオン／オフ状態およびアルペジオパターンを異ならせることは通常行われていることである。
【０００８】
このため、ユーザは、あるパート（例えば録音しようとするパート）に対してアルペジオを施そうとする場合には、当該パートに如何なるアルペジオパターンを設定するのかをその都度マニュアル操作で指定しなければならず、ユーザの行うべき操作がきわめて煩雑であった。
この発明は上述した事情に鑑みてなされたものであり、指定されたパートに応じて、アルペジオパターンを自動的に選択することができる電子楽器およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の電子楽器にあっては、複数のパートに対応する複数のトラックにおいて演奏情報のイベントデータを記録および再生するマルチトラックレコーダ（１１０）とともに使用される電子楽器であって、指定された一の受信チャンネル（Rch（２，ｊ））のイベントデータである元イベントデータと設定されたアルペジオパターンとに基づいてアルペジオ・イベントデータを生成するアルペジェータ（６０）と、前記複数のパート毎に、音色と、前記アルペジオパターンを指定するアルペジオパターン指定データ（アルペジオタイプ）とを記憶する記憶手段（２６，２７０）と、前記複数のパートのうち何れかがアルペジオ対象パートとして選択されると、前記記憶手段に記憶され該選択されたパートに係るアルペジオパターン指定データ（アルペジオタイプ）を読み出し、前記アルペジェータ（６０）に対して該アルペジオパターン指定データ（アルペジオタイプ）によって指定されたアルペジオパターンを設定する準備手段（ＳＰ８２）と、前記アルペジオ・イベントデータを、前記選択されたパートに対して指定されたチャンネル情報が示す送信チャンネル（Tch（１，ｊ））のイベントデータとして、前記マルチトラックレコーダ（１１０）に送信する送信手段（１０ａ）とを有することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載の電子楽器において、前記マルチトラックレコーダ（１１０）は、前記送信手段（１０ａ）が送信したアルペジオ・イベントデータを記録するものであり、前記マルチトラックレコーダ（１１０）から、前記記録されたアルペジオ・イベントデータを受信する手段（１０ａ）と、前記アルペジオ・イベントデータに基づく楽音信号と、前記アルペジェータ（６０）が生成したアルペジオ・イベントデータに基づく楽音信号とをそれぞれ生成する音源部（６）とをさらに備えたことを特徴とする。
さらに、請求項３記載の構成にあっては、請求項１記載の電子楽器において、前記準備手段（ＳＰ８２）にて、何れかのパートが選択されたとき、前記アルペジェータ（６０）には、その選択されたパートの前記チャンネル情報が示す送信チャンネル（Tch（１，ｊ））とは異なるチャンネル（Rch（２，ｊ））が一の前記受信チャンネルとして自動的に指定されることを特徴とする。
さらに、請求項４記載の構成にあっては、請求項１記載の電子楽器において、前記記憶手段（２６，２７０）は、さらに、前記複数のパート毎に、音色を指定する音色指定データを記憶するものであり、さらに、各パートの前記チャンネル情報が示す送信チャンネルのイベントデータを受信し、当該パートの音色指定データで指定されている音色で楽音信号を生成する音源部（６）を備えることを特徴とする。
また、請求項５記載のプログラムにあっては、複数のパートに対応する複数のトラックにおいて演奏情報のイベントデータを記録および再生するマルチトラックレコーダ（１１０）とともに使用される電子楽器に適用されるプログラムであって、前記電子楽器は、前記複数のパート毎に、音色と、アルペジオパターンを指定するアルペジオパターン指定データ（アルペジオタイプ）とを記憶する記憶手段（２６，２７０）と、イベントデータを前記マルチトラックレコーダ（１１０）に送信する送信手段（１０ａ）と、処理装置（２２）とを有するものであり、前記複数のパートのうち何れかがアルペジオ対象パートとして選択されると、前記記憶手段に記憶され該選択されたパートに係るアルペジオパターン指定データ（アルペジオタイプ）を読み出し、該アルペジオパターン指定データ（アルペジオタイプ）によって指定されたアルペジオパターンを設定する準備過程（ＳＰ８２）と、指定された一の受信チャンネルのイベントデータである元イベントデータと前記設定されたアルペジオパターンとに基づいてアルペジオ・イベントデータを生成するアルペジオ・イベントデータ生成過程（ＳＰ１４，ＳＰ６８）と、前記アルペジオ・イベントデータを、選択されたパートに対して指定されたチャンネル情報が示す送信チャンネルのイベントデータとして、前記送信手段（１０ａ）により前記マルチトラックレコーダ（１１０）に送信する送信過程とを前記処理装置（２２）に実行させることを特徴とする。
【発明の効果】
【００１０】
このように本発明によれば、複数のパートのうち何れかがアルペジオ対象パートとして選択されると、記憶手段に記憶され該選択されたパートに係るアルペジオパターン指定データを読み出し、アルペジェータに対して該アルペジオパターン指定データによって指定されたアルペジオパターンを設定するから、指定されたパートに応じて、アルペジオパターンを自動的に選択することができる。
さらに、複数のパート毎に、マルチトラックレコーダのトラックに対応付けられたＭＩＤＩチャンネルを記憶する構成によれば、パートの選択に応じて、マルチトラックレコーダの適切なトラックが自動的に選択されるから、ユーザに求める操作を一層簡易にすることができる。
【発明を実施するための最良の形態】
【００１１】
1．ハードウエア構成
以下、この発明の一実施例のシンセサイザ１のハードウエア構成を図１を参照し説明する。図１において、２はパネルスイッチ部であり、ユーザによって操作される各種スイッチから構成されている。４はパネル表示器であり、ユーザに対して各種情報を表示する。６は音源部であり、最大「１６」パートの演奏情報に基づいて、各パートの楽音信号を合成するとともに、必要に応じてこれら楽音信号にイコライジング処理、エフェクト処理等を施して出力する。
【００１２】
１０はネットワークインタフェースであり、具体的にはＵＳＢインタフェース、IEEE1394 インタフェースなどによって構成される。ネットワークインタフェース１０においては、ＭＩＤＩ信号およびオーディオ信号が外部のパーソナルコンピュータ（ＰＣ）１００との間で入出力される。ここで、ネットワークインタフェース１０としてＵＳＢインタフェースまたはIEEE1394 インタフェースを採用した場合は、「１」ケーブルでＭＩＤＩ信号の入出力用に数十程度のポートを確保することができる。しかし、ネットワークインタフェース１０においてオーディオ信号を入出力するポートも確保する場合には、オーディオ信号のチャンネル数等に応じて、ＭＩＤＩ信号入出力用に割当可能なポート数は減少する。
【００１３】
８はミキサであり、音源部６から出力された各パートのオーディオ信号とネットワークインタフェース１０を介して入力されたオーディオ信号とをミキシングし、複数の出力チャンネルを介して出力する。これらの出力チャンネルのうち一部はＤＡコンバータ１２を介してアナログ信号に変換されおよびサウンドシステム１４を介して出力される。また、他の出力チャンネルのオーディオ信号は、ネットワークインタフェース１０を介してＰＣ１００に出力される。１８は演奏操作子部であり、鍵盤、ピッチベンドホイール等から構成されている。２２はＣＰＵであり、ＲＯＭ２４に格納されたプログラムに基づいて、バス１６を介してシンセサイザ１内の各部を制御する。２６はＲＡＭであり、ＣＰＵ２２のワークメモリとして使用される。２０はタイマであり、ＣＰＵ２２に対して所定時間毎にタイマ割込みを発生させる。
【００１４】
2．データ構成
上述したように、音源部６は最大「１６」パートの演奏情報に基づいて、各パートの楽音信号を生成するが、これら「パート」の状態を設定するために、図２に示す設定データ２７０がＲＡＭ２６内の所定領域に記憶される。設定データ２７０は、コモン設定データ２７２とパート設定データ２７４−１〜２７４−１６とから構成される。コモン設定データ２７２は、第１パート〜第１６パートに対して共通する設定データであり、以下のようなデータから構成される。
る。
・操作子アサイン：このデータは、演奏操作子部１８における各操作子の機能および各パートへの割当状態を定めるものである。
・マスタイコライザ：このデータは、全パートに対して共通に付与されるイコライジング処理、例えば演奏会場に応じた音場補正等の内容を定めるものである。
・エフェクタパラメータ：このデータは、全パートに対して共通に付与されるエフェクト処理の内容を定めるものである。
【００１５】
また、パート設定データ２７４−１〜２７４−１６は、各々第１パート〜第１６パートに固有の情報から成るものであり、各パート毎の以下のようなデータから構成される。
・パート名：これは当該パートの名称を表す文字列である。
・送信チャンネル：シンセサイザ１の内部においては、各パートの演奏情報には、パートに固有のチャンネル番号が割り当てられる。このチャンネル番号を「送信チャンネル」という。なお、外部のＰＣ１００との間で入出力される演奏情報は「ＭＩＤＩ信号」であり、当該ＭＩＤＩ信号に含まれる各種イベントデータには、ネットワークインタフェース１０における「ポート番号」と、当該ポート内の「ＭＩＤＩチャンネル」とが必ず特定される。このように、外部機器との間で入出力されるパートについては、「送信チャンネル」とは、このポート番号と、ＭＩＤＩチャンネルとを合わせた情報と等価である。
【００１６】
・音色指定：これは、当該パートに対する音色を指定するデータである。
・アルペジオタイプ：これは、当該パートの演奏情報に対してアルペジオを施す場合に、そのアルペジオパターンを一意に特定する情報である。
・アルペジオ・オン／オフ・フラグAon(p)：このフラグは、パート番号ｐに対してアルペジオを施す場合には“１”（オン状態）、施さない場合には“０”（オフ状態）に設定されるものである。
・音量およびＰＡＮ：このデータは、ミキサ８における音量およびステレオの左右の出力チャンネルへの配分を表すものである。
【００１７】
・再生仮想トラック：本実施例にて用いられるＭＩＤＩシーケンサ３６，１１２（詳細は後述する）は各トラック毎に演奏情報を記録するが、実際には、各トラックは、アルペジオを施す前の元イベントデータを記録する第１仮想トラックと、アルペジオを施した結果であるアルペジオ・イベントデータを記録する第２仮想トラックとから構成されている。「再生仮想トラック」は、当該パートに係るトラックを再生する際に、第１または第２仮想トラックのうち何れを再生するかを指定するデータである。
【００１８】
3．ソングモードにおける動作
3．1．アルゴリズム構成
次に、本実施例の動作を説明する。本実施例においては、動作モードとしてソングモードとアルペジオＲＥＣモードがある。ここで、ソングモードとは通常の鍵盤演奏などを行う動作モードである。ここで、ソングモードにおいてシンセサイザ１およびＰＣ１００によって実行される信号処理の等価アルゴリズムを図４を参照し説明する。
【００１９】
まず、シンセサイザ１の内部において１８ａは演奏操作子部１８（図１参照）の一部を成す鍵盤である。１０ａはＭＩＤＩインタフェース部、１０ｂは波形インタフェース部であり、各々ネットワークインタフェース１０におけるＭＩＤＩ信号およびオーディオ信号の入出力機能を表す。音源部６、ミキサ８、ＤＡコンバータ１２およびサウンドシステム１４は、図１において説明した通り、ハードウエアの構成要素である。シンセサイザ１の内部において、上述した以外の構成要素は、ＣＰＵ２２によって実行されるプログラムによって実現されている機能を表す。
【００２０】
これらの機能のうち、３６はシーケンサであり、最大「１６」トラックの演奏情報を記録／再生する。ここで、シーケンサ３６におけるトラック番号（「１〜１６」）と、パート番号（「１〜１６」）とは一対一に対応している。３２はマージ部であり、ＭＩＤＩインタフェース部１０ａおよび鍵盤１８ａを介して供給された演奏情報をマージする。また、マージ部４４はＭＩＤＩインタフェース部１０ａ、鍵盤１８ａおよびシーケンサ３６を介して供給された演奏情報をマージする。ＭＩＤＩイベントに付与されるＭＩＤＩチャンネル番号は、基本的には「１６」パートのうち一つを指定するためのものである。ＭＩＤＩ信号を伝送する物理的ないし論理的な伝送路（ポート）が複数ある場合には、そのポート番号と組み合わせて指定することにより、「１６」にそのポート数を乗じた数のパートの一つを特定することができる。なお、図面中の「Tch」はＭＩＤＩイベントを送信するための送信用のＭＩＤＩチャンネルを示し、「Rch」は受信用のＭＩＤＩチャンネルを示す。
【００２１】
４６はアルペジェータ群であり、「４」台のアルペジェータから構成されている。なお、図４においては特に個々のアルペジェータは図示しないが、アルペジェータ群４６に属するアルペジェータ番号ｑ（＝１〜４）のアルペジェータを、「アルペジェータ４６−ｑ」のように表記する。５２はマージ部であり、鍵盤１８ａ、シーケンサ３６およびアルペジェータ群４６を介して供給された演奏情報をマージし、ＭＩＤＩインタフェース部１０ａに供給する。
【００２２】
各アルペジェータ４６−１〜４６−４は、各アルペジェータ毎に設定されたチャンネル番号ARP_Rchの示すＭＩＤＩチャンネルに対応するパートのＭＩＤＩイベントデータ（元イベントデータ）に基づいて、アルペジオを施した結果であるイベントデータ群であるアルペジオ・イベントデータに、ＭＩＤＩチャンネル番号としてARP_Tch(*)を付加してマージ部５０に出力し、また、チャンネル番号ARP_Tchを付加してマージ部５２にそれぞれ出力する。を出力する。４５は分岐部であり、マージ部４４から出力されたイベントデータのうち、各アルペジェータ４６−１〜４６−４のARP_Rch(*)の示すＭＩＤＩチャンネルに対応するパート（アルペジオ対象パート）のイベントデータを各々対応するアルペジェータ４６−１〜４６−４に供給するとともに、それ以外のパートのイベントデータをマージ部５０に供給する。この結果、マージ部５０においては、アルペジオ対象パートのアルペジオ・イベントデータと、アルペジオ非対象パートのイベントデータとがマージされ、マージされた結果のＭＩＤＩ信号が音源部６に供給されることになる。
【００２３】
音源部６は、例えば「１２８」発音チャンネルを備えており、供給されたＭＩＤＩ信号（イベントデータ）に基づいて最大「１６」ＭＩＤＩチャンネルに対応する「１６」パートの楽音信号（オーディオ信号）を、最大「１２８」音まで同時に合成する。この楽音信号は、シンセサイザ１内のミキサ８、ＤＡコンバータ１２、サウンドシステム１４を介して発音させることができる。さらに、同時に波形インタフェース部１０ｂを介して楽音信号をＰＣ１００に供給し、ＰＣ１００側において録音等を行うこともできる。
【００２４】
次に、ＰＣ１００の内部において、１０２はＭＩＤＩインタフェース部、１０４は波形インタフェース部であり、シンセサイザ１内のインタフェース部１０ａ，１０ｂと同様に、ＰＣ１００内のネットワークインタフェースの機能を表す。これらインタフェース部１０２，１０４は、各々シンセサイザ１内のインタフェース部１０ａ，１０ｂとの間でＭＩＤＩ信号およびオーディオ信号を入出力する。１１０はＤＡＷ（Digital Audio Workstation）であり、ＰＣ１００上で動作するアプリケーションプログラムによって実現される機能である。
【００２５】
ＤＡＷ１１０内において１１６は音源プラグインであり、供給されたＭＩＤＩ信号に基づいてオーディオ信号を生成する。１１２はＭＩＤＩシーケンサであり、複数トラックのＭＩＤＩ信号を記録／再生する。１１４はＭＩＤＩミキサであり、供給された複数系統のＭＩＤＩ信号をミキシングするとともにミキシング結果をＭＩＤＩインタフェース部１０２、ＭＩＤＩシーケンサ１１２または音源プラグイン１１６に供給する。１１８は波形レコーダであり、複数トラックのオーディオ信号を記録／再生する。１２２は効果プラグインであり、供給されたオーディオ信号に対して効果処理を施す。１２０は波形ミキサであり、供給された複数系統のオーディオ信号をミキシングするとともに、ミキシング結果を波形インタフェース部１０４、波形レコーダ１１８および効果プラグイン１２２に供給する。
【００２６】
再びシンセサイザ１の内部において、鍵盤１８ａから出力されるイベントデータは、チャンネルKB_Tch(*)を介して（すなわち、ＭＩＤＩチャンネル番号としてKB_Tch(*)を付与して）マージ部３２および４４に出力されるとともに、チャンネルKB_Tchを介して（同、KB_Tchを付与して）マージ部５２に出力される。なお、以下の説明でアスタリスク(*)を付与したチャンネルは、シンセサイザ１の内部においてのみ用いられる「送信チャンネル」であることを示し、外部の機器はそのＭＩＤＩチャンネル番号の影響を受けないので、シンセサイザ１内で任意に決めることができる。また、アスタリスクを付与していないチャンネルは、ＭＩＤＩインタフェース部１０ａを介して外部に出力されるときのＭＩＤＩチャンネルである。鍵盤１８ａ内の鍵を操作したとき、そのイベントデータがシンセサイザ１の内部でのみ用いられる場合は、チャンネルKB_Tch(*)を介してのみイベントデータが出力される。また、該イベントデータがＰＣ１００にも出力されるべき場合には、チャンネルKB_Tch(*)およびチャンネルKB_Tchの双方を介して該イベントデータが出力される。
【００２７】
４２はKB_localスイッチであり、チャンネルKB_Tch(*)のイベントデータをマージ部４４を介して出力するか否かを切り替えるものである。ここで、このスイッチ４２の意義について説明しておく。まず、シンセサイザ１を単独で使用し、鍵盤１８ａの操作に基づいて単に音源部６にて楽音信号を出力させるのであれば、鍵盤１８ａから出力されたイベントデータは、マージ部４４等を介して音源部６にそのまま供給されなければならない。かかる場合には、KB_localスイッチ４２はオン状態に設定される。
【００２８】
一方、シンセサイザ１にＰＣ１００を接続し、ＤＡＷ１１０によって鍵盤１８ａから生じたイベントデータをＭＩＤＩシーケンサ１１２に記録しつつ、該イベントデータに基づいて音源部６にて楽音信号を出力させる場合がある。かかる場合には、ＤＡＷ１１０が確実に動作していることを確認しながら楽音信号を生成することが望ましい。ＤＡＷ１１０には、ＭＩＤＩインタフェース部１０２を介して受信したイベントデータをＭＩＤＩインタフェース部１０２を介してそのまま送り返す「エコーバック」という機能がある。
【００２９】
そこで、シンセサイザ１においては、チャンネルKB_Tchを介してＤＡＷ１１０にイベントデータを送信するとともに、エコーバックされたイベントデータに基づいて楽音信号を合成すると、ＤＡＷ１１０が確実に動作しており、イベントデータがＤＡＷ１１０に受信されたことを確認することができる。このようにエコーバックされたイベントデータを用いて楽音信号を合成する場合には、チャンネルKB_Tch(*)のイベントデータをマージ部４４に供給すると、同一内容のイベントデータが重複してマージ部４４に供給されることになる。このような不具合を防止するため、エコーバックを用いる場合にはKB_localスイッチ４２はオフ状態にしておく必要がある。
【００３０】
次に、４８はARP_outスイッチであり、アルペジェータ群４６から出力されるアルペジオ・イベントデータをマージ部５２を介してＰＣ１００に送信するか否かを切り替える。ここで、このスイッチ４８の意義について説明しておく。まず、上述したように、アルペジェータ群４６においては最大「４」パートのアルペジオ対象パートに対してアルペジオ・イベントデータを出力することができるが、これら各パートには、固有の送信チャンネルが割り当てられる。換言すれば、あるアルペジェータに入力されるイベントデータのチャンネル番号ARP_Rch(*)と、当該アルペジェータから出力されるアルペジオ・イベントデータのチャンネル番号ARP_Tch(*)とは等しい番号である。
【００３１】
アルペジオ・イベントデータは、シンセサイザ１の内部で用いるのみならず、ＤＡＷ１１０に対しても供給し、ＭＩＤＩシーケンサ１１２等に記録することができる。かかる場合にはARP_outスイッチ４８はオン状態に設定する必要がある。この場合には、アルペジオ・イベントデータに対して外部出力用のＭＩＤＩチャンネルARP_Tchが付与され、マージ部５２およびＭＩＤＩインタフェース部１０ａを介して出力される。しかし、ここでエコーバックがオン状態になっていると、マージ部５２を介して送信されたアルペジオ・イベントデータがそのままＭＩＤＩインタフェース部１０ａを介して送り返され、マージ部４４を介して再びアルペジェータ群４６に入力される。このような状態においては、アルペジオが際限なく継続され続けるため、アルペジオ・イベントデータを生成する場合においてエコーバックがオン状態になっているのであれば、ARP_outスイッチ４８はオフ状態にしておく必要がある。
【００３２】
次に、３４はARP_recスイッチであり、シーケンサ３６において記録すべきＭＩＤＩ信号を切り替える。すなわち、ARP_recスイッチ３４がオン状態であれば、アルペジェータ群４６から出力されたアルペジオ・イベントデータがシーケンサ３６に供給され、オフ状態であれば、マージ部３２から出力された演奏情報すなわち元イベントデータがシーケンサ３６に供給される。３８はSEQ_localスイッチであり、シーケンサ３６の出力演奏情報をマージ部４４を介して音源部６等に供給するか否かを切り替える。４０はSEQ_outスイッチであり、シーケンサ３６の出力演奏情報をマージ部５２を介してＰＣ１００に供給するか否かを切り替える。SEQ_localスイッチ３８を介してマージ部４４に供給されるイベントデータにはチャンネルSQ_Tch(*)が付与され、SEQ_outスイッチ４０を介してマージ部５２に供給されるイベントデータにはＭＩＤＩチャンネルSQ_Tchが付与される。
【００３３】
本実施例においては、アルペジェータ群４６において同時に「４」パートに対してアルペジオ・イベントデータを生成することができるが、「５」以上のパートに対してアルペジオを付与したＭＩＤＩ信号を生成したい場合もある。これらのパートのうち、鍵盤１８ａに係るパートのように元イベントデータがリアルタイムに決定されるパートはアルペジェータ群４６内の何れかのアルペジェータを用いてリアルタイムにアルペジオ・イベントデータを生成せざるを得ない。しかし、シーケンサ３６あるいはＤＡＷ１１０内のＭＩＤＩシーケンサ１１２の何れかのトラックに記録されているＭＩＤＩ信号に基づいてアルペジオ・イベントデータを生成する場合には、当該ＭＩＤＩ信号に基づいて予めアルペジオ・イベントデータを生成しておき、シーケンサ３６に記録しておけばよい。これにより、演奏時には「５」以上のパートに対してアルペジオを付与した楽音信号を生成することができる。なお、各パートのアルペジオタイプの設定は、各パートで指定されている音色と深い関連があるので、この設定画面２００で各パートの音色も設定できるようにするのが好適である。
【００３４】
3．2．イベント処理
3．3．アルペジオタイプの設定（図３）
次に、ソングモードにおける各種イベント処理の内容を説明する。
ユーザがパネルスイッチ部２において所定の操作を行うと、図３に示すアルペジオタイプ設定画面２００がパネル表示器４に表示される。図３において２０２はパート番号表示部であり、「１〜１６」のパート番号を表示する。２０４はパート名表示部であり、各パートのパート名を表示する。２０６はアルペジオタイプ選択欄であり、当該パートに適用されるアルペジオタイプを複数の候補の中から選択することができる。ここで選択されたアルペジオタイプは、パート設定データ２７４−１〜２７４−１６のうち対応するものに反映される。なお、このアルペジオタイプ設定画面２００における操作／設定内容は、後述するアルペジオＲＥＣモードにおいても同様である。
【００３５】
3．3．1．アルペジオ・オン／オフ処理（図５）
ソングモードにおいては、「１６」パートに対応して、パネルスイッチ部２における「１６」個のスイッチが各パートのアルペジオのオン／オフ状態をトグルで切り替えるアルペジオスイッチとして割り当てられる。これらのスイッチのうち第ｐパート（ｐは１〜１６のうち何れか）のアルペジオスイッチが押下されると、図５に示すアルペジオ・オン／オフ処理ルーチンが起動される。なお、イベントデータに付与されるＭＩＤＩチャンネル番号は、通常、このパート番号ｐに一対一に対応する。
【００３６】
図５において処理がステップＳＰ２に進むと、アルペジオ・オン／オフ・フラグAon(p)が“１”（オン状態）であるか否かが判定される。ここで「ＮＯ」と判定されると、処理はステップＳＰ６に進み、「ｑ＝１〜４」の範囲でアルペジェータ・フリー・フラグAfree(q)が全て“０”であるか否かが判定される。ここで、アルペジェータ・フリー・フラグAfree(q)は、アルペジェータ群４６に含まれる第ｑアルペジェータ４６−ｑについて“１”（空き状態）または“０”（使用状態）の何れかの状態を示すものである。ここで、少なくとも一つのアルペジェータについてアルペジェータ・フリー・フラグAfree(q)が“１”（空き状態）であれば、「ＮＯ」と判定され、処理はステップＳＰ１０に進む。
【００３７】
ステップＳＰ１０においては、アルペジェータ・フリー・フラグAfree(q)が“１”（空き状態）である何れかのアルペジェータ番号ｑが、パート番号ｐに割り当てられた割当アルペジェータ番号Aas(p)として記憶される。但し、第ｐパートに対してアルペジェータが割り当てられていない場合には、割当アルペジェータ番号Aas(p)は“０”になる。ステップＳＰ１０はパート番号ｐに対して割当可能なアルペジェータ番号ｑが存在するときに実行されるものであるから、ここでは、割当アルペジェータ番号Aas(p)は「１〜４」の値の何れかになる。すなわち、割当アルペジェータ番号Aas(p)が“０”でないパートｐには、アルペジェータAas(p)が割り当てられていることを示す。また、図４と対応付ければ、その場合、アルペジェータAas(p)には、ＭＩＤＩ受信チャンネルARP_Rch(*)として「ｐ」が設定されていることである。
【００３８】
次に、処理がステップＳＰ１２に進むと、割当アルペジェータ番号Aas(p)に係るアルペジェータは使用状態になったため、アルペジェータ・フリー・フラグAfree(Aas(p))が“０”（使用状態）に設定される。また、パート番号ｐに対してアルペジオを発生させるために、アルペジオ・オン／オフ・フラグAon(p)が“１”に設定される。次に、処理がステップＳＰ１４に進むと、パート番号ｐのパート設定データ２７４−ｐ（図２参照）が読み出され、ここに指定されたアルペジオタイプに基づいて、当該アルペジオタイプに係るアルペジオパターンが、ＲＯＭ２４から割当アルペジェータ番号Aas(p)に係るアルペジェータに転送される。すなわち、ＲＯＭ２４には、様々な種類のアルペジオパターンがアルペジオタイプに対応付けて予め記憶されており、その中から実際に使用されるアルペジオパターンが対応するアルペジェータに転送されるのである。
【００３９】
次に、処理がステップＳＰ１６に進むと、オンテーブルOnTbl（Aas(p)）がクリアされる。ここで、オンテーブルOnTbl（q）とは、第ｑアルペジェータについて、各音高毎に“１”（ノートオン状態）または“０”（ノートオフ状態）のフラグを記憶するテーブルである。各フラグは対応する音高のノートオンイベントが入力されると“１”に設定され、当該音高のノートオフイベントが入力されると“０”に設定される。従って、例えば鍵盤１８ａに係るパートに割り当てられたアルペジェータにおいては、オンテーブルOnTbl（q）の中で“１”である音高については、「対応する鍵が押下中である」という意味になる。
【００４０】
一方、第ｐパートのアルペジオスイッチが押下された際に対応するアルペジオ・オン／オフ・フラグAon(p)が“１”（オン状態）であった場合には、ステップＳＰ２において「ＹＥＳ」と判定され、処理はステップＳＰ４に進む。ここでは、アルペジオ・オン／オフ・フラグAon(p)が“０”（オフ状態）に設定され、アルペジェータ・フリー・フラグAfree(Aas(p))が“１”（空き状態）に設定され、さらに割当アルペジェータ番号Aas(p)が“０”（割当なし）に設定される。これにより、第ｐパートにおいては、アルペジオの実行が終了され、以後第ｐパートに係る演奏情報がマージ部４４（図４参照）から出力されたとしても、これはアルペジェータ群４６に供給されることなく、分岐部４５およびマージ部５０を介して、音源部６に直接供給されることになる。
【００４１】
また、第ｐパートのアルペジオスイッチが押下された際に、対応するアルペジオ・オン／オフ・フラグAon(p)が“０”（オフ状態）であって、アルペジェータ・フリー・フラグAfree(q)が全て“０”（使用状態）であった場合には、ステップＳＰ６において「ＹＥＳ」と判定され処理はステップＳＰ１８に進む。かかる場合には、第ｐパートに対して割当可能なアルペジェータは無いため、「全アルペジェータ使用中」との警告メッセージがパネル表示器４に表示される。
【００４２】
3．3．2．ノートオンイベント処理（図６）
次に、ソングモードにおいてノートオンイベントが発生した場合の処理を図６を参照し説明する。ソングモードにおいてノートオンイベントは、(a)通常のノートオンイベント、すなわち鍵盤１８ａ、シーケンサ３６、またはＭＩＤＩインタフェース部１０ａにおいて発生するノートオンイベントと、(b)アルペジェータ群４６において発生するアルペジオ・イベントデータに含まれるノートオンイベントの２種類がある。何れの場合においても、ノートオンイベントにおいては、送信チャンネルが特定されているから、該ノートオンイベントに係るパート番号ｐが特定され、さらに音高nnおよびベロシティvelが特定される。
【００４３】
まず、通常のノートオンイベントが発生した場合には処理はステップＳＰ２０に進み、パート番号ｐに係るアルペジオ・オン／オフ・フラグAon(p)が“１”（オン状態）であるか否かが判定される。オン状態である場合、それはアルペジェータAas(p)のARP_Rchとして、当該パートｐが設定されていることを意味する。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ２２に進み、オンテーブルOnTbl（Aas(p)）の内容が確認される。次に、処理がステップＳＰ２４に進むと、今回発生したノートオンイベントがパート番号ｐにおける最初のノートオンイベントであるか否かが判定される。すなわち、オンテーブルOnTbl（Aas(p)）の各音高のフラグが全て“０”（ノートオフ状態）であった場合には、今回発生したノートオンイベントは最初のノートオンイベントである。
【００４４】
ステップＳＰ２４において「ＹＥＳ」と判定されると、処理はステップＳＰ２６に進み、カウンタCount(Aas(p))がゼロクリアされる。ここで、カウンタCount(q)について説明しておく。アルペジオパターンは、時間軸上で分散してアルペジオ・イベントデータを生成するものであるため、各アルペジェータ４６−１〜４６−４においては、現在発生中のアルペジオパターンが時間軸上でどの位置まで進行しているのかを特定しておく必要がある。カウンタCount(q)は、第ｑアルペジェータ４６−ｑにおけるアルペジオパターン発生時からの経過時間をカウントするものである。そして、最初のノートオンイベントが生じた現在のタイミングがアルペジオパターン発生時に等しいから、カウンタCount(q)がゼロクリアされるのである。
【００４５】
次に、処理がステップＳＰ２８に進むと、アルペジオ実行フラグRun(Aas(p))が“１”に設定される。ここで、アルペジオ実行フラグRun(q)とは、第ｑアルペジェータにおいてアルペジオの実行中（“１”）または非実行中（“０”）のうち何れかを示すものである。一方、今回のノートオンイベントが最初のノートオンイベントではなかった場合には、ステップＳＰ２６，ＳＰ２８はスキップされる。次に処理がステップＳＰ３０に進むと、今回のノートオンイベントがオンテーブルOnTbl（Aas(p)）に登録される。すなわち、音高nnに対応するフラグが“１”に設定される。
【００４６】
以上のステップＳＰ２４〜ＳＰ３０の処理によれば、アルペジオは最初のノートオンイベントが発生したタイミングでスタートされることになる。そして、最初のノートオンイベントに係る音高のノートオン状態が保たれたまま、追加のノートオンイベントが入力された場合には、ステップＳＰ２６，ＳＰ２８はスキップされることにより、実行中のアルペジオがそのまま継続されることになる。「そのまま継続される」とは、追加のノートオンイベントがアルペジオ・イベントデータに対して全く影響を及ぼさない場合もあれば、影響を及ぼす場合もある。追加のノートオンイベントに対して如何なる意味を与え、これを如何に扱うかは、対応するアルペジオパターンによって決定されることである。
【００４７】
また、通常のノートオンイベントにおいてアルペジオ・オン／オフ・フラグAon(p)が“０”（オフ状態）であった場合には処理はステップＳＰ３２に進み、当該ノートオンイベントに対して音源部６における「１２８」発音チャンネルの何れか一つが選択され割り当てられる。次に、処理がステップＳＰ３４に進むと、割り当てた発音チャンネルに対して、パート番号ｐのパート設定データ２７４−ｐで指定された音色と、音高nnと、ベロシティvelとに基づいて、必要なパラメータが設定される。次に、処理がステップＳＰ３６に進むと、当該発音チャンネルに対して発音指示が行われ、該発音チャンネルにおける楽音信号合成処理が開始される。
【００４８】
また、詳細は後述するが、各アルペジェータにおいては、カウンタCount(q)の進行に応じて、アルペジオ・イベントデータが生成される。このアルペジオ・イベントデータがノートオンイベントであった場合には、通常のノートオンイベントにおけるステップＳＰ３２〜ＳＰ３６と同様の処理が実行される。
【００４９】
3．3．3．ノートオフイベント処理（図７）
次に、ソングモードにおいてノートオフイベントが発生した場合の処理を図７を参照し説明する。ノートオフイベントについても、(a)鍵盤１８ａ等において発生する通常のノートオフイベントと、(b)アルペジェータ群４６において発生するアルペジオ・イベントデータに含まれるノートオフイベントの２種類がある。何れの場合においても、ノートオフイベントにおいては、送信チャンネルが特定されているから、該ノートオフイベントに係るパート番号ｐが特定され、さらに音高nnが特定される。
【００５０】
まず、通常のノートオフイベントが発生した場合には処理はステップＳＰ４０に進み、パート番号ｐに係るアルペジオ・オン／オフ・フラグAon(p)が“１”（オン状態）であるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ４２に進み、オンテーブルOnTbl（Aas(p)）の内容が確認される。次に、処理がステップＳＰ４４に進むと、今回発生したノートオフイベントが第Aas(p)アルペジェータにおける最後のノートオフイベントであるか否かが判定される。すなわち、今回発生したノートオフイベントの音高nnに係るフラグは必ず“１”（ノートオン状態）であるから、他の音高のフラグが全て“０”（ノートオフ状態）であるとき、当該ノートオフイベントは最後のノートオフイベントである。
【００５１】
ステップＳＰ４４において「ＹＥＳ」と判定されると、処理はステップＳＰ４６に進み、アルペジオ実行フラグRun(Aas(p))が“０”（非実行中）に設定される。換言すれば、アルペジオの実行を継続させるには、少なくとも何れかの音高がノートオン状態である必要があり、全ての音高についてノートオフ状態になると、アルペジオが終了することになる。一方、当該ノートオフイベントが最後のノートオフイベントではなかった場合には、ステップＳＰ４６はスキップされる。次に処理がステップＳＰ４８に進むと、今回生じたノートオフイベントに対応するノートオンがオンテーブルOnTbl（Aas(p)）から削除される。すなわち、音高nnに係るフラグが“０”に設定される。
【００５２】
また、通常のノートオフイベントにおいてアルペジオ・オン／オフ・フラグAon(p)が“０”（オフ状態）であった場合には処理はステップＳＰ５０に進み、音源部６において発音中の発音チャンネルの中から、当該ノートオフイベントに対応する発音チャンネルが検索される。次に、処理がステップＳＰ５２に進むと、当該発音チャンネルが存在するか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ５４に進み、該発音チャンネルのリリースを開始するように音源部６に対してコマンドが出力される。一方、当該発音チャンネルが無かった場合はステップＳＰ５４はスキップされる。また、発生したノートオフイベントがアルペジオ・イベントデータに含まれるものであった場合には、通常のノートオフイベントにおけるステップＳＰ５０〜ＳＰ５４と同様の処理が実行される。
【００５３】
3．3．4．テンポ割込みイベント処理（図８）
次に、ソングモードにおいてテンポ割込みが発生した場合の処理を図８を参照し説明する。なお、テンポ割込みは、タイマ２０によって、所定間隔（例えば現在のテンポにおける４分音符の長さの「１／６４」の間隔）で発生する割込みである。図８において処理がステップＳＰ６０に進むと、アルペジェータ番号ｑが「１」にセットされる。次に、処理がステップＳＰ６２に進むと、アルペジオ実行フラグRun(q)が“１”（実行中）であるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ６４に進み、カウンタCount(q)が「１」だけ進められる。
【００５４】
次に、処理がステップＳＰ６６に進むと、先述したステップＳＰ１４にて当該アルペジェータ４６−ｑに設定されたアルペジオパターンを、更新後のカウンタCount(q)のカウント値で参照し、現在のタイミングがアルペジオ・イベントデータを発生すべきイベントタイミングであるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ６８に進み、現在のタイミングに対応するアルペジオ・イベントがオンテーブルOnTbl（q）の情報に基づいて必要に応じて修正され、当該アルペジェータの出力先として設定されたＭＩＤＩチャンネル番号である割当チャンネルAch(q)のイベントとして出力される。ここで、アルペジェータ４６−ｑのオンテーブルOnTbl（q）に記憶されているものは、当該アルペジェータのARP_Rch(*)が示すパートの現在ノートオンされているノートを示す情報である。また、割当チャンネルAch(q)とは、図４におけるARP_Tch(*)およびARP_Tchのことであり、ここでは、その２つのＭＩＤＩチャンネルの２つのイベントデータとして出力される。図４によれば、出力されたARP_Tch(*)のイベントデータは、マージ部５０を介して音源部６を駆動するが、このイベントデータが図６で説明したアルペジオ・イベントデータに相当する。すなわち、ステップＳＰ３２〜ＳＰ３６の処理が実行され、音源部６で当該イベントデータに対応する楽音が生成される。また、ARP_Tchのイベントデータは、ARP_Tchがオンであれば、マージ部５２およびＭＩＤＩインタフェース部１０ａを介してＰＣ１００に出力される。次に、処理がステップＳＰ７０に進むと、第ｑアルペジェータ４６−ｑに設定されているアルペジオパターンに基づいて、次のイベントタイミング（上記ステップＳＰ６６において「ＹＥＳ」と判定されるタイミング）が設定される。
【００５５】
なお、ステップＳＰ６２またはステップＳＰ６６の何れかにおいて「ＮＯ」と判定されると、ステップＳＰ６４，ＳＰ６８，ＳＰ７０の処理はスキップされる。次に、処理がステップＳＰ７２に進むと、アルペジェータ番号ｑが「１」だけインクリメントされる。次に、処理がステップＳＰ７４に進むと、アルペジェータ番号ｑが「４」を超えたか否かが判定される。ここで「ＮＯ」と判定されると、新たなアルペジェータ番号ｑに基づいて、上記ステップＳＰ６２〜ＳＰ７０の処理が実行される。一方、アルペジェータ番号ｑが「４」を超えると、本ルーチンが終了する。
【００５６】
4．アルペジオＲＥＣモードにおける動作
4．1．動作の概要
次に、アルペジオＲＥＣモードの動作について説明するが、最初にシンセサイザ１とＤＡＷ１１０とを用いて、楽曲のソングデータを作成する方法について説明しておく。ソングデータは複数のパートから構成され、各パートはＭＩＤＩシーケンサ１１２に記録されるＭＩＤＩトラック、または波形レコーダ１１８に記録されるオーディオトラックに記録される。ユーザは、演奏操作子部１８を用いて、パート毎の演奏情報またはオーディオ信号を順次作成してゆくことになる。ここで、あるパートの演奏情報またはオーディオ信号を生成するときは、以前に作成したパートの演奏情報およびオーディオ信号が再生される。
【００５７】
ここで、ソングデータ作成時にＰＣ１００のディスプレイに表示されるレコーダ制御ウィンドウ２２０の一例を図１０に示す。図において２２２は再生トラック選択部であり、再生対象となるトラックを選択する。選択されたトラックについては、トラック選択ボタン２２２に「Ｅ」の文字が付される。２２４は信号種別表示部であり、オーディオトラック（Ａ）またはＭＩＤＩトラック（Ｍ）の区別を表示する。２２６はトラック名表示部であり、当該トラックのトラック名を表示する。２２８はピアノロール譜表示部であり、当該トラックにおける発音区間を表示する。
【００５８】
２３０はタイムスタンプ表示部であり、ソングデータにおける現在の参照位置を表す。２３２は巻き戻しボタン、２３４は早送りボタンであり、参照位置を前後方向に移動させる。２３８は再生ボタンであり、再生対象として選択されたトラックの再生を開始する。２４０は録音ボタンであり、ユーザによって選択された一の録音トラックに対して録音（ＭＩＤＩ信号またはオーディオ信号の記録）を開始させるとともに、他のトラックのうち再生対象として選択されたトラックの再生を開始する。２３６は停止ボタンであり、これらトラックの再生または録音を停止させる。
【００５９】
ここで、シンセサイザ１とＰＣ１００との間で送受信されるＭＩＤＩ信号には、複数のパートに係るイベントデータが混在している。これらイベントデータの属するパートはＭＩＤＩチャンネルによって区別される。先に図２において説明したように、パート設定データ２７４−１〜２７４−１６には、各パートに係る送信チャンネルが記憶されている。一方、ＤＡＷ１１０内のＭＩＤＩシーケンサ１１２においては、各「トラック」に対してＭＩＤＩチャンネルが一意に対応付けられる。このため、ＭＩＤＩシーケンサ１１２の各トラックは、シンセサイザ１内における「パート」に一意に対応付けられることになる。
【００６０】
これにより、本実施例のアルペジオＲＥＣモードにおいては、ユーザがＤＡＷ１１０においてトラックを選択すると、シンセサイザ１内におけるパートが一意に決定される。従って、当該パートのアルペジオ・オン／オフ・フラグAon(p)をオン状態に設定すると、アルペジオタイプが一意に決定される。これにより、アルペジェータの設定が自動的に切り替えられることになる。また、ＤＡＷ１１０内のＭＩＤＩシーケンサ１１２において、シンセサイザ１内のシーケンサ３６と同様に、各トラックに対して、複数の仮想トラックを設けることができ、そのトラックに対して録音・再生を行うときに実際に録音・再生が行われる仮想トラックを指定することができる。このため、シーケンサ３６，１１２においては、アルペジオを施す前の元イベントデータを例えば第１仮想トラックに録音し、アルペジオ・イベントデータを第２仮想トラックに録音するように、録音する仮想トラックを自動的に選択するとよい。
【００６１】
4．2．アルゴリズム構成(図９)
次に、アルペジオＲＥＣモードにおいてシンセサイザ１およびＰＣ１００によって実行される信号処理の等価アルゴリズムを図９を参照し説明する。なお、図９において図４の各部に対応する部分には同一の符号を付す。図９においては、図４のアルペジェータ群４６に代えて「１」台のアルペジェータ６０のみが設けられている。５８は分岐部であり、マージ部４４から出力された演奏情報のうち、「第２ポート」に属する送信チャンネルを有するもののみをアルペジェータ６０に供給するとともに、「第１ポート」に属する送信チャンネルを有するものをマージ部５０に供給する。
【００６２】
ここで、「第１または第２ポート」のポート番号は、既に説明した通り、ＭＩＤＩ信号の通信経路が複数ある場合にその一つを特定するための番号であり、本実施例のシンセサイザ１では、「ポート番号」と「ＭＩＤＩチャンネル」とを組み合わせることにより、「１６」を超えるパートを指定できるようになっている。ソングモードでは第１ポートしか使用しないので、ポート番号について詳細に言及しなかったが、アルペジオＲＥＣモードでは「２」つのポートが使用される。従って、本モードにおける送信チャンネルTchおよび受信チャンネルRchは、「ＭＩＤＩチャンネルｊ」のみならず、「ポート番号ｉ」も併せた情報になっている。ここでは、その情報を送信チャンネルTch（ｉ，ｊ）および受信チャンネルRch（ｉ，ｊ）と呼ぶことにする。アルペジェータ６０の
受信チャンネルとして、例えば第２チャンネルのオムニ（全てのＭＩＤＩチャンネル）を設定し、分岐部５８において、ポート番号に基づいてイベントデータを分岐するようにする。また、６２はARP_localスイッチであり、アルペジェータ６０から出力されるアルペジオ・イベントデータをマージ部５０に出力するか否かを切り替える。また、アルペジオ・イベントデータはシーケンサ３６に供給され、シーケンサ３６の出力信号はマージ部４４に供給される。
【００６３】
上述したように、ソングモードにおいては、アルペジオ・イベントデータを生成する場合においてエコーバックがオン状態になっているのであれば、ARP_outスイッチ４８はオフ状態にしておく必要があった。しかし、アルペジオＲＥＣモードにおいては、ARP_localスイッチ６２をオフにしておけば、ARP_outスイッチ４８をオン状態にしながらエコーバックもオン状態に設定することができるようにしている。これは、ＭＩＤＩインタフェース部１０ａ，１０２を介してＭＩＤＩイベントデータが送受信される際のパートの指定（この場合はポート）をイベントデータの種類に応じて変更したためである。
【００６４】
その詳細を以下説明する。まず、鍵盤１８ａの操作に基づいて発生したイベントデータは、送信チャンネルの情報としてTch（２，ｊ）が付与されて第２ポートのイベントデータとして、マージ部５２、ＭＩＤＩインタフェース部１０ａを介してＤＡＷ１１０に供給される。ＤＡＷ１１０においては、当該イベントデータを第２ポートを介して受信した（受信したものが第２ポートのイベントデータであった）ことにより、当該イベントデータがアルペジオを発生させるための元イベントデータである旨が検出される。ＭＩＤＩシーケンサ１１２においては、第１ポートのイベントデータを第１仮想トラックに記録／再生し、第２ポートのイベントデータを第２仮想トラックに記録／再生するものとする。従って、ＭＩＤＩシーケンサ１１２にて該イベントデータを記録する場合においては、該イベントに付与された送信チャンネルTch（２，ｊ）に基づき、該ＭＩＤＩチャンネルｊに対応したトラックの、第２仮想トラックに記録されることになる。
【００６５】
ＤＡＷ１１０においてエコーバックがオン状態であれば、この受信した元イベントデータが、ＭＩＤＩインタフェース部１０２およびＭＩＤＩインタフェース部１０ａの第２ポートを介してエコーバックされる。エコーバックされたイベントデータは第２ポートのイベントデータであるので、マージ部４４、分岐部４５を介してアルペジェータ６０に供給される。これにより、以後の時間経過に応じて、アルペジェータ６０からアルペジオ・イベントデータが逐次出力されることになる。
【００６６】
出力されたアルペジオ・イベントデータには、アルペジェータ６０に設定されているARP_Tchに基づき送信チャンネルTch（１，ｊ）が付与されて、第１ポートのイベントデータとして、マージ部５２、ＭＩＤＩインタフェース部１０ａを介して再びＤＡＷ１１０に供給される。ＤＡＷ１１０においては、当該イベントデータを第１ポートを介して受信した（受信したものが第１ポートのイベントデータであった）ことにより、当該イベントデータがアルペジオ・イベントデータである旨が検出される。従って、ＭＩＤＩシーケンサ１１２にて該イベントデータを記録する場合においては、該イベントデータに付与された送信チャンネルTch（１，ｊ）に基づき、該ＭＩＤＩチャンネルｊに対応したトラックの第１仮想トラックに記録されることになる。
【００６７】
そして、ＤＡＷ１１０においてエコーバックがオン状態であれば、この受信したアルペジオ・イベントデータが、ＭＩＤＩインタフェース部１０２およびＭＩＤＩインタフェース部１０ａの第１ポートを介してエコーバックされる。エコーバックされたイベントデータは、第１ポートのイベントデータであるので、マージ部４４、分岐部４５、マージ部５０を介して音源部６に供給される。これにより、アルペジオ・イベントデータに基づいて音源部６においてＭＩＤＩチャンネルｊに対応するパートの音色で楽音信号が生成され、サウンドシステム１４を介して放音される。
【００６８】
また、シンセサイザ１内のシーケンサ３６においても、送信チャンネルに含まれるポート番号の情報に基づいて、ここに供給されるイベントデータが元イベントデータであるのかアルペジオ・イベントデータであるのかが直ちに判明するため、供給されたイベントデータを第１または第２仮想トラックのうち何れに記録すればよいのかは直ちに判明する。
【００６９】
なお、鍵盤１８ａにおいてアルペジオ非対象パートの演奏情報が入力される場合には、ソングモードの場合と同様に、鍵盤１８ａから出力されたイベントデータには、設定されているKB_Tchの示す送信チャンネルTch（１，ｊ）が付与されて、第１ポートのデータとしてマージ部５２、ＭＩＤＩインタフェース部１０ａを介してＤＡＷ１１０に送信される。そして、ＭＩＤＩシーケンサ１１２においては、必要に応じて、当該イベントデータのＭＩＤＩチャンネルに対応するトラックの第１仮想トラックに当該イベントデータが記録される。このイベントデータが第１ポートを介してＭＩＤＩインタフェース部１０ａにエコーバックされると、該イベントデータはマージ部４４、分岐部５８、マージ部５０を介して音源部６に供給されるから、音源部６においてはアルペジオの施されていない楽音信号が合成される。
【００７０】
4．3．イベント処理（ソングモード）
4．3．1．パート選択イベント処理（図１１）
次に、アルペジオＲＥＣモードにおける各種イベント処理の内容を説明する。
ユーザが、パネルスイッチ部２において、何れか任意のパート番号ｐをアルペジオ録音対象に指定する操作を行うと、図１１に示すパート選択イベント処理ルーチンが起動される。図において処理がステップＳＰ８０に進むと、当該パート番号ｐが選択パート番号sepとして記憶される。次に、処理がステップＳＰ８２に進むと、選択パート番号sepに係るパート設定データ２７４−sepから、当該選択パート番号sepに係るアルペジオタイプが読み出され、読み出されたアルペジオタイプに対応するアルペジオパターンがＲＯＭ２４からアルペジェータ６０に転送される。
【００７１】
4．3．2．第２ポートのノートオンイベント処理（図１２(a)）
次に、ＭＩＤＩインタフェース部１０ａにおいて第２ポートから選択パート番号sepのノートオンイベントを受信した場合の処理を図１２(a)を参照し説明する。なお、第２ポートからの受信チャンネルはRch（２，ｊ）の形式になる。同図(a)の処理は、ソングモードにおけるステップＳＰ２２〜ＳＰ３０の処理（図６参照）と同様であるが、アルペジェータ６０は一台のみであるため、対応するオンテーブルや各種パラメータも一系統のみ設けられる。まず、ステップＳＰ９０においては、オンテーブルの内容が確認される。次に、処理がステップＳＰ９２に進むと、今回発生したノートオンイベントが選択パート番号sepにおける最初のノートオンイベントであるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ９４に進み、カウンタCOUNTがクリアされる。次に、処理がステップＳＰ２８に進むと、アルペジオ実行フラグRUNが“１”（実行中）に設定される。一方、今回のノートオンイベントが最初のノートオンイベントではなかった場合には、ステップＳＰ９４，ＳＰ９６はスキップされる。次に処理がステップＳＰ９８に進むと、今回のノートオンイベントがオンテーブルに登録される。すなわち、音高nnに対応するフラグが“１”に設定される。
【００７２】
4．3．3．第２ポートのノートオフイベント処理（図１２(b)）
次に、ＭＩＤＩインタフェース部１０ａにおいて第２ポートから選択パート番号sepのノートオフイベントを受信した場合の処理を図１２(b)を参照し説明する。同図(b)の処理は、アルペジェータ６０が一台のみである点を除いて、ソングモードにおけるステップＳＰ４２〜ＳＰ４８の処理（図７参照）と同様である。まず、ステップＳＰ１００においては、オンテーブルの内容が確認される。次に、処理がステップＳＰ１０２に進むと、今回発生したノートオフイベントが、オンテーブルに最後に残っているノートオンに対するノートオフイベントであるか否か（他にノートオンされているノートが存在しないか否か）が判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１０４に進み、アルペジオ実行フラグRUNが“０”（非実行中）に設定される。一方、当該ノートオフイベントが最後のノートオフイベントではなかった場合には、ステップＳＰ１０４はスキップされる。次に処理がステップＳＰ１０６に進むと、今回生じたノートオフイベントに対応するノートオンがオンテーブルから削除される。
【００７３】
4．3．4．第１ポートのノートオンイベント処理（図１３(a)）
次に、ＭＩＤＩインタフェース部１０ａにおいて第１ポートから何れかのパート番号ｐ（これは選択パート番号sepおよび他のパート番号の何れも含まれる）に係るノートオンイベントを受信した場合の処理を図１３(a)を参照し説明する。なお、第１ポートからの受信チャンネルはRch（１，ｊ）の形式になる。同図(a)の処理は、ソングモードにおけるステップＳＰ３２〜ＳＰ３６の処理（図６参照）と同様である。すなわち、ステップＳＰ１１０においては当該ノートオンイベントに対して音源部６における発音チャンネルが割り当てられ、ステップＳＰ１１２においては割り当てた発音チャンネルに対して、パート番号ｐのパート設定データ２７４−ｐで指定された音色と、音高nnと、ベロシティvelとに基づいて、必要なパラメータが設定され、処理がステップＳＰ１１４においては、当該発音チャンネルに対して発音指示が行われる。
【００７４】
4．3．5．第１ポートのノートオフイベント処理（図１３(b)）
次に、ＭＩＤＩインタフェース部１０ａにおいて第１ポートから何れかのパート番号ｐに係るノートオフイベントを受信した場合の処理を図１３(b)を参照し説明する。同図(b)の処理は、ソングモードにおけるステップＳＰ５０〜ＳＰ５４の処理（図７参照）と同様である。すなわち、ステップＳＰ１２０においては、発音中の発音チャンネルの中から、当該ノートオフイベントに対応する発音チャンネルが検索され、ステップＳＰ１２２においては当該発音チャンネルが存在するか否かが判定され、存在する場合にはステップＳＰ１２４において、該発音チャンネルのリリースが開始される。
【００７５】
4．3．6．テンポ割込み処理（図１４）
次に、アルペジオＲＥＣモードにおいてテンポ割込みが発生した場合の処理を図１４を参照し説明する。図１４において処理がステップＳＰ１３０に進むと、アルペジオ実行フラグRUNが“１”（実行中）であるか否かが判定される。ここで「ＮＯ」と判定されると、本ルーチンの処理が直ちに終了する。一方、ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１３２に進み、カウンタCOUNTが「１」だけ進められる。次に、処理がステップＳＰ１３４に進むと、選択パート番号sepに係るアルペジオ・オン／オフ・フラグAon(sep)が“１”（オン状態）であるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１３６に進み、先述したステップＳＰ８２にて当該アルペジェータ６０に設定されたアルペジオパターンを、更新後のカウンタCOUNTで参照し、現在のタイミングがアルペジオ・イベントデータを発生すべきイベントタイミングであるか否かが判定される。
【００７６】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１３８に進み、現在のタイミングに対応するイベントがオンテーブルに基づいて必要に応じて修正され、当該アルペジェータの出力先として設定された送信チャンネルAchのイベントデータとして出力される。なお、送信チャンネルAchは、図９におけるARP_Tchに相当するが、ここでは送信チャンネルTch（１，sep）に自動的に設定される。すなわち、該イベントデータはＭＩＤＩインタフェース部１０ａの第１ポートを介してＤＡＷ１１０に送信される。次に、処理がステップＳＰ１４０に進むと、次のイベントタイミング（上記ステップＳＰ１３６において「ＹＥＳ」と判定されるタイミング）が設定される。なお、ステップＳＰ１３４またはステップＳＰ１３６の何れかにおいて「ＮＯ」と判定されると、ステップＳＰ１３８，ＳＰ１４０の処理はスキップされる。
【００７７】
5．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、シンセサイザ１内で動作するプログラムによって、各動作モードにおけるアルゴリズム（図４，図９）およびイベント処理を行ったが、このプログラムのみをＣＤ−ＲＯＭ、メモリカード等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【００７８】
(2)上記実施例のアルペジオＲＥＣモードにおいては、ＤＡＷ１１０からエコーバックされたイベントデータのうち、アルペジェータ６０に供給するものとマージ部５０を介して音源部６に供給するものとをポート番号によって区別した。しかし、両者の区別はポート番号によるものに限られない。例えば、ＭＩＤＩインタフェース部１０ａとＭＩＤＩインタフェース部１０２との間で送受信されるイベントデータを全て第１ポートを介して送受信するとともに、所定のＭＩＤＩチャンネル番号（例えばチャンネル番号「１６」）のイベントデータのみをアルペジェータ６０に供給すべきイベントデータとし、その他のイベントデータをマージ部５０を介して音源部６に供給するイベントデータにするとよい。
【００７９】
かかる場合には、上記所定のＭＩＤＩチャンネル番号を有するイベントデータがシンセサイザ１からＤＡＷ１１０に供給されると、ＤＡＷ１１０にあっては、そのイベントデータのみに基づいては、該イベントデータを記録するトラックを特定することができない。そこで、選択パート番号sepが決定された際に（例えば図１１のステップＳＰ８０が実行された直後に）、該選択パート番号sepに係るイベントデータを上記所定のＭＩＤＩチャンネルを介して送信する旨を、システム・エクスクルーシブ・メッセージ等を用いてＤＡＷ１１０に通知するとよい。
【００８０】
(3)上記実施例の演奏イベントはＭＩＤＩイベントであったが、複数パートの演奏が可能であれば、ＭＩＤＩ以外の規格の演奏イベントであってもよい。アルペジオＲＥＣモードでは、ＭＩＤＩチャンネルでは「１６」までしかパートを指定できないためポート番号を用いていたが、演奏チャンネルで充分多くのパートを指定できる規格であれば、ポート番号を使用する必要は無い。
【００８１】
(4)上記実施例においては、各アルペジェータ毎に「空き」であることを示すフラグを記憶し、それに基づいて空きのアルペジェータを検出したが、各アルペジェータ毎に割り当てられているパートを示す情報を記憶しておき、その情報に有効なパートが設定されているか否かを判定して、有効でなければ空きアルペジェータとして検出するようにしてもよい。
【００８２】
(5)アルペジオＲＥＣモードでは、アルペジェータを１台のみ動作させるようにしたが、複数台動作させるようにしてもよい。また、アルペジオＲＥＣモードでは、アルペジェータのARP_Rchとして第２ポートのオムニが設定されていたが、図２に示される選択されたパートの送信チャンネルと同じＭＩＤＩチャンネルの第２ポートをアルペジェータのARP_Rchにするようにしてもよい。
【図面の簡単な説明】
【００８３】
【図１】本発明の一実施例のシンセサイザ１のハードウエアブロック図である。
【図２】設定データ２７０のデータ構造図である。
【図３】シンセサイザ１に表示されるアルペジオタイプ設定画面２００の一例を示す図である。
【図４】ソングモードにおける信号処理アルゴリズムのブロック図である。
【図５】ソングモードにおけるアルペジオ・オン／オフ処理ルーチンのフローチャートである。
【図６】ソングモードにおけるノートオンイベント処理ルーチンのフローチャートである。
【図７】ソングモードにおけるノートオフイベント処理ルーチンのフローチャートである。
【図８】ソングモードにおけるテンポ割込みイベント処理ルーチンのフローチャートである。
【図９】アルペジオＲＥＣモードにおける信号処理アルゴリズムのブロック図である。
【図１０】アルペジオＲＥＣモードにおいてＰＣ１００に表示されるレコーダ制御ウィンドウ２２０の一例を示す図である。
【図１１】アルペジオＲＥＣモードにおけるパート選択イベント処理ルーチンのフローチャートである。
【図１２】アルペジオＲＥＣモードにおける第２ポートのノートオン／オフイベント処理ルーチンのフローチャートである。
【図１３】アルペジオＲＥＣモードにおける第１ポートのノートオン／オフイベント処理ルーチンのフローチャートである。
【図１４】アルペジオＲＥＣモードにおけるテンポ割込みイベント処理ルーチンのフローチャートである。
【符号の説明】
【００８４】
１：シンセサイザ、２：パネルスイッチ部、４：パネル表示器、６：音源部、８：ミキサ、１０：ネットワークインタフェース、１０ａ：ＭＩＤＩインタフェース部、１０ｂ：波形インタフェース部、１０ａ：（送信手段）、１２：ＤＡコンバータ、１４：サウンドシステム、１６：バス、１８：演奏操作子部、１８ａ：鍵盤、２０：タイマ、２２：ＣＰＵ（処理装置）、２４：ＲＯＭ、２６：ＲＡＭ、３２：マージ部、３２，５２：マージ部、３４：ARP_recスイッチ、３６：シーケンサ、３８：SEQ_localスイッチ、４０：SEQ_outスイッチ、４２：KB_localスイッチ、４４：マージ部（イベントデータ受信手段）、４５：分岐部（分岐手段）、４６：アルペジェータ群、４６−１〜４６−４：アルペジェータ、４６−ｑ：第ｑアルペジェータ、４６−ｑ：アルペジェータ、４８：ARP_outスイッチ、５０：マージ部（音源制御手段）、５８：分岐部、６０：アルペジェータ、６２：ARP_localスイッチ、１００：パーソナルコンピュータ（ＰＣ）、１０２：ＭＩＤＩインタフェース部、１０４：波形インタフェース部、１１０：ＤＡＷ（マルチトラックレコーダ）、１１２：ＭＩＤＩシーケンサ、１１４：ＭＩＤＩミキサ、１１６：音源プラグイン、１１８：波形レコーダ、１２０：波形ミキサ、１２２：効果プラグイン、２００：アルペジオタイプ設定画面、２０２：パート番号表示部、２０４：パート名表示部、２０６：アルペジオタイプ選択欄、２２０：レコーダ制御ウィンドウ、２２２：トラック選択ボタン、２２６：トラック名表示部、２２８：ピアノロール譜表示部、２３０：タイムスタンプ表示部、２３２：巻き戻しボタン、２３４：早送りボタン、２３６：停止ボタン、２３８：再生ボタン、２４０：録音ボタン、２７０：設定データ、２７２：コモン設定データ、２７４−１〜２７４−１６：パート設定データ。
【図１】
0004830575.tif 000002
【図２】
0004830575.tif 000003
【図３】
0004830575.tif 000004
【図４】
0004830575.tif 000005
【図５】
0004830575.tif 000006
【図６】
0004830575.tif 000007
【図７】
0004830575.tif 000008
【図８】
0004830575.tif 000009
【図９】
0004830575.tif 000010
【図１０】
0004830575.tif 000011
【図１１】
0004830575.tif 000012
【図１２】
0004830575.tif 000013
【図１３】
0004830575.tif 000014
【図１４】
0004830575.tif 000015