(57)【特許請求の範囲】
【請求項１】
音源に対して各種機能の設定内容を変更する設定データ、楽音を発音、消音するための楽音データを含むデータを時系列に配列した自動演奏データを記憶する自動演奏データ記憶手段と、
該自動演奏データのなかで繰り返して演奏するリピート区間の開始点であるリピート開始点およびリピート区間の終了点であるリピート終了点を設定するリピート区間設定手段と、
前記リピート開始点直前に読み出される設定データを記憶する設定データ記憶手段と、
前記自動演奏データを先頭から順次読み出して音源に送信し、第１回目にリピート終了点に到達したとき、前記リピート区間内で読み出された設定データと同じ機能に対応する設定データのうちリピート開始点以前で最も近いものを検索して、このデータを前記設定データ記憶手段に記憶するとともに音源に送信したのち、リピート開始点からデータの読み出しを再開し、第２回目以後にリピート終了点に到達したとき、前記設定データ記憶手段から設定データを読み出して、このデータを音源に送信したのち、リピート開始点からデータの読み出しを再開する演奏制御手段と、
を備えたことを特徴とする自動演奏装置。
【請求項２】
音源に対して各種機能の設定内容を変更する設定データ、楽音を発音、消音するための楽音データを含むデータを時系列に配列した自動演奏データを記憶し、
該自動演奏データのなかで繰り返して演奏するリピート区間の開始点であるリピート開始点およびリピート区間の終了点であるリピート終了点を設定し、
前記自動演奏データを先頭から順次読み出して音源に送信し、第１回目にリピート終了点に到達したとき、前記リピート区間内で読み出された設定データと同じ機能に対応する設定データのうちリピート開始点以前で最も近いものを検索して、このデータを記憶するとともに音源に送信したのち、リピート開始点からデータの読み出しを再開し、第２回目以後にリピート終了点に到達したとき、前記記憶した設定データを読み出して、このデータを音源に送信したのち、リピート開始点からデータの読み出しを再開することを特徴とする自動演奏方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、楽音データや設定データを時系列に配列した自動演奏データに基づいて自動演奏を実行する自動演奏装置に関し、特に一定の区間を繰り返して演奏するリピート機能を備えた自動演奏装置に関する。
【０００２】
【従来の技術】
自動演奏装置は、楽音データや設定データを時系列に配列した自動演奏データを順次読み出して音源に送信することにより、自動演奏を実行する。楽音データはノートオンデータやノートオフデータなど楽音の発音や消音を制御するデータである。また、設定データは、音源に対して演奏の制御や音源の機能などを設定するためのデータであり、ＭＩＤＩフォーマットの場合、コントロールチェンジメッセージやシステムエクスクルーシブメッセージなどからなっている。
【０００３】
近年の音源装置は高機能化しており、多くの設定項目を適当に設定することによって多様な機能を発揮することができ、この設定項目がユーザに開放されている。したがって、自動演奏データにも多数の設定データが含まれている。音源の機能を設定する一般的な設定データであるコントロールチェンジメッセージは、ＭＩＤＩの１６チャンネル分全てを合計すると２００種類程度になり、各音源装置独自の機能を設定するシステムエクスクルーシブメッセージとして、数十から１００程度の多種類のものが用いられる。
【０００４】
【発明が解決しようとする課題】
また、自動演奏装置は、自動演奏データの先頭から最後までを通して演奏するのみでなく、所定の区間を繰り返し演奏するリピート機能を備えたものもある。リピート機能は、リピート開始点とリピート終了点とを設定し、自動演奏データの読み出しがリピート終了点に到達したとき、読み出し点をリピート開始点にジャンプさせて演奏を継続するものである。
【０００５】
読み出し点がリピート終了点からリピート開始点へジャンプしても、そのときの音源の設定はリピート終了点におけるものである。このため、リピート演奏を正常に行うためには、このときの音源の設定をリピート開始点におけるものに復元してやる必要がある。
【０００６】
従来は、この音源の設定の復元を自動演奏データの先頭から設定データを読み出して再度音源に送信することによって行っていた。しかし、この方式では、読み出すデータ量および音源に設定するデータ量が膨大であるためリピートに時間が掛かるという問題点があった。このため、従来この方式を採用している自動演奏装置では、コントロールチェンジメッセージのみ読み出して音源に送信しており、完全なパラメータの復元をできないという問題点があった。
【０００７】
一方、演奏開始時からリピート開始点までの設定データを全て記憶しておいてこれをジャンプ時に音源に送信する方式も考えられる。しかし、この方式では、全ての種類のデータについて設定内容を記憶しておく必要があるため、上記のように膨大なパラメータを設定可能な音源に対応するためには、大きなメモリ領域が必要になり、また、送信するデータ量も多いため、音源の設定に時間が掛かるという問題点があった。
【０００８】
この発明は、リピートのジャンプ時に音源の設定が容易な自動演奏装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
この出願の請求項１の発明は、音源に対して各種機能の設定内容を変更する設定データ、楽音を発音、消音するための楽音データを含むデータを時系列に配列した自動演奏データを記憶する自動演奏データ記憶手段と、該自動演奏データのなかで繰り返して演奏するリピート区間の開始点であるリピート開始点およびリピート区間の終了点であるリピート終了点を設定するリピート区間設定手段と、前記リピート開始点直前に読み出される設定データを記憶する設定データ記憶手段と、前記自動演奏データを先頭から順次読み出して音源に送信し、第１回目にリピート終了点に到達したとき、前記リピート区間内で読み出された設定データと同じ機能に対応する設定データのうちリピート開始点以前で最も近いものを検索して、このデータを前記設定データ記憶手段に記憶するとともに音源に送信したのち、リピート開始点からデータの読み出しを再開し、第２回目以後にリピート終了点に到達したとき、前記設定データ記憶手段から設定データを読み出して、このデータを音源に送信したのち、リピート開始点からデータの読み出しを再開する演奏制御手段と、を備えたことを特徴とする。
【００１０】
この出願の請求項２の発明は、音源に対して各種機能の設定内容を変更する設定データ、楽音を発音、消音するための楽音データを含むデータを時系列に配列した自動演奏データを記憶し、該自動演奏データのなかで繰り返して演奏するリピート区間の開始点であるリピート開始点およびリピート区間の終了点であるリピート終了点を設定し、前記自動演奏データを先頭から順次読み出して音源に送信し、第１回目にリピート終了点に到達したとき、前記リピート区間内で読み出された設定データと同じ機能に対応する設定データのうちリピート開始点以前で最も近いものを検索して、このデータを記憶するとともに音源に送信したのち、リピート開始点からデータの読み出しを再開し、第２回目以後にリピート終了点に到達したとき、前記記憶した設定データを読み出して、このデータを音源に送信したのち、リピート開始点からデータの読み出しを再開することを特徴とする。
【００１１】
この発明の自動演奏装置は、楽音データおよび設定データが時系列に配列されたいわゆるシーケンスデータである自動演奏データに基づいて自動演奏を実行する。自動演奏は、所定のクロックに基づいて順次自動演奏データを読み出して音源に送信する動作であり、楽音データとともに設定データも読み出されて音源に送信される。
【００１２】
そして、自動演奏データの読み出し点がリピート終了点にきたとき、リピート演奏のためにリピート開始点にジャンプするが、このとき、音源の状態をリピート開始点の状態に変更するためリピート区間（リピート開始点〜リピート終了点）で変更された設定項目のみリピート開始点の時点のものに書き換える。これ以外の設定項目についてはリピート終了点とリピート開始点とで変更がなく同じ設定内容であるため、書き換える必要がない。これにより、最小限の設定データの送信で音源の設定を変更することができ、速やかなリピート演奏が可能になる。
【００１３】
また、リピート開始点以前で最も近い設定データは、自動演奏データをリピート開始点からデータの先頭に向けて遡って検索してゆけばよい。また、この設定データを記憶しておくことにより、２回目以後のリピート時にはデータを検索する必要なくより速やかなリピート演奏が可能になる。
【００１４】
【発明の実施の形態】
図面を参照してこの発明の実施例について説明する。図１はこの発明の実施形態である自動演奏装置のブロック図である。自動演奏データ記憶手段１に記憶されている自動演奏データは曲の進行に従って楽音の発音／消音を指示する楽音データおよび音源４の機能を設定する設定データを時系列に配列したものである。楽音データのデータ形式はイベント形式、ゲートタイム形式のどちらでもよい。イベント形式は発音タイミングにノートオンデータを書き込み、消音タイミングにノートオフデータを書き込む方式である。ゲートタイム形式は、発音タイミングにこの音符の発音時間（消音タイミングまでの時間）を含むノートデータを書き込む方式である。各音符データ，設定データの時間間隔は、これらのデータの間に挿入されるデュレーションデータに書き込まれている。
【００１５】
シーケンサ２は、自動演奏データ記憶手段１に記憶されている自動演奏データを所定のクロックに従って読み出し、これを音源４に送信する。音源４は設定データが入力されたとき、この設定データを所定の機能設定レジスタにセットして自己の機能をセットアップする。また、楽音データが入力されると、このデータに基づいて楽音を発音／消音して自動演奏の楽音を発生する。
【００１６】
音源４は、シーケンサ２から設定可能な全ての設定データに対応する機能設定レジスタ群４ａを有している。シーケンサ２からリセット信号が入力されると、全ての機能設定レジスタがデフォルト値にリセットされる。また、シーケンサ２から設定データが入力されると、その設定データの種類（設定項目）に対応する機能設定レジスタにその内容（設定内容）を記憶する。設定項目は、コントロールチェンジメッセージの場合、コントロールナンバ（０〜１２０）およびチャンネル番号（０〜１５）であり、設定内容は、コントロールチェンジメッセージの場合、コントロール値（０〜１２７）である。機能設定レジスタの数、すなわち、設定項目の数は数百程度になる。
【００１７】
リピートコントローラ３は、この自動演奏装置の機能であるリピート演奏機能を制御するものであり、利用者がリピート開始点およびリピート終了点を入力するリピート区間入力手段を含んでいる。このリピート開始点およびリピート終了点の設定は、自動演奏データを読み出して自動演奏を実行しているときにリアルタイムに設定できるようにすればよい。また、自動演奏の実行中でなくても、曲の進行上の時間や小節数、拍数などで事前に設定できるようにしてもよく、また、リピート開始点、リピート終了点を指示するデータを予め自動演奏データ中に書き込んでおいてもよい。
【００１８】
このリピートコントローラ３は以下の動作を実行する。
【００１９】
１）リピート区間、すなわち、リピート開始点からリピート終了点までの間に読み出される（存在する）設定データが変更する設定項目を記憶する。なお、この設定データの設定内容を記憶する必要はない。
【００２０】
２）リピート終了点に到達すると、リピート区間内で読み出された設定データが変更した設定項目について、リピート開始点における設定内容を調べる。自動演奏データをリピート開始点からデータの先頭に向けて遡って読み出し、最初に発見された当該設定項目の設定データがリピート開始点における設定内容である。もし、当該設定項目の設定データが発見されない場合は、音源４をリセットしたときのデフォルト値がリピート開始点における設定内容となる。
【００２１】
ここで、図２を参照して、自動演奏データの構成および各設定項目の設定内容の変更について説明する。上述したように音源４は数百の設定項目を有し、それぞれを設定することによって音源に多様な動作をさせることができるが、図２では、説明を簡略化するため上記多数の設定項目のうち、Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの６種類の設定項目がデフォルト値から変更されるものとして説明する。
【００２２】
自動演奏データの先頭には、音源リセットデータおよび一部の設定項目の設定データが書き込まれている。最初にリセットデータを音源４に送信することによって、全ての設定項目（機能設定レジスタ群４ａ）の設定内容がデフォルト値にリセットされる。次に、設定データを音源４に送信することにより、対応する設定項目の設定内容を所望の値に変更することができる。自動演奏データのこれ以後の部分には、楽音データが書き込まれており、これを読み出すことによって楽音が発音され自動演奏が実行されるが、この楽音データ列のなかに必要に応じて設定データが埋め込まれている。これにより、曲の進行に応じて適当に音源４の設定内容を変更することができる。
【００２３】
同図において、たとえば、設定項目Ａについては、リセットデータによって音源４がリセットされ、設定内容がデフォルト値（ａ０）にリセットされたのち、曲がスタートする前に設定データａ１によって設定内容が（ａ１）に変更され、曲の進行にしたがって、さらに設定データａ２，ａ３によって設定内容が（ａ２）、（ａ３）に変更されている。同様に、設定項目Ｂの場合、音源リセット後、曲がスタートする前に設定データｂ１によって設定内容が（ｂ１）に変更され、曲の進行にしたがって、さらに設定データｂ２によって設定内容が（ｂ２）に変更されている。設定項目Ｃの場合、音源リセット後、曲がスタートする前に設定データｃ１によって設定内容が（ｃ１）に変更されている。設定項目Ｄの場合、音源リセット後、曲がスタートする前に設定データｄ１によって設定内容が（ｄ１）に変更され、曲の進行にしたがって、さらに設定データｄ２によって設定内容が（ｄ２）に変更されている。一方、設定項目Ｅの場合、音源のリセットによってデフォルト値（ｅ０）にリセットされたまま曲の途中で変更されていない。そして、設定項目Ｆの場合、音源リセット後、曲の途中で設定データｆ１によって設定内容が（ｆ１）に変更されている。
【００２４】
そして、上記の設定状態で、リピート開始点に到達すると、リピートコントローラ３は、それ以後に読み出される設定データの種類、すなわち、その設定データが変更する設定項目を記憶する。図２において、リピート区間中に、設定データａ４，ａ５が順次読み出され、設定項目Ａの設定内容が（ａ３）→（ａ４）→（ａ５）に変更されている。また、設定項目Ｂの場合、リピート区間中に設定データｂ３が読み出され、設定内容が（ｂ２）→（ｂ３）に変更されている。また、設定項目Ｃの場合、リピート区間中に設定データｃ２が読み出され、設定内容が（ｃ１）→（ｃ２）に変更されている。設定項目Ｄについては、リピート区間中に設定データが読み出されていないため、リピート開始点とリピート終了点で設定内容は同じ（ｄ２）である。設定項目Ｅの場合、リピート区間中に設定データｅ１が読み出され設定内容が（ｅ０）から（ｅ１）に変更されている。また、設定項目Ｆの場合、リピート区間中に設定データｆ２、ｆ１が読み出され、設定内容が（ｆ１）→（ｆ２）→（ｆ１）に変更されている。なお、この図に示していない他の多くの設定項目は、リピート開始点とリピート終了点で同じ内容である。
【００２５】
リピート区間内で上記のような設定データの読み出しがあった場合、リピートコントローラ３は、「差分」すなわち、リピート開始点とリピート終了点とで設定内容が変更された設定項目としてＡ，Ｂ，Ｃ，Ｅ，Ｆを記憶する。抽出される設定項目は数百種類のうち数個である。設定項目Ａ，Ｆについては２回の設定データの読み出しがあったが、その回数を記憶する必要はない。また、設定項目Ｆについては、２回の設定データの読み出しにより結果的にリピート開始点の設定内容に戻っているが、これは考慮しない。なぜならば、これを考慮しようとすれば、全ての設定項目についてリピート開始時点の設定内容を記憶しておき、これと比較する必要があるためである。
【００２６】
リピート開始点にジャンプしてリピート演奏を再開するまえに、上記内容の変更があった設定項目のみ（差分）についてリピート開始点における設定内容を検索する。このため、自動演奏データをリピート開始点からから遡って読み出し、最初に読み出される当該設定項目の設定データを検索する。設定項目Ａの場合、設定データａ３が最初に読み出される。これをリピート時の設定変更データとする。設定項目Ｂの場合設定データｂ２が読み出される。これをリピート時の設定変更データとする。設定項目Ｃの場合設定データｃ１が読み出される。これをリピート時の設定変更データとする。設定項目Ｄの場合設定データｄ２が最初に読み出される。これをリピート時の設定変更データとする。設定項目Ｆの場合設定データｆ１が読み出される。これをリピート時の設定変更データとする。一方、設定データＥの場合リピート開始点から遡っても自動演奏データ中には設定データが存在しない。そこで、音源リセットによって自動的に設定されるデフォルト値ｅ０をリピート時の設定変更データとする。これら設定変更データのセットを音源４に送ってリピート開始点の設定に変更するとともに、このデータセットを記憶しておく。そして、読み出し点をリピート開始点にジャンプしてリピート演奏を行う。
【００２７】
このようにして読み出された設定内容は保存され、このリピート区間が何度繰り返されても２回目以降はその設定データを音源に送るのみで即座にジャンプできるようになる。
【００２８】
図３を参照してこの自動演奏装置の動作について説明する。
【００２９】
１）  先頭から演奏を開始し、曲データを読み出して自動演奏を実行する。そして、リピート開始点が指定される。このリピート開始点は、自動演奏データの読み出しを開始してからのクロック数で記憶されるが、このときシーケンサ上で自動演奏データを指し示しているポインタも保存しておく。
【００３０】
２）  自動演奏はそのまま継続し、その間の設定データを取り込んでその設定項目を記憶する。すなわち、設定項目の差分を抽出する。
【００３１】
３）  リピート終了点の指定があると演奏を停止して、このリピート終了点のクロック数およびデータポインタを保存する。
【００３２】
４）  ２）で記憶された設定項目についてリピート開始点から遡って同じ設定項目の設定データを検索する。見つからない場合には、リセットによって設定されるデフォルト値を用い、リピート開始点に音源４の設定を戻すための設定変更データセットを作成する。
【００３３】
５）  そして、このデータセットを音源に送信して、リピート演奏をする。
【００３４】
３回目以下のリピート演奏においては、２）のリピート区間の設定変更項目の取得および４）のデータセットの作成は不要であり、リピート終了点が到来したら、データセットを音源４に送信し、リピート開始点にジャンプしてリピート演奏を行えばよい。
【００３５】
なお、この実施形態の自動演奏装置は、専用装置（いわゆるシーケンサ）として構成することもでき、パーソナルコンピュータでソフトウェアを起動して実現することもできる。専用装置の場合、上記機能を実現するプログラムはＲＯＭに記憶されており、パーソナルコンピュータで実現する場合、上記機能を実現するプログラムはハードディスクまたはＲＡＭに記憶され、該プログラムはパーソナルコンピュータに対してＣＤ−ＲＯＭやＭＯなどの記憶媒体で供給される。
【００３６】
【発明の効果】
以上のようにこの発明によれば、リピート終了点からリピート開始点に戻ってート演奏をする場合に、リピート区間内で設定内容の変更のあった設定項目のみ、すなわち、差分の設定データを検索して音源に送信するため、送信時間や音源のセットアップ時間が短くてすみ、迅速なリピート演奏が可能になる。
【００３７】
また、設定データの検索は差分のみでよいため高速な検索が可能であり、一度差分の設定データを割り出してしまえば、これを記憶しておいて２回目以後のリピート時にはこれを送信するのみでよく、より迅速なリピート演奏が可能になる。これが可能になるのは、差分のみ記憶することにより、記憶容量が少なくてすむからである。
【００３８】
また、このように差分の抽出は、変更のあった設定項目のみの抽出であるため、全ての設定項目にを対象として行うことができるため、リピート時の音源の設定の再現性がよくなる。
【図面の簡単な説明】
【図１】この発明の実施形態である自動演奏装置のブロック図
【図２】同自動演奏装置で設定される設定データの例を示す図
【図３】同自動演奏装置のリピート演奏動作の例を示す図
【符号の説明】
１…自動演奏データ記憶手段、２…シーケンサ、３…リピートコントローラ、
４…音源、４ａ…機能設定レジスタ群
【図１】
0003596285.tif 000002
【図２】
0003596285.tif 000003
【図３】
0003596285.tif 000004