(57)【特許請求の範囲】
【請求項１】
ロール演奏区間を指定すると共にロール開始直後の発音間隔及びロール終了直前の発音期間を指定する指定手段と、
前記指定に係るロール演奏区間の開始タイミングをロール開始時の第１の発音タイミングとすると共に該第１の発音タイミングから前記指定に係るロール開始直後の発音間隔を隔てたタイミングを第２の発音タイミングとした上で該第２の発音タイミングの後前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを隣り合う発音タイミング毎に発音間隔が前記指定に係るロール開始直後の発音間隔とは異なり且つ前記指定に係るロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔が前記指定に係るロール終了直前の発音期間と一致するように決定することにより前記第１の発音タイミングから前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを指示するロールデータを生成する生成手段と
を備えたデータ生成装置。
【請求項２】
自動演奏用の楽曲データを記憶する記憶手段と、
前記楽曲データに関してロール演奏区間を指定すると共にロール開始直後の発音間隔及びロール終了直前の発音期間を指定する指定手段と、
前記指定に係るロール演奏区間の自動演奏用のロールデータを生成して前記記憶手段に書込む生成手段であって、前記指定に係るロール演奏区間の開始タイミングをロール開始時の第１の発音タイミングとすると共に該第１の発音タイミングから前記指定に係るロール開始直後の発音間隔を隔てたタイミングを第２の発音タイミングとした上で該第２の発音タイミングの後前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを隣り合う発音タイミング毎に発音間隔が前記指定に係るロール開始直後の発音間隔とは異なり且つ前記指定に係るロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔が前記指定に係るロール終了直前の発音期間と一致するように決定することにより前記第１の発音タイミングから前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを指示するデータを前記自動演奏用のロールデータ中のタイミングデータとして生成するものと
を備えたデータ生成装置。
【請求項３】
自動演奏用の楽曲データを記憶する記憶手段と、前記楽曲データに関してロール演奏区間を指定すると共にロール開始直後の発音間隔及びロール終了直前の発音期間を指定する指定手段とを備えたコンピュータにおいて使用される記録媒体であって、
前記指定に係るロール演奏区間の自動演奏用のロールデータを生成して前記記憶手段に書込むステップであって、前記指定に係るロール演奏区間の開始タイミングをロール開始時の第１の発音タイミングとすると共に該第１の発音タイミングから前記指定に係るロール開始直後の発音間隔を隔てたタイミングを第２の発音タイミングとした上で該第２の発音タイミングの後前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを隣り合う発音タイミング毎に発音間隔が前記指定に係るロール開始直後の発音間隔とは異なり且つ前記指定に係るロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔が前記指定に係るロール終了直前の発音期間と一致するように決定することにより前記第１の発音タイミングから前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを指示するデータを前記自動演奏用のロールデータ中のタイミングデータとして生成するもの
を含むプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
所定の打楽器音に関してロール音発生を指示する指示手段と、
ロール演奏区間を指定すると共にロール開始直後の発音間隔及びロール終了直前の発音期間を指定する指定手段と、
前記指定に係るロール演奏区間の開始タイミングをロール開始時の第１の発音タイミングとすると共に該第１の発音タイミングから前記指定に係るロール開始直後の発音間隔を隔てたタイミングを第２の発音タイミングとした上で該第２の発音タイミングの後前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを隣り合う発音タイミング毎に発音間隔が前記指定に係るロール開始直後の発音間隔とは異なり且つ前記指定に係るロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔が前記指定に係るロール終了直前の発音期間と一致するように決定することにより前記第１の発音タイミングから前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを指示するロールデータを生成する生成手段と、
前記指示手段でのロール音発生の指示に応答して前記ロールデータの指示する発音タイミングに従って前記所定の打楽器音に関するロール音信号を発生する発生手段と
を備えたデータ生成装置。
【請求項５】
所定の打楽器音に関してロール音発生を指示する指示手段と、ロール演奏区間を指定すると共にロール開始直後の発音間隔及びロール終了直前の発音期間を指定する指定手段とを備えたコンピュータにおいて使用される記録媒体であって、
前記指定に係るロール演奏区間の開始タイミングをロール開始時の第１の発音タイミングとすると共に該第１の発音タイミングから前記指定に係るロール開始直後の発音間隔を隔てたタイミングを第２の発音タイミングとした上で該第２の発音タイミングの後前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを隣り合う発音タイミング毎に発音間隔が前記指定に係るロール開始直後の発音間隔とは異なり且つ前記指定に係るロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔が前記指定に係るロール終了直前の発音期間と一致するように決定することにより前記第１の発音タイミングから前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを指示するロールデータを生成するステップと、
前記指示手段でのロール音発生の指示に応答して前記ロールデータの指示する発音タイミングに従って前記所定の打楽器音に関するロール音信号を発生するステップと
を含むプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ドラム等のロール演奏（連打演奏）に用いるに好適なデータ生成装置及び記録媒体に関し、特にユーザにより指定されるロール演奏区間と、ロール開始直後の発音間隔と、ロール終了直前の発音期間とに基づいてロール開始時の発音タイミング及びこれに続く順次の発音タイミングを決定することにより発音間隔が変化するロール演奏を容易に実現可能としたものである。
【０００２】
【従来の技術】
従来、電子楽器としては、複数のパッド操作子にバスドラム、スネアドラム、シンバル…等の打楽器音をそれぞれ割当て、パッド操作子の操作に応じて打楽器演奏を行なえるようにしたものが知られている。このような電子楽器では、ロール指示スイッチ及び発音間隔選択スイッチが設けられており、発音間隔選択スイッチにより所望の発音間隔を選択した後ロール指示スイッチと共に例えばスネアドラム対応のパッド操作子をオン操作すると、パッド操作子がオン操作されている間だけ選択に係る一定の発音間隔でスネアドラムのロール演奏が行なわれる。
【０００３】
一方、演奏データを入力可能な自動演奏装置としては、リアルタイム入力式のものと、ステップ入力式のものとが知られている。
【０００４】
【発明が解決しようとする課題】
上記した電子楽器によると、ドラムロールは、一定の発音間隔で行なわれ、自然楽器としてのドラムをロール演奏する場合のようにロール演奏中に発音間隔が変化することはない。従って、ロール演奏が単調になるのを免れなかった。
【０００５】
一方、上記した自動演奏装置を用いてドラムロール演奏を行なうことは可能である。しかし、リアルタイム入力式の自動演奏装置では、実際のドラムロール演奏を記録・再生するため、非熟練者がドラムロール演奏を楽しむのは容易でなかった。また、ステップ入力式の自動演奏装置では、発音タイミング毎にデータ入力を行なうため、ロール演奏の場合には多くの発音タイミングについてデータ入力を行なう必要があり、入力作業が煩雑であった。
【０００６】
この発明の目的は、発音間隔が変化するロール演奏を容易に実現可能とする新規なデータ生成装置を提供することにある。
【０００７】
【課題を解決するための手段】
この発明に係るデータ生成装置は、
ロール演奏区間を指定すると共にロール開始直後の発音間隔及びロール終了直前の発音期間を指定する指定手段と、
前記指定に係るロール演奏区間の開始タイミングをロール開始時の第１の発音タイミングとすると共に該第１の発音タイミングから前記指定に係るロール開始直後の発音間隔を隔てたタイミングを第２の発音タイミングとした上で該第２の発音タイミングの後前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを隣り合う発音タイミング毎に発音間隔が前記指定に係るロール開始直後の発音間隔とは異なり且つ前記指定に係るロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔が前記指定に係るロール終了直前の発音期間と一致するように決定することにより前記第１の発音タイミングから前記指定に係るロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを指示するロールデータを生成する生成手段と
を備えたものである。
【０００８】
この発明の構成によれば、ユーザが指定手段によりロール演奏区間と、ロール開始直後の発音間隔と、ロール終了直前の発音期間とを指定すると、生成手段は、ロール演奏区間の開始タイミングをロール開始時の第１の発音タイミングとすると共に該第１の発音タイミングからロール開始直後の発音間隔を隔てたタイミングを第２の発音タイミングとした上で該第２の発音タイミングの後ロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを隣り合う発音タイミング毎に発音間隔がロール開始直後の発音間隔とは異なり且つロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔がロール終了直前の発音期間と一致するように決定することにより第１の発音タイミングからロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを指示するロールデータを生成する。生成に係るロールデータを用いて自動演奏を行なったり、ロール音発生指示操作に基づき且つ生成に係るロールデータに従ってロール音信号を発生したりすることにより発音間隔が変化するロール演奏を容易に実現することができる。また、ユーザの指定に係るロール演奏区間と、ロール開始直後の発音間隔と、ロール終了直前の発音期間とに基づいて順次の発音タイミングを決定するので、ロール演奏にユーザの意志を反映させることができる。
【０００９】
この発明に係るデータ生成装置において、生成手段は、ロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔がロール終了直前の発音期間と一致するようにロール演奏区間の終了タイミングの直前の発音タイミングを決定するので、ユーザの希望するロール演奏区間の終了タイミングの直前にユーザの希望する発音タイミングで発音が行なわれるようになる。
【００１０】
この発明に係るデータ生成装置にあっては、自動演奏用の楽曲データを記憶する記憶手段を設け、この記憶手段に記憶した楽曲データに関してロール演奏区間を指定手段で指定すると共に指定に係るロール演奏区間の自動演奏用のロールデータを生成手段で生成して記憶手段に書込むようにしてもよい。この場合、生成手段では、第１の発音タイミングからロール演奏区間の終了タイミングの直前の発音タイミングまでの順次の発音タイミングを指示するデータを自動演奏用のロールデータ中のタイミングデータとして生成する。このようにすると、所望のロール演奏区間において自動演奏用のロールデータを簡単且つ迅速に得ることができる。
【００１１】
この発明に係るデータ生成装置にあっては、ドラム音等の所定の打楽器音に関してロール音発生を指示する指示手段を設け、この指示手段でのロール音発生の指示に応答して生成手段からのロールデータの指示する発音タイミングに従って所定の打楽器音に関するロール音信号を発生するようにしてもよい。このようにすると、所望のロール演奏区間と、ロール開始直後の発音間隔と、ロール終了直前の発音期間とを指定した後ロール音発生の指示を行なうだけの簡単な操作により自然楽器のように発音間隔が変化するロール演奏を行なうことができる。
【００１２】
【発明の実施の形態】
図１，２を参照してこの発明に係るロールデータ生成方法を説明する。
【００１３】
この発明に係るロールデータ生成方法では、図１に例示するように予めユーザが所望の楽曲に関して所望のロール演奏区間Ｒを指定する。図１は、４／４拍子の曲の流れを示すもので、ＭＳは演奏開始位置を、Ｍｎは第ｎ小節の開始タイミングを、ＭＥは演奏停止（終了）位置を、Ｂ1 〜Ｂ4 は第１〜第４拍のタイミングをそれぞれ表わす。ｎは、任意の小節番号であり、ｎ＝１とすることもできる。
【００１４】
ユーザは、第何小節の第何拍から第何拍までというようにロール演奏区間Ｒを指定する。ロール演奏区間Ｒの開始タイミングＴS 及び終了タイミングＴE は、ユーザによる区間指定に基づいて後述のテンポクロック信号のクロック数で表わされる。演奏開始位置ＭＳのタイミングは、クロック数０で表わされ、４分音符長に相当するクロック数は４８とされる。４／４拍子の場合、例えば第２小節の開始位置に対応する開始タイミングＴS は、クロック数１９２（＝４８×４）で表わされる。
【００１５】
ユーザは、ロール演奏区間Ｒの他に、図２に例示するようにロール開始直後の発音間隔に相当するステップタイムＦＳＴと、ロール終了直前の発音期間に相当するステップタイムＬＳＴとを指定する。図２において、図１と同様の部分には同様の符号を付して詳細な説明を省略する。ステップタイムＦＳＴ，ＬＳＴは、いずれも後述のテンポクロック信号のクロック数により指定される。
【００１６】
一例として、ロール演奏区間Ｒを第ｎ小節の第１〜第３拍Ｂ1 〜Ｂ3 と指定し、ステップタイムＦＳＴ，ＬＳＴをそれぞれ４８，１２と指定した場合について発音タイミングの決定例を説明する。ロール開始時の発音タイミングとしては開始タイミングＴS を採用する。ロール開始時の発音タイミングＴS の次の発音タイミングｔ１としては、「ＴS ＋ＦＳＴ＝ＴS ＋４８」を採用する。ステップタイムＦＳＴの次のステップタイムとしては「ＦＳＴ−所定値」を採用する。ここで、所定値は１２とすると、ＦＳＴの次のステップタイムは３６となる。同様にしてｔ１より後の順次の発音タイミングｔ２，ｔ３，ｔ４を求めると、それぞれ「ｔ１＋３６」、「ｔ２＋２４」、「ｔ３＋１２」となる。
【００１７】
発音タイミングｔ４，ｔ５のように終了タイミングＴE に達する前にステップタイムがステップタイムＬＳＴ＝１２より小さくなる場合は、ステップタイムとしてＬＳＴ＝１２を採用する。この結果、発音タイミングｔ５は「ｔ４＋１２」となり、発音タイミングｔ５と終了タイミングＴE との間の時間間隔は「１２」となる。
【００１８】
なお、終了タイミングＴE に達したときに終了タイミングＴE とその直前の発音タイミングとの間の時間間隔がステップタイムＬＳＴ＝１２より長い場合は、該時間間隔をＬＳＴ＝１２に一致させる。例えば、終了タイミングＴE と発音タイミングｔ５との時間間隔が「１５」であったときは、「１２」とする。
【００１９】
終了タイミングＴＥとその直前の発音タイミングとの間の時間間隔をユーザの指定に係るステップタイムＬＳＴに一致させることによりユーザの希望に沿ってロール演奏を終了させることができる。
【００２０】
図２には、発音タイミングＴS ，ｔ１〜ｔ５に関してゲートタイムＧＴを示してある。ゲートタイムＧＴは、所定の打楽器音（例えばスネアドラム音）の発音開始からの発音持続時間を後述するテンポクロック信号のクロック数で表わすものである。一例として、ＴS ，ｔ１〜ｔ５のすべての発音タイミングに関して一定のクロック数１０でゲートタイムＧＴを表わす。
【００２１】
図２の例によれば、発音タイミングＴS ，ｔ１〜ｔ５を指示するロールデータに従って自動演奏又はロール発音を行なうことにより発音間隔が変化するロール演奏を簡単に実現することができる。例えば、スネアドラム音は、ＴS のタイミングで発音された後、ｔ１〜ｔ３のタイミングを経由するにつれてステップタイムが４８，３６，２４，１２と短くなるように発音され、ｔ４，ｔ５のタイミングではステップタイムがいずれも１２になるように発音される。
【００２２】
図２の例では、ロール演奏区間Ｒの開始タイミングＴS から終了タイミングＴE に向けてステップタイムが減少するようにロール演奏を行なうようにしたが、ＴS からＴE に向けてステップタイムが増大するようにロール演奏を行なうことも可能である。このためには、例えばステップタイムＦＳＴ，ＬＳＴとしてそれぞれ１２，４８を指定し、ＦＳＴより後のステップタイムを「ＦＳＴ＋１２」、「ＦＳＴ＋１２＋１２」…のように決定し、決定に係るステップタイムに基づいて上記したと同様に発音タイミングを決定すればよい。
【００２３】
図３は、この発明の一実施形態に係るロールデータ生成装置を備えた電子楽器の回路構成を示すもので、この電子楽器では、パーソナルコンピュータ等の小型コンピュータによって楽音発生、ロールデータ生成等が制御されるようになっている。
【００２４】
バス１０には、ＣＰＵ（中央処理装置）１２、ＲＯＭ（リード・オンリィ・メモリ）１４、ＲＡＭ（ランダム・アクセス・メモリ）１６、検出回路１８、表示回路２０、音源回路２２、効果回路２４、外部記憶装置２６、ＭＩＤＩ(Musical Instrument Digital Interface)インターフェース２８、通信インターフェース３０、タイマ３２等が接続されている。
【００２５】
ＣＰＵ１２は、ＲＯＭ１４にストアされたプログラムに従って楽音発生、ロールデータ生成等のための各種処理を実行するもので、ロールデータ生成のための処理については図５を参照して後述する。
【００２６】
ＲＯＭ１４には、プログラムの他に、自動演奏用の多数の楽曲データがデータベースとして記憶されている。各楽曲データは、一例として図４に示すようなフォーマットで記憶される。
【００２７】
図４において、楽曲データは、ヘッダ部のデータと演奏部のデータとを含んでいる。ヘッダ部のデータとしては、テンポ、音量、効果等の設定データＳＴが記憶される。演奏部のデータとしては、演奏すべき楽曲の内容に従って演奏イベント毎にタイミングデータＴＭ及びイベントデータＥＶが記憶される。各タイミングデータは、楽曲先頭から演奏イベントまでの時間を後述のテンポクロック信号のクロック数で表わし、楽曲先頭のタイミングデータのクロック数は０とされる。各イベントデータは、楽音の発生又は消去等の演奏イベントを表わす。
【００２８】
タイミングデータＴＭ及びイベントデータＥＶの配列において適宜の個所には、自動演奏用のロールデータＲＤが記憶される。図２の例と対応させてロールデータＲＤを説明すると、ロールデータＲＤは、発音タイミングＴS ，ｔ１〜ｔ５にそれぞれ対応した発音イベントＳＥ1 ，ＳＥ2 〜ＳＥ6 のデータを含んでいる。発音イベントＳＥ1 のデータは、発音タイミングＴS を表わすタイミングデータと、スネアドラム音の発生を指示するキーオンイベントデータと、ベロシティ（発音強度）を指示するベロシティデータと、ゲートタイムＧＴを指示するゲートタイムデータとを含んでいる。発音イベントＳＥ2 〜ＳＥ6 のデータは、それぞれ発音タイミングｔ１〜ｔ５を指示するタイミングデータを含む点で発音イベントＳＥ1 のデータと異なるだけで、ＳＥ2 〜ＳＥ6 のいずれの発音イベントのデータも発音イベントＳＥ1 のデータと同じキーオンイベントデータ、ベロシティデータ及びゲートタイムデータを含んでいる。すなわち、発音イベントＳＥ1 〜ＳＥ6 のデータにあっては、発音タイミングデータの指示する発音タイミングが異なるものの、キーオンイベントデータの内容（スネアドラム音の発生）は同一であり、ベロシティデータの内容（発音強度）は同一であり、ゲートタイムの内容（ＧＴ＝クロック数１０）は同一である。
【００２９】
タイミングデータＴＭ及びイベントデータＥＶ及びロールデータＲＤの配列の末尾には、エンドデータＥＤが記憶される。なお、ＲＯＭ１４に記憶した楽曲データのうちにはロールデータＲＤを含んでいないものもある。
【００３０】
ＲＡＭ１６は、ＣＰＵ１２による各種処理に際して使用される種々の記憶部を含むもので、主な記憶部としては、楽曲データ記憶部１６Ａ、区間データ記憶部１６Ｂ、ＦＳＴデータ記憶部１６Ｃ、ＬＳＴデータ記憶部１６Ｄ、ロールデータ記憶部１６Ｅを含んでいる。記憶部１６Ａは、ＲＯＭ１４から読出した自動演奏用の楽曲データを記憶するためのもの、記憶部１６Ｂは、前述のロール演奏区間Ｒを指示する区間データを記憶するためのもの、記憶部１６Ｃは、前述のステップタイムＦＳＴを指示するＦＳＴデータを記憶するためのもの、記憶部１６Ｄは、前述のステップタイムＬＳＴを指示するＬＳＴデータを記憶するためのもの、記憶部１６Ｅは、ロール発音指示操作に基づくロール発音に使用されるロールデータを記憶するためのものである。
【００３１】
検出回路１８は、操作子群３４から各種操作子の操作情報を検出するものである。操作子群３４は、ロールデータ生成モード等のモードを選択するためのモード選択スイッチ、ロール演奏区間ＲやステップタイムＦＳＴ，ＬＳＴを指定するための指定スイッチ群、複数のパッド操作子、ロール発音指示スイッチ、マニアル演奏用の鍵盤、文字・数値入力可能なキーボード等を含んでいる。複数のパッド操作子には、それぞれバスドラム、スネアドラム、シンバル…等の打楽器音が予め割当てられている。
【００３２】
表示回路２０は、液晶表示器等の表示器３６の表示動作を制御することにより各種の表示を可能にするものである。
【００３３】
音源回路２２は、供給されるイベントデータが楽音の発生又は消去を指示するのに応答してそれぞれ楽音信号を発生又は消去するものである。供給されるイベントデータが発生すべき楽音の音高を指示するときは、指示された音高を有する楽音信号を発生し、供給されるイベントデータが発生すべき打楽器音（例えばスネアドラム音）を指示するときは、指示された打楽器音の音色を有する楽音信号を発生する。
【００３４】
この発明の実施形態では、スネアドラム音のロール演奏を行なうようにしている。音源回路２２には、図２に示したＴS ，ｔ１〜ｔ５のような各発音タイミング毎にスネアドラム音の発生を指示するキーオンイベントデータが供給され、これに応じてスネアドラム音の音色を有する楽音信号が発生される。このとき、音源回路２２には、スネアドラム音のベロシティ（発音強度）を指示するベロシティデータと、ゲートタイムＧＴを指示するゲートタイムデータとが供給されるので、スネアドラム音の発音強度や発音持続時間も制御される。
【００３５】
効果回路２４は、音源回路２２から発生される楽音信号にコーラス、リバーブ等の効果を付加するものである。効果回路２４から送出される楽音信号は、サウンドシステム３８に供給され、音響に変換される。
【００３６】
外部記憶装置２６は、ＨＤ（ハードディスク）、ＦＤ（フロッピーディスク）、ＣＤ（コンパクトディスク）、ＤＶＤ（ディジタル多目的ディスク）、ＭＯ（光磁気ディスク）等のうち１又は複数種類の記録媒体を着脱可能なものである。外部記憶装置２６に所望の記録媒体を装着した状態では、記録媒体からＲＡＭ１６へデータを転送可能である。また、装着した記録媒体がＨＤやＦＤのように書込可能なものであれば、ＲＡＭ１６のデータを記録媒体に転送可能である。
【００３７】
自動演奏用の楽曲データのデータベースとしては、ＲＯＭ１４の代りに外部記憶装置２６の記録媒体（前述のＨＤ，ＦＤ，ＣＤ，ＤＶＤ，ＭＯ等）を用いてもよい。また、プログラム記録手段としては、ＲＯＭ１４の代りに外部記憶装置２６の記録媒体を用いることができる。この場合、記録媒体に記録したプログラムは、外部記憶装置２６からＲＡＭ１６へ転送する。そして、ＲＡＭ１６に記憶したプログラムに従ってＣＰＵ１２を動作させる。このようにすると、プログラムの追加やバージョンアップ等を容易に行なうことができる。
【００３８】
ＭＩＤＩインターフェース２８は、自動演奏装置等の他のＭＩＤＩ機器４０との間で演奏情報等の送受信を行なうために設けられたものである。
【００３９】
通信インターフェース３０は、通信ネットワーク４２（例えばＬＡＮ（ローカル・エリア・ネットワーク）、インターネット、電話回線等）を介してサーバコンピュータ４４と情報通信を行なうために設けられたものである。この発明の実施に必要なプログラムや各種データは、サーバコンピュータ４４から通信ネットワーク４２及び通信インターフェース３０を介してＲＡＭ１６又は外部記憶装置２６へダウンロード要求に応じて取込むようにしてもよい。
【００４０】
タイマ３２は、与えられるテンポデータＴＭＰに対応する周期でテンポクロック信号ＴＣＬを発生するもので、テンポクロック信号ＴＣＬは、割込命令としてＣＰＵ１２に供給される。ＣＰＵ１２は、テンポクロック信号ＴＣＬの各クロックパルス毎に割込処理を開始する。このような割込処理を利用することにより記憶部１６Ａの楽曲データに基づく自動演奏又は記憶部１６Ｅのロールデータに基づくロール演奏を行なうことができる。すなわち、テンポクロック信号ＴＣＬのクロックパルスを計数して発音タイミングに達するたびにその発音タイミングを指示するタイミングデータと組をなすイベントデータ（ロール演奏の場合はキーオンイベントデータ、ベロシティデータ及びゲートタイムデータ）を音源回路２２に供給することにより楽音信号（ロール演奏の場合はスネアドラム音の音色を有する楽音信号）を発生させることができる。
【００４１】
上記した電子楽器において、ＣＰＵ１２は、操作子群３４中の鍵盤で鍵が押されるたびに押された鍵に対応する音高情報と発音命令信号とを音源回路２２に供給する。音源回路２２は、音高情報及び発音命令信号に応じて、押された鍵に対応する音高を有する楽音信号を発生する。このようにしてマニュアル演奏音の発生が可能となる。
【００４２】
次に、図５を参照してロールデータ生成ルーチンを説明する。ユーザが操作子群３４中のモード選択スイッチによりロールデータ生成モードを選択すると、図示しないメインルーチンにおいてロールデータ生成モードが選択されたことが検知され、これに応じて図５のロールデータ生成ルーチンがスタートする。
【００４３】
ステップ５０では、楽曲選択処理を行なう。すなわち、操作子群３４中の文字・数値入力可能なキーボードの操作により所望の楽曲を指定すると、指定に係る楽曲の楽曲データがデータベースから読出され、ＲＡＭ１６の記憶部１６Ａに図４に示したようなフォーマットで書込まれる。
【００４４】
次に、ステップ５２では、ロール演奏区間Ｒ、ステップタイムＦＳＴ，ＬＳＴの指定処理を行なう。ユーザが操作子群３４中の指定スイッチ群を用いて所望のロール演奏区間Ｒ及びステップタイムＦＳＴ，ＬＳＴを指定すると、ＲＡＭ１６の記憶部１６Ｂ，１６Ｃ及び１６Ｄには、それぞれ指定に係るロール演奏区間Ｒを指示する区間データ、指定に係るステップタイムＦＳＴを指示するＦＳＴデータ及び指定に係るステップタイムＬＳＴを指示するＬＳＴデータが書込まれる。記憶部１６Ｂの区間データは、図１，２に示したように開始タイミングＴS 及び終了タイミングＴE を指示するものである。ステップ５２の後は、ステップ５４に移る。
【００４５】
ステップ５４では、ステップ５２の指定処理が完了したか判定する。この判定の結果が否定的（Ｎ）であればステップ５２に戻り、指定処理を行なう。ステップ５４の判定結果が肯定的（Ｙ）になると、ステップ５６に移る。
【００４６】
ステップ５６では、記憶部１６Ａの楽曲データにおいて記憶部１６Ｂの区間データの指示するロール演奏区間にデータがあるか判定し、あればそのデータを削除し、なければ何もしない。例えば、図４に示したようにロール演奏区間にロールデータＲＤがあったときは、このロールデータＲＤを削除し、その削除個所にこの後の処理により新たなロールデータを書込む。また、記憶部１６Ａの楽曲データが指定に係るロール演奏区間においてデータを含んでいなかったときは、指定に係るロール演奏区間にこの後の処理によりロールデータを書込む。
【００４７】
次に、ステップ５８では、記憶部１６Ａの楽曲データにおいて記憶部１６Ｂの区間データの指示するロール演奏区間に先頭の発音イベントに関する各種データを書込む。図４の例では、先頭の発音イベントＳＥ1 に関する各種データとしてタイミングデータ、キーオンイベントデータ、ベロシティデータ及びゲートタイムデータを書込む。このとき、タイミングデータとしては、記憶部１６Ｂの区間データの指示する開始タイミングＴS を発音タイミングとするデータを書込み、キーオンイベントデータとしては、スネアドラム音の発生を指示するデータを書込み、ベロシティデータとしては、予め定めたベロシティ値を表わすデータを書込み、ゲートタイムデータとしては、予め定めたゲートタイム値（ＧＴ＝１０）を表わすデータを書込む。この後、ステップ６０に移る。
【００４８】
ステップ６０では、次の発音イベントに関するステップタイムＮＳＴと発音タイミングｔＮとを算出する。図２の例では、「ＴS ＋ＦＳＴ」の式により発音タイミングｔ１＝ＴS ＋４８を算出すると共に「ＦＳＴ−１２」の式によりステップタイムＮＳＴ＝３６を算出する。この後、ステップ６２に移る。
【００４９】
ステップ６２では、発音タイミングｔＮの値が記憶部１６Ｂの区間データの指示する終了タイミングＴE の値以上（ｔＮ≧ＴE ）か判定する。この判定は、発音タイミングが終了タイミングＴE に達したか又は終了タイミングＴE を超えたか判定するものである。図２の例では、ｔ１＝ＴS ＋４８であり、ＴE に達していないから、ステップ６２の判定結果は否定的（Ｎ）となり、ステップ６４に移る。
【００５０】
ステップ６４では、ステップタイムＮＳＴが記憶部１６ＤのＬＳＴデータの指示するステップタイムＬＳＴより短い（ＮＳＴ＜ＬＳＴ）か判定する。図２の例では、ＮＳＴ＝３６であり、ＬＳＴ＝１２より長いので、ステップ６４の判定結果は否定的（Ｎ）となり、ステップ６６に移る。
【００５１】
ステップ６６では、記憶部１６Ａの楽曲データにおいて記憶部１６Ｂの区間データの指示するロール演奏区間に算出した発音タイミングに対応する発音イベントに関する各種データを書込む。図４の例では、発音イベントＳＥ2 に関する各種データとしてタイミングデータ、キーオンイベントデータ、ベロシティデータ及びゲートタイムデータを書込む。このとき、タイミングデータとしては、発音タイミングｔ１を指示するデータを書込み、キーオンイベントデータ、ベロシティデータ及びゲートタイムデータとしては発音イベントＳＥ1 のキーオンイベントデータ、ベロシティデータ及びゲートタイムデータとそれぞれ同一のデータを書込む。そして、ステップ６０に戻る。
【００５２】
ステップ６０では、前述したと同様にして次の発音イベントに関するステップタイムＮＳＴと発音タイミングｔＮとを算出する。図２の例では、発音タイミングｔ２として「ｔ１＋３６」を算出し、ステップタイムＮＳＴとして「３６−１２＝２４」を算出する。そして、ステップ６２に移る。
【００５３】
ステップ６２では、前述したと同様にしてｔＮ≧ＴE か判定する。図２の例では、ｔ２＝ｔ１＋３６であり、ＴE に達していないので、ステップ６２の判定結果が否定的（Ｎ）となり、ステップ６４に移る。
【００５４】
ステップ６４では、前述したと同様にしてＮＳＴ＜ＬＳＴか判定する。図２の例では、ＮＳＴ＝２４であり、ＬＳＴ＝１２より長いので、ステップ６４の判定結果は否定的（Ｎ）となり、ステップ６６に移る。
【００５５】
ステップ６６では、前回と同様にして算出した発音タイミングに対応する発音イベントに関する各種データを記憶部１６Ａに書込む。図４の例では、発音イベントＳＥ3 （図示せず）に関する各種データとしてタイミングデータ、キーオンイベントデータ、ベロシティデータ及びゲートタイムデータを書込む。このとき、タイミングデータとしては、発音タイミングｔ２を指示するデータを書込み、キーオンイベントデータ、ベロシティデータ及びゲートタイムデータとして発音イベントＳＥ1 のキーオンイベントデータ、ベロシティデータ及びゲートタイムデータとそれぞれ同一のデータを書込む。そして、ステップ６０に戻る。
【００５６】
この後は、ステップ６０〜６６の処理を繰返すことにより発音イベントＳＥ4 に関する各種データ（発音タイミングｔ３＝ｔ２＋２４を指示するタイミングデータ等）を記憶部１６Ａに上記したと同様に書込む。この場合、ステップタイムＮＳＴは、２４−１２＝１２となる。この後、ステップ６０に戻る。
【００５７】
ステップ６０において、発音イベントＳＥ5 に関するステップタイムＮＳＴ及び発音タイミングｔＮを求めると、ｔ４＝ｔ３＋１２、ＮＳＴ＝１２−１２＝０となる。
【００５８】
次に、ステップ６２では、ｔＮ≧ＴE か判定する。ｔ４＝ｔ３＋１２は、ＴE に達しないので、ステップ６２の判定結果は否定的（Ｎ）となり、ステップ６４に移る。
【００５９】
ステップ６４では、ＮＳＴ＜ＬＳＴか判定する。ＮＳＴ＝０であり、ＬＳＴ＝１２より短いので、ステップ６４の判定結果は肯定的（Ｙ）となり、ステップ６８に移る。
【００６０】
ステップ６８では、記憶部１６Ａの楽曲データにおいて記憶部１６Ｂの区間データの指示するロール演奏区間に算出した発音イベントに関する各種データを書込み、ステップタイムＮＳＴとしてＬＳＴ＝１２を採用する。図４の例では、発音イベントＳＥ5 に関する各種データとしてタイミングデータ、キーオンイベントデータ、ベロシティデータ及びゲートタイムデータを書込む。このとき、タイミングデータとしては、発音タイミングｔ４を指示するデータを書込み、キーオンイベントデータ、ベロシティデータ及びゲートタイムデータとして発音イベントＳＥ1 のキーオンイベントデータ、ベロシティデータ及びゲートタイムデータとそれぞれ同一のデータを書込む。そして、ステップ６０に戻る。
【００６１】
ステップ６０において、発音イベントＳＥ6 に関するステップタイムＮＳＴ及び発音タイミングｔＮを求めると、ｔ５＝ｔ４＋１２、ＮＳＴ＝１２−１２＝０となる。
【００６２】
この後、ステップ６２，６４，６８の処理を上記したと同様に実行することにより発音イベントＳＥ6 に関する各種データ（発音タイミングｔ５＝ｔ４＋１２を指示するタイミングデータ等）を記憶部１６Ａに書込む。この場合、ステップタイムＮＳＴは、ステップ６８の処理によりＬＳＴ＝１２となる。ステップ６８の後は、ステップ６０に戻る。
【００６３】
ステップ６０において、次の発音イベントに関するステップタイムＮＳＴ及び発音タイミングｔＮを求めると、ｔＮ＝ｔ５＋１２、ＮＳＴ＝１２−１２＝０となる。そして、ステップ６２でｔＮ≧ＴE か判定すると、ｔＮ＝ＴE であるため、判定結果が肯定的（Ｙ）となり、ステップ７０に移る。
【００６４】
ステップ７０では、ＴE −前回の発音イベントに関するｔＮ＝ＬＳＴなる式が成立するか判定し、成立しなければ成立するように前回の発音イベントに関するｔＮを修正する。図４の例では、ＴE −ｔ５＝１２＝ＬＳＴであるので、ｔ５の修正はしない。仮に、ＴE −ｔ５＝１５であったときは、ＴE −ｔ５＝１２となるようにｔ５を修正する。
【００６５】
ステップ７０の後は、処理エンドとし、メインルーチンにリターンする。
【００６６】
上記したロールデータ生成ルーチンによれば、記憶部１６Ａの楽曲データにおいて記憶部１６Ｂの区間データの指示するロール演奏区間には、図４に示したようにロールデータＲＤを書込むことができる。前述した割込処理により記憶部１６Ａの楽曲データに基づいてメロディ等の自動演奏を行なうことができ、ロール演奏区間ではロールデータＲＤの指示する発音タイミングＴS ，ｔ１〜ｔ５に従ってロール演奏を行なうことができる。
【００６７】
この発明の他の実施形態としては、ロール発音指示操作に基づくロール発音をロールデータＲＤに従って行なうことができる。この場合、図５のロールデータ生成ルーチンにおいて楽曲選択処理５０を省略し、ステップ５２〜７０を上記したと同様に実行することによりＲＡＭ１６の記憶部１６ＥにロールデータＲＤを記憶させる。ただし、発音イベントＳＥ1 のタイミングデータとして発音タイミングＴS ＝クロック数０を指示するデータを書込み、ロール演奏区間Ｒとしては例えば１小節（複数小節も可）を指定する。
【００６８】
操作子群３４中のスネアドラム音対応のバッド操作子を単独でオン操作したときは、スネアドラム音の発生を指示するイベントデータを音源回路２２に供給することによりスネアドラム音の音色を有する楽音信号を単発的に発生させる。一方、操作子群３４中のスネアドラム音対応のパッド操作子とロール発音指示スイッチとを同時的にオン操作したときは、前述した割込処理により記憶部１６ＥのロールデータＲＤに基づいてロール演奏を行なう。このロール演奏は、パッド操作子と発音指示スイッチとの同時的オン操作がなされている間だけ行なう。ロール演奏がロール演奏区間の終了タイミングＴE に達したときは、ロール演奏区間の開始タイミングＴS に戻って演奏を続ける。
【００６９】
この発明は、上記した実施形態に限定されるものではなく、種々の改変形態で実施可能なものである。例えば、次のような変更が可能である。
【００７０】
（１）自動演奏用の楽曲データは、複数トラックに分けて記憶するようにしてもよい。例えば、第１のトラックには自動演奏用のメロディデータを記憶すると共に該メロディデータ中の所望の位置にロール演奏区間マークデータを記憶し、第２のトラックには自動演奏用のロールデータを記憶する。第１のトラックからメロディデータを読出してメロディを自動演奏する際には、ロール演奏区間マークデータの読出しに応答して第２のトラックからロールデータを読出し、該ロールデータに従ってロール演奏を行ない、ロール演奏の終了に応答してメロディの自動演奏に戻るようにすればよい。また、所望のトラック中の所望の区間を選択してロールデータを作成し、記録するようにしてもよい。
【００７１】
（２）自動演奏用の楽曲データのフォーマットは、イベントの発生時刻を曲内の絶対時間で表わす「イベント＋絶対時間」方式に限らず、イベントの発生時刻を１つ前のイベントからの相対時間で表わす「イベント＋相対時間」方式、音符の音高と音符長及び休符と休符長で曲の内容を表わす「音高（休符）＋符長」方式、イベント発生の最小時間単位毎に記憶領域を確保し、イベントの発生時刻に対応する記憶領域にイベントを記憶する方式等の任意の方式を用いることができる。
【００７２】
（３）発音させるドラム音の音色は、ユーザが自由に設定できるようにしてもよい。また、発音イベント毎に異なる音色を設定するようにしてもよい。
【００７３】
（４）ゲートタイムは、各発音イベント毎にユーザが自由に設定できるようにしてもよい。また、各発音イベント毎にステップタイムに対応するゲートタイムを作成するようにしてもよい。例えば、ステップタイムが徐々に短くなるにつれてゲートタイムも徐々に短くなるように作成することができる。
【００７４】
（５）発音タイミングやステップタイムの算出方法は、実施形態で示したものに限定されない。例えば、所定の関数を使用して各発音イベント毎に発音タイミング及びステップタイムを求めてもよいし、あるいは予め記憶されたテーブルを参照して各発音イベント毎に発音タイミング及びステップタイムを求めてもよい。また、ステップタイムの減衰（あるいは増加）量は一定値でなくてもよい。
【００７５】
（６）発音タイミングの決定方法としては、ステップタイムを単純に減少（又は増大）させるような決定方法に限らず、例えばステップタイムを所定の中間値に向けて減少させた後ロール終了タイミングに向けて増大させるような決定方法等を用いてもよい。ステップタイムの中間値は、ユーザが自由に設定できるようにしてもよい。
【００７６】
（７）ベロシティの値は、各発音イベント毎に異ならせてもよい。例えば、ロール演奏区間の先頭及び最後のベロシティ値をユーザが設定し、先頭のベロシティ値から最後のベロシティ値に向けて徐々に変化するようにベロシティ値を算出することができる。算出方法としては、所定値ずつ減少（又は増大）させる方法、所定の関数を用いる方法、テーブルを参照する方法等がある。また、ベロシティ値の変動をステップタイムの変動に追従させる方法を用いてもよく、例えばロール演奏区間の先頭のベロシティ値をユーザが設定し、ステップタイムが徐々に短く（又は長く）なるのに追従してベロシティ値を徐々に小さく（又は大きく）するようにしてもよい。
【００７７】
（８）区間の指定は、小節や拍タイミングに限らず、任意のクロックタイミングで行なうようにしてもよい。
【００７８】
【発明の効果】
以上のように、この発明によれば、ユーザの指定に係るロール演奏区間と、ロール開始直後の発音間隔と、ロール終了直前の発音期間とに基づいてロール開始時の発音タイミング及びそれに続く順次の発音タイミングを指示するロールデータを生成する構成にしたので、発音間隔が変化するロール演奏をユーザの意志を反映させた形で簡単に実現できる効果が得られる。
【００７９】
また、ユーザの指定するロール演奏区間の終了タイミングとその直前の発音タイミングとの間の時間間隔がユーザの指定に係るロール終了直前の発音期間と一致するようにロール演奏区間の終了タイミングの直前の発音タイミングを決定する構成にしたので、ユーザの希望する態様でロール演奏を終了できる効果がある。
【００８０】
さらに、記憶手段に記憶した自動演奏用の楽曲データに関してロール演奏区間を指定手段で指定すると共に指定に係るロール演奏区間の自動演奏用のロールデータを発音タイミング指示データを含むように生成手段で生成して記憶手段に書込む構成にしたので、所望のロール演奏区間において自動演奏用のロールデータを簡単且つ迅速に得ることができ、スムーズに自動演奏に移れる効果がある。
【００８１】
さらに、指示手段でのロール音発生の指示に応答して生成手段からのロールデータの指示する発音タイミングに従って所定の打楽器音に関するロール音信号を発生する構成にしたので、非熟練者であっても簡単な操作により自然楽器のように発音間隔が変化するロール演奏を楽しめる効果がある。
【図面の簡単な説明】
【図１】  この発明に係るロールデータ生成方法におけるロール演奏区間の指定例を示すタイムチャートである。
【図２】  この発明に係るロールデータ生成方法における発音タイミング及びステップタイムの決定例を示すタイムチャートである。
【図３】  この発明の一実施形態に係るロールデータ生成装置を備えた電子楽器の回路構成を示すブロック図である。
【図４】  自動演奏用の楽曲データのフォーマットを示す図である。
【図５】  ロールデータ生成ルーチンを示すフローチャートである。
【符号の説明】
１０：バス、１２：ＣＰＵ、１４：ＲＯＭ、１６：ＲＡＭ、１６Ａ：楽曲データ記憶部、１６Ｂ：区間データ記憶部、１６Ｃ：ＦＳＴデータ記憶部、１６Ｄ：ＬＳＴデータ記憶部、１６Ｅ：ロールデータ記憶部、１８：検出回路、２０：表示回路、２２：音源回路、２４：効果回路、２６：外部記憶装置、２８：ＭＩＤＩインターフェース、３０：通信インターフェース、３２：タイマ、３４：操作子群、３６：表示器、３８：サウンドシステム、４０：ＭＩＤＩ機器、４２：通信ネットワーク、４４：サーバコンピュータ。
【図１】
0003637782.tif 000002
【図２】
0003637782.tif 000003
【図３】
0003637782.tif 000004
【図４】
0003637782.tif 000005
【図５】
0003637782.tif 000006