(57)【要約】【課題】ビギナーユーザでも意図した通りに、音楽的に違和感無く演奏効果を生じさせ得る自動演奏装置を提供する。【解決手段】ＣＰＵ１３は、複数のトラックの中でデフォルトトラックを演奏時間に同期して再生させ、再生停止中のトラックの中から再生を開始する対象トラックを指定すると、対象トラック演奏時間をゼロリセットすると共に、１小節長ｔ＿ｍと、次小節タイミングＴ１−対象トラックを指定した時点の演奏時間との比に応じた再生レートに従ってレート加算される対象トラック演奏時間に同期して対象トラックのシーケンスデータを次小節タイミングＴ１まで早送りで再生させ、対象トラック演奏時間が次小節タイミングＴ１に到達すると、対象トラックＴｒａｃｋ（ｎ）を演奏時間ＴＣＴに同期して再生させる。【選択図】図５
2018040825.tif 000002
【特許請求の範囲】
【請求項１】
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生する第１の再生部と、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定するトラック指定部と、
前記区間の区間長と前記トラック指定部により指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生する第２の再生部と
を備える自動演奏装置。
【請求項２】
前記第２の再生部は、前記或る区間の次区間から、前記第１の再生部により再生される前記トラックのシーケンスデータに同期して前記対象トラックのシーケンスデータを再生する、請求項１に記載の自動演奏装置。
【請求項３】
前記第２の再生部は、前記トラック指定部により対象トラックが指定されたタイミングが、前記第１の再生部が再生している前記トラックのトラックデータの現区間の区間先頭から所定時間内の場合に、前記対象トラックのシーケンスデータの前記或る区間を早送り再生する請求項１乃至２の何れかに記載の自動演奏装置。
【請求項４】
前記第２の再生部は、前記対象トラックのシーケンスデータの曲頭区間を早送り再生する、請求項１乃至３の何れかに記載の自動演奏装置。
【請求項５】
前記第２の再生部は、前記第１の再生部が再生している前記トラックのシーケンスデータの現区間に対応する前記対象トラックのシーケンスデータの現区間を早送り再生する、請求項１乃至３の何れかに記載の自動演奏装置。
【請求項６】
自動演奏装置に用いられる自動演奏方法であって、
前記自動演奏装置が、
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生しておき、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定し、
前記区間の区間長と指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生する
ことを特徴とする自動演奏方法。
【請求項７】
自動演奏装置に搭載されるコンピュータに、
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生する第１の再生ステップと、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定するトラック指定ステップと、
前記区間の区間長と前記トラック指定ステップにより指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生する第２の再生ステップと
を実行させることを特徴とするプログラム。
【請求項８】
演奏入力操作に応じた演奏入力情報を発生する演奏入力部と、
前記請求項１乃至５の何れかに記載の自動演奏装置と、
前記演奏入力部が発生する演奏入力情報に応じた楽音を形成すると共に、前記自動演奏装置からの再生指示に従った演奏音を発生する音源部と、
を具備することを特徴とする電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビギナーユーザでも意図した通りに、音楽的に違和感無く演奏効果を生じさせたり、音楽的に重要なアタック音を発音させたりする自動演奏装置、自動演奏方法、プログラムおよび電子楽器に関する。
【背景技術】
【０００２】
シーケンサと呼ばれ、曲を構成する各音符の音高や発音タイミングを表すシーケンスデータを演奏パート（楽器パート）に対応させた複数のトラック毎にメモリ記憶しておき、そのメモリに記憶された各トラック毎のシーケンスデータを、曲のテンポに同期して順次読み出して再生（自動演奏）する自動演奏装置が知られている。この種の装置として、例えば特許文献１には、一つのトラックにドラム音色と非ドラム音色とを混在させたシーケンスデータを再生可能にした自動演奏装置が開示されている。
【０００３】
ところで、近年では、例えばライブなどの音楽イベントのシーンにおいて自動演奏装置を用いることも少なくなく、特にダンスミュージックの分野ではユーザの演奏の「ノリ」に応じて、自動演奏中の複数トラックの内、所望の演奏パートのトラックの再生をオンオフさせる奏法が知られている。
【０００４】
具体的には、ユーザにより指定された対象トラックの再生をトラックオフで停止させ、一方、対象トラックのシーケンスデータをトラックオンされたタイミングに応じて再生し始めるトラック・オンオフ機能を備えた自動演奏装置において、トラックオフされた対象トラック以外の他のトラックを再生中に、当該対象トラックをトラックオンして再生を開始させ、これにより他のトラックで再生中の演奏音と対象トラックで再生開始される演奏音との「ズレ」を演奏効果として生じさせる奏法である。
【０００５】
また、各トラック毎に再生される演奏音を、消音／発音させるミュート・オンオフ機能を備えた自動演奏装置では、複数のトラックの中からユーザにより指定された対象トラックをミュート・オンして再生される演奏音を消音（トラックオフに相当）させたり、ミュート・オフして再生される演奏音を発音（トラックオンに相当）させたりする奏法も知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１６９５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上述したトラック・オンオフ機能を備えた自動演奏装置において、他のトラックで再生中の演奏音と対象トラックで再生される演奏音との「ズレ」を演奏効果として生じさせる奏法では、以下に述べる問題が生じる。これについて図１０を参照して説明する。
【０００８】
図１０は、演奏パート（楽器パート）に対応させた複数のトラック（１）〜（Ｎ）のシーケンスデータ（４分の４拍子）を、曲頭を始点として演奏時間ＴＣＴ（横軸）に対応する時系列順に図示したものである。これら複数のトラック（１）〜（Ｎ）の中でユーザが指定する対象トラック（ｎ）以外を他のトラックと称す。
【０００９】
図１０に図示するように、ユーザにより指定された対象トラック（ｎ）をトラックオフの状態に設定しておき、当該対象トラック（ｎ）を除く他のトラックについては曲頭からシーケンスデータを再生し始めたとする。この場合、他のトラックでは第１小節のシーケンスデータが先頭から再生され、一方、対象トラック（ｎ）ではトラックオフ状態なので第１小節は再生されない。
【００１０】
そして、ユーザが第２小節の先頭で対象トラック（ｎ）をトラックオンさせようとしたものの、実際にはオンするタイミングが遅れてしまい第２小節１拍目でトラックオンしたとする。そうすると、対象トラック（ｎ）では、第２小節１拍目のシーケンスデータｅ（ｎ）が再生されず、２拍目のシーケンスデータｆ（ｎ）から再生を開始する。すると、他のトラックで再生中の演奏音に対し、対象トラック（ｎ）で再生される演奏音が１拍分ずれてしまい、これにより音楽的に違和感が生じて演奏効果を損ねてしまうという問題が生じる。
【００１１】
また、前述したミュート・オンオフ機能を備えた自動演奏装置において、ミュート・オフして再生される演奏音を発音（トラックオンに相当）させる場合に、意図したタイミングより遅れてしまうと、例えば音楽的に重要なアタック音が消えてしまう等、とりわけビギナーユーザには意図した通りにトラックオンオフさせることが難しいという問題もある。
【００１２】
すなわち、以上説明した内容を換言すれば、従来の自動演奏装置では、トラックオンするタイミングがずれると、音楽的に違和感が生じて演奏効果を損ねたり、音楽的に重要なアタック音が消えてしまう等、とりわけビギナーユーザには意図した通りにトラックオンオフさせることが難しいという弊害がある。
【００１３】
本発明は、このような事情に鑑みてなされたもので、ビギナーユーザでも意図した通りに、音楽的に違和感無く演奏効果を生じさせたり、音楽的に重要なアタック音を発音させたりすることができる自動演奏装置、自動演奏方法、プログラムおよび電子楽器を提供することを目的としている。
【課題を解決するための手段】
【００１４】
本発明の自動演奏装置は、
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生する第１の再生部と、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定するトラック指定部と、
前記区間の区間長と前記トラック指定部により指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生する第２の再生部と、
を備えることを特徴とする。
【００１５】
本発明の自動演奏方法は、前記自動演奏装置が、
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生しておき、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定し、
前記区間の区間長と指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生することを特徴とする。
【００１６】
本発明のプログラムは、自動演奏装置に搭載されるコンピュータに、
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生する第１の再生ステップと、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定するトラック指定ステップと、
前記区間の区間長と前記トラック指定ステップにより指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生する第２の再生ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明では、ビギナーユーザでも意図した通りに、音楽的に違和感無く演奏効果を生じさせたり、音楽的に重要なアタック音を発音させたりすることが出来る。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態による電子楽器１００の電気的構成を示すブロック図である。
【図２】図２（ａ）はＲＯＭ１４のデータ構成を示すメモリマップ、図２（ｂ）はＲＡＭ１５に格納される主要レジスタ・フラグデータおよびシーケンスデータの構成を示すメモリマップである。
【図３】図３（ａ）はＣＰＵ１３が実行するメインルーチンの動作を示すフローチャート、図３（ｂ）はＣＰＵ１３が実行するスイッチ処理の動作を示すフローチャートである。
【図４】ＣＰＵ１３が実行する第１実施形態による自動演奏処理の動作を示すフローチャートである。
【図５】第１実施形態による自動演奏処理の具体的な動作の一例を説明するための図である。
【図６】第２実施形態による電子楽器１００のＲＡＭ１５に格納される主要レジスタ・フラグデータおよびシーケンスデータの構成を示すメモリマップである。
【図７】ＣＰＵ１３が実行する第２実施形態による自動演奏処理の動作を示すフローチャートである。
【図８】ＣＰＵ１３が実行する第２実施形態による自動演奏処理の動作を示すフローチャートである。
【図９】第２実施形態による自動演奏処理の具体的な動作の一例を説明するための図である。
【図１０】従来例の課題を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．構成
図１は、本発明の第１実施形態による電子楽器１００の全体構成を示すブロック図である。この図において、鍵盤１０は演奏入力操作（押離鍵操作）に応じたキーオン／キーオフ信号、鍵番号およびベロシティ等からなる演奏入力情報を発生する。鍵盤１０が発生する演奏入力情報は、ＣＰＵ１３においてＭＩＤＩ形式のノートオン／ノートオフイベントに変換された後、音源部１６に供給される。また、鍵盤１０では、所定鍵域における複数の鍵の鍵スイッチが後述の操作部１１に含まれるトラックオンオフスイッチ（１）〜（Ｎ）として機能する。
【００２０】
操作部１１は、装置電源をパワーオン／パワーオフする電源スイッチの他、例えば自動演奏する曲を選択する曲選択スイッチ、自動演奏の開始・停止を指示するスタート・ストップスイッチ、自動演奏する各演奏パート（楽器パート）に相当する複数のトラックにそれぞれアサインされる複数の鍵の鍵スイッチから構成され、該当トラックのオン（再生開始）・オフ（再生停止）を指示する上記トラックオンオフスイッチ（１）〜（Ｎ）等の各種操作スイッチを備え、これら各スイッチ操作に応じた種類のスイッチイベントを発生する。操作部１１が発生する各種スイッチイベントはＣＰＵ１３に取り込まれる。
【００２１】
なお、上述したスタート・ストップスイッチおよびトラックオンオフスイッチ（１）〜（Ｎ）は、押下操作される毎にオン／オフの状態が交互に変化する所謂トグルスイッチとして機能する。したがって、押下操作は、オン状態に変化して開始を指示するオン操作と、オフ状態に変化して停止を指示するオフ操作とに分かれる。表示部１２は、カラー液晶表示パネルおよび表示ドライバ等から構成され、ＣＰＵ１３から供給される表示制御信号に応じて、楽器各部の設定状態や動作状態などを画面表示する。
【００２２】
ＣＰＵ１３は、操作部１１から供給される各種スイッチイベントに基づき装置各部の動作状態を設定する他、鍵盤１０から供給される演奏入力情報に基づき音源部１６に楽音波形データＷの発生を指示したり、スタート・ストップスイッチの押下操作に応じて音源部１６に自動演奏の開始・停止を指示したりする。
【００２３】
また、ＣＰＵ１３は、自動演奏進行中にトラックオンオフスイッチがオン操作されたタイミングに応じて、対象トラックの再生形態を制御すると共に、制御された再生形態に従って当該対象トラックに対応する演奏パート（楽器パート）の再生を音源部１６に指示し、一方、トラックオンオフスイッチのオフ操作に応じて、対象トラックに対応する演奏パート（楽器パート）の再生停止を音源部１６に指示する。こうした本発明の要旨に係るＣＰＵ１３の特徴的な処理動作、すなわち自動演奏処理の動作については追って詳述する。
【００２４】
ＲＯＭ１４は、図２（ａ）に図示するように、プログラムエリアＰＡおよび曲データエリアＭＤＡを備える。ＲＯＭ１４のプログラムエリアＰＡには、ＣＰＵ１３にロードされる各種制御プログラムを記憶する。各種制御プログラムとは、後述するメインルーチンと、当該メインルーチンからコールされるスイッチ処理や自動演奏処理を含む。ＲＯＭ１４の曲データエリアＭＤＡには、複数の曲のシーケンスデータＳＤ（１）〜ＳＤ（Ｎ）が記憶される。これら複数の曲のシーケンスデータＳＤ（１）〜ＳＤ（Ｎ）は、前述した曲選択スイッチ操作に応じて、自動演奏に供する曲データとしていずれかが選択される。
【００２５】
ＲＡＭ１５は、図２（ｂ）に図示するように、シーケンスデータエリアＳＤＡおよびワークエリアＷＡを備える。ＲＡＭ１５のシーケンスデータエリアＳＤＡには、曲選択スイッチ操作で選択された曲のシーケンスデータＳＤ（ｎ）が、ＲＯＭ１４の曲データエリアＭＤＡから読み出されて格納される。
【００２６】
シーケンスデータＳＤ（ｎ）は、ヘッダＨＤ、トラックＴｒａｃｋ（０）、トラックＴｒａｃｋ（１）〜（Ｎ）から構成される。ヘッダＨＤには、データ形式を示すフォーマットや分解能を表すタイムベース等が格納される。トラックＴｒａｃｋ（０）には、曲名、テンポ（ＢＰＭ）および拍子等が格納される。曲の各演奏パート（楽器パート）に対応させたトラックＴｒａｃｋ（１）〜（Ｎ）には、それぞれ対応する演奏パートを構成する各音符の音高や発音タイミングを表すシーケンスデータＳＤが格納される。
【００２７】
シーケンスデータＳＤは、前イベントとの差分時間により現在のイベントＥＶＥＮＴのタイミングを表すデルタタイムΔＴと、発音する音高又は消音する音高を表すイベントＥＶＥＮＴとを一組とし、それを曲進行に対応する時系列順にアドレッシングしたものであって、その終端には曲の終りを示すＥＮＤデータが設けられる。
【００２８】
ＲＡＭ１５のワークエリアＷＡには、ＣＰＵ１３の処理に用いられる各種レジスタ・フラグデータが一時記憶される。図２（ｂ）には、本発明の要旨に係る主要なレジスタ・フラグデータを図示している。この図において、スタート・ストップフラグＳＴＦは、前述したスタート・ストップスイッチの押下操作に応じて反転されるフラグであり、「１」となった場合に自動演奏開始（又は自動演奏中）を表し、「０」となった場合に自動演奏停止を表す。
【００２９】
トラックオンオフフラグＴＯＮＦ（１）〜ＴＯＮＦ（Ｎ）は、前述したトラックオンオフスイッチ（１）〜（Ｎ）、すなわち自動演奏する各演奏パート（楽器パート）に相当する各トラックＴｒａｃｋ（１）〜Ｔｒａｃｋ（Ｎ）にそれぞれアサインされた鍵スイッチの押下操作に応じて反転されるフラグであり、「１」となった場合に対応する演奏パート（楽器パート）の再生開始（又は再生中）を表し、「０」となった場合に対応する演奏パート（楽器パート）の再生停止を表す。
【００３０】
演奏時間ＴＣＴは、スタート・ストップフラグＳＴＦが「１」となった時点、つまり曲頭からの経過時間を計時するタイマカウンタである。なお、演奏時間ＴＣＴは、図示されていない公知のタイマ割り込み処理によるＴｉｃｋ累算にて計時される。対象トラック演奏時間ＤＣＴ（１）〜ＤＣＴ（Ｎ）は、各演奏パート（楽器パート）に対応付けられた各トラックＴｒａｃｋ（１）〜Ｔｒａｃｋ（Ｎ）毎の演奏時間を計時するタイマカウンタである。
【００３１】
フラグＯＳＦ（１）〜ＯＳＦ（Ｎ）は、自動演奏する各演奏パート（楽器パート）に相当する各トラックＴｒａｃｋ（１）〜Ｔｒａｃｋ（Ｎ）において、後述する再生レートＲａｔｅで再生中に「１」、それ以外では「０」となるフラグである。デフォルトトラック番号ＤＮは、自動演奏開始時点において、前述のトラックオンオフスイッチ操作により再生を開始したトラックＴｒａｃｋが存在しない場合に、一意的に再生（もしくは再生するが発音させずにミュート）するトラックの番号を表す。
【００３２】
なお、後述する動作説明では、少なくともデフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）を含み、演奏時間ＴＣＴに同期して再生するトラックを「他のトラック」と称する。また、この「他のトラック」と対比される「対象トラック」とは、オン操作されたトラックオンオフスイッチ（ｎ）に対応付けられ、対象トラック演奏時間ＤＣＴ（ｎ）に同期して再生するトラックＴｒａｃｋ（ｎ）を指す。
【００３３】
また、本実施形態では、説明の簡略化を図る為、デフォルトトラック番号ＤＮで単一のトラックを指定する態様としたが、これに限らず、複数のデフォルトトラック番号ＤＮ１，ＤＮ２，…，ＤＮｎを設けて複数のトラックを指定する態様であっても構わない。さらにデフォルト設定する方式もユーザが任意に設定する方式や、ファクトリープリセットされる方式としても構わない。
【００３４】
次に、再び図１を参照して電子楽器１００の構成について説明を進める。図１において、音源部１６は、周知の波形メモリ読み出し方式にて構成される複数の発音チャンネルを備え、ＣＰＵ１３から供給され、演奏入力情報に基づくノートオン／ノートオフイベントに従って楽音データを発生する他、自動演奏進行に応じてＣＰＵ１３がＲＡＭ１５のシーケンスデータエリアＳＤＡから読み出す各トラックＴｒａｃｋ（１）〜（Ｎ）のシーケンスデータＳＤを再生して各トラック毎の演奏音データを発生する。サウンドシステム１７は、音源部１６から出力される楽音データ／演奏音データを、アナログ形式の楽音信号／演奏音信号に変換し、当該楽音信号／演奏音信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカ（不図示）から発音させる。
【００３５】
Ｂ．動作
次に、上記構成による電子楽器１００の動作として、ＣＰＵ１３が実行するメインルーチン、当該メインルーチンからコールされるスイッチ処理および自動演奏処理の各動作について図３〜図６を参照して説明する。
【００３６】
（１）メインルーチンの動作
図３（ａ）は、ＣＰＵ１３が実行するメインルーチンの動作を示すフローチャートである。ＣＰＵ１３は、電子楽器１００のパワーオンに応じてメインルーチンを実行すると、先ず図３（ａ）に図示するステップＳＡ１に処理を進め、ＲＡＭ１５の各種レジスタ・フラグを初期化するイニシャライズ処理を実行する。そして、ＣＰＵ１３は、ステップＳＡ２に処理を進め、スイッチ処理を実行する。
【００３７】
スイッチ処理では、後述するように、ＣＰＵ１３がユーザの曲選択スイッチ操作に応じて選択された曲のシーケンスデータＳＤをＲＯＭ１４から読み出してＲＡＭ１５のシーケンスデータエリアＳＤＡに転送したり、ユーザによるスタート・ストップスイッチの押下操作に応じてスタート・ストップフラグＳＴＦを反転させる他、ユーザによるトラックオンオフスイッチ（ｎ）の押下操作に応じて、当該トラックオンオフスイッチ（ｎ）に対応付けられたオンオフフラグＴＯＮＦ（ｎ）を反転させる。
【００３８】
次いで、ステップＳＡ３に処理を進めると、ＣＰＵ１３は自動演奏処理を実行する。自動演奏処理では、ユーザのスタート・ストップスイッチ操作に応じて、スタート・ストップフラグＳＴＦが「１」にセットされると、演奏パート（楽器パート）に対応させた複数のトラックＴｒａｃｋ（１）〜（Ｎ）の中でデフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）を演奏時間ＴＣＴに同期して再生させる一方、各トラックＴｒａｃｋ（１）〜（Ｎ）に対応付けられたトラックオンオフスイッチ（１）〜（Ｎ）について、オン操作又はオフ操作の有無を検出する。
【００３９】
オフ操作されたトラックオンオフスイッチ（ｎ）が有れば、それに対応付けられた対象トラックＴｒａｃｋ（ｎ）の再生を停止させる。オン操作されたトラックオンオフスイッチ（ｎ）が有れば、それに対応付けられた対象トラックＴｒａｃｋ（ｎ）の対象トラック演奏時間ＤＣＴ（ｎ）をゼロリセットすると共に、１小節長ｔ＿ｍと、次小節タイミングＴ１−トラックオンオフスイッチ（ｎ）がオン操作された時点の演奏時間ＴＣＴとの比に応じた再生レートＲａｔｅに従ってレート加算される対象トラック演奏時間ＤＣＴ（ｎ）に同期して対象トラックＴｒａｃｋ（ｎ）を次小節タイミングＴ１まで早送りで再生させる。
【００４０】
そして、対象トラック演奏時間ＤＣＴ（ｎ）が次小節タイミングＴ１に到達すると、対象トラックＴｒａｃｋ（ｎ）を演奏時間ＴＣＴに同期して再生させる。この結果、従来のように、トラックオンするタイミングがずれてしまい音楽的に違和感が生じて演奏効果を損ねてしまうという弊害を回避し、ビギナーユーザでも意図した通りに、音楽的に違和感無く演奏効果が得られるようになっている。
【００４１】
この後、ＣＰＵ１３は、ステップＳＡ４に処理を進め、例えば鍵盤１０の押離鍵操作に応じて発生する演奏入力情報をＭＩＤＩ形式のノートオン／ノートオフイベントに変換し、これを音源部１６に供給して発音・消音指示する処理や、発生した楽音にユーザ指定のエフェクトを付与させる等の、その他の処理を実行した後、上記ステップＳＡ２に処理を戻す。以後、電子楽器１００がパワーオフされるまで上記ステップＳＡ２〜ＳＡ４を繰り返し実行する。
【００４２】
（２）スイッチ処理の動作
図３（ｂ）は、ＣＰＵ１３が実行するスイッチ処理の動作を示すフローチャートである。前述したメインルーチンのステップＳＡ２（図３（ａ）参照）を介してスイッチ処理が実行されると、ＣＰＵ１３は図３（ｂ）に図示するステップＳＢ１に進み、曲選択スイッチのオン操作の有無を判断する。ユーザにより曲選択スイッチがオン操作されると、上記ステップＳＢ１の判断結果は「ＹＥＳ」になり、ＣＰＵ１３はステップＳＢ２に処理を進め、曲選択スイッチの操作で選択された曲のシーケンスデータＳＤをＲＯＭ１４の曲データエリアＭＤＡ（図２参照）から読み出してＲＡＭ１５のシーケンスデータエリアＳＤＡに転送した後、後述のステップＳＢ１０に処理を進める。
【００４３】
これに対し、曲選択スイッチがオン操作されなければ、上記ステップＳＢ１の判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＢ３に処理を進め、スタート・ストップスイッチの押下操作の有無を判断する。ユーザによりスタート・ストップスイッチが押下操作されると、判断結果は「ＹＥＳ」になり、ＣＰＵ１３はステップＳＢ４に処理を進め、スタート・ストップフラグＳＴＦを反転させた後、後述のステップＳＢ１０に処理を進める。
【００４４】
一方、スタート・ストップスイッチが押下操作されなければ、上記ステップＳＢ３の判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＢ５に処理を進め、ポインタｎに初期値「１」をセットする。続いて、ステップＳＢ６に進むと、ＣＰＵ１３はポインタｎで指定されるトラックオンオフスイッチ（ｎ）の押下操作の有無を判断する。押下操作されていなければ、判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＢ８に処理を進め、ポインタｎをインクリメントして歩進させた後、ステップＳＢ９に処理を進める。ステップＳＢ９に進むと、ＣＰＵ１３は歩進されたポインタｎがトラックの数Ｎを超えたか否かを判断する。歩進されたポインタｎがトラックの数Ｎを超えていなければ、判断結果は「ＮＯ」になり、上記ステップＳＢ６に処理を戻す。
【００４５】
そして、歩進されたポインタｎで指定されるトラックオンオフスイッチ（ｎ）が押下操作されたとする。そうすると、上記ステップＳＢ６の判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＢ７に処理を進め、歩進されたポインタｎで指定されるトラックオンオフフラグＴＯＮＦ（ｎ）を反転する。この後、ＣＰＵ１３はステップＳＢ８に処理を進め、ポインタｎをインクリメントして歩進させ、続くステップＳＢ９において、歩進されたポインタｎがトラックの数Ｎを超えたか否かを判断する。
【００４６】
以後、ＣＰＵ１３は全てのトラックオンオフスイッチ（ｎ）について押下操作の有無を判断し終えるまで上記ステップＳＢ６〜ＳＢ９を繰り返す。これにより、押下操作されたトラックオンオフスイッチ（ｎ）に対応付けられたオンオフフラグＴＯＮＦ（ｎ）が反転される。そして、全てのトラックオンオフスイッチ（ｎ）について押下操作の有無を判断し終えると、上記ステップＳＢ９の判断結果が「ＹＥＳ」になり、ＣＰＵ１３はステップＳＢ１０に処理を進め、例えば音色選択スイッチ操作に応じて発生する楽音の音色を選択したり、エフェクト選択スイッチ操作に応じて発生する楽音に付加するエフェクトを選択したりする、その他のスイッチ処理を実行して本処理を終える。
【００４７】
このように、スイッチ処理では、ＣＰＵ１３がユーザの曲選択スイッチ操作に応じて選択された曲のシーケンスデータＳＤをＲＯＭ１４から読み出してＲＡＭ１５のシーケンスデータエリアＳＤＡに転送したり、ユーザによるスタート・ストップスイッチの押下操作に応じてスタート・ストップフラグＳＴＦを反転させる他、ユーザによるトラックオンオフスイッチ（ｎ）の押下操作に応じて、当該トラックオンオフスイッチ（ｎ）に対応付けられたオンオフフラグＴＯＮＦ（ｎ）を反転させる。
【００４８】
（３）自動演奏処理の動作
図４は、ＣＰＵ１３が実行する自動演奏処理の動作を示すフローチャートである。前述したメインルーチンのステップＳＡ３（図３（ａ）参照）を介して本処理が実行されると、ＣＰＵ１３は図４に図示するステップＳＣ１に処理を進め、スタート・ストップフラグＳＴＦが「１」、すなわち自動演奏の開始（又は自動演奏中）の状態であるか否かを判断する。以下、「自動演奏開始（又は自動演奏中）の場合」と「自動演奏停止の場合」とに分けて本処理の動作の説明を進める。
【００４９】
＜自動演奏開始（又は自動演奏中）の場合＞
ユーザのスタート・ストップスイッチ操作に応じて、スタート・ストップフラグＳＴＦが「１」にセットされると、上記ステップＳＣ１の判断結果は「ＹＥＳ」になり、ステップＳＣ２に進む。ステップＳＣ２に進むと、ＣＰＵ１３は、演奏パート（楽器パート）に対応させた複数のトラックＴｒａｃｋ（１）〜（Ｎ）の中でデフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）を再生する。具体的には、ＣＰＵ１３がトラックＴｒａｃｋ（ＤＮ）のシーケンスデータＳＤを読み出して音源部１６に供給する。これにより、音源部１６では、ＣＰＵ１３から供給されるシーケンスデータＳＤに基づいて楽音（自動演奏音）を発生する。
【００５０】
こうして、デフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）を再生させると、ＣＰＵ１３は次のステップＳＣ３に進み、トラックを指定するポインタｎに初期値「１」をセットする。続いて、ステップＳＣ４に進むと、ＣＰＵ１３はポインタｎで指定されるトラックオンオフフラグＴＯＮＦ（ｎ）が「０」、つまりポインタｎで指定されるトラックＴｒａｃｋ（ｎ）が、ユーザのトラックオンオフスイッチ操作により再生停止となったか否かを判断する。
【００５１】
トラックオンオフフラグＴＯＮＦ（ｎ）が「０」（再生停止）ならば、上記ステップＳＣ４の判断結果は「ＹＥＳ」になり、ＣＰＵ１３はステップＳＣ５に処理を進め、対象トラックＴｒａｃｋ（ｎ）の再生を停止した後、ステップＳＣ６に進む。なお、ここで言う対象トラクとは、押下操作されたトラックオンオフスイッチ（鍵スイッチ）に対応付けられた演奏パート（楽器パート）のトラックを指す。
【００５２】
一方、ポインタｎで指定されるトラックオンオフフラグＴＯＮＦ（ｎ）が「１」ならば、上記ステップＳＣ４の判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＣ６に処理を進める。そして、ステップＳＣ６に進むと、ＣＰＵ１３はポインタｎで指定されるトラックオンオフフラグＴＯＮＦ（ｎ）が「１」、すなわち対象トラックＴｒａｃｋ（ｎ）がユーザのトラックオンオフスイッチ操作により再生開始となったか否かを判断する。
【００５３】
トラックオンオフフラグＴＯＮＦ（ｎ）が「０」、すなわち対象トラックＴｒａｃｋ（ｎ）がユーザのトラックオンオフスイッチ操作により再生停止となった場合には、判断結果は「ＮＯ」になり、ＣＰＵ１３は後述のステップＳＣ１４に処理を進める。
【００５４】
これに対し、トラックオンオフフラグＴＯＮＦ（ｎ）が「１」、すなわち対象トラックＴｒａｃｋ（ｎ）がユーザのトラックオンオフスイッチ操作により再生開始となった場合には、上記ステップＳＣ６の判断結果が「ＹＥＳ」になり、ＣＰＵ１３はステップＳＣ７に処理を進め、ポインタｎで指定されるフラグＯＳＦ（ｎ）が「１」、つまりトラックオンオフスイッチ操作により再生開始となった対象トラックＴｒａｃｋ（ｎ）が再生レートＲａｔｅ（後述する）に従って再生中であるか否かを判断する。
【００５５】
トラックオンオフスイッチ操作により再生開始となった対象トラックＴｒａｃｋ（ｎ）が再生レートＲａｔｅに従って再生中でなければ、判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＣ８に処理を進める。ステップＳＣ８では、ポインタｎで指定される対象トラック演奏時間ＤＣＴ（ｎ）をゼロリセットすると共に、次式（１）に従って再生レートＲａｔｅを算出する。
再生レートＲａｔｅ＝（ｔ＿ｍ／ｔ＿ｏ）×最少単位時間  …（１）
【００５６】
なお、上記（１）式において、ｔ＿ｍは１小節長である。１小節長は、６０／ＢＰＭ（テンポ）×拍数から算出される。ＢＰＭ（テンポ）および拍数は、トラックＴｒａｃｋ（０）から抽出する。ｔ＿ｏは、トラックオンオフスイッチのオンタイミング（オン操作されたタイミング）から次小節タイミングＴ１までの期間長であり、次小節タイミングＴ１−トラックオンオフスイッチがオン操作された時点の演奏時間ＴＣＴで算出される。次小節タイミングＴ１は、対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤから抽出する。最少単位時間は、６０／ＢＰＭ（テンポ）／タイムベース（分解能）で算出される１Ｔｉｃｋである。
【００５７】
次に、ＣＰＵ１３は、ステップＳＣ９に進み、上記ステップＳＣ８において、上記（１）式に基づき算出した再生レートＲａｔｅを用いてレート加算される対象トラック演奏時間ＤＣＴ（ｎ）に同期して対象トラックＴｒａｃｋ（ｎ）を再生させる。すなわち、演奏時間ＴＣＴに同期して他のトラックＴｒａｃｋ（ＤＮ）が再生中に、対象トラックＴｒａｃｋ（ｎ）のトラックオンオフスイッチ（ｎ）がオン操作されると、そのオンタイミングから次小節タイミングＴ１までの間、当該対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤを曲頭から再生レートＲａｔｅに従って早送りで再生する。
【００５８】
こうして、トラックオンオフスイッチ（ｎ）のオン操作に応じて、対象トラックＴｒａｃｋ（ｎ）が曲頭から再生レートＲａｔｅに従って早送りで再生し始めると、ＣＰＵ１３はステップＳＣ１０に処理を進める。ステップＳＣ１０では、ポインタｎで指定されるフラグＯＳＦ（ｎ）に「１」をセットし、再生レートＲａｔｅに従って再生中である旨を表した後、次のステップＳＣ１１に進む。
【００５９】
なお、ポインタｎで指定されるフラグＯＳＦ（ｎ）に「１」がセットされ、対象トラックＴｒａｃｋ（ｎ）が曲頭から再生レートＲａｔｅに従って早送りで再生中の時に、本自動演奏処理が再び実行された場合、ＣＰＵ１３では前述したステップＳＣ７の判断結果を「ＹＥＳ」とし、ステップＳＣ１１に進む。
【００６０】
ＣＰＵ１３は、ステップＳＣ１１に処理を進めると、曲頭から再生レートＲａｔｅに従って早送りで再生中の対象トラックＴｒａｃｋ（ｎ）の対象トラック演奏時間ＤＣＴ（ｎ）が、次小節タイミングＴ１に到達したか否かを判断する。対象トラック演奏時間ＤＣＴ（ｎ）が次小節タイミングＴ１に到達していなければ、判断結果は「ＮＯ」になり、ＣＰＵ１３は後述のステップＳＣ１４に処理を進める。
【００６１】
これに対し、対象トラック演奏時間ＤＣＴ（ｎ）が次小節タイミングＴ１に到達すると、上記ステップＳＣ１１の判断結果が「ＹＥＳ」になり、ＣＰＵ１３はステップＳＣ１２に処理を進め、ポインタｎで指定される対象トラックＴｒａｃｋ（ｎ）を、演奏時間ＴＣＴに同期して再生中のデフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）を含む他のトラックＴｒａｃｋと同じ再生レートで再生させる。そして、ＣＰＵ１３はステップＳＣ１３に処理を進め、ポインタｎで指定されるフラグＯＳＦ（ｎ）をゼロリセットした後、ステップＳＣ１４に進む。
【００６２】
ステップＳＣ１４に進むと、ＣＰＵ１３はポインタｎをインクリメントして歩進させ、続くステップＳＣ１５では、歩進させたポインタｎの値がデフォルトトラック番号ＤＮに一致したか否かを判断する。歩進させたポインタｎの値がデフォルトトラック番号ＤＮに一致すると、判断結果は「ＹＥＳ」になり、再びステップＳＣ１４に進み、ポインタｎを歩進させる。
【００６３】
すなわち、デフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）は、前述したように、スタート・ストップフラグＳＴＦが「１」の場合、トラックオンオフスイッチ操作に依らず一意的に演奏時間ＴＣＴに同期して再生（もしくは再生するが発音させずにミュート）する為、上述の一連の処理から除外している。
【００６４】
一方、歩進させたポインタｎの値がデフォルトトラック番号ＤＮに一致しなければ、上記ステップＳＣ１５の判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＣ１６に処理を進め、歩進させたポインタｎがトラック番号Ｎを超えたか否か、つまり全ての演奏パート（楽器パート）に対応するトラックＴｒａｃｋ（１）〜（Ｎ）について処理し終えたかどうかを判別する。
【００６５】
全てのトラックＴｒａｃｋ（１）〜（Ｎ）について処理し終えていなければ、判断結果は「ＮＯ」になり、前述のステップＳＣ４以降の処理を繰り返す。そして、全てのトラックＴｒａｃｋ（１）〜（Ｎ）について処理し終えると、上記ステップＳＣ１６の判断結果が「ＹＥＳ」になり、ＣＰＵ１３は一旦自動演奏処理を完了してメインルーチンへ復帰する。
【００６６】
＜自動演奏停止の場合＞
ユーザのスタート・ストップスイッチ操作に応じて、スタート・ストップフラグＳＴＦが「０」にセットされると、上記ステップＳＣ１の判断結果が「ＮＯ」になり、ＣＰＵ１３はステップＳＣ１７に処理を進める。ステップＳＣ１７に進むと、ＣＰＵ１３は全ての演奏パート（楽器パート）に対応するトラックＴｒａｃｋ（１）〜（Ｎ）の再生停止を音源部１６に指示する。この後、ＣＰＵ１３はステップＳＣ１８に処理を進め、トラックオンオフフラグＴＯＮＦ（１）〜（Ｎ）およびフラグＯＳＦ（１）〜（Ｎ）をゼロリセットし、本処理を完了してメインルーチンへ復帰する。
【００６７】
このように、自動演奏処理では、ユーザのスタート・ストップスイッチ操作に応じて、スタート・ストップフラグＳＴＦが「１」にセットされると、ＣＰＵ１３は演奏パート（楽器パート）に対応させた複数のトラックＴｒａｃｋ（１）〜（Ｎ）の内、例えば図５に図示するように、対象トラックＴｒａｃｋ（ｎ）を除く他のトラックＴｒａｃｋ（１）〜（Ｎ）のシーケンスデータＳＤを演奏時間ＴＣＴに同期して曲頭から再生させる。
【００６８】
そして、例えばユーザが第２小節先頭から対象トラックＴｒａｃｋ（ｎ）を再生させるべく当該対象トラックＴｒａｃｋ（ｎ）に対応つけられたトラックオンオフスイッチ（ｎ）をオン操作したものの、実際には図５に図示するように、第２小節先頭よりも少し遅れてオンタイミングになったとする。
【００６９】
そうすると、ＣＰＵ１３は、対象トラック演奏時間ＤＣＴ（ｎ）をゼロリセットすると共に、前述した（１）式に基づいて算出した再生レートＲａｔｅを用いてレート加算される対象トラック演奏時間ＤＣＴ（ｎ）に同期して対象トラックＴｒａｃｋ（ｎ）の第１小節目のシーケンスデータＳＤを次小節タイミングＴ１まで再生させる。
【００７０】
つまり、トラックオンオフスイッチ（ｎ）がオン操作されたオンタイミングから次小節タイミングＴ１までの間、当該対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤ（第１小節目の音符ａ（ｎ）〜ｄ（ｎ）に相当）を再生レートＲａｔｅに従って早送りで再生する。
【００７１】
そして、対象トラック演奏時間ＤＣＴ（ｎ）が次小節タイミングＴ１に到達すると、対象トラックＴｒａｃｋ（ｎ）を、演奏時間ＴＣＴに同期して再生中の他のトラックＴｒａｃｋ（１）〜（Ｎ）と同じ再生レートで再生させる。これにより、従来のように、トラックオンするタイミングがずれてしまい音楽的に違和感が生じて演奏効果を損ねるという弊害を回避し、ビギナーユーザでも意図した通りに、音楽的に違和感無く演奏効果を得ることが可能になっている。
【００７２】
Ｃ．第２実施形態
次に、第２実施形態について説明する。第２実施形態の構成は、上述した第１実施形態と同一である為、その説明を省略する。以下では、第１実施形態と相違する第２実施形態のＲＡＭ１５のデータ構成および第２実施形態による自動演奏処理について説明する。
【００７３】
（１）ＲＡＭ１５のデータ構成
図６は、第２実施形態による電子楽器１００のＲＡＭ１５に格納される主要レジスタ・フラグデータおよびシーケンスデータの構成を示すメモリマップである。図６に図示するメモリマップが図２（ｂ）に図示した第１実施形態と相違する点は、フラグＴＨＦ（１）〜ＴＨＦ（Ｎ）および閾値ＴＨを備えることにある。
【００７４】
フラグＴＨＦ（１）〜ＴＨＦ（Ｎ）は、トラックオンオフスイッチ操作により再生開始となった対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤについて曲頭から他のトラックＴｒａｃｋで再生中の現在小節先頭までミュート・オンして早送りした後、ミュート・オフして再生レートＲａｔｅ（後述する）に従って再生中の場合に「１」、それ以外では「０」となるフラグであり、本フラグが意図するところについては追って述べる。
【００７５】
閾値ＴＨは、小節先頭から所定期間の時間長を表す。後述するように、第２実施形態では、小節先頭から閾値ＴＨ以内にトラックオンオフスイッチ（ｎ）がオン操作された場合に、そのオン操作のタイミング（オンタイミング）を小節先頭で為されたものと見做すようになっている。
【００７６】
（２）第２実施形態による自動演奏処理の動作
次に、図７〜図８を参照して第２実施形態の動作について説明する。図７〜図８は、ＣＰＵ１３が実行する第２実施形態による自動演奏処理の動作を示すフローチャートである。前述した第１実施形態と同様に、メインルーチンのステップＳＡ３（図３（ａ）参照）を介して第２実施形態による自動演奏処理が実行されると、ＣＰＵ１３は図８に図示するステップＳＤ１に処理を進め、スタート・ストップフラグＳＴＦが「１」、すなわち自動演奏の開始（又は自動演奏中）の状態であるか否かを判断する。以下、「自動演奏開始（又は自動演奏中）の場合」と「自動演奏停止の場合」とに分けて本処理の動作の説明を進める。
【００７７】
＜自動演奏開始（又は自動演奏中）の場合＞
ユーザのスタート・ストップスイッチ操作に応じて、スタート・ストップフラグＳＴＦが「１」にセットされると、上記ステップＳＤ１の判断結果は「ＹＥＳ」になり、ステップＳＤ２に進む。ステップＳＤ２に進むと、ＣＰＵ１３は、演奏パート（楽器パート）に対応させた複数のトラックＴｒａｃｋ（１）〜（Ｎ）の中でデフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）を再生する。具体的には、ＣＰＵ１３がトラックＴｒａｃｋ（ＤＮ）のシーケンスデータＳＤを読み出して音源部１６に供給する。これにより、音源部１６では、ＣＰＵ１３から供給されるシーケンスデータＳＤに基づいて楽音を発生する。
【００７８】
こうして、デフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）を再生させると、ＣＰＵ１３は次のステップＳＤ３に進み、トラックを指定するポインタｎに初期値「１」をセットする。続いて、ステップＳＤ４に進むと、ＣＰＵ１３はポインタｎで指定されるトラックオンオフフラグＴＯＮＦ（ｎ）が「０」、つまりポインタｎで指定されるトラックＴｒａｃｋ（ｎ）が、ユーザのトラックオンオフスイッチ操作により再生停止となったか否かを判断する。
【００７９】
トラックオンオフフラグＴＯＮＦ（ｎ）が「０」（再生停止）ならば、上記ステップＳＤ４の判断結果は「ＹＥＳ」になり、ＣＰＵ１３はステップＳＤ５に処理を進め、対象トラックＴｒａｃｋ（ｎ）の再生を停止した後、ステップＳＤ６に進む。なお、ここで言う対象トラクとは、押下操作されたトラックオンオフスイッチ（鍵スイッチ）に対応付けられた演奏パート（楽器パート）のトラックを指す。
【００８０】
一方、ポインタｎで指定されるトラックオンオフフラグＴＯＮＦ（ｎ）が「１」ならば、上記ステップＳＤ４の判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＤ６に処理を進める。そして、ステップＳＤ６に進むと、ＣＰＵ１３はポインタｎで指定されるトラックオンオフフラグＴＯＮＦ（ｎ）が「１」、すなわち対象トラックＴｒａｃｋ（ｎ）がユーザのトラックオンオフスイッチ操作により再生開始となったか否かを判断する。
【００８１】
トラックオンオフフラグＴＯＮＦ（ｎ）が「０」、すなわち対象トラックＴｒａｃｋ（ｎ）がユーザのトラックオンオフスイッチ操作により再生停止となった場合には、判断結果が「ＮＯ」になり、ＣＰＵ１３は後述のステップＳＤ１８に処理を進める。
【００８２】
これに対し、トラックオンオフフラグＴＯＮＦ（ｎ）が「１」、すなわち対象トラックＴｒａｃｋ（ｎ）がユーザのトラックオンオフスイッチ操作により再生開始となった場合には、上記ステップＳＤ６の判断結果が「ＹＥＳ」になり、ＣＰＵ１３はステップＳＤ７に処理を進める。ステップＳＤ７に進むと、ＣＰＵ１３はポインタｎで指定されるフラグＴＨＦ（ｎ）が「１」、つまりトラックオンオフスイッチ操作により再生開始となった対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤについて曲頭から他のトラックＴｒａｃｋ（ＤＮ）で再生中の現在小節先頭までミュート・オンして早送りした後、ミュート・オフして再生レートＲａｔｅに従って再生中であるか否かを判断する。
【００８３】
対象トラックＴｒａｃｋ（ｎ）をミュート・オンして早送りした後、ミュート・オフして再生レートＲａｔｅに従って再生中の場合（フラグＴＨＦ（ｎ）が「１」）には、上記ステップＳＤ７の判断結果が「ＹＥＳ」になり、ＣＰＵ１３は後述するステップＳＤ１５（図８参照）に処理を進める。
【００８４】
一方、対象トラックＴｒａｃｋ（ｎ）をミュート・オンして早送りした後、ミュート・オフして再生レートＲａｔｅに従って再生中でない場合（フラグＴＨＦ（ｎ）が「０」）には、上記ステップＳＤ７の判断結果は「ＮＯ」になり、ＣＰＵ１３はステップＳＤ８に処理を進める。
【００８５】
ステップＳＤ８に進むと、ＣＰＵ１３はＴＣＴ（ｍｏｄ  ｔ＿ｍ）＜閾値ＴＨであるか否か、すなわちポインタｎで指定されるトラックオンオフスイッチ（ｎ）のオンタイミングが、演奏時間ＴＣＴに同期して再生中の現在小節先頭から閾値ＴＨ未満であるかどうかを判断する。なお、ＴＣＴ（ｍｏｄ  ｔ＿ｍ）とは、演奏時間ＴＣＴの１小節長ｔ＿ｍによる剰余演算を表す。
【００８６】
以下、トラックオンオフスイッチ（ｎ）のオンタイミングが、演奏時間ＴＣＴに同期して再生中の現在小節先頭から閾値ＴＨ未満の場合と、閾値ＴＨを超えた場合とに分けて動作の説明を進める。
【００８７】
ａ．オンタイミングが現在小節先頭から閾値ＴＨ未満の場合
この場合、上記ステップＳＤ８の判断結果が「ＹＥＳ」になり、ＣＰＵ１３は図８に図示するステップＳＤ９に処理を進め、ポインタｎで指定されるフラグＴＨＦ（ｎ）を「１」にセットする。続いて、ＣＰＵ１３はステップＳＤ１０に進み、ポインタｎで指定される対象トラックＴｒａｃｋ（ｎ）をミュート・オン（消音状態）に設定する。続いて、ＣＰＵ１３はステップＳＤ１１に処理を進め、ミュート・オン（消音状態）に設定した対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤを、曲頭から他のトラックＴｒａｃｋ（ＤＮ）で再生中の現在小節の先頭まで早送りする。
【００８８】
そして、ＣＰＵ１３はステップＳＤ１２に処理を進め、早送りが完了した対象トラックＴｒａｃｋ（ｎ）をミュート・オフ（発音状態）に設定する。次に、ステップＳＤ１３に進むと、ＣＰＵ１３は演奏時間ＴＣＴを、ポインタｎで指定される対象トラック演奏時間ＤＣＴ（ｎ）にセットすると共に、次式（２）に従って再生レートＲａｔｅを算出する。
再生レートＲａｔｅ＝（ｔ＿ｍ／ｔ＿ｏ）×最少単位時間  …（２）
【００８９】
上記（２）式において、ｔ＿ｍは１小節長であり、６０／ＢＰＭ（テンポ）×拍数から算出される。ＢＰＭ（テンポ）および拍数は、トラックＴｒａｃｋ（０）から抽出する。ｔ＿ｏは、トラックオンオフスイッチのオンタイミング（オン操作されたタイミング）から次小節タイミングＴ１までの期間長であり、次小節タイミングＴ１−トラックオンオフスイッチがオン操作された時点の演奏時間ＴＣＴで算出される。次小節タイミングＴ１は、対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤから抽出する。最少単位時間は、６０／ＢＰＭ（テンポ）／タイムベース（分解能）で算出される１Ｔｉｃｋである。
【００９０】
こうして再生レートＲａｔｅを算出すると、ＣＰＵ１３はステップＳＤ１４に進み、算出した再生レートＲａｔｅを用いてレート加算される対象トラック演奏時間ＤＣＴ（ｎ）に同期して対象トラックＴｒａｃｋ（ｎ）を早送りで再生させる。次に、ＣＰＵ１３はステップＳＤ１５に処理を進め、再生レートＲａｔｅに従って早送りで再生中の対象トラックＴｒａｃｋ（ｎ）の対象トラック演奏時間ＤＣＴ（ｎ）が、次小節タイミングＴ１に到達したか否かを判断する。
【００９１】
対象トラック演奏時間ＤＣＴ（ｎ）が次小節タイミングＴ１に到達していなければ、判断結果は「ＮＯ」になり、後述のステップＳＤ１７に進む。これに対し、対象トラック演奏時間ＤＣＴ（ｎ）が次小節タイミングＴ１に到達すると、上記ステップＳＤ１５の判断結果が「ＹＥＳ」になり、ＣＰＵ１３は次のステップＳＤ１６に処理を進め、ポインタｎで指定される対象トラックＴｒａｃｋ（ｎ）を、演奏時間ＴＣＴに同期して再生中のデフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）を含む他のトラックＴｒａｃｋと同じ再生レートで再生させる。
【００９２】
そして、ＣＰＵ１３はステップＳＤ１７に処理を進め、ポインタｎで指定されるフラグＴＨＦ（ｎ）をゼロリセットした後、図７に図示するステップＳＤ１８に進む。ステップＳＤ１８に進むと、ＣＰＵ１３はポインタｎをインクリメントして歩進させ、続くステップＳＤ１９では、歩進させたポインタｎの値がデフォルトトラック番号ＤＮに一致したか否かを判断する。
【００９３】
歩進させたポインタｎの値がデフォルトトラック番号ＤＮに一致すると、判断結果は「ＹＥＳ」になり、再びステップＳＤ１８に進み、ポインタｎを歩進させる。すなわち、デフォルトトラック番号ＤＮで指定されるトラックＴｒａｃｋ（ＤＮ）は、前述したように、スタート・ストップフラグＳＴＦが「１」の場合、トラックオンオフスイッチ操作に依らず一意的に演奏時間ＴＣＴに同期して再生（もしくは再生するが発音させずにミュート）する為、上述の一連の処理から除外している。
【００９４】
一方、歩進させたポインタｎの値がデフォルトトラック番号ＤＮに一致しなければ、上記ステップＳＤ１９の判断結果が「ＮＯ」になり、ＣＰＵ１３はステップＳＤ２０に処理を進め、歩進させたポインタｎがトラック番号Ｎを超えたか否か、つまり全ての演奏パート（楽器パート）に対応するトラックＴｒａｃｋ（１）〜（Ｎ）について処理し終えたかどうかを判別する。
【００９５】
全てのトラックＴｒａｃｋ（１）〜（Ｎ）について処理し終えていなければ、判断結果は「ＮＯ」になり、前述のステップＳＤ４以降の処理を繰り返す。そして、全てのトラックＴｒａｃｋ（１）〜（Ｎ）について処理し終えると、上記ステップＳＤ２０の判断結果が「ＹＥＳ」になり、ＣＰＵ１３は一旦自動演奏処理を完了してメインルーチンへ復帰する。
【００９６】
ｂ．オンタイミングが閾値ＴＨを超えた場合
この場合、上述したステップＳＤ８の判断結果が「ＮＯ」になり、ＣＰＵ１３は図７に図示するステップＳＤ２１に処理を進め、ポインタｎで指定される対象トラックＴｒａｃｋ（ｎ）をミュート・オン（消音状態）に設定し、当該対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤを、曲頭から他のトラックＴｒａｃｋ（ＤＮ）で再生中の現在のタイミングまで早送りする。
【００９７】
続いて、ステップＳＤ２２に進むと、ＣＰＵ１３はポインタｎで指定される対象トラックＴｒａｃｋ（ｎ）をミュート・オフ（発音状態）に設定すると共に、演奏時間ＴＣＴをポインタｎで指定される対象トラック演奏時間ＤＣＴ（ｎ）にセットする。そして、ＣＰＵ１３はステップＳＤ２３に処理を進め、ポインタｎで指定される対象トラックＴｒａｃｋ（ｎ）を、他のトラックＴｒａｃｋ（ＤＮ）と同じ再生レートで再生させた後、本処理を完了してメインルーチンへ復帰する。
【００９８】
＜自動演奏停止の場合＞
ユーザのスタート・ストップスイッチ操作に応じて、スタート・ストップフラグＳＴＦが「０」にセットされると、前述したステップＳＤ１の判断結果が「ＮＯ」になり、ＣＰＵ１３はステップＳＤ２４に処理を進める。ステップＳＤ２４に進むと、ＣＰＵ１３は全ての演奏パート（楽器パート）に対応するトラックＴｒａｃｋ（１）〜（Ｎ）の再生停止を音源部１６に指示する。この後、ＣＰＵ１３はステップＳＤ２５に処理を進め、トラックオンオフフラグＴＯＮＦ（１）〜（Ｎ）およびフラグＴＨＦ（１）〜（Ｎ）をゼロリセットし、一旦自動演奏処理を完了してメインルーチンへ復帰する。
【００９９】
このように、第２実施形態による自動演奏処理では、ユーザのスタート・ストップスイッチ操作に応じて、スタート・ストップフラグＳＴＦが「１」にセットされると、ＣＰＵ１３は演奏パート（楽器パート）に対応させた複数のトラックＴｒａｃｋ（１）〜（Ｎ）の内、例えば図９に図示するように、対象トラックＴｒａｃｋ（ｎ）を除く他のトラックＴｒａｃｋ（１）〜（Ｎ）のシーケンスデータＳＤを演奏時間ＴＣＴに同期して曲頭から再生させる。
【０１００】
そして、図９に図示する一例のように、ユーザが第２小節先頭から閾値ＴＨまでの間に対象トラックＴｒａｃｋ（ｎ）に対応付けられたトラックオンオフスイッチ（ｎ）をオン操作したとする。そうすると、ＣＰＵ１３は、ミュート・オン（消音状態）に設定した対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤを、曲頭から他のトラックＴｒａｃｋ（ＤＮ）で再生中の現在小節の先頭まで早送りした後にミュート・オフ（発音状態）に設定する。
【０１０１】
そして、演奏時間ＴＣＴを対象トラック演奏時間ＤＣＴ（ｎ）にセットすると共に、前述した（２）式に基づいて算出した再生レートＲａｔｅを用いてレート加算される対象トラック演奏時間ＤＣＴ（ｎ）に同期して対象トラックＴｒａｃｋ（ｎ）の第２小節目のシーケンスデータＳＤを次小節タイミングＴ１まで再生させる。
【０１０２】
つまり、トラックオンオフスイッチ（ｎ）がオン操作されたオンタイミングから次小節タイミングＴ１までの間、当該対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤ（第２小節目の音符ｅ（ｎ）〜ｈ（ｎ）に相当）を再生レートＲａｔｅに従って早送りで再生する。
【０１０３】
そして、対象トラック演奏時間ＤＣＴ（ｎ）が次小節タイミングＴ１に到達すると、対象トラックＴｒａｃｋ（ｎ）を、演奏時間ＴＣＴに同期して再生中の他のトラックＴｒａｃｋ（１）〜（Ｎ）と同じ再生レートで再生させるので、ビギナーユーザでも意図した通りにトラックオンオフさせて音楽的に重要なアタック音を発音させることが可能になる。
【０１０４】
一方、ユーザが閾値ＴＨを超えた時点で対象トラックＴｒａｃｋ（ｎ）に対応付けられたトラックオンオフスイッチ（ｎ）をオン操作した場合には、ＣＰＵ１３がミュート・オン（消音状態）に設定した対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤを、曲頭から他のトラックＴｒａｃｋ（ＤＮ）で再生中の現在タイミングまで早送りした後にミュート・オフ（発音状態）に設定した後、演奏時間ＴＣＴに同期させた対象トラック演奏時間ＤＣＴ（ｎ）に従って対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤを再生させる。
【０１０５】
つまり、小節先頭近傍ではないタイミングでトラックオンオフスイッチ（ｎ）をオン操作した場合には、ミュート・オンした対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤを、曲頭から他のトラックＴｒａｃｋ（ＤＮ）で再生中の現在タイミングまで早送りした後にミュート・オフとして演奏時間ＴＣＴに同期させた対象トラック演奏時間ＤＣＴ（ｎ）に従って対象トラックＴｒａｃｋ（ｎ）のシーケンスデータＳＤを再生させるので、ビギナーユーザでも音楽的に違和感無く意図した通りにトラックオンオフさせることが可能になる。
【０１０６】
以上説明したように、第１実施形態では、演奏すべき曲の各音符を表すシーケンスデータを各トラック別に設け、これら各トラックの中から少なくとも１つのトラックのシーケンスデータを、曲頭からの経過時間を計時した演奏時間に同期して再生しておき、各トラックの内、再生停止しているトラックの中から再生を開始する対象トラックを指定すると、予め区切られた曲の区間長と、再生中の現区間に続く次区間の先頭時間から対象トラックを指定した時の演奏時間を減算した差分時間との比に応じた再生レートに従ってレート加算される対象トラック演奏時間に同期して対象トラックのシーケンスデータを曲頭から再生し始め、対象トラック演算時間が次区間の先頭時間に達した時点から対象トラックのシーケンスデータを演奏時間に同期して再生するので、トラックオンするタイミングがずれてしまい音楽的に違和感が生じて演奏効果を損ねるという弊害を回避し、ビギナーユーザでも意図した通りに、音楽的に違和感無く演奏効果を得ることが出来る。
【０１０７】
また、第２実施形態では、演奏すべき曲の各音符を表すシーケンスデータを各トラック別に設け、これら各トラックの中から少なくとも１つのトラックのシーケンスデータを、曲頭からの経過時間を計時した演奏時間に同期して再生しておき、各トラックの内、再生停止しているトラックの中から再生を開始する対象トラックを指定すると、当該対象トラックが指定された時点の演奏時間が、予め区切られた曲の区間先頭から所定時間未満の期間に収まる場合に、当該対象トラックのシーケンスデータを、曲頭から前記演奏時間に同期して再生中の現区間に対応した区間の先頭まで消音状態で早送りした後、予め区切られた曲の区間長と、前記再生中の現区間に続く次区間の先頭時間から対象トラックが指定された時点の演奏時間を減算した差分時間との比に応じた再生レートに従って演奏時間をレート加算して対象トラック演奏時間を生成し、早送りされた対象トラックの現区間のシーケンスデータを対象トラック演奏時間に同期して再生し、当該対象トラック演奏時間が前記次区間の先頭時間に達した時点から対象トラックのシーケンスデータを演奏時間に同期して再生するので、ビギナーユーザでも意図した通りにトラックオンオフさせて音楽的に重要なアタック音を発音させることが出来る。
【０１０８】
さらに、第２実施形態では、演奏すべき曲の各音符を表すシーケンスデータを各トラック別に設け、これら各トラックの中から少なくとも１つのトラックのシーケンスデータを、曲頭からの経過時間を計時した演奏時間に同期して再生しておき、各トラックの内、再生停止しているトラックの中から再生を開始する対象トラックを指定すると、当該対象トラックが指定された時点の演奏時間が、予め区切られた曲の区間先頭から所定時間未満の期間に収まらない場合に、当該対象トラックのシーケンスデータを曲頭から再生中の現在タイミングまで消音状態で早送りし、早送りされた対象トラックのシーケンスデータを演奏時間に同期して再生するので、ビギナーユーザでも音楽的に違和感無く意図した通りにトラックオンオフさせることが出来る。
【０１０９】
以上、本発明の実施形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１１０】
以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
（付記）
［請求項１］
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生する第１の再生部と、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定するトラック指定部と、
前記区間の区間長と前記トラック指定部により指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生する第２の再生部と
を備える自動演奏装置。
［請求項２］
前記第２の再生部は、前記或る区間の次区間から、前記第１の再生部により再生される前記トラックのシーケンスデータに同期して前記対象トラックのシーケンスデータを再生する、請求項１に記載の自動演奏装置。
［請求項３］
前記第２の再生部は、前記トラック指定部により対象トラックが指定されたタイミングが、前記第１の再生部が再生している前記トラックのトラックデータの現区間の区間先頭から所定時間内の場合に、前記対象トラックのシーケンスデータの前記或る区間を早送り再生する請求項１乃至２の何れかに記載の自動演奏装置。
［請求項４］
前記第２の再生部は、前記対象トラックのシーケンスデータの曲頭区間を早送り再生する、請求項１乃至３の何れかに記載の自動演奏装置。
［請求項５］
前記第２の再生部は、前記第１の再生部が再生している前記トラックのシーケンスデータの現区間に対応する前記対象トラックのシーケンスデータの現区間を早送り再生する、請求項１乃至３の何れかに記載の自動演奏装置。
［請求項６］
自動演奏装置に用いられる自動演奏方法であって、
前記自動演奏装置が、
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生しておき、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定し、
前記区間の区間長と指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生する
ことを特徴とする自動演奏方法。
［請求項７］
自動演奏装置に搭載されるコンピュータに、
複数の区間を有する演奏すべき曲のシーケンスデータであって、各トラックの中から少なくとも１つのトラックに対応したシーケンスデータを再生する第１の再生ステップと、
前記各トラックの内、再生が停止されているトラックの中から再生を開始する対象トラックを指定するトラック指定ステップと、
前記区間の区間長と前記トラック指定ステップにより指定されたタイミングに基づいて得られる再生レートに従って、前記対象トラックのシーケンスデータの或る区間を早送り再生する第２の再生ステップと
を実行させることを特徴とするプログラム。
［請求項８］
演奏入力操作に応じた演奏入力情報を発生する演奏入力部と、
前記請求項１乃至５の何れかに記載の自動演奏装置と、
前記演奏入力部が発生する演奏入力情報に応じた楽音を形成すると共に、前記自動演奏装置からの再生指示に従った演奏音を発生する音源部と、
を具備することを特徴とする電子楽器。
【符号の説明】
【０１１１】
１０  鍵盤
１１  操作部
１２  表示部
１３  ＣＰＵ
１４  ＲＯＭ
１５  ＲＡＭ
１６  音源部
１７  サウンドシステム
１００  電子楽器
【図１】
2018040825.tif 000003
【図２】
2018040825.tif 000004
【図３】
2018040825.tif 000005
【図４】
2018040825.tif 000006
【図５】
2018040825.tif 000007
【図６】
2018040825.tif 000008
【図７】
2018040825.tif 000009
【図８】
2018040825.tif 000010
【図９】
2018040825.tif 000011
【図１０】
2018040825.tif 000012
【手続補正書】
【提出日】平成29年11月16日(2017.11.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の区間を有する第１のシーケンスデータを再生する第１の再生部と、
前記第１の再生部により前記第１のシーケンスデータが再生されている際に、複数の区間を有する第２のシーケンスデータの再生を指定するトラック指定部と、
前記トラック指定部が前記第２のシーケンスデータの再生を指定したタイミングに前記第１の再生部が再生している前記第１のシーケンスデータの区間と同じ区間の前記第２のシーケンスデータを、前記区間の区間長と前記トラック指定部により指定されたタイミングに基づいて得られる再生レートに従って、早送り再生する第２の再生部と
を備える自動演奏装置。
【請求項２】
前記第２の再生部は、前記第２のシーケンスデータの前記同じ区間を早送り再生する前に、前記第２のシーケンスデータの先頭から前記同じ区間の前の区間まで、ミュート状態で早送りしている、請求項１に記載の自動演奏装置。
【請求項３】
前記第２の再生部は、前記トラック指定部により前記第２のシーケンスデータが指定されたタイミングが、前記第１の再生部が再生している前記第１のシーケンスデータの区間の区間先頭から所定時間内の場合に、前記第２のシーケンスデータの前記同じ区間を早送り再生する請求項１乃至２の何れかに記載の自動演奏装置。
【請求項４】
自動演奏装置に用いられる自動演奏方法であって、
前記自動演奏装置が、
複数の区間を有する第１のシーケンスデータを再生し、
前記第１のシーケンスデータが再生されている際に、複数の区間を有する第２のシーケンスデータの再生を指定し、
前記トラック指定部が前記第２のシーケンスデータの再生を指定したタイミングに前記第１の再生部が再生している前記第１のシーケンスデータの区間と同じ区間の前記第２のシーケンスデータを、前記区間の区間長と指定されたタイミングに基づいて得られる再生レートに従って、早送り再生する
ことを特徴とする自動演奏方法。
【請求項５】
自動演奏装置に搭載されるコンピュータに、
複数の区間を有する第１のシーケンスデータを再生する第１の再生ステップと、
前記第１の再生ステップにより前記第１のシーケンスデータが再生されている際に、複数の区間を有する第２のシーケンスデータの再生を指定するトラック指定ステップと、
前記トラック指定ステップにより前記第２のシーケンスデータの再生を指定したタイミングに前記第１の再生ステップが再生している前記第１のシーケンスデータの区間と同じ区間の前記第２のシーケンスデータを、前記区間の区間長と前記トラック指定ステップにより指定されたタイミングに基づいて得られる再生レートに従って、早送り再生する第２の再生ステップと
を実行させることを特徴とするプログラム。
【請求項６】
演奏入力操作に応じた演奏入力情報を発生する演奏入力部と、
前記請求項１乃至３の何れかに記載の自動演奏装置と、
前記演奏入力部が発生する演奏入力情報に応じた楽音を形成すると共に、前記自動演奏装置からの再生指示に従った演奏音を発生する音源部と、
を具備することを特徴とする電子楽器。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明の一態様の自動演奏装置は、
複数の区間を有する第１のシーケンスデータを再生する第１の再生部と、
前記第１の再生部により前記第１のシーケンスデータが再生されている際に、複数の区間を有する第２のシーケンスデータの再生を指定するトラック指定部と、
前記トラック指定部が前記第２のシーケンスデータの再生を指定したタイミングに前記第１の再生部が再生している前記第１のシーケンスデータの区間と同じ区間の前記第２のシーケンスデータを、前記区間の区間長と前記トラック指定部により指定されたタイミングに基づいて得られる再生レートに従って、早送り再生する第２の再生部と
を備えることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明の一態様の自動演奏方法は、前記自動演奏装置が、
複数の区間を有する第１のシーケンスデータを再生し、
前記第１のシーケンスデータが再生されている際に、複数の区間を有する第２のシーケンスデータの再生を指定し、
前記トラック指定部が前記第２のシーケンスデータの再生を指定したタイミングに前記第１の再生部が再生している前記第１のシーケンスデータの区間と同じ区間の前記第２のシーケンスデータを、前記区間の区間長と指定されたタイミングに基づいて得られる再生レートに従って、早送り再生する
ことを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
本発明の一態様のプログラムは、自動演奏装置に搭載されるコンピュータに、
複数の区間を有する第１のシーケンスデータを再生する第１の再生ステップと、
前記第１の再生ステップにより前記第１のシーケンスデータが再生されている際に、複数の区間を有する第２のシーケンスデータの再生を指定するトラック指定ステップと、
前記トラック指定ステップにより前記第２のシーケンスデータの再生を指定したタイミングに前記第１の再生ステップが再生している前記第１のシーケンスデータの区間と同じ区間の前記第２のシーケンスデータを、前記区間の区間長と前記トラック指定ステップにより指定されたタイミングに基づいて得られる再生レートに従って、早送り再生する第２の再生ステップと
を実行させることを特徴とする。