(57)【要約】【課題】曲の内容を知らないユーザでも曲演奏できる演奏装置および演奏方法を実現する。【解決手段】ワンキー操作のタイミングが所々判らないうろ覚えの曲を演奏する場合、ワンキー操作しなかった拍期間が所定時間を超えると、ワンキー操作せずとも自動的に曲データが演奏される自動演奏状態になり、この状態でワンキー操作を再開すると、その自動演奏が解除されて再びワンキープレイに復帰するので、曲の内容を知らないユーザでも曲演奏できる。また、例えば１６分音符より短い符長の休符や音符が所定数以上続く部分など、ワンキー操作がタイミング的に難しい部分を自動演奏区間に設定すれば、ワンキー操作されなくともその区間は自動演奏されるので、曲の内容を知らないユーザでも曲演奏できる。【選択図】　図３
2004037697.tif 000002
【特許請求の範囲】
【請求項１】
曲を構成する各音の音高および発音／消音するイベントタイミングを表す曲データを読み出し、演奏操作子がオン操作された時点で読み出されている曲データを再生する演奏装置において、
前記イベントタイミングに達する毎に、前記演奏操作子がオン操作されずに発音されなかった拍期間が所定時間を超えているか否かを判定する判定手段と、
この判定手段によって前記拍期間が所定時間を超えていると判定された場合、現在読み出されている曲データを自動演奏する自動演奏手段と、
前記演奏操作子のオン操作に応じて、前記拍期間をゼロリセットすると共に、前記自動演奏手段に自動演奏停止を指示する指示手段と
を具備することを特徴とする演奏装置。
【請求項２】
曲を構成する各音の音高および発音／消音するイベントタイミングを表す曲データを読み出し、演奏操作子がオン操作された時点で読み出されている曲データを再生する演奏方法において、
前記イベントタイミングに達する毎に、前記演奏操作子がオン操作されずに発音されなかった拍期間が所定時間を超えているか否かを判定する判定過程と、
この判定過程にて前記拍期間が所定時間を超えていると判定された場合、現在読み出されている曲データを自動演奏する自動演奏過程と、
前記演奏操作子のオン操作に応じて、前記拍期間をゼロリセットすると共に、前記自動演奏過程に自動演奏停止を指示する指示過程と
を具備することを特徴とする演奏方法。
【請求項３】
曲を構成する各音の音高および発音／消音するイベントタイミングを表す曲データを読み出し、演奏操作子がオン操作された時点で読み出されている曲データを再生する演奏装置において、
前記イベントタイミングの間隔が所定符長より短く、それが所定数以上続く部分を前記曲データ中から検索して自動演奏区間に設定する設定手段と、
前記イベントタイミングに達する毎に、現在読み出されている曲データが前記自動演奏区間であるか否かを判断し、自動演奏区間内であればその曲データを自動演奏する自動演奏手段と
を具備することを特徴とする演奏装置。
【請求項４】
曲を構成する各音の音高および発音／消音するイベントタイミングを表す曲データを読み出し、演奏操作子がオン操作された時点で読み出されている曲データを再生する演奏方法において、
前記イベントタイミングの間隔が所定符長より短く、それが所定数以上続く部分を前記曲データ中から検索して自動演奏区間に設定する設定過程と、
前記イベントタイミングに達する毎に、現在読み出されている曲データが前記自動演奏区間であるか否かを判断し、自動演奏区間内であればその曲データを自動演奏する自動演奏過程と
を具備することを特徴とする演奏方法。
【請求項５】
前記自動演奏手段は、演奏操作子のオン操作に応じて発音される音量とは異なる音量で前記自動演奏区間内の曲データを自動演奏することを特徴とする請求項３記載の演奏装置。
【請求項６】
前記自動演奏過程は、演奏操作子のオン操作に応じて発音される音量とは異なる音量で前記自動演奏区間内の曲データを自動演奏することを特徴とする請求項４記載の演奏方法。
【請求項７】
前記自動演奏手段は、前記自動演奏区間内の曲データを自動演奏する場合、自動演奏区間内の曲データを構成する各音と、それより高い音程の装飾音とを交互に素速く発音させてトリル効果を付与することを特徴とする請求項３記載の演奏装置。
【請求項８】
前記自動演奏過程は、前記自動演奏区間内の曲データを自動演奏する場合、自動演奏区間内の曲データを構成する各音と、それより高い音程の装飾音とを交互に素速く発音させてトリル効果を付与することを特徴とする請求項４記載の演奏装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器等に用いて好適な演奏装置および演奏方法に関する。
【０００２】
【従来の技術】
従来より「ワンキープレイ」と呼ばれ、半自動的な演奏を実現する演奏装置が知られている。この種の演奏装置では、例えば楽曲を形成する各音符の音高および符長を表わす曲データをメモリに記憶しておき、「ワンキープレイ」用に設けられた専用の演奏操作子を押下するワンキー操作がなされる度に、メモリに記憶しておいた曲データの各音符を一音づつ読み出して発音するように構成されている。
【０００３】
このような演奏装置では、どのようなタイミングでワンキー操作しても一意的に発音されてしまうので、発音すべきタイミング、すなわちリズムに沿ってワンキー操作しないと楽曲として再生されない欠点がある。そこで近年では、指定テンポに従って曲データの読み出しを進行させ、ワンキー操作が行われた時点で読み出されている曲データを再生するようにして、ある程度発音すべきタイミング（リズム）でワンキー操作すれば曲演奏が可能になる演奏装置も案出されている。
【０００４】
【発明が解決しようとする課題】
ところで、こうした演奏装置では、演奏しようとする曲の内容をある程度知っていれば、発音すべきタイミング（リズム）でワンキー操作が行える為、曲演奏することが可能になるものの、曲の内容を知らない音楽初心者などをユーザ対象とした場合にはうまく曲演奏することができない、という問題がある。
そこで本発明はこのような事情に鑑みてなされたもので、曲の内容を知らないユーザであっても曲演奏することができる演奏装置および演奏方法を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、曲を構成する各音の音高および発音／消音するイベントタイミングを表す曲データを読み出し、演奏操作子がオン操作された時点で読み出されている曲データを再生する演奏装置において、前記イベントタイミングに達する毎に、前記演奏操作子がオン操作されずに発音されなかった拍期間が所定時間を超えているか否かを判定する判定手段と、この判定手段によって前記拍期間が所定時間を超えていると判定された場合、現在読み出されている曲データを自動演奏する自動演奏手段と、前記演奏操作子のオン操作に応じて、前記拍期間をゼロリセットすると共に、前記自動演奏手段に自動演奏停止を指示する指示手段とを具備することを特徴とする。
【０００６】
請求項２に記載の発明では、曲を構成する各音の音高および発音／消音するイベントタイミングを表す曲データを読み出し、演奏操作子がオン操作された時点で読み出されている曲データを再生する演奏方法において、前記イベントタイミングに達する毎に、前記演奏操作子がオン操作されずに発音されなかった拍期間が所定時間を超えているか否かを判定する判定過程と、この判定過程にて前記拍期間が所定時間を超えていると判定された場合、現在読み出されている曲データを自動演奏する自動演奏過程と、前記演奏操作子のオン操作に応じて、前記拍期間をゼロリセットすると共に、前記自動演奏過程に自動演奏停止を指示する指示過程とを具備することを特徴とする。
【０００７】
請求項３に記載の発明では、曲を構成する各音の音高および発音／消音するイベントタイミングを表す曲データを読み出し、演奏操作子がオン操作された時点で読み出されている曲データを再生する演奏装置において、前記イベントタイミングの間隔が所定符長より短く、それが所定数以上続く部分を前記曲データ中から検索して自動演奏区間に設定する設定手段と、前記イベントタイミングに達する毎に、現在読み出されている曲データが前記自動演奏区間であるか否かを判断し、自動演奏区間内であればその曲データを自動演奏する自動演奏手段とを具備することを特徴とする。
【０００８】
請求項４に記載の発明では、曲を構成する各音の音高および発音／消音するイベントタイミングを表す曲データを読み出し、演奏操作子がオン操作された時点で読み出されている曲データを再生する演奏方法において、前記イベントタイミングの間隔が所定符長より短く、それが所定数以上続く部分を前記曲データ中から検索して自動演奏区間に設定する設定過程と、前記イベントタイミングに達する毎に、現在読み出されている曲データが前記自動演奏区間であるか否かを判断し、自動演奏区間内であればその曲データを自動演奏する自動演奏過程とを具備することを特徴とする。
【０００９】
好ましい態様として、上記請求項３に従属する請求項５に記載の発明では、前記自動演奏手段は、演奏操作子のオン操作に応じて発音される音量とは異なる音量で前記自動演奏区間内の曲データを自動演奏することを特徴とする。
また、上記請求項４に従属する請求項６に記載の発明では、前記自動演奏過程は、演奏操作子のオン操作に応じて発音される音量とは異なる音量で前記自動演奏区間内の曲データを自動演奏することを特徴とする。
さらに、上記請求項３に従属する請求項７に記載の発明では、前記自動演奏手段は前記自動演奏区間内の曲データを自動演奏する場合、自動演奏区間内の曲データを構成する各音と、それより高い音程の装飾音とを交互に素速く発音させてトリル効果を付与することを特徴とする。
上記請求項４に従属する請求項８に記載の発明では、前記自動演奏過程は前記自動演奏区間内の曲データを自動演奏する場合、自動演奏区間内の曲データを構成する各音と、それより高い音程の装飾音とを交互に素速く発音させてトリル効果を付与することを特徴とする。
【００１０】
本発明では、イベントタイミングに達する毎に、演奏操作子がオン操作されずに発音されなかった拍期間が所定時間を超えているか否かを判定し、所定時間を超えていると判定された場合、現在読み出されている曲データを自動演奏する。そして、自動演奏の最中に演奏操作子がオン操作されると、拍期間をゼロリセットすると共に、自動演奏停止を指示するので、例えばワンキー操作（演奏操作子のオン操作）するタイミングが所々判らないようなうろ覚えの曲を演奏する場合、ワンキー操作しなかった拍期間が所定時間を超えると、自動的に曲データが演奏される自動演奏状態になり、この状態でワンキー操作を再開すると、その自動演奏が解除されて再びワンキープレイに復帰する結果、曲の内容を知らないユーザであっても曲演奏することが可能になる。
【００１１】
さらに、本発明では、イベントタイミングの間隔が所定符長より短く、それが所定数以上続く部分を前記曲データ中から検索して自動演奏区間に設定すると、イベントタイミングに達する毎に、現在読み出されている曲データが自動演奏区間であるか否かを判断し、自動演奏区間内であればその曲データを自動演奏するので、例えば１６分音符より短い符長の休符や音符が所定数以上続く部分など、ワンキー操作することがタイミング的に難しい部分を自動演奏区間に設定すれば、ワンキー操作されずともその区間は自動演奏される結果、曲の内容を知らないユーザであっても曲演奏することが可能になっている。
【００１２】
【発明の実施の形態】
本発明による演奏装置は、周知の電子楽器のみならず、パーソナルコンピュータ等を用いたＤＴＭ（デスク・トップ・ミュージック）装置等に適用され得る。以下では、本発明の実施の一形態による演奏装置を実施例とし、これについて図面を参照して説明する。
【００１３】
Ａ．第１実施例
（１）構成
図１は本発明による第１実施例の構成を示すブロック図である。この図において、１はパネル面上に配設される各種スイッチから構成されるパネルスイッチである。図示していないが、このパネルスイッチ１の内には電源をオンオフする電源スイッチの他、演奏操作子として使用されるワンキースイッチＯＳや、ワンキープレイの開始・停止を指示するスタート／ストップスイッチＳＳ等が設けられている。
２はＬＣＤパネル等から構成される表示部であり、後述するＣＰＵ３から供給される表示制御信号に応じて、装置各部の設定状態や動作状態などを画面表示する。ＣＰＵ３はパネルスイッチ１から供給されるスイッチイベントに応じて装置各部を制御する。具体的には、スタート／ストップスイッチＳＳの操作によりワンキープレイの開始が指示された場合、ワンキースイッチＯＳのワンキー操作に応じて音源６に楽音発生を指示するものであり、その特徴的な処理動作については追って詳述する。
【００１４】
４はＣＰＵ３にロードされる各種制御プログラムの他、ワンキープレイ用の曲データＫＤを記憶するＲＯＭである。曲データＫＤは、ワンキープレイされる演奏パートとワンキープレイに同期して自動演奏される演奏パートとから構成される。各演奏パートの曲データＫＤは、図２に図示するように、休符データＲＤおよび音符データＳＤを曲進行に対応させたアドレス順に記憶したデータ形式で形成される。
休符データＲＤは、消音すべき発音チャンネルを指定するチャンネル番号ＣＨ、消音を表すノートオフイベントＮＯＦ、消音すべき音高を表す音高データＰＤおよび休符期間（消音期間）を表す符長データＦＤから構成される。一方、音符データＳＤは、発音すべき発音チャンネルを指定するチャンネル番号ＣＨ、発音を表すノートオンイベントＮＯＮ、発音すべき音高を表す音高データＰＤおよび発音期間を表す符長データＦＤから構成される。
【００１５】
次に、再び図１を参照して実施例の構成について説明を進める。図１において、５はＣＰＵ３のワークエリアとして用いられるＲＡＭであり、各種レジスタ・フラグデータが一時記憶される。６は周知の波形メモリ読み出し方式により構成される音源である。音源６は各種音色の波形データを記憶しており、ＣＰＵ３の制御の下に、指定された音色の波形データを、当該ＣＰＵ３から与えられる楽音パラメータに従って楽音形成してなる楽音波形を出力する。また、音源６は複数の同時発音チャンネルを有しており、ワンキープレイが実行される場合には、ワンキープレイに割当てられた演奏パートの曲データＫＤをワンキー再生チャンネルにて再生し、それ以外の演奏パートは残りの発音チャンネルにて自動演奏するようになっている。７は音源６から出力される楽音波形をアナログ形式の楽音信号にＤ／Ａ変換した後、それを増幅してスピーカより放音させるサウンドシステムである。
【００１６】
（２）動作
次に、図３〜図８を参照して第１実施例の動作について説明する。以下では、最初に図３を参照して概略動作を示すメインルーチンの処理について述べた後、続いてこのメインルーチンからコールされる各処理の動作について順次説明して行く。
【００１７】
▲１▼メインルーチンの動作（概略動作）
第１実施例に電源が投入されると、ＣＰＵ３はＲＯＭ４から所定の制御プログラムを読み出してロードし、図３に示すメインルーチンを実行してステップＳＡ１に処理を進める。ステップＳＡ１では、ＲＡＭ５に格納される各種レジスタ／フラグをゼロリセットしたり初期値をセットする他、音源６に対して各種レジスタ／フラグ類の初期化指示を与えるイニシャライズを実行する。
【００１８】
次いで、ステップＳＡ２に進むと、ＣＰＵ３はパネルスイッチ２の各スイッチ操作に応じた処理、例えばスタート／ストップスイッチＳＳの操作に応じてワンキープレイを開始／停止させる等のスイッチ処理を実行する。続いて、ステップＳＡ３に進むと、スタート／ストップスイッチＳＳの操作によりワンキープレイが開始されている場合、ワンキースイッチＯＳのワンキー操作に応じてワンキープレイを進行させるワンキープレイ処理を実行する。
そして、ステップＳＡ４では、ワンキープレイが開始されている場合、各発音チャンネルに割当てられる演奏パートの曲データＫＤを再生する自動演奏処理を実行する。この後、ステップＳＡ５では、例えばワンキープレイ用の曲データＫＤを表示部２に楽譜表示する等の、その他の処理を実行し、以後、電源スイッチがオフされる迄、上述したステップＳＡ２〜ＳＡ５を繰り返し実行する。
【００１９】
▲２▼スイッチ処理の動作
次に、図４〜図５を参照してスイッチ処理の動作について説明する。前述のステップＳＡ２を介してスイッチ処理が実行されると、ＣＰＵ３は図４のステップＳＢ１に処理を進め、スタート／ストップスイッチ処理を実行し、続くステップＳＢ２にてその他のスイッチ処理を実行して本処理を完了させる。
【００２０】
▲３▼スタート／ストップスイッチ処理の動作
上記ステップＳＢ１を介してスタート／ストップスイッチ処理が実行されると、ＣＰＵ３は図５に示すステップＳＣ１に処理を進め、スタート／ストップスイッチＳＳがオン操作されたか否かを判断する。オン操作されていなければ、判断結果は「ＮＯ」となり、何も処理せずに本処理を完了させるが、オン操作された場合には判断結果が「ＹＥＳ」となり、次のステップＳＣ２に処理を進め、フラグＳＴＦを反転させる。
【００２１】
次いで、ステップＳＣ３では、反転されたフラグＳＴＦの値が「１」であるか否かを判断する。つまり、スタート／ストップスイッチＳＳはオン操作される毎にワンキープレイの開始を指示するスタート状態あるいはワンキープレイの停止を指示するストップ状態のいずれかを交互に設定するトグルスイッチなので、このステップＳＣ３ではオン操作に応じてワンキープレイの開始を指示するスタート状態に設定されたかどうかを判断する。反転されたフラグＳＴＦの値が「０」（ストップ状態）の場合、ステップＳＣ３の判断結果は「ＮＯ」となり、ステップＳＣ４に進み、発音中の全ての楽音を消音するよう音源６に指示して本処理を完了させる。
【００２２】
一方、反転されたフラグＳＴＦの値が「１」（スタート状態）であると、ステップＳＣ３の判断結果が「ＹＥＳ」となり、ステップＳＣ５に進む。ステップＳＣ５では、フラグＯＮＦおよびフラグＨＦをそれぞれゼロリセットする。なお、フラグＯＮＦとは、後述するように、ワンキースイッチＯＳがワンキー操作された場合に「１」がセットされるフラグである。フラグＨＦとは、ワンキー操作されなかった拍期間が一定時間を超えた場合に「１」がセットされるフラグであり、このフラグＨＦが意図するところについては追って述べる。
次いで、ステップＳＣ６では、曲データＫＤから最初に読み出す先頭データを指定し、続くステップＳＣ７では、読み出された先頭データがワンキー再生チャンネルに対応するか否かを判断する。読み出された先頭データがワンキー再生チャンネルに対応していない場合、つまりワンキープレイに同期して自動演奏される演奏パートの曲データＫＤであった場合には判断結果が「ＮＯ」となり、ステップＳＣ８に進み、その先頭データで定義されているイベントに応じた処理を実行した後、後述のステップＳＣ１３に処理を進める。
【００２３】
これに対し、読み出された先頭データがワンキー再生チャンネルに対応していれば、上記ステップＳＣ７の判断結果が「ＹＥＳ」となり、ステップＳＣ９に進む。ステップＳＣ９では、フラグＯＮＦが「１」か否かを判断する。フラグＯＮＦは後述するようにワンキースイッチＯＳをオン操作（ワンキー操作）した場合に「１」がセットされるようになっているので、このステップＳＣ９ではワンキー操作がなされたかどうかを判断する。
そして、ワンキー操作がなされていなければ、判断結果は「ＮＯ」となり、後述のステップＳＣ１３に処理を進める。一方、ワンキー操作がなされていると、判断結果が「ＹＥＳ」となり、次のステップＳＣ１０に処理を進める。ステップＳＣ１０では、読み出された先頭データが音符データＳＤであるか否かを判断する。
【００２４】
休符データＲＤであると、判断結果は「ＮＯ」となり、ステップＳＣ１１に進む。ステップＳＣ１１では、当該休符データＲＤ中の音高データＰＤで表される音高の楽音を消音するよう音源６に指示した後、ステップＳＣ１３に進む。一方、音符データＳＤであれば、上記ステップＳＣ１０の判断結果が「ＹＥＳ」となり、ステップＳＣ１２に進み、当該音符データＳＤ中の音高データＰＤで表される音高の楽音を発音するよう音源６に指示した後、ステップＳＣ１３に進む。
ステップＳＣ１３では、読み出された先頭データ中の符長データＦＤを、次イベントまでのタイミングを表す残り時間としてセットし、続くステップＳＣ１４ではその残り時間をレジスタＨＡＫＵに加算する。なお、このレジスタＨＡＫＵとは、ワンキー操作に応じて再生されなかった拍（音符の符長）を累算するレジスタである。
【００２５】
このように、スタート／ストップスイッチ処理では、スタート／ストップスイッチＳＳのオン操作によってワンキープレイの開始を指示するスタート状態に設定されると、曲データＫＤから先頭データを読み出し、それがワンキー再生チャンネルに対応した音符データＳＤであれば、その音符データＳＤをワンキー操作に応じて発音させると共に、当該音符データＳＤ中の符長データを次イベントまでのタイミングを表す残り時間として、レジスタＨＡＫＵに加算するようになっている。
【００２６】
▲４▼ワンキープレイ処理の動作
次に、図６を参照してワンキープレイ処理の動作について説明する。前述のステップＳＡ３を介して本処理が実行されると、ＣＰＵ３は図６のステップＳＤ１に処理を進め、ワンキースイッチＯＳがワンキー操作（オン操作）されたか否かを判断する。ワンキー操作されていなければ、判断結果は「ＮＯ」となり、何も処理せずに本処理を完了させるが、ワンキー操作された場合には判断結果が「ＹＥＳ」となり、次のステップＳＤ２に処理を進める。ステップＳＤ２では、ワンキー操作された旨を表すべくフラグＯＮＦに「１」をセットする。
次いで、ステップＳＤ３では、レジスタＨＡＫＵおよびフラグＨＦをそれぞれゼロリセットし、続くステップＳＤ４では、現在音符データＳＤが読み出されているか否かを判断する。休符データＲＤが読み出されている場合には、判断結果が「ＮＯ」となり、本処理を完了させるが、音符データＲＤが読み出されていれば、判断結果は「ＹＥＳ」となり、次のステップＳＤ５に処理を進め、その音符データＲＤ中の音高データＰＤで指定される音高の楽音を発音するよう音源６に指示してから本処理を完了させる。
【００２７】
▲５▼自動演奏処理の動作
次に、図７〜図８を参照して自動演奏処理の動作について説明する。前述のステップＳＡ４（図３参照）を介して自動演奏処理が実行されると、ＣＰＵ３は図７のステップＳＥ１に処理を進め、フラグＳＴＦが「１」か否か、すなわちスタート状態であるかどうかを判断する。フラグＳＴＦが「０」となるストップ状態であると、判断結果は「ＮＯ」となり、何も処理せずに本処理を完了させるが、スタート状態であれば、判断結果が「ＹＥＳ」となり、次のステップＳＥ２に進む。
ステップＳＥ２では、単位時間が経過したか否か、つまり、ＣＰＵ３ではタイマ割込み処理（不図示）によって再生テンポに応じたテンポクロックを発生しており、このテンポクロック１周期分の時間（単位時間）が経過したかどうかを判断する。単位時間が経過していなければ、判断結果は「ＮＯ」となり、一旦、本処理を完了させるが、単位時間分が経過すると、判断結果が「ＹＥＳ」となり、次のステップＳＥ３に処理を進める。
【００２８】
ステップＳＥ３では、次イベントまでのタイミングを表す残り時間から単位時間経過分を減算してその残り時間を更新する。次に、ステップＳＥ４では、更新した残り時間が「０」か否か、つまり、イベントタイミングに達したかどうかを判断する。イベントタイミングに達していなければ、判断結果は「ＮＯ」となり、一旦、本処理を完了させる。
一方、イベントタイミングに達した場合には判断結果が「ＹＥＳ」となり、次のステップＳＥ５に処理を進める。ステップＳＥ５では、フラグＨＦが「１」であるか否かを判断する。フラグＨＦが「１」になる条件とは、後述するように、ワンキー操作に応じて再生されなかった拍（音符の符長）を累算するレジスタＨＡＫＵの値が所定値を超えた場合である。したがって、このステップＳＥ５では、ワンキー操作されなかった拍期間が所定時間を超えたかどうかを判断している。
【００２９】
ワンキー操作されなかった拍期間が所定時間を超えていない場合には、上記ステップＳＥ５の判断結果が「ＮＯ」となり、後述のステップＳＥ７に処理を進めるが、超えている場合には判断結果が「ＹＥＳ」となり、ステップＳＥ６に進む。ステップＳＥ６では、フラグＯＮＦおよびフラグＨＦをそれぞれゼロリセットする。次いで、ステップＳＥ７では、次に読み出す曲データＫＤの有無、つまり曲終端に達したかどうかを判断する。
曲終端に達したならば、判断結果は「ＮＯ」となり、ステップＳＥ８に進む。ステップＳＥ８では、発音中にある全ての楽音を消音させる「オールノートオフ」を音源６に指示する。そして、ステップＳＥ９に進み、フラグＳＴＦをゼロリセットしてワンキープレイを停止させて本処理を完了させる。
【００３０】
一方、曲終端に達していなければ、上記ステップＳＥ７の判断結果は「ＹＥＳ」となり、ステップＳＥ１０に進み、ＲＯＭ４から次の曲データＫＤを読み出し、続くステップＳＥ１１では、その読み出した曲データＫＤがワンキー再生チャンネルに対応するか否かを判断する。
ここで、ワンキープレイに同期して自動演奏される演奏パートの曲データＫＤであると、判断結果は「ＮＯ」となり、ステップＳＥ１２に進み、その曲データＫＤにて定義されるイベントに応じた処理を実行した後、後述するステップＳＥ１７（図８参照）に処理を進める。
【００３１】
これに対し、ワンキープレイされる演奏パートの曲データＫＤであれば、上記ステップＳＥ１１の判断結果は「ＹＥＳ」となり、図８に示すステップＳＥ１３に進む。ステップＳＥ１３では、フラグＯＮＦが「０」であるか否か、すなわちワンキー操作されなかった拍期間が所定時間を超えた状態であるかどうかを判断する。
拍タイミングに対応してワンキー操作がなされていれば、フラグＯＮＦは「１」であるので、判断結果は「ＮＯ」となり、後述するステップＳＥ１７に進む。
一方、ワンキー操作されなかった拍期間が所定時間を超えていると、判断結果が「ＹＥＳ」となり、ステップＳＥ１４に処理を進める。ステップＳＥ１４では、現在読み出されている曲データＫＤが音符データＳＤであるか否かを判断する。
【００３２】
音符データＳＤであると、判断結果は「ＹＥＳ」となり、ステップＳＥ１５に処理を進め、当該音符データＳＤ中の音高データＰＤで表される音高の楽音を発音するよう音源６に指示してステップＳＥ１７に進む。一方、休符データＲＤであれば、判断結果が「ＮＯ」となり、ステップＳＥ１６に進み、当該休符データＲＤ中の音高データＰＤで表される音高の楽音を消音するよう音源６に指示してステップＳＥ１７に進む。
【００３３】
そして、ステップＳＥ１７では、読み出された音符データＳＤ（あるいは休符データＲＤ）中の符長データＦＤを、次イベントまでのタイミングを表す残り時間としてセットし、続くステップＳＥ１８ではその残り時間をレジスタＨＡＫＵに加算する。次いで、ステップＳＥ１９では、ワンキー操作されなかった拍期間を累算するレジスタＨＡＫＵの値が所定値を超えたか否かを判断する。超えていなければ、判断結果は「ＮＯ」となり、本処理を完了させるが、超えていると、判断結果が「ＹＥＳ」となり、ステップＳＥ２０に進み、フラグＨＦに「１」をセットしてから本処理を完了させる。
【００３４】
このように、自動演奏処理では、ワンキープレイに同期して自動演奏される演奏パートの曲データＫＤについては、イベントタイミングに達する毎に読み出して再生する自動演奏を進め、一方、ワンキープレイされる演奏パートの曲データＫＤについては、イベントタイミングに達する毎に、ワンキー操作されずに発音されなかった拍期間が所定時間を超えているか否かを判断し、超えている場合だけ曲データＫＤの音符データＳＤに従って発音させたり、休符データＲＤに従って消音させる自動演奏を進める。
【００３５】
つまり、ワンキープレイされる演奏パートの曲データＫＤの発音タイミングでワンキースイッチＯＳをワンキー操作している状態では、音符データＳＤに対応した楽音が再生されるが、ワンキー操作されずに発音されなかった拍期間が所定時間を超えると、ワンキー操作せずともワンキープレイされる演奏パートの曲データＫＤが自動演奏され、その状態でワンキー操作を再開すると、自動演奏が解除されて通常のワンキープレイに復帰する。
したがって、例えばワンキー操作するタイミングが所々判らないようなうろ覚えの曲を演奏する場合、ワンキー操作しなかった拍期間が所定時間を超えると、ワンキー操作せずとも自動的に曲データＫＤが演奏される自動演奏状態になり、この状態でワンキー操作を再開すると、その自動演奏が解除されて再びワンキープレイに復帰するので、曲の内容を知らないユーザであっても曲演奏することが可能になる。
【００３６】
Ｂ．第２実施例
上述の第１実施例では、ワンキー操作されずに発音されなかった拍期間が所定時間を超えた場合にワンキープレイされる演奏パートの曲データＫＤを自動演奏する状態に遷移させるのに対し、第２実施例ではワンキープレイされる演奏パートの曲データＫＤ中において、例えば１６分音符より短い符長の休符データＲＤや音符データＳＤが所定数以上続く部分、つまりワンキー操作することがタイミング的に難しい部分を自動演奏させることを特徴としている。
【００３７】
（１）構成
こうした特徴を備える第２実施例は、上述した第１実施例とほぼ同一の構成を有しているので、その説明については省略する。第２実施例が第１実施例の構成と相違する点は、曲データＫＤの先読み出しを指示する先読みスイッチＰＳを有し、このスイッチＰＳがオン操作された場合に、ワンキープレイされる演奏パートの曲データＫＤ中から例えば１６分音符より短い符長の休符データＲＤや音符データＳＤが所定数以上続くデータ列を検索し、その条件に合致するデータ列を識別するためのフラグを曲データＫＤ中に設けたことにある。
【００３８】
すなわち、図９に図示する通り、第２実施例による曲データＫＤは、第１実施例と同様、休符データＲＤおよび音符データＳＤから構成されるが、これらデータＲＤ，ＳＤ中に、自動演奏されるデータであるか否かを区別するＲフラグを具備している。このＲフラグは、対応するデータが自動演奏される場合にのみ「１」がセットされる。
したがって、第２実施例による曲データＫＤは、Ｒフラグを「１」にセットしたり、ゼロリセットする必要がある為、ワンキープレイされる演奏パートの曲データＫＤについてはＲＯＭ４からＲＡＭ５のデータ領域に転送して格納し直す。つまり、ワンキープレイに同期して自動演奏される演奏パートの曲データＫＤについてはＲＯＭ４から読み出し、ワンキープレイされる演奏パートの曲データＫＤについてはＲＡＭ５のデータ領域（不図示）から読み出すようになっている。
【００３９】
（２）動作
次に、図１０〜図１６を参照して第２実施例の動作について説明する。なお、ここでは、第１実施例と相違する「スイッチ処理」、「スタート／ストップ処理」、「先読みスイッチ処理」、「ワンキープレイ処理」および「自動演奏処理」の各動作について述べる。
【００４０】
▲１▼スイッチ処理の動作
前述した第１実施例と同様、図３に図示したメインルーチンのステップＳＡ２を介してスイッチ処理が実行されると、ＣＰＵ３は図１０のステップＳＦ１に処理を進め、スタート／ストップスイッチ処理を実行する。次いで、ステップＳＦ２では先読みスイッチ処理を実行し、この後、ステップＳＦ３にてその他のスイッチ処理を実行して本処理を完了させる。
【００４１】
▲２▼スタート／ストップスイッチ処理の動作
上記ステップＳＦ１を介して第２実施例によるスタート／ストップスイッチ処理が実行されると、ＣＰＵ３は図１１に示すステップＳＧ１に処理を進め、スタート／ストップスイッチＳＳがオン操作されたか否かを判断する。オン操作されていなければ、判断結果は「ＮＯ」となり、何も処理せずに本処理を完了させるが、オン操作された場合には判断結果が「ＹＥＳ」となり、次のステップＳＧ２に処理を進め、フラグＳＴＦを反転させる。次いで、ステップＳＧ３では、反転されたフラグＳＴＦの値が「１」であるか否か、つまりオン操作に応じてワンキープレイの開始を指示するスタート状態に設定されたかどうかを判断する。
【００４２】
反転されたフラグＳＴＦの値が「０」（ストップ状態）の場合、上記ステップＳＧ３の判断結果は「ＮＯ」となり、ステップＳＧ４に進み、「オールノートオフ」を音源６に送出して発音中にある全ての楽音の消音を指示して本処理を完了させる。
一方、反転されたフラグＳＴＦの値が「１」（スタート状態）であると、ステップＳＧ３の判断結果は「ＹＥＳ」となり、ステップＳＧ５に進む。ステップＳＧ５では、曲データＫＤから先頭データを読み出し、続くステップＳＧ６では、読み出された先頭データがワンキー再生チャンネルに対応するか否かを判断する。読み出された先頭データがワンキープレイに同期して自動演奏される演奏パートの曲データＫＤであると、判断結果は「ＮＯ」となり、ステップＳＧ７に進み、その先頭データで定義されているイベントに応じた処理を実行した後、後述のステップＳＧ１１に処理を進める。
【００４３】
これに対し、読み出された先頭データがワンキー再生チャンネルに対応したデータ、すなわちワンキープレイされる演奏パートの曲データＫＤであれば、上記ステップＳＧ６の判断結果は「ＹＥＳ」となり、ステップＳＧ８に進む。ステップＳＧ８では、その読み出された先頭データが音符データＳＤであるか否かを判断する。休符データＲＤであると、判断結果は「ＮＯ」となり、ステップＳＧ９に進み、フラグＨＦをゼロリセットした後、ステップＳＧ１１に進む。
一方、音符データＳＤであれば、上記ステップＳＧ８の判断結果が「ＹＥＳ」となり、ステップＳＧ１０に進み、フラグＨＦに「１」をセットする。そして、ステップＳＧ１１では、読み出された先頭データ中の符長データＦＤを、次イベントまでのタイミングを表す残り時間としてセットして本処理を完了させる。
【００４４】
このように、第２実施例のスタート／ストップスイッチ処理では、スタート／ストップスイッチＳＳのオン操作によってワンキープレイの開始を指示するスタート状態に設定されると、曲データＫＤから先頭データを読み出し、それがワンキー再生チャンネルに対応した音符データＳＤであれば、フラグＨＦに「１」をセットすると共に、当該音符データＳＤ中の符長データＦＤを次イベントまでのタイミングを表す残り時間としてセットし、一方、休符データＲＤであると、フラグＨＦをゼロリセットすると共に、当該休符データＲＤ中の符長データＦＤを次イベントまでのタイミングを表す残り時間としてセットするようになっている。
【００４５】
▲３▼先読みスイッチ処理の動作
次に、図１２を参照して先読みスイッチ処理の動作について説明する。前述したステップＳＦ２（図１０参照）を介して先読みスイッチ処理が実行されると、ＣＰＵ３は図１２に示すステップＳＨ１に処理を進め、先読みスイッチＰＳがオン操作されたか否かを判断する。オン操作されていなければ、判断結果は「ＮＯ」となり、何も処理せずに本処理を完了させるが、オン操作された場合には判断結果が「ＹＥＳ」となり、次のステップＳＨ２に処理を進め、カウンタｎをゼロリセットする。次いで、ステップＳＨ３では、ワンキープレイされる演奏パートの曲データＫＤから最初のデータ（休符データＲＤあるいは音符データＳＤ）を指定する。
【００４６】
そして、ステップＳＨ４では、指定されたデータ（休符データＲＤあるいは音符データＳＤ）中の符長データＦＤが所定値より小さいか否か、つまり条件合致するかどうかを判断する。なお、所定値としては例えば１６分音符長など、ビギナーにとってワンキー操作するタイミングが難しくなる符長を設定しておく。
符長データＦＤが所定値より小さく、条件合致した場合には判断結果が「ＹＥＳ」となり、次のステップＳＨ５に進み、カウンタｎをインクリメントして歩進させる。続いて、ステップＳＨ６では条件合致したデータ中のＲフラグを「１」にセットする。そして、ステップＳＨ７に進み、次データの有無、すなわち曲終端に達したかどうかを判断する。曲終端となり、次に指定するデータが無い場合には、判断結果が「ＮＯ」となり、本処理を完了させるが、曲終端に達していなければ、判断結果は「ＹＥＳ」となり、ステップＳＨ８に処理を進める。
【００４７】
ステップＳＨ８では、次データを指定して再び上記ステップＳＨ４に処理を戻し、指定したデータが条件合致するかどうかを判断する。そして、指定したデータ（休符データＲＤあるいは音符データＳＤ）の符長データＦＤが所定値より大きく条件合致しない場合には、上記ステップＳＨ４の判断結果が「ＮＯ」となり、ステップＳＨ９に進む。ステップＳＨ９では、条件合致したデータ個数を累算するカウンタｎの値が規定個数Ｎ以上に達しているかどうかを判断する。カウンタｎの値が規定個数Ｎ以上に達していると、判断結果は「ＹＥＳ」となり、ステップＳＨ１０に進み、カウンタｎをゼロリセットしてから上述のステップＳＨ７に処理を進める。
一方、カウンタｎの値が規定個数Ｎ以上に達していなければ、判断結果は「ＮＯ」となり、ステップＳＨ１１に進み、これまでの検索にて条件合致したｎ個のデータについて、それぞれ一旦「１」にセットされたＲフラグを全てゼロリセットした後、上述のステップＳＨ７に処理を進める。
【００４８】
このように、先読みスイッチ処理では、先読みスイッチＰＳのオン操作に応じて、ワンキープレイされる演奏パートの曲データＫＤを順番に読み出し、読み出したデータ（休符データＲＤあるいは音符データＳＤ）の符長データＦＤが所定値より小さければ、そのデータ中のＲフラグを「１」にセットする。そして、符長データＦＤが所定値より大きいという条件に合致しないデータが読み出されると、条件合致したデータ個数を累算するカウンタｎの値が規定個数Ｎ以上に達しているかどうかを判断し、規定個数Ｎ以上に達していなければ、条件合致したｎ個のデータについて、それぞれ一旦「１」にセットされていたＲフラグをゼロリセットする。
これにより、ビギナーにとってワンキー操作するタイミングが難しくなる１６分音符長より短い音符が規定個数Ｎ分連続するデータ列にのみ、それら各データに含まれるＲフラグが「１」にセットされるようになっている。
【００４９】
▲４▼ワンキープレイ処理の動作
次に、図１３を参照して第２実施例によるワンキープレイ処理の動作について説明する。前述した第１実施例と同様、ステップＳＡ３を介してワンキープレイ処理が実行されると、ＣＰＵ３は図１３のステップＳＪ１に処理を進め、ワンキースイッチＯＳの状態を判別する。すなわち、ワンキー操作されずスイッチイベントが生じない状態、オン操作に応じてスイッチオンイベントが生じた状態およびオフ操作に応じてスイッチオフイベントが生じた状態のいずれであるかを判別する。
スイッチイベントが生じなければ、何も処理せずに本処理を完了させるが、オン操作に応じてスイッチオンイベントが生じると、ステップＳＪ２に進み、ワンキー操作された旨を表すべくフラグＯＮＦに「１」をセットする。次いで、ステップＳＪ３では、フラグＨＦが「１」であるか否か、つまり音符データＳＤが読み出されている状態であるかどうかを判断する。
【００５０】
休符データＲＤが読み出されている状態であると、判断結果は「ＮＯ」となり、本処理を完了させるが、音符データＳＤが読み出されている状態であれば、判断結果が「ＹＥＳ」となり、ステップＳＪ４に進む。ステップＳＪ４では、フラグＲＦ、すなわち現在読み出されている音符データＳＤに含まれるＲフラグが「１」であるか否かを判断する。フラグＲＦが「１」であると、判断結果が「ＹＥＳ」となり、次のステップＳＪ５に進み、フラグＧＴＦに「１」をセットしてステップＳＪ６に進む。なお、フラグＧＴＦが「１」にセットされると、ワンキー操作されなくとも、Ｒフラグが「１」となる音符データＳＤや休符データＲＤを自動演奏する自動演奏モード下にある状態を表し、一方、フラグＧＴＦが「０」であると、通常のワンキープレイが行われる通常モード下にある状態を表す。
これに対し、フラグＲＦが「０」であれば、判断結果は「ＮＯ」となり、ステップＳＪ６に進む。ステップＳＪ６では、現在読み出されている音符データＳＤ中の音高データＰＤにて指定される音高の楽音を発音するよう音源６に指示して本処理を完了させる。
【００５１】
さて一方、オフ操作に応じてスイッチオフイベントが生じた場合には、ステップＳＪ７に進み、フラグＯＮＦをゼロリセットする。次いで、ステップＳＪ８では、フラグＧＴＦが「０」であるか否か、すなわち通常モード下であるかどうかを判断する。
フラグＧＴＦが「１」となる自動演奏モード下であると、判断結果は「ＮＯ」となり、本処理を完了させる。これに対し、フラグＧＴＦが「０」となる通常モード下であると、判断結果は「ＹＥＳ」となり、ステップＳＪ９に進み、現在読み出されている音符データＳＤ中の音高データＰＤにて指定される音高の楽音を消音するよう音源６に指示して本処理を完了させる。
【００５２】
このように、ワンキープレイ処理では、ワンキー操作によってスイッチオンイベントが生じると、フラグＯＮＦに「１」をセットした後、音符データＳＤが読み出されている状態であれば、その音符データＳＤに含まれるＲフラグが「１」であるか否かを判断し、フラグＲＦが「１」の場合にはフラグＧＴＦに「１」をセットして自動演奏モードに設定し、一方、フラグＲＦが「０」の場合にはフラグＧＴＦに「０」をセットして通常モードに設定してから現在読み出されている音符データＳＤ中の音高データＰＤにて指定される音高の楽音を発音するよう音源６に指示する。
一方、ワンキー操作が離されてスイッチオフイベントが生じると、フラグＯＮＦをゼロセットした後、通常モード下であるかどうかを判断し、自動演奏モード下であれば、消音指示することなく本処理を完了させ、通常モード下では現在読み出されている音符データＳＤ中の音高データＰＤにて指定される音高の楽音を消音するよう音源６に指示して本処理を完了させる。
【００５３】
▲５▼自動演奏処理の動作
次に、図１４〜図１６を参照して第２実施例による自動演奏処理の動作について説明する。前述した第１実施例と同様、ステップＳＡ４（図３参照）を介して自動演奏処理が実行されると、ＣＰＵ３は図１４のステップＳＫ１に処理を進め、フラグＳＴＦが「１」か否か、すなわちワンキープレイのスタート状態であるかどうかを判断する。フラグＳＴＦが「０」となるストップ状態であると、判断結果は「ＮＯ」となり、何も処理せずに本処理を完了させるが、スタート状態であれば、判断結果が「ＹＥＳ」となり、次のステップＳＫ２に進む。
ステップＳＫ２では、単位時間が経過したか否か、つまり、ＣＰＵ３ではタイマ割込み処理（不図示）によって再生テンポに応じたテンポクロックを発生しており、このテンポクロック１周期分の時間（単位時間）が経過したかどうかを判断する。単位時間が経過していなければ、判断結果は「ＮＯ」となり、一旦、本処理を完了させるが、単位時間分が経過すると、判断結果が「ＹＥＳ」となり、次のステップＳＫ３に処理を進める。
【００５４】
ステップＳＫ３では、次イベントまでのタイミングを表す残り時間から単位時間経過分を減算してその残り時間を更新する。次に、ステップＳＫ４では、更新した残り時間が「０」か否か、つまり、イベントタイミングに達したかどうかを判断する。イベントタイミングに達していなければ、判断結果は「ＮＯ」となり、一旦、本処理を完了させる。
一方、イベントタイミングに達した場合には判断結果が「ＹＥＳ」となり、次のステップＳＫ５に処理を進める。ステップＳＫ５では、次に読み出す曲データＫＤの有無、つまり曲終端に達したかどうかを判断する。曲終端に達したならば、判断結果は「ＮＯ」となり、ステップＳＫ６に処理を進め、発音中にある全ての楽音の消音を音源６に指示する。そして、ステップＳＫ７に進み、フラグＳＴＦをゼロリセットしてワンキープレイを停止させて本処理を完了させる。
【００５５】
一方、曲終端に達していなければ、上記ステップＳＫ５の判断結果は「ＹＥＳ」となり、ステップＳＫ８に進み、次の曲データＫＤがワンキー再生チャンネルに対応するか否かを判断する。
ここで、ワンキープレイに同期して自動演奏される演奏パートの曲データＫＤであると、判断結果は「ＮＯ」となり、ステップＳＫ９に進み、その曲データＫＤにて定義されるイベントに応じた処理を実行する。そして、ステップＳＫ１０に進み、読み出された曲データＫＤ（音符データＳＤあるいは休符データＲＤ）中の符長データＦＤを、次イベントまでのタイミングを表す残り時間としてセットして本処理を完了させる。
【００５６】
これに対し、ワンキープレイされる演奏パートの曲データＫＤであれば、上記ステップＳＫ８の判断結果は「ＹＥＳ」となり、図１５に示すステップＳＫ１１に進む。ステップＳＫ１１では、現在読み出されている曲データＫＤが音符データＳＤであるか否かを判断する。以下、曲データＫＤが音符データＳＤの場合と、休符データＲＤの場合とに分けて動作説明を進める。
【００５７】
（ａ）音符データＳＤの場合
現在読み出されている曲データＫＤが音符データＳＤであると、上記ステップＳＫ１１の判断結果が「ＹＥＳ」となり、ステップＳＫ１２に進む。ステップＳＫ１２では、当該音符データＳＤ中のＲフラグ値をフラグＲＦにセットする。次いで、ステップＳＫ１３では、このフラグＲＦの値が「１」であるか否か、すなわち自動演奏させる条件に合致した音符データＳＤであるかどうかを判断する。ここで、自動演奏させる条件に合致した音符データＳＤであれば、判断結果は「ＹＥＳ」となり、ステップＳＫ１４に進み、フラグＨＦを「１」にセットする。なお、フラグＲＦの値が「１」であって、かつフラグＨＦが「１」にセットされると、上述したワンキープレイ処理（図１３参照）において自動演奏モードに設定される。
一方、自動演奏させる条件に合致していない音符データＳＤであると、判断結果が「ＮＯ」となり、ステップＳＫ１５に進み、フラグＧＴＦをゼロリセットして通常モードに設定する。
【００５８】
そして、ステップＳＫ１６では、フラグＯＮＦが「１」であるか否か、つまりワンキースイッチＯＳがワンキー操作されたかどうかを判断する。ワンキー操作されていれば、判断結果は「ＹＥＳ」となり、ステップＳＫ１８に進み、音符データＳＤ中の音高データＰＤによって指定される音高の楽音を発音するよう音源６に指示し、続くステップＳＫ１９では、音符データＳＤ中の符長データＦＤを、次イベントまでのタイミングを表す残り時間としてセットして本処理を完了させる。
一方、ワンキー操作されていないと、上記ステップＳＫ１６の判断結果は「ＮＯ」となり、ステップＳＫ１７に進む。ステップＳＫ１７では、フラグＧＴＦが「１」であるか否か、つまり自動演奏モード下にあるかどうかを判断する。自動演奏モード下にある場合には、判断結果が「ＹＥＳ」となり、ステップＳＫ１８に進む。これに対し、自動演奏モード下でなければ、判断結果は「ＮＯ」となり、ステップＳＫ１９に進む。
このように、自動演奏させる条件に合致した音符データＳＤが読み出され、かつ自動演奏モード下にあると、ワンキー操作が行われずとも、その音符データＳＤが自動演奏されるようになっている。
【００５９】
（ｂ）休符データＲＤの場合
現在読み出されている曲データＫＤが休符データＲＤであると、上述したステップＳＫ１１（図１５参照）の判断結果が「ＮＯ」となり、図１６に示すステップＳＫ２０に進む。ステップＳＫ２０では、当該休符データＲＤ中のＲフラグ値をフラグＲＦにセットする。次いで、ステップＳＫ２１では、このフラグＲＦの値が「１」であるか否か、すなわち自動演奏させる条件に合致した休符データＲＤであるかどうかを判断する。自動演奏させる条件に合致した休符データＲＤであれば、判断結果は「ＹＥＳ」となり、ステップＳＫ２２に進み、フラグＨＦを「１」にセットする。
なお、フラグＲＦの値が「１」であって、かつフラグＨＦが「１」にセットされると、上述したワンキープレイ処理（図１３参照）において自動演奏モードに設定される。
一方、自動演奏させる条件に合致していない休符データＲＤであると、判断結果が「ＮＯ」となり、ステップＳＫ２３に進み、フラグＧＴＦをゼロリセットして通常モードに設定する。
【００６０】
そして、ステップＳＫ１６では、フラグＯＮＦが「１」であるか否か、つまりワンキー操作されたかどうかを判断する。ワンキー操作されていれば、判断結果は「ＹＥＳ」となり、ステップＳＫ２５に進み、休符データＲＤ中の音高データＰＤによって指定される音高の楽音を消音するよう音源６に指示し、続くステップＳＫ２６では、休符データＲＤ中の符長データＦＤを、次イベントまでのタイミングを表す残り時間としてセットして本処理を完了させる。
一方、ワンキー操作されていないと、上記ステップＳＫ２４の判断結果は「ＮＯ」となり、ステップＳＫ２７に進む。ステップＳＫ２７では、フラグＧＴＦが「１」であるか否か、つまり自動演奏モード下にあるかどうかを判断する。自動演奏モード下にある場合には、判断結果が「ＹＥＳ」となり、ステップＳＫ２５に進む。これに対し、自動演奏モード下でなければ、判断結果は「ＮＯ」となり、ステップＳＫ２６に進む。
このように、自動演奏させる条件に合致した休符データＲＤが読み出された場合には、ワンキー操作が行われずとも、その休符データＲＤに従って自動演奏されるようになっている。
【００６１】
以上説明したように、第２実施例によれば、ワンキープレイされる演奏パートの曲データＫＤ中において、例えば１６分音符より短い符長の休符データＲＤや音符データＳＤが所定数以上続く部分、つまりワンキー操作することがタイミング的に難しい部分を自動演奏させるので、曲の内容を知らないユーザであっても曲演奏することが可能になっている。
なお、本実施例では、ワンキープレイされる演奏パートの曲データＫＤにおいて、ワンキー操作することがタイミング的に難しい部分を自動演奏させる場合、その発音音量を制御していないが、これに替えて、例えばワンキープレイされる演奏パート中で自動演奏される曲データについては発音音量を下げて自動演奏されていることを表現することも可能である。
さらに、第２実施例では、ワンキー操作することがタイミング的に難しい部分の曲データＫＤをそのまま自動演奏するが、これに限らず、例えば自動演奏される区間の各音符とそれより２度高い装飾音とを交互に素速く発音させて所謂トリルと呼ばれる演奏効果を付与して自動演奏区間であることを表現することもできる。
【００６２】
【発明の効果】
請求項１，２に記載の発明によれば、イベントタイミングに達する毎に、演奏操作子がオン操作されずに発音されなかった拍期間が所定時間を超えているか否かを判定し、所定時間を超えていると判定された場合、現在読み出されている曲データを自動演奏する。そして、自動演奏の最中に演奏操作子がオン操作されると、拍期間をゼロリセットすると共に、自動演奏停止を指示するので、例えばワンキー操作（演奏操作子のオン操作）するタイミングが所々判らないようなうろ覚えの曲を演奏する場合、ワンキー操作しなかった拍期間が所定時間を超えると、自動的に曲データが演奏される自動演奏状態になり、この状態でワンキー操作を再開すると、その自動演奏が解除されて再びワンキープレイに復帰する結果、曲の内容を知らないユーザであっても曲演奏することができる。
請求項３，４に記載の発明によれば、イベントタイミングの間隔が所定符長より短く、それが所定数以上続く部分を前記曲データ中から検索して自動演奏区間に設定すると、イベントタイミングに達する毎に、現在読み出されている曲データが自動演奏区間であるか否かを判断し、自動演奏区間内であればその曲データを自動演奏するので、例えば１６分音符より短い符長の休符や音符が所定数以上続く部分など、ワンキー操作することがタイミング的に難しい部分を自動演奏区間に設定すれば、ワンキー操作せずともその区間は自動演奏される結果、曲の内容を知らないユーザであっても曲演奏することができる。
請求項５，６に記載の発明によれば、演奏操作子のオン操作に応じて発音される音量とは異なる音量で自動演奏区間内の曲データを自動演奏するので、ワンキー操作による演奏と自動演奏とを識別することができる。
請求項７，８に記載の発明によれば、自動演奏区間内の曲データを自動演奏する場合に、自動演奏区間内の曲データを構成する各音と、それより高い音程の装飾音とを交互に素速く発音させてトリル効果を付与するので、ワンキー操作による演奏と自動演奏とを識別することができる。
【図面の簡単な説明】
【図１】本発明による第１実施例の構成を示すブロック図である。
【図２】曲データＫＤの構成を示す図である。
【図３】メインルーチンの動作を示すフローチャートである。
【図４】スイッチ処理の動作を示すフローチャートである。
【図５】スタート／ストップスイッチ処理の動作を示すフローチャートである。
【図６】ワンキープレイ処理の動作を示すフローチャートである。
【図７】自動演奏処理の動作を示すフローチャートである。
【図８】自動演奏処理の動作を示すフローチャートである。
【図９】第２実施例による曲データＫＤの構成を示す図である。
【図１０】第２実施例によるスイッチ処理の動作を示すフローチャートである。
【図１１】第２実施例によるスタート／ストップスイッチ処理の動作を示すフローチャートである。
【図１２】第２実施例による先読みスイッチ処理の動作を示すフローチャートである。
【図１３】第２実施例によるワンキープレイ処理の動作を示すフローチャートである。
【図１４】第２実施例による自動演奏処理の動作を示すフローチャートである。
【図１５】第２実施例による自動演奏処理の動作を示すフローチャートである。
【図１６】第２実施例による自動演奏処理の動作を示すフローチャートである。
【符号の説明】
１　パネルスイッチ
２　表示部
３　ＣＰＵ
４　ＲＯＭ
５　ＲＡＭ
６　音源
７　サウンドシステム
【図１】
2004037697.tif 000003
【図２】
2004037697.tif 000004
【図３】
2004037697.tif 000005
【図４】
2004037697.tif 000006
【図５】
2004037697.tif 000007
【図６】
2004037697.tif 000008
【図７】
2004037697.tif 000009
【図８】
2004037697.tif 000010
【図９】
2004037697.tif 000011
【図１０】
2004037697.tif 000012
【図１１】
2004037697.tif 000013
【図１２】
2004037697.tif 000014
【図１３】
2004037697.tif 000015
【図１４】
2004037697.tif 000016
【図１５】
2004037697.tif 000017
【図１６】
2004037697.tif 000018