Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4084858B2 - Waveform playback device - Google Patents
[go: Go Back, main page]

JP4084858B2 - Waveform playback device - Google Patents

Waveform playback device Download PDF

Info

Publication number
JP4084858B2
JP4084858B2 JP27266496A JP27266496A JP4084858B2 JP 4084858 B2 JP4084858 B2 JP 4084858B2 JP 27266496 A JP27266496 A JP 27266496A JP 27266496 A JP27266496 A JP 27266496A JP 4084858 B2 JP4084858 B2 JP 4084858B2
Authority
JP
Japan
Prior art keywords
waveform
waveform data
reading
reproduction
tempo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP27266496A
Other languages
Japanese (ja)
Other versions
JPH10124061A (en
JPH10124061A5 (en
Inventor
毅 坂田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland Corp
Original Assignee
Roland Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Roland Corp filed Critical Roland Corp
Priority to JP27266496A priority Critical patent/JP4084858B2/en
Publication of JPH10124061A publication Critical patent/JPH10124061A/en
Publication of JPH10124061A5 publication Critical patent/JPH10124061A5/ja
Application granted granted Critical
Publication of JP4084858B2 publication Critical patent/JP4084858B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えば電子楽器などにおいて、記憶媒体に記憶された波形データを読み出して再生する波形再生装置に関するものである。
【0002】
【従来の技術】
従来、シーケンサや自動リズム装置などを用いて構成された電子楽器において、1小節分もしくは数小節分の短いフレーズ(楽句)の波形をサンプリングしてそのサンプリングにより得られた波形データを記憶装置に記憶しておき、その波形データ(サンプルデータ)を記憶装置から繰り返し読み出して再生し、それをシーケンサや自動リズム装置などと重ね合わせて自動演奏することが行われている。その場合、波形データの再生のテンポとシーケンサや自動リズム装置などの演奏のテンポとを一致させる必要があり、そのための種々の工夫が試みられている。従来一般には、記憶装置から読み出す波形データの読出速度を変えることによって波形データの波形再生テンポを変えてシーケンサや自動リズム装置などのテンポに合わせる方法が広く採用されている。
【0003】
【発明が解決しようとする課題】
しかし、この方法のみでは、双方のテンポを正確に合わせようとしても限界がありテンポを完全に一致させることは不可能に近い。そのため、同じ波形データを繰り返し読み出して演奏しているうちに双方のテンポの差が累積され、テンポのずれが次第に大きくなり、ついには正常な演奏とはいえない状態に陥ることがある。
【0004】
本発明は、上記の事情に鑑み、記憶装置から読み出された波形データを繰り返し読み出して再生した場合のテンポと、その波形再生データと重ね合わせて演奏される他の演奏データのテンポとのずれを十分小さく抑えることのできる波形再生装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記の目的を達成する本発明の波形再生装置は、
波形データを記憶する波形記憶手段と、
再生テンポを設定する再生テンポ設定手段と、
上記再生テンポ設定手段により設定されたテンポに対応した周期の周期情報を生成する周期情報生成手段と、
上記波形データの再生を指示する再生指示手段と、
上記再生指示手段の指示により上記周期情報に同期して上記波形記憶手段の波形データを読み出し再生する波形読出手段とを備え、
上記波形読出手段は、上記周期情報生成手段により生成された周期情報の所定のタイミングに同期して、上記波形データの中の所定の読出位置に戻り、その読出位置から波形データを順次読み出し再生するものであることを特徴とする。
【0006】
ここで、上記波形読出手段は、上記再生テンポ設定手段により設定されたテンポに従って波形データの読出速度を制御する読出速度制御手段を備えたものであってもよい。
なお、上記の波形データは、1小節分もしくは複数小節分の短いフレーズの波形データを意味しており、また、上記の「所定の読出位置」は、1小節分もしくは複数小節分の波形データの中の先頭の波形データの位置を意味している。
【0007】
本発明の波形再生装置は、波形データを1小節もしくは複数小節に対応する数のクロックが生成される毎に、その1小節分もしくは複数小節分の波形データの中の先頭の波形データの読出しに戻るため、1小節もしくは複数小節に対応する数のクロックが生成されたタイミングと1小節分もしくは複数小節分の波形データの読出しが終了するタイミングとが完全には合致していなくても、次の瞬間には先頭の波形データの読出しに戻るため、そのずれが累積されずに済み、それらのずれが十分に小さく抑えられる。
【0008】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図1は、本発明の波形再生装置を電子楽器に適用した第1の実施形態のブロック図である。
図1には、電子楽器のうちの波形再生装置100に関連する構成要素として、主制御装置10、設定操作子20、鍵盤30、クロック発生回路40、トーンジェネレータ50、波形データ記憶装置60、DA変換回路70、およびスピーカ80が備えられている。
【0009】
次に、これら各部の構成および機能について説明する。
主制御装置10は、波形再生装置100全体を制御する機能を有しており、CPU(中央処理装置)11、ROM(読出し専用メモリ)12、およびRAM(随時読出し書込み可能メモリ)13を備えている。ROM12は処理プログラムやデータを記憶し、RAM13は、CPU11の動作に伴いデータを書き込んだり読み出したりする。CPU11はROM12及びROM12に記憶されている処理プログラムやデータを読み出してデータ処理を行い各部の動作を制御する。
【0010】
設定操作子20は、演奏者の設定操作に応じて波形再生のテンポおよびビート(拍子)を含む波形再生パラメータを設定し、主制御装置10に出力する。この設定操作子20は本発明にいう再生テンポ設定手段に相当するものである。
鍵盤30は、演奏者の押鍵操作あるいは離鍵操作に応じてノートオンメッセージ(押鍵情報)あるいはノートオフメッセージ(離鍵情報)を主制御装置10に出力する。鍵盤30からのノートオンメッセージあるいはノートオフメッセージが主制御装置10に入力される。また、この鍵盤30には、波形再生の開始、停止を割り当てることができ、ある鍵にその開始、停止を割り当てておき、その鍵を押すと波形データ記憶装置60に記憶しておいた波形データの読出し(波形再生)が行われ、その鍵を離すと波形再生が停止する。すなわち、この鍵盤30は、本発明にいう再生指示手段の役割を担っている。
【0011】
クロック発生回路40は、主制御装置10から入力された波形再生テンポおよびビートに対応した周期の周期情報を生成し、その周期情報を主制御装置10に出力する。周期情報とは具体的には、ビート(拍子)のタイミングと何番目のビートであるかを表す情報を含んだものであり、4拍子であれば、所定の周期で1,2,3,4,1,2,3,4,・・・と周期情報が出力される。クロック発生回路40は本発明にいう周期情報生成手段に相当するものである。
【0012】
トーンジェネレータ50とその制御を行う主制御装置10が、主制御装置10からの波形再生開始の指示に応じて波形再生を行う。すなわち、波形データ記憶装置60に記憶された波形データを読み出してディジタルオーディオデータを生成しそれをDA変換回路70に出力する。この波形再生動作は主制御装置10からの波形再生停止の指示が出されるまでの間続けられる。トーンジェネレータ50は本発明にいう波形読出手段に相当するものである。なお、波形再生動作の詳細については後述する。
【0013】
波形データ記憶装置60は、予め作成され、CD−ROMなどの記憶媒体に保存された波形データ(サンプルデータ)をローディングして記憶しておくための装置である。あるいはメーカ側で当初から波形データ記憶装置60に波形データを記憶しておいてもよい。この波形データは、例えば、過去に演奏され録音された演奏の中から1小節分もしくは数小節分の長さの波形をサンプリングしディジタルデータとして保存されたものであり、この波形データ記憶装置に記憶された波形データは、それぞれ鍵盤の特定の鍵と対応づけられ、演奏にあたっては、その特定の鍵を操作することによりその鍵に対応づけられた波形を再生することができる。波形データ記憶装置60には、複数の波形データを記憶しておくこともできる。波形データ記憶装置60は本発明にいう波形記憶手段に相当するものである。
【0014】
DA変換回路70は、トーンジェネレータ50から入力されたディジタルオーディオデータをアナログオーディオ信号に変換しそれをスピーカ80に出力する。
スピーカ80は、DA変換回路70から入力されたアナログオーディオ信号を音響エネルギに変換して放音する。
【0015】
次に、この波形再生装置100による波形再生動作について説明する。
上記のように、所望の波形データを波形データ記憶装置60に記憶させたのち、演奏者が設定操作子20による波形再生テンポおよびビートなどの波形再生パラメータの設定操作を行うことにより、次に示す波形データの読出速度設定処理が行われる。
【0016】
図2は、本発明の波形再生装置の第1の実施形態におけるCPUにおいての波形データの読出速度設定の処理手順を示す流れ図である。
演奏者の設定操作子20(図1参照)による設定操作によりこの処理ルーチンが開始される。設定操作子20を設定操作し波形再生テンポおよびビートの波形再生パラメータを設定すると、それらの波形再生パラメータは主制御装置10のCPU11に入力され、それを受けて図2の処理ルーチンが開始される。そして、その処理ルーチンによって入力された波形再生パラメータは表2(後述)の波形再生テンポ(Tempo)とビート(Beat)にそれぞれ設定され(ステップS11)、次にそれらの波形再生テンポとビートをクロック発生回路40にも出力して設定する(ステップS12)。その結果、クロック発生回路40からは、その設定された波形再生テンポとビートに対応する周期情報が出力される。なお、このクロック発生回路40から出力される周期情報は、本実施形態の波形再生装置と同時に演奏する、図示しないシーケンサあるいは自動リズム装置のテンポの基準となるもの、あるいはこれらとテンポを同期させるためのものでもある。従って、クロック発生回路40はシーケンサあるいは自動リズム装置の演奏をスタートしたときに同期して周期情報の出力を開始するように構成されている。次に、波形データ記憶装置60に記憶された波形データについての表1(後述)のサンプルパラメータ、ここではサンプルテンポ(Sample Tempo)を読み出し、上記の波形再生テンポとサンプルテンポとから(1)式により波形データの読出速度を計算し、それを表2(後述)の読出速度(Read Ratio)に設定すると同時に、それをトーンジェネレータ50に出力し設定する(ステップS13)。トーンジェネレータ50はその設定された読出速度に従って波形データ記憶装置60の波形データを読み出す。ただし、読出のスタートとストップとは別途制御される。
【0017】
波形データの読出速度は、下記の(1)式に示されるように、演奏者によって設定された波形再生テンポと、波形データをサンプリングした際のサンプルテンポとの比(百分率表示)で表される。
読出速度=(波形再生テンポ/サンプルテンポ)×100(%)・・・(1)
従って、本実施形態の場合、サンプリング周波数が例えば48kHzであったとすると、読出速度=100%の時には、サンプリング周波数と同じ48kHzで波形データが読み出され、読出速度=200%の時には、サンプリング周波数の2倍のサンプリング周波数すなわち、96kHzで波形データが読み出され、また、読出速度=50%の時には、サンプリング周波数の2分の1のサンプリング周波数すなわち24kHzで波形データが読み出されることとなる。
【0018】
上記の実施形態では、読出速度の変化をサンプリング周波数を変化させることで行っていたが、読出アドレスの変化量を1以外の値にすることによって読出速度を変化させることもできる。このような方法は、波形読出方式の音源で読出波形の音高を変化させる場合の公知の技術であり、サンプリング周波数を変化させる可変サンプリング方式に対して、サンプリング周波数を変化させないため固定サンプリング方式と呼ばれている。
【0019】
例えば、固定サンプリング方式において、読出アドレスの変化量が1づつ変化する場合の読出速度は100%、読出アドレスの変化量が2づつ変化する場合の読出速度は200%、読出アドレスの変化量が0.5づつ変化する場合の読出速度は50%というようになる。
このような固定サンプリング方式の場合、読出アドレスの変化量が整数とは限らないため、波形データの読出アドレスも小数部を有したものになる。従って、トーンジェネレータ50(波形読出手段)には、小数部アドレスを有した読出アドレスの、波形データの値を算出するための補間演算手段を備えることになる。
【0020】
以上説明した、波形データのサンプルパラメータは、波形データ記憶装置60に波形データと対になって記憶されており、鍵盤30の鍵に波形データの発音を割り当てた時、主記憶装置10が、その波形データと対のサンプルパラメータをトーンジェネレータ50を介して読み出し、主記憶装置10のRAM13に表1として記憶される。また、設定操作子20で設定された波形再生パラメータの波形再生テンポおよびビートは、図2の説明のようにRAM13に表2として記憶されている。
【0021】
以下にこれらのサンプルパラメータおよび波形再生パラメータについて説明する。
表1は、第1の実施形態における波形データのサンプルパラメータの一例である。
【0022】
【表1】

Figure 0004084858
【0023】
表1の第1行に示された「Sample Tempo=120」(サンプルテンポ=120)は、波形データ記憶装置60に記憶されている波形データのサンプリング時のテンポが1分間に4分音符を120回演奏する速度であることを表している。
表2は、第1の実施形態における波形再生パラメータの一例である。
【0024】
【表2】
Figure 0004084858
【0025】
表2の1行目に示された「Tempo=120」(テンポ=120)は、波形データを再生する時のテンポが120であることを表す波形再生テンポで、上記のように設定操作子20によって設定されるものである。なお、電源投入時の初期設定では「Tempo=120」に設定されている。
表2の2行目に示された「Beat=4」(ビート=4)は、波形データを再生する時のビート(拍子)を表すパラメータで、Beat=4とは1小節を4拍として演奏すべきことを表している。この値は上記のように設定操作子20によって設定されるものである。なお、初期設定では「Beat=4」に設定されている。
【0026】
表2の3行目に示された「Clock=1」(クロック=1)は、クロック発生回路40(図1参照)から入力される周期情報を保持するパラメータである。このパラメータ保持の処理は、上記のクロック発生回路40から周期情報が入力される毎に割込みがかかり、その時の入力されている周期情報をこの「Clock」に保持することによって行われる。なお、初期設定では「Clock=1」に設定されている。
【0027】
表2の4行目に示された「Note Status=0」(ノートステータス=0)は、鍵盤30からの鍵情報に従って設定されるもので、押鍵状態「1」か離鍵状態「0」かの鍵の状態を表すものである。この状態は、図3(後述)のノートステータス処理で設定される。なお、初期設定では「Note Status=0」に設定されている。
【0028】
表2の5行目に示された「Start Clock=1」(スタートクロック=1)は、トーンジェネレータ50に波形データの再生開始を指示するスタートメッセージを出力するタイミングを特定するためのもので、クロック発生回路40から入力される周期情報を特定する情報である。この「Start Clock」は、図3(後述)のノートステータス処理で設定される。なお、初期設定では「Start Clock=1」に設定されている。
【0029】
表2の6行目に示された「Read Ratio=100」(読出速度=100)は、トーンジェネレータ50において波形データを読み出す時の読出速度が示されている。波形データをサンプリングした時の速度に対する割合(%)で示されている。すなわち、「Read Ratio=100」とは、サンプリング時の速度と同じ速度で読み出すことを示している。この「Read Ratio」は、図2の読出速度設定処理において設定される。なお、初期設定では「Read Ratio=100」に設定されている。
【0030】
以上のようにして、波形データの読出速度の設定処理が終了した後に、演奏者により鍵盤30に対して所定の押鍵操作が行われると、鍵盤30は主制御装置10にノートオンメッセージを出力する。ノートオンメッセージが入力されると主制御装置10は波形再生の開始を各部に指示する。また、鍵盤30においてノートオフメッセージを出力する離鍵操作が行われると、主制御装置10は波形再生の停止を各部に指示する。
【0031】
図3は、本発明の波形再生装置の第1の実施形態におけるCPUにおいてのノートステータス処理の手順を示す流れ図である。
演奏者により鍵盤30に対して押鍵操作あるいは離鍵操作が行われると、このノートステータス処理ルーチンが開始され、主制御装置10は、鍵盤30から入力された情報がノートオンメッセージ(押鍵情報)であるかノートオフメッセージ(離鍵情報)であるかの判定を行い(ステップS21)、判定の結果、ノートオンメッセージ(押鍵情報)である場合はステップS22に進みノートステータス(押鍵状態か離鍵状態かを表すフラグ)を「1」(押鍵状態)にセットし、表2のクロックおよびビートに基づき、下記の(2)式を用いてスタートクロックを計算して表2のスタートクロックに設定し(ステップS22)、このルーチンを終了する。
【0032】
スタートクロック=(クロック%ビート)+1 ・・・・・・・・ (2)
ただし、演算子記号%は、除算の余りを求める演算を行うことを示す。
従って、例えば、ビート=4の場合は、
クロック=1の時にスタートクロック=2となり、
クロック=2の時にスタートクロック=3となり、
クロック=3の時にスタートクロック=4となり、
クロック=4の時にスタートクロック=1となる。
【0033】
一方、ステップS21における判定の結果、鍵盤30から入力された情報がノートオフメッセージ(離鍵情報)である場合はステップS23に分岐し、ノートステータスを「0」(離鍵状態)にセットし、波形再生の停止を指示するストップメッセージをトーンジェネレータ50に出力し(ステップS23)、このルーチンを終了する。前記ストップメッセージを受けたトーンジェネレータ50は直ちに波形再生を停止する。
【0034】
上記のように、ノートオンメッセージが鍵盤30から主制御装置10に入力されると、主制御装置10は各部に対し波形再生の開始を指示するが、その指示を受けたクロック発生回路40は、先に主制御装置10から受け取った波形再生のテンポおよびビートに対応した周期の周期情報を生成し、その周期情報を主制御装置10に出力する。
【0035】
クロック発生回路40が周期情報を出力する度毎に次に説明するスタート処理ルーチンが開始される。
図5は、本発明の波形再生装置の第1の実施形態におけるCPUにおいての波形再生のスタート処理手順を示す流れ図である。
図5に示すように、周期情報を受けてスタート処理ルーチンが開始されると、主制御装置10はクロック発生回路40の出力した周期情報を読み込み表2のクロックに設定する(ステップS31)、次に、その時のノートステータスが「1」(押鍵状態)であるか、あるいは「0」(離鍵状態)であるかが判定される(ステップS32)。ステップS32における判定の結果、ノートステータスが「0」である場合はこのスタート処理ルーチンを終了するが、ノートステータスが「1」である場合はステップS33に進み、表2のクロックとスタートクロックとの比較が行われる(ステップS33)。ステップS33における判定の結果、クロックとスタートクロックとが等しくない場合はこのスタート処理ルーチンを終了するが、クロックとスタートクロックとが等しい場合はステップS34に進み、主制御装置10からトーンジェネレータ50に対しスタートメッセージが出力されて(ステップS35)、このスタート処理ルーチンを終了する。
【0036】
上記のスタート処理の結果、トーンジェネレータ50にスタートメッセージが入力されると、トーンジェネレータ50は波形データ記憶装置60からの波形データの読出しを開始する。
図4は、本発明の波形再生装置の第1の実施形態により再生された波形のグラフである。図4の横軸はクロック発生回路40で発生されたビートを単位として目盛られた時間軸であり、縦軸はトーンジェネレータ50からDA変換回路70を経て出力されたアナログオーディオ信号の出力レベルである。
【0037】
図4に示された波形は、表2に示したとおりビート=4が指定されている場合の波形である。
いま、図4の横軸上のA点において演奏者の押鍵操作が行われたとすると、演奏者の押鍵操作あるいは離鍵操作により図3のノートステータス処理が開始され、図3のステップS21における判定の結果、A点における鍵盤からの入力情報がノートオンメッセージであると判定され、図3のステップS22に進んでノートステータスが「1」にセットされる。ここで、図4に示すように、ノートオンされたA点が横軸の1拍目と2拍目との中間に位置しているため、その時のクロックは「1」であり、ビートは上記のように「4」に指定されているから、上記(2)式によりスタートクロックは「2」となる。
【0038】
ここで、クロック発生回路40から周期情報が出力されると図5のスタート処理ルーチンが開始され、主制御装置10はその周期情報、すなわち「2」を読み込み、表2のクロックに設定する(図5のステップS31)、次に、その時のノートステータスが「1」(押鍵状態)であるか、あるいは「0」(離鍵状態)であるかが判定される(ステップS32)。ステップS32における判定の結果、ノートステータスが0(離鍵状態)である場合はこのスタート処理ルーチンを終了するが、ノートステータスは「1」であるからステップS33に進み、クロック「2」とスタートクロックとの比較が行われ、上記のようにスタートクロックは「2」でありクロック「2」と等しいのでステップS34に進み、主制御装置10からトーンジェネレータ50に対しスタートメッセージが出力される。トーンジェネレータ50はスタートメッセージを受け取ると、そのS1点においてトーンジェネレータ50は波形データの先頭からの読出しを開始する。
【0039】
以降、トーンジェネレータ50による波形データの読出しは、表2の読出速度=100%の波形再生パラメータに基づき読み出される。そして、表2のクロックが「3」、「4」、「1」と変化しても図5のステップS33ではこれらのクロックはスタートクロック「2」と等しくないのでトーンジェネレータ50はそのまま波形データの読出しを続けクロック2のS1点から再びクロック2が入力されるS2点に達する直前までの4クロック分、すなわち1小節分の長さの波形データが読み出される。
【0040】
S2点に達し、クロック「2」が入力されると、図5のステップS33における判定の結果クロック「2」はスタートクロック「2」と等しくなるのでステップS34に進み、主制御装置10からトーンジェネレータ50に対しスタートメッセージが出力される。トーンジェネレータ50はスタートメッセージを受け取ると、波形データ記憶装置60の波形データの中の先頭の波形データの読出しに戻りその先頭の波形データから再び読出しを開始する。
【0041】
同様にしてS2点からS3点までの1小節分の波形データが読み出され、それ以降も主制御装置10から波形再生の停止が指示されない限りは、波形データ記憶装置60の波形データの中の先頭の波形データの読出しに戻りその先頭の波形データから読出しを開始する動作を続けることとなる。E点に至り演奏者の離鍵操作により鍵盤30から主制御装置10にノートオフメッセージが出力されると(図3ステップS21)、主制御装置10からトーンジェネレータ50にストップメッセージが出力され(図3ステップS23)、トーンジェネレータ50は波形データの読出しを停止する。
【0042】
このように、波形データの読出しは、クロック発生回路40により生成された周期情報に同期して行われ、1小節分の波形データの先頭の周期情報が生成される毎に波形データの中の先頭の波形データの読出しに戻るので、たとえサンプルテンポと実際の波形データのテンポとの間に僅かなずれが存在していたとしても各1小節の先頭で頭が揃えられ、波形データを繰り返し再生する間にそのずれが累積していくことが防止される。
【0043】
次に、本発明の波形再生装置の第2の実施形態について説明する。第2の実施形態では、図1に示した波形再生装置100を用い、図2に示した波形データの読出速度設定処理手順と同様にして読出速度を設定する。第2の実施形態では、ノートステータス処理手順が図3に示した手順とは若干異なり、また、波形再生のスタート処理手順が図5に示した手順と若干相違している。そのため、波形データのサンプルパラメータおよび波形再生パラメータも若干相違している。
【0044】
表3は、第2の実施形態における波形データのサンプルパラメータの一例である。
【0045】
【表3】
Figure 0004084858
【0046】
表3の第1行に示された「Sample Tempo=120」は、表1における第1行と同様であるが、第2行に示された「Sample Length=8」(サンプルレングス=8)は、波形データ記憶装置60に記憶されている波形データが4分音符8つ分の長さ、すなわち2小節分サンプリングされたものであることを表している。
【0047】
表4は、第2の実施形態における波形再生パラメータの一例である。
【0048】
【表4】
Figure 0004084858
【0049】
表4の第1行から第6行までに示された「Tempo=120」、「Beat=4」、「Clock=1」、「Note Status=0」、「StartClock=1」、および「Read Ratio=100」は、表2におけると同様である。さらに表4の第7行には、「Length=0」(レングス=0)のように「レングス」なるパラメータが設定されている。
【0050】
以下に、これらの相違点を中心にして説明する。
図6は、本発明の波形再生装置の第2の実施形態におけるノートステータス処理手順を示す流れ図である。
図6を図3と比較すると、図6のステップS41およびステップS43は図3のステップS21およびステップS23と全く同様であり、ステップS42が図3のステップS22と異なっている。すなわち、ステップS41における判定の結果、ノートオンメッセージ(押鍵情報)である場合はステップS42に進みノートステータスを「1」(押鍵状態)にセットし、クロックおよびビートに基づき前述の(2)式を用いてスタートクロックを計算し、次にレングスを「0」に初期化する(ステップS42)。このレングスは第2の実施形態において、複数小節分の波形データを読み出すためのパラメータである。
【0051】
第2の実施形態においても、クロック発生回路40が周期情報を出力する度毎に次のスタート処理ルーチンが開始される。
図7は、本発明の波形再生装置の第2の実施形態における波形再生のスタート処理手順を示す流れ図である。
図7に示すように、周期情報を受けてスタート処理ルーチンが開始されると、主制御装置10はクロック発生回路40の出力した周期情報を読み込み表4のクロックに設定する(ステップS51)、次に、その時のノートステータスが「1」(押鍵状態)であるか、あるいは「0」(離鍵状態)であるかが判定される(ステップS52)。ステップS52における判定の結果、ノートステータスが「0」である場合はこのスタート処理ルーチンを終了するが、ノートステータスが「1」である場合はステップS53に進みレングスの値が「0」以上であるか否かが判定される。判定の結果、レングスの値が「0」の場合はステップS54をスキップしてステップS55に進むが、判定の結果、レングスの値が「1」以上の場合はステップS54に進みレングスの値から「1」を差し引いて(ステップS54)、ステップS55に進む。ステップS55では、レングスの値が「0」であるか否かが判定される。判定の結果、レングスの値が「0」である場合はステップS56に進むが、判定の結果、レングスの値が「0」でない場合はこのスタート処理ルーチンを終了する。ステップS56では、その時点のクロックと、そのクロックに対応するスタートクロック(図6参照)との比較が行われる(ステップS56)。ステップS56における判定の結果、クロックとスタートクロックとが等しくない場合はこのスタート処理ルーチンを終了するが、クロックとスタートクロックとが等しい場合はステップS57に進み、サンプルパラメータの中のサンプルレングスの値をレングスに代入すると共に、トーンジェネレータ50に対しスタートメッセージが出力されて、このスタート処理ルーチンが終了する。
【0052】
このように、最初、レングスを「0」に初期化しておき(図6ステップS42)、スタート処理における波形データ読出し開始時にサンプルレングスの値(表3に示すように「8」に設定されている)をレングスに代入してから波形データ読出しを開始し(図7ステップS57)、クロックが進む度にステップS54においてレングスの値から「1」を差し引き、ステップS56においてクロックとスタートクロックとが等しくない間は波形データの読出しを続け、クロックとスタートクロックとが等しくなった時に波形データの中の先頭の波形データの読出しに戻るよう制御されている。
【0053】
第2の実施形態においては、サンプルレングスの値は「8」、ビートは「4」にそれぞれ設定されているため、第1小節の読出しが終わった時点では先頭の波形データの読出しには戻らずそのまま第2小節の読出しが継続され第2小節の読出しが終わった時点で始めて波形データの中の先頭の波形データの読出しに戻る。以下このようにして、演奏者による離鍵操作が行われるまで、2小節分ずつ読み出される毎に先頭の波形データの読出しに戻る波形再生動作が繰り返される。
【0054】
図8は、本発明の波形再生装置の第2の実施形態により再生された波形のグラフである。図8の横軸はクロック発生回路40で発生されたビートを単位として目盛られた時間軸であり、縦軸はトーンジェネレータ50からDA変換回路70を経て出力されたアナログオーディオ信号の出力レベルである。
図8では、図4と同様、ビート=4が指定されているが、図8では、図4では無かったサンプルレングスの値が「8」に設定されている。従って、図4の場合と同様に図8の横軸上のA点において演奏者の押鍵操作が行われた場合、次のクロック「2」(S1点)で波形データの読出しが開始されるのは図4の場合も図8の場合も同様であるが、図4では4クロック分経過後、すなわち1小節分読み出した後に先頭の波形データの読出しに戻りその先頭の波形データから読出しを開始するのに対し、図8では8クロック分経過後、すなわち2小節分読み出した後に先頭の波形データの読出しに戻りその先頭の波形データからの読出しが開始される。以下同様にして、2小節分読み出す毎に先頭の波形データの読出しに戻りその先頭の波形データからの読出しを開始する動作が繰り返される。
【0055】
このように、第2の実施形態においては、波形データの読出しはクロック発生回路40により生成された周期情報に同期して行われ、2小節分の波形データの先頭の周期情報が生成される毎に波形データの中の先頭の波形データの読出しに戻るので、たとえ波形再生テンポとサンプルテンポとの間にずれが存在していたとしても各2小節分の波形データの先頭では頭を揃えることができるので、第1の実施形態におけると同様、波形再生テンポとサンプルテンポとのずれが次第に累積していくことが防止される。
【0056】
このように波形データの読出し単位は1小節分であっても2小節分であってもよく、さらに任意の複数小節分であってもよい。
【0057】
【発明の効果】
以上説明したように、本発明の波形再生装置によれば、記憶装置から読み出された1小節分あるいは複数小節分の波形データ(サンプルデータ)を繰り返し再生し、その波形再生データを他の演奏データと重ね合わせて演奏した場合に、波形再生データのテンポと、他の演奏データのテンポとのずれが累積されずに自然に近い重ね合わせ演奏が可能な波形再生装置を実現することができる。
【図面の簡単な説明】
【図1】本発明の波形再生装置を電子楽器に適用した第1の実施形態のブロック図である。
【図2】本発明の波形再生装置の第1の実施形態におけるCPUにおいての波形データの読出速度設定処理手順を示す流れ図である。
【図3】本発明の波形再生装置の第1の実施形態におけるCPUにおいてのノートステータス処理の手順を示す流れ図である。
【図4】 本発明の波形再生装置の第1の実施形態により再生された波形のグラフである。
【図5】 本発明の波形再生装置の第1の実施形態におけるCPUにおいての波形再生のスタート処理手順を示す流れ図である。
【図6】本発明の波形再生装置の第2の実施形態におけるノートステータス処理手順を示す流れ図である。
【図7】本発明の波形再生装置の第2の実施形態における波形再生のスタート処理手順を示す流れ図である。
【図8】本発明の波形再生装置の第2の実施形態により再生された波形のグラフである。
【符号の説明】
10 主制御装置
20 設定操作子
30 鍵盤
40 クロック発生回路
50 トーンジェネレータ
60 波形データ記憶装置
70 DA変換回路
80 スピーカ
100 波形再生装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a waveform reproduction device that reads and reproduces waveform data stored in a storage medium, for example, in an electronic musical instrument.
[0002]
[Prior art]
Conventionally, in an electronic musical instrument configured using a sequencer, an automatic rhythm device, etc., a waveform of a short phrase (musical phrase) for one measure or several measures is sampled and the waveform data obtained by the sampling is stored in a storage device. It is stored and the waveform data (sample data) is repeatedly read out from the storage device and played back, and is automatically played by superimposing it on a sequencer or an automatic rhythm device. In this case, it is necessary to match the tempo of waveform data reproduction with the performance tempo of a sequencer, an automatic rhythm device, etc., and various attempts have been made for that purpose. Conventionally, a method of changing a waveform reproduction tempo of waveform data by changing a reading speed of waveform data read from a storage device to match a tempo such as a sequencer or an automatic rhythm device has been widely adopted.
[0003]
[Problems to be solved by the invention]
However, with this method alone, there is a limit in trying to match both tempos accurately, and it is almost impossible to match the tempos completely. For this reason, while the same waveform data is repeatedly read and played, the difference between the tempos of both is accumulated, the tempo shift gradually increases, and it may eventually fall into a state of not being a normal performance.
[0004]
In view of the above circumstances, the present invention provides a difference between the tempo when the waveform data read from the storage device is repeatedly read and reproduced, and the tempo of other performance data to be played superimposed on the waveform reproduction data. An object of the present invention is to provide a waveform reproducing apparatus capable of suppressing the above sufficiently small.
[0005]
[Means for Solving the Problems]
The waveform reproduction apparatus of the present invention that achieves the above object is as follows.
Waveform storage means for storing waveform data;
Playback tempo setting means for setting a playback tempo;
Period information generating means for generating period information of a period corresponding to the tempo set by the reproduction tempo setting means;
Reproduction instruction means for instructing reproduction of the waveform data;
Waveform readout means for reading out and reproducing the waveform data of the waveform storage means in synchronization with the period information in accordance with an instruction from the reproduction instruction means,
The waveform reading means returns to a predetermined reading position in the waveform data in synchronization with a predetermined timing of the period information generated by the period information generating means, and sequentially reads and reproduces the waveform data from the reading position. It is characterized by being.
[0006]
Here, the waveform reading means may comprise a reading speed control means for controlling the reading speed of the waveform data in accordance with the tempo set by the reproduction tempo setting means.
The above waveform data means waveform data of a short phrase for one measure or a plurality of measures, and the above-mentioned “predetermined reading position” is the waveform data for one measure or a plurality of measures. This means the position of the top waveform data.
[0007]
The waveform reproducing apparatus of the present invention reads out the top waveform data in the waveform data for one or a plurality of bars every time the number of clocks corresponding to one or a plurality of bars is generated. Therefore, even if the timing at which the number of clocks corresponding to one measure or multiple measures are generated and the timing at which waveform data for one measure or multiple measures is completely read out are not completely matched, Since the operation returns to the reading of the first waveform data at the moment, the deviations are not accumulated, and the deviations can be suppressed sufficiently small.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described.
FIG. 1 is a block diagram of a first embodiment in which the waveform reproduction apparatus of the present invention is applied to an electronic musical instrument.
In FIG. 1, the main control device 10, the setting operator 20, the keyboard 30, the clock generation circuit 40, the tone generator 50, the waveform data storage device 60, DA are shown as components related to the waveform reproduction device 100 of the electronic musical instrument. A conversion circuit 70 and a speaker 80 are provided.
[0009]
Next, the configuration and functions of these units will be described.
The main control device 10 has a function of controlling the entire waveform reproducing device 100 and includes a CPU (central processing unit) 11, a ROM (read only memory) 12, and a RAM (a read / write writable memory) 13. Yes. The ROM 12 stores processing programs and data, and the RAM 13 writes and reads data as the CPU 11 operates. The CPU 11 reads out the processing program and data stored in the ROM 12 and the ROM 12, performs data processing, and controls the operation of each unit.
[0010]
The setting operator 20 sets a waveform reproduction parameter including a tempo and a beat (time signature) of waveform reproduction in accordance with a player's setting operation, and outputs the parameter to the main controller 10. This setting operator 20 corresponds to the playback tempo setting means referred to in the present invention.
The keyboard 30 outputs a note-on message (key-press information) or a note-off message (key-release information) to the main control device 10 in accordance with the player's key pressing operation or key releasing operation. A note-on message or a note-off message from the keyboard 30 is input to the main controller 10. The keyboard 30 can be assigned start and stop of waveform reproduction, and the start and stop are assigned to a certain key. When the key is pressed, the waveform data stored in the waveform data storage device 60 is stored. Is read (waveform playback), and waveform release stops when the key is released. That is, the keyboard 30 plays the role of the reproduction instruction means referred to in the present invention.
[0011]
The clock generation circuit 40 generates period information of a period corresponding to the waveform reproduction tempo and beat input from the main controller 10, and outputs the period information to the main controller 10. Specifically, the period information includes information indicating the timing of the beat (beat) and the number of beats. If it is four beats, 1, 2, 3, 4 in a predetermined period. , 1, 2, 3, 4,... The clock generation circuit 40 corresponds to the period information generation means referred to in the present invention.
[0012]
The tone generator 50 and the main controller 10 that controls the tone generator 50 perform waveform reproduction in response to a waveform reproduction start instruction from the main controller 10. That is, the waveform data stored in the waveform data storage device 60 is read to generate digital audio data, which is output to the DA converter circuit 70. This waveform reproduction operation is continued until an instruction to stop waveform reproduction from the main controller 10 is issued. The tone generator 50 corresponds to the waveform reading means referred to in the present invention. Details of the waveform reproduction operation will be described later.
[0013]
The waveform data storage device 60 is a device for loading and storing waveform data (sample data) created in advance and stored in a storage medium such as a CD-ROM. Alternatively, the waveform data may be stored in the waveform data storage device 60 from the beginning by the manufacturer. For example, the waveform data is obtained by sampling a waveform having a length of one measure or several measures from performances recorded and recorded in the past, and is stored as digital data, and is stored in the waveform data storage device. Each of the waveform data is associated with a specific key on the keyboard, and when performing, the waveform associated with the key can be reproduced by operating the specific key. The waveform data storage device 60 can also store a plurality of waveform data. The waveform data storage device 60 corresponds to the waveform storage means referred to in the present invention.
[0014]
The DA conversion circuit 70 converts the digital audio data input from the tone generator 50 into an analog audio signal and outputs it to the speaker 80.
The speaker 80 converts the analog audio signal input from the DA conversion circuit 70 into acoustic energy and emits the sound.
[0015]
Next, the waveform reproduction operation by the waveform reproduction apparatus 100 will be described.
As described above, after the desired waveform data is stored in the waveform data storage device 60, the performer performs the operation of setting the waveform reproduction parameters such as the waveform reproduction tempo and the beat by the setting operator 20 as follows. Waveform data reading speed setting processing is performed.
[0016]
FIG. 2 is a flowchart showing a processing procedure for setting the reading speed of waveform data in the CPU in the first embodiment of the waveform reproducing apparatus of the present invention.
This processing routine is started by a setting operation by the player's setting operator 20 (see FIG. 1). When the setting operator 20 is set and the waveform playback tempo and beat waveform playback parameters are set, the waveform playback parameters are input to the CPU 11 of the main controller 10, and the processing routine of FIG. . Then, the waveform reproduction parameters input by the processing routine are respectively set to the waveform reproduction tempo (Tempo) and beat (Beat) in Table 2 (described later) (step S11), and then the waveform reproduction tempo and beat are clocked. The setting is also output to the generation circuit 40 (step S12). As a result, the clock generation circuit 40 outputs period information corresponding to the set waveform reproduction tempo and beat. The period information output from the clock generation circuit 40 serves as a reference for the tempo of a sequencer or automatic rhythm device (not shown) that is played simultaneously with the waveform reproduction device of the present embodiment, or for synchronizing the tempo with these. It is also a thing. Therefore, the clock generation circuit 40 is configured to start outputting the period information in synchronization with the start of the performance of the sequencer or automatic rhythm device. Next, the sample parameters in Table 1 (to be described later) for the waveform data stored in the waveform data storage device 60, here the sample tempo (Sample Tempo), are read, and the above equation (1) is obtained from the waveform reproduction tempo and sample tempo. The waveform data reading speed is calculated by the above, and it is set to the reading speed (Read Ratio) shown in Table 2 (described later), and at the same time, it is output to the tone generator 50 and set (step S13). The tone generator 50 reads the waveform data in the waveform data storage device 60 in accordance with the set read speed. However, the start and stop of reading are controlled separately.
[0017]
As shown in the following equation (1), the waveform data reading speed is represented by the ratio (percentage display) between the waveform playback tempo set by the performer and the sample tempo when the waveform data is sampled. .
Reading speed = (waveform playback tempo / sample tempo) × 100 (%) (1)
Therefore, in the case of the present embodiment, assuming that the sampling frequency is 48 kHz, for example, when the reading speed is 100%, the waveform data is read at the same 48 kHz as the sampling frequency, and when the reading speed is 200%, the sampling frequency is Waveform data is read at twice the sampling frequency, that is, 96 kHz, and when the reading speed is 50%, the waveform data is read at a sampling frequency that is half the sampling frequency, that is, 24 kHz.
[0018]
In the above embodiment, the reading speed is changed by changing the sampling frequency. However, the reading speed can be changed by setting the change amount of the reading address to a value other than 1. Such a method is a known technique in the case of changing the pitch of a readout waveform with a waveform readout type sound source. In contrast to a variable sampling method in which the sampling frequency is changed, the sampling frequency is not changed. being called.
[0019]
For example, in the fixed sampling method, the reading speed when the change amount of the read address changes by 1 is 100%, the read speed when the change amount of the read address changes by 2 is 200%, and the read address change amount is 0. The reading speed when changing by 5 is 50%.
In the case of such a fixed sampling method, since the change amount of the read address is not always an integer, the read address of the waveform data also has a fractional part. Accordingly, the tone generator 50 (waveform reading means) is provided with interpolation calculation means for calculating the value of the waveform data at the read address having the decimal part address.
[0020]
The sample parameters of the waveform data described above are stored in a pair with the waveform data in the waveform data storage device 60. When the waveform data is assigned to the key of the keyboard 30, the main storage device 10 The sample data paired with the waveform data is read out via the tone generator 50 and stored as Table 1 in the RAM 13 of the main memory 10. The waveform playback tempo and beat of the waveform playback parameters set by the setting operator 20 are stored as Table 2 in the RAM 13 as described in FIG.
[0021]
These sample parameters and waveform reproduction parameters will be described below.
Table 1 is an example of sample parameters of waveform data in the first embodiment.
[0022]
[Table 1]
Figure 0004084858
[0023]
“Sample Tempo = 120” (sample tempo = 120) shown in the first row of Table 1 indicates that the tempo at the time of sampling the waveform data stored in the waveform data storage device 60 is 120 quarter notes per minute. This indicates that the speed is to play once.
Table 2 shows an example of the waveform reproduction parameter in the first embodiment.
[0024]
[Table 2]
Figure 0004084858
[0025]
“Tempo = 120” (tempo = 120) shown in the first line of Table 2 is a waveform reproduction tempo indicating that the tempo when reproducing waveform data is 120, and the setting operator 20 as described above. Is set by Note that “Tempo = 120” is set in the initial setting when the power is turned on.
“Beat = 4” (beat = 4) shown in the second row of Table 2 is a parameter that represents the beat (time signature) when waveform data is played back. Beat = 4 is a performance with 1 bar of 4 beats. Indicates what to do. This value is set by the setting operator 20 as described above. In the initial setting, “Beat = 4” is set.
[0026]
“Clock = 1” (clock = 1) shown in the third row of Table 2 is a parameter that holds the period information input from the clock generation circuit 40 (see FIG. 1). This parameter holding process is performed by interrupting each time period information is input from the clock generation circuit 40, and holding the input period information at that time in this "Clock". In the initial setting, “Clock = 1” is set.
[0027]
“Note Status = 0” (note status = 0) shown in the fourth line of Table 2 is set according to the key information from the keyboard 30, and the key depression state “1” or the key release state “0”. Represents the state of the key. This state is set by note status processing in FIG. 3 (described later). The initial setting is “Note Status = 0”.
[0028]
“Start Clock = 1” (start clock = 1) shown in the fifth line of Table 2 is for specifying the timing of outputting a start message instructing the tone generator 50 to start reproducing waveform data. This is information for specifying period information input from the clock generation circuit 40. This “Start Clock” is set in the note status process of FIG. 3 (described later). In the initial setting, “Start Clock = 1” is set.
[0029]
“Read Ratio = 100” (reading speed = 100) shown in the sixth line of Table 2 indicates the reading speed when the tone generator 50 reads waveform data. It is shown as a percentage (%) relative to the speed when the waveform data is sampled. That is, “Read Ratio = 100” indicates that reading is performed at the same speed as the sampling speed. This “Read Ratio” is set in the reading speed setting process of FIG. In the initial setting, “Read Ratio = 100” is set.
[0030]
As described above, when the player performs a predetermined key pressing operation on the keyboard 30 after the setting processing of the waveform data reading speed is completed, the keyboard 30 outputs a note-on message to the main controller 10. To do. When a note-on message is input, main controller 10 instructs each unit to start waveform reproduction. When a key release operation for outputting a note-off message is performed on the keyboard 30, the main controller 10 instructs each unit to stop waveform reproduction.
[0031]
FIG. 3 is a flowchart showing the procedure of note status processing in the CPU in the first embodiment of the waveform reproducing apparatus of the present invention.
When the performer performs a key pressing operation or a key releasing operation on the keyboard 30, this note status processing routine is started, and the main controller 10 receives the information input from the keyboard 30 as a note-on message (key pressing information). ) Or note-off message (key release information) (step S21). If the result of the determination is a note-on message (key-press information), the process proceeds to step S22, and the note status (key-press state). Or the key release state) is set to “1” (key-pressed state), and the start clock of Table 2 is calculated using the following formula (2) based on the clock and beat of Table 2. The clock is set (step S22), and this routine is terminated.
[0032]
Start clock = (clock% beat) + 1 (2)
However, the operator symbol% indicates that an operation for obtaining the remainder of division is performed.
Thus, for example, if beat = 4,
When clock = 1, start clock = 2,
When clock = 2, start clock = 3,
When clock = 3, start clock = 4,
When the clock = 4, the start clock = 1.
[0033]
On the other hand, if the information input from the keyboard 30 is a note-off message (key release information) as a result of the determination in step S21, the process branches to step S23, and the note status is set to “0” (key release state). A stop message instructing to stop waveform reproduction is output to the tone generator 50 (step S23), and this routine is terminated. The tone generator 50 that has received the stop message immediately stops the waveform reproduction.
[0034]
As described above, when a note-on message is input from the keyboard 30 to the main controller 10, the main controller 10 instructs each unit to start waveform reproduction. Period information of a period corresponding to the tempo and beat of the waveform reproduction previously received from the main controller 10 is generated, and the period information is output to the main controller 10.
[0035]
Each time the clock generation circuit 40 outputs period information, a start processing routine described below is started.
FIG. 5 is a flowchart showing a waveform reproduction start processing procedure in the CPU in the first embodiment of the waveform reproduction apparatus of the present invention.
As shown in FIG. 5, when the start processing routine is started in response to the period information, the main controller 10 reads the period information output from the clock generation circuit 40 and sets it as the clock in Table 2 (step S31). Then, it is determined whether the note status at that time is “1” (key-pressed state) or “0” (key-released state) (step S32). If the note status is “0” as a result of the determination in step S32, the start processing routine is terminated. If the note status is “1”, the process proceeds to step S33, and the clock and start clock of Table 2 are set. Comparison is performed (step S33). If the result of determination in step S33 is that the clock and start clock are not equal, this start processing routine is terminated, but if the clock and start clock are equal, processing proceeds to step S34 and the main controller 10 sends the tone generator 50 to the tone generator 50. A start message is output (step S35), and this start processing routine is terminated.
[0036]
When a start message is input to the tone generator 50 as a result of the start process, the tone generator 50 starts reading waveform data from the waveform data storage device 60.
FIG. 4 is a graph of a waveform reproduced by the first embodiment of the waveform reproducing apparatus of the present invention. The horizontal axis of FIG. 4 is a time axis scaled in units of beats generated by the clock generation circuit 40, and the vertical axis is the output level of the analog audio signal output from the tone generator 50 via the DA conversion circuit 70. .
[0037]
The waveform shown in FIG. 4 is a waveform when beat = 4 is designated as shown in Table 2.
Now, assuming that the player performs a key pressing operation at point A on the horizontal axis in FIG. 4, the note status processing in FIG. 3 is started by the player's key pressing operation or key release operation, and step S21 in FIG. 3 is started. As a result of the determination at step A, it is determined that the input information from the keyboard at the point A is a note-on message, and the process proceeds to step S22 in FIG. Here, as shown in FIG. 4, since the point A where the note was turned on is located between the first beat and the second beat on the horizontal axis, the clock at that time is “1” and the beat is the above Therefore, the start clock is set to “2” according to the above equation (2).
[0038]
Here, when the cycle information is output from the clock generation circuit 40, the start processing routine of FIG. 5 is started, and the main controller 10 reads the cycle information, that is, “2”, and sets it as the clock of Table 2 (see FIG. 5). Next, it is determined whether the note status at that time is “1” (key depression state) or “0” (key release state) (step S32). If the result of determination in step S32 is that the note status is 0 (key release state), this start processing routine is terminated. However, since the note status is “1”, processing proceeds to step S33, where clock “2” and the start clock are Since the start clock is “2” and equal to the clock “2” as described above, the process proceeds to step S 34, and the main control device 10 outputs a start message to the tone generator 50. When the tone generator 50 receives the start message, the tone generator 50 starts reading waveform data from the beginning at the point S1.
[0039]
Thereafter, the waveform data is read by the tone generator 50 based on the waveform reproduction parameter in Table 2 with the reading speed = 100%. Even if the clocks in Table 2 change to “3”, “4”, “1”, these clocks are not equal to the start clock “2” in step S33 of FIG. The waveform data is read for 4 clocks from the point S1 of the clock 2 to just before reaching the point S2 where the clock 2 is input again, that is, one bar length.
[0040]
When the point S2 is reached and the clock “2” is input, the result of determination in step S33 in FIG. 5 is that the clock “2” becomes equal to the start clock “2”. A start message is output to 50. When the tone generator 50 receives the start message, the tone generator 50 returns to reading out the first waveform data in the waveform data of the waveform data storage device 60 and starts reading again from the first waveform data.
[0041]
Similarly, one bar of waveform data from point S2 to point S3 is read out, and thereafter, unless the main controller 10 instructs to stop waveform reproduction, the waveform data in the waveform data storage device 60 is included in the waveform data. Returning to the reading of the top waveform data, the operation of starting reading from the top waveform data is continued. When a note-off message is output from the keyboard 30 to the main controller 10 by the player's key release operation after reaching point E (step S21 in FIG. 3), a stop message is output from the main controller 10 to the tone generator 50 (FIG. 3). 3 Step S23), the tone generator 50 stops reading the waveform data.
[0042]
As described above, the waveform data is read out in synchronization with the period information generated by the clock generation circuit 40, and the beginning of the waveform data is generated every time period information of the beginning of the waveform data for one measure is generated. Therefore, even if there is a slight deviation between the sample tempo and the tempo of the actual waveform data, the heads are aligned at the beginning of each measure, and the waveform data is reproduced repeatedly. It is possible to prevent the deviations from accumulating in the meantime.
[0043]
Next, a second embodiment of the waveform reproducing device of the present invention will be described. In the second embodiment, the waveform reproduction apparatus 100 shown in FIG. 1 is used, and the reading speed is set in the same manner as the waveform data reading speed setting processing procedure shown in FIG. In the second embodiment, the note status processing procedure is slightly different from the procedure shown in FIG. 3, and the waveform reproduction start processing procedure is slightly different from the procedure shown in FIG. Therefore, the sample parameter of waveform data and the waveform reproduction parameter are also slightly different.
[0044]
Table 3 is an example of sample parameters of waveform data in the second embodiment.
[0045]
[Table 3]
Figure 0004084858
[0046]
“Sample Tempo = 120” shown in the first row of Table 3 is the same as the first row in Table 1, but “Sample Length = 8” (sample length = 8) shown in the second row is This indicates that the waveform data stored in the waveform data storage device 60 has been sampled for a length of eight quarter notes, that is, two bars.
[0047]
Table 4 is an example of the waveform reproduction parameter in the second embodiment.
[0048]
[Table 4]
Figure 0004084858
[0049]
“Tempo = 120”, “Beat = 4”, “Clock = 1”, “Note Status = 0”, “StartClock = 1”, and “Read Ratio” shown in the first to sixth lines of Table 4 = 100 "is the same as in Table 2. Further, in the seventh row of Table 4, a parameter “length” such as “Length = 0” (length = 0) is set.
[0050]
Below, it demonstrates centering on these differences.
FIG. 6 is a flowchart showing a note status processing procedure in the second embodiment of the waveform reproducing apparatus of the present invention.
Comparing FIG. 6 with FIG. 3, step S41 and step S43 in FIG. 6 are exactly the same as step S21 and step S23 in FIG. 3, and step S42 is different from step S22 in FIG. That is, if the result of determination in step S41 is a note-on message (key press information), the process proceeds to step S42, the note status is set to "1" (key press state), and the above-mentioned (2) based on the clock and beat. The start clock is calculated using the equation, and then the length is initialized to “0” (step S42). This length is a parameter for reading waveform data for a plurality of measures in the second embodiment.
[0051]
Also in the second embodiment, the next start processing routine is started each time the clock generation circuit 40 outputs period information.
FIG. 7 is a flowchart showing a waveform reproduction start processing procedure in the second embodiment of the waveform reproduction apparatus of the present invention.
As shown in FIG. 7, when the start processing routine is started upon receiving the cycle information, the main controller 10 reads the cycle information output from the clock generation circuit 40 and sets it as the clock in Table 4 (step S51). Then, it is determined whether the note status at that time is “1” (key-pressed state) or “0” (key-released state) (step S52). If the result of determination in step S52 is that the note status is “0”, this start processing routine is terminated. If the note status is “1”, the process proceeds to step S53 and the length value is “0” or more. It is determined whether or not. If the length value is “0” as a result of the determination, step S54 is skipped and the process proceeds to step S55. If the length value is “1” or more as a result of the determination, the process proceeds to step S54 and the length value is changed to “ 1 "is subtracted (step S54), and the process proceeds to step S55. In step S55, it is determined whether or not the length value is “0”. If the length value is “0” as a result of the determination, the process proceeds to step S56. If the length value is not “0” as a result of the determination, the start processing routine is terminated. In step S56, the current clock is compared with the start clock (see FIG. 6) corresponding to the clock (step S56). If the result of determination in step S56 is that the clock and start clock are not equal, this start processing routine is terminated, but if the clock and start clock are equal, processing proceeds to step S57 and the sample length value in the sample parameter is set. While substituting for the length, a start message is output to the tone generator 50, and this start processing routine ends.
[0052]
In this way, the length is first initialized to “0” (step S42 in FIG. 6), and the sample length value (“8” as shown in Table 3) is set at the start of waveform data reading in the start process. ) Is substituted for the length and waveform data reading is started (step S57 in FIG. 7). Every time the clock advances, "1" is subtracted from the length value in step S54, and the clock and the start clock are not equal in step S56. During this period, the waveform data is continuously read, and when the clock and the start clock become equal, control is performed so as to return to reading the first waveform data in the waveform data.
[0053]
In the second embodiment, since the sample length value is set to “8” and the beat is set to “4”, the reading of the first waveform data is not resumed when the reading of the first measure is completed. The reading of the second measure is continued as it is, and when the reading of the second measure is finished, the process returns to reading of the top waveform data in the waveform data. In the following manner, the waveform reproduction operation for returning to reading of the top waveform data is repeated every time two bars are read out until the player performs a key release operation.
[0054]
FIG. 8 is a graph of a waveform reproduced by the second embodiment of the waveform reproducing device of the present invention. The horizontal axis of FIG. 8 is a time axis graduated in units of beats generated by the clock generation circuit 40, and the vertical axis is the output level of the analog audio signal output from the tone generator 50 via the DA conversion circuit 70. .
In FIG. 8, beat = 4 is specified as in FIG. 4, but in FIG. 8, the sample length value not shown in FIG. 4 is set to “8”. Accordingly, when the performer performs a key pressing operation at point A on the horizontal axis in FIG. 8 as in FIG. 4, reading of waveform data is started at the next clock “2” (point S1). 4 is the same as in FIG. 8, but in FIG. 4, after 4 clocks have elapsed, that is, one bar has been read, the waveform data is read back and the reading is started from the waveform data at the beginning. On the other hand, in FIG. 8, after 8 clocks have elapsed, that is, 2 bars have been read, the head waveform data is read back and reading from the head waveform data is started. In the same manner, every time two bars are read, the operation of returning to reading of the top waveform data and starting reading from the top waveform data is repeated.
[0055]
As described above, in the second embodiment, the waveform data is read out in synchronization with the period information generated by the clock generation circuit 40, and every time period head information of the waveform data for two bars is generated. Returning to the reading of the first waveform data in the waveform data, even if there is a discrepancy between the waveform playback tempo and the sample tempo, it is possible to align the heads at the beginning of the waveform data for each two measures. Therefore, as in the first embodiment, the difference between the waveform reproduction tempo and the sample tempo is prevented from gradually accumulating.
[0056]
As described above, the reading unit of the waveform data may be one bar or two bars, and may be an arbitrary plural bars.
[0057]
【The invention's effect】
As described above, according to the waveform reproduction apparatus of the present invention, waveform data (sample data) for one bar or a plurality of bars read from the storage device is repeatedly reproduced, and the waveform reproduction data is reproduced as another performance. When playing with data superimposed, it is possible to realize a waveform playback device capable of performing a superposition performance that is close to natural without accumulating the difference between the tempo of waveform playback data and the tempo of other performance data.
[Brief description of the drawings]
FIG. 1 is a block diagram of a first embodiment in which a waveform reproducing device of the present invention is applied to an electronic musical instrument.
FIG. 2 is a flowchart showing a waveform data reading speed setting processing procedure in the CPU in the first embodiment of the waveform reproducing apparatus of the present invention;
FIG. 3 is a flowchart showing a procedure of note status processing in the CPU in the first embodiment of the waveform reproducing device of the present invention;
FIG. 4 is a graph of a waveform reproduced by the first embodiment of the waveform reproducing device of the present invention.
FIG. 5 is a flowchart showing a waveform reproduction start processing procedure in the CPU in the first embodiment of the waveform reproduction apparatus of the present invention;
FIG. 6 is a flowchart showing a note status processing procedure in the second embodiment of the waveform reproducing apparatus of the present invention;
FIG. 7 is a flowchart showing a waveform reproduction start processing procedure in the second embodiment of the waveform reproduction apparatus of the present invention;
FIG. 8 is a graph of a waveform reproduced by the second embodiment of the waveform reproducing device of the present invention.
[Explanation of symbols]
10 Main controller
20 Setting controls
30 keyboard
40 Clock generation circuit
50 tone generator
60 Waveform data storage device
70 DA converter circuit
80 speakers
100 Waveform playback device

Claims (3)

波形データを記憶する波形記憶手段と、
再生テンポを設定する再生テンポ設定手段と、
前記再生テンポ設定手段により設定されたテンポに対応した周期の周期情報を生成する周期情報生成手段と、
前記波形データの再生を指示する再生指示手段と、
前記再生指示手段の指示により前記周期情報に同期して前記波形記憶手段の波形データを読み出し再生する波形読出手段とを備え、
前記波形読出手段は、前記周期情報生成手段により生成された周期情報の所定のタイミングに同期して、当該タイミングにおける前記波形データの読出状態にはよらずに、前記波形データの中の所定の読出位置に戻り、その読出位置から波形データを順次読み出し再生するものであることを特徴とする波形再生装置。
Waveform storage means for storing waveform data;
Playback tempo setting means for setting a playback tempo;
Period information generating means for generating period information of a period corresponding to the tempo set by the reproduction tempo setting means;
Reproduction instruction means for instructing reproduction of the waveform data;
Waveform reading means for reading and reproducing the waveform data of the waveform storage means in synchronization with the period information in accordance with an instruction of the reproduction instruction means,
The waveform reading means synchronizes with a predetermined timing of the period information generated by the period information generation means, and does not depend on a reading state of the waveform data at the timing, but reads a predetermined value in the waveform data. A waveform reproducing apparatus for returning to a position and sequentially reading and reproducing waveform data from the read position.
波形データを記憶する波形記憶手段と、
再生テンポを設定する再生テンポ設定手段と、
前記再生テンポ設定手段により設定されたテンポに対応した周期の周期情報を生成する周期情報生成手段と、
前記波形データの再生を指示する再生指示手段と、
前記再生指示手段の指示により前記周期情報に同期して前記波形記憶手段の波形データを読み出し再生する波形読出手段とを備え、
前記波形読出手段は、前記周期情報生成手段により生成された周期情報の所定のタイミングに同期して、当該タイミングにおいて前記波形データの読出しが終了したか否かにはよらずに、前記波形データの中の所定の読出位置に戻り、その読出位置から波形データを順次読み出し再生するものであることを特徴とする波形再生装置。
Waveform storage means for storing waveform data;
Playback tempo setting means for setting a playback tempo;
Period information generating means for generating period information of a period corresponding to the tempo set by the reproduction tempo setting means;
Reproduction instruction means for instructing reproduction of the waveform data;
Waveform reading means for reading and reproducing the waveform data of the waveform storage means in synchronization with the period information according to an instruction of the reproduction instruction means,
The waveform reading means is synchronized with a predetermined timing of the period information generated by the period information generating means, regardless of whether or not the reading of the waveform data is completed at the timing. A waveform reproduction apparatus for returning to a predetermined reading position and sequentially reading and reproducing waveform data from the reading position.
前記波形読出手段は、
前記再生テンポ設定手段により設定されたテンポに従って波形データの読出速度を制御する読出速度制御手段を備えたものであることを特徴とする請求項1記載の波形再生装置。
The waveform reading means includes
2. The waveform reproducing apparatus according to claim 1, further comprising a reading speed control means for controlling a reading speed of the waveform data in accordance with the tempo set by the reproduction tempo setting means.
JP27266496A 1996-10-15 1996-10-15 Waveform playback device Expired - Fee Related JP4084858B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27266496A JP4084858B2 (en) 1996-10-15 1996-10-15 Waveform playback device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27266496A JP4084858B2 (en) 1996-10-15 1996-10-15 Waveform playback device

Publications (3)

Publication Number Publication Date
JPH10124061A JPH10124061A (en) 1998-05-15
JPH10124061A5 JPH10124061A5 (en) 2004-10-14
JP4084858B2 true JP4084858B2 (en) 2008-04-30

Family

ID=17517074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27266496A Expired - Fee Related JP4084858B2 (en) 1996-10-15 1996-10-15 Waveform playback device

Country Status (1)

Country Link
JP (1) JP4084858B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113176A (en) * 2008-11-07 2010-05-20 Korg Inc Music data recording/reproducing device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6138330B1 (en) * 2016-11-15 2017-05-31 株式会社gloops TERMINAL DEVICE, TERMINAL DEVICE GAME EXECUTION METHOD, PROGRAM, AND PROGRAM RECORDING MEDIUM

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113176A (en) * 2008-11-07 2010-05-20 Korg Inc Music data recording/reproducing device

Also Published As

Publication number Publication date
JPH10124061A (en) 1998-05-15

Similar Documents

Publication Publication Date Title
JP6011064B2 (en) Automatic performance device and program
JP2658463B2 (en) Automatic performance device
JP2014006416A (en) Automatic performance device and program
US12223933B2 (en) Electronic musical apparatus, storage medium storing recording/reproduction program, and recording/reproduction method
JP3743280B2 (en) Recording medium playback device
JP4084858B2 (en) Waveform playback device
JP4170524B2 (en) Waveform playback device
JP2005274851A (en) Electronic music system and computer program applied to the same system
JP2970396B2 (en) Waveform processing device
JP7367835B2 (en) Recording/playback device, control method and control program for the recording/playback device, and electronic musical instrument
JP4539594B2 (en) Playback recording device
JP3903492B2 (en) Karaoke equipment
JPH11305772A (en) Electronic musical instrument
JP3214623B2 (en) Electronic music playback device
JPH08202357A (en) Electronic musical instrument
JP3804536B2 (en) Musical sound reproduction recording apparatus, recording apparatus and recording method
JP3656906B2 (en) Waveform data playback device with variable time axis
JP5548975B2 (en) Performance data generating apparatus and program
JP2004219495A (en) Electronic musical instrument
JPH10124061A5 (en)
JP2003208169A (en) Multi-media system, reproducing apparatus and reproducing/recording apparatus
JP4278733B2 (en) Waveform data performance control device
JP3770226B2 (en) Musical sound generating device and medium recording program
JP3166671B2 (en) Karaoke device and automatic performance device
JPH1097256A (en) Musical sound producing device and medium stored with program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees