(57)【要約】【課題】使用者を何ら煩わせることなく、使用者が演奏した楽音の再生や保存等を、音楽的に区切りの良い単位から行うことができる電子楽器を提供すること。【解決手段】拍カウンタが１拍をカウントする毎に、そのタイミングで記憶される楽音データの時間情報を拍時刻情報テーブルに記憶する。録音中にスキップバックボタンを操作すると、その操作タイミングにおける時間情報及び記憶アドレスと該テーブルの時間情報とサンプリング周期とに基づいて、演算により音楽的に区切りの良いアドレスが取得される。よって、よって、録音時にメモリの最適化処理がされた場合にも、その都度、記憶アドレスを更新する必要がない。また、取得された記憶アドレス単位で再生や保存を行うことにより、音楽的に区切りのよい拍単位の再生や保存を行うことができる。【選択図】        図６
2004272192.tif 000002
【特許請求の範囲】
【請求項１】
テンポを設定するテンポ設定手段と、
楽音を入力する入力手段と、
その入力手段により入力された楽音を所定のサンプリング周期で順次記憶する楽音記憶手段と、
その楽音記憶手段に記憶される楽音の時間情報を、前記テンポ設定手段により設定されたテンポに応じたタイミングに対応して記憶する時間情報記憶手段と、
その時間情報記憶手段に記憶される時間情報に基づいて、前記楽音記憶手段に記憶された楽音の読み出しを開始する読出開始手段とを備えていることを特徴とする電子楽器。
【請求項２】
前記読出開始手段は、時間情報記憶手段に記憶される時間情報と前記サンプリング周期とに基づいて、前記楽音記憶手段に記憶される楽音の前記時間情報に対応する記憶アドレスを取得する記憶アドレス取得手段を含み、その記憶アドレス取得手段により取得された記憶アドレスに基づいて、前記楽音記憶手段に記憶される楽音の読出を開始するものであることを特徴とする請求項１記載の電子楽器。
【請求項３】
前記記憶アドレス取得手段に前記記憶アドレスの取得を指示する指示手段を備え、
前記記憶アドレス取得手段は、前記指示手段により記憶アドレスの取得が指示されると、その指示のタイミングに対応して取得される指示時間情報とその指示時間情報に対応する記憶アドレスと前記時間情報記憶手段に記憶される時間情報と前記サンプリング周期とに基づいて、前記楽音記憶手段に記憶される楽音の前記時間情報に対応する記憶アドレスを取得するものであることを特徴とする請求項２記載の電子楽器。
【請求項４】
前記記憶アドレス取得手段により取得された記憶アドレスに基づく単位で、前記楽音記憶手段に記憶される楽音を保存する保存手段を備えていることを特徴とする請求項２又は３記載の電子楽器。
【請求項５】
テンポを設定するテンポ設定手段と、
楽音を入力する入力手段と、
その入力手段により入力された楽音を所定のサンプリング周期で順次記憶する楽音記憶手段と、
その楽音記憶手段に記憶される楽音の記憶アドレスを、前記テンポ設定手段により設定されたテンポに応じたタイミングに対応して記憶するアドレス記憶手段と、
そのアドレス記憶手段に記憶されるアドレスに基づいて、前記楽音記憶手段に記憶された楽音の読み出しを開始する読出開始手段とを備えていることを特徴とする電子楽器。
【請求項６】
前記アドレス記憶手段に記憶されるアドレスに基づく単位で、前記楽音記憶手段に記憶される楽音を保存する保存手段を備えていることを特徴とする請求項５記載の電子楽器。
【請求項７】
前記入力手段により入力された楽音の波形を表示する波形表示手段と、
その波形表示手段により表示される楽音の波形に対し、前記テンポ設定手段により設定されるテンポに応じたタイミングに相当する位置に所定の形態で表示を行うタイミング表示手段とを備えていることを特徴とする請求項１から６のいずれかに記載の電子楽器。
【請求項８】
前記テンポ設定手段により設定されたテンポに応じたタイミングが拍であることを特徴とする請求項１から７のいずれかに記載の電子楽器。
【請求項９】
前記テンポ設定手段により設定されたテンポに応じたタイミングが小節であることを特徴とする請求項１から７のいずれかに記載の電子楽器。
【請求項１０】
前記テンポ設定手段により設定されたテンポに応じてタイミングを報知する報知手段を備えていることを特徴とする請求項１から９のいずれかに記載の電子楽器。
【請求項１１】
前記報知手段は、記憶されている演奏データを読み出して、前記テンポ設定手段により設定されているテンポに応じて自動演奏を行うものであることを特徴とする請求項１０記載の電子楽器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は電子楽器に関し、特に、使用者が演奏した楽音の再生や保存等を、音楽的に区切りの良い単位から行うことができる電子楽器に関するものである。
【０００２】
【従来の技術】使用者が演奏した演奏情報を所定時間の間だけ常に記憶しておき、この記憶した演奏情報に対して、使用者から保存又は再生の指示がなされると、その指示されたタイミングから所定アドレス数前または所定時間前の演奏情報を、保存又は再生する電子楽器が知られている（特許文献１）。また、使用者が設定したテンポに合わせて、予め記憶された楽音を発生して自動演奏する自動演奏機能を備えた電子楽器も知られている。ここで、使用者が演奏した楽音又は演奏情報を保存又は再生する場合、その保存又は再生は、拍や小節の単位のように、音楽的に区切りの良い単位で開始し又は終了することが好ましい。
【０００３】
【特許文献１】特開平６−３４８２６０号公報
【０００４】
【発明が解決しようとする課題】しかしながら、特許文献１に記載される電子楽器では、音楽的に区切りの良い単位で、保存又は再生を開始し或いは終了するものではないので、かかる開始位置又は終了位置の調整は、使用者自らが行わなければならないという問題点がある。
【０００５】
本発明は上述した問題点を解決するためになされたものであり、使用者を何ら煩わせることなく、使用者が演奏した楽音の再生や保存等を、音楽的に区切りの良い単位から行うことができる電子楽器を提供することを目的としている。
【０００６】
【課題を解決するための手段】この目的を達成するために、請求項１記載の電子楽器は、テンポを設定するテンポ設定手段と、楽音を入力する入力手段と、その入力手段により入力された楽音を所定のサンプリング周期で順次記憶する楽音記憶手段と、その楽音記憶手段に記憶される楽音の時間情報を、前記テンポ設定手段により設定されたテンポに応じたタイミングに対応して記憶する時間情報記憶手段と、その時間情報記憶手段に記憶される時間情報に基づいて、前記楽音記憶手段に記憶された楽音の読み出しを開始する読出開始手段とを備えている。
【０００７】
この請求項１記載の電子楽器によれば、入力手段によって楽音が入力されると、入力された楽音が所定のサンプリング周期で楽音記憶手段へ順次記憶される。この楽音の振幅値に対する時間情報は、テンポ設定手段により設定されたテンポに応じたタイミングに対応して時間情報記憶手段に記憶され、読出開始手段は、この時間情報記憶手段に記憶される時間情報に基づいて、楽音記憶手段に記憶される楽音の読み出しを開始する。
【０００８】
請求項２記載の電子楽器は、請求項１記載の電子楽器において、前記読出開始手段は、時間情報記憶手段に記憶される時間情報と前記サンプリング周期とに基づいて、前記楽音記憶手段に記憶される楽音の前記時間情報に対応する記憶アドレスを取得する記憶アドレス取得手段を含み、その記憶アドレス取得手段により取得された記憶アドレスに基づいて、前記楽音記憶手段に記憶される楽音の読出を開始するものである。
【０００９】
請求項３記載の電子楽器は、請求項２記載の電子楽器において、前記記憶アドレス取得手段に前記記憶アドレスの取得を指示する指示手段を備え、前記記憶アドレス取得手段は、前記指示手段により記憶アドレスの取得が指示されると、その指示のタイミングに対応して取得される指示時間情報とその指示時間情報に対応する記憶アドレスと前記時間情報記憶手段に記憶される時間情報と前記サンプリング周期とに基づいて、前記楽音記憶手段に記憶される楽音の前記時間情報に対応する記憶アドレスを取得するものである。
【００１０】
請求項４記載の電子楽器は、前記記憶アドレス取得手段により取得された記憶アドレスに基づく単位で、前記楽音記憶手段に記憶される楽音を保存する保存手段を備えていることを特徴とする請求項２又は３記載の電子楽器。
【００１１】
請求項５記載の電子楽器は、テンポを設定するテンポ設定手段と、楽音を入力する入力手段と、その入力手段により入力された楽音を所定のサンプリング周期で順次記憶する楽音記憶手段と、その楽音記憶手段に記憶される楽音の記憶アドレスを、前記テンポ設定手段により設定されたテンポに応じたタイミングに対応して記憶するアドレス記憶手段と、そのアドレス記憶手段に記憶されるアドレスに基づいて、前記楽音記憶手段に記憶された楽音の読み出しを開始する読出開始手段とを備えている。
【００１２】
この請求項５記載の電子楽器によれば、入力手段によって楽音が入力されると、入力された楽音が所定のサンプリング周期で楽音記憶手段へ順次記憶される。この楽音の記憶アドレスは、テンポ設定手段により設定されたテンポに応じたタイミングに対応してアドレス記憶手段に記憶され、読出開始手段は、このアドレス記憶手段に記憶されるアドレスに基づいて、楽音記憶手段に記憶される楽音の読み出しを開始する。
【００１３】
請求項６記載の電子楽器は、請求項５記載の電子楽器において、前記アドレス記憶手段に記憶されるアドレスに基づく単位で、前記楽音記憶手段に記憶される楽音を保存する保存手段を備えている。
【００１４】
請求項７記載の電子楽器は、請求項１から６のいずれかに記載の電子楽器において、前記入力手段により入力された楽音の波形を表示する波形表示手段と、その波形表示手段により表示される楽音の波形に対し、前記テンポ設定手段により設定されるテンポに応じたタイミングに相当する位置に所定の形態で表示を行うタイミング表示手段とを備えている。
【００１５】
請求項８記載の電子楽器は、請求項１から７のいずれかに記載の電子楽器において、前記テンポ設定手段により設定されたテンポに応じたタイミングが拍であるものである。
【００１６】
請求項９記載の電子楽器は、請求項１から７のいずれかに記載の電子楽器において、前記テンポ設定手段により設定されたテンポに応じたタイミングが小節であるものである。
【００１７】
請求項１０記載の電子楽器は、請求項１から９のいずれかに記載の電子楽器において、前記テンポ設定手段により設定されたテンポに応じてタイミングを報知する報知手段を備えている。
【００１８】
請求項１１記載の電子楽器は、請求項１０記載の電子楽器において、前記報知手段は、記憶されている演奏データを読み出して、前記テンポ設定手段により設定されているテンポに応じて自動演奏を行うものである。
【００１９】
【発明の効果】本発明の電子楽器によれば、入力手段から入力され楽音記憶手段へ記憶された楽音の時間情報又は記憶アドレスは、それぞれ、設定されたテンポに応じたタイミングに対応して時間情報記憶手段又はアドレス記憶手段に記憶される。よって、該時間情報記憶手段に記憶される時間情報、又は、該アドレス記憶手段に記憶されるアドレスに基づいて、楽音の読み出しを開始することにより、記憶した楽音を音楽的に区切の良い単位（特に、拍や小節）で読み出すことができる。従って、この読み出しに基づいて楽音又は保存を行うことにより、使用者を何ら煩わせることなく、その再生又は保存を音楽的に区切の良い単位から行うことができるという効果がある。
【００２０】
また、本発明の電子楽器によれば、保存手段は、楽音記憶手段に記憶された楽音を、時間情報記憶手段に記憶される時間情報、又は、アドレス記憶手段に記憶されるアドレスに基づく単位で保存するので、その楽音を音楽的に区切りの良い単位（特に、拍や小節）で保存できるという効果がある。なお、保存手段に代えて、或いは保存手段と共に、該時間情報記憶手段に記憶される時間情報又は前記アドレス記憶手段に記憶されるアドレスに基づく単位で、該楽音記憶手段に記憶される楽音を再生する再生手段を設けても良い。
【００２１】
更に、本発明の電子楽器によれば、時間情報記憶手段により記憶される時間情報に基づいて記憶アドレスを取得する、例えば、その時間情報と指示手段（操作子など）による指示タイミングに対応する指示時間情報とその指示時間情報に対応する記憶アドレスとに基づいて演算により記憶アドレスを取得する。よって、記憶時（録音時）にメモリの最適化処理等に起因する記憶アドレスの移動があった場合にも、その都度、記憶アドレスを更新する必要がない。従って、ＣＰＵでの処理が過酷となる録音処理中においては都合が良く、安定な動作を確保できるという効果がある。
【００２２】
加えて、本発明の電子楽器によれば、タイミング表示手段は、波形表示手段に表示される入力楽音の波形に対し、テンポ設定手段により設定されるテンポに応じたタイミングに相当する位置に所定の形態（例えば、種々の太さのグリッド線）で表示を行う。よって、楽音における音楽的に区切りの良い位置（例えば、拍や小節の区切りに相当する位置）を視覚的に認識しやすくなる。従って、その区切りに対するタイミングを視覚的に認識し易くなるので、例えば、再生又は保存の単位を設定するスタートポイント（開始アドレス）やエンドポイント（終了アドレス）を最適に設定し得るという効果がある。また、録音（記憶）終了後に手動で読み出しを開始する位置を変更できるようにすれば、読み出し区切り位置を最適化することができる。
【００２３】
また、本発明の電子楽器によれば、報知手段は、テンポ設定手段により設定されたテンポに応じてタイミングを報知するので、使用者に音楽的な区切りを報知して、その区切りのタイミングに合わせた演奏を促すことができるという効果がある。なお、報知手段としては、該タイミングで点灯するＬＥＤや、該タイミングで演奏を行う自動演奏手段が例示される。
【００２４】
更に、本発明の電子楽器によれば、報知手段は、記憶されている演奏データを読み出し、設定されているテンポに応じて自動演奏を行うので、使用者がかかる自動演奏に合わせて演奏することにより、使用者の演奏を音楽的に区切りの良いタイミングで楽音記憶手段へ記憶することができるという効果がある。
【００２５】
【発明の実施の形態】以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の一実施例である電子楽器１の電気的構成を示したブロック図である。
【００２６】
電子楽器１は、主に、ＣＰＵ２と、ＲＯＭ３と、ＲＡＭ４と、ＤＳＰ５と、鍵盤７と、操作パネル８と、楽音生成器９とを備えて構成され、これらはバスライン１０により相互に接続されている。ＣＰＵ２は制御プログラムの実行主体となる演算装置であり、ＲＯＭ３には、このＣＰＵ２により実行される各種の制御プログラムやその実行の際に参照される固定値データが記憶されている。ＲＡＭ４は、ＲＯＭ３等に記憶される制御プログラムの実行に当たって各種のデータやワークメモリ等を一時的に記憶するための書き換え可能なメモリである。
【００２７】
ＤＳＰ５は、デジタル信号の楽音データを生成するための演算装置（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）であり、入力端子及びＡ／Ｄコンバータ６と共に、使用者が演奏した楽音や他の演奏装置から入力される演奏情報の入力インターフェイスを構成する。即ち、入力端子を介して入力されたアナログ信号の楽音は、まずＡ／Ｄコンバータ７によってデジタル信号の楽音データに変換され、更にＤＳＰ５によって電子楽器１の設定状況に応じた楽音データに変換される。ＤＳＰ５は、後述する楽音データ処理（図７）を４４．１ＫＨｚの周期（サンプリング周期）で実行して、変換した楽音データをＲＡＭ４へ記憶すると共に楽音生成器９へ出力して再生したり、或いは、ＲＡＭ４へ記憶した楽音データを読み出して、これを楽音生成器９へ出力して再生する。
【００２８】
鍵盤７は、複数の鍵を備えて構成され、各鍵毎に割り当てられた楽音の発生開始や停止などの指示を行うものである。操作パネル８は、電子楽器１の各種の設定や操作を行うと共に、その設定操作状況を表示するためのものであり、各種スイッチ８０〜８９と、表示器９０及びＬＥＤ９１を備えて構成される。操作パネル８の詳細は、図２を参照して後述する。
【００２９】
楽音生成器９は、自動演奏処理や鍵盤７の押鍵または離鍵操作に基づいて対応する楽音データを読み出して出力したり、或いは、入力端子から入力されＤＳＰ５によって生成された楽音データを出力するものである。この楽音生成器９には、Ｄ／Ａコンバータ１１が接続されており、そのＤ／Ａコンバータ１１には、アナログ信号の楽音を音出力するスピーカ１２が接続されている。よって、楽音生成器９から出力されたデジタル信号の楽音データは、Ｄ／Ａコンバータ１１によってアナログ信号の楽音に変換された後、スピーカ１２から音出力される。
【００３０】
図２は、電子楽器１の操作パネル８の正面図である。操作パネル８には、スキップバックボタン８０と、プレビューボタン８１と、アドレス変更ボタン８２と、セーブボタン８３と、ＥＸＩＴボタン８４と、スキップバック量つまみ８５と、スタートボタン８６と、ストップボタン８７と、テンポつまみ８８と、演奏選択ボタン８９と、表示器９０と、ＬＥＤ９１と、複数のパッドから構成されるパッド９２とが設けられている。
【００３１】
スキップバックボタン８０は、ＲＡＭ４内のリングバッファへ記憶した楽音データの再生、保存を行うスキップバック動作の開始を指示するためのボタンであり、このスキップバックボタン８０が操作されると、録音モードを終了すると共に、記憶した楽音データが表示器９０上に波形表示される。なお、リングバッファについては後述する。
【００３２】
図３は、操作パネル８の表示器９０に表示される波形表示部分を模式的に示した図であり、この波形表示部分には、録音（記憶）された波形（楽音データ）９０ａと共に、拍に対応する位置を示すグリッド線（区切り線）９０ｄとスタートポイントカーソル９０ｂとエンドポイントカーソル９０ｃとが表示される。ここで、スタートポイントカーソル９０ｂは、波形（楽音データ）９０ａの再生開始位置（開始アドレス）を示すカーソルであり、エンドポイントカーソル９０ｃは、波形９０ａの再生終了位置（終了アドレス）を示すカーソルである。
【００３３】
プレビューボタン８１は、リングバッファへ記憶した楽音データの再生を指示するためのボタンであり、プレビューボタン８１の操作により、表示器９０上にスタートポイントカーソル９０ｂにより示されるスタートポイントから、エンドポイントカーソル９０ｃにより示されるエンドポイントまでの楽音データが再生される。アドレス変更ボタン８２は、スタートポイント（開始アドレス）及びエンドポイント（終了アドレス）の位置変更を指示するためのボタンであり、両アドレスを順方向に変更する＋ボタンと、逆方向に変更する−ボタンとが設けられている。アドレス変更ボタン８２の操作により、スタートポイント（開始アドレス）及びエンドポイント（終了アドレス）は同期してそのアドレスが変更される。即ち、スタートポイント及びエンドポイントの間隔を一定に保った状態で、両ポイントが順方向又は逆方向に変更される。アドレス変更ボタン８２の操作に基づくこのようなアドレスの変更は、本実施例においては、拍単位のアドレス変更となるように構成されているが、モードに応じて任意の単位でのアドレス変更が可能であるように構成することもできる。スタートポイント（開始アドレス）及びエンドポイント（終了アドレス）の間隔の変更は、スキップバック量つまみ８５により行われる。
【００３４】
なお、本実施例では、アドレス変更ボタン８２の操作により、スタートポイントとエンドポイントとが同期してそのアドレスが変更するよう構成したが、スタートポイント及びエンドポイントのそれぞれに対してアドレス変更ボタンを設け、それぞれのアドレスを独立して変更できるように構成してもよい。この場合、各々変更されたスタートポイント（開始アドレス）とエンドポイント（終了アドレス）との間隔に相当する量がスキップバック量となる。
【００３５】
セーブボタン８３は、リングバッファへ記憶した楽音データのうち、開始アドレスから終了アドレスの間の楽音データを、リングバッファとは異なる領域への保存指示をするためのボタンである。セーブボタン８３の操作により、かかる楽音データの保存と、スキップバックボタン８０の操作で終了した録音モードへの復帰が行われる。ＥＸＩＴボタン８４は、スキップバック動作の終了を指示するためのボタンであり、ＥＸＩＴボタン８４の操作により、スキップバックボタン８０の操作で終了した録音モードへ復帰する。
【００３６】
スタートボタン８６は、自動演奏の開始を指示するためのボタンであり、ストップボタン８７は、その自動演奏の停止を指示するためのボタンである。テンポつまみ８８は、自動演奏する際のテンポ値を設定するためのつまみであり、このテンポつまみ８８により設定されたテンポ値に応じて定まる拍の頭のタイミングで、ＬＥＤ９１が発光する。よって、このＬＥＤ９１の発光により、電子楽器１の使用者に拍の頭のタイミングを報知することができる。演奏選択ボタン８９は、自動演奏の演奏内容を選択するためのボタンである。この電子楽器１には、自動演奏の内容として、通常の演奏パターンのみならず、リズムパターンやメトロノームも用意されている。表示器９０は、電子楽器１の操作状況を表示するためのであり、具体的には、テンポつまみ８８により設定されたテンポ値や、スキップバック量つまみ８５により設定されたスキップバック量、ＲＡＭ４のリングバッファに記憶した楽音データの波形、開始アドレス及び終了アドレスが表示される。
【００３７】
パッド９２は、録音された楽音データをそれぞれアサインし得る複数のパッド（演奏操作子）から構成される。楽音データに対しアサインされたパッドは、操作（例えば、押す、叩く）ことにより、そのパッドにアサインされた楽音データが再生される。
【００３８】
次に、図５から図７のフローチャートを参照して、ＣＰＵ２及びＤＳＰ５でそれぞれ実行される各処理について説明する。まず、これらの処理の説明に先立って、ＲＡＭ４の構成および各処理で用いられるフラグ等を説明する。
【００３９】
リングバッファは、使用者が演奏する楽音を入力端子から入力し、サンプリングした振幅値（ＰＣＭ）を順次書き込むメモリであり、ＲＡＭ４内に設けられ、ＤＳＰ５が書き込み及び再生を行う。このリングバッファへの楽音データの書き込みは、リングバッファの先頭アドレスから順に行われ、その書き込みが最終アドレスへ至ると、再度、リングバッファの先頭アドレスへ戻って、その先頭アドレスから書き込みが継続される。なお、本実施例の電子楽器１のリングバッファは、テンポつまみ８８により設定し得る最小テンポで、スキップバック量つまみ８５により設定し得る最大のスキップバック量（本実施例では、２４拍）の楽音データを記録するのに十分な容量を有している。
【００４０】
楽音データ処理フラグは、現在の処理内容を示すフラグであり、「０〜２」のいずれかの値をとる。楽音データ処理フラグの「０」は、楽音データの記憶中（録音モード）であることを示し、「１」は、楽音データの再生中であることを示す。また、「２」は、楽音データの記憶中および再生中のいずれでも無いことを示している。この楽音データ処理フラグは、後述する図５及び図７のフローチャートに示す処理で参照される。即ち、ＣＰＵ２及びＤＳＰ５により参照される。
【００４１】
カウンタは、拍単位でカウントされるものであり、図６の自動演奏処理において、後述する拍カウンタの値が「０」である場合に１カウントずつ加算され、加算後の値が最大値（ＭＢ）を超えると、再度「０」に戻される。即ち、カウンタは「０〜最大値（ＭＢ）」の範囲で更新される。このカウンタの値は、図４に示す拍アドレステーブル３０のテーブル番号に対応する。図４の拍アドレステーブル３０は、リングバッファに記憶される楽音データの各拍の頭のアドレスを記憶するアドレステーブルである。本実施例の電子楽器１では、スキップバック量つまみ８５により設定可能なスキップバック量は最大２４拍なので、拍アドレステーブル３０の最大値（ＭＢ）は２４より十分大きな値に設定されている。また、セーブカウンタは、スキップバックボタン８０の操作により録音モードを終了する際のカウンタの値を保存するためのものであり、このセーブカウンタの値に基づいて、開始アドレス及び終了アドレスが求められる。
【００４２】
スキップバック量は、開始アドレスと終了アドレスとの間隔を拍単位で示したものであり、スキップバック量つまみ８５により設定される。その最大値は２４拍である。このスキップバック量は、図５のメイン処理で参照される。アドレス変更量は、アドレス変更ボタン８２により設定されるアドレスの変更量を拍単位で示したものであり、図５のメイン処理で参照される。
【００４３】
記憶アドレスは、楽音データを記憶するリングバッファのアドレスを示すものであり、図７の楽音データ処理により、リングバッファの先頭アドレスから終了アドレスの間で更新される。再生アドレスは、楽音データを再生するリングバッファのアドレスを示すものであり、記憶アドレスと同様に、リングバッファの先頭アドレスから終了アドレスの間で更新される。再生アドレスには、記憶した楽音データの再生時に開始アドレスが設定され、終了アドレスまで更新されると、再生処理を終了する。演奏フラグは、自動演奏中であるか否かを示すフラグであり、「１」の場合に演奏中を、「０」の場合に演奏停止中を示している。この演奏フラグは、図５のメイン処理においてセット又はリセットされ、図６の自動演奏処理において参照される。
【００４４】
変数ｔは、演奏時刻を示す変数で、その単位はティックである。ここで、ティックとは、１拍を９６分割した時間であり、１分当たりの拍数はテンポに依存している。拍カウンタは、１拍をカウントするためのカウンタであり、ティック毎に１ずつ減算される。よって、拍カウンタの最大値は「９６」となるので、拍カウンタは「０〜９６」の範囲で減算方向に１カウントずつ更新される。また、拍カウンタの値が「０」になるタイミングが拍の頭とされ、自動演奏は、拍カウンタの値を「０」とした上で開始される。
【００４５】
図５は、ＣＰＵ２で実行されるメイン処理のフローチャートである。このメイン処理は、電子楽器１の電源投入後から切断時まで、割込処理の実行中を除いて、常時実行される。
【００４６】
メイン処理では、まず、各種フラグやメモリを初期化する（Ｓ１００）。特に、楽音データ処理フラグに「０」を書き込んで、楽音データの録音モードとし、ＤＳＰ５に録音開始を指示する。また、拍カウンタ及びカウンタにそれぞれ「０」を書き込むと共に、演奏フラグを「０」として、自動演奏停止中とする。更に、割込処理である自動演奏処理の開始を指示する。このとき、自動演奏処理の起動間隔はティックの周期と一致するので、テンポつまみ８８の設定値であるテンポ値を読み取って、自動演奏処理の起動間隔を設定する。これにより、ティックの周期でタイマインタラプト処理（図６の自動演奏処理）を開始する。なお、この時点では、ティックをカウントすることにより、拍がカウントされ、拍タイミングでＬＥＤが点灯するが、自動演奏は行われず、Ｓ１２４においてスタートボタンの操作が検出されると、自動演奏が開始される。すなわち、本実施例では、電源投入とともに、設定されているテンポに応じた拍が刻まれるとともに、録音が開始される。
【００４７】
次に、楽音データ処理フラグが「０」であるか否かを確認し（Ｓ１０２）、「０」であれば（Ｓ１０２：Ｙｅｓ）、楽音データの記憶中（録音モード）であるので、かかる場合には処理をＳ１０４へ移行し、スキップバックボタン８０の操作があるかを確認する（Ｓ１０４）。スキップバックボタン８０の操作があれば（Ｓ１０４：Ｙｅｓ）、録音モードを終了する。よって、かかる場合には、演奏フラグを「０」にして自動演奏を停止し、楽音データ処理フラグを「２」として楽音データの記憶及び再生を停止する。更に、カウンタの値をセーブカウンタへ保存して、このセーブカウンタの値に基づいて開始アドレス及び終了アドレスを設定し、アドレス変更量を「０」とした上で、リングバッファに記憶される楽音データを開始アドレスおよび終了アドレスと共に表示器９０上に波形表示して（Ｓ１０６）、処理をＳ１０８へ移行する。
【００４８】
ここで、開始アドレスには、変数ｉに対応する拍アドレステーブル３０に記憶されるアドレスが設定される。変数ｉは、（セーブカウンタの値−１−スキップバック量）で求められる。但し、求めた変数ｉが負の場合には、（変数ｉ＋ＭＢ）の値を変数ｉとする。拍アドレステーブル３０は、リングバッファに記憶される楽音データの各拍の頭のアドレスを記憶するテーブルだからである。また、終了アドレスには、（変数ｉに対応する拍アドレステーブル３０に記憶されるアドレス）−１のアドレスが設定される。この場合の変数ｉは、（セーブカウンタの値）−１である。但し、変数ｉ＝０の場合には、変数ｉをＭＢとする。以上によって、スキップバックボタン８０の操作時の１つ前の拍の最終アドレスが終了アドレスとして設定され、その終了アドレスからスキップバック量分前の拍の頭が開始アドレスとして設定される。
【００４９】
一方、Ｓ１０２の処理において、楽音データ処理フラグが「０」でなければ（Ｓ１０２：Ｎｏ）、即ち楽音データ処理フラグが「１又は２」である場合には、処理をＳ１０８へ移行する。
【００５０】
Ｓ１０８の処理では、プレビューボタン８１の操作を確認する（Ｓ１０８）。プレビューボタン８１が操作されていれば（Ｓ１０８：Ｙｅｓ）、リングバッファへ記憶した楽音データの再生指示なので、開始アドレスを再生アドレスに設定し、拍カウンタの値を「０」とし、更に楽音データ処理フラグを「１」として、楽音データの再生開始をＤＳＰ５に指示する（Ｓ１１０）。これにより、図７の楽音データ処理によって、再生アドレスへ設定された開始アドレスから終了アドレスまでの楽音データが再生される。また、再生開始時に、拍カウンタの値を「０」としているので、図６の自動演奏処理によるＬＥＤ９１の点灯タイミングを、再生される楽音データと同期させることができる。
【００５１】
Ｓ１１２の処理では、アドレス変更ボタン８２またはスキップバック量つまみ８５の操作を確認する（Ｓ１１２）。いずれかのボタン８２，８５が操作されていれば（Ｓ１１２：Ｙｅｓ）、まず、楽音データ処理フラグを「２」として、楽音データの再生を停止する。そして、操作されたのがアドレス変更ボタン８２であればアドレス変更量を更新した上で、一方、操作されたのがスキップバック量つまみ８５であればアドレス変更量はそのままとした上で、開始アドレス及び終了アドレスを更新し、リングバッファに記憶される楽音データを開始アドレスおよび終了アドレスと共に表示器９０上に波形表示する（Ｓ１１４）。
【００５２】
ここで、変更後のアドレス変更量は、（アドレス変更量＋アドレス変更ボタン８２の示す値（即ち「＋１」又は「−１」））とされ、これが、（最大スキップバック量である２４＋１）−ＭＢ＜変更後のアドレス変更量≦０の範囲内であれば、変更後のアドレス変更量を、新たなアドレス変更量として更新し、該範囲外であれば、アドレス変更ボタン８２の操作を無視する。
【００５３】
この更新後のアドレス変更量に基づいて、開始アドレスには、変数ｉに対応する拍アドレステーブル３０に記憶されるアドレスが設定される。変数ｉは、（セーブカウンタの値−１−スキップバック量＋アドレス変更量）で求められる。但し、求めた変数ｉが負の場合には、（変数ｉ＋ＭＢ）の値を変数ｉとする。また、終了アドレスには、（変数ｉに対応する拍アドレステーブル３０に記憶されるアドレス）−１のアドレスが設定される。この場合の変数ｉは、（セーブカウンタの値−１＋アドレス変更量）で求められる。但し、変数ｉ≦０の場合には、変数ｉをＭＢとする。
【００５４】
Ｓ１１６の処理では、セーブボタン８３の操作を確認し（Ｓ１１６）、セーブボタン８３が操作されていれば（Ｓ１１６：Ｙｅｓ）、リングバッファに記憶される開始アドレスから終了アドレスまでの楽音データを、リングバッファとは異なる保存領域へ保存し（Ｓ１１８）、処理をＳ１２２へ移行する。また、Ｓ１２０の処理では、ＥＸＩＴボタン８４の操作を確認し（Ｓ１２０）、ＥＸＩＴボタン８４が操作されていれば（Ｓ１２０：Ｙｅｓ）、処理をＳ１２２へ移行する。Ｓ１２２の処理では、楽音データ処理フラグを「０」として（Ｓ１２２）、スキップバックボタン８０の操作で終了した録音モードへ復帰する。よって、以降はリングバッファへの楽音データの記憶が再開される。
【００５５】
Ｓ１０４の処理において、スキップバックボタン８０の操作がなければ（Ｓ１０４：Ｎｏ）、スタートボタン８６の操作を確認する（Ｓ１２４）。スタートボタン８６の操作があれば（Ｓ１２４：Ｙｅｓ）、電子楽器１により自動演奏を開始するための各種の設定を行う（Ｓ１２６）。具体的には、演奏フラグを「１」として自動演奏を開始すると共に、その自動演奏の開始に当たって、演奏時刻を示す変数ｔおよび拍カウンタにそれぞれ「０」を設定して初期化する。これにより、自動演奏が拍の頭から開始されるので、拍アドレステーブル３０に記憶されるアドレスが、楽音データの音楽的に区切りの良いアドレスとなる。なお、自動演奏は、演奏選択ボタン８９により選択されている内容の演奏が行われる。
【００５６】
Ｓ１２８の処理では、ストップボタン８７の操作を確認し（Ｓ１２８）、ストップボタン８７が操作されていれば（Ｓ１２８：Ｙｅｓ）、演奏フラグを「０」として、電子楽器１による自動演奏を停止する（Ｓ１３０）。このときタイマインタラプトは禁止しない。その後は、演奏選択ボタン８９の操作内容を記憶などする、その他の処理を実行した後（Ｓ１３２）、処理をＳ１０２へ戻す。以降は、前述したＳ１０２からＳ１３２の各処理を、電子楽器１の電源が切断されまで繰り返す。
【００５７】
図６は、ＣＰＵ２の割込処理で実行される自動演奏処理のフローチャートである。この自動演奏処理は、メイン処理の開始指示（Ｓ１００）によって開始され、以降はティックの周期で繰り返し実行される。
【００５８】
自動演奏処理では、まず、拍カウンタの値が「０」であるかを確認し（Ｓ２００）、「０」であれば（Ｓ２００：Ｙｅｓ）、まず、カウンタの示す拍アドレステーブル３０の番号に対応したアドレスに、現在の記憶アドレスを記憶する。これにより、拍の頭部分の楽音データを記憶するリングバッファのアドレスが、カウンタの値に対応する拍アドレステーブル３０に記憶される。また、拍カウンタの値を最大値の「９６」とし、カウンタの値を「＋１」して更新し、更に、拍の頭の到来を使用者に報知するべく、ＬＥＤ９１を点灯する（Ｓ２０２）。
【００５９】
更新後のカウンタの値が、カウンタの最大値であるＭＢ以下であれば（Ｓ２０４：Ｎｏ）、そのまま処理をＳ２０７へ移行し、一方、ＭＢを超えていれば（Ｓ２０４：Ｙｅｓ）、カウンタの値を「０」として初期化した後（Ｓ２０６）、処理をＳ２０７へ移行する。
【００６０】
Ｓ２０７の処理では、拍カウンタの値を「−１」して減算し、減算後の拍カウンタの値が「８０」未満であれば（Ｓ２０８：Ｙｅｓ）、Ｓ２０２の処理で点灯したＬＥＤ９１を消灯する（Ｓ２０９）。ＬＥＤ９１の消灯後、或いは拍カウンタの値が「８０」以上の場合には（Ｓ２０８：Ｎｏ）、演奏フラグが「１」であるかを確認し（Ｓ２１０）、演奏フラグが「１」でなく、「０」であれば（Ｓ２１０：Ｎｏ）、この回の自動演奏処理を終了する。
【００６１】
一方、演奏フラグが「１」であれば（Ｓ２１０：Ｙｅｓ）、自動演奏中であるので、演奏中の演奏データの中に、現在の時刻である変数ｔで再生する演奏情報があるかを確認し（Ｓ２１２）、再生する演奏情報があれば（Ｓ２１２：Ｙｅｓ）、その演奏情報を再生する（Ｓ２１４）。演奏情報の再生後、或いは変数ｔで再生する演奏情報がない場合には（Ｓ２１２：Ｎｏ）、変数ｔを「＋１」して更新する（Ｓ２１６）。更新後の変数ｔが演奏データの最大時刻をオーバーしていれば（Ｓ２１８：Ｙｅｓ）、変数ｔを「０」として初期化し（Ｓ２２０）、一方、オーバーしていなければ（Ｓ２１８：Ｎｏ）、更新後の変数ｔのままにして、この回の自動演奏処理を終了する。
【００６２】
図７は、ＤＳＰ５により、４４．１ｋＨｚのサンプリング周期で繰り返し実行される楽音データ処理のフローチャートである。
【００６３】
楽音データ処理では、まず、楽音データ処理フラグの値を確認し（Ｓ３００）、「０」であれば（Ｓ３００：０）、以降のＳ３０２からＳ３０８の各処理によって、使用者の演奏をサンプリングした楽音データを、記憶アドレスが示すリングバッファ内のアドレスへ記憶する。即ち、楽音データのリングバッファへの記憶処理を実行する。
【００６４】
記憶処理では、まず、記憶アドレスが示すリングバッファ内のアドレスへ楽音データを記憶し（Ｓ３０２）、記憶アドレスの値を「＋１」して更新する（Ｓ３０４）。更新後の記憶アドレスの値がリングバッファのアドレス最大値を超えていれば（Ｓ３０６：Ｙｅｓ）、記憶アドレスにリングバッファの先頭アドレスを書き込んで（Ｓ３０８）、この回の楽音データ処理を終了する。一方、更新後の記憶アドレスの値がリングバッファのアドレス最大値を超えていなければ（Ｓ３０６：Ｎｏ）、そのまま、この回の楽音データ処理を終了する。
【００６５】
Ｓ３００の処理において、楽音データ処理フラグの値が「１」であれば（Ｓ３００：１）、以降のＳ３１０からＳ３２０の各処理によって、リングバッファへ記憶された楽音データを、開始アドレスから終了アドレスまで１回再生する。即ち、記憶した楽音データの再生処理を実行する。なお、この再生処理は、開始アドレスが再生アドレスへ設定された状態から開始される（図５のＳ１１０）。
【００６６】
再生処理では、まず、再生アドレスに記憶される楽音データを再生し（Ｓ３１０）、その再生アドレスが終了アドレスと一致するかを確認する（Ｓ３１２）。再生アドレスが終了アドレスと一致していなければ（Ｓ３１２：Ｎｏ）、再生アドレスの値を「＋１」して更新する（Ｓ３１６）。更新後の再生アドレスの値がリングバッファのアドレス最大値を超えていれば（Ｓ３１８：Ｙｅｓ）、再生アドレスにリングバッファの先頭アドレスを書き込んで（Ｓ３２０）、この回の楽音データ処理を終了する。一方、更新後の再生アドレスの値がリングバッファのアドレス最大値を超えていなければ（Ｓ３１８：Ｎｏ）、そのまま、この回の楽音データ処理を終了する。また、Ｓ３１２の処理において、再生アドレスが終了アドレスと一致していれば（Ｓ３１２：Ｙｅｓ）、開始アドレスから終了アドレスまでの再生終了なので、かかる場合には、楽音データ処理フラグに「２」を設定して再生モードを終了し、この回の楽音データ処理を終了する。
【００６７】
更にＳ３００の処理において、楽音データ処理フラグの値が「２」であれば（Ｓ３００：２）、記憶モード（録音モード）でも再生モードでもないので、記憶処理および再生処理のいずれも実行することなく、この回の楽音データ処理を終了する。
【００６８】
以上説明した通り、本実施例の電子楽器１によれば、１拍をカウントする拍カウンタを設け、この拍カウンタの値を、自動演奏の開始時に拍の頭を示す「０」とするので、自動演奏を拍の頭から開始することができる。しかも、この拍カウンタの値が「０」となる毎に、そのタイミングで記憶される楽音データの記憶アドレスを拍アドレステーブル３０に記憶するので、楽音データの音楽的に区切りの良いアドレス（拍の頭のアドレス）を拍アドレステーブル３０に記憶することができる。よって、この拍アドレステーブル３０に記憶されるアドレスから再生を行うことにより、或いは、この拍アドレステーブル３０に記憶されるアドレス単位で再生や保存を行うことにより、拍の頭から再生を行ったり、或いは、拍単位の再生や保存を行うことができる。よって、音楽的に区切りの良い位置からの再生や、音楽的に区切りの良い単位での再生や保存を行うことができる。また、拍の頭の到来タイミングでＬＥＤ９１を点灯することにより、電子楽器１の演奏者に、そのタイミングを無音で報知することができる。
【００６９】
次に、図８を参照して、本発明の電子楽器１における第２実施例について説明する。上記第１実施例では、楽音データにおける各拍の頭の記憶アドレスを拍アドレステーブル３０に記憶させるよう構成した。これに代えて、第２実施例では、拍カウンタが１拍をカウントする毎に、図示されないタイマによって計測される絶対時間（電子楽器１の電源投入時から計測される時間）を取得し、取得された絶対時間を拍時刻情報テーブル３００（図８）に記憶させるように構成する。なお、前記した第１実施例と同一の部分には同一の符号を付して、その説明は省略する。
【００７０】
図８は、拍時刻情報テーブル３００を示す図であり、この拍時刻情報テーブル３００には、カウンタが１拍をカウントする毎に、即ち、拍カウンタが「０」を示す毎に計測される絶対時間が、拍カウンタの値に対応するテーブル番号毎に記憶されている。
【００７１】
よって、拍時刻情報テーブル３００によれば、１拍が数えられる毎に絶対時刻が記録されるので、１拍をカウントするのに要する時間を算出することができる。従って、１拍に要する時間とサンプリング周波数（又は、サンプリング周期）とに基づいて、１拍がカウントされる間にサンプリングされたサンプル数、即ち、１拍分に相当する記憶アドレス量を演算により得ることができる。これによって、拍単位のスキップバック量も計算し得る。
【００７２】
この第２実施例の場合も、第１実施例の場合と同様に、楽音データの記憶中（録音モード）にスキップバックボタン８０の操作がされると、録音モードを終了すると共に、メイン処理（図４）のＳ１０６の処理を行う。ここで、第２実施例では、スキップバックボタン８０の操作により取得される絶対時間と記憶アドレスとに基づいて開始アドレス及び終了アドレスを設定する。
【００７３】
終了アドレスには、拍時刻情報テーブル３００に最後に記憶された絶対時間に対応する記憶アドレスを演算により求め、演算により得られた記憶アドレスから「１」を減じたアドレスが設定される。ここで、拍時刻情報テーブル３００に最後に記憶された絶対時間に対応する記憶アドレスは、拍時刻情報テーブル３００に最後に記憶された絶対時間（セーブカウンタの値に等しいテーブル番号に対して記憶される絶対時間）からスキップバックボタン８０の操作時点までの経過時間とスキップバックボタン８０の操作時に対応する記憶アドレスとサンプリング周波数とを用いて演算することにより得られる。
【００７４】
開始アドレスには、上述のように得られた終了アドレスから、スキップバック量つまみ８５の操作により設定された拍単位のスキップバック量に相当するアドレス量を減じたアドレスが設定される。
【００７５】
上述のように、楽音データにおける各拍の先頭位置を絶対時間として記憶し、その絶対時間を基に演算により開始アドレス及び終了アドレスなどの記憶アドレスを取得することにより、メモリの最適化処理等に起因する記憶アドレスの移動があった場合にも、その都度、アドレステーブルを更新する必要がなくなる。従って、特に、ＣＰＵ２の処理が過酷となる録音処理中においてもアドレステーブルを更新する必要がなく、安定な動作を確保することができる。
【００７６】
なお、請求項１又は５記載の楽音記憶手段としてはリングバッファが該当し、読出開始手段としては、楽音データの再生時では開始アドレスを再生アドレスへ設定する処理（Ｓ１１０）及びその再生アドレスから楽音データを再生する処理（Ｓ３１０）が該当し、楽音データの保存時では、開始アドレスから楽音データを保存する楽音データ保存処理（Ｓ１１８）が該当する。
【００７７】
請求項２記載の記憶アドレス取得手段としては、第２実施例におけるＳ１０６の処理において「スキップバックボタン８０の操作時に取得される絶対時間と記憶アドレスとに基づいて開始アドレス及び終了アドレスを設定する」処理が該当する。
【００７８】
請求項４又は６記載の保存手段としては、開始アドレスから終了アドレスまでの楽音データを記憶する楽音データ保存処理（Ｓ１１８）が該当する。
【００７９】
請求項７に記載の波形表示手段としては、リングバッファに記憶される楽音データを開始アドレスおよび終了アドレスと共に表示器９０上に波形表示するＳ１１４の処理が該当する。
【００８０】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００８１】
例えば、上記実施例では、楽音データの再生又は保存を拍位置情報に基づく拍単位で行うよう構成したが、これに代えて、拍単位より大きな単位である小節単位で行うように構成しても良い。即ち、楽音データの再生を小節の先頭から行うようにしたり、楽音データの再生又は保存を小節単位で行うようにしても良い。楽音データの再生や保存を小節単位で行う場合には、上記実施例において拍単位で取得した記憶アドレスを記憶させた拍アドレステーブル３０又は拍時刻情報テーブル３００に代えて、楽音データの各小節区切りに対応する記憶アドレスを記憶する小節アドレステーブル又は各小節区切りに対応する絶対時間を記憶する小節時刻情報テーブルを備えるように構成すれば良い。そして、小節アドレステーブル又は小節絶対時間テーブルに記憶アドレスを記憶させるためには、拍カウンタに代えて或いは拍カウンタと共に、１小節をカウントする小節カウンタを設け、この小節カウンタが小節の頭を示す値から自動演奏を開始させると共に、小節カウンタが小節の頭を示す値となるタイミングで記憶される楽音データの記憶アドレスを取得すれば良い。
【００８２】
あるいは、拍アドレステーブル３０又は拍時刻情報テーブル３００に記憶される拍位置情報と楽音データの拍子情報（例えば、４／４拍子など）とに基づいて小節区切情報を算出し、その小節区切情報に基づいて小節単位での処理を行うように構成しても良い。上記のように、楽音データの再生又は保存を拍単位より大きな小節単位で行うことにより、音楽的にまとまった単位で再生又は保存できるので作業を行う上で都合が良い。また、電子楽器１においては、小単位である拍単位での処理と小節単位での処理とのいずれかを採用するよう構成しても良いし、両方の処理が併用されるように構成しても良いし、両方の処理が任意に切り換えられるように構成しても良い。
【００８３】
また、上記実施例では、拍アドレステーブル３０に記憶されるアドレスに基づいて、開始アドレス及び終了アドレスを設定した。特に、開始アドレスを、拍アドレステーブル３０に記憶されるアドレスに基づいて設定し、終了アドレスを、拍アドレステーブル３０に記憶されるアドレス−α（αは、実施例では１）のアドレスに設定したが（Ｓ１０６，Ｓ１１４）、これとは逆に、終了アドレスを、拍アドレステーブル３０に記憶されるアドレスに基づいて設定し、開始アドレスを、拍アドレステーブル３０に記憶されるアドレス＋β（βは、例えば１）のアドレスに設定するようにしても良い。更に、拍アドレステーブル３０に記憶されるアドレスに直近の無音から有音になる部分のアドレスを開始アドレスとして設定し、拍アドレステーブル３０に記憶されるアドレスに直近の有音から無音になる部分のアドレスを終了アドレスとして設定するようにしても良い。
【００８４】
また、開始アドレス及び終了アドレスの両方を拍アドレステーブル３０に記憶されるアドレスに基づいて設定したが、これに代えて、開始アドレス又は終了アドレスのいずれか一方のみを、拍アドレステーブル３０に記憶されるアドレスに基づいて設定し、他方のアドレスは、サンプリング周波数やテンポ値から求めるようにしても良い。
【００８５】
また、上記実施例では、テンポに応じて、拍アドレステーブル３０に楽音データの各拍の先頭アドレスを記憶させることによって拍位置情報を付加するよう構成したが、上記実施例に従って付加された拍位置情報を自由に付け直す（変更する）ように構成してもよい。即ち、楽音データの始点と使用者により設定されるＢＰＭ（ｂｅａｔ  ｐｅｒ  ｍｉｎｕｔｅ）情報及びサンプリング周波数から算出される１拍分のサンプル数とに基づいて、各拍の先頭アドレスを改めて付け直すようにしてもよい。例えば、テンポつまみ８８の操作に基づいて設定されたテンポに応じた自動演奏ではなく、タップボタン等の操作子を使用者自身が操作したテンポに対応するＢＰＭ情報を付与し、そのＢＰＭ情報とサンプリング周波数とに基づいて拍位置情報を改めて付け直すようにしても良い。これによって、演奏者の感覚によるテンポで演奏され録音された楽音データに対しても、新たに所定のテンポに対応する拍位置情報を付け直すことができる。なお、楽音データの始点は、録音時に入力レベルが所定の閾値を越えた点に設定されるようにしても良いし、使用者が任意に指定できるようにしても良い。
【００８６】
また、上記実施例では、楽音データの保存は、セーブボタン８３の操作により行われたが、これに代えて、楽音データの振幅値が所定値以下で且つその状態が所定時間継続する状態（所定状態）を検出した場合に、振幅値が所定値以下となったアドレスを終了アドレスとして設定し、検出した所定状態の直前の所定状態後で楽音データの振幅値が所定値以上になったアドレスを開始アドレスとして設定するようにしても良い。また、この開始アドレスから終了アドレスの間の楽音データを、自動的に保存するようにしても良い。
【００８７】
また、上記実施例では、電子楽器１の記憶モードにおいて、リングバッファに記憶される楽音データの各拍の先頭に対応する記憶アドレスを拍アドレステーブル３０に記憶するよう構成した。メモリ（ＲＡＭ４）内の記憶アドレスはメモリの最適化などにより移動することがあるが、その場合は、拍アドレステーブル３０に記憶されている記憶アドレスをその移動に応じて更新するようにすれば良い。
【００８８】
また、上記実施例では、リングバッファに記憶された楽音データは、ＲＡＭ４内の保存領域に保存されたが、電子楽器１にハードディスクなどの記憶媒体を設け、そこへ楽音データを保存するようにしても良い。また、上記実施例では、入力端子に接続される機器からの楽音をサンプリングの対象としているが、鍵盤７の演奏に従って楽音生成器９が発する楽音をサンプリングしても良く、更に、その楽音と共に入力端子から入力される楽音をミックスしてサンプリングするようにしても良い。また、上記実施例では、楽音データをリングバッファへ記憶したが、外部から入力した演奏データや、鍵盤７で演奏した演奏データを、楽音データと同様にリングバッファへ記憶し、拍又は小節単位で、再生又は保存するようにしても良い。
【００８９】
また、上記実施例では、スタートポイントカーソル９０ｂ、エンドポイントカーソル９０ｃ、及び、グリッド線９０ｄを、拍単位で表示又は移動できるように構成した。これに代えて、拍より大きな単位である小節単位で表示又は移動できるように構成してもよい。楽音データの区切りを拍単位から小節単位にすることにより、音楽的にまとまった単位でで表示又は移動できるので編集作業を行う上で都合がよい。
【００９０】
更に、スタートポイントカーソル９０ｂ、エンドポイントカーソル９０ｃ、及び、グリッド線９０ｄの表示又は移動を、拍単位と小節単位とを併用して行うように構成してもよい。この場合、例えば、拍位置を表すグリッド線９０ｄと小節区切位置を表すグリッド線９０ｄとを異なる形態（例えば、太さ）で表示すれば、拍位置と小節位置とが共に認識し易くなる。また、スタートポイントカーソル９０ｂ及びエンドポイントカーソル９０ｃについても、拍単位で移動する操作と小節単位で移動する操作とを別の操作で行うように構成するようにすれば、拍単位での小さな移動も小節単位での大きな移動も可能となり、操作する上で都合が良い。上記実施例では、各ポイントカーソル９０ｂ、９０ｃを拍単位で移動させる場合、アドレス変更ボタン８２を操作するよう構成した。ここで、例えば、各ポイントカーソル９０ｂ、９０ｃを小節単位で移動させるために、別途シフトボタンを設け、シフトボタンと共にアドレス変更ボタン８２を操作するように構成しても良い。
【００９１】
また、上記実施例では、録音された楽音データに対し、拍位置情報（又は小節区切位置情報）を付与するよう構成した。ここで、上記実施例に基づいて付与される拍位置情報（又は小節区切情報）を利用することにより、種々のアプリケーションを提供し得る。例えば、１の楽音データを、拍位置情報（又は小節区切情報）に基づく拍位置（又は小節区切位置）で区切って複数の楽音データに分割し、その分割された楽音データを、パッド９２を構成する個別のパッドに対してそれぞれアサインする。そして、各楽音データがアサインされたパッド９２を、使用者が所望の順序で操作すると、元の楽音データを、拍単位（又は小節単位）で所望の順序で演奏することができる。即ち、既存の楽音データを基に新たな楽曲を容易に作成し得る。
【００９２】
更に、上記実施例に基づいて付与される拍位置情報（又は小節区切情報）を利用することにより、楽音データをシーケンストラックデータとして手軽に利用し得る。即ち、拍単位（又は小節単位）でシーケンストラックに貼り付けられる楽音データは、別のトラックに記録される自動演奏データと容易に同期再生し得る。
【図面の簡単な説明】
【図１】本発明の一実施例である電子楽器の電気的構成を示したブロック図である。
【図２】電子楽器の操作パネルの正面図である。
【図３】操作パネルの表示器に表示される波形表示部分を模式的に示した図である。
【図４】拍アドレステーブルの概略的な構成図である。
【図５】ＣＰＵで実行されるメイン処理のフローチャートである。
【図６】ＣＰＵの割込処理によりティックの周期で繰り返し実行される自動演奏処理のフローチャートである。
【図７】ＤＳＰにより４４．１ｋＨｚのサンプリング周期で繰り返し実行される楽音データ処理のフローチャートである。
【図８】拍時刻情報テーブルの概略的な構成図である。
【符号の説明】
１        電子楽器
２        ＣＰＵ
４        ＲＡＭ
５        ＤＳＰ（入力手段の一部）
６        Ａ／Ｄコンバータ（入力手段の一部）
３０      拍アドレステーブル（アドレス記憶手段）
８０      スキップバックボタン（指示手段）
８８      テンポつまみ（テンポ設定手段）
９０      表示器（波形表示手段の一部）
９０ｄ    グリッド線（タイミング表示手段）
９１      ＬＥＤ（報知手段）
３００    拍時刻情報テーブル（時間情報記憶手段）
【図１】
2004272192.tif 000003
【図２】
2004272192.tif 000004
【図３】
2004272192.tif 000005
【図４】
2004272192.tif 000006
【図５】
2004272192.tif 000007
【図６】
2004272192.tif 000008
【図７】
2004272192.tif 000009
【図８】
2004272192.tif 000010