(57)【要約】【課題】音源波形メモリ容量増大の抑制が可能で、かつ、深いエコー表現も可能なシーケンサシステムを実現する。【解決手段】イベント遅延部により、複数のＭＩＤＩチャネルのうち所定のＭＩＤＩチャネルに属するＭＩＤＩイベントデータから遅延して発音されるべき遅延ＭＩＤＩイベントデータを生成し、複数のＭＩＤＩイベントデータ間に遅延ＭＩＤＩイベントデータを織り込むことにより遅延イベント含有ＭＩＤＩデータを生成する。【選択図】        図１
2006039474.tif 000002
【特許請求の範囲】
【請求項１】
複数のＭＩＤＩ（Musical Instrument Digital Interface）チャネルのいずれに属するかが各々記述された複数のＭＩＤＩイベントデータが含まれた楽曲ファイル情報に基づいて、自動演奏シーケンス情報たる発音情報を生成するシーケンサシステムであって、
前記楽曲ファイル情報には、前記複数のＭＩＤＩチャネルのうち所定のＭＩＤＩチャネルに属するＭＩＤＩイベントデータから遅延して発音されるべき遅延ＭＩＤＩイベントデータの生成のために必要な遅延設定情報が含まれ、
前記遅延設定情報に基づいて前記遅延ＭＩＤＩイベントデータを生成し、前記複数のＭＩＤＩイベントデータ間に前記遅延ＭＩＤＩイベントデータを織り込んで、遅延イベント含有ＭＩＤＩデータを生成するイベント遅延部と、
前記遅延イベント含有ＭＩＤＩデータに基づいて前記発音情報を生成するシーケンサ部と
を備えるシーケンサシステム。
【請求項２】
請求項１に記載のシーケンサシステムであって、
前記イベント遅延部は、前記複数のＭＩＤＩチャネルとは別個の拡張ＭＩＤＩチャネルに属する前記遅延ＭＩＤＩイベントデータを生成する
シーケンサシステム。
【請求項３】
請求項１に記載のシーケンサシステムであって、
前記イベント遅延部は、
イベント遅延処理部と、
バッファ記憶部と
を含み、
前記イベント遅延処理部は、
前記楽曲ファイル情報に含まれた前記複数のＭＩＤＩイベントデータの各々を、発音タイミング順に読み込み、
読み込んだ前記複数のＭＩＤＩイベントデータのうち前記所定のＭＩＤＩチャネルに属するＭＩＤＩイベントデータに基づいて、前記遅延ＭＩＤＩイベントデータを生成し、
生成した前記遅延ＭＩＤＩイベントデータを前記バッファ記憶部に記憶させ、
前記バッファ記憶部内の前記遅延ＭＩＤＩイベントデータの発音タイミングと、読み込んだ前記複数のＭＩＤＩイベントデータの各々の発音タイミングとの先後の比較を行って、発音タイミング順に前記遅延ＭＩＤＩイベントデータおよび前記複数のＭＩＤＩイベントデータの各々を出力することにより、前記遅延イベント含有ＭＩＤＩデータを生成する
シーケンサシステム。
【請求項４】
請求項１に記載のシーケンサシステムであって、
前記複数のＭＩＤＩチャネルのうちノートイベントの存在しない未使用ＭＩＤＩチャネルを検索する未使用チャネル判断部
をさらに備え、
前記イベント遅延部は、前記未使用ＭＩＤＩチャネルに属する前記遅延ＭＩＤＩイベントデータを生成する
シーケンサシステム。
【請求項５】
請求項１に記載のシーケンサシステムであって、
前記遅延設定情報には、前記遅延ＭＩＤＩイベントデータの発音態様に関する情報が含まれており、
前記イベント遅延部は、前記発音態様に関する情報を遅延設定ＭＩＤＩイベントデータに変換し、前記遅延設定ＭＩＤＩイベントデータをも前記遅延イベント含有ＭＩＤＩデータに加える
シーケンサシステム。
【請求項６】
請求項２に記載のシーケンサシステムであって、
前記イベント遅延部およびシーケンサ部はともに、ソフトウェアで構成される
シーケンサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＭＩＤＩ（Musical Instrument Digital Interface）イベントデータが含まれた楽曲ファイル情報に基づいて、自動演奏データたるシーケンスデータを生成するシーケンサシステムに関し、発音に遅延効果を付加するものに関する。
【背景技術】
【０００２】
下記特許文献１の図６および第0039段落以降には、一つのキーオン情報に基づいて遅延効果を発生させる技術が開示されている。具体的には、その第0040ないし0042段落に詳述されているように、キーオンと同時にピアノの発音を楽音発生チャンネルTGch1にて行うとともに、波形データの読み出しアドレスの遡及により、ピアノの遅延発音を楽音発生チャンネルTGch2、TGch3にて行うことで、一つのキーオン情報に対して遅延効果を付加している。
【０００３】
【特許文献１】特開平１１−３０５７７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の図２においては、ピアノやオルガン、ストリングス等の波形データが、相互間に“ゼロ”データを介することなくROMに記憶されている。そして、上記特許文献１の図６の場合のようにピアノの発音を遅延させるために、ピアノの波形データの直前に記録されたオルガンの波形データの途中アドレスから読み出しを開始しつつも、プリフェーズ期間（ph0〜ph1の間）中はエンベロープ値を０としてミュート状態にし、ピアノの波形データの先頭アドレスに達したらエンベロープ値を高めて遅延音を発する。これにより記憶効率が高まるとされている。
【０００５】
ところが、図２に示されているように、ROM内の先頭データたるストリングスの波形データの前には、必ず“ゼロ”データを配置しなければならない。上記特許文献１の技術によってストリングスの発音を遅延させるためには、ストリングスの波形データ以前のアドレスから読み出しを開始する必要があるからである。
【０００６】
このことは、少なくともROM内の最初の音色の波形データの前には、情報として無価値な“ゼロ”データを配置しなければならないとの制約が、上記特許文献１に存在することを意味する。もちろん、“ゼロ”データの挿入は、音源波形メモリ容量増大を招くことになる。
【０００７】
また、ＦＭ音源方式を採用している音源システムの場合は、ＲＯＭに記憶された波形を読み出して音色を生成するという構造ではないので、上記特許文献１に記載の技術を適用することができないという問題がある。
【０００８】
また、上記特許文献１の図６においては、キーオフの時点（図６（ａ）の“OFF”時点）において、楽音発生チャンネルTGch1〜TGch3の全ての発音が減衰している。これはすなわち、楽音発生チャンネルTGch2、TGch3における遅延発音は、遅くともキーオフまでに行われる必要があることを意味している。キーオフ後に遅延発音を行おうとしても、既に減衰開始後であって、実質的に遅延発音が行えないからである。
【０００９】
しかし、発音後しばらくしてから遅延発音が生じるような深いエコー表現を行う場合には、キーオフ後の遅延発音が必要となり、上記特許文献１に記載の技術ではこのような深いエコー表現を行うことができなかった。
【００１０】
この発明は上記の事情に鑑みてなされたもので、音源波形メモリ容量増大の抑制が可能で、かつ、深いエコー表現も可能なシーケンサシステムを実現する。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明は、複数のＭＩＤＩ（Musical Instrument Digital Interface）チャネルのいずれに属するかが各々記述された複数のＭＩＤＩイベントデータが含まれた楽曲ファイル情報に基づいて、自動演奏シーケンス情報たる発音情報を生成するシーケンサシステムであって、前記楽曲ファイル情報には、前記複数のＭＩＤＩチャネルのうち所定のＭＩＤＩチャネルに属するＭＩＤＩイベントデータから遅延して発音されるべき遅延ＭＩＤＩイベントデータの生成のために必要な遅延設定情報が含まれ、前記遅延設定情報に基づいて前記遅延ＭＩＤＩイベントデータを生成し、前記複数のＭＩＤＩイベントデータ間に前記遅延ＭＩＤＩイベントデータを織り込んで、遅延イベント含有ＭＩＤＩデータを生成するイベント遅延部と、前記遅延イベント含有ＭＩＤＩデータに基づいて前記発音情報を生成するシーケンサ部とを備えるシーケンサシステムである。
【００１２】
請求項２に記載の発明は、請求項１に記載のシーケンサシステムであって、前記イベント遅延部は、前記複数のＭＩＤＩチャネルとは別個の拡張ＭＩＤＩチャネルに属する前記遅延ＭＩＤＩイベントデータを生成するシーケンサシステムである。
【００１３】
請求項３に記載の発明は、請求項１に記載のシーケンサシステムであって、前記イベント遅延部は、イベント遅延処理部と、バッファ記憶部とを含み、前記イベント遅延処理部は、前記楽曲ファイル情報に含まれた前記複数のＭＩＤＩイベントデータの各々を、発音タイミング順に読み込み、読み込んだ前記複数のＭＩＤＩイベントデータのうち前記所定のＭＩＤＩチャネルに属するＭＩＤＩイベントデータに基づいて、前記遅延ＭＩＤＩイベントデータを生成し、生成した前記遅延ＭＩＤＩイベントデータを前記バッファ記憶部に記憶させ、前記バッファ記憶部内の前記遅延ＭＩＤＩイベントデータの発音タイミングと、読み込んだ前記複数のＭＩＤＩイベントデータの各々の発音タイミングとの先後の比較を行って、発音タイミング順に前記遅延ＭＩＤＩイベントデータおよび前記複数のＭＩＤＩイベントデータの各々を出力することにより、前記遅延イベント含有ＭＩＤＩデータを生成するシーケンサシステムである。
【００１４】
請求項４に記載の発明は、請求項１に記載のシーケンサシステムであって、前記複数のＭＩＤＩチャネルのうちノートイベントの存在しない未使用ＭＩＤＩチャネルを検索する未使用チャネル判断部をさらに備え、前記イベント遅延部は、前記未使用ＭＩＤＩチャネルに属する前記遅延ＭＩＤＩイベントデータを生成するシーケンサシステムである。
【００１５】
請求項５に記載の発明は、請求項１に記載のシーケンサシステムであって、前記遅延設定情報には、前記遅延ＭＩＤＩイベントデータの発音態様に関する情報が含まれており、前記イベント遅延部は、前記発音態様に関する情報を遅延設定ＭＩＤＩイベントデータに変換し、前記遅延設定ＭＩＤＩイベントデータをも前記遅延イベント含有ＭＩＤＩデータに加えるシーケンサシステムである。
【００１６】
請求項６に記載の発明は、請求項２に記載のシーケンサシステムであって、前記イベント遅延部およびシーケンサ部はともに、ソフトウェアで構成されるシーケンサシステムである。
【発明の効果】
【００１７】
請求項１に記載の発明によれば、イベント遅延部は、遅延設定情報に基づいて遅延ＭＩＤＩイベントデータを生成し、複数のＭＩＤＩイベントデータ間に遅延ＭＩＤＩイベントデータを織り込んで、遅延イベント含有ＭＩＤＩデータを生成する。よって、特開平１１−３０５７７５号公報に記載の技術のように、音源波形に“ゼロ”データを挿入する必要がなく、音源波形メモリ容量増大の抑制が図れる。また、音源波形を遅延させるのではなく、遅延ＭＩＤＩイベントデータそのものを生成するので、原ＭＩＤＩイベントデータのキーオフ後も、遅延ＭＩＤＩイベントデータのキーオンが可能となり、エコー表現が実現して表現力が豊かになる。
【００１８】
請求項２に記載の発明によれば、イベント遅延部は、複数のＭＩＤＩチャネルとは別個の拡張ＭＩＤＩチャネルに属する遅延ＭＩＤＩイベントデータを生成する。よって、遅延ＭＩＤＩイベントデータは既存の複数のＭＩＤＩチャネルに属することはなく、既存の複数のＭＩＤＩチャネルの全てを通常のＭＩＤＩイベントデータの記述用に使用できる。
【００１９】
請求項３に記載の発明によれば、イベント遅延処理部は、バッファ記憶部内の遅延ＭＩＤＩイベントデータの発音タイミングと、読み込んだ複数のＭＩＤＩイベントデータの各々の発音タイミングとの先後の比較を行って、発音タイミング順に遅延ＭＩＤＩイベントデータおよび複数のＭＩＤＩイベントデータの各々を出力することにより、遅延イベント含有ＭＩＤＩデータを生成する。よって、遅延イベント含有ＭＩＤＩデータ内において、遅延ＭＩＤＩイベントデータを適切なタイミング位置に配置できる。
【００２０】
請求項４に記載の発明によれば、未使用チャネル判断部が未使用ＭＩＤＩチャネルを検索し、イベント遅延部は、未使用ＭＩＤＩチャネルに属する遅延ＭＩＤＩイベントデータを生成する。よって、遅延ＭＩＤＩイベントデータ用の拡張ＭＩＤＩチャネルを新たに設定する必要がなく、既存のＭＩＤＩチャネル数にのみ対応するシーケンサ部をそのまま流用可能である。
【００２１】
請求項５に記載の発明によれば、遅延設定情報には、遅延ＭＩＤＩイベントデータの発音態様に関する情報が含まれている。よって、遅延ＭＩＤＩイベントデータの発音態様（例えば音色）を原ＭＩＤＩイベントデータと異ならしめることができ、多彩な遅延音を発生することが可能である。
【００２２】
請求項６に記載の発明によれば、イベント遅延部およびシーケンサ部はともに、ソフトウェアで構成される。こうすれば、拡張ＭＩＤＩチャネルを設ける場合であっても、例えばシーケンサ部のＭＩＤＩチャネル数のパラメータを１６から２０に変更するだけでよく、ハードウェア的なシーケンサ部品の改造を必要としない。よって、製品製造コストの上昇を抑制できる。
【発明を実施するための最良の形態】
【００２３】
＜実施の形態１＞
本実施の形態は、複数のＭＩＤＩチャネルのうち所定のＭＩＤＩチャネルに属するＭＩＤＩイベントデータから遅延して発音されるべき遅延ＭＩＤＩイベントデータを生成し、複数のＭＩＤＩイベントデータ間に遅延ＭＩＤＩイベントデータを織り込むことにより遅延イベント含有ＭＩＤＩデータを生成するシーケンサシステムである。
【００２４】
図１は、本実施の形態に係るシーケンサシステムを示すブロック図である。図１に示すように、このシーケンサシステムは、データ解析部ＡＮａ、イベント遅延部ＤＬ，シーケンサ部ＳＱおよび音源部ＳＳを備えている。
【００２５】
なお、データ解析部ＡＮａおよびイベント遅延部ＤＬは、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）に記録された所定のプラグラムをＣＰＵ（Central Processing Unit）が実行することによって、ソフトウェア的に所定の機能を実現するソフトウェア構成部ＳＴ１である。また、シーケンサ部ＳＱおよび音源部ＳＳはそれぞれ、発音情報Ｓ５を所定のタイミングで音源部ＳＳに出力するシーケンサハードウェア、および、発音情報Ｓ５を受けて内部メモリに記憶されたＰＣＭ（Pulse Code Modulation）音波形のうち適切なものを再生し、スピーカ（図示せず）への出力信号Ｓ６を出力するＰＣＭ音源ハードウェアである。よって、シーケンサ部ＳＱおよび音源部ＳＳはハードウェア構成部ＨＤ１を構成する。
【００２６】
楽曲ファイル情報ＦＬ内には、複数のＭＩＤＩチャネル（チャネル０〜１５の計１６チャネル）のいずれに属するかが各々記述された複数のＭＩＤＩイベントデータが含まれている。そして、この楽曲ファイル情報ＦＬに基づいて、シーケンサシステム内のシーケンサ部ＳＱは、音源部ＳＳでの発音を規定する自動演奏シーケンス情報たる発音情報Ｓ５を生成する。
【００２７】
さらに、本発明では楽曲ファイル情報ＦＬには、遅延ＭＩＤＩイベントデータの生成のために必要な遅延設定情報が含まれている。なお、遅延ＭＩＤＩイベントデータは、１６個のＭＩＤＩチャネルのうち所定のＭＩＤＩチャネルに属するＭＩＤＩイベントデータから遅延して発音するよう生成される。この点については、図４および図５の説明において詳述する。
【００２８】
楽曲ファイル情報ＦＬは、データ解析部ＡＮａに与えられる。データ解析部ＡＮａは、楽曲ファイル情報ＦＬのファイル形式（例えばＳＭＦ：Standard MIDI Fileなど）を特定し、ファイル構造中のヘッダ部分やＭＩＤＩイベントデータ部分を認識するための解析部である。
【００２９】
また、データ解析部ＡＮａは、楽曲ファイル情報ＦＬからＭＩＤＩイベントデータと遅延設定情報とを分離し、それぞれ信号Ｓ１，Ｓ２として出力する。
【００３０】
イベント遅延部ＤＬは、データ解析部ＡＮａよりＭＩＤＩイベントデータ信号Ｓ１および遅延設定情報Ｓ２を受ける。そして、遅延設定情報Ｓ２に基づいて遅延ＭＩＤＩイベントデータを生成し、ＭＩＤＩイベントデータ信号Ｓ１内の複数のＭＩＤＩイベントデータ間に遅延ＭＩＤＩイベントデータを織り込んで、遅延イベント含有ＭＩＤＩデータＳ４を生成する。なお、イベント遅延部ＤＬには、拡張チャネル情報Ｓ３も入力される。
【００３１】
そして、シーケンサ部ＳＱは、遅延イベント含有ＭＩＤＩデータＳ４に基づいて発音情報Ｓ５を生成する。
【００３２】
図２は、イベント遅延部ＤＬの詳細構成を示すブロック図である。図２に示すように、イベント遅延部ＤＬは、遅延設定情報記憶部ＭＭ、イベント変換部ＣＶ、イベント遅延処理部ＰＣおよび遅延バッファ記憶部（例えば、記憶内容は、単方向リスト構造の形式で記憶される）ＢＦを含む。各部の動作は、図４および図５の説明において詳述する。
【００３３】
図３は、本実施の形態に係るシーケンサシステムにおけるＭＩＤＩチャネルの構成を示す図である。図３に示すとおり、本実施の形態のＭＩＤＩチャネル構成は、通常用いられるＭＩＤＩチャネル０〜１５の計１６チャネルに加えて、生成した遅延ＭＩＤＩイベントデータを属させるべき、ＭＩＤＩチャネル０〜１５とは別個の拡張ＭＩＤＩチャネル１６〜１９をも有している。
【００３４】
すなわち、イベント遅延部ＤＬは、楽曲ファイル情報ＦＬ内の１６チャネルの各ＭＩＤＩイベントデータには改変を加えない一方で、遅延ＭＩＤＩイベントデータについては、拡張ＭＩＤＩチャネル１６〜１９のいずれかに属するデータとして新たに生成する。そして、通常の１６（０〜１５）チャネルのいずれかに所属するＭＩＤＩイベントデータに、１６〜１９のいずれか又は複数の拡張ＭＩＤＩチャネルに所属の遅延ＭＩＤＩイベントデータを織り込んで、０〜１９の合計２０チャネルの遅延イベント含有ＭＩＤＩデータＳ４を生成するのである。図１における拡張チャネル情報Ｓ３は、この拡張ＭＩＤＩチャネルを規定するための情報である。
【００３５】
図４は、楽曲ファイル情報ＦＬの具体例を、図５は、遅延イベント含有ＭＩＤＩデータＳ４の具体例を、それぞれ示す図である。以下、図４および図５を用いてイベント遅延部ＤＬの動作を説明する。
【００３６】
まず、図４に示す楽曲ファイル情報ＦＬには、データ番号００２乃至０１０等に示されるような、通常のＭＩＤＩイベントデータ（セットテンポ、ＢＡＮＫ（音色パッケージ名）、ＰＲＯＧＲＡＭ（音色名）、ノートオン、ノートオフ等）が含まれている。これらの通常ＭＩＤＩイベントデータは、図１におけるＭＩＤＩイベントデータ信号Ｓ１に相当する。
【００３７】
それぞれの通常ＭＩＤＩイベントデータは、フォーマットに従ったデータ順にシーケンサ部ＳＱにおいて処理がなされる。また、各通常ＭＩＤＩイベントデータには、発音タイミングの情報（図４および図５では「データ位置」と表記）が与えられており、このデータにしたがって発音タイミングが規定される。
【００３８】
具体的には、発音タイミングの情報は、直前のイベントデータからのTICK数（シーケンサ部ＳＱにおける最小シーケンス時間単位：ここでは１TICK＝１０millisecond）の差分値で与えられている。例えば、データ番号００７のノートオンデータに続くデータ番号００８のノートオンデータのTICK数は０４８と設定されている。よって、シーケンサ部ＳＱは、データ番号００７のノートオンデータの発音処理（発音情報Ｓ５の出力処理）を行った後、４８TICKだけ待機してからデータ番号００８のノートオンデータの処理を行う。同様に、データ番号００９のノートオフデータのTICK数は０４８と設定されているので、シーケンサ部ＳＱは、データ番号００８のノートオンデータの処理を行った後、４８TICKだけ待機してからデータ番号００９のノートオフデータの処理を行う。
【００３９】
また、各通常ＭＩＤＩイベントデータには、各イベントの種類に応じてイベントのパラメータ値が与えられている。
【００４０】
具体的には、イベントのパラメータ値はイベント種別に応じて異なり、例えば、セットテンポの場合は一般的なテンポ表示たる一分当たりの四分音符発音数（ここでは１２５）で指定されている。また、ＢＡＮＫの場合は音色パッケージの種類が指定され、ここではＧＭ（General MIDI）サウンドが選択されている。他のイベント種類についても同様である。
【００４１】
これら通常ＭＩＤＩイベントデータに加えて、図４に示す楽曲ファイル情報ＦＬには、データ番号００１として遅延設定情報が含まれている。遅延設定情報には、遅延ＭＩＤＩイベントデータの発音態様に関する情報が含まれている。具体的には、遅延設定情報を有効とするか無効とするかの設定、遅延ＭＩＤＩイベントデータを生成する際の遅延元チャネル、拡張ＭＩＤＩチャネルのチャネル使用数たる遅延ライン数、元ＭＩＤＩイベントデータからの遅延時間（楽曲当初の設定値および楽曲途中での変更値いずれをも含む）、遅延ＭＩＤＩイベントデータの元ＭＩＤＩイベントデータに対する音量レベル（楽曲当初の設定値および楽曲途中での変更値いずれをも含む）、遅延ＭＩＤＩイベントデータのPANPOT(左右への音の振り分け。楽曲当初の設定値および楽曲途中での変更値いずれをも含む)、遅延ＭＩＤＩイベントデータのDETUNE値（チューニングずれの値。楽曲当初の設定値および楽曲途中での変更値いずれをも含む）、遅延ＭＩＤＩイベントデータのMODULATION値（ビブラート量の値。楽曲当初の設定値および楽曲途中での変更値いずれをも含む）、遅延ＭＩＤＩイベントデータの音色（楽曲当初の設定値および楽曲途中での変更値いずれをも含む）、楽曲演奏途中で遅延設定情報が変更になった場合に遅延バッファ記憶部ＢＦ内に記憶された遅延ＭＩＤＩイベントデータを消去するかどうかの設定などの拡張ＭＩＤＩチャネル発音態様に関する情報が、遅延設定情報に含まれ、元ＭＩＤＩイベントデータから拡張ＭＩＤＩチャネルに対してＭＩＤＩイベントを設定する際の変換規則となる。この遅延設定情報は、図１における遅延設定情報Ｓ２に相当する。
【００４２】
図４の場合、遅延元チャネルはチャネル０、遅延ライン数は１（すなわち、拡張ＭＩＤＩチャネル１６を使用するのみ）、遅延時間は１００millisecond、音量レベルは５０％、PANPOTは±０（元ＭＩＤＩイベントデータと同じ左右バランス）、DETUNE値は±０（元ＭＩＤＩイベントデータと同じチューニングずれ）、MODULATION値は±０（元ＭＩＤＩイベントデータと同じビブラート量）、遅延ＭＩＤＩイベントデータの音色は元ＭＩＤＩイベントデータと同じ音色、にそれぞれ設定されている。
【００４３】
次に、イベント遅延部ＤＬ内の各部が、図５の遅延イベント含有ＭＩＤＩデータＳ４を生成する様子について説明する。
【００４４】
まず、データ解析部ＡＮａで分離された遅延設定情報Ｓ２が、遅延設定情報記憶部ＭＭに入力されて記憶される。そして、記憶された遅延設定情報Ｓ２が遅延設定を有効とする設定であった場合、遅延設定情報Ｓ２の発音態様に関する情報のうち、拡張ＭＩＤＩチャネルにおける発音に要する前提情報（BANK、PROGRAM、チャネルの音量CHVOLUME、チャネルの左右への音の振り分けCHPANPOT、DETUNE、MODULATION、など）を、イベント変換部ＣＶが元ＭＩＤＩチャネル情報および遅延設定情報Ｓ２の変換規則に則り、遅延設定ＭＩＤＩイベントデータに変換する。
【００４５】
図５の場合、データ番号Ｄ００１乃至Ｄ００６の遅延設定ＭＩＤＩイベントデータが、イベント変換部ＣＶにより元ＭＩＤＩチャネル情報および遅延設定情報Ｓ２の変換規則に則って変換されたデータである。
【００４６】
具体的には、データ番号Ｄ００１は拡張ＭＩＤＩチャネル１６におけるＢＡＮＫを示すデータであり、データ番号Ｄ００２は拡張ＭＩＤＩチャネル１６における音色種類を示すデータである。データ番号Ｄ００３は、拡張ＭＩＤＩチャネル１６における音量を示すデータであって、遅延元のチャネル０の音量設定値１２８に対して５０％との設定値を乗算して得た値６４がそのパラメータ値となっている。データ番号Ｄ００４は、拡張ＭＩＤＩチャネル１６におけるPANPOTを示すデータであって、遅延元のチャネル０の設定パラメータたる「中央（右：左＝5：5）」と同じ設定パラメータとなっている。
【００４７】
データ番号Ｄ００５は、拡張ＭＩＤＩチャネル１６におけるDETUNE値を示すデータであって、遅延元のチャネル０のDETUNE値の設定パラメータへの加算量が例えば０として設定されている。例えば遅延元のチャネル０のDETUNE値が30の場合、加算量０を加算した30との値が拡張ＭＩＤＩチャネル１６におけるDETUNE値となる。もちろん加算量が10と設定されておれば、30に10を加えた40がDETUNE値となる。
【００４８】
データ番号Ｄ００６は、拡張ＭＩＤＩチャネル１６におけるMODULATION値を示すデータであって、遅延元のチャネル０のMODULATION値の設定パラメータへの加算量が例えば０として設定されている。例えば遅延元のチャネル０のMODULATON値が20の場合、加算量０を加算した20との値が拡張ＭＩＤＩチャネル１６におけるMODULATION値となる。もちろん加算量が10と設定されておれば、20に10を加えた30がMODULATION値となる。
【００４９】
このような遅延設定ＭＩＤＩイベントデータＤ００３乃至Ｄ００６は、イベント遅延処理部ＰＣに与えられ、イベント遅延処理部ＰＣにより遅延イベント含有ＭＩＤＩデータＳ４に加えられる。
【００５０】
イベント遅延処理部ＰＣは、遅延バッファ記憶部ＢＦと連携して遅延イベント含有ＭＩＤＩデータＳ４を生成する。図６は、イベント遅延処理部ＰＣにおける、ＭＩＤＩイベントデータ読み込み処理フローを示すフローチャートである。
【００５１】
イベント遅延処理部ＰＣは、イベント変換部ＣＶからの遅延設定ＭＩＤＩイベントデータの各々（図５のデータ番号Ｄ００１乃至Ｄ００６）と楽曲ファイル情報ＦＬに含まれた通常ＭＩＤＩイベントデータの各々（図４のデータ番号）とを、発音タイミング順に読み込む（ステップＳＴ０）。
【００５２】
図４および図５の例では、イベント遅延処理部ＰＣはまず、イベント変換部ＣＶからの遅延設定ＭＩＤＩイベントデータＤ００１乃至Ｄ００６を一つずつ順に読み込んで、遅延イベント含有ＭＩＤＩデータＳ４の先頭に置く。
【００５３】
具体的には、まず図６のフロー内のステップＳＴ１にて、イベント遅延処理部ＰＣにより、遅延設定ＭＩＤＩイベントデータＤ００１が「遅延させるべきイベント」であるか否かが判断される。「遅延させるべきイベント」とは、遅延元チャネルたるチャネル０に属するイベントデータのことを指すので、遅延設定ＭＩＤＩイベントデータＤ００１は該当しない。よって、ステップＳＴ３に進む。
【００５４】
ステップＳＴ３では、遅延バッファ記憶部ＢＦ内先頭のイベントデータと先後が比較される。しかし、この段階では遅延バッファ記憶部ＢＦ内にデータはない。遅延バッファ記憶部ＢＦ内にデータがない場合は、ステップＳＴ４に進む。
【００５５】
ステップＳＴ４では、遅延設定ＭＩＤＩイベントデータＤ００１が、遅延イベント含有ＭＩＤＩデータＳ４の第１番目のデータとしてシーケンサ部ＳＱへと送信される。そして、ステップＳＴ７にて、全イベントデータの読み込みが完了したか確認がなされる。
【００５６】
この段階では、続いて処理されるべき遅延設定ＭＩＤＩイベントデータＤ００２が存在するのでステップＳＴ８に進み、次イベントたる遅延設定ＭＩＤＩイベントデータＤ００２がイベント遅延処理部ＰＣに読み込まれる。そして、ステップＳＴ１から上記と同様の処理が、遅延設定ＭＩＤＩイベントデータＤ００２乃至Ｄ００６について繰り返される。これらの処理により、遅延設定ＭＩＤＩイベントデータＤ００２乃至Ｄ００６は、遅延イベント含有ＭＩＤＩデータＳ４の第２乃至第６番目のデータとしてシーケンサ部ＳＱへと送信される。
【００５７】
遅延設定ＭＩＤＩイベントデータＤ００６までの読み込み処理終了後、イベント遅延処理部ＰＣは、通常ＭＩＤＩイベントデータ００２の読み込みに移る。
【００５８】
通常ＭＩＤＩイベントデータ００２はテンポ情報であって、特定のチャネルに属しないグローバル情報である。よって、遅延設定ＭＩＤＩイベントデータＤ００１乃至Ｄ００６の場合と同様、ステップＳＴ１にて「遅延させるべきイベント」ではないと判断されて、ステップＳＴ３に進む。以降の処理も、遅延設定ＭＩＤＩイベントデータＤ００１乃至Ｄ００６の場合と同様である。
【００５９】
次に、通常ＭＩＤＩイベントデータ００３が、イベント遅延処理部ＰＣに読み込まれる。通常ＭＩＤＩイベントデータ００３の場合は、遅延元チャネルたるチャネル０に属するイベントデータであるので、図６のフロー内のステップＳＴ１にて「遅延させるべきイベント」であると判断される。よって、ステップＳＴ２に進む。
【００６０】
ステップＳＴ２においては、チャネル０に属する通常ＭＩＤＩイベントデータ００３に基づいて、遅延ＭＩＤＩイベントデータ（後のデータＤ００７）の生成と、生成した遅延ＭＩＤＩイベントデータの遅延バッファ記憶部ＢＦへの記録とが行われる。具体的には、遅延設定情報Ｓ２の変換規則に則って通常ＭＩＤＩイベントデータ００３のデータ位置情報および所属チャネル情報の変更を行い、その他のパラメータ（ここではBANKの内容）については遅延設定情報Ｓ２の変換規則に則って通常ＭＩＤＩイベントデータ００３と同じパラメータとした遅延ＭＩＤＩイベントデータ（Ｄ００７）の生成をし、遅延バッファ記憶部ＢＦへの記録を行う。
【００６１】
なお、データ位置情報の変更は、TICK数を遅延時間たる１０TICK（＝１００ millisecond）ずらすことにより行われる。具体的には、データ位置０００の通常ＭＩＤＩイベントデータ００３に対して、０１０の差分値がデータ位置情報として与えられる。また、所属チャネル情報の変更は、チャネル０の値を拡張ＭＩＤＩチャネル番号たる１６に置き換えることにより行われる。
【００６２】
遅延ＭＩＤＩイベントデータ（Ｄ００７）の生成・記録の後は、ステップＳＴ３に進む。ステップＳＴ３では、遅延バッファ記憶部ＢＦ内先頭のイベントデータと先後が比較される。この段階では遅延バッファ記憶部ＢＦ内先頭に、先ほど生成した遅延ＭＩＤＩイベントデータ（Ｄ００７）が存在する。
【００６３】
ここで、通常ＭＩＤＩイベントデータ００３のデータ位置の値０００は、遅延バッファ記憶部ＢＦ内先頭の遅延ＭＩＤＩイベントデータ（Ｄ００７）のデータ位置の値０１０よりも小さいので、通常ＭＩＤＩイベントデータ００３の方が遅延バッファ記憶部ＢＦ内先頭の遅延ＭＩＤＩイベントデータ（Ｄ００７）よりも先のイベントであると判断される。よって、ステップＳＴ４に進む。
【００６４】
ステップＳＴ４では、通常ＭＩＤＩイベントデータ００３が、遅延イベント含有ＭＩＤＩデータＳ４の第８番目のデータとしてシーケンサ部ＳＱへと送信される。そして、ステップＳＴ７にて、全イベントデータの読み込みが完了したか確認がなされる。
【００６５】
この段階では、続いて処理されるべき通常ＭＩＤＩイベントデータ００４が存在するのでステップＳＴ８に進み、次イベントたる通常ＭＩＤＩイベントデータ００４がイベント遅延処理部ＰＣに読み込まれる。そして、ステップＳＴ１から上記と同様の処理が、通常ＭＩＤＩイベントデータ００４について繰り返される。
【００６６】
通常ＭＩＤＩイベントデータ００４もチャネル０に属するので、ステップＳＴ２において、遅延設定情報Ｓ２の変換規則に則ってパラメータが変換された遅延ＭＩＤＩイベントデータ（後のデータＤ００８）の生成と、生成した遅延ＭＩＤＩイベントデータ（Ｄ００８）の遅延バッファ記憶部ＢＦへの記録とが行われる。
【００６７】
なお、通常ＭＩＤＩイベントデータ００４に対応する遅延ＭＩＤＩイベントデータ（Ｄ００８）のデータ位置情報の変更については、データ位置０００と設定される。遅延バッファ記憶部ＢＦ内の一つ前のデータたる、データ００３の遅延ＭＩＤＩイベントデータ（Ｄ００７）のTICK数が、すでに遅延時間たる１０TICK分ずらされているので、再度１０TICK分ずらす必要が無いからである。
【００６８】
また、遅延設定情報Ｓ２で、遅延ＭＩＤＩイベントデータの音色が設定されている場合は、通常ＭＩＤＩイベントデータ００４に対応する遅延ＭＩＤＩイベントデータとしてのパラメータ値は、遅延設定情報Ｓ２で設定されている音色に変換されるため、通常ＭＩＤＩイベントデータ００４のパラメータ値とは違う値が設定されることになる。これにより元ＭＩＤＩチャネルとは違う音色に変更することが可能となっている。
【００６９】
次に、通常ＭＩＤＩイベントデータ００５が、イベント遅延処理部ＰＣに読み込まれる。通常ＭＩＤＩイベントデータ００５の場合は、チャネル０に属しないイベントデータであるので、図６のフロー内のステップＳＴ１にて「遅延させるべきイベント」ではないと判断される。よって、ステップＳＴ３に進む。以降の処理は、通常ＭＩＤＩイベントデータ００４の場合と同様である。
【００７０】
次に、通常ＭＩＤＩイベントデータ００６が、イベント遅延処理部ＰＣに読み込まれる。通常ＭＩＤＩイベントデータ００６の場合も、チャネル０に属しないイベントデータであるので、図６のフロー内のステップＳＴ１にて「遅延させるべきイベント」ではないと判断される。よって、ステップＳＴ３に進む。以降の処理は、通常ＭＩＤＩイベントデータ００５の場合と同様である。
【００７１】
次に、通常ＭＩＤＩイベントデータ００７が、イベント遅延処理部ＰＣに読み込まれる。通常ＭＩＤＩイベントデータ００７の場合は、遅延元たるチャネル０に属するイベントデータであるので、図６のフロー内のステップＳＴ１にて「遅延させるべきイベント」であると判断される。よって、ステップＳＴ２に進む。
【００７２】
通常ＭＩＤＩイベントデータ００７もチャネル０に属するので、ステップＳＴ２において、遅延ＭＩＤＩイベントデータ（後のデータＤ００９）の生成と、生成した遅延ＭＩＤＩイベントデータの遅延バッファ記憶部ＢＦへの記録とが行われる。そして、そのデータ位置の値が０００であるので、通常ＭＩＤＩイベントデータ００４の場合と同様に、ステップＳＴ３、ＳＴ４を経てシーケンサ部ＳＱへのデータ送信が行われる。
【００７３】
なお、通常ＭＩＤＩイベントデータ００７に対応する遅延ＭＩＤＩイベントデータ（Ｄ００９）のデータ位置情報の変更についても、データ位置０００と設定される。遅延バッファ記憶部ＢＦ内の二つ前のデータたる、データ００３の遅延ＭＩＤＩイベントデータのTICK数が、すでに遅延時間たる１０TICK分ずらされており、続くデータ００４の遅延ＭＩＤＩイベントデータのTICK数は０００と設定されているので、再度１０TICK分ずらす必要が無いからである。
【００７４】
次に、通常ＭＩＤＩイベントデータ００８が、イベント遅延処理部ＰＣに読み込まれる。通常ＭＩＤＩイベントデータ００８の場合は、チャネル０に属しないイベントデータであるので、図６のフロー内のステップＳＴ１にて「遅延させるべきイベント」ではないと判断される。よって、ステップＳＴ３に進む。
【００７５】
ステップＳＴ３では、遅延バッファ記憶部ＢＦ内先頭のイベントデータと先後が比較される。いま、遅延バッファ記憶部ＢＦ内先頭に、これまでに生成した通常ＭＩＤＩイベントデータ００３の遅延ＭＩＤＩイベントデータ（Ｄ００７）が存在し、続いて、通常ＭＩＤＩイベントデータ００４の遅延ＭＩＤＩイベントデータ（Ｄ００８）、および、先ほど生成した通常ＭＩＤＩイベントデータ００７の遅延ＭＩＤＩイベントデータ（Ｄ００９）が存在する。
【００７６】
ここで、通常ＭＩＤＩイベントデータ００８のデータ位置の値０４８は、遅延バッファ記憶部ＢＦ内先頭のデータ００３の遅延ＭＩＤＩイベントデータのデータ位置の値０１０よりも大きい。よって、通常ＭＩＤＩイベントデータ００８の方が遅延バッファ記憶部ＢＦ内先頭の遅延ＭＩＤＩイベントデータよりも後のイベントであると判断される。よって、この場合はステップＳＴ５に進む。
【００７７】
ステップＳＴ５では、遅延バッファ記憶部ＢＦ内先頭のデータ００３の遅延ＭＩＤＩイベントデータが、遅延イベント含有ＭＩＤＩデータＳ４の第１３番目のデータ（データ番号Ｄ００７）としてシーケンサ部ＳＱへと送信される。そして、イベント遅延処理部ＰＣは、送信した遅延ＭＩＤＩイベントデータ（Ｄ００７）を消去し、続くデータ００４の遅延ＭＩＤＩイベントデータ（Ｄ００８）を、遅延バッファ記憶部ＢＦ内先頭データとして更新する。また、イベント遅延処理部ＰＣは、送信した遅延ＭＩＤＩイベントデータＤ００７のTICK数０１０の値を通常ＭＩＤＩイベントデータ００８のTICK数０４８より差し引いておく。これにより、通常ＭＩＤＩイベントデータ００８のTICK数は０３８となる。
【００７８】
次に、ステップＳＴ６に進み、遅延バッファ記憶部ＢＦ内に遅延ＭＩＤＩイベントデータが存在するか確認する。ここでは、データ００４の遅延ＭＩＤＩイベントデータ（Ｄ００８）およびデータ００７の遅延ＭＩＤＩイベントデータ（Ｄ００９）がまだ残っているので、ステップＳＴ３に戻る。
【００７９】
ステップＳＴ３では再度、遅延バッファ記憶部ＢＦ内先頭のイベントデータ（ここではデータ００４の遅延ＭＩＤＩイベントデータ（Ｄ００８））と先後が比較される。ここで、通常ＭＩＤＩイベントデータ００８のデータ位置の値０３８は、遅延バッファ記憶部ＢＦ内先頭のデータ００４の遅延ＭＩＤＩイベントデータ（Ｄ００８）のデータ位置の値０００よりも大きい。よって、通常ＭＩＤＩイベントデータ００８の方が遅延バッファ記憶部ＢＦ内先頭の遅延ＭＩＤＩイベントデータ（Ｄ００８）よりも後のイベントであると判断される。よって、再度ステップＳＴ５に進む。
【００８０】
ステップＳＴ５では、遅延バッファ記憶部ＢＦ内先頭のデータ００４の遅延ＭＩＤＩイベントデータが、遅延イベント含有ＭＩＤＩデータＳ４の第１４番目のデータ（データ番号Ｄ００８）としてシーケンサ部ＳＱへと送信される。そして、イベント遅延処理部ＰＣは、送信した遅延ＭＩＤＩイベントデータＤ００８を消去し、続くデータ００７の遅延ＭＩＤＩイベントデータ（Ｄ００９）を、遅延バッファ記憶部ＢＦ内先頭データとして更新する。また、イベント遅延処理部ＰＣは、送信した遅延ＭＩＤＩイベントデータＤ００８のTICK数０００の値を通常ＭＩＤＩイベントデータ００８のTICK数０３８より差し引いておく。この場合は、通常ＭＩＤＩイベントデータ００８のTICK数は０３８のままである。
【００８１】
次に、ステップＳＴ６に進み、遅延バッファ記憶部ＢＦ内に遅延ＭＩＤＩイベントデータが存在するか確認する。ここでは、データ００７の遅延ＭＩＤＩイベントデータ（Ｄ００９）がまだ残っているので、ステップＳＴ３に戻る。
【００８２】
ステップＳＴ３では再度、遅延バッファ記憶部ＢＦ内先頭のイベントデータ（ここではデータ００７の遅延ＭＩＤＩイベントデータ（Ｄ００９））と先後が比較される。ここで、通常ＭＩＤＩイベントデータ００８のデータ位置の値０３８は、遅延バッファ記憶部ＢＦ内先頭のデータ００７の遅延ＭＩＤＩイベントデータ（Ｄ００９）のデータ位置の値０００よりも大きい。よって、通常ＭＩＤＩイベントデータ００８の方が遅延バッファ記憶部ＢＦ内先頭の遅延ＭＩＤＩイベントデータ（Ｄ００９）よりも後のイベントであると判断される。よって、再度ステップＳＴ５に進む。
【００８３】
ステップＳＴ５では、遅延バッファ記憶部ＢＦ内先頭のデータ００７の遅延ＭＩＤＩイベントデータが、遅延イベント含有ＭＩＤＩデータＳ４の第１５番目のデータ（データ番号Ｄ００９）としてシーケンサ部ＳＱへと送信される。そして、イベント遅延処理部ＰＣは、送信した遅延ＭＩＤＩイベントデータ（Ｄ００９）を消去し、遅延バッファ記憶部ＢＦの記録内容を更新する。また、イベント遅延処理部ＰＣは、送信した遅延ＭＩＤＩイベントデータＤ００８のTICK数０００の値を通常ＭＩＤＩイベントデータ００８のTICK数０３８より差し引いておく。この場合は、通常ＭＩＤＩイベントデータ００８のTICK数は０３８のままである。
【００８４】
次に、ステップＳＴ６に進み、遅延バッファ記憶部ＢＦ内に遅延ＭＩＤＩイベントデータが存在するか確認する。ここでは、遅延バッファ記憶部ＢＦ内に遅延ＭＩＤＩイベントデータが存在しないので、ステップＳＴ４に進む。
【００８５】
ステップＳＴ４では、通常ＭＩＤＩイベントデータ００８が、遅延イベント含有ＭＩＤＩデータＳ４の第１６番目のデータとしてシーケンサ部ＳＱへと送信される。なお、先述のように、通常ＭＩＤＩイベントデータ００８のデータ位置の値０４８は、遅延ＭＩＤＩイベントデータＤ００７の送信時に０３８と変更されている。
【００８６】
そして、ステップＳＴ７にて、全イベントデータの読み込みが完了したか確認がなされる。この段階では、続いて処理されるべき通常ＭＩＤＩイベントデータ００９が存在するのでステップＳＴ８に進み、次イベントたる通常ＭＩＤＩイベントデータ００９がイベント遅延処理部ＰＣに読み込まれる。そして、ステップＳＴ１から上記と同様の処理が、通常ＭＩＤＩイベントデータ００９について繰り返される。
【００８７】
通常ＭＩＤＩイベントデータ００９もチャネル０に属するので、ステップＳＴ２において、遅延ＭＩＤＩイベントデータ（後のＤ０１０）の生成と、生成した遅延ＭＩＤＩイベントデータの遅延バッファ記憶部ＢＦへの記録とが行われる。
【００８８】
なお、通常ＭＩＤＩイベントデータ００９に対応する遅延ＭＩＤＩイベントデータ（Ｄ０１０）のデータ位置情報は、遅延時間たる１０TICK分だけずらされてデータ位置０１０と設定される。
【００８９】
以降、上記と同様の処理が続けられて、遅延ＭＩＤＩイベントデータＤ０１０の生成がなされ、遅延ＭＩＤＩイベントデータＤ０１０、通常ＭＩＤＩイベントデータ０１０、…、以降の図示しないＭＩＤＩイベントデータが順次、遅延イベント含有ＭＩＤＩデータＳ４の各データとしてシーケンサ部ＳＱへと送信される。
【００９０】
また、通常ＭＩＤＩイベントデータ０１０以降の図示しないＭＩＤＩイベントデータとして、例えば、楽曲途中にMODULATION値の変更を示す通常ＭＩＤＩイベントデータが存在する場合に、楽曲途中での遅延設定情報としてMODULATION値の変更を含ませることもできる。その場合には、例えば通常ＭＩＤＩイベントデータとしてのMODULATION値が０から10に変更されたのであれば、遅延設定情報のMODULATION値を30として、10に30を加えた40が拡張ＭＩＤＩチャネル１６におけるMODULATION値となる。DETUNEやPANPOT等のパラメータについても同様である。
【００９１】
さらに、遅延設定情報は、楽曲先頭、楽曲途中に関わらず楽曲中にどこにでも置くことが出来る。楽曲先頭および楽曲途中の双方に置いた場合は、楽曲先頭の遅延設定情報Ｓ２とは違った遅延設定情報として、例えば遅延設定情報の遅延時間とは違う遅延時間の情報を含ませておいてもよい。この場合、遅延時間変更後の遅延ＭＩＤＩイベントデータの遅延TICK数を、それ以前の遅延ＭＩＤＩイベントデータの遅延TICK数と異ならしめることができる。その他の音量レベル、PANPOT(左右への音の振り分け)、DETUNE値（チューニングずれの値）、MODULATION値、遅延ＭＩＤＩイベントデータの音色などについても楽曲途中で変更することができる。これにより、楽曲途中でエコー表現に変更をもたらすことも可能となる。
【００９２】
また、楽曲途中で、遅延設定情報を無効とすることで、それ以降のエコー表現を行わないように設定することも可能である。
【００９３】
ただし、楽曲演奏途中で遅延設定情報が変更になった場合には、変更前の遅延ＭＩＤＩイベントデータと変更後の遅延ＭＩＤＩイベントデータとが重複して発音されてしまうことがある。また、遅延設定情報を無効と設定した後、遅延設定情報が有効であった時に遅延バッファ記憶部ＢＦに設定された遅延ＭＩＤＩイベントデータが発音されてしまい、不自然に聞こえる場合もありうる。それらの場合は、遅延設定情報Ｓ２に、遅延バッファ記憶部ＢＦ内に記憶された遅延ＭＩＤＩイベントデータを一旦消去してから遅延時間の設定変更を行う情報を含ませておき、イベント遅延処理部ＰＣに、遅延バッファ記憶部ＢＦ内の記憶情報を消去させればよい。
【００９４】
また、ＭＩＤＩイベントデータ信号Ｓ１内の通常ＭＩＤＩイベントデータには、遅延設定情報として変換規則の規定はなされないが、遅延ＭＩＤＩイベントデータの発音態様に関する情報が含まれている場合がある。例えばEXPRESSIONデータ(チャネルの音量の強弱を規定するデータ）の強弱を規定するデータ)等がこれに該当する。このようなデータについても、他のノートオン・オフデータの場合と同様に、イベント遅延処理部ＰＣにより遅延処理が施される。この場合は、EXPRESSIONデータ等のパラメータ値には何ら変更は行われず、データ位置情報および所属チャネル情報の変更が行われる。
【００９５】
そして、図４の楽曲ファイル情報ＦＬの最終の通常ＭＩＤＩイベントデータの読み込みを終えた場合は、ステップＳＴ７からステップＳＴ９へと進む。ステップＳＴ９においては、遅延バッファ記憶部ＢＦ内に遅延ＭＩＤＩイベントデータが残留していないか確認され、残留している場合にはステップＳＴ９からステップＳＴ１０へと進み、全遅延ＭＩＤＩイベントデータが遅延イベント含有ＭＩＤＩデータＳ４の各データとしてシーケンサ部ＳＱへと送信される。そして、イベント遅延処理部ＰＣは、送信した遅延ＭＩＤＩイベントデータを遅延バッファ記憶部ＢＦから消去し、遅延バッファ記憶部ＢＦの記録内容を更新する。
【００９６】
なお、遅延バッファ記憶部ＢＦ内に遅延ＭＩＤＩイベントデータが多数残留している場合には、楽曲ファイル情報ＦＬに記述された曲の総演奏時間が延びてしまうこともある。しかし、曲の総演奏時間が変わってしまうほどの遅延効果を必要とはしない場合には、ステップＳＴ９およびＳＴ１０を省略してもよい。
【００９７】
以上によりイベントの読み込みが完了し、シーケンサ部ＳＱに図５の遅延イベント含有ＭＩＤＩデータＳ４が送信される。すなわち、上記の処理は、遅延バッファ記憶部ＢＦ内の遅延ＭＩＤＩイベントデータの発音タイミングと、読み込んだ通常ＭＩＤＩイベントデータの各々の発音タイミングとの先後の比較を行って、発音タイミング順に遅延ＭＩＤＩイベントデータおよび通常ＭＩＤＩイベントデータの各々を出力することにより、遅延イベント含有ＭＩＤＩデータＳ４を生成する処理である。こうすれば、遅延イベント含有ＭＩＤＩデータＳ４内において、遅延ＭＩＤＩイベントデータを適切なタイミング位置に配置できる。
【００９８】
本実施の形態に係るシーケンサシステムによれば、イベント遅延部ＤＬは、遅延設定情報Ｓ２に基づいて遅延ＭＩＤＩイベントデータ（図５のＤ００７乃至Ｄ００９等）を生成し、通常ＭＩＤＩイベントデータ間に遅延ＭＩＤＩイベントデータを織り込んだ遅延イベント含有ＭＩＤＩデータＳ４を生成する。よって、特開平１１−３０５７７５号公報に記載の技術のように、音源波形に“ゼロ”データを挿入する必要がなく、音源波形メモリ容量増大の抑制が図れる。
【００９９】
また、本実施の形態に係るシーケンサシステムによれば、音源部ＳＳはＰＣＭ音源としたが、遅延ＭＩＤＩイベントデータそのものを生成するので、波形読み出しを行わない別の音源部、例えばＦＭ音源方式を採用した音源部にも適用することが可能となり、その音源部を用いた音源システムでも、エコー表現を実現することができ、表現力が豊かになる。
【０１００】
また、音源波形を遅延させるのではなく、遅延ＭＩＤＩイベントデータそのものを生成するので、原ＭＩＤＩイベントデータのノートオフ後も、遅延ＭＩＤＩイベントデータのノートオンが可能となり、エコー表現が実現して表現力が豊かになる。例えば、図５の遅延ＭＩＤＩイベントデータＤ０１０のTICK数が０１０ではなく０８０と大きな値に設定すれば、通常ＭＩＤＩイベントデータ０１０の方が、通常ＭＩＤＩイベントデータ００９からTICK数０４８の経過後に、遅延ＭＩＤＩイベントデータＤ０１０よりも先に発音されることとなる。このように、次イベント発音よりも遅れて遅延ＭＩＤＩイベントを発音させることが可能であれば、深いエコー表現が可能となる。
【０１０１】
また、本実施の形態に係るシーケンサシステムによれば、イベント遅延部ＤＬは、通常のＭＩＤＩチャネル０〜１５とは別個の拡張ＭＩＤＩチャネル１６〜１９に属する遅延ＭＩＤＩイベントデータを生成する。よって、遅延ＭＩＤＩイベントデータは既存のＭＩＤＩチャネル０〜１５に属することはなく、既存のＭＩＤＩチャネル０〜１５の全てを通常ＭＩＤＩイベントデータの記述用に使用できる。こうすれば、ＭＩＤＩチャネル０〜１５の使用に制限をもたらすことはない。
【０１０２】
なお、上記においては、遅延設定情報Ｓ２にて「遅延ライン数：１」と設定されていたので、拡張ＭＩＤＩチャネル１６のみしか使用しなかった。しかし、もし「遅延ライン数：３」と設定され、「遅延時間：１００millisecond、１２０millisecond、１４０millisecond」と設定されていたのであれば、例えば複数の拡張ＭＩＤＩチャネル１６乃至１８を用いて、それぞれに異なる遅延時間を有する遅延ＭＩＤＩイベントデータを生成すればよい。そして、図６に示したフローにより、発音タイミング順に遅延ＭＩＤＩイベントデータおよび通常ＭＩＤＩイベントデータの各々を並べ替えて遅延イベント含有ＭＩＤＩデータＳ４を生成すればよい。
【０１０３】
また、本実施の形態に係るシーケンサシステムによれば、拡張ＭＩＤＩチャネルは、１６乃至１９の４チャネルとしたが、この数をシステムに応じて増減させ、例えば１６乃至２３とすれば、その増加した数に応じた遅延音を発生することが可能である。
【０１０４】
また、本実施の形態に係るシーケンサシステムによれば、遅延設定情報Ｓ２には、遅延ＭＩＤＩイベントデータの発音態様に関する情報が含まれている。よって、遅延ＭＩＤＩイベントデータの発音態様（例えば音色）を原ＭＩＤＩイベントデータと異ならしめることができ、多彩な遅延音を発生することが可能である。
【０１０５】
＜実施の形態２＞
本実施の形態は、実施の形態１に係るシーケンサシステムの変形例であって、実施の形態１におけるソフトウェア構成部およびハードウェア構成部の区分を変更したものである。
【０１０６】
図７は、本実施の形態に係るシーケンサシステムを示す図である。なお、図７においては、データ解析部ＡＮａおよびイベント遅延部ＤＬだけでなく、シーケンサ部ＳＱまでもがソフトウェア構成部ＳＴ２とされ、音源部ＳＳのみがハードウェア構成部ＨＤ２とされている点以外、装置構成は図１と同じである。
【０１０７】
シーケンサ部ＳＱをハードウェア構成とすると、実施の形態１のように拡張ＭＩＤＩチャネル１６〜１９を設ける場合には、既存のシーケンサ部ＳＱのハードウェア構成に改造を加えねばならない。例えばハードウェアとしてのＭＩＤＩチャネル数を０〜１５の１６個分ではなく、０〜１９の２０個分用意しなければならない。これでは、既存のシーケンサ部品の改造を余儀なくされ、製品製造コストが上昇してしまう。
【０１０８】
一方、シーケンサ部ＳＱまでもソフトウェア構成とすれば、拡張ＭＩＤＩチャネル１６〜１９を設ける場合であっても、例えばシーケンサ部ＳＱのＭＩＤＩチャネル数のパラメータを１６から２０に変更するだけでよく、ハードウェア的なシーケンサ部品の改造を必要としない。よって、製品製造コストの上昇を抑制できる。
【０１０９】
＜実施の形態３＞
本実施の形態も、実施の形態１に係るシーケンサシステムの変形例であって、拡張ＭＩＤＩチャネルを設けずに、０〜１５の既存のＭＩＤＩチャネル内に未使用のチャネルが存在する場合に、未使用チャネル内に遅延ＭＩＤＩイベントデータを生成するようにしたものである。
【０１１０】
図８は、本実施の形態に係るシーケンサシステムを示す図である。なお、図８においては、未使用チャネル判断部ＤＴを有するデータ解析部ＡＮｂが採用され、図１の拡張チャネル情報Ｓ３が外部から与えられる代わりに、未使用チャネル判断部ＤＴの生成した未使用チャネル情報Ｓ７がイベント遅延部ＤＬに与えられている点以外、装置構成は図１と同じである。
【０１１１】
図９は、本実施の形態に係るシーケンサシステムにおけるＭＩＤＩチャネルの構成を示す図である。図９に示すとおり、本実施の形態のＭＩＤＩチャネル構成は、通常用いられるＭＩＤＩチャネル０〜１５の計１６チャネルを有しているに過ぎない。
【０１１２】
すなわち、本実施の形態においては、未使用チャネル判断部ＤＴがＭＩＤＩチャネル０〜１５のうちノートイベントの存在しない未使用ＭＩＤＩチャネルを検索し、イベント遅延部ＤＬが、未使用ＭＩＤＩチャネルに属する遅延ＭＩＤＩイベントデータを生成するのである。なお、図９では例として、ＭＩＤＩチャネル１〜４が未使用であって、チャネル０の通常ＭＩＤＩイベントデータに基づいて遅延ＭＩＤＩイベントデータをＭＩＤＩチャネル１〜４内に生成する場合を示している。
【０１１３】
図１０は、未使用チャネル判断部ＤＴにおける、未使用チャネル検索フローを示すフローチャートである。未使用ＭＩＤＩチャネルの検索は、図４の楽曲ファイル情報ＦＬの全イベントリスト内の全チャネルにつき、ノートイベントが存在するか否かを確認することにより行われる。
【０１１４】
まず、ステップＳＴｂに示すように、変数ＣＨを０と設定する。次に、イベントリストの先頭から、チャネル番号ＣＨ（＝０）のノートオンおよびノートオフのいずれかたるノートイベントのサーチを開始する（ステップＳＴｃ）。
【０１１５】
そして、イベントリストの最後までサーチを行ったか検証しつつ（ステップＳＴｄ）、イベントリスト内にチャネル番号ＣＨのノートイベントが存在しないか検索する（ステップＳＴｅ）。ステップＳＴｅにてノートイベントが存在しない場合には、再度ステップＳＴｄに戻り、イベントリストの最後までサーチを続ける。
【０１１６】
イベントリストの最後までサーチを行っても、チャネル番号ＣＨのノートイベントが存在しない場合には、ステップＳＴｄからステップＳＴｉに移行し、そのチャネル番号ＣＨを未使用チャネルと判断する。そして、ステップＳＴｆに移行して、変数ＣＨをインクリメントする。
【０１１７】
一方、ノートイベントが一つでも存在すれば、チャネル番号ＣＨ（＝０）は使用チャネルであるとみなし、ステップＳＴｅからステップＳＴｆに移行し、変数ＣＨをインクリメントして（ステップＳＴｆ）、次のチャネル番号（＝１）の検索処理に移行する。
【０１１８】
なお、全てのチャネルの検索を終えて、変数ＣＨが０〜１５を超えて１６となったかどうかも検証する（ステップＳＴｇ）。ステップＳＴｇにて変数ＣＨが１６には達していない場合には、ステップＳＴｃに戻り、インクリメントしたチャネル番号ＣＨのノートイベントのサーチを再び開始する。一方、変数ＣＨが１６に達しておれば、０〜１５の全チャネルの検索処理が終了する（ステップＳＴｈ）。
【０１１９】
その他の点については、実施の形態１に係るシーケンサシステムと同様のため、説明を省略する。
【０１２０】
本実施の形態によれば、未使用チャネル判断部ＤＴが未使用ＭＩＤＩチャネルを検索し、イベント遅延部ＤＬは、未使用ＭＩＤＩチャネルに属する遅延ＭＩＤＩイベントデータを生成する。よって、遅延ＭＩＤＩイベントデータ用の拡張ＭＩＤＩチャネルを新たに設定する必要がなく、既存のＭＩＤＩチャネル数にのみ対応するシーケンサ部ＳＱをそのまま流用可能である。
【図面の簡単な説明】
【０１２１】
【図１】実施の形態１に係るシーケンサシステムを示すブロック図である。
【図２】イベント遅延部ＤＬの詳細構成を示すブロック図である。
【図３】実施の形態１に係るシーケンサシステムにおけるＭＩＤＩチャネルの構成を示す図である。
【図４】楽曲ファイル情報ＦＬの具体例を示す図である。
【図５】遅延イベント含有ＭＩＤＩデータＳ４の具体例を示す図である。
【図６】イベント遅延処理部ＰＣにおける、ＭＩＤＩイベントデータ読み込み処理フローを示すフローチャートである。
【図７】実施の形態２に係るシーケンサシステムを示すブロック図である。
【図８】実施の形態３に係るシーケンサシステムを示すブロック図である。
【図９】実施の形態３に係るシーケンサシステムにおけるＭＩＤＩチャネルの構成を示す図である。
【図１０】未使用チャネル判断部ＤＴにおける、未使用チャネル検索フローを示すフローチャートである。
【符号の説明】
【０１２２】
ＦＬ  楽曲ファイル情報
ＡＮａ，ＡＮｂ  データ解析部
ＤＬ  イベント遅延部
ＳＱ  シーケンサ部
ＳＳ  音源部
ＭＭ  遅延設定情報記憶部
ＣＶ  イベント変換部
ＰＣ  イベント遅延処理部
ＢＦ  遅延バッファ
【図１】
2006039474.tif 000003
【図２】
2006039474.tif 000004
【図３】
2006039474.tif 000005
【図４】
2006039474.tif 000006
【図５】
2006039474.tif 000007
【図６】
2006039474.tif 000008
【図７】
2006039474.tif 000009
【図８】
2006039474.tif 000010
【図９】
2006039474.tif 000011
【図１０】
2006039474.tif 000012