(57)【特許請求の範囲】
【請求項１】
複数の第１記憶領域を有する第１のバッファと、
前記複数の第１記憶領域夫々に対応する複数の指定キーと、
入力される、複数の区間を有する楽音信号データの少なくとも一部を前記区間ごとに前記第１のバッファ内の前記複数の第１記憶領域に夫々記憶させる記憶保持手段と、
前記入力された楽音信号データの少なくとも一部を再生する第１の再生手段と、
前記複数の指定キーのうちの少なくとも１つが指定された際に、前記指定された指定キーに対応する前記第１記憶領域に記憶されている少なくとも１つの区間を含む区間データを前記第１のバッファ内の前記第１記憶領域から、前記第１のバッファ外の第２記憶領域に複製する複製手段と、
前記第１の再生手段が前記入力される楽音信号データを再生する代わりに、前記複製手段により複製された前記第２記憶領域内の前記区間データを再生する第２の再生手段と、
を備えることを特徴とする楽音再生装置。
【請求項２】
前記第２の再生手段が前記第２記憶領域内に複製された前記区間データを再生している際も前記楽音信号データは継続して入力されており、前記指定が解除された際に、前記第２の再生手段が前記第２記憶領域内に複製された前記区間データを再生する代わりに、前記継続して入力されている前記楽音信号データを前記第１の再生手段が再生するように制御する制御手段を備え、
前記記憶保持手段は、前記第２の再生手段が前記第２記憶領域内に複製された前記区間データを再生している際も継続して入力されている前記楽音信号データを前記区間ごとに前記第１のバッファ内の前記複数の第１記憶領域に記憶させている、
ことを特徴とする請求項１に記載の楽音再生装置。
【請求項３】
前記第１の再生手段が再生する前記楽音信号データ内の前記区間を識別する第１識別子を前記指定キーに出力するとともに、前記第２の再生手段が再生する前記区間を識別する第２識別子を前記指定キーに出力する出力手段と、
を備えることを特徴とする請求項１または２に記載の楽音再生装置。
【請求項４】
前記複数の指定キーは、筐体上に、環状に配置されており、
前記出力手段は、前記指定キーを発光させる発光表示手段である、
ことを特徴とする請求項３に記載の楽音再生装置。
【請求項５】
前記区間は、入力される前記楽音信号データ内の少なくとも１つの音符長の区間を含み、
前記第１記憶領域には、前記少なくとも１つの音符長の区間データが記憶され、
前記第１のバッファ内の前記複数の第１記憶領域には、入力される前記楽音信号データが１小節ごとに循環的に記憶されている、
ことを特徴とする請求項１ないし４のいずれかに記載の楽音再生装置。
【請求項６】
複数の第１記憶領域を有する第１のバッファと、前記複数の第１記憶領域夫々に対応する複数の指定キーと、を有する楽音再生装置が、
入力される、複数の区間を有する楽音信号データの少なくとも一部を前記区間ごとに前記第１のバッファ内の前記複数の第１記憶領域に夫々記憶させ、
前記入力された楽音信号データの少なくとも一部を再生し、
前記複数の指定キーのうちの少なくとも１つが指定された際に、前記指定された指定キーに対応する前記第１記憶領域に記憶されている少なくとも１つの区間を含む区間データを前記第１のバッファ内の前記第１記憶領域から、前記第１のバッファ外の第２記憶領域に複製し、
前記入力される楽音信号データを再生する代わりに、前記複製された前記第２記憶領域内の前記区間データを再生する、楽音再生方法。
【請求項７】
複数の第１記憶領域を有する第１のバッファと、前記複数の第１記憶領域夫々に対応する複数の指定キーと、を有する楽音再生装置として用いられるコンピュータに、
入力される、複数の区間を有する楽音信号データの少なくとも一部を前記区間ごとに前記第１のバッファ内の前記複数の第１記憶領域に夫々記憶させるステップと、
前記入力された楽音信号データの少なくとも一部を再生するステップと、
前記複数の指定キーのうちの少なくとも１つが指定された際に、前記指定された指定キーに対応する前記第１記憶領域に記憶されている少なくとも１つの区間を含む区間データを前記第のバッファ内の前記第１記憶領域から、前記第１のバッファ外の第２記憶領域に複製するステップと、
前記入力される楽音信号データを再生する代わりに、前記複製された前記第２記憶領域内の前記区間データを再生するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音再生技術に関する。
【背景技術】
【０００２】
楽音信号に与えられるエフェクトの一つとして、オーディオスライス機能が知られている。この機能は、与えられた楽音信号をユーザの意図したタイミングで予め分割して呼び出す音楽エフェクト機能の一つである。
【０００３】
このような機能を実現した従来技術として、例えば次のものが知られている（例えば特許文献１に記載の技術）。この従来技術では、複数の区間に分割された演奏データの編集を行う。各区間を示すブロックを連続して表示する。マウス操作するポインタでブロックを選択する。選択したブロックの端部（隣接するブロックとの区切り位置）をポインタでドラッグして、選択したブロック（区間）の長さを変更する。同時に、隣接するブロックの長さも自動的に変更する。長さの変更後も変更前の区間区切り位置を確認できるようにその位置にアイコンを表示しておく。演奏データの再生時には、区間を選択しないときは先頭移動スイッチでグリッドポインタを楽音先頭まで移動し、再生開始スイッチで楽音末尾まで再生する。区間を指定したときは、先頭移動スイッチで区間先頭まで移動し、再生開始スイッチで区間末尾まで再生する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３０６０６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述の従来技術では、オーディオスライスに必要な楽音信号を楽器の内部に予め準備しておき、指定されたタイミングに再生ポインタをあわせる必要があるため、オーディオスライス機能の実現に楽音データの事前準備を要し、例えば、外部入力から送られてきた任意の楽音信号に対してリアルタイムでオーディオスライス処理を実行することができなかった。
【０００６】
本発明は、楽音信号に対してリアルタイムなオーディオスライス機能を実現させることを目的とする。
【課題を解決するための手段】
【０００７】
態様の一例では、複数の第１記憶領域を有する第１のバッファと、前記複数の第１記憶領域夫々に対応する複数の指定キーと、入力される、複数の区間を有する楽音信号データの少なくとも一部を前記区間ごとに前記第１のバッファ内の前記複数の第１記憶領域に夫々記憶させる記憶保持手段と、前記入力された楽音信号データの少なくとも一部を再生する第１の再生手段と、前記複数の指定キーのうちの少なくとも１つが指定された際に、前記指定された指定キーに対応する前記第１記憶領域に記憶されている少なくとも１つの区間を含む区間データを前記第１のバッファ内の前記第１記憶領域から、前記第１のバッファ外の第２記憶領域に複製する複製手段と、前記第１の再生手段が前記入力される楽音信号データを再生する代わりに、前記複製手段により複製された前記第２記憶領域内の前記区間データを再生する第２の再生手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、楽音信号に対してリアルタイムなオーディオスライス機能を実現させることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明による楽音再生装置の実施形態の外観例を示す図である。
【図２】ＬＥＤ表示と録音用リングバッファとの関係を説明する図である。
【図３】スライス始端ステップの指定と録音用リングバッファおよび再生用リングバッファとの関係を説明する図である。
【図４】スライス始端ステップのみが指定された時の再生処理を説明する図である。
【図５】スライス終端ステップが指定された時の再生処理を説明する図である。
【図６】フリーズ指定と録音用リングバッファおよび再生用リングバッファとの関係を説明する図である。
【図７】フリーズ指定下でのスライス始端ステップの指定時の再生処理を説明する図である。
【図８】フリーズ指定下でのスライス終端ステップの指定時の再生処理を説明する図である。
【図９】楽音再生装置のハードウェア構成例を示す図である。
【図１０】ステップＮボタン押下検出時の処理例を示すフローチャートである。
【図１１】ステップＮボタン開放検出時の処理例を示すフローチャートである。
【図１２】フリーズボタン押下検出時の処理例を示すフローチャートである。
【図１３】タップボタン押下検出時の処理例を示すフローチャートである。
【図１４】ＬＥＤ表示のためのタイマ処理の処理例を示すフローチャートである。
【図１５】スライス割込処理の処理例を示すフローチャート（その１）である。
【図１６】スライス割込処理の処理例を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。図１は、本発明による楽音再生装置の実施形態の外観例を示す図である。本実施形態による楽音再生装置は、入力する楽音信号に対してリアルタイムのスライス処理を行う効果付加（エフェクト）装置として実施することができる。この楽音再生装置は、特には図示しないが、ユーザが指定したテンポに基づいた内蔵シーケンサによる楽音再生機能と、そのシーケンサ再生音に外部から入力する音楽信号データをミックスすることができる外部入力端子を備える。
【００１１】
そして、この楽音再生装置は、図１に示されるように、リング上の筐体１０２に沿って１〜１６までの番号を付して環状に設置された１６個のＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅｓ）表示素子兼タッチ式スライスタイミング指定センサ１０１（以下「ＬＥＤ兼タイミングセンサ１０１」と記載する）を備える。１個のＬＥＤ兼タイミングセンサ１０１は、１６分音符に対応している。ユーザが特には図示しないスイッチによりシーケンサをスタートさせると、ユーザが指定したテンポに同期して、シーケンサ音（およびそれにミックスされる音楽データ）が再生されてゆく。これとともに、そのテンポに同期して、図１の矢印Ａの時計回りの方向に、番号１，２，３，・・・・１６，１，２，３・・・の順に、各ＬＥＤ兼タイミングセンサ１０１が順次１６分音符に対応する時間だけ点灯し消灯してゆく。従って、光が１６個のＬＥＤ兼タイミングセンサ１０１を一周すると、１小節分の楽音信号データが再生されることになる。
【００１２】
本実施形態による楽音再生装置は、図１に示されるように、タップボタン１０４を備える。ユーザは、このタップボタン１０４を１回だけ短時間押下すると、シーケンサ音の再生タイミングを小節の先頭にリセットすることができ、また、発光されるＬＥＤ兼タイミングセンサ１０１の位置を番号１にリセットすることができる。
【００１３】
また、ユーザは、タップボタン１０４を実現したテンポに応じた速度で２回続けて押下すると、再生テンポを変更することができる。
【００１４】
図２は、図１のＬＥＤ兼タイミングセンサ１０１の発光表示と録音用リングバッファ２０１との関係を説明する図である。本実施形態による楽音再生装置は、録音用リングバッファ２０１と再生用リングバッファ２０２を備える。これらのバッファ２０１、２０２のいずれも、録音時には設定された再生テンポに関係なく、予め定められた最小サンプリング周期で記憶領域に記憶可能な最大サンプル数分記憶し、再生時には設定された再生テンポに応じて、この記憶されたサンプル値を選択して読み出すようにしている。
【００１５】
いま、シーケンサ音（＋外部楽音）の楽音信号データが入力し、環状筐体１０２上の１６個のＬＥＤ兼タイミングセンサ１０１が順次発光していってその発光が環状筐体１０２上を一周するとき、番号１〜１６の各ＬＥＤ兼タイミングセンサ１０１が順次発光するとき、その発光したタイミングで再生されている楽音信号データサンプル群は、図２のに示される録音用リングバッファ２０１の対応する番号の記憶領域に順次保持される。すなわち、例えば１番のＬＥＤ兼タイミングセンサ１０１が発光するときには、そのタイミングで再生されている楽音信号データサンプル群は、図２に示される録音用リングバッファ２０１の１番の記憶領域に順次保持される。２番のＬＥＤ兼タイミングセンサ１０１に対応する楽音信号データサンプル群は２番の記憶領域に順次保持される。そして、１６番の記憶領域まで楽音信号データサンプル群が順次保持されて、発光が環状筐体１０２上の１番のＬＥＤ兼タイミングセンサ１０１に戻ると、そのときの楽音信号データサンプル群は、録音用リングバッファ２０１の１番の記憶領域に上書きされる。このように、入力する楽音信号データはそれぞれ録音用リングバッファ２０１（第１のバッファ手段）の各記憶領域に例えば１小節時間（所定期間）分順次循環的に保持される。なお、保持動作は例えば、楽音信号データの入力サンプリング間隔に同期して、１サンプルずつ実行される。
【００１６】
図２に示される再生用リングバッファ２０２も、録音用リングバッファ２０１と同じ記憶容量を有するが、この動作については後述する。
【００１７】
以上のようにして、ユーザがシーケンサ音（＋外部楽音）の発音動作をスタートさせると、図２の矢印Ａの時計回りに、テンポに同期して環状筐体１０２上の１６個のＬＥＤ兼タイミングセンサ１０１が順次ぐるぐる発光する動作を繰り返す。
【００１８】
この状態で、ユーザがテンポに同期して再生される楽音を聴きながら、自分がスライス処理を開始させたいと思うタイミングに対応するＬＥＤ兼タイミングセンサ１０１を押下する。ここで、以下の説明では、各ＬＥＤ兼タイミングセンサ１０１に対応する各１６分音符のタイミングを「ステップ」と呼び、ユーザが指定したスライス処理を開始させたいと思うタイミングを「スライス始端ステップ」と呼ぶことにする。図３は、この操作が行われた場合の動作説明図であり、スライス始端ステップの指定と録音用リングバッファ２０１および再生用リングバッファ２０２との関係を説明する図である。図３は、ユーザが５番のＬＥＤ兼タイミングセンサ１０１を押下した場合を示している。この場合、録音用リングバッファ２０１と再生用リングバッファ２０２の間の破線矢印で示されるように、録音用リングバッファ２０１の５番の記憶領域に記憶されている楽音信号データサンプル群から順に、再生用リングバッファ２０２の先頭の記憶領域から順に複製されてゆく。この複製動作は、例えば楽音信号データの入力サンプリング間隔に同期して１サンプルずつ実行される。録音用リングバッファ２０１の１６番の記憶領域まで複製が到達すると、次に、録音用リングバッファ２０１の１番の記憶領域の楽音信号データサンプル群が、再生用リングバッファ２０２の１６番の記憶領域の次の記憶領域に複製される。
【００１９】
本実施形態においては、再生用リングバッファは、その先頭アドレスから順に楽音信号データを複製していくようにしているが、録音用リングバッファと再生用リングバッファはその先頭アドレスからのオフセット値を常に一致させるようにし、例えば、録音用リングバッファ２０１のＭ番の記憶領域の楽音信号データサンプルは、再生用リングバッファ２０２のＭ番の記憶領域に複製させるようにしてもよい。
【００２０】
以上のようにして、ユーザが指定したスライス始端ステップから１小節分の楽音信号データが、図３に示されるように再生用リングバッファ２０２に複製される。ここで、ユーザは、スライス始端ステップ（図３では５番のステップ）を、ちょうどそのステップのＬＥＤ兼タイミングセンサ１０１が発光して対応する楽音信号データが再生されているタイミングで指定してもよいし、発光していないタイミングで指定してもよい。そして、ユーザがスライス始端ステップを指定して録音用リングバッファ２０１から再生用リングバッファ２０２への複製が開始された後も、入力された楽音信号データの録音用リングバッファ２０１への順次保持動作は続行されている。この場合、録音用リングバッファ２０１への楽音信号データの順次保持動作と、録音用リングバッファ２０１から再生用リングバッファ２０２への楽音信号データの順次複製動作は、ともにサンプリング間隔で実行される。このため、録音用リングバッファ２０１上のスライス始端ステップから正しく連続する楽音信号データサンプル群の１小節分を再生用リングバッファ２０２に複製することができる。
【００２１】
以上のようにして、ユーザがスライス始端ステップを指定すると、楽音再生装置は、入力した楽音信号データの再生は停止させ、その代わり、再生用リングバッファ２０２からのスライスされた楽音信号データの再生を開始する。ここで、ユーザは、スライスを開始させるスライス始端ステップのみ指定しており、まだスライスが終了するステップのタイミングは指定していない。この場合、楽音再生装置は、デフォルトの動作として、スライス始端ステップから例えば２ステップ分（８分音符分）の楽音信号データを繰り返し再生するように動作する。図４は、その動作説明図であり、スライス始端ステップのみが指定された時の再生処理を説明する図である。楽音再生装置は、再生用リングバッファ２０２の先頭の記憶領域に複製された５番のスライス始端ステップとそれに続く記憶領域に複製された６番のステップの各楽音信号データサンプル群を順次再生出力する。６番の記憶領域の楽音信号データサンプル群の再生出力が終了すると、図４の再生用リングバッファ２０２に付与された矢印で示されるように、再び５番の記憶領域の楽音信号データサンプル群の再生出力が行われる。このようにして、ユーザがスライス始端ステップのみを指定した段階では、そのステップから８分音符分の楽音信号データサンプル群が再生用リングバッファ２０２から再生出力される。
【００２２】
次に、ユーザが、自分がスライス処理を終了させたいと思うタイミングに対応するＬＥＤ兼タイミングセンサ１０１を押下する。ここで、ユーザが指定したスライス処理を終了させたいと思うタイミングを「スライス終端ステップ」と呼ぶことにする。図５は、このスライス終端ステップが指定された時の再生処理を説明する図である。図５において、ユーザが例えば、１２番のステップをスライス終端ステップとして押下したとする。これに対応して、楽音再生装置は、スライス始端ステップからスライス終端ステップまでの楽音信号データを繰り返し再生するように動作する。すなわち、楽音再生装置は、再生用リングバッファ２０２の先頭の記憶領域に複製された５番のスライス始端ステップから１２番のステップの各楽音信号データサンプル群を順次再生出力する。１２番の記憶領域の楽音信号データサンプル群の再生出力が終了すると、図５の再生用リングバッファ２０２に付与された矢印で示されるように、再び５番の記憶領域の楽音信号データサンプル群の再生出力が行われる。このようにして、ユーザがスライス始端ステップとスライス終端ステップを指定して楽音信号データの繰返し範囲を指定すると、その範囲の楽音信号データサンプル群が再生用リングバッファ２０２から再生出力される。
【００２３】
このようにしてユーザは、録音用リングバッファ２０１への保持動作とともに順次再生される楽音信号データに合わせて、楽音信号データのスライス範囲をスライス始端ステップとスライス終端ステップとして指定することができ、上記スライス範囲を含む録音用リングバッファ２０１に保持されている１小節分の楽音信号データが再生用リングバッファ２０２に複製される。そして、再生用リングバッファ２０２に複製されたスライス範囲の楽音信号データが、繰り返し再生出力される。これにより、楽音信号に対してリアルタイムなオーディオスライス機能を実現させることが可能となる。外部からの入力信号を含む楽音入力と内部のスライス音の切替えを、ＬＥＤ兼タイミングセンサ１０１のボタン操作で簡単に行うことができる。スライス音は繰り返しが行われるため、直感的な操作で無音時間を設けずに音楽信号の潤滑な組み換えができる。また、前もって音楽データを用意する必要がなく、リアルタイムに入力されたどのような音楽信号も扱うことができる。既存のオーディオスライスは再生位置にポインタをあわせるものであったが、本実施形態は、リアルタイムに再生される楽音信号データに合わせてスライス始端ステップおよびスライス終端ステップを即座に決定できるユーザインタフェースとなっている。
【００２４】
ここで、ユーザは、例えば図５に示されるように、５番のスライス始端ステップと１２番のスライス終端ステップの各ＬＥＤ兼タイミングセンサ１０１が押下されている状態で、１２番のスライス終端ステップのＬＥＤ兼タイミングセンサ１０１の押下のみをやめると、そのままのスライス範囲の再生状態が維持される。その後、ユーザが、再び別のスライス終端ステップのＬＥＤ兼タイミングセンサ１０１を押下すると、図５で１２番が押下されたときと同様にして新たなスライス範囲が設定され、スライス始端ステップから１小節分の楽音信号データが保持されている再生用リングバッファ２０２から、スライス始端ステップから新たなスライス終端ステップまでの楽音信号データを繰り返し再生出力するようになる。
【００２５】
ユーザは、例えば図４または図５に示されるように、５番のスライス始端ステップが押下されている状態で、その５番のスライス始端ステップのＬＥＤ兼タイミングセンサ１０１の押下をやめると、図２の状態に戻って、再生用リングバッファ２０２の内容は無効になる。その後の動作は、図２で説明した状態と同様になる。
【００２６】
次に、ユーザは、図２の状態から任意のタイミングで、図１のフリーズボタン１０３を押下することができる。図６は、図２の状態でユーザがフリーズボタン１０３を押下した場合の動作説明図であり、フリーズボタン１０３によるフリーズ指定と録音用リングバッファ２０１および再生用リングバッファ２０２との関係を説明する図である。図２の状態で、ユーザが例えば、１６番のステップのＬＥＤ兼タイミングセンサ１０１が発光を終了する直後から次のＬＥＤ（１番）点灯終了直前のタイミングでフリーズボタン１０３を押下したとする。この場合、録音用リングバッファ２０１に保持された約１小節前の１番のステップから直前の１６番のステップまでに対応する直近１小節分の楽音信号データサンプル群が、図６の録音用リングバッファ２０１と再生用リングバッファ２０２の間の破線矢印で示されるように、再生用リングバッファ２０２に複製される。なお、フリーズボタン１０３が押下されるタイミングはどのタイミングでもよい。例えば４番のステップのＬＥＤ兼タイミングセンサ１０１が発光を終了する直前のタイミングでフリーズボタン１０３が押下されれば、図３で前述したように、録音用リングバッファ２０１に保持された約１小節前の５番のステップから直前の４番のステップまでに対応する直近１小節分の楽音信号データサンプル群が、再生用リングバッファ２０２に複製されることになる。
【００２７】
なお、１小節分の楽音信号データサンプル群が録音用リングバッファ２０１から再生用リングバッファ２０２に複製された後は、録音用リングバッファ２０１の内容は入力する楽音信号データに応じて順次書き換わってゆくが、再生用リングバッファ２０２の内容は変化しない。
【００２８】
上述のフリーズボタン１０３が押下されただけでは、スライス再生出力は実施されない。ユーザは、フリーズボタン１０３から指を離した後も、再度フリーズボタン１０３を押下しない限りは、フリーズ指定の状態が継続される。ユーザは、このフリーズ指定下で、前述と同様に、スライス始端ステップとスライス終端ステップを指定することができる。図７は、その場合の動作を説明する図であり、フリーズ指定下でのスライス始端ステップの指定時の再生処理を説明する図である。ユーザがフリーズ指定下で例えば図７に示されるように９番のスライス始端ステップを指定すると、楽音再生装置は、入力した楽音信号データの再生を停止させ、その代わり、再生用リングバッファ２０２からのスライスされた楽音信号データの再生を開始する。ここで、図４の場合と同様に、ユーザは、スライスを開始させる９番のスライス始端ステップのみ指定しており、まだスライスが終了するステップのタイミングは指定していない。この場合、楽音再生装置は、図７に示されるように、図４の場合と同様に、デフォルトの動作として、９番のスライス始端ステップから例えば２ステップ分（８分音符分）、すなわち９番と１０番の楽音信号データを繰り返し再生するように動作する。
【００２９】
次に、図８は、フリーズ指定下でのスライス終端ステップの指定時の再生処理を説明する図である。図８において、ユーザが例えば、１６番のステップをスライス終端ステップとして押下したとする。これに対応して、楽音再生装置は、９番のスライス始端ステップから１６番のスライス終端ステップまでの楽音信号データを繰り返し再生するように動作する。
【００３０】
以上のフリーズ指定時の動作が、図３〜図５で説明した通常のスライス範囲指定動作と異なる点は、通常のスライス範囲指定時には、ユーザがスライス始端ステップの指定をやめて新たにスライス始端ステップの指定をやり直すと、新たに入力してくる楽音信号データに基づいてスライス範囲が指定される。これに対して、ユーザがフリーズボタン１０３によって１小節分の楽音信号データを指定すると、その楽音信号データは再生用リングバッファ２０２にとどまることになる。これにより、フリーズ指定下でユーザがスライス始端ステップの指定をやめて新たにスライス始端ステップの指定をやり直すと、再生用リングバッファ２０２に残っている同じ楽音信号データに基づいてスライス範囲を指定することが可能となる。
【００３１】
なお、ユーザは、フリーズボタン１０３を再度押下すると、フリーズ指定を解除することができる。
【００３２】
図９は、図２〜図８を用いた説明したスライス処理機能とフリーズ指定機能を実現するための、本実施形態による楽音再生装置のハードウェア構成例を示す図である。図９に示される楽音再生装置は、ＣＰＵ（中央演算処理装置）９０１、ＲＡＭ（ランダムアクセスメモリ）９０２、ＲＯＭ（リードオンリーメモリ）９０３、スイッチ群９０４、鍵盤９０５、ＬＥＤ表示部９０６、ライン入力部９０７、ＤＡＣ（デジタルアナログコンバータ）９０８、およびサウンドシステム９０９が、システムバス９１０によって相互に接続された構成を有する。図９に示される構成は上記楽音再生装置を実現できるハードウェア構成の一例であり、そのような楽音再生装置はこの構成に限定されるものではない。
【００３３】
ＣＰＵ９０１は、当該楽音再生装置全体の制御を行う。ＲＯＭ９０３は、図１０から図１６のフローチャートで例示される各種制御処理プログラムを記憶する。ＣＰＵ９０１は、ＲＡＭ９０２を録音用リングバッファ２０１や再生用リングバッファ２０２その他作業領域として使用しながら、ＲＯＭ９０３に記憶されたプログラムを実行することにより、楽音再生装置全体の制御を実行する。
【００３４】
スイッチ群９０４は、電子楽器として一般的な各種操作スイッチを備えるほか、図１に示したタップボタン１０４およびフリーズボタン１０３の各スイッチを備える。ＣＰＵ９０１は、ＲＯＭ９０３に記憶された制御プログラムに従って、スイッチ群９０４内の各スイッチの操作状態を定期的にスキャンすることにより、後述する図１０から図１３のフローチャートで例示される各種ボタン押下の検出処理を実行する。
【００３５】
鍵盤９０５は、ユーザが電子鍵盤楽器の演奏を行うことができるユーザインタフェースであり、その演奏結果は、ＣＰＵ９０１の制御下で動作する特には図示しない楽音発生ユニットに入力され、その結果生成される楽器演奏の楽音信号データは、ＤＡＣ９０８でアナログ楽音信号に変換された後、サウンドシステム９０９で増幅され、それが内蔵するスピーカ、ヘッドホンジャック、またはラインアウト端子等から放音される。
【００３６】
ＣＰＵ９０１は、ユーザがスイッチ群９０４を操作してシーケンサをスタートさせると、予めプリセットまたはユーザの設定によりＲＯＭ９０３やＲＡＭ９０３に保持されている自動演奏データに基づいて、ＣＰＵ９０１の制御下で動作する特には図示しない楽音発生ユニットに入力され、その結果シーケンサの楽音信号データが生成される。ユーザは、スイッチ群９０４内の特には図示しないスライダスイッチ等によって、シーケンサの楽音信号データに、ライン入力部９０７から入力させた外部音源の楽音信号データをミキサ処理することができる。この結果混合された楽音信号データに対して、前述したスライス処理またはフリーズ指定処理が実行される。その結果、前述したようにして再生出力されるスライス楽音信号データは、ＤＡＣ９０８でアナログ楽音信号に変換され、サウンドシステム９０９で増幅され、それが内蔵するスピーカ、ヘッドホンジャック、またはラインアウト端子等から放音される。本実施形態による楽音再生装置は、図１０から図１６のフローチャート等で実現される機能を搭載したプログラムをＣＰＵ９０１が実行することで実現される。そのプログラムは、例えば特には図示しない可搬記録媒体に記録して配布してもよく、特には図示しない通信インタフェースによりネットワークから取得できるようにしてもよい。
【００３７】
ＬＥＤ表示部９０６は、図１の１６個のＬＥＤ兼タイミングセンサ１０１と環状筐体１０２とからなる部分である。
【００３８】
図１０は、図９のＣＰＵ９０１が、ＲＯＭ９０３に記憶された制御プログラムに従って、スイッチ群９０４内の各スイッチの操作状態を定期的にスキャンすることにより、図１の１６個のうちのいずれか（これを「Ｎ」とする）のＬＥＤ兼タイミングセンサ１０１のボタン（ステップＮボタン）の押下を検出した時に実行する処理例を示すフローチャートである。
【００３９】
ＣＰＵ９０１は、まず、ＲＡＭ９０２に記憶される変数データであるスライス処理開始フラグがオン（例えば論理値「１」）に設定されているか否か（例えば論理値「０」）を判定する（Ｓ１００１）。
【００４０】
ユーザが電源オン後に最初にＬＥＤ兼タイミングセンサ１０１（図１）も押下した状態では、スライス処理はまだ開始されておらず、スライス処理開始フラグは初期値「オフ」である。この場合、ＣＰＵ９０１は、ＲＡＭ９０２上のスライス始端ステップを示す変数データに値「Ｎ」を設定する（Ｓ１００２）。
【００４１】
次に、ＣＰＵ９０１は、ＲＯＭ９０３から、ステップ長のデフォルト値のデータを呼び出し、ＲＡＭ９０２上のステップ長を示す変数データにセットする（Ｓ１００３）。このデフォルト値は、図４で説明した８分音符（２ステップ）分の初期値を指定するための値であり、繰り返しを行う全ステップ数からスライス始端ステップの分の１を減算した値、例えば値「２−１＝１」である。ステップ長は後述するＳ１００８でスライス範囲のＬＥＤ兼タイミングセンサ１０１を点滅させるために使用されるが、スライス始端ステップのＬＥＤ兼タイミングセンサ１０１のみは点滅ではなく点灯されるため、ステップ長のデフォルト値は値「２」ではなく、スライス始端ステップの分＝１だけ減算した値「１」である。
【００４２】
次に、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データであるスライス処理開始フラグをオンにする（例えば論理値「１」を設定する）（Ｓ１００４）。
【００４３】
次に、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データを使ってステップ回転ＬＥＤ（図１の１６個のＬＥＤ兼タイミングセンサ１０１の回転発光）の消灯指示を行う（Ｓ１００５）。すなわち、前述したように、スライス始端ステップが指定された場合には、通常の楽音再生は停止するため、それとともにこの指示によりＬＥＤ兼タイミングセンサ１０１の回転発光表示も停止される。
【００４４】
次に、ＣＰＵ９０１は、指定されたスライス始端ステップに対応するＮ番目のＬＥＤ兼タイミングセンサ１０１のＬＥＤを点灯発光させる（Ｓ１００６）。
【００４５】
最後に、ＣＰＵ９０１は、スライス始端ステップ＋１のステップ（Ｎ＋１）からＲＡＭ９０２の変数データが示すステップ長分のステップまでのＬＥＤ兼タイミングセンサ１０１の点滅発光指示を、ＲＡＭ９０２上の所定の変数データに所定値を設定することにより行う（Ｓ１００８）。そして、ＣＰＵ９０１は、操作子（スイッチ群９０４）のスキャン処理を終了する。
【００４６】
以上のＳ１００１〜Ｓ１００６の処理により、例えば図３の説明図で番号５のＬＥＤ兼タイミングセンサ１０１が押下されたことが検出され、５番のＬＥＤ兼タイミングセンサ１０１が点灯発光される。また、Ｓ１００７の処理により、ステップ長のデフォルト値が例えば値「１」であることにより、番号５＋１＝６番からステップ長＝１つ分、すなわち６番のＬＥＤ兼タイミングセンサ１０１が点滅発光される。
【００４７】
一方、ユーザによりスライス始端ステップが既に指定された状態でさらにＬＥＤ兼タイミングセンサ１０１の押下が検出された場合、ＣＰＵ９０１は、Ｓ１００７でスライス処理開始フラグがオンであると判定する。その結果、ＣＰＵ９０１は、検出されている現在のステップＮの値から前述したＳ１００２によりＲＡＭ９０２に記憶されているスライス始端ステップの値を減算し、その減算結果をＲＡＭ９０２の変数データであるステップ長にセットする（Ｓ１００７）。その後、ＣＰＵ９０１は、スライス始端ステップ＋１のステップからＲＡＭ９０２の変数データが示すステップ長分のステップまでのＬＥＤ兼タイミングセンサ１０１の点滅発光指示を、ＲＡＭ９０２上の所定の変数データに所定値を設定することにより行う（Ｓ１００８）。そして、ＣＰＵ９０１は、操作子（スイッチ群９０４）のスキャン処理を終了する。
【００４８】
以上のＳ１００７からＳ１００８の処理により、例えば図５の説明図で番号１２のＬＥＤ兼タイミングセンサ１０１がスライス終端ステップとして押下されたことが検出され、番号５＋１＝６番から、ステップ長＝１２−５＝７つ分、すなわち１２番までのＬＥＤ兼タイミングセンサ１０１が点滅発光される（図５の破線丸を参照）。
【００４９】
次に、図１１は、図９のＣＰＵ９０１が、ＲＯＭ９０３に記憶された制御プログラムに従って、スイッチ群９０４内の各スイッチの操作状態を定期的にスキャンすることにより、図１の１６個のうちのいずれか（「Ｎ」）のＬＥＤ兼タイミングセンサ１０１のボタン（ステップＮボタン）の開放を検出した時に実行する処理例を示すフローチャートである。
【００５０】
ＣＰＵ９０１は、まず、スライス始端ステップのＬＥＤ兼タイミングセンサ１０１が開放されたか否か、すなわち、ボタンの開放が検出されたステップＮがＲＡＭ９０２に記憶されているスライス始端ステップの番号と一致するか否かを判定する（Ｓ１１０１）。
【００５１】
開放されたＬＥＤ兼タイミングセンサ１０１がスライス始端ステップではない場合は（Ｓ１１０１の判定がＮＯ）、ＣＰＵ９０１は、そのまま操作子（スイッチ群９０４）のスキャン処理を終了する。これにより、図５で１２番のＬＥＤ兼タイミングセンサ１０１の押下がやめられた場合として説明したように、そのままのスライス範囲の再生状態が維持される。その後、ユーザが、再び別のスライス終端ステップのＬＥＤ兼タイミングセンサ１０１を押下すると、図１０でＳ１００１→Ｓ１００７→Ｓ１００８が実行されて、新たなステップ長（スライス範囲）が設定されることになる。
【００５２】
Ｓ１１０１の判定がＹＥＳならば、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データであるスライス処理開始フラグをオフにする（例えば論理値「０」を設定する）（Ｓ１１０２）。
【００５３】
次に、ＣＰＵ９０１は、ＲＡＭ９０２上のスライス始端ステップを示す変数データをクリアして開放する（Ｓ１１０３）。
【００５４】
次に、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データを使ってステップ回転ＬＥＤ（図１の１６個のＬＥＤ兼タイミングセンサ１０１の回転発光）の点灯指示を行う（Ｓ１１０４）。すなわち、スライス始端ステップが開放された場合には、通常の楽音再生が再開するため、それとともにこの指示によりＬＥＤ兼タイミングセンサ１０１の回転発光表示も再開される。
【００５５】
最後に、ＣＰＵ９０１は、指定されたスライス始端ステップに対応するＮ番目のＬＥＤ兼タイミングセンサ１０１のＬＥＤの発光を消灯させる（Ｓ１１０５）。そして、ＣＰＵ９０１は、操作子（スイッチ群９０４）のスキャン処理を終了する。
【００５６】
図１２は、図９のスイッチ群９０４内にある図１のフリーズボタン１０３の押下が検出された時の処理例を示すフローチャートである。
【００５７】
このボタンは、トグルスイッチとして動作する。まず、ＣＰＵ９０１は、ＲＡＭ９０２の変数データであるフリーズ中フラグがオンであるかオフであるかを判定する（Ｓ１２０１）。
【００５８】
まだ、フリーズ中にはなっておらずフリーズ中フラグがオフならば、ＣＰＵ９０１は、ＲＡＭ９０２上のフリーズ中フラグをオン（例えば論理値「１」をセット）する（Ｓ１２０２）。
【００５９】
そして、ＣＰＵ９０１は、図９のスイッチ群９０４の中にある図１のフリーズボタン１０３に組み込まれているフリーズＬＥＤを点灯する（Ｓ１２０３）。そして、ＣＰＵ９０１は、操作子（スイッチ群９０４）のスキャン処理を終了する。
【００６０】
一方、すでにフリーズ中になっておりフリーズ中フラグがオンならば、ＣＰＵ９０１は、ＲＡＭ９０２上のフリーズ中フラグをオフ（例えば論理値「０」をセット）する（Ｓ１２０４）。
【００６１】
そして、ＣＰＵ９０１は、図９のスイッチ群９０４の中にある図１のフリーズボタン１０３に組み込まれているフリーズＬＥＤを消灯する（Ｓ１２０５）。そして、ＣＰＵ９０１は、操作子（スイッチ群９０４）のスキャン処理を終了する。
【００６２】
図１３は、図９のスイッチ群９０４内にある図１のタップボタン１０４の押下が検出された時の処理例を示すフローチャートである。
【００６３】
まず、ＣＰＵ９０１は、直近の時間Ｘ以内にタップボタン１０４の入力があったか否かを判定する（Ｓ１３０１）。
【００６４】
Ｓ１３０１の判定がＮＯならば、ＣＰＵ９０１は、ＲＡＭ９０２の変数データであるテンポカウントをリセットする（Ｓ１３０２）。
【００６５】
次に、ＣＰＵ９０１は、図９のスイッチ群９０４内にある特には図示しないテンポＬＥＤを点滅させるための、ＲＡＭ９０２上の変数データであるトリガ時間を変更する（Ｓ１３０３）。
【００６６】
その後、ＣＰＵ９０１は、ＬＥＤ兼タイミングセンサ１０１のＬＥＤ発光させるステップの位置を、１ステップ目にリセットする（Ｓ１３０４）。そして、ＣＰＵ９０１は、操作子（スイッチ群９０４）のスキャン処理を終了する。
【００６７】
このようにしてユーザは、図１のタップボタン１０４を１回だけ短時間押下すると、シーケンサ音の再生タイミングを小節の先頭にリセットすることができ、また、発光されるＬＥＤ兼タイミングセンサ１０１の位置を番号１にリセットすることができる。
【００６８】
Ｓ１３０１の判定がＹＥＳならば、ＣＰＵ９０１は、新たなテンポ値を、タップボタン１０４が押下された時間幅の蓄積から算出する（Ｓ１３０５）。
【００６９】
次に、ＣＰＵ９０１は、ＲＡＭ９０２上のテンポ値を、Ｓ１３０５で算出した新たなテンポ値に変更する（Ｓ１３０６）。シーケンサによる自動演奏処理時には、この新たに変更されたテンポ値が参照されて、例えば図１の１６個のＬＥＤ兼タイミングセンサ１０１の発光回転速度が変更される。
【００７０】
最後に、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データであるテンポＬＥＤの点滅速度を新たなテンポに合わせて変更する（Ｓ１３０７）。そして、ＣＰＵ９０１は、操作子（スイッチ群９０４）のスキャン処理を終了する。
【００７１】
図１４は、ＬＥＤ表示のためのタイマ処理の処理例を示すフローチャートである。
【００７２】
この処理は、一定時間毎のタイマ割込みにより起動される。ＣＰＵ９０１はまず、ＲＡＭ９０２上の時間変数Ｔをインクリメントする（Ｓ１４０１）。
【００７３】
次に、ＣＰＵ９０１は、時間変数値Ｔを１６で除算して得られる値が、ＲＡＭ９０２上のステップ変数データＮ′よりも大きくなったか否かを判定する（Ｓ１４０２）。
【００７４】
Ｓ１４０２の判定がＹＥＳならば、ＣＰＵ９０１は、ステップ変数データＮ′の値が＋１インクリメントされる（Ｓ１４０３）。このステップ変数データＮ′は１小節内の１〜１６のステップ数を表しており、Ｎ′の値が最大値１６を超えたら１にリセットされる。
【００７５】
Ｓ１４０２の判定がＮＯならば、ＣＰＵ９０１は、Ｓ１４０３の処理をスキップする。
【００７６】
次に、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データにより、ステップ回転ＬＥＤ（図１の１６個のＬＥＤ兼タイミングセンサ１０１の回転発光）の点灯指示が行われているか否かを判定する（Ｓ１４０４）。この点灯指示は、ユーザによってスライス始端ステップが指定されていないときに行われる。
【００７７】
Ｓ１４０４の判定がＹＥＳならば、ＣＰＵ９０１は、Ｓ１４０３でインクリメントされたステップＮ′のＬＥＤ兼タイミングセンサ１０１を点灯する（Ｓ１４０５）。続いて、ＣＰＵ９０１は、ステップ（Ｎ′−1）のＬＥＤ兼タイミングセンサ１０１を消灯する（Ｓ１４０６）。そして、ＣＰＵ９０１はタイマ処理を完了する。このようにして、時間変数Ｔとの関係で順次インクリメントされるステップデータＮ′の値に基づいて、図１の環状筐体１０２上の１６個のＬＥＤ兼タイミングセンサ１０１が、入力する楽音信号データの再生に同期して、矢印Ａの時計回りに回転するように点灯される。
【００７８】
Ｓ１４０４の判定がＮＯならば、ＣＰＵ９０１はさらに、ＲＡＭ９０２上のスライス処理開始フラグがオンされているか否かを判定する（Ｓ１４０７）。
【００７９】
Ｓ１４０７の判定がオンならば、ＣＰＵ９０１は、図１０のＳ１００８でＲＡＭ９０２上の変数データにより指示されたスライス範囲（スライス始端ステップ＋１のステップからＲＡＭ９０２の変数データが示すステップ長分のステップまで）のＬＥＤ兼タイミングセンサ１０１の点滅発光処理を実行する（Ｓ１４０８）。
【００８０】
Ｓ１４０７の判定がオフならば、ＣＰＵ９０１は、Ｓ１４０８の処理をスキップする。
【００８１】
その後、ＣＰＵ９０１はタイマ処理を完了する。
【００８２】
以上のようにして、例えば図５や図８の破線丸で示されるように、スライス範囲のＬＥＤ兼タイミングセンサ１０１を点滅発光させることができ、ユーザは、スライスの実行範囲を容易に視認することができる。
【００８３】
図１５および図１６は、スライス割込処理の処理例を示すフローチャートである。この処理は、例えば入力する楽音信号データのサンプリング間隔で実行される。
【００８４】
まず、ＣＰＵ９０１は、図２で説明したように、現在のサンプリングタイミングで入力した楽音信号データのサンプルを、録音用リングバッファ２０１に格納する（Ｓ１５０１）。その詳細は、図２で前述した。
【００８５】
次に、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データであるフリーズ中フラグがオンか否かを判定する（Ｓ１５０２）。
【００８６】
まず、フリーズ指定がされておらず、フリーズ中フラグがオフの場合について説明する。この場合の処理は、図１６のフローチャートで示される。まず、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データであるスライス処理開始フラグがオンか否か、つまりスライス処理が開始されるのか否かを判定する（Ｓ１５０７）。
【００８７】
Ｓ１５０７の判定がオフならば、ＣＰＵ９０１は、入力した楽音信号データを、そのまま図９のＤＡＣ９０８に出力し（Ｓ１５１６）、今回のサンプリングタイミングでのスライス割込処理を終了する。
【００８８】
Ｓ１５０７の判定がオンならば、ここで初めてスライス処理が開始されることを意味し、ＣＰＵ９０１は、ＲＡＭ９０２上の変数データであるフリーズ中フラグがオンか否かを判定する（Ｓ１５０８）。
【００８９】
フリーズ中フラグがオフならば、ＣＰＵ９０１は、前回のサンプリングタイミングにおいてＲＡＭ９０２上の変数データであるスライス処理開始フラグがオンであったか否かを判定する（Ｓ１５０９）。この判定を行うために、ＣＰＵ９０１は例えば、ＲＡＭ９０２上に、次回のサンプリングタイミングのために、今回のスライス処理開始フラグの状態を前回スライス処理開始フラグの状態として保持する。
【００９０】
前回のサンプリングタイミングにおいてスライス処理開始フラグがオフであった場合には、ＣＰＵ９０１は、録音用リングバッファ２０１の内、どの範囲（スライス範囲）を再生用に使用するかを決定する（Ｓ１５１０）。
【００９１】
そして、ＣＰＵ９０１は、録音用リングバッファ２０１から再生用リングバッファ２０２にスライス範囲のデータを順次コピー（複製）する。この処理は、図３で前述した通りであり、ユーザが指定したスライス始端ステップから１小節分である。また、１回のサンプリングタイミングでコピーするデータは１サンプルである。
【００９２】
その後、ＣＰＵ９０１は、再生用リングバッファ２０２の現在の読込みアドレスから楽音信号データの波高値を取得し、ＤＡＣ９０８に出力する（Ｓ１５１３）。そして、ＣＰＵ９０１は、今回のサンプリングタイミングにおけるスライス割込処理を完了する。
【００９３】
前回のサンプリングタイミングにおいてスライス処理開始フラグがオンであった場合には、ＣＰＵ９０１は、録音用リングバッファ２０１から再生用リングバッファ２０２へのＳ１５１０で決定したスライス範囲（１小節分）の楽音信号データのコピー（複製）が完了しているか否かを判定する（Ｓ１５１１）。
【００９４】
Ｓ１５１１の判定がＹＥＳならば、ＣＰＵ９０１は、Ｓ１５１３の処理へ移行し、コピーが完了した再生用リングバッファ２０２からのスライス範囲の楽音信号データの繰り返し再生を実行する。
【００９５】
Ｓ１５１１の判定がＮＯならば、ＣＰＵ９０１は、Ｓ１５１２の処理へ移行し、録音用リングバッファ２０１から再生用リングバッファ２０２へのスライス範囲（スライス始端ステップから１小節分）のコピーを続行する。
【００９６】
次に、フリーズ指定がされており、フリーズ中フラグがオンの場合について説明する。この場合、図１５のＳ１５０２の判定がオンとなる。ＣＰＵ９０１は、前回のサンプリングタイミングにおいてＲＡＭ９０２上の変数データであるフリーズ中フラグがオンであったか否かを判定する。この判定を行うために、ＣＰＵ９０１は例えば、ＲＡＭ９０２上に、次回のサンプリングタイミングのために、今回のフリーズ中フラグの状態を前回フリーズ中フラグの状態として保持する。
【００９７】
前回のサンプリングタイミングにおいてフリーズ中フラグがオフであった場合には、ＣＰＵ９０１は、録音用リングバッファ２０１の内、どの範囲（フリーズ範囲）を再生用に使用するかを決定する（Ｓ１５０４）。
【００９８】
そして、ＣＰＵ９０１は、録音用リングバッファ２０１から再生用リングバッファ２０２にフリーズ範囲のデータを順次コピー（複製）する。この処理は、図６で前述した通りであり、ユーザがフリーズボタン１０３を押下した時点のステップから過去１小節分である。また、１回のサンプリングタイミングでコピーするデータは１サンプルである。
【００９９】
その後、ＣＰＵ９０１は、図１６のＳ１５０７の処理に移行する。
【０１００】
前回のサンプリングタイミングにおいてフリーズ中フラグがオンであった場合には、ＣＰＵ９０１は、録音用リングバッファ２０１から再生用リングバッファ２０２へのＳ１５１０で決定したフリーズ範囲（１小節分）の楽音信号データのコピー（複製）が完了しているか否かを判定する（Ｓ１５０５）。
【０１０１】
Ｓ１５０５の判定がＹＥＳならば、ＣＰＵ９０１は、図１６のＳ１５０７の処理へ移行する。
【０１０２】
Ｓ１５０５の判定がＮＯならば、ＣＰＵ９０１は、Ｓ１５０６の処理へ移行し、録音用リングバッファ２０１から再生用リングバッファ２０２へのフリーズ範囲のコピーを続行する。
【０１０３】
次に、フリーズ指定中にスライス処理が実行された場合について説明する。この場合には、図１６で、Ｓ１５０７の判定がオンになった後、Ｓ１５０８の判定もオンになる。この結果、ＣＰＵ９０１は、再生用リングバッファ２０２上でスライス指定された再生範囲（スライス範囲）について、録音用リングバッファ２０１から再生用リングバッファ２０２への楽音信号データのコピー（複製）が完了しているか否かを判定する（Ｓ１５１４）。これは、フリーズ指定時の録音用リングバッファ２０１から再生用リングバッファ２０２へのコピーが、過去１小節分であるため、フリーズ指定の途中でスライス範囲が指定された場合に、まだ再生用リングバッファ２０２上に該当する楽音信号データがそろっていない場合があるために判定される。
【０１０４】
Ｓ１５１４の判定がＮＯならば、ＣＰＵ９０１は、図１５のＳ１５０６での録音用リングバッファ２０１から再生用リングバッファ２０２へのコピーと並行して、スライス範囲指定された再生範囲について先行して録音用リングバッファ２０１から再生用リングバッファ２０２へのコピーを実行する（Ｓ１５１５）。なお、この範囲は、あとからＳ１５０６の処理で上書きされるが、同じデータなので問題はない。
【０１０５】
Ｓ１５１４の判定がＹＥＳならば、ＣＰＵ９０１は、Ｓ１５１５の処理はスキップする。
【０１０６】
その後、ＣＰＵ９０１は、Ｓ１５１３の処理に移行し、再生用リングバッファ２０２の現在の読込みアドレスから楽音信号データの波高値を取得し、ＤＡＣ９０８に出力する（Ｓ１５１３）。
【０１０７】
以上説明実施形態では、内蔵シーケンサと外部入力のどちらも具備した事を前提とした楽器においてクロスフェーダなどを要した実施形態をもとに、テンポ設定などシーケンサを考慮した提案としたが、本実施形態の骨子はオーディオスライス機能であり、入力音がどのようなものかに限りはない。また、本実施形態では１小節でのスライス再生時の分割数を１６個等として説明したが、その限りではない。
【０１０８】
以上の実施形態に関して、更に以下の付記を開示する。
［付記１］
複数の記憶領域を有する第１および第２のリングバッファと、
入力される楽音信号データを前記第１のリングバッファ内の各領域に順次記憶させる記憶保持手段と、
前記記憶された楽音信号データを、当該記憶された順に再生する第１の再生手段と、
前記楽音信号データが記憶されている第１のリングバッファ内の複数の記憶領域の少なくとも一部をユーザに指定させる指定手段と、
前記指定手段にて指定された前記第１のリングバッファの記憶領域に記憶されている楽音信号データを前記第２のリングバッファに複製する複製手段と、
前記第１の再生手段に代えて、前記第２のリングバッファに複製された楽音信号データを繰り返し再生する第２の再生動作手段と、
を備えることを特徴とする楽音再生装置。
［付記２］
前記指定手段は、前記第１の再生手段により順次再生される楽音信号データに合わせて、当該楽音信号データが記憶されている前記第１のリングバッファの記憶領域をユーザに指定させ、
前記複製手段は、前記指定手段により前記第１のリングバッファの記憶領域が指定される毎に、当該指定された記憶領域に記憶されている楽音信号データを前記第２のリングバッファに複製する、
ことを特徴とする付記１に記載の楽音再生装置。
［付記３］
前記複製手段は、任意のタイミングで前記第１のリングバッファに記憶されている所定期間分の前記楽音信号データを前記第２のリングバッファに複製し、
前記指定手段は、前記複製された楽音信号データが記憶されている前記第２のリングバッファの記憶領域の少なくとも一部をユーザに指定させる、
ことを特徴とする付記１に記載の楽音再生装置。
［付記４］
前記楽音信号データは、前記ユーザにより指定されたテンポに従って再生されるリズム音のデータを含み、
前記第１および第２のリングバッファに前記楽音信号データが記憶される期間は、前記リズム音によって規定される１小節以上の期間であり、
前記第１および第２の再生手段の少なくとも一方による前記楽音信号データの再生に同期して、前記小節期間中の各音符位置を表示する表示手段を更に備える、
ことを特徴とする付記１ないし３のいずれかに記載の楽音再生装置。
［付記５］
前記楽音信号データは、外部から入力する音楽信号データを含む、
ことを特徴とする付記４に記載の楽音再生装置。
［付記６］
複数の記憶領域を有する第１および第２のリングバッファを有する楽音再生装置が、
入力される楽音信号データを前記第１のリングバッファ内の各領域に順次記憶させ、
前記記憶された楽音信号データを、当該記憶された順に再生し、
前記楽音信号データが記憶されている第１のリングバッファ内の複数の記憶領域の少なくとも一部をユーザに指定させ、
前記指定された前記第１のリングバッファの記憶領域に記憶されている楽音信号データを前記第２のリングバッファに複製し、
前記再生に代えて、前記第２のリングバッファに複製された楽音信号データを繰り返し再生する、楽音再生方法。
［付記７］
複数の記憶領域を有する第１および第２のリングバッファを有する楽音再生装置として用いられるコンピュータに、
入力される楽音信号データを前記第１のリングバッファ内の各領域に順次記憶させるステップと、
前記記憶された楽音信号データを、当該記憶された順に再生するステップと、
前記楽音信号データが記憶されている第１のリングバッファ内の複数の記憶領域の少なくとも一部をユーザに指定させるステップと、
前記指定された前記第１のリングバッファの記憶領域に記憶されている楽音信号データを前記第２のリングバッファに複製するステップと、
前記再生に代えて、前記第２のリングバッファに複製された楽音信号データを繰り返し再生するステップと、
を実行させるプログラム。
【符号の説明】
【０１０９】
１０１  ＬＥＤ兼タイミングセンサ（ＬＥＤ表示素子兼タッチ式スライスタイミング指定センサ）
１０２  環状筐体
１０３  フリーズボタン
１０４  タップボタン
２０１  録音用リングバッファ
２０２  再生用リングバッファ
９０１  ＣＰＵ
９０２  ＲＡＭ
９０３  ＲＯＭ
９０４  スイッチ群
９０５  鍵盤
９０６  ＬＥＤ表示部
９０７  ライン入力部
９０８  ＤＡＣ
９０９  サウンドシステム
【図１】
0006455001.tif 000002
【図２】
0006455001.tif 000003
【図３】
0006455001.tif 000004
【図４】
0006455001.tif 000005
【図５】
0006455001.tif 000006
【図６】
0006455001.tif 000007
【図７】
0006455001.tif 000008
【図８】
0006455001.tif 000009
【図９】
0006455001.tif 000010
【図１０】
0006455001.tif 000011
【図１１】
0006455001.tif 000012
【図１２】
0006455001.tif 000013
【図１３】
0006455001.tif 000014
【図１４】
0006455001.tif 000015
【図１５】
0006455001.tif 000016
【図１６】
0006455001.tif 000017