(57)【特許請求の範囲】
【請求項１】
波形データを記憶する波形記憶手段と、
再生テンポを設定する再生テンポ設定手段と、
前記再生テンポ設定手段により設定されたテンポに対応した周期の周期情報を生成する周期情報生成手段と、
前記波形データの再生を指示する再生指示手段と、
前記再生指示手段の指示により前記周期情報に同期して前記波形記憶手段の波形データを読み出し再生する波形読出手段とを備え、
前記波形読出手段は、前記周期情報生成手段により生成された周期情報の所定のタイミングに同期して、当該タイミングにおける前記波形データの読出状態にはよらずに、前記波形データの中の所定の読出位置に戻り、その読出位置から波形データを順次読み出し再生するものであることを特徴とする波形再生装置。
【請求項２】
波形データを記憶する波形記憶手段と、
再生テンポを設定する再生テンポ設定手段と、
前記再生テンポ設定手段により設定されたテンポに対応した周期の周期情報を生成する周期情報生成手段と、
前記波形データの再生を指示する再生指示手段と、
前記再生指示手段の指示により前記周期情報に同期して前記波形記憶手段の波形データを読み出し再生する波形読出手段とを備え、
前記波形読出手段は、前記周期情報生成手段により生成された周期情報の所定のタイミングに同期して、当該タイミングにおいて前記波形データの読出しが終了したか否かにはよらずに、前記波形データの中の所定の読出位置に戻り、その読出位置から波形データを順次読み出し再生するものであることを特徴とする波形再生装置。
【請求項３】
前記波形読出手段は、
前記再生テンポ設定手段により設定されたテンポに従って波形データの読出速度を制御する読出速度制御手段を備えたものであることを特徴とする請求項１記載の波形再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば電子楽器などにおいて、記憶媒体に記憶された波形データを読み出して再生する波形再生装置に関するものである。
【０００２】
【従来の技術】
従来、シーケンサや自動リズム装置などを用いて構成された電子楽器において、１小節分もしくは数小節分の短いフレーズ（楽句）の波形をサンプリングしてそのサンプリングにより得られた波形データを記憶装置に記憶しておき、その波形データ（サンプルデータ）を記憶装置から繰り返し読み出して再生し、それをシーケンサや自動リズム装置などと重ね合わせて自動演奏することが行われている。その場合、波形データの再生のテンポとシーケンサや自動リズム装置などの演奏のテンポとを一致させる必要があり、そのための種々の工夫が試みられている。従来一般には、記憶装置から読み出す波形データの読出速度を変えることによって波形データの波形再生テンポを変えてシーケンサや自動リズム装置などのテンポに合わせる方法が広く採用されている。
【０００３】
【発明が解決しようとする課題】
しかし、この方法のみでは、双方のテンポを正確に合わせようとしても限界がありテンポを完全に一致させることは不可能に近い。そのため、同じ波形データを繰り返し読み出して演奏しているうちに双方のテンポの差が累積され、テンポのずれが次第に大きくなり、ついには正常な演奏とはいえない状態に陥ることがある。
【０００４】
本発明は、上記の事情に鑑み、記憶装置から読み出された波形データを繰り返し読み出して再生した場合のテンポと、その波形再生データと重ね合わせて演奏される他の演奏データのテンポとのずれを十分小さく抑えることのできる波形再生装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記の目的を達成する本発明の波形再生装置は、
波形データを記憶する波形記憶手段と、
再生テンポを設定する再生テンポ設定手段と、
上記再生テンポ設定手段により設定されたテンポに対応した周期の周期情報を生成する周期情報生成手段と、
上記波形データの再生を指示する再生指示手段と、
上記再生指示手段の指示により上記周期情報に同期して上記波形記憶手段の波形データを読み出し再生する波形読出手段とを備え、
上記波形読出手段は、上記周期情報生成手段により生成された周期情報の所定のタイミングに同期して、上記波形データの中の所定の読出位置に戻り、その読出位置から波形データを順次読み出し再生するものであることを特徴とする。
【０００６】
ここで、上記波形読出手段は、上記再生テンポ設定手段により設定されたテンポに従って波形データの読出速度を制御する読出速度制御手段を備えたものであってもよい。
なお、上記の波形データは、１小節分もしくは複数小節分の短いフレーズの波形データを意味しており、また、上記の「所定の読出位置」は、１小節分もしくは複数小節分の波形データの中の先頭の波形データの位置を意味している。
【０００７】
本発明の波形再生装置は、波形データを１小節もしくは複数小節に対応する数のクロックが生成される毎に、その１小節分もしくは複数小節分の波形データの中の先頭の波形データの読出しに戻るため、１小節もしくは複数小節に対応する数のクロックが生成されたタイミングと１小節分もしくは複数小節分の波形データの読出しが終了するタイミングとが完全には合致していなくても、次の瞬間には先頭の波形データの読出しに戻るため、そのずれが累積されずに済み、それらのずれが十分に小さく抑えられる。
【０００８】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図１は、本発明の波形再生装置を電子楽器に適用した第１の実施形態のブロック図である。
図１には、電子楽器のうちの波形再生装置１００に関連する構成要素として、主制御装置１０、設定操作子２０、鍵盤３０、クロック発生回路４０、トーンジェネレータ５０、波形データ記憶装置６０、ＤＡ変換回路７０、およびスピーカ８０が備えられている。
【０００９】
次に、これら各部の構成および機能について説明する。
主制御装置１０は、波形再生装置１００全体を制御する機能を有しており、ＣＰＵ（中央処理装置）１１、ＲＯＭ（読出し専用メモリ）１２、およびＲＡＭ（随時読出し書込み可能メモリ）１３を備えている。ＲＯＭ１２は処理プログラムやデータを記憶し、ＲＡＭ１３は、ＣＰＵ１１の動作に伴いデータを書き込んだり読み出したりする。ＣＰＵ１１はＲＯＭ１２及びＲＯＭ１２に記憶されている処理プログラムやデータを読み出してデータ処理を行い各部の動作を制御する。
【００１０】
設定操作子２０は、演奏者の設定操作に応じて波形再生のテンポおよびビート（拍子）を含む波形再生パラメータを設定し、主制御装置１０に出力する。この設定操作子２０は本発明にいう再生テンポ設定手段に相当するものである。
鍵盤３０は、演奏者の押鍵操作あるいは離鍵操作に応じてノートオンメッセージ（押鍵情報）あるいはノートオフメッセージ（離鍵情報）を主制御装置１０に出力する。鍵盤３０からのノートオンメッセージあるいはノートオフメッセージが主制御装置１０に入力される。また、この鍵盤３０には、波形再生の開始、停止を割り当てることができ、ある鍵にその開始、停止を割り当てておき、その鍵を押すと波形データ記憶装置６０に記憶しておいた波形データの読出し（波形再生）が行われ、その鍵を離すと波形再生が停止する。すなわち、この鍵盤３０は、本発明にいう再生指示手段の役割を担っている。
【００１１】
クロック発生回路４０は、主制御装置１０から入力された波形再生テンポおよびビートに対応した周期の周期情報を生成し、その周期情報を主制御装置１０に出力する。周期情報とは具体的には、ビート（拍子）のタイミングと何番目のビートであるかを表す情報を含んだものであり、４拍子であれば、所定の周期で１，２，３，４，１，２，３，４，・・・と周期情報が出力される。クロック発生回路４０は本発明にいう周期情報生成手段に相当するものである。
【００１２】
トーンジェネレータ５０とその制御を行う主制御装置１０が、主制御装置１０からの波形再生開始の指示に応じて波形再生を行う。すなわち、波形データ記憶装置６０に記憶された波形データを読み出してディジタルオーディオデータを生成しそれをＤＡ変換回路７０に出力する。この波形再生動作は主制御装置１０からの波形再生停止の指示が出されるまでの間続けられる。トーンジェネレータ５０は本発明にいう波形読出手段に相当するものである。なお、波形再生動作の詳細については後述する。
【００１３】
波形データ記憶装置６０は、予め作成され、ＣＤ−ＲＯＭなどの記憶媒体に保存された波形データ（サンプルデータ）をローディングして記憶しておくための装置である。あるいはメーカ側で当初から波形データ記憶装置６０に波形データを記憶しておいてもよい。この波形データは、例えば、過去に演奏され録音された演奏の中から１小節分もしくは数小節分の長さの波形をサンプリングしディジタルデータとして保存されたものであり、この波形データ記憶装置に記憶された波形データは、それぞれ鍵盤の特定の鍵と対応づけられ、演奏にあたっては、その特定の鍵を操作することによりその鍵に対応づけられた波形を再生することができる。波形データ記憶装置６０には、複数の波形データを記憶しておくこともできる。波形データ記憶装置６０は本発明にいう波形記憶手段に相当するものである。
【００１４】
ＤＡ変換回路７０は、トーンジェネレータ５０から入力されたディジタルオーディオデータをアナログオーディオ信号に変換しそれをスピーカ８０に出力する。
スピーカ８０は、ＤＡ変換回路７０から入力されたアナログオーディオ信号を音響エネルギに変換して放音する。
【００１５】
次に、この波形再生装置１００による波形再生動作について説明する。
上記のように、所望の波形データを波形データ記憶装置６０に記憶させたのち、演奏者が設定操作子２０による波形再生テンポおよびビートなどの波形再生パラメータの設定操作を行うことにより、次に示す波形データの読出速度設定処理が行われる。
【００１６】
図２は、本発明の波形再生装置の第１の実施形態におけるＣＰＵにおいての波形データの読出速度設定の処理手順を示す流れ図である。
演奏者の設定操作子２０（図１参照）による設定操作によりこの処理ルーチンが開始される。設定操作子２０を設定操作し波形再生テンポおよびビートの波形再生パラメータを設定すると、それらの波形再生パラメータは主制御装置１０のＣＰＵ１１に入力され、それを受けて図２の処理ルーチンが開始される。そして、その処理ルーチンによって入力された波形再生パラメータは表２（後述）の波形再生テンポ（Ｔｅｍｐｏ）とビート（Ｂｅａｔ）にそれぞれ設定され（ステップＳ１１）、次にそれらの波形再生テンポとビートをクロック発生回路４０にも出力して設定する（ステップＳ１２）。その結果、クロック発生回路４０からは、その設定された波形再生テンポとビートに対応する周期情報が出力される。なお、このクロック発生回路４０から出力される周期情報は、本実施形態の波形再生装置と同時に演奏する、図示しないシーケンサあるいは自動リズム装置のテンポの基準となるもの、あるいはこれらとテンポを同期させるためのものでもある。従って、クロック発生回路４０はシーケンサあるいは自動リズム装置の演奏をスタートしたときに同期して周期情報の出力を開始するように構成されている。次に、波形データ記憶装置６０に記憶された波形データについての表１（後述）のサンプルパラメータ、ここではサンプルテンポ（Ｓａｍｐｌｅ  Ｔｅｍｐｏ）を読み出し、上記の波形再生テンポとサンプルテンポとから（１）式により波形データの読出速度を計算し、それを表２（後述）の読出速度（Ｒｅａｄ  Ｒａｔｉｏ）に設定すると同時に、それをトーンジェネレータ５０に出力し設定する（ステップＳ１３）。トーンジェネレータ５０はその設定された読出速度に従って波形データ記憶装置６０の波形データを読み出す。ただし、読出のスタートとストップとは別途制御される。
【００１７】
波形データの読出速度は、下記の（１）式に示されるように、演奏者によって設定された波形再生テンポと、波形データをサンプリングした際のサンプルテンポとの比（百分率表示）で表される。
読出速度＝（波形再生テンポ／サンプルテンポ）×１００（％）・・・（１）
従って、本実施形態の場合、サンプリング周波数が例えば４８ｋＨｚであったとすると、読出速度＝１００％の時には、サンプリング周波数と同じ４８ｋＨｚで波形データが読み出され、読出速度＝２００％の時には、サンプリング周波数の２倍のサンプリング周波数すなわち、９６ｋＨｚで波形データが読み出され、また、読出速度＝５０％の時には、サンプリング周波数の２分の１のサンプリング周波数すなわち２４ｋＨｚで波形データが読み出されることとなる。
【００１８】
上記の実施形態では、読出速度の変化をサンプリング周波数を変化させることで行っていたが、読出アドレスの変化量を１以外の値にすることによって読出速度を変化させることもできる。このような方法は、波形読出方式の音源で読出波形の音高を変化させる場合の公知の技術であり、サンプリング周波数を変化させる可変サンプリング方式に対して、サンプリング周波数を変化させないため固定サンプリング方式と呼ばれている。
【００１９】
例えば、固定サンプリング方式において、読出アドレスの変化量が１づつ変化する場合の読出速度は１００％、読出アドレスの変化量が２づつ変化する場合の読出速度は２００％、読出アドレスの変化量が０．５づつ変化する場合の読出速度は５０％というようになる。
このような固定サンプリング方式の場合、読出アドレスの変化量が整数とは限らないため、波形データの読出アドレスも小数部を有したものになる。従って、トーンジェネレータ５０（波形読出手段）には、小数部アドレスを有した読出アドレスの、波形データの値を算出するための補間演算手段を備えることになる。
【００２０】
以上説明した、波形データのサンプルパラメータは、波形データ記憶装置６０に波形データと対になって記憶されており、鍵盤３０の鍵に波形データの発音を割り当てた時、主記憶装置１０が、その波形データと対のサンプルパラメータをトーンジェネレータ５０を介して読み出し、主記憶装置１０のＲＡＭ１３に表１として記憶される。また、設定操作子２０で設定された波形再生パラメータの波形再生テンポおよびビートは、図２の説明のようにＲＡＭ１３に表２として記憶されている。
【００２１】
以下にこれらのサンプルパラメータおよび波形再生パラメータについて説明する。
表１は、第１の実施形態における波形データのサンプルパラメータの一例である。
【００２２】
【表１】
0004084858.tif 000002
【００２３】
表１の第１行に示された「Ｓａｍｐｌｅ  Ｔｅｍｐｏ＝１２０」（サンプルテンポ＝１２０）は、波形データ記憶装置６０に記憶されている波形データのサンプリング時のテンポが１分間に４分音符を１２０回演奏する速度であることを表している。
表２は、第１の実施形態における波形再生パラメータの一例である。
【００２４】
【表２】
0004084858.tif 000003
【００２５】
表２の１行目に示された「Ｔｅｍｐｏ＝１２０」（テンポ＝１２０）は、波形データを再生する時のテンポが１２０であることを表す波形再生テンポで、上記のように設定操作子２０によって設定されるものである。なお、電源投入時の初期設定では「Ｔｅｍｐｏ＝１２０」に設定されている。
表２の２行目に示された「Ｂｅａｔ＝４」（ビート＝４）は、波形データを再生する時のビート（拍子）を表すパラメータで、Ｂｅａｔ＝４とは１小節を４拍として演奏すべきことを表している。この値は上記のように設定操作子２０によって設定されるものである。なお、初期設定では「Ｂｅａｔ＝４」に設定されている。
【００２６】
表２の３行目に示された「Ｃｌｏｃｋ＝１」（クロック＝１）は、クロック発生回路４０（図１参照）から入力される周期情報を保持するパラメータである。このパラメータ保持の処理は、上記のクロック発生回路４０から周期情報が入力される毎に割込みがかかり、その時の入力されている周期情報をこの「Ｃｌｏｃｋ」に保持することによって行われる。なお、初期設定では「Ｃｌｏｃｋ＝１」に設定されている。
【００２７】
表２の４行目に示された「Ｎｏｔｅ  Ｓｔａｔｕｓ＝０」（ノートステータス＝０）は、鍵盤３０からの鍵情報に従って設定されるもので、押鍵状態「１」か離鍵状態「０」かの鍵の状態を表すものである。この状態は、図３（後述）のノートステータス処理で設定される。なお、初期設定では「Ｎｏｔｅ  Ｓｔａｔｕｓ＝０」に設定されている。
【００２８】
表２の５行目に示された「Ｓｔａｒｔ  Ｃｌｏｃｋ＝１」（スタートクロック＝１）は、トーンジェネレータ５０に波形データの再生開始を指示するスタートメッセージを出力するタイミングを特定するためのもので、クロック発生回路４０から入力される周期情報を特定する情報である。この「Ｓｔａｒｔ  Ｃｌｏｃｋ」は、図３（後述）のノートステータス処理で設定される。なお、初期設定では「Ｓｔａｒｔ  Ｃｌｏｃｋ＝１」に設定されている。
【００２９】
表２の６行目に示された「Ｒｅａｄ  Ｒａｔｉｏ＝１００」（読出速度＝１００）は、トーンジェネレータ５０において波形データを読み出す時の読出速度が示されている。波形データをサンプリングした時の速度に対する割合（％）で示されている。すなわち、「Ｒｅａｄ  Ｒａｔｉｏ＝１００」とは、サンプリング時の速度と同じ速度で読み出すことを示している。この「Ｒｅａｄ  Ｒａｔｉｏ」は、図２の読出速度設定処理において設定される。なお、初期設定では「Ｒｅａｄ  Ｒａｔｉｏ＝１００」に設定されている。
【００３０】
以上のようにして、波形データの読出速度の設定処理が終了した後に、演奏者により鍵盤３０に対して所定の押鍵操作が行われると、鍵盤３０は主制御装置１０にノートオンメッセージを出力する。ノートオンメッセージが入力されると主制御装置１０は波形再生の開始を各部に指示する。また、鍵盤３０においてノートオフメッセージを出力する離鍵操作が行われると、主制御装置１０は波形再生の停止を各部に指示する。
【００３１】
図３は、本発明の波形再生装置の第１の実施形態におけるＣＰＵにおいてのノートステータス処理の手順を示す流れ図である。
演奏者により鍵盤３０に対して押鍵操作あるいは離鍵操作が行われると、このノートステータス処理ルーチンが開始され、主制御装置１０は、鍵盤３０から入力された情報がノートオンメッセージ（押鍵情報）であるかノートオフメッセージ（離鍵情報）であるかの判定を行い（ステップＳ２１）、判定の結果、ノートオンメッセージ（押鍵情報）である場合はステップＳ２２に進みノートステータス（押鍵状態か離鍵状態かを表すフラグ）を「１」（押鍵状態）にセットし、表２のクロックおよびビートに基づき、下記の（２）式を用いてスタートクロックを計算して表２のスタートクロックに設定し（ステップＳ２２）、このルーチンを終了する。
【００３２】
スタートクロック＝（クロック％ビート）＋１  ・・・・・・・・  （２）
ただし、演算子記号％は、除算の余りを求める演算を行うことを示す。
従って、例えば、ビート＝４の場合は、
クロック＝１の時にスタートクロック＝２となり、
クロック＝２の時にスタートクロック＝３となり、
クロック＝３の時にスタートクロック＝４となり、
クロック＝４の時にスタートクロック＝１となる。
【００３３】
一方、ステップＳ２１における判定の結果、鍵盤３０から入力された情報がノートオフメッセージ（離鍵情報）である場合はステップＳ２３に分岐し、ノートステータスを「０」（離鍵状態）にセットし、波形再生の停止を指示するストップメッセージをトーンジェネレータ５０に出力し（ステップＳ２３）、このルーチンを終了する。前記ストップメッセージを受けたトーンジェネレータ５０は直ちに波形再生を停止する。
【００３４】
上記のように、ノートオンメッセージが鍵盤３０から主制御装置１０に入力されると、主制御装置１０は各部に対し波形再生の開始を指示するが、その指示を受けたクロック発生回路４０は、先に主制御装置１０から受け取った波形再生のテンポおよびビートに対応した周期の周期情報を生成し、その周期情報を主制御装置１０に出力する。
【００３５】
クロック発生回路４０が周期情報を出力する度毎に次に説明するスタート処理ルーチンが開始される。
図５は、本発明の波形再生装置の第１の実施形態におけるＣＰＵにおいての波形再生のスタート処理手順を示す流れ図である。
図５に示すように、周期情報を受けてスタート処理ルーチンが開始されると、主制御装置１０はクロック発生回路４０の出力した周期情報を読み込み表２のクロックに設定する（ステップＳ３１）、次に、その時のノートステータスが「１」（押鍵状態）であるか、あるいは「０」（離鍵状態）であるかが判定される（ステップＳ３２）。ステップＳ３２における判定の結果、ノートステータスが「０」である場合はこのスタート処理ルーチンを終了するが、ノートステータスが「１」である場合はステップＳ３３に進み、表２のクロックとスタートクロックとの比較が行われる（ステップＳ３３）。ステップＳ３３における判定の結果、クロックとスタートクロックとが等しくない場合はこのスタート処理ルーチンを終了するが、クロックとスタートクロックとが等しい場合はステップＳ３４に進み、主制御装置１０からトーンジェネレータ５０に対しスタートメッセージが出力されて（ステップＳ３５）、このスタート処理ルーチンを終了する。
【００３６】
上記のスタート処理の結果、トーンジェネレータ５０にスタートメッセージが入力されると、トーンジェネレータ５０は波形データ記憶装置６０からの波形データの読出しを開始する。
図４は、本発明の波形再生装置の第１の実施形態により再生された波形のグラフである。図４の横軸はクロック発生回路４０で発生されたビートを単位として目盛られた時間軸であり、縦軸はトーンジェネレータ５０からＤＡ変換回路７０を経て出力されたアナログオーディオ信号の出力レベルである。
【００３７】
図４に示された波形は、表２に示したとおりビート＝４が指定されている場合の波形である。
いま、図４の横軸上のＡ点において演奏者の押鍵操作が行われたとすると、演奏者の押鍵操作あるいは離鍵操作により図３のノートステータス処理が開始され、図３のステップＳ２１における判定の結果、Ａ点における鍵盤からの入力情報がノートオンメッセージであると判定され、図３のステップＳ２２に進んでノートステータスが「１」にセットされる。ここで、図４に示すように、ノートオンされたＡ点が横軸の１拍目と２拍目との中間に位置しているため、その時のクロックは「１」であり、ビートは上記のように「４」に指定されているから、上記（２）式によりスタートクロックは「２」となる。
【００３８】
ここで、クロック発生回路４０から周期情報が出力されると図５のスタート処理ルーチンが開始され、主制御装置１０はその周期情報、すなわち「２」を読み込み、表２のクロックに設定する（図５のステップＳ３１）、次に、その時のノートステータスが「１」（押鍵状態）であるか、あるいは「０」（離鍵状態）であるかが判定される（ステップＳ３２）。ステップＳ３２における判定の結果、ノートステータスが０（離鍵状態）である場合はこのスタート処理ルーチンを終了するが、ノートステータスは「１」であるからステップＳ３３に進み、クロック「２」とスタートクロックとの比較が行われ、上記のようにスタートクロックは「２」でありクロック「２」と等しいのでステップＳ３４に進み、主制御装置１０からトーンジェネレータ５０に対しスタートメッセージが出力される。トーンジェネレータ５０はスタートメッセージを受け取ると、そのＳ１点においてトーンジェネレータ５０は波形データの先頭からの読出しを開始する。
【００３９】
以降、トーンジェネレータ５０による波形データの読出しは、表２の読出速度＝１００％の波形再生パラメータに基づき読み出される。そして、表２のクロックが「３」、「４」、「１」と変化しても図５のステップＳ３３ではこれらのクロックはスタートクロック「２」と等しくないのでトーンジェネレータ５０はそのまま波形データの読出しを続けクロック２のＳ１点から再びクロック２が入力されるＳ２点に達する直前までの４クロック分、すなわち１小節分の長さの波形データが読み出される。
【００４０】
Ｓ２点に達し、クロック「２」が入力されると、図５のステップＳ３３における判定の結果クロック「２」はスタートクロック「２」と等しくなるのでステップＳ３４に進み、主制御装置１０からトーンジェネレータ５０に対しスタートメッセージが出力される。トーンジェネレータ５０はスタートメッセージを受け取ると、波形データ記憶装置６０の波形データの中の先頭の波形データの読出しに戻りその先頭の波形データから再び読出しを開始する。
【００４１】
同様にしてＳ２点からＳ３点までの１小節分の波形データが読み出され、それ以降も主制御装置１０から波形再生の停止が指示されない限りは、波形データ記憶装置６０の波形データの中の先頭の波形データの読出しに戻りその先頭の波形データから読出しを開始する動作を続けることとなる。Ｅ点に至り演奏者の離鍵操作により鍵盤３０から主制御装置１０にノートオフメッセージが出力されると（図３ステップＳ２１）、主制御装置１０からトーンジェネレータ５０にストップメッセージが出力され（図３ステップＳ２３）、トーンジェネレータ５０は波形データの読出しを停止する。
【００４２】
このように、波形データの読出しは、クロック発生回路４０により生成された周期情報に同期して行われ、１小節分の波形データの先頭の周期情報が生成される毎に波形データの中の先頭の波形データの読出しに戻るので、たとえサンプルテンポと実際の波形データのテンポとの間に僅かなずれが存在していたとしても各１小節の先頭で頭が揃えられ、波形データを繰り返し再生する間にそのずれが累積していくことが防止される。
【００４３】
次に、本発明の波形再生装置の第２の実施形態について説明する。第２の実施形態では、図１に示した波形再生装置１００を用い、図２に示した波形データの読出速度設定処理手順と同様にして読出速度を設定する。第２の実施形態では、ノートステータス処理手順が図３に示した手順とは若干異なり、また、波形再生のスタート処理手順が図５に示した手順と若干相違している。そのため、波形データのサンプルパラメータおよび波形再生パラメータも若干相違している。
【００４４】
表３は、第２の実施形態における波形データのサンプルパラメータの一例である。
【００４５】
【表３】
0004084858.tif 000004
【００４６】
表３の第１行に示された「Ｓａｍｐｌｅ  Ｔｅｍｐｏ＝１２０」は、表１における第１行と同様であるが、第２行に示された「Ｓａｍｐｌｅ  Ｌｅｎｇｔｈ＝８」（サンプルレングス＝８）は、波形データ記憶装置６０に記憶されている波形データが４分音符８つ分の長さ、すなわち２小節分サンプリングされたものであることを表している。
【００４７】
表４は、第２の実施形態における波形再生パラメータの一例である。
【００４８】
【表４】
0004084858.tif 000005
【００４９】
表４の第１行から第６行までに示された「Ｔｅｍｐｏ＝１２０」、「Ｂｅａｔ＝４」、「Ｃｌｏｃｋ＝１」、「Ｎｏｔｅ  Ｓｔａｔｕｓ＝０」、「ＳｔａｒｔＣｌｏｃｋ＝１」、および「Ｒｅａｄ  Ｒａｔｉｏ＝１００」は、表２におけると同様である。さらに表４の第７行には、「Ｌｅｎｇｔｈ＝０」（レングス＝０）のように「レングス」なるパラメータが設定されている。
【００５０】
以下に、これらの相違点を中心にして説明する。
図６は、本発明の波形再生装置の第２の実施形態におけるノートステータス処理手順を示す流れ図である。
図６を図３と比較すると、図６のステップＳ４１およびステップＳ４３は図３のステップＳ２１およびステップＳ２３と全く同様であり、ステップＳ４２が図３のステップＳ２２と異なっている。すなわち、ステップＳ４１における判定の結果、ノートオンメッセージ（押鍵情報）である場合はステップＳ４２に進みノートステータスを「１」（押鍵状態）にセットし、クロックおよびビートに基づき前述の（２）式を用いてスタートクロックを計算し、次にレングスを「０」に初期化する（ステップＳ４２）。このレングスは第２の実施形態において、複数小節分の波形データを読み出すためのパラメータである。
【００５１】
第２の実施形態においても、クロック発生回路４０が周期情報を出力する度毎に次のスタート処理ルーチンが開始される。
図７は、本発明の波形再生装置の第２の実施形態における波形再生のスタート処理手順を示す流れ図である。
図７に示すように、周期情報を受けてスタート処理ルーチンが開始されると、主制御装置１０はクロック発生回路４０の出力した周期情報を読み込み表４のクロックに設定する（ステップＳ５１）、次に、その時のノートステータスが「１」（押鍵状態）であるか、あるいは「０」（離鍵状態）であるかが判定される（ステップＳ５２）。ステップＳ５２における判定の結果、ノートステータスが「０」である場合はこのスタート処理ルーチンを終了するが、ノートステータスが「１」である場合はステップＳ５３に進みレングスの値が「０」以上であるか否かが判定される。判定の結果、レングスの値が「０」の場合はステップＳ５４をスキップしてステップＳ５５に進むが、判定の結果、レングスの値が「１」以上の場合はステップＳ５４に進みレングスの値から「１」を差し引いて（ステップＳ５４）、ステップＳ５５に進む。ステップＳ５５では、レングスの値が「０」であるか否かが判定される。判定の結果、レングスの値が「０」である場合はステップＳ５６に進むが、判定の結果、レングスの値が「０」でない場合はこのスタート処理ルーチンを終了する。ステップＳ５６では、その時点のクロックと、そのクロックに対応するスタートクロック（図６参照）との比較が行われる（ステップＳ５６）。ステップＳ５６における判定の結果、クロックとスタートクロックとが等しくない場合はこのスタート処理ルーチンを終了するが、クロックとスタートクロックとが等しい場合はステップＳ５７に進み、サンプルパラメータの中のサンプルレングスの値をレングスに代入すると共に、トーンジェネレータ５０に対しスタートメッセージが出力されて、このスタート処理ルーチンが終了する。
【００５２】
このように、最初、レングスを「０」に初期化しておき（図６ステップＳ４２）、スタート処理における波形データ読出し開始時にサンプルレングスの値（表３に示すように「８」に設定されている）をレングスに代入してから波形データ読出しを開始し（図７ステップＳ５７）、クロックが進む度にステップＳ５４においてレングスの値から「１」を差し引き、ステップＳ５６においてクロックとスタートクロックとが等しくない間は波形データの読出しを続け、クロックとスタートクロックとが等しくなった時に波形データの中の先頭の波形データの読出しに戻るよう制御されている。
【００５３】
第２の実施形態においては、サンプルレングスの値は「８」、ビートは「４」にそれぞれ設定されているため、第１小節の読出しが終わった時点では先頭の波形データの読出しには戻らずそのまま第２小節の読出しが継続され第２小節の読出しが終わった時点で始めて波形データの中の先頭の波形データの読出しに戻る。以下このようにして、演奏者による離鍵操作が行われるまで、２小節分ずつ読み出される毎に先頭の波形データの読出しに戻る波形再生動作が繰り返される。
【００５４】
図８は、本発明の波形再生装置の第２の実施形態により再生された波形のグラフである。図８の横軸はクロック発生回路４０で発生されたビートを単位として目盛られた時間軸であり、縦軸はトーンジェネレータ５０からＤＡ変換回路７０を経て出力されたアナログオーディオ信号の出力レベルである。
図８では、図４と同様、ビート＝４が指定されているが、図８では、図４では無かったサンプルレングスの値が「８」に設定されている。従って、図４の場合と同様に図８の横軸上のＡ点において演奏者の押鍵操作が行われた場合、次のクロック「２」（Ｓ１点）で波形データの読出しが開始されるのは図４の場合も図８の場合も同様であるが、図４では４クロック分経過後、すなわち１小節分読み出した後に先頭の波形データの読出しに戻りその先頭の波形データから読出しを開始するのに対し、図８では８クロック分経過後、すなわち２小節分読み出した後に先頭の波形データの読出しに戻りその先頭の波形データからの読出しが開始される。以下同様にして、２小節分読み出す毎に先頭の波形データの読出しに戻りその先頭の波形データからの読出しを開始する動作が繰り返される。
【００５５】
このように、第２の実施形態においては、波形データの読出しはクロック発生回路４０により生成された周期情報に同期して行われ、２小節分の波形データの先頭の周期情報が生成される毎に波形データの中の先頭の波形データの読出しに戻るので、たとえ波形再生テンポとサンプルテンポとの間にずれが存在していたとしても各２小節分の波形データの先頭では頭を揃えることができるので、第１の実施形態におけると同様、波形再生テンポとサンプルテンポとのずれが次第に累積していくことが防止される。
【００５６】
このように波形データの読出し単位は１小節分であっても２小節分であってもよく、さらに任意の複数小節分であってもよい。
【００５７】
【発明の効果】
以上説明したように、本発明の波形再生装置によれば、記憶装置から読み出された１小節分あるいは複数小節分の波形データ（サンプルデータ）を繰り返し再生し、その波形再生データを他の演奏データと重ね合わせて演奏した場合に、波形再生データのテンポと、他の演奏データのテンポとのずれが累積されずに自然に近い重ね合わせ演奏が可能な波形再生装置を実現することができる。
【図面の簡単な説明】
【図１】本発明の波形再生装置を電子楽器に適用した第１の実施形態のブロック図である。
【図２】本発明の波形再生装置の第１の実施形態におけるＣＰＵにおいての波形データの読出速度設定処理手順を示す流れ図である。
【図３】本発明の波形再生装置の第１の実施形態におけるＣＰＵにおいてのノートステータス処理の手順を示す流れ図である。
【図４】  本発明の波形再生装置の第１の実施形態により再生された波形のグラフである。
【図５】  本発明の波形再生装置の第１の実施形態におけるＣＰＵにおいての波形再生のスタート処理手順を示す流れ図である。
【図６】本発明の波形再生装置の第２の実施形態におけるノートステータス処理手順を示す流れ図である。
【図７】本発明の波形再生装置の第２の実施形態における波形再生のスタート処理手順を示す流れ図である。
【図８】本発明の波形再生装置の第２の実施形態により再生された波形のグラフである。
【符号の説明】
１０    主制御装置
２０    設定操作子
３０    鍵盤
４０    クロック発生回路
５０    トーンジェネレータ
６０    波形データ記憶装置
７０    ＤＡ変換回路
８０    スピーカ
１００    波形再生装置
【図１】
0004084858.tif 000006
【図２】
0004084858.tif 000007
【図３】
0004084858.tif 000008
【図４】
0004084858.tif 000009
【図５】
0004084858.tif 000010
【図６】
0004084858.tif 000011
【図７】
0004084858.tif 000012
【図８】
0004084858.tif 000013