【事件の表示】
　特許第３１１９０６１号「自動演奏装置」の請求項１ないし４に係る特許に対する特許異議の申立てについて、次のとおり決定する。
【結　論】
　訂正を認める。
　特許第３１１９０６１号の請求項１ないし４に係る特許を維持する。
【理　由】
第１．手続きの経緯
　特許第３１１９０６１号の請求項１乃至４に係る発明についての出願は、平成５年１２月２８日に特許出願され、平成１２年１０月１３日に設定登録され、その後、その特許について異議申立人、丹羽美喜子より特許異議の申立てがなされ、取消理由通知がなされ、その指定期間内である平成１４年２月１２日に訂正請求がなされたものである。
　
第２．訂正の適否についての判断
１．訂正の概要
　平成１４年２月１２日付け訂正請求によって特許権者が求めている訂正の内容は以下のとおりである。（下線部分が訂正箇所）
　
（１）特許請求の範囲請求項１の記載を
「時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記億手段と、発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための制御情報を設定する設定手段と、前記演奏情報の再生中に、前記演奏情報記憶手段から前記演奏情報を構成する各データを順次読み出す読出手段と、前記演奏情報の再生中に、前記読出手段によって読み出されたデータが時間データか否かを判別する判別手段と、前記演奏情報の再生中に、前記判別において前記読出手段により前記時間データが読み出されたと判別され、当該読み出された時間データが処理対象の前記トラックに対応する場合に当該時間データおよび前記制御情報に基づいて当該時間データに対応して読み出された発音データの発音タイミングを演算する演算手段と、前記演奏情報の再生中に、前記演算手段によって演算された発音タイミングの到来により当該発音タイミングに対応する発音データに基づいて楽音を発生させる楽音発生手段と、を備えたことを特徴とする自動演奏装置。」と訂正する。
　
（２）特許請求の範囲請求項２を
「請求項１記載の自動演奏装置において、前記演算手段は、前記演奏情報の再生中に、前記誌出手段により読み出された時間データが処理対象とされた前記トラックに対応するものではない場合に当該時間データに基づいて当該時間データに対応して読み出された発音データの発音タイミングを演算することを特徴とする自動演奏装置。」と訂正する。
　
（３）特許請求の範囲請求項３を
「時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための制御情報を設定する設定手段と、前記演奏情報の再生中に、前記演奏情報記憶手段から前記演奏情報を構成する各データを順次読み出す読出手段と、前記演奏情報の再生中に、前記読出手段によって読み出されたデータが時間データか否かを判別する判別手段と、前記演奏情報の再生中に、前記判別手段において前記読出手段により前記時間データが読み出されたと判別された場合に、当該時間データが前記処理対象のトラックに対応するものであり、かつ、前記時間データに対応して読み出された発音データの発音タイミングが演奏進行上の弱拍に相当するか否かを判定し、この判定結果に基づいて読み出された時間データが前記処理対象のトラックに対応するものであり、かつ、前記時間データに対応して読み出された発音データの発音タイミングが演奏進行上の弱拍に相当する場合に、前記時間データおよび前記制御情報に基づいて当該時間データに対応して読み出された発音データの発音タイミングを遅延させる演算手段と、前記演奏情報の再生中に、前記演算手段によって遅延させられた発音タイミングの到来により当該発音タイミングに対応する発音データに基づいて楽音を発生させる楽音発生手段と、を備えたことを特徴とする自動演奏装置。」と訂正する。
　
（４）特許請求の範囲の請求項４を
「時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための第１の制御情報および前記第１の制御情報とは異なる第２の制御情報を設定する設定手段と、前記演奏情報の再生中に、前記演奏情報記憶手段から前記演奏情報を構成する各データを順次読み出す読出手段と、前記演奏情報の再生中に、前記読出手段によって読み出されたデータが時間データか否かを判別する判別手段と、前記演奏情報の再生中に、前記判別手段において前記読出手段により前記時間データが読み出されたと判別された場合に当該時間データが前記処理対象の前記トラックに対応する時間データであるか否かを判定し、この判定結果に基づいて読み出された時間データが処理対象の前記トラックに対応する場合に、当該時間データおよび前記第１の制御情報に基づいて当該時間データに対応して読み出された発音データの発音タイミングを決定し、あるいは、さらに前記時間データに対応して読み出された発音データの発音タイミングが演奏進行上の弱拍に相当する場合には前記時間データおよび前記第２の制御情報に基づいて当該時間データに対応して読み出された発音データの発音タイミンクを遅延させる演算手段と、前記演奏情報の再生中に、前記演算手段によって決定された、あるいは、前記演算手段によって遅延させられた発音タイミングの到来により当該発音タイミングに対応する発音データに基づいて楽音を発生させる楽音発生手段と、を備えたことを特徴とする自動演奏装置。」と訂正する。
　
（５）明細書の段落番号【０００５】、【０００６】、【０００７】、【０００８】を訂正明細書の記載のとおりに訂正する。
　
２．訂正の目的、新規事項の有無、特許請求の範囲の実質上拡張・変更の有無の判断
（１） 上記１（１）の訂正は、「読出手段」、「判別手段」、「演算手段」及び「楽音発生手段」が演奏情報の再生中に行われる構成要件であることを限定したものであり、願書に添付した明細書に記載した事項の範囲内においてする訂正である。
　また、上記の訂正は特許請求の範囲を実質的に拡張及び変更するものではない。
　
（２）上記１（２）の訂正は、「演算手段」が演奏情報の再生中に作用する構成要件であることを限定したものであり、願書に添付した明細書に記載した事項の範囲内においてする訂正である。
　また、上記の訂正は、特許請求の範囲を実質的に拡張及び変更するものではない。
　
（３）上記１（３）及び（４）の訂正は、「読出手段」、「判別手段」、「演算手段」及び「楽音発生手段」が演奏情報の再生中に行われる構成要件であることを限定したものであり、願書に添付した明細書に記載した事項の範囲内においてする訂正である。
　また、上記の訂正は特許請求の範囲を実質的に拡張及び変更するものではない。
　
（４）上記１（５）の訂正は、特許請求の範囲の記載と発明の詳細な説明の記載の整合性を図るため、明細書に記載した事項の範囲内で訂正したものであるから、明瞭でない記載の釈明を目的とするものであり、願書に添付した明細書に記載した事項の範囲内においてする訂正である。
　
３．むすび
　したがって、上記訂正は、特許法第１２０条の４第２項及び同条第３項で準用する第１２６条第２項及び第３項の規定に適合するので、当該訂正を認める。
　
第３． 特許異議の申し立てについての判断
１ 申立の概要
（１） 特許異議申立人は、請求項１及び２に係る発明は、甲第１号証（特開昭６４−４７９４号公報）、甲第２号証（特開平１−２９３３９４号公報）、甲第３号証（特開平５−２１６４７２号公報）及び甲第４号証（Ｃｕｂａｓｅオペレーション・マニュアル）をもとに容易に発明をすることができたものであり、特許法第２９条第２項の規定により、特許を受けることができないものであるから、特許を取り消すべきと主張している。
　
（２） また、請求項１乃至４に係る発明は、特許法第３６条第４項または第５項及び第６項に規定する要件を満たしていない特許出願に対してなされたものであり、取り消されるべき旨主張している。
　
２ 本件特許明細書
　　上記第２に記載したとおり、平成１４年２月１２日付け訂正請求書による訂正請求は認められるところとなったので、本件発明は、同訂正請求書に添付した訂正明細書の特許請求の範囲の請求項１乃至４に記載された事項により特定されるとおりのものである。
　
３　判断
（１）特許法第３６条について
　特許異議申立人が申し立てた請求項１乃至４に係る記載不備は、上記２．ウ．ii)ａの訂正により明確となったから、特許法第３６条第４項または第５項及び第６項に規定する要件を満たさない特許出願に対してなされたものであるとすることはできない。
　
（２）特許法第２９条について
　特許異議申立人が提出した甲第１号証には、
本件発明を特定する構成である、処理対象となる特定のトラックを判別し、この特定のトラックにおいて発音タイミングを変更するという技術が開示されていないことに加え、演奏情報の再生中に作用する構成要件であること、すなわち、リアルタイムに発音タイミングを変更することが記載されていない。
　一方、甲第２乃至４号証には、制御情報の設定及び発音タイミングの演算が処理対象のトラックを特定してなされることが開示されており、また、本願発明の従来技術として、リアルタイムに発音タイミングを変更することが開示されている。
　しかし、この従来技術では、クロツク周期自体を変化させることにより、リアルタイムでの発音タイミング変更を実現しているが、クロック周期の変化は全てのパートに対して影響を及ぼすため、一部のパート(トラック)についてのみ発音タイミングを変更させることは、意図されていない。
　特定のパートについてのみ発音タイミングを変更するためには、請求項１又は２記載の手段が必要であり、パートごとに発音タイミングを変更処理することが、甲第２乃至４号証に示されているだけでは、リアルタイムでの発音タイミングの変更を実現し、具体化するには、困難を伴うものといえる。
　したがって、請求項１及び２に係る発明は、甲第１乃至４号証及び本願明細書記載の従来技術に基づいて、当業者が容易に発明をすることができたこととはいえない。
　
第４　むすび
　以上のとおりであるから、特許異議の申立ての理由及び証拠によっては、本件発明の特許を取り消すことはできない。　
　また、他に本件発明の特許を取り消すべき理由を発見しない。
【異議決定日】
平成１４年４月２５日（２００２．４．２５）
【訂正の要旨】
（３）訂正の要旨
▲１▼訂正事項ａ
　特許請求の範囲請求項１を特許請求の範囲の減縮を目的として、「時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記億手段と、発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための制御情報を設定する設定手段と、前記演奏情報の再生中に、前記演奏情報記憶手段から前記演奏情報を構成する各データを順次読み出す読出手段と、前記演奏情報の再生中に、前記読出手段によって読み出されたデータが時間データか否かを判別する判別手段と、前記演奏情報の再生中に、前記判別において前記読出手段により前記時間データが読み出されたと判別され、当該読み出された時間データが処理対象の前記トラックに対応する場合に当該時間データおよび前記制御情報に基づいて当該時間データに対応して読み出された発音データの発音タイミングを演算する演算手段と、前記演奏情報の再生中に、前記演算手段によって演算された発音タイミングの到来により当該発音タイミングに対応する発音データに基づいて楽音を発生させる楽音発生手段と、を備えたことを特徴とする自動演奏装置。」と訂正する。
これに伴い、特許請求の範囲の記載と発明の詳細な説明の記載の整合性を図るため、明瞭でない記載の釈明を目的として、明細書の段落番号【０００５】を訂正する。
▲２▼訂正事項ｂ
特許請求の範囲請求項２を特許請求の範囲の減縮を目的として、「請求項１記載の自動演奏装置において、前記演算手段は、前記演奏情報の再生中に、前記読出手段により読み出された時間データが処理対象とされた前記トラックに対応するものではない場合に当該時間データに基づいて当該時間データに対応して読み出された発音データの発音タイミングを演算することを特徴とする自動演奏装置。」と訂正する。
　これに伴い、特許請求の範囲の記載と発明の詳細な説明の記載の整合性を図るため、明瞭でない記載の釈明を目的として、明細書の段落番号【０００６】を訂正する。
▲３▼訂正事項ｃ
　特許請求の範囲請求項３を特許請求の範囲の減縮を目的として、「時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、発音タイミングを制御したい処理対象の前記トラックに対向する前記発音データに基づく発音タイミングを制御するための制御情報を設定する設定手段と、前記演奏情報の再生中に、前記演奏情報記憶手段から前記演奏情報を構成する各データを順次読み出す読出手段と、前記演奏情報の再生中に、前記読出手段によって読み出されたデータが時間データか否かを判別する判別手段と、前記演奏情報の再生中に．前記判別手段において前記読出手段により前記時間データが読み出されたと判別された場合に、当該時間データが前記処理対象のトラックに対応するものであり、かつ、前記時間データに対応して読み出された発音データの発音タイミングが演奏進行上の弱拍に相当するか否かを判定し、この判定結果に基づいて読み出された時間データが前記処理対象のトラックに対応するものであり、かつ、前記時間データに対応して読み出された発音データの発音タイミングが演奏進行上の弱拍に相当する場合に、前記時間データおよび前記制御情報に基づいて当該時間データに対応して読み出された発音データの発音タイミングを遅延させる演算手段と、前記演奏情報の再生中に、前記演算手段によって遅延させられた発音タイミングの到来により当該発音タイミングに対応する発音データに基づいて楽音を発生させる楽音発生手段と、を備えたことを特徴とする自動演奏装置。」と訂正する。
　これに伴い、特許請求の範囲の記載と発明の詳細な説明の記載の整合性を図るため、明瞭でない記載の釈明を目的として、明細書の段落番号【０００７】を訂正する。
▲４▼訂正事項ｄ
特許請求の範囲の請求項４を特許請求の範囲の減縮を目的として、「時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、発音タイミングを制御したい処理対象の前記トラックに対応する前記発音にデータに基づく発音タイミングを制御するための第１の制御情報および前記第１の制御情報とは異なる第２の制御情報を設定する設定手段と、前記演奏情報の再生中に、前記演奏情報記憶手段から前記演奏情報を構成する各データを順次読み出す読出手段と、前記演奏情報の再生中に、前記読出手段によって読み出されたデータが時間データ‐夕か否かを判別する判別手段と、前記演奏情報の再生中に、前記判別手段において前記読出手段により前記時間データが読み出されたと判別された場合に当該時間データが前記処理対象の前記トラックに対応する時間データであるか否かを判定し、この判定結果に基づいて読み出された時間データが処理対象の前記トラックに対応する場合に、当該時間データおよび前記第１の制御情報に基づいて当該時間データに対応して読み出された発音データの発音タイミングを決定し、あるいは、さらに前記時間データに対応して読み出された発音データの発音タイミングが演奏進行上の弱拍に相当する場合には前記時間データおよび前記第２の制御情報に基づいて当該時間データに対応して読み出された発音データの発音タイミングを遅延させる演算手段と、前記演奏情報の再生中に、前記演算手段によって決定された、あるいは、前記演算手段によって遅延させられた発音タイミングの到来により当該発音タイミングに対応する発音データに基づいて楽音を発生させる楽音発生手段と、を備えたことを特徴とする自動演奏装置。」と訂正する。
　これに伴い、特許請求の範囲の記載と発明の詳細な説明の記載の整合性を図るため、明瞭でない記載の釈明を目的として、明細書の段落番号【０００８】を訂正する。
（５４）【発明の名称】
自動演奏装置
（５７）【特許請求の範囲】
　【請求項１】　時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、
　発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための制御情報を設定する設定手段と、
　
前記演奏情報の再生中に、
　
前記演奏情報の再生中に、前記読出手段によって
　
前記演奏情報の再生中に、
　
前記演奏情報の再生中に、前記演算手段によって
　を備えたことを特徴とする自動演奏装置。
　【請求項２】　請求項１記載の自動演奏装置において、
　前記演算手段は、
前記演奏情報の再生中に、前記読出手段によって
　【請求項３】　時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、
　発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための制御情報を設定する設定手段と、
　
前記演奏情報の再生中に、
　
前記演奏情報の再生中に、前記読出手段によって
　
前記演奏情報の再生中に、
　
前記演奏情報の再生中に、前記演算手段によって遅延させられた
　を備えたことを特徴とする自動演奏装置。
　【請求項４】　時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、
　発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための第１の制御情報および前記第１の制御情報とは異なる第２の制御情報を設定する設定手段と、
　
前記演奏情報の再生中に、
　
前記演奏情報の再生中に、前記読出手段によって
　
前記演奏情報の再生中に、
　
前記演奏情報の再生中に、前記演算手段によって
前記演算手段によって
せら
　を備えたことを特徴とする自動演奏装置。
【発明の詳細な説明】
　【０００１】
　【産業上の利用分野】
　この発明は、演奏情報に基づいて自動演奏を行う自動演奏装置に関する。
　【０００２】
　【従来の技術】
　従来より、シーケンサ等の自動演奏装置においては、「クォンタイズ」という機能を有するものがある。この機能は、図１１に示すように、入力された演奏情報の発音タイミングを、クロックのジャストタイミングに合せるものである。ところで、一般的な自動演奏装置におけるクォンタイズ機能は、楽曲の最初から最後に至るまで演奏情報を自動的に編集し、しかる後に楽曲を再生するものであるから、楽曲を聞きながらリアルタイムにクォンタイズの強さ等を調節することができなかった。
　【０００３】
　一方、特開平３−２８２５９１号公報によれば、演奏情報を再生する際のクロック周期を、ビートタイミング附近では短く、それ以外の場合は長く設定することにより、クォンタイズをリアルタイムに実現する技術が開示されている。すなわち、元々の演奏情報の発音タイミングは図１２の横軸に示すようになっているが、上述したようにクロック周期を制御することにより、同図の縦軸に示すタイミングで各発音タイミングを制御する。これにより、楽曲を聞きながらリアルタイムにクォンタイズの強さ等を調節することが可能になっている。また、従来より、ジャズ演奏においては、「スイング」という奏法が知られている。これは、図６に示すように、強拍における演奏タイミングを本来のタイミングに保持する一方、弱拍における演奏タイミングを若干遅らせるものである。
　【０００４】
　【発明が解決しようとする課題】
　ところで、演奏情報は一般的に複数のトラックから構成されており、これを再生することによって多種多様な楽音によるアンサンブルを行うことが可能になっている。その際、一部のトラックに対してのみクォンタイズを施したい場合もある。しかし、上記特開平３−２８２５９１号公報に開示された技術によれば、クロック周期自体を変化させるため、一部のトラックについてのみクォンタイズを施すことは不可能であった。また、複数の全トラックに対して自動的に同様にスイングを施す自動演奏装置はあったが、複数トラックのそれぞれに独立してスイングを施すことはできなかった。この発明は上述した事情に鑑みてなされたものであり、楽音の発音タイミングを精密に、かつリアルタイムに制御できる自動演奏装置を提供することを目的としている。
　【０００５】
　【課題を解決するための手段】
　上記課題を解決するため、請求項１記載の構成は、時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための制御情報を設定する設定手段と、
前記演奏情報の再生中に、
前記演奏情報の再生中に、前記読出手段によって
前記演奏情報の再生中に、
前記演奏情報の再生中に、前記演算手段によって
　【０００６】
　また、請求項２記載の構成は、請求項１記載の構成において、前記演算手段は、
前記演奏情報の再生中に、前記読出手段によって
　【０００７】
　請求項３記載の構成は、時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための制御情報を設定する設定手段と、
前記演奏情報の再生中に、
前記演奏情報の再生中に、前記読出手段によって
前記演奏情報の再生中に、
前記演奏情報の再生中に、前記演算手段によって遅延させられた
　【０００８】
　請求項４記載の構成は、時間データおよび発音データを含む演奏情報を複数のトラック分記憶する演奏情報記憶手段と、発音タイミングを制御したい処理対象の前記トラックに対応する前記発音データに基づく発音タイミングを制御するための第１の制御情報および前記第１の制御情報とは異なる第２の制御情報を設定する設定手段と、
前記演奏情報の再生中に、
前記演奏情報の再生中に、前記読出手段によって
前記演奏情報の再生中に、
前記演奏情報の再生中に、前記演算手段によって
前記演算手段によって
せら
　【０００９】
　【実施例】
Ａ．実施例の構成
　以下、図１を参照してこの発明の一実施例による電子楽器の構成を説明する。図において１は操作子群であり、演奏者によって操作される鍵盤や音色操作子、表示器等が設けられ、これら各種の操作子に対する操作情報をバス９を介して出力するとともに、バス９を介して供給された情報を表示器に表示する。また、操作子群１においては、（ａ）クォンタイズ値（クォンタイズを行うビートタイミングの長さ）の設定を指定するクォンタイズ値設定スイッチと、（ｂ）クォンタイズ強さ（発音タイミングがビートタイミングに収束する度合い）の設定を指示するクォンタイズ強さ設定スイッチと、（ｃ）スイング率（スイングの強さ）の設定を指示するスイング率設定スイッチと、（ｄ）演奏情報の記憶を指定する記憶スイッチと、（ｅ）自動演奏の開始／終了を指示するＲＵＮスイッチとが設けられている。なお、上述した各スイッチのうち、記憶スイッチはロック式のスイッチであり、他のスイッチはアンロック式のスイッチである。
　【００１０】
　２は自動演奏メモリであり、自動演奏に用いられる演奏情報が記憶される。３はトーンジェネレータであり、バス９を介して供給された演奏情報に基づいて楽音信号を合成する。合成された楽音信号は、サウンドシステム４を介して発音される。６はＣＰＵであり、プログラムメモリ７内に格納された制御プログラムに基づいて他の構成要素を制御する。５はタイマであり、ＣＰＵ６に対して所定時間毎にタイマ割込を発生させる。８はワーキングメモリであり、ＣＰＵ６における各種の処理に用いられる。
　【００１１】
Ｂ．実施例の動作
Ｂ−１．実施例の全体動作
　次に本実施例の動作について説明する。まず、本実施例の電子楽器の電源が投入されると、図３，図４に示すメインルーチンが起動される。これらの図において処理が開始されると、まず、ステップＳＰ１において所定の初期設定が行われる。次に、ステップＳＰ２〜ＳＰ１９の処理が繰り返し実行されるが、ステップＳＰ２，５，８，１１，１３においては、操作子群１内の所定の各スイッチ（クォンタイズ値設定スイッチ、クォンタイズ強さ設定スイッチ、スイング率設定スイッチ、記憶スイッチ、およびＲＵＮスイッチ）の操作状態が判定される。すなわち、これらのステップが実行された際に対応するスイッチのオンイベントが有ると、これらのステップにおいて「ＹＥＳ」と判定され対応する処理が実行される。一方、オンイベントが無ければ「ＮＯ」と判定され当該処理が実行されなくなる。なお、操作子群１の操作状態にかかわらず行うべきその他の処理はステップＳＰ１９において実行される。以下、各スイッチのオンイベントが有った場合の処理を各々説明する。
　【００１２】
　記憶スイッチのオンイベントに対する処理本実施例においては、自動演奏メモリ２に記憶された演奏情報に対してクォンタイズあるいはスイングを施すのであるが、その前提として、自動演奏メモリ２に処理対象となる演奏情報を記憶させる必要がある。この演奏情報はＭＩＤＩ信号等により外部から入力しても良く、操作子群１に設けられた鍵盤の演奏によっても入力してもよい。後者の場合、演奏者は操作子群１に設けられた記憶スイッチをオン状態に設定する。記憶スイッチがオン状態に設定されると、ステップＳＰ１１が実行された場合に「ＹＥＳ」と判定され、処理がステップＳＰ１２に進み、演奏情報記憶処理が行われる。すなわち、ステップＳＰ１２においては、操作子群１における新たな演奏イベント（鍵盤、音色設定操作子等のイベント）が随時検出され、これらイベントに基づいて、演奏情報が生成され、自動演奏メモリ２に記憶される。演奏者は演奏情報の入カが終了すると、記憶スイッチをオフ状態にする。これにより、以後ステップＳＰ１１が実行された場合は「ＮＯ」と判定され、処理がステップＳＰ１３に進む。
　【００１３】
　クォンタイズ値設定スイッチのオンイベントに対する処理演奏者は自動演奏メモリ２に記憶された演奏情報を適宜再生することができる（詳細は後述する）が、その際、楽音にクォンタイズを施す場合には、クォンタイズ値設定スイッチを押下する。クォンタイズ値設定スイッチにオンイベントが発生すると、次に処理がステップＳＰ２に進んだ際に「ＹＥＳ」と判定され、処理はステップＳＰ３に進む。ステップＳＰ３においては、演奏者によって、クォンタイズ値を設定すべきトラックナンバが指定され、指定された値が変数ＴＲＫに記憶される。なお、本実施例にあっては演奏情報に最大「１６」のトラックを設けることが可能であり、各トラックは「０」〜「１５」のトラックナンバに対応している。
　【００１４】
　次に、処理がステップＳＰ４に進むと、演奏者によってクォンタイズ値が設定される。ここで設定されるクォンタイズ値は、下表１の左欄に示す何れかである。また、ステップＳＰ４においては、設定されたクォンタイズ値に応じて、下表１右欄のクロック値が変数ＱＶＣＬ（ＴＲＫ）に代入される。すなわち、「４分音符」のクロック数を「９６」とした場合に、クォンタイズ値に係る音符の長さに応じたクロック値が設定されることになる。
　【００１５】
　【表１】
　【００１６】
　クォンタイズ強さ設定スイッチのオンイベントに対する処理次に、クォンタイズ強さ設定スイッチにオンイベントが発生すると、次にステップＳＰ５が実行された際に「ＹＥＳ」と判定され、処理はステップＳＰ６に進む。ステップＳＰ６においては、演奏者によって、クォンタイズ強さを設定すべきトラックナンバが指定され、指定された値が変数ＴＲＫに記憶される。次に、処理がステップＳＰ７に進むと、演奏者によって「０」〜「１．０」の範囲内でクォンタイズ強さＱＳＴＲ（ＴＲＫ）が設定される。図５においては、クォンタイズ強さＱＳＴＲ（ＴＲＫ）に応じて、演奏情報の発音タイミングがビートタイミングに収束する様子が示されている。同図（ａ）は、クォンタイズ値が「４分音符」である場合のビートタイミングである（なお、図中の８分音符は発音タイミングを示す）。同図（ｃ）はクォンタイズを施す前の演奏情報の発音タイミングの一例である。
　【００１７】
　詳細は後述するが、ここでクォンタイズ強さＱＳＴＲ（ＴＲＫ）を「０」に設定すると、クォンタイズが全く施されない状態になる。また、クォンタイズ強さＱＳＴＲ（ＴＲＫ）を「１．０」に設定すると、同図（ｅ）に示すように、各演奏情報の発音タイミングは最も近接するビートタイミングに一致する。また、クォンタイズ強さＱＳＴＲ（ＴＲＫ）を「０．５」に設定すると、各演奏情報の発音タイミングは、「ビートタイミング±０．２５Ｔ（但しＴはビートタイミングの周期）」の範囲に収束する。このように、所望のクォンタイズ強さＱＳＴＲ（ＴＲＫ）が設定されると、処理はステップＳＰ８に進み、ステップＳＰ２〜ＳＰ１９のループが繰り返される。
　【００１８】
　スイング率設定スイッチのオンイベントに対する処理演奏者は、演奏情報にスイングを施す場合には、操作子群１においてスイング率設定スイッチを押下する。スイング率設定スイッチのオンイベントが検出されると、次に処理がステップＳＰ８に進んだ際に「ＹＥＳ」と判定され、処理がステップＳＰ９に進む。ステップＳＰ９においては、演奏者によって、スイング率を設定すべきトラックナンバが指定され、指定された値が変数ＴＲＫに記憶される。次に、処理がステップＳＰ１０に進むと、演奏者によって「０．５」〜「０．７５」の範囲内でスイング率ＳＦＬＶＬ（ＴＲＫ）が設定される。
　【００１９】
　ここで、スイング率ＳＦＬＶＬ（ＴＲＫ）が「０．５」である場合は全くスイングを行わない場合に等しく、その値が大となるとともに弱拍における発音タイミングが遅れ、「０．７５」の場合はビート周期の半周期相当だけ弱拍における発音タイミングが遅れる。なお、その処理の詳細については後述する。このように、所望のスイング率ＳＦＬＶＬ（ＴＲＫ）が設定されると、処理はステップＳＰ１１に進み、ステップＳＰ２〜ＳＰ１９のループが繰り返される。
　【００２０】
　ＲＵＮスイッチのオンイベントに対する処理演奏者は、自動演奏を開始または停止する場合は、操作子群１においてＲＵＮスイッチを押下する。ＲＵＮスイッチのオンイベントが検出されると、次に処理がステップＳＰ１３に進んだ際に「ＹＥＳ」と判定され、処理がステップＳＰ１４に進む。ステップＳＰ１４においては、フラグＲＵＮの値が反転される。ここで、フラグＲＵＮは“１”または“０”の値をとるフラグであり、“１”の場合は自動演奏が実行中であることを示し、“０”の場合は自動演奏が停止中であることを示す。なお、フラグＲＵＮはステップＳＰ１の初期設定においては“０”に設定されている。次に、処理がステップＳＰ１５に進むと、フラグＲＵＮは“１”であるか否かが判定される。
　【００２１】
　ここで、自動演奏の実行中にＲＵＮスイッチのオンイベントが発生すると、ステップＳＰ１４においてフラグＲＵＮが“１”から“０”に変更されるから、ステップＳＰ１５においては「ＮＯ」と判定される。この場合、処理はステップＳＰ１８に進み、自動演奏音消音処理が行われる。すなわち、トーンジェネレータ３の各チャンネルに対してノートオフ信号が供給される。
　【００２２】
　一方、自動演奏を行っていない状態でＲＵＮスイッチにオンイベントが発生すると、ステップＳＰ１４においてフラグＲＵＮが“０”から“１”に変更されるから、ステップＳＰ１５においては「ＹＥＳ」と判定され、処理がステップＳＰ１６に進む。ステップＳＰ１６においては、タイマ割込ルーチン（図７，図８）で用いられる各種の変数に対して初期設定が行われる。なお、その詳細については後述する。ところで、本実施例においては各トラックに対して各々ポインタ変数を設定し、このポインタ変数によって自動演奏メモリ２内の読出しアドレスが決定される。次に、処理がステップＳＰ１７に進むと、全てのトラックのポインタが、各トラックの先頭アドレスに設定される。以上の処理が終了すると、処理はステップＳＰ１９に進み、ステップＳＰ２〜ＳＰ１９のループが繰り返される。
　【００２３】
Ｂ−２．タイマ割込処理
　本実施例にあっては、４分音符の長さの「１／９６」毎に、ＣＰＵ６にタイマ割込が発生し、これによって自動演奏が行われる。その詳細を図７，図８を参照し説明する。タイマ割込が発生すると、図７において処理はステップＳＰＡ１に進み、フラグＲＵＮが“１”であるか否かが判定される。フラグＲＵＮが“０”であれば、自動演奏を行っていない状態であるため、なんら処理を行わずメインルーチン（図３，図４）に処理が戻る。フラグＲＵＮが“１”であれば「ＹＥＳ」と判定され処理がステップＳＰＡ２に進む。ステップＳＰＡ２においては、変数ＴＲが「０」に設定される。なお、変数ＴＲは処理対象となるトラックナンバを示すものであり、以下「トラックナンバＴＲ」という。
　【００２４】
　次に、処理がステップＳＰＡ３に進むと、変数ＰＴＭ（ＴＲ）（この時点ではＰＴＭ（Ｏ））が「０」以下であるか否かが判定される。ところで、ステップＳＰＡ３は、先にステップＳＰ１４（図４参照）においてフラグＲＵＮが“１”に設定された場合にのみ実行されるが、フラグＲＵＮが“１”になった場合にはステップＳＰ１６において変数ＰＴＭ（ｉ）（但し、ｉ＝０〜１５）が「０」に設定される。従って、その後最初にステップＳＰＡ３が実行されると「ＹＥＳ」と判定され処理はステップＳＰＡ４に進む。
　【００２５】
　ステップＳＰＡ４においては、トラックナンバＴＲのポインタで指定されるデータが、自動演奏メモリ２から読出される。ここで、先にステップＳＰ１７が実行された際に、各トラックナンバについてポインタが先頭に設定されたから、ここではトラックナンバ「０」の最初の演奏情報が自動演奏メモリ２から読出されることになる。次に、処理がステップＳＰＡ５に進むと、当該ポインタが、次の演奏情報を指すようにインクリメントされる。
　【００２６】
　ここで、本実施例における演奏情報のフォーマットを図２を参照し説明する。演奏情報は、発音データ２０と、時間データ３０と、エンドデータ４０とに大別される。発音データ２０は、識別コード２１とキーコード２２と発音時間２３とから構成されている。識別コード２１は、この演奏情報（発音データ２０）が発音データであることを示すものであり、キーコード２２は発音すべき音高を示すものであり、発音時間２３は、この音高に対して発音を行うべき時間を示すものである。
　【００２７】
　また、時間データ３０は、識別コード３１とデュレーション３２とから構成されている。識別コード３１は、この演奏情報（時間データ３０）が時間データであることを示すものであり、デュレーション３２は前回の発音イベントから次の発音イベントが生ずるまでの時間を指定するものである。また、エンドデータ４０は、対応するトラックについて、演奏情報が終了したことを示すものである。以下の処理においては、演奏情報の種類に応じて処理が分岐するため、場合を分けて動作を説明する。
　【００２８】
　発音データを読出した場合の処理処理がステップＳＰＡ６に進むと、ステップＳＰＡ４において読出された演奏情報がエンドデータであるか否かが判定される。読出された演奏情報が発音データであると仮定すると、ここで「ＮＯ」と判定され、処理はステップＳＰＡ７に進む。ステップＳＰＡ７では、読出された演奏情報が時間データであるか否かが判定される。ここにおいても「ＮＯ」と判定され処理はステップＳＰＡ１６に進む。ステップＳＰＡ１６においては、図９に示す発音処理サブルーチンが呼出される。
　【００２９】
　図９において処理が開始されると、ステップＳＰＡ５１におし、て、キーコード２２の内容が変数ＫＣに代入される。次に、ステップＳＰＡ５２においては、発音時間２３の内容が変数ＧＴ（ＴＲ）に代入される。次に、処理がステップＳＰＡ５３に進むと、キーオン信号、変数ＫＣ（キーコード）およびトラックナンバＴＲがトーンジェネレータ３に供給される。トーンジェネレータ３においては、これらのデータに基づいて楽音信号が合成され、合成された楽音信号はサウンドシステム４を介して発音される。
　【００３０】
　以上の処理が終了すると、タイマ割込ルーチン（図７，図８）のステップＳＰＡ３に処理が戻る。ここで変数ＰＴＭ（ＴＲ）は依然として「０」であるから処理はステップＳＰＡ４に進み、次の演奏情報が読出される。そして、ステップＳＰＡ５を介して、トラックナンバＴＲに係るポインタがインクリメントされる。図２に示す例にあっては、発音データ２０の後に直ちに時間データ３０が設けられているが、和音を発音する場合等においては、複数の発音データの後に時間データが設けられることもある。この場合には、これら複数の発音データに対して発音処理（ステップＳＰＡ１６）が繰り返されることになる。
　【００３１】
　時間データを読出した場合の処理ステップＳＰＡ４で読出された演奏情報が時間データであれば、処理はステップＳＰＡ６、ＳＰＡ７を介してステップＳＰＡ８に進み、デュレーション３２の内容が変数ＴＭに代入される。次に処理がステップＳＰＡ９に進むと、クロック値ＱＶＣＬ（ＴＲ）が「０」以上であるか否かが判定される。すなわち、クォンタイズを行う場合はクロック値ＱＶＣＬ（ＴＲ）が「１」以上の値になる（表１参照）から、ステップＳＰＡ９においてはクォンタイズを行うか否かが判定される。ここで、ステップＳＰＡ９の判定内容に応じた処理を各々説明する。
　【００３２】
（ａ）クォンタイズを行わない場合の処理クォンタイズを行わない場合はステップＳＰＡ９において「ＮＯ」と判定され、処理はステップＳＰＡ１７に進む。ステップＳＰＡ１７においては、変数ＰＴＭ（ＴＲ）に対して、変数ＴＭの内容（すなわちデュレーション３２の内容）が加算される。これにより、変数ＰＴＭ（ＴＲ）の内容は「１」以上になる。従って、次に処理がステップＳＰＡ３に進むと、ここで「ＮＯ」と判定されるから処理はステップＳＰＡ１３に進み、図１０に示すカウントサブルーチンが呼出される。
　【００３３】
　図１０において処理が開始されると、ステップＳＰＡ６１において、変数ＰＴＭ（ＴＲ）が「１」だけデクリメントされる。従って、変数ＰＴＭ（ＴＲ）の内容は、「ＴＭ−１」になる。次に処理がステップＳＰＡ６２に進むと、変数ＧＴ（ＴＲ）が「０」以下であるか否かが判定される。変数ＧＴ（ＴＲ）には、先にステップＳＰＡ５２が実行された際に発音時間２３の内容が代入されている。従って、この時点では変数ＧＴ（ＴＲ）は「１」以上であるから「ＹＥＳ」と判定され、処理はステップＳＰＡ６４に進む。ステップＳＰＡ６４においては、変数ＧＴ（ＴＲ）の内容が「１」だけデクリメントされ、処理がタイマ割込ルーチン（図７，図８）に戻る。
　【００３４】
　ステップＳＰＡ１４にあっては、トラックナンバＴＲが「１」だけインクリメントされる。トラックナンバＴＲは、「０」であったから、ここで「１」に設定される。次にステップＳＰＡ１５を介して処理がステップＳＰＡ３に進むと、トラックナンバ「１」のトラックに対して、上述したのと同様の処理が行われる。このように、ステップＳＰＡ１４を介してトラックナンバＴＲがインクリメントされ、トラックナンバ「１」〜「１５」の各トラックに対する処理が行われる。ステップＳＰＡ１５においては、トラックナンバＴＲが「１６」になったか否かが判定され、ここで「ＹＥＳ」と判定されると処理がメインルーチン（図３，図４）に戻る。
　【００３５】
　以降、所定時間毎にタイマ割込が発生するが、上述したようにステップＳＰＡ１７およびＳＰＡ１４が実行されたことにより、トラックナンバＴＲ＝「０」に対して、変数ＰＴＭ（ＴＲ）は「ＴＭ−１」に設定されている。従って、トラックナンバＴＲ＝「０」の時にステップＳＰＡ３が実行されると「ＮＯ」と判定され、ステップＳＰＡ１３を介して、変数ＰＴＭ（ＴＲ）が「ＴＭ−２」に設定される。このように、タイマ割込が発生する毎に変数ＰＴＭ（ＴＲ）が「１」づつデクリメントされる。そして、タイマ割込が「ＴＭ」回繰り返され、変数ＰＴＭ（ＴＲ）が「０」になると、ステップＳＰＡ３において「ＹＥＳ」と判定され、ステップＳＰＡ４を介して次の演奏情報が読出される。すなわち、変数ＰＴＭ（ＴＲ）は、トラックナンバＴＲについて次の演奏情報を読出すまでの時間（タイマ割込回数）に対応している。そこで、以下変数ＰＴＭ（ＴＲ）を「残余デュレーション」といい、変数ＴＭを「デュレーション」という。
　【００３６】
（ｂ）クォンタイズを行う場合の処理一方、クォンタイズを行う場合はステップＳＰＡ９において「ＹＥＳ」判定され、処理はステップＳＰＡ１０に進む。ステップＳＰＡ１０においては、変数ＱＣＮＴ１（ＴＲ）に対してデュレーションＴＭが加算される。ここで、変数ＱＣＮＴ１（ｉ）（但し、ｉ＝０〜１５）には、ステップＳＰ１６（図４参照）において、各々クロック値ＱＶＣＬ（ｉ）の半値に初期設定されている。一例として、クォンタイズ値が「４分音符」であれば、クロック値ＱＶＣＬ（ＴＲ）は「９６」であるから、変数ＱＣＮＴ１（ＴＲ）は「４８」に初期設定される。また、デュレーションＴＭが「１６分音符」に相当する「２４」（＝９６／４）であったとすると、ステップＳＰＡ１０においては、変数ＱＣＮＴ１（ＴＲ）に「７２」が代入される。
　【００３７】
　また、ステップＳＰＡ１０においては、残余デュレーションＰＴＭ（ＴＲ）に「ＴＭｘ（１−ＱＳＴＲ（ＴＲ））」が加算される。上述したように、残余デュレーションＰＴＭ（ｉ）（但し、ｉ＝０〜１５）はステップＳＰ１６において「０」に初期設定されているから、この時点では残余デュレーションＰＴＭ（ＴＲ）に「ＴＭｘ（１−ＱＳＴＲ（ＴＲ））」が代入されることになる。なお、ここでクォンタイズ強さＱＳＴＲ（ＴＲ）が「０」である場合には、かかる処理は、上述のステップＳＰＡ１７のものと同様になる。このステップＳＰＡ１０においては、クォンタイズ強さＱＳＴＲ（ＴＲ）の値に応じて残余デュレーションＰＴＭ（ＴＲ）の値が変更される。上述の例（クロック値ＱＶＣＬ（ＴＲ）＝９６，デュレーションＴＭ＝２４）において、さらにクォンタイズ強さＱＳＴＲ（ＴＲ）が「０．５」であったと仮定すると、残余デュレーションＰＴＭ（ＴＲ）は「１２」に設定される。
　【００３８】
　また、ステップＳＰＡ１０においては、変数ＱＣＮＴ２（ＴＲ）にクォンタイズ強さＱＳＴＲ（ＴＲ）が加算される。変数ＱＣＮＴ２（ｉ）（但し、ｉ＝０〜１５）には、ステップＳＰ１６において、クロック値ＱＶＣＬ（ｉ）とクォンタイズ強さＱＳＴＲ（ｉ）との乗算結果が代入されている。上述の例（クロック値ＱＶＣＬ（ＴＲ）＝９６，デュレーションＴＭ＝２４，クォンタイズ強さＱＳＴＲ（ＴＲ）＝０．５）においては、ステップＳＰＡ１０が実行される前の変数ＱＣＮＴ２（ＴＲ）の初期値は「４８」（＝９６×０．５）であって、ステップＳＰＡ１０が実行された後の変数ＱＣＮＴ２（ＴＲ）は「６０」（＝４８＋２４×０．５）になる。
　【００３９】
　次に、処理がステップＳＰＡ１１に進むと、変数ＱＣＮＴ１（ＴＲ）がクロック値ＱＶＣＬ（ＴＲ）によって整数レベルで除算され、その商が変数ＱＴＴに代入されるとともに、余りが変数ＳＲＰに代入される。上記例にあっては、クロック値ＱＶＣＬ（ＴＲ）は「９６」であり、変数ＱＣＮＴ１（ＴＲ）は「７２」であったから、変数ＱＴＴは「０」になり、変数ＳＲＰは「７２」になる。次に、処理がステップＳＰＡ１２に進むと、変数ＱＴＴは「０」より大きいか否かが判定される。上記例によれば、変数ＱＴＴは「０」であるから「ＮＯ」と判定され、ステップＳＰＡ３を介して処理がステップＳＰＡ１３に進む。
　【００４０】
　以下、タイマ割込が発生すると、当該トラックナンバＴＲに対しては、ステップＳＰＡ３を介して処理がステップＳＰＡ１３に進み、残余デュレーションＰＴＭ（ＴＲ）が、デクリメントされつつカウント動作が実行される。残余デュレーションＰＴＭ（ＴＲ）が「０」になった後、ステップＳＰＡ４において発音データが読出されると、ステップＳＰＡ６，７を介して処理がステップＳＰＡ１６に進み、新たに読出された発音データに対する発音処理が行われる。上述の例（クロック値ＱＶＣＬ（ＴＲ）＝９６，デュレーションＴＭ＝２４，クォンタイズ強さＱＳＴＲ（ＴＲ）＝０．５）においては、デュレーションＴＭが「２４」であるにもかかわらず残余デュレーションＰＴＭ（ＴＲ）は「１２」に設定された。図５（ｃ），（ｄ）を参照して説明すると、原演奏情報において時刻ｔ２（時刻ｔ０から「２４」クロック経過後した時刻）に発音されるようにデュレーションが設定されている発音データは、かかるクォンタイズが施されることにより、時刻ｔ１（時刻ｔ０から「１２」クロック経過後した時刻）に発音されることになる。すなわち、かかる楽音の発音タイミングは、ビートタイミングである時刻ｔ０に向かって収束したことになる。
　【００４１】
　ステップＳＰＡ１６における発音処理が行われた後、ステップＳＰＡ３〜７を介して処理がステップＳＰＡ８に進むと、次のデュレーションＴＭが自動演奏メモリ２から読出される。図５（ｃ）の例によれば、次の発音タイミングは時刻ｔ２から「４８」クロック経過した時刻ｔ６である。すなわち、読出されたデュレーションＴＭは「４８」である。次に、ステップＳＰＡ９を介して処理がステップＳＰＡ１０に進むと、変数ＱＣＮＴ１（ＴＲ）にデュレーションＴＭが加算される。変数ＱＣＮＴ１（ＴＲ）は、先にステップＳＰＡ１８において「７２」に設定されたから、ここで「１２０」に設定される。また、残余デュレーションＰＴＭ（ＴＲ）は、これまでステップＳＰＡ１４が複数回実行されたことにより「０」になっているから、今回は「２４」（０＋４８×０．５）に設定される。また、変数ＱＣＮＴ２（ＴＲ）は、前回ステップＳＰＡ１０が実行された際に「６０」に設定されたから、今回は「８４」（＝６０＋４８×０．５）に設定される。
　【００４２】
　次に、処理がステップＳＰＡ１１に進むと、変数ＱＣＮＴ１（ＴＲ）がクロック値ＱＶＣＬ（ＴＲ）で除算され、商が変数ＱＴＴに、余りが変数ＳＲＰに代入される。上記例では変数ＱＣＮＴ１（ＴＲ）は「１２０」、クロック値ＱＶＣＬ（ＴＲ）は「９６」であるから、変数ＱＴＴは「１」に、変数ＳＲＰは「２４」に、それぞれ設定される。次に、処理がステップＳＰＡ１２に進むと、変数ＱＴＴは「１」であるから「ＹＥＳ」と判定され、処理がステップＳＰＡ１８に進む。このように、ステップＳＰＡ１２において「ＹＥＳ」と判定される場合は、原演奏情報のビートが強拍から弱拍へ、または弱拍から強拍へと少なくとも１回変化した場合である。
　【００４３】ステップＳＰＡ１８においては、変数ＱＣＮＴ１（ＴＲ）に変数ＳＲＰ（上記例では「２４」）が代入される。次に、処理がステップＳＰＡ２４に進むと、変数ＱＴＴが奇数であるか否かが判定される。変数ＱＴＴは、前回このステップの処理が行われた後に何回強拍から弱拍へ、または弱拍から強拍へ変化したかを示す。従って、変数ＱＴＴが奇数でない（すなわち偶数である）ということは、前回このステップの処理が行われた時と同じ強，弱の拍である、ということになり、この場合は処理がステップＳＰＡ２３に進む。一方、変数ＱＴＴが奇数のときは、前回のこのステップの処理が行われた時と異なる強，弱の拍であることであり、この場合は処理はステップＳＰＡ１９に進む。
　【００４４】
　処理がステップＳＰＡ１９に進むと、フラグＦＳＦＬ（ＴＲ）の内容が反転される。なお、フラグＦＳＦＬ（ｉ）（但し、ｉ＝０〜１５）は、ステップＳＰ１６において、“０”に設定されている。従って、今回はフラグＦＳＦＬ（ＴＲ）は“１”に設定される。ここで、ステップＳＰＡ１９が実行される条件は、ステップＳＰＡ２４において「ＹＥＳ」と判定されること、すなわち「ビートの強拍／弱拍が切り替わること」である。従って、フラグＦＳＦＬ（ＴＲ）が“０”の場合は次の発音は強拍であり、“１”の場合は次の発音は弱拍になることが判る。
　【００４５】
　次に、処理がステップＳＰＡ２０に進むと、フラグＦＳＦＬ（ＴＲ）が“１”であるか否か、すなわち演奏情報が弱拍のものであるか否かが判定される。上記例では「ＹＥＳ」と判定され、処理がステップＳＰＡ２１に進む。ステップＳＰＡ２１においては、残余デュレーションＰＴＭ（ＴＲ）に対して変数ＳＦＬＴＭ（ＴＲ）が加算される。ところで、変数ＳＦＬＴＭ（ｉ）（但し、ｉ＝０〜１５）は、ステップＳＰ１６において、「ＱＶＣＬ（ｉ）ｘ２×（ＳＦＬＶＬ（ｉ）−０．５）」に初期設定されている。上記例においてはクロック値ＱＶＣＬ（ＴＲ）は「９６」であったが、さらにステップＳＰ１０（図３参照）において、スイング率ＳＦＬＶＬ（ＴＲ）が「０．５」に設定されたと仮定すると、遅延クロック数ＳＦＬＴＭ（ＴＲ）は「０」に初期設定されることになる。
　【００４６】
　従って、上記例にあっては、ステップＳＰＡ２１において実質的な処理が行われず、処理がステップＳＰＡ２３に進む。ステップＳＰＡ２３にあっては、残余デュレーションＰＴＭ（ＴＲ）に対して、クロック値ＱＶＣＬ（ＴＲ）とクォンタイズ強さＱＳＴＲ（ＴＲ）の乗算結果が加算される。すなわち、残余デュレーションＰＴＭ（ＴＲ）は、「７２」（２４＋９６×０．５）に設定される。そして、以上の処理が終了すると、処理がステップＳＰＡ３に戻る。図５（ｃ），（ｄ）を参照して説明すると、原演奏情報において時刻ｔ６（時刻ｔ２から「４８」クロック経過後した時刻）に発音されるようにデュレーションが設定されている発音データは、かかるクォンタイズが施されることにより、時刻ｔ７（時刻ｔ１から「７２」クロック経過後した時刻）に発音されることになる。すなわち、かかる楽音の発音タイミングは、最も近接するビートタイミングである時刻ｔ１０に向かって収束したことになる。　　　【００４７】
　スイングに対する処理上述の例にあっては、スイング率ＳＦＬＶＬ（ＴＲ）が「０．５」であることとしたため、ステップＳＰＡ２０〜２２において実質的に処理は行われなかったが、ステップＳＰ１０において、「０．５」を越え「０．７５」以下のスイング率ＳＦＬＶＬ（ｉ）（但し、ｉ＝０〜１５）が設定された場合には、ここで演奏情報にスイング効果が施される。その詳細を以下説明する。
　【００４８】
　まず、スイング率ＳＦＬＶＬ（ＴＲ）が設定された後、ステップＳＰ１６が実行されると、変数ＳＦＬＴＭ（ｉ）（但し、ｉ＝０〜１５）は、「ＱＶＣＬ（ｉ）ｘ２×（ＳＦＬＶＬ（ｉ）−０．５）」に設定される。例えば、スイング率ＳＦＬＶＬ（ＴＲ）が「０．６」に設定されたと仮定すると、「ＱＶＣＬ（ｉ）ｘ２×（ＳＦＬＶＬ（ｉ）−０．５）」は「１９．２」（９６×２×（０．６−０．５））になる。但し、ステップＳＰ１６においては、遅延クロック数ＳＦＬＴＭ（ＴＲ）の小数部は四捨五入され、その結果、遅延クロック数ＳＦＬＴＭ（ＴＲ）は「１９」に設定されることになる。
　【００４９】
　次に、タイマ割込ルーチン（図７，図８）において処理がステップＳＰＡ２０に進むと、フラグＦＳＦＬ（ＴＲ）に基づいて、次の発音は強拍であるのか弱拍であるのかが判定される。ところで、楽曲の最初のビートは強拍であるから、最初に発生するビートの変化は、強拍から弱拍への変化である。従って、ステップＳＰＡ２０において「ＹＥＳ」と判定され、処理はステップＳＰＡ２１に進む。ステップＳＰＡ２１においては、残余デュレーションＰＴＭ（ＴＲ）に対して、遅延クロック数ＳＦＬＴＭ（ＴＲ）が加算される。これにより、以後、弱拍における発音タイミングは、遅延クロック数ＳＦＬＴＭ（ＴＲ）に相当する時間だけ遅延する。
　【００５０】
　次に、ビートが弱拍から強拍に変化する場合は、再びステップＳＰＡ１２において「ＹＥＳ」と判定され、ステップＳＰＡ１９を介して、フラグＦＳＦＬ（ＴＲ）が“０”に設定される。従って、処理はステップＳＰＡ２０を介してステップＳＰＡ２２に進む。ステップＳＰＡ２２においては、残余デュレーションＰＴＭ（ＴＲ）から遅延クロック数ＳＦＬＴＭ（ＴＲ）が減算される。すなわち、先にステップＳＰＡ２１が実行された際に残余デュレーションＰＴＭ（ＴＲ）に遅延クロック数ＳＦＬＴＭ（ＴＲ）が加算されていたのに対し、今回は減算されるから、楽音の発音タイミングは本来のものに戻ることが判る。このように、ステップＳＰＡ２０〜２２の処理により、強拍においては本来の発音タイミングで、弱拍においては遅延クロック数ＳＦＬＴＭ（ＴＲ）相当だけ遅れたタイミングで、発音処理が行われる。
　【００５１】
　以上のように、本実施例にあっては「クォンタイズ」または「スイング」効果を楽音に適宜施すことが可能であり、両者を併用することにより、一層興味深い自動演奏を行うことができる。ところで、演奏者は最初にクォンタイズ強さ、スイング率等のパラメータを設定して自動演奏を行うことが一般的であるが、演奏の途中において、これらパラメータが不適当であるため演奏が不自然になる場合も考えられる。かかる場合は、操作子群１内の対応する操作子を適宜操作することにより、各種パラメータを変更すると良い。パラメータが変更されると、次にタイマ割込が発生した際に、変更後のパラメータに基づいて各種の処理が行われるから、演奏者は変更後のパラメータの是非について迅速に判断することが可能である。さらに、本実施例においては、「クォンタイズ」および「スイング」に関する各種パラメータを演奏情報のトラック毎に設定することが可能であるから、きわめて精密な楽音制御を行うことが可能である。
　【００５２】
Ｃ．変形例
　本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。上記実施例ではデュレーション式の演奏情報（図２のように、発音データ、時間データ等から成る情報）を用いたが、イベント式の演奏情報（ノートオン・データ、時間データ、ノートオフ・データ等から成る情報）を用いてもよい。上記実施例においては、ステップＳＰＡ２０〜２２の処理を行った後にステップＳＰＡ２３の処理を行っていた。すなわち、「クォンタイズ」と「スイング」とを併用した場合は、「スイング」を行った後に「クォンタイズ」を行っていた。しかし、ステップＳＰＡ２３をステップＳＰＡ１９の直後に実行し、「クォンタイズ」を行った後に「スイング」を行ってもよい。
　【００５３】
　【発明の効果】
　以上説明したように、本発明の自動演奏装置によればリアルタイムに楽音の発音タイミングを変更したり、リアルタイムに弱拍における楽音の発音タイミングを遅延させたりすることが可能となる。さらに、何れの場合もトラックに応じて発音タイミングを演算するから、楽音の発音タイミングを精密に、かつ、リアルタイムに制御することが可能である。
【図面の簡単な説明】
　【図１】　一実施例の構成を示すブロック図である。
　【図２】　一実施例における演奏情報のフォーマットを示す図である。
　【図３】　一実施例のメインルーチンのフローチャートである。
　【図４】　一実施例のメインルーチンのフローチャートである。
　【図５】　一実施例のタイムチャートである。
　【図６】　スイング効果の説明図である。
　【図７】　一実施例のタイマ割込ルーチンのフローチャートである。
　【図８】　一実施例のタイマ割込ルーチンのフローチャートである。
　【図９】　一実施例の発音サブルーチンのフローチャートである。
　【図１０】　一実施例のカウントサブルーチンのフローチャートである。
　【図１１】　クォンタイズ効果の説明図である。
　【図１２】　従来の自動演奏装置の動作説明図である。
　【符号の説明】
２　自動演奏メモリ（演奏情報記憶手段）
３　トーンジェネレータ（再生手段）
６　ＣＰＵ（読出し手段、演算手段、再生手段）