(57)【要約】【課題】演奏情報（特に、オーディオデータを含む演奏情報）に従って自動演奏する自動演奏装置において、ループ（繰り返し）演奏を行う際に、操作者がループ演奏区間の長さを任意に設定でき、その任意に設定されたループ演奏区間の長さに基づいて、音楽的に適切な位置で区切られたループ演奏区間が自動的に設定される自動演奏装置を提供すること。【解決手段】本発明の自動演奏装置によれば、演奏情報に基づく自動演奏において、ループ演奏を実行する指示がされると、その指示が行われた際の演奏位置と操作者によって任意に設定されたループ演奏区間長とに基づいて、ループ演奏区間が自動的に設定され、その設定されたループ演奏区間においてループ演奏が行われる。よって、簡単な操作で手軽にループ演奏を実行することができる。【選択図】        図６
2004317819.tif 000002
【特許請求の範囲】
【請求項１】
演奏情報を記憶する記憶手段と、
その記憶手段に記憶される演奏情報に基づいて演奏を再生する再生手段と、
その再生手段による演奏の再生中、その再生中の演奏に対し、ループ演奏を指示するループ指示手段と、
前記ループ演奏のループ演奏区間の長さを任意に設定するためのループ区間長設定手段と、
前記ループ指示手段によりループ演奏が指示された場合に、その指示が行われた際の演奏位置に基づいて、前記ループ演奏におけるループ演奏区間の一端を設定する第１ループ区間端設定手段と、
その第１ループ端設定手段により設定されたループ演奏区間の一端と前記ループ区間長設定手段により設定されたループ演奏区間の長さとに基づいて、前記ループ演奏区間の他端を設定する第２ループ区間端設定手段と、
前記ループ演奏が行われている間、前記演奏の演奏位置が前記ループ演奏区間における終端に達すると、そのループ演奏区間の始端へ前記演奏位置を戻すループ手段とを備えていることを特徴とする自動演奏装置。
【請求項２】
複数のオーディオデータといずれのオーディオデータをいずれの時刻に再生するかを表すシーケンスとを含む演奏情報を記憶する記憶手段と、
その記憶手段に記憶される演奏情報に基づいて演奏を再生する再生手段と、
その再生手段による演奏の再生中、その再生中の演奏に対し、ループ演奏を指示するループ指示手段と、
そのループ指示手段によりループ演奏が指示された場合に、その指示が行われた際の演奏位置に基づいて、音楽的に適切な位置で区切られたループ演奏区間を設定するループ区間設定手段と、
前記ループ演奏が行われている間、前記演奏の演奏位置が前記ループ区間設定手段により設定されたループ演奏区間の終端に達すると、そのループ演奏区間の始端へ前記演奏位置を戻すループ手段とを備えていることを特徴とする自動演奏装置。
【請求項３】
前記ループ演奏のループ演奏区間の長さを任意に設定するためのループ区間長設定手段を備え、
前記ループ区間設定手段は、前記ループ指示手段によりループ演奏が指示された場合に、その指示が行われた際の演奏位置に基づいて前記ループ演奏区間の一端を設定する第１ループ区間端設定設定手段と、その第１ループ区間端設定手段により設定されたループ演奏区間の一端と前記ループ区間長設定手段により設定されたループ演奏区間の長さとに基づいて、前記ループ演奏区間の他端を設定する第２ループ区間端設定手段とを含むことを特徴とする請求項２記載の自動演奏装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明はオーディオデータをシーケンスデータに従って自動演奏する自動演奏装置に関し、特に、ループ（繰り返し）演奏を行う際に、ループ演奏区間長を任意に設定することにより、音楽的に適切な位置でループ演奏区間が自動的に設定される自動演奏装置に関するものである。
【０００２】
【従来の技術】従来より、楽曲を形成する各音の音高及び発音タイミングを表すと共に、該楽曲における小節線番号データを含む曲データの自動演奏中に、リピートスイッチをオン操作してリピート再生（ループ再生）実行を指示すると、予め規定された小節範囲をリピート演奏（ループ演奏）する自動演奏装置が知られている（特許文献１）。具体的には、特許文献１に記載される自動演奏装置は、自動演奏中にリピートスイッチをオン操作してリピート再生実行を指示すると、その指示時点の小節線番号データから２小節分遡った小節線番号データがリピート再生する区間の始まりの小節線番号に設定される。また一方で、該指示時点の小節線番号データから２小節分先の小節線番号データがリピート再生する区間の終わりの小節線番号に設定される。このようにリピート再生する区間の始まりと終わりとが設定されると、計４小節分のリピート演奏が行われるように構成されている。
【０００３】
また、特許文献１には、上述のような固定的な範囲（リピート再生実行の指示時点の小節線番号データに基づいた計４小節）をリピート演奏するのではなく、リピートスイッチを押下操作し続ける時間に応じて、リピート再生する範囲を可変設定できる自動演奏装置についても記載されている。
【０００４】
【特許文献１】特開２００２−２５１１８５号公報（請求項１及び３、段落［００４２］、［００５０］など）
【０００５】
【発明が解決しようとする課題】しかしながら、特許文献１に記載される自動演奏装置においてリピート演奏を行うためには、リピート区間長が４小節に規定されているため、リピート演奏のバリエーションが限定されてしまうという問題点がある。また、リピートボタンの押下操作し続ける時間に応じてリピート区間を任意に可変変更できるよう構成されたとしても、そのためには、操作者が演奏中にリピートボタンを押下操作し続けなければならないため、操作者に煩雑な操作を強いることとなる。
【０００６】
本発明は、上述した問題点を解決するためになされたものであり、演奏情報（特に、オーディオデータとシーケンスデータ（いずれのオーディオデータをいずれの時刻に再生するかを表すシーケンス）とから構成されるオーディオ演奏データを含む演奏情報）に従って自動演奏する自動演奏装置において、ループ（繰り返し）演奏を行う際に、操作者がループ演奏区間の長さを任意に設定でき、その任意に設定されたループ演奏区間の長さに基づいて、ループ演奏区間の始端と終端とが音楽的に適切な位置で自動的に設定される自動演奏装置を提供することを目的としている。
【０００７】
【課題を解決するための手段】この目的を達成するために、請求項１記載の自動演奏装置は、演奏情報を記憶する記憶手段と、その記憶手段に記憶される演奏情報に基づいて演奏を再生する再生手段と、その再生手段による演奏の再生中、その再生中の演奏に対し、ループ演奏を指示するループ指示手段と、前記ループ演奏のループ演奏区間の長さを任意に設定するためのループ区間長設定手段と、前記ループ指示手段によりループ演奏が指示された場合に、その指示が行われた際の演奏位置に基づいて、前記ループ演奏におけるループ演奏区間の一端を設定する第１ループ区間端設定手段と、その第１ループ端設定手段により設定されたループ演奏区間の一端と前記ループ区間長設定手段により設定されたループ演奏区間の長さとに基づいて、前記ループ演奏区間の他端を設定する第２ループ区間端設定手段と、前記ループ演奏が行われている間、前記演奏の演奏位置が前記ループ演奏区間における終端に達すると、そのループ演奏区間の始端へ前記演奏位置を戻すループ手段とを備えている。
【０００８】
この請求項１記載の自動演奏装置によれば、記憶手段に記憶される演奏情報に基づく演奏が再生手段により再生されている間に、ループ指示手段によりループ演奏が指示されると、第１ループ区間端設定手段により、該指示が行われた際の演奏位置に基づいて、該ループ演奏におけるループ演奏区間の一端が設定される。また、その第１ループ区間端設定手段により設定された該ループ演奏区間の一端とループ区間長設定手段により設定された該ループ演奏区間の長さとに基づいて、第２ループ区間端設定手段により、該ループ演奏区間の他端が設定される。そして、該ループ演奏が行われている間、該演奏の演奏位置が該ループ演奏区間の終端に達すると、ループ手段により、該演奏位置が該ループ演奏区間の始端へ戻される。
【０００９】
請求項２記載の自動演奏装置は、複数のオーディオデータといずれのオーディオデータをいずれの時刻に再生するかを表すシーケンスとを含む演奏情報を記憶する記憶手段と、その記憶手段に記憶される演奏情報に基づいて演奏を再生する再生手段と、その再生手段による演奏の再生中、その再生中の演奏に対し、ループ演奏を指示するループ指示手段と、そのループ指示手段によりループ演奏が指示された場合に、その指示が行われた際の演奏位置に基づいて、音楽的に適切な位置で区切られたループ演奏区間を設定するループ区間設定手段と、前記ループ演奏が行われている間、前記演奏の演奏位置が前記ループ区間設定手段により設定されたループ演奏区間の終端に達すると、そのループ演奏区間の始端へ前記演奏位置を戻すループ手段とを備えている。
【００１０】
この請求項２記載の自動演奏装置によれば、記憶手段に記憶される複数のオーディオデータといずれのオーディオデータをいずれの時刻に再生するかを表すシーケンスとを含む演奏情報に基づく演奏が再生手段により再生されている間に、ループ指示手段によりループ演奏が指示されると、該指示が行われた際の演奏位置に基づいて、ループ区間設定手段により、音楽的に適切な位置で区切られたループ演奏区間が設定される。そして、該ループ演奏が行われている間、該演奏の演奏位置が該ループ区間設定手段により設定されたループ演奏区間の終端に達すると、ループ手段により、該演奏位置が該ループ演奏区間の始端へ戻される。
【００１１】
請求項３記載の自動演奏装置は、請求項２記載の自動演奏装置において、前記ループ演奏のループ演奏区間の長さを任意に設定するためのループ区間長設定手段を備え、前記ループ区間設定手段は、前記ループ指示手段によりループ演奏が指示された場合に、その指示が行われた際の演奏位置に基づいて前記ループ演奏区間の一端を設定する第１ループ区間端設定設定手段と、その第１ループ区間端設定手段により設定されたループ演奏区間の一端と前記ループ区間長設定手段により設定されたループ演奏区間の長さとに基づいて、前記ループ演奏区間の他端を設定する第２ループ区間端設定手段とを含むものである。
【００１２】
【発明の効果】本発明の自動演奏装置によれば、演奏情報に基づく自動演奏中に、ループ演奏の指示がされると、該ループ演奏の指示がされた演奏位置に基づいてループ演奏区間の一端が自動的に設定される。また、その設定されたループ演奏区間の一端と予め任意に設定されたループ演奏区間長とに基づいてループ演奏区間が自動的に設定され、その設定されたループ演奏区間において自動ループ演奏が行われる。よって、簡単な操作で所望の演奏区間長のループ演奏を実行できる。従って、簡単な操作でバリエーション豊富なループ演奏を行うことができるという効果がある。
【００１３】
また、本発明の自動演奏装置によれば、複数のオーディオデータといずれのオーディオデータをいずれの時刻に再生するかを表すシーケンスとを含む演奏データに基づく自動演奏中に、ループ演奏の指示がされると、該ループ演奏の指示がされた演奏位置に基づいて、音楽的に適切な位置で区切られたループ演奏区間が自動的に設定され、その設定されたループ演奏区間において自動ループ演奏が行われる。よって、小節線番号のような音楽的に適切な区切りに関する情報を含まないオーディオデータを用いても、音楽的に適切な位置で区切られたループ演奏区間を設定でき、該ループ演奏区間におけるループ演奏を実行することができる。従って、楽音を機械的にサンプリングすることによって手軽に入手し得るオーディオデータを含んで構成される楽曲であっても、手軽に自動ループ演奏を行うことができるという効果がある。
【００１４】
【発明の実施の形態】以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の第１実施例における自動演奏装置１の電気的構成を概略的に示したブロック図である。
【００１５】
自動演奏装置１には、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、各種パラメータや設定項目などが表示される液晶表示装置である表示部１０４と、自動演奏装置１を動作させるための操作子群１０５と、記憶部１０６と、音源１０７と、ＤＳＰ１０８と、入出力インターフェイス（Ｉ／Ｏ）１０９と、これらの構成間を接続するバスライン１１０とが主に搭載されている。
【００１６】
ＣＰＵ１０１は、自動演奏装置１全体を制御する中央演算処理装置であり、ＲＯＭ１０２には、このＣＰＵ１０１により実行される各種の制御プログラムや、その実行の際に参照される固定値データが格納されている。ＲＡＭ１０３は、ＣＰＵ１０１で実行される制御プログラムに必要な各種レジスタ群などが設定されたワーキングエリアや、演奏ポイントレジスタや各ステータスのフラグ等のような処理中のデータを一時的に格納するテンポラリエリア等を有しランダムにアクセスできる書き換え可能なメモリである。
【００１７】
音源１０７は、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）データに応じた楽器音を生成するＭＩＤＩ音源として機能すると共に、オーディオデータにも対応し、デジタル信号のオーディオデータを取り込んでＤＳＰ１０８へ出力するよう機能する。
【００１８】
ＤＳＰ１０８は、デジタル信号のオーディオデータを処理するための演算装置（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。ＤＳＰ１０８は、ＣＰＵ１０１からの指示に基づいて記憶部１０６から音源１０７での処理を経て入力されたオーディオデータに対し、自動演奏装置１の設定状況に応じた処理を行い、楽音として放音するためにＩ／Ｏ１０９へ出力する。
【００１９】
Ｉ／Ｏ１０９は、オーディオデータ及びＭＩＤＩデータの入出力インターフェイスであり、その一部として、入力端子３０１と、出力端子３０２と、ＭＩＤＩ−ＩＮ端子３０３と、ＭＩＤＩ−ＯＵＴ端子３０４とを備えている。Ｉ／Ｏ１０９では、オーディオデータの入力時には、アナログ信号のオーディオデータからデジタル信号のオーディオデータへの変換が行われ、オーディオデータの出力（演奏）時には、デジタル信号のオーディオデータからアナログ信号のオーディオデータへの変換が行われる。
【００２０】
記憶部１０６は、演奏情報を記憶するハードディスクドライブ又はフラッシュメモリなどの不揮発性の記憶装置である。記憶部１０６に記憶される演奏情報は、オーディオデータ（波形データ）とシーケンスデータ（イベントデータ）とから構成されるオーディオ演奏データと、ＭＩＤＩデータと時間軸情報とから構成されるＭＩＤＩ演奏データとを含む。なお、オーディオデータは、オーディオ信号を時系列の振幅値として符号化したもの（例えば、ＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）方式）であり、所定のサンプリング周期でサンプリングされた振幅値が順次アドレスに記憶され、所定のテンポを有する複数小節から構成されるデータである。記憶部１０６には、ユーザによって入力又はサンプリングされた演奏情報やプリセットの演奏情報が記憶されている。
【００２１】
入力端子５０１に接続されたマイクや音響出力機器などから入力されたアナログオーディオデータは、Ｉ／Ｏ１０９においてサンプリングされデジタル化された後、この記憶部１０６のオーディオデータ領域に、ＷＡＶＥ−ＩＤを付して記憶される。オーディオデータ領域に記憶されたオーディオデータは、編集作業により、演奏トラックに割り当てるためのトラックデータとして編集され、その際、ＷＡＶＥ−ＩＤを有するオーディオデータの発音タイミング（発音開始ポイント）などのイベント情報を含むシーケンスデータ（イベントデータ）がシーケンスデータ記憶領域に記憶される。また、ＭＩＤＩ−ＩＮ端子３０３より入力されたＭＩＤＩ演奏データ（ＭＩＤＩデータ及び時間軸データ）は、ＭＩＤＩ演奏データ領域に記憶され、その際、ＭＩＤＩデータに含まれるチャンネル情報により指定された各領域に記憶される。
【００２２】
次に、図２を参照して、演奏情報（自動演奏データ）の編集作業について簡単に説明する。図２は、自動演奏装置１で自動演奏される演奏情報を編集する編集画面２００を示した図である。編集画面２００は、自動演奏装置１の表示部１０４に表示される画面であり、ウェーブリスト表示部２０１と、演奏トラック表示部２０２と、シーケンスポイント表示部２０３と、シーケンスポイントを表示するカーソル２０４と、シーケンスタイムライン表示部２０５とを主に備えている。
【００２３】
ウェーブリスト表示部２０１は、記憶部１０６に記憶されている全てのオーディオデータのＷＡＶＥ−ＩＤを、縦方向（図２上下方向）にリスト表示するための表示部である。図２には、ＷＡＶＥ−ＩＤ００５からＷＡＶＥ−ＩＤ００８までが示されているが、垂直スクロールバーを操作してウェーブリスト表示部２０１の表示内容をスクロール表示させることにより、目的のＷＡＶＥ−ＩＤを表示枠内に表示させることができる。
【００２４】
演奏トラック表示部２０２は、自動演奏データを構成する複数の演奏トラック（オーディオトラック及びＭＩＤＩトラック）を表示するための表示部である。図２には、トラック１及びトラック２のみが示されているが、垂直スクロールバーを操作して演奏トラック表示部２０２の表示内容をスクロール表示させることにより、目的のトラックを表示枠内に表示させることができる。
【００２５】
シーケンスポイント表示部２０３は、現在演奏されている、又は、現在編集されている自動演奏データの現在シーケンスポイントを数値表記するための表示部である。図２において、シーケンスポイント表示部２０３に表示されている数値「０００６−０２−０００」は、現在シーケンスポイントを「小節−拍−ティック番号」の形式で表記したものである。即ち、「６小節目の２拍目の０ティック目」のシーケンスポイントにおいて、自動演奏データの演奏又は編集（データ設定）のいずれかが実行されていることを示している。なお、この数値化されたシーケンスポイントにおけるティック番号は、各小節の先頭を「０」ティックとするティック番号である。自動演奏装置１による自動演奏中、シーケンスポイント表示部２０３に表示される現在演奏トラック表示部２０２シーケンスポイントにおいて存在するオーディオデータ及びＭＩＤＩデータが全て音源１０７に入力され、最終的に楽音として放音される。また、カーソル２０４は、シーケンスポイント表示部２０３に表示される現在シーケンスポイントの移動に応じてタイムライン上を移動する。演奏トラック表示部２０２に表示される各トラックにおいて、このカーソル２０４で示される演奏位置に存在するオーディオデータ又はＭＩＤＩデータが楽音として放音される。
【００２６】
シーケンスタイムライン表示部２０５は、自動演奏データにおけるタイムラインを表示する表示部である。シーケンスタイムライン表示部２０５に表示されるタイムラインの目盛（主目盛及び補助目盛）は拍を示し、主目盛は小節の区切りに相当する。なお、タイムラインに付されている数字は小節番号である。
【００２７】
操作者は、ウェーブリスト表示部２０１に表示される複数のＷＡＶＥ−ＩＤから任意のＷＡＶＥ−ＩＤを選択し、所定の操作により、演奏トラック表示部２０２に表示される任意のトラック上の任意の演奏位置（演奏区間）に設定することにより、自動演奏データ（演奏情報）を編集作成することができる。例えば、図２では、ＷＡＶＥ−ＩＤ００７が選択され、トラック１の４小節の先頭（１拍目）から７小節の終端までの区間に設定された状態を示している。
【００２８】
ＷＡＶＥ−ＩＤにより特定されるウェーブデータが自動演奏データ（演奏情報）として編集されると、そのウェーブデータに対し、ＷＡＶＥ−ＩＤ、格納トラック番号、イベント時刻（発音開始ポイント）、オーディオデータ長（発音の長さ）などを含むシーケンスデータが作成され、シーケンスデータ記憶領域に記憶される。例えば、上述のＷＡＶＥ−ＩＤ００７の例の場合、編集されたことにより作成されたシーケンスデータは以下のように記述される：
イベント時刻            ０００４−０１−０００
格納トラック番号        １
ＷＡＶＥ−ＩＤ          ００７
オーディオデータ長      ４（小節）
ここで、イベント時刻「０００４−０１−０００」は、イベント時刻（発音開始ポイント）が「４小節目の１拍目の０ティック目」であることを示している。また、上記例のオーディオデータ長は小節単位で表されているが、ティック、拍、サンプル数などの単位であってもよい。
【００２９】
図３は、本実施例における自動演奏装置１の正面図である。本実施例の自動演奏装置１は、図３に示すように正面視略矩形型の箱状体に形成されている。自動演奏装置１の上部側面には、入出力インターフェイス（Ｉ／Ｏ）１０９の一部を構成する入出力端子類、即ち、左から入力端子３０１、出力端子３０２、ＭＩＤＩ−ＩＮ端子３０３、ＭＩＤＩ−ＯＵＴ端子３０４が設置されている。また、自動演奏装置１の上部右側には、データ入力時やデータ設定時や演奏時に各種パラメータや各種設定項目等を表示する液晶表示装置である略矩形状の表示器１０４が設置されている。その表示器１０４の周囲には、操作子群１０５として、ループ区間長設定ボタン（ＬＯＯＰ）３０６と、設定モードの変更や決定を行うためのファンクションボタン（ＦＵＮＣ）３０７と、ループ演奏指示ボタン（ＬＯＯＰ−ＰＬＡＹ）３０９と、パラメータ値を調整するためのダイヤル３０８と、各演奏トラックの出力レベルを調整するレベル調整ボリューム３１１と、楽音の出力レベル調整ボリューム３１２と、自動演奏又は録音を停止するための停止ボタン（ＳＴＯＰ）３１３と、自動演奏を行うための再生ボタン（ＰＬＡＹ）３１４と、楽音を録音するための録音ボタン（ＲＥＣ）３１５とが設置されている。
【００３０】
ループ区間長設定ボタン３０６は、ループ演奏を行う場合のループ演奏区間の長さを小節単位又はティック単位で設定するためのボタンである。このループ区間長設定ボタン３０６が押下されると、ループ区間長設定モードとなり、表示部１０４にループ区間長設定画面が表示される。ループ区間長設定モードでは、操作者は、表示部１０４に表示されるループ区間長設定画面を見ながら、ダイヤル３０８を回転操作することにより所望するループ演奏区間の長さの値を入力する。
【００３１】
ループ演奏指示ボタン３０９は、自動演奏中におけるループ演奏のスタート又はストップを指示するためのボタンであり、押下操作される毎にスタート指示とストップ指示とが交互に切り替わるよう機能する。自動演奏中にループ演奏を開始（スタート）するためにループ演奏指示ボタン３０９が押下操作されると、その押下操作の行われた演奏ポイントとループ区間長設定ボタン３０６の操作により予め設定されたループ演奏区間長とに基づいて自動的に設定されるループ演奏区間のループ演奏を開始する。ループ演奏指示ボタン３０９をループ演奏中に再度押下操作すると、該ループ演奏は終了（ストップ）し、通常の（シーケンスデータに基づく）自動演奏が続行される。
【００３２】
レベル調整ボリューム３１１は、１〜８の番号が付された８本のレベル調整ボリュームから構成される。８本のレベル調整ボリューム３１１のいずれかが操作されると、操作されたレベル調整ボリューム３１１に対して割り当てられた演奏トラックのレベル（音量）が調整される。
【００３３】
次に、図４及び図５〜７のフローチャートを参照して、第１実施例において自動演奏装置１が実行するループ演奏について説明する。図４は、第１実施例において自動演奏装置１が実行するループ演奏の流れを模式的に示した図である。図４（ａ）は小節単位のループ演奏区間をループ演奏（小節ループ演奏）する場合を示した図であり、演奏ポイント４０１においてループ演奏指示ボタン３０９がオン操作された場合に、後述する図６のループ処理により設定された始端４０２と終端４０３との間（予め設定されたループ区間長Ａ（小節単位）のループ演奏区間）を、演奏ポイント４０４においてループ演奏指示ボタン３０９がオフ操作されるまでループ演奏される様子を模式的に示している。
【００３４】
また、図４（ｂ）は、ティック単位のループ演奏区間をループ演奏（ティックループ演奏）する場合を示した図であり、演奏ポイント４０５においてループ演奏指示ボタン３０９がオン操作された場合に、後述する図６のループ処理により設定された始端４０６と終端４０７との間（予め設定されたループ区間長Ｂ（ティック単位のループ演奏区間）を、演奏ポイント４０８においてループ演奏指示ボタン３０９がオフ操作されるまでループ演奏が行われる様子を模式的に示している。
【００３５】
図５は、本実施例の自動演奏装置１のＣＰＵ１０１で実行されるメイン処理について説明する。この処理プログラムは、電源が投入されている間、ＣＰＵ１０１によって繰り返し実行される。
【００３６】
電源が投入（ＯＮ）されると、ＣＰＵ１０１において、このメイン処理を実行するプログラムが起動し、まず、初期設定が行われる（Ｓ１０１）。この初期設定において、演奏開始ポイントが曲の先頭に設定され、また、ＲＡＭ１０３に設けられている演奏フラグ及びループフラグをオフに設定する。ここで、ＲＡＭ１０３に設けられている演奏フラグは、自動演奏装置１が演奏中であるか否かを示すフラグであり、この演奏フラグがオンであれば演奏中であり、一方、オフであれば非演奏中である。また、ループフラグは、自動演奏装置１において実行される演奏がループ演奏（繰り返し演奏）中であるか否かを示すフラグである。このループフラグがオンであれば、ループ演奏中であり、一方、オフであれば、ループ演奏中でない、即ち、通常演奏中である。なお、ループ先頭ポイント及びループ演奏区間の長さは、最新の（最後に設定された）ユーザ設定を有効とし、Ｓ１０１の初期設定においてその値が設定される。ユーザ設定が行われていなければ、Ｓ１０１の初期設定において、ループ先頭ポイントとして曲の先頭が設定され、ループ演奏区間長として４小節が設定される。
【００３７】
Ｓ１０１の処理後、演奏開始ポイント、ループ演奏区間長、ループタイプ（小節単位のループ又はティック単位のループ）が操作者（ユーザ）により設定変更されたか否かを確認する（Ｓ１０２）。ここで、操作者による設定変更があれば（Ｓ１０２：Ｙｅｓ）、変更された演奏開始ポイント、ループ演奏区間長、ループタイプを再設定し（Ｓ１０３）、Ｓ１０４の処理へ移行する。一方、Ｓ１０２の処理で確認した結果、操作者による設定変更がなければ（Ｓ１０２：Ｎｏ）、Ｓ１０３の処理をスキップしてＳ１０４の処理へ移行する。
【００３８】
Ｓ１０４の処理では、ＰＬＡＹボタン３１４が押されたか否かを確認する。Ｓ１０４の処理でＰＬＡＹボタン３１４が押されたことが確認されると（Ｓ１０４：Ｙｅｓ）、演奏開始処理が行われる（Ｓ１０５）。この演奏開始処理において、後述する図７の演奏処理のタイマ割込が設定され、割込が発生可能な状態にした上で割込が許可される。Ｓ１０５の処理により演奏開始処理が行われたら、演奏フラグをオンし（Ｓ１０６）、次いで、表示器９への表示処理やその他の操作子（出力レベル調整ボリューム３１２等）の読み込み処理等の各処理を行い（Ｓ１０７）、Ｓ１０２の処理へ移行し、このメイン処理全体を繰り返し実行する。
【００３９】
一方、Ｓ１０４の処理で確認した結果、ＰＬＡＹボタン３１４が押されていなければ（Ｓ１０４：Ｎｏ）、ＳＴＯＰボタン３１５が押されたか否かを確認する（Ｓ１０８）。Ｓ１０８の処理でＳＴＯＰボタン３１５が押されたことが確認されると（Ｓ１０８：Ｙｅｓ）、演奏停止処理が行われる（Ｓ１０９）。この演奏停止処理により、演奏処理（図７）のタイマ割込が禁止され、演奏が停止される。Ｓ１０９の処理後、演奏フラグをオフし（Ｓ１１０）、Ｓ１０７の処理へ移行する。
【００４０】
また、Ｓ１０８の処理で確認した結果、ＳＴＯＰボタン３１５が押されていなければ（Ｓ１０８：Ｎｏ）、演奏フラグがオンされているか否か、即ち、演奏中であるか否かを確認する（Ｓ１１１）。Ｓ１１１の処理で確認した結果、演奏フラグがオフ、即ち、非演奏中であれば（Ｓ１１１：Ｎｏ）、Ｓ１０７の処理へ移行する。
【００４１】
一方、Ｓ１１１の処理で確認した結果、演奏フラグがオン、即ち、演奏中であれば（Ｓ１１１：Ｙｅｓ）、次いで、ループ演奏を指示するループ演奏指示ボタンボタン（ＬＯＯＰ−ＰＬＡＹボタン）３０９が押されたか否かを確認する（Ｓ１１２）。Ｓ１１２の処理で確認した結果、ループ演奏指示ボタン３０９が押されていれば（Ｓ１１２：Ｙｅｓ）、自動演奏装置１におけるループ演奏を制御する後述のループ処理（図６）（Ｓ１１３）を実行した後、Ｓ１０７の処理へ移行する。一方、Ｓ１１２の処理で確認した結果、ループ演奏指示ボタン３０９が押されていなければ（Ｓ１１２：Ｎｏ）、ループ演奏の指示が行われていないので、Ｓ１１３の処理をスキップし、Ｓ１０７の処理へ移行する。
【００４２】
次に、図６を参照して、ループ処理（Ｓ１１３）について説明する。図６は、本実施例の自動演奏装置１のＣＰＵ１０１で実行されるループ処理（Ｓ１１３）のフローチャートである。このループ処理（Ｓ１１３）は、メイン処理（図５）のＳ１１２の処理において、演奏中（演奏フラグがオンされている状態）にループ演奏指示ボタン３０９が押されることにより実行される処理である。
【００４３】
このループ処理（Ｓ１１３）では、まず、ループフラグがオフであるか否か、即ち、ループ演奏実行中であるか否かを確認する（Ｓ２０１）。Ｓ２０１の処理で確認した結果、ループフラグがオフであれば（Ｓ２０１：Ｙｅｓ）、ループフラグをオンする（Ｓ２０２）。即ち、ループ演奏が行われていない（ループフラグがオフ）場合に、Ｓ１１２の処理（図５）でループ演奏指示ボタン３０９が押されると、ループフラグがオンされ、後述する演奏処理（図７）においてループ演奏が実行されるよう設定される。
【００４４】
Ｓ２０２の処理後、自動演奏装置１において現在設定されているループタイプが小節ループ演奏であるか否かを確認する（Ｓ２０３）。Ｓ２０３の処理で確認した結果、現在設定されているループタイプが小節ループ演奏であれば（Ｓ２０３：Ｙｅｓ）、ループ演奏指示ボタン３０９がオン操作された時点で演奏されている小節の先頭ポイント４０２を、累積ティック番号（演奏データの１小節目の先頭から累積カウントしたティック番号）として計算により求め、ループ先頭ポイントとしてＲＡＭ１０３内のループ先頭ポイントレジスタに設定する（Ｓ２０４）。
【００４５】
Ｓ２０４の処理について具体的に説明する。例えば、１拍を９６ティックとする拍データが４分の４拍子であり、ループ演奏指示ボタン３０９がオン操作されたポイント４０１の累積ティック番号が４１２８であった場合、「４１２８／（９６×４（拍））＝１０．７５」という計算によって、ポイント４０１が１０小節目に存在することを知ることができる。よって、１０小節目の先頭ポイント４０２は「９６×４（拍）×１０（小節）＝３８４０」であると算出される。
【００４６】
ここで、オーディオデータの最小単位はサンプリング周期単位で示されるサンプリングアドレスであるので、サンプリングアドレスとティック番号とを関連させる必要がある。上記の例（４分の４拍子）において、テンポ値が１２０ＢＰＳである場合、１小節あたりの（演奏）時間は「６０（秒）×４（拍）／１２０（ＢＰＳ）＝２（秒）」であり、オーディオデータのサンプリング周波数が４４．１ｋＨｚであれば、１小節あたりのサンプル数は「２（秒）×４４１００（サンプル／秒）＝８８２００（サンプル）」となる。一方、ＭＩＤＩ演奏データにおける時間情報は１ティック単位及び小節単位で記述されている。ＭＩＤＩデータと演奏データのシーケンスとの対応については公知であるため説明を省略し、以下では、オーディオデータについてのみ説明するものとする。
【００４７】
Ｓ２０４の処理でループ先頭ポイント４０２が設定されると、ループ先頭ポイント４０２から現在設定されているループ演奏区間の長さ（ループ区間長Ａ）だけ進んだループ終了ポイント４０３の累積ティック番号を計算により求め、ループ終了ポイントとしてＲＡＭ１０３内のループ終了ポイントレジスタに設定する（Ｓ２０５）。Ｓ２０５の処理において、ループ終了ポイント４０３は、ループ先頭ポイント４０２に、ループ演奏区間長として設定されている小節数に相当するティック数を加えた累積ティック番号で表される。例えば、図４（ａ）に示されるように、ループ先頭ポイント（ループ演奏区間始端）４０２の位置が１０小節目の先頭（即ち、累積ティック番号＝３８４０）であり、ループ演奏区間長（ループ区間長Ａ）が４小節である場合、ループ終了ポイント（ループ演奏区間終端）４０３は「３８４０＋９６×４（拍）×４（小節）＝５３７６」と算出される。
【００４８】
一方、Ｓ２０３の処理で確認した結果、現在設定されているループタイプがティックループ演奏であれば（Ｓ２０３：Ｎｏ）、ループ演奏指示ボタン３０９がオン操作された演奏ポイント４０５の累積ティック番号（累積ティック番号ｎ）をループ先頭ポイントとしてＲＡＭ１０３内のループ先頭ポイントレジスタに設定する（Ｓ２０６）。Ｓ２０６の処理後、Ｓ２０５の処理へ移行し、ループ終了ポイントの設定を行う。ティックループ演奏の場合、ループ演奏区間の長さはティック数で設定されているので、Ｓ２０６の処理で設定されたループ先頭ポイント４０６の累積ティック番号に、ループ演奏区間長（ループ区間長Ｂ）として設定されているティック数（本実施例では（ｍ−ｎ））を加えることにより、ループ終了ポイント４０７（累積ティック番号ｍ）が設定される。
【００４９】
なお、小節ループ演奏又はティックループ演奏のいずれにおいても、算出されたループ終了ポイントが演奏データの終了ポイントを超える位置であった場合には演奏データの終了ポイントがループ終了ポイントとして設定される。
【００５０】
Ｓ２０４〜Ｓ２０６の処理により、操作者が演奏中にループ演奏指示ボタン３０９を押すだけで、ループ演奏指示ボタン３０９の押下タイミングと操作者により予め任意に設定されたループ演奏区間長とに基づいて、ループ演奏区間が自動的に設定される。Ｓ２０５の処理後、このループ処理（Ｓ１１３）を終了する。
【００５１】
一方、Ｓ２０１の処理で確認した結果、ループフラグがオンであれば（Ｓ２０１：Ｎｏ）、現在行われているループ演奏を終了させるためにループ演奏指示ボタン３０９の押下が行われたものであるので、ループフラグをオフし（Ｓ２０７）、このループ処理（Ｓ１１３）を終了する。Ｓ２０７の処理により、ループフラグがオフされると、演奏処理（図７）ではループ演奏を行わない通常の演奏（再生）が行われる。即ち、ループ演奏中の演奏ポイント４０４（又は４０８）においてループ演奏指示ボタン３０９が押されると、演奏ポイントがループ演奏区間終端４０３（又は４０７）である演奏ポイント４０３ｂ（又は４０７ｂ）に到達しても、ループ演奏区間始端に戻されることなくシーケンスデータに従って演奏が進行する。
【００５２】
次に、図７のフローチャートを参照して、本実施例の自動演奏装置１のＣＰＵ１０１で実行される演奏処理について説明する。この演奏処理は、所定時間間隔でＣＰＵ１０１に割込をかけて処理を行うタイマ割込処理であり、演奏ポイントに設定された位置のオーディオデータに従う演奏を実行する。
【００５３】
この演奏処理では、まず、ループフラグがオンされているか否かを確認する（Ｓ３０１）。即ち、Ｓ３０１の処理では、ループ演奏中であるか否かを確認する。Ｓ３０１の処理で確認した結果、ループフラグがオンされていれば（Ｓ３０１：Ｙｅｓ）、即ち、ループ演奏中であれば、ループ終了ポイントであるか否かを確認する（Ｓ３０２）。Ｓ３０２の処理で確認した結果、Ｓ２０５の処理（図６）で設定されたループ終了ポイント４０３ａ（又は４０７ａ）であれば（Ｓ３０２：Ｙｅｓ）、演奏ポイントを、Ｓ２０４又はＳ２０６の処理（図６）で設定されたループ先頭ポイント４０２ａ（又は４０６ａ）にセットし（Ｓ３０３）、演奏ポイントのオーディオデータに従って演奏を実行する（Ｓ３０４）。一方、Ｓ３０２の処理で確認した結果、ループ終了ポイントでなければ（Ｓ３０２：Ｎｏ）、Ｓ３０４の処理へ移行し、演奏ポイントのオーディオデータに従って演奏を実行する。よって、ループフラグがオンの場合には、Ｓ３０２〜Ｓ３０３の処理により、ループ処理（図６）におけるＳ２０４〜Ｓ２０６の処理で設定されたループ演奏区間に対してループ演奏が実行される。
【００５４】
一方、Ｓ３０１の処理で確認した結果、ループフラグがオフの場合（Ｓ３０１：Ｎｏ）、即ち、ループ演奏中でない場合には、上述のようにループ演奏を行うための処理であるＳ３０２〜Ｓ３０３の処理をスキップして、Ｓ３０４の処理へ移行し、演奏ポイントのオーディオデータに従って演奏を実行する。Ｓ３０４の処理後、演奏ポイントを「１」更新し（Ｓ３０５）、この演奏処理を終了する。なお、Ｓ３０５の処理において、演奏ポイントの「１」更新により演奏データの終了ポイントを超えた場合は、演奏フラグをオフし演奏を終了する。
【００５５】
以上説明したように、本発明の第１実施例の自動演奏装置１によれば、オーディオデータとシーケンスデータとに基づく自動演奏において、ループ演奏指示ボタン３０９によりループ演奏を実行する指示がされると、その指示が行われた際の演奏位置に基づいて、該ループ演奏におけるループ演奏区間の始端が自動的に設定される。更に、その自動的に設定された始端と操作者によって任意に設定されたループ演奏区間長とに基づいて該ループ演奏区間の終端が自動的に設定され、設定された始端と終端との間においてループ演奏が行われる。よって、簡単な操作で手軽にループ演奏を実行することができる。
【００５６】
次に、図８を参照して、第２実施例について説明する。前記した第１実施例では、自動演奏装置１の通常の（シーケンスデータに基づく）自動演奏中にループ演奏指示ボタン３０９が押下操作されると、その押下操作された時点での演奏ポイントに基づいてループ演奏区間の始端を設定し、その設定された始端と予め設定されているループ演奏区間長とに基づいてループ演奏区間の終端を設定した。これに対し、第２実施例では、ループ演奏指示ボタン３０９が押下操作された時点での演奏ポイントに基づいてループ演奏区間の終端を設定し、その設定された終端から予め設定されているループ演奏区間長分の演奏ポイントを遡ることにより、ループ演奏区間の始端の演奏ポイントを設定する。以下、第２実施例の説明にあたり、前記第１実施例と同一部分には同一の符号を付してその説明を省略する。
【００５７】
図８は、第２実施例において自動演奏装置１により実行される小節単位のループ演奏区間をループ演奏（小節ループ演奏）する場合の流れを模式的に示した図である。図８は、演奏ポイント６０１においてループ演奏指示ボタン３０９がオン操作された場合に、後述する第２実施例のループ処理により、まず、小節単位のループ演奏区間の終端６０２が設定された後、予め設定されているループ区間長Ｃだけ遡ったポイントを始端６０３として設定し、その始端６０３と終端６０２との間を、演奏ポイント６０４においてループ演奏指示ボタン３０９がオフ操作されるまでループ演奏される様子を模式的に示している。
【００５８】
第２実施例のループ処理は、第１実施例のループ処理（図６）と以下の３点が異なる。まず第１に、第１実施例のループ処理のＳ２０４の処理では、ループ演奏指示ボタン３０９が押下された時点に演奏されている小節の先頭ポイントを計算により求め、計算により求められた先頭ポイントを、ループ先頭ポイントとしてＲＡＭ１０３内のループ先頭ポイントレジスタに設定した。第２実施例では、上記Ｓ２０４の処理に代え、Ｓ２１４の処理として「ループ演奏指示ボタン３０９がオン操作された時点で演奏されている小節の終了ポイント６０２を、累積ティック番号として計算により求め、ループ終了ポイントとしてＲＡＭ１０３内のループ終了ポイントレジスタに設定する」処理が行われる。
【００５９】
第２に、第１実施例のループ処理のＳ２０５の処理に代えて、Ｓ２１５の処理として、「Ｓ２１４の処理でループ終了ポイント６０２が設定されると、そのループ終了ポイント６０２から現在設定されているループ演奏区間の長さ（ループ区間Ｃ）だけ遡ったポイント６０３を計算により求め、ループ先頭ポイントとしてＲＡＭ１０３内のループ先頭ポイントレジスタに設定する」処理が行われる。
【００６０】
第３に、第１実施例のループ処理のＳ２０６の処理に代えて、Ｓ２１６の処理として、「ループ演奏指示ボタン３０９がオン操作された演奏ポイントの累積ティック番号をループ終了ポイントとしてＲＡＭ１０３内のループ先頭ポイントレジスタに設定する」処理が行われる。Ｓ２１６の処理後、Ｓ２１５の処理へ以降し、ループ先頭ポイントの設定を行う。ティックループ演奏の場合、ループ演奏区間の長さはティック数で設定されているので、Ｓ２１６の処理で設定されたループ終了ポイントの累積ティック番号に、ループ演奏区間長として設定されているティック数を加えることにより、ループ終了ポイントが設定される。
【００６１】
Ｓ２１４〜Ｓ２１６の処理により、操作者が演奏中にループ演奏指示ボタン３０９を押すだけで、ループ演奏指示ボタン３０９の押下タイミングと操作者により予め任意に設定されたループ演奏区間長とに基づいて、ループ演奏区間が自動的に設定される。そして、演奏処理（図７）より、ループ演奏指示ボタン３０９がオフ操作されるまで、このＳ２１４〜Ｓ２１６の処理で設定されたループ演奏区間がループ演奏される。
【００６２】
なお、第２実施例の小節ループ演奏又はティックループ演奏のいずれにおいても、算出されたループ先頭ポイントが演奏データの先頭ポイント（１小節目の先頭ポイント）を超える位置であった場合には演奏データの先頭ポイントがループ先頭ポイントとして設定される。
【００６３】
以上説明したように、第２実施例の自動演奏装置によれば、オーディオデータといずれのオーディオデータをいずれの時刻に再生するかを表すシーケンス（シーケンスデータ）とに基づく自動演奏において、ループ演奏指示ボタン３０９によりループ演奏を実行する指示がされると、その指示が行われた際の演奏位置に基づいて、該ループ演奏におけるループ演奏区間の終端が自動的に設定される。更に、その自動的に設定された終端と操作者によって任意に設定されたループ演奏区間長とに基づいて該ループ演奏区間の始端が自動的に設定され、設定された始端と終端との間においてループ演奏が行われる。よって、簡単な操作で手軽にループ演奏を実行することができる。
【００６４】
なお、請求項１又は２記載の記憶手段としては記憶部１０６が該当する。請求項１又は２に記載の再生手段としては演奏処理（図７）におけるＳ３０４の処理が該当する。請求項１又は２に記載のループ手段としては演奏処理（図７）におけるＳ３０２〜Ｓ３０３の処理が該当する。請求項１又は３記載のループ区間長設定手段としては、メイン処理（図４）のＳ１０３の処理における「操作者によるループ区間長の設定」が該当する。
【００６５】
請求項１又は３記載の第１ループ区間端設定手段としては、図６のループ処理（Ｓ１１３）におけるＳ２０４又はＳ２０６の処理、あるいは、第２実施例における「ループ演奏指示ボタン３０９が押下された時点に演奏されている小節の終了ポイントを計算により求め、計算により求められた終了ポイントを、ループ終了ポイントとしてＲＡＭ１０３内のループ終了ポイントレジスタに設定する」処理（Ｓ２１４）又は「現在の演奏ポイント（現在のティック）をループ終了ポイントとしてＲＡＭ１０３内のループ先頭ポイントレジスタに設定する」処理（Ｓ２１６）が該当する。また、請求項１又は３記載の第２ループ区間端設定手段としては、図６のループ処理（Ｓ１１３）におけるＳ２０５の処理、又は、第２実施例における「Ｓ２１４の処理でループ終了ポイントが設定されると、そのループ終了ポイントから現在設定されているループ演奏区間長遡ったポイントを計算により求め、計算により求められたポイントをループ先頭ポイントとしてＲＡＭ１０３内のループ先頭ポイントレジスタに設定する」処理（Ｓ２１５）が該当する。
【００６６】
請求項２記載のループ区間設定手段としては、図６のループ処理（Ｓ１１３）におけるＳ２０４〜Ｓ２０６の処理、及び、第２実施例のループ処理におけるＳ２１４〜Ｓ２１６の処理が該当する。
【００６７】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定される物ではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００６８】
例えば、上記実施例では、ティックループ演奏の場合に設定するループ演奏区間の長さをティック単位で設定したが、これを小節単位で設定してもよい。
【００６９】
また、上記実施例では、演奏処理（図７）のＳ３０４の処理において、演奏ポイントにおけるオーディオデータに従って演奏を実行するよう構成したが、ループ演奏中（ループフラグがオンの場合）において、操作者が、指定されたパートの発音をミュートとするよう設定した場合には、ミュート指定されたパートを発音しない（ミュートする）ように構成しても良い。
【図面の簡単な説明】
【図１】本発明の第１実施例における自動演奏装置の電気的構成を概略的に示したブロック図である。
【図２】自動演奏データを編集する編集画面を示した図である。
【図３】自動演奏装置の正面図である。
【図４】第１実施例の自動演奏装置で実行されるループ演奏の流れを模式的に示した図であり、（ａ）は、小節ループ演奏の場合を示した図であり、（ｂ）は、ティックループ演奏の場合を示した図である。
【図５】ＣＰＵにより実行されるメイン処理のフローチャートである。
【図６】ＣＰＵにより実行されるループ処理処理のフローチャートである。
【図７】ＣＰＵにより実行される演奏処理のフローチャートである。
【図８】第２実施例の自動演奏装置で実行される小節ループ演奏の流れを模式的に示した図である。
【符号の説明】
１                        自動演奏装置
１０１                    ＣＰＵ
１０６                    記憶部（記憶手段）
２０９                    ループ演奏指示ボタン（ループ指示手段）
【図１】
2004317819.tif 000003
【図２】
2004317819.tif 000004
【図３】
2004317819.tif 000005
【図４】
2004317819.tif 000006
【図５】
2004317819.tif 000007
【図６】
2004317819.tif 000008
【図７】
2004317819.tif 000009
【図８】
2004317819.tif 000010