JP4191348B2 - Audio waveform playback device - Google Patents
Audio waveform playback device Download PDFInfo
- Publication number
- JP4191348B2 JP4191348B2 JP37066399A JP37066399A JP4191348B2 JP 4191348 B2 JP4191348 B2 JP 4191348B2 JP 37066399 A JP37066399 A JP 37066399A JP 37066399 A JP37066399 A JP 37066399A JP 4191348 B2 JP4191348 B2 JP 4191348B2
- Authority
- JP
- Japan
- Prior art keywords
- reproduction
- mode
- waveform
- playback
- speed
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、フレーズなどのオーディオ波形をタイムストレッチしつつ再生できるオーディオ波形再生装置に関するものである。
【0002】
予めメモリに記憶しておいたオーディオ波形信号を時間軸圧縮伸長技術を利用してタイムストレッチしつつ再生する種々の波形再生装置が提案されている。具体的には、例えば特開平11−52954号公報に開示されるように、フレーズ等の一連のオ一ディオ波形信号を記憶しておき、その再生速度をピッチを変えずに速く(時間軸圧縮)あるいは遅く(時間軸伸長)して再生したり、停止したり、あるいは逆方向に再生したりできる波形再生装置が提案されている。通常、この再生速度は、ユーザが操作子で数値入力などすることで設定している。
【0003】
【発明が解決しようとする課題】
しかしながら、上記した波形再生装置ように、ユーザが再生速度を数値入力等で設定することによって、記憶されたオーディオ波形の再生を制御するやり方は、ユーザにとって感覚的に分かりづらく、必ずしも使い勝手がよいといえる方法ではなかった。
【0004】
本発明はかかる問題点に鑑みてなされたものであり、記憶されたオーディオ波形の再生位置をユーザが直接的に指定することで、オーディオ波形信号を所望の態様でタイムストレッチしつつ再生できるようにすることを目的とする。
さらに、設定した再生速度による波形の再生モードとユーザーが再生位置を直接指定する波形の再生モードの切換えがスムーズに行われるように予め定めた所望の特性に従って切換えできるようにすることを目的とする。
【0005】
【課題を解決するための手段および作用】
上述の課題を解決するために、本発明に係るオーディオ波形再生装置は、一つの形態として、オーディオ波形の波形データを記憶する記憶手段と、再生位置として指定されたオーディオ波形の時間軸上の位置に対応する波形データを再生する再生手段と、再生位置を歩進する量である再生速度を入力する再生速度入力手段と、ユーザが手動操作した動きの動き量を入力する動き量入力手段と、再生手段の再生モードを第1モードと第2モードとに切り替えるモード切替え手段と、モード切替え手段により第1モードに切り替えられた時には、再生手段が再生速度に基づき再生位置を更新しつつ波形再生をするよう制御し、第2モードに切り替えられた時には、再生速度に基づく再生位置の更新を停止して、代わりに動き量入力手段で入力した動き量に基づき再生位置を更新しつつ波形再生するよう制御する制御手段と、モード切替え手段で第1モードから第2モードへ切り替えたときの再生速度に基づく再生位置の更新を、該再生位置が所定の位置に到着したら瞬間変化ではなく時間経過とともに変化する所定の変化特性で停止するように制御する停止特性制御手段とを備えている。上記の動き量入力手段としては、ユーザがプレート上で指などを擦り動かした時の移動距離を動き量として入力するもの、直線型スライド操作子のノブを前後に動かした時の移動距離を動き量として入力するもの、あるいはホイールやレバーなどの回転量を動き量として入力するものなどが利用可能である。また、上記のモード切替え手段としては、ユーザがプレートを指などでタッチしていることを検出してモード切替えを行うものや、スイッチ類などでモード切替えを指示するものなどが利用可能である。また、上記の停止特性制御手段の変化特性としては、例えば所定の指数関数曲線あるいは一次関数特性などで再生速度が0に収束していくような変化特性などが利用可能である。同様に、上記の復帰特性制御手段の変化特性としては、例えば所定の指数関数曲線あるいは一次関数特性などで再生速度が元の状態に収束していくような変化特性などが利用可能である。このオーディオ波形再生装置では、モード切替え手段により第1モードに切り替えられている時には、再生手段は、記憶手段に記憶されているオーディオ波形について、再生速度入力手段で入力した再生速度に基づき再生位置を更新しつつ、その再生位置に対応する波形データを再生する。一方、モード切替え手段により第1モードから第2モードに切り替えられた時には、制御手段により、再生速度に基づく再生位置の更新を停止して、代わりに動き量入力手段で入力した動き量に基づき再生位置を更新しつつ波形再生するよう制御する。その際に、停止特性制御手段により、再生速度に基づく再生位置の更新を、瞬間変化ではなく時間経過とともに変化する所定の変化特性で停止するように制御する。これにより、波形再生の再生モードの切替えを、所定の特性に基づいてスムーズに行うことができる。
【0006】
上述のオーディオ波形再生装置は、上述の停止特性制御手段と共に、あるいはそれに代えて、モード切替え手段で第2モードから第1モードへ切り替えたときの再生位置の更新を、瞬間変化ではなく時間経過とともに変化する所定の変化特性で再生速度に基づく元の更新態様に復帰するように制御する復帰特性制御手段を備えるように構成してもよい。
モード切替え手段により第2モードから第1モードに切り替えられた時には、制御手段により、動き量入力手段で入力した動き量に基づき再生位置を更新から、再生速度に基づく再生位置の更新に切り替えるが、この際、復帰特性制御手段により、再生位置の更新を、瞬間変化ではなく時間経過とともに変化する所定の変化特性で再生速度に基づく元の更新態様に復帰するように制御する。
これにより、波形再生の再生モードの切替えを、所定の特性に基づいてスムーズに行うことができる。
【0007】
また、上述のオーディオ波形再生装置は、オーディオ波形の時間軸上の任意の箇所に1以上の停止位置を予め設定しておき、モード切替え手段で第1モードから第2モードに切り替えた時の再生速度に基づく再生位置の更新の停止を、停止位置に基づいて(例えば再生位置が停止位置に達するなどしたら)行うように構成してもよい。この停止位置としては、例えばオーディオ波形の再生を動き量に応じて行うようにした場合に特殊な効果が演出できると期待できるような箇所や、再生位置を停止等した場合に不自然さがないような箇所などを予め選定して設定しておくとよい。これにより、再生位置の更新を再生速度から動き量に基づいて行うようにする切替えを、演出効果が高いと考えられるオーディオ波形上の位置や、聴感上、不自然に感じない位置で行うことが可能となる。
【0008】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図1には本発明の一実施例としてのオーディオ波形再生装置のハードウェア構成が示される。図1において、CPU1は装置全体の制御を司る中央処理装置であって、ROM2に記憶されたプログラムに従って動作して、操作子群4の各操作子の操作状態を検出したり、DSP7との間で各種情報をやり取りして制御したりする。
【0009】
ROM2は、リード・オンリー・メモリであって、CPU1、DSP7の処理ブログラムが記憶されている。なお、DSP7のプログラムはCPU1を介してDSP7に転送される。また、RAM3は、ランダム・アクセス・メモリであって、CPU1の処理に使用される作業用のワークメモリなどとして用いられる。
【0010】
波形メモリ8は、本実施例装置で再生するオーディオ波形信号の波形データを記憶しているメモリであり、この波形データをDSP7に供給する。この波形データのデータ構成を図2に示す。図示するように、オーディオ波形信号の波形データは、波形データの本体となるPCM(パスル符号変調)波形データと、このPCM波形データが格納されているアドレス範囲などを示す波形関連データとから構成されている。
【0011】
PCM波形データは、例えば図4に示すように、一連のオーディオ波形信号(例えば1フレーズ分のオーディオ波形信号)を所定のサンプリング周波数Fs にて周期的にサンプリングした振幅値データ(PCMデータ)の時系列からなり、これらの振幅値データの時系列は波形メモリの連続アドレス領域にシーケンシャルなアドレスで格納される。
【0012】
また、上記の波形関連データとしては、一纏まり分(例えば1フレーズ分)のPCM波形データが記憶されているアドレス領域の範囲を示すための情報として、オーディオ波形の先頭の振幅値データが格納されている先頭アドレスwavestart と最後尾の振幅値データが格納されている最終アドレスwaveend があり、また、その他の関連情報として、サンプリングしたオーディオ波形の元々のピッチ(オリジナル・ピッチ)や、停止マークmark(i) がある。
【0013】
この停止マークmark(i) は、詳しくは後述するが、本発明によりオーディオ波形の再生位置を停止する際に、オーディオ波形上のより高い演出効果が得られる箇所(例えばタイムストレッチすると面白い音の部分、あるいは音の切れ目など)などを予めアドレス値にて指定したものであり、オーディオ波形の時間軸に沿う複数の位置に停止マークmark(i) が設定されており、それら各位置はパラメータiにて指定される。このパラメータiは、0≦i≦nであり、nはオーディオ波形中に設定する停止マークの総数である。
【0014】
操作子群4は、時間圧伸量設定用の操作子を含む操作子群である。この時間圧伸量設定操作子はオーディオ波形信号を再生するときの時間軸上の時間圧縮/伸長量(以下、時間圧伸量と称する)を設定する操作子であり、この時間圧伸量設定操作子の操作量に応じて時間圧伸量としての再生速度tcomp を設定する。
【0015】
この再生速度tcomp は、オーディオ波形データ中の再生せんとする位置(再生位置sphase)の値を歩進するための歩進値であり、再生位置sphaseはアドレス値で表されるから、この再生速度tcomp は再生位置sphaseの値を更新していくアドレスの数となる。
【0016】
この再生速度tcomp の値に応じて、以下のような態様でオーディオ波形が再生される。
▲1▼再生速度tcomp >lのときは、PCM波形データの時系列が時間圧縮されて生成されるので、オリジナル波形よりも速い速度でオーディオ波形信号が再生される.
再生速度tcomp <lのときは、PCM波形データの時系列が時間伸長されて生成されるので、オリジナル波形よりも遅い速度でオーディオ波形信号が再生される.
再生速度tcomp =lのときは、オリジナルのオーディオ波形を時間軸圧縮伸長せずに元の速度で再生する。
なお、再生速度tcomp は初期設定時は1であり、また、常に、tcomp >0である。
【0017】
鍵盤5は、この実施例装置を電子楽器として機能させた時には、通常の楽音入力用の鍵盤として用いる。これと共に、本発明では、押鍵/離鍵によってオーディオ波形信号の再生開始/再生終了を指示すると共に、その押鍵した鍵により再生するオーディオ波形(楽音)の音高を指示するために用いる。この音高情報は、具体的には予め定められた基準音高(例えばC4)から当該押鍵された鍵の音高までの音程に基づくピッチシフト量pitch である。なお、複数の鍵が押鍵されているときには、それらの複数の押鍵のうちの最も高い音高に基づいてピッチシフト量pitch を設定する。
【0018】
リボンコントローラ6は、本発明による位置情報で再生位置を直接指定する再生モードの時に、オーディオ波形を再生する位置の情報を入力するための操作子であり、細長いプレートを有した機器からなり、このプレート上を指で左右に擦り動かすことで、そのタッチして動かした移動量に応じた位置情報(移動量shift )を生成する。この移動量shift は一次元情報(すなわちX軸方向のみの位置情報)であり、リボンコントローラ6のプレート(以下、単にリボンコントローラ6という)を指でタッチすると、タッチセンサによりそのタッチ「ON」が検出され、リボンコントローラ6から指を離せばそのタッチ「OFF」が検出される。移動量shift は、上記のタッチ「ON」した箇所を原点(0点)として、そのタッチ箇所から左側に向けて擦り動かせばその動いた距離に応じたマイナスの値となり、右側に向けて擦り動かせばその動いた距離に応じたプラスの値となる。
【0019】
DSP7は、波形メモリ8に記憶されている波形データを再生するための演算処理を行うディジタル・シグナル・プロセッサである。図3にその概略的な構成が機能ブロック図の形態で示される。図示するように、CPU1側からの各種信号を格納するDSPレジスタ群71と、それらのレジスタの各情報に基づいて位置情報の算出を行う位置情報算出手段72と、位置情報算出手段72で算出した位置情報(再生位置sphase)に基づいて波形データの再生演算を行って波形再生をする再生波形演算手段73などを含み構成される。ここで、DSPレジスタ群71に入力される各種情報としては、ピッチシフト量pitch 、移動量shift 、再生速度tcomp 、発音フラグgate、タッチフラグr.touch などがあるが、これについての詳細は後述する。
【0020】
D/A変換器9は、DSP7で算出されたディスク値の再生波形データをアナログ信号に変換する回路である。再生されたアナログ・オーディオ波形信号は、図示しない増幅器で増幅されてからスピーカ10から放音される。
【0021】
以下、この実施例装置の動作を説明する。
まず、この実施例装置の動作を概略的に説明する。図4には、この実施例装置で再生するオーディオ波形データ(波形メモリ8に記憶されたPCM波形データ)と再生位置sphaseとの関係が示される。図中、縦方向に振幅値が取られ、横方向にオーディオ波形データの時間軸が取られている。この時間軸は波形の再生位置sphaseで表され、この再生位置sphaseは振幅値データを格納するアドレスで表される。従って、オーディオ波形の先頭に相当する再生位置sphaseは開始アドレスwavestart となり、最後尾に相当する再生位置sphaseは最終アドレスwaveend となる。
【0022】
この実施例装置では、現在の再生位置sphaseに対応する波形区間を適宜繰り返しつつ再生する。この波形区間は一連のオーディオ波形中の1ないし2周期分程度の波形の区間からなる。現在の再生位置が図中を右側に向けて順次に移動すれば、オーディオ波形を通常の時間順に再生することになるが、反対に、この再生位置を左側に向けて順次に移動すれば、オーディオ波形を時間を逆戻りさせつつ再生することになる。但し、再生している各波形区間の中では再生方向は常に時間軸の順方向である。この再生速度をオリジナル波形のものよりも遅くすると、上記波形区間を適宜に繰り返して再生することになり、また再生速度をオリジナル波形のものよりも速くすると、波形区間を適宜に飛び越しつつ再生することになる。また、現在の再生位置が1箇所で停止されると、それに対応する同じ波形区間を繰り返し続けて再生することになり、時間的に進みも戻りもしない状態となる。
【0023】
このような再生方法によれば、ピッチを変化させずに再生速度(時間圧縮伸長量)を変えて波形再生を行うことができる。
【0024】
図5はリボンコントローラ6のタッチON/OFF操作による再生速度の変化と、その変化に応じた現在再生している波形データの位置情報(再生位置sphase)の変化とを例で示した図である。この例は、ユーザがリボンコントローラ6を指でタッチし、その後は指を左右に擦り動かすことなく止めておき、しばらくしてから指を離した場合のものである。
【0025】
図5中の(1)は、波形データの再生位置sphaseと時間との関係を示し、また(2)は波形データを再生する現在の再生速度(カレント再生速度w.tcomp という)と時間との関係を示している。ここで、再生速度tcomp は時間圧伸量設定操作子で設定する再生速度の値である。この再生速度tcomp はタイムストレッチを行っていないオリジナル波形では再生速度tcomp =1であり、この図5の例では再生速度をこのオリジナル波形のtcomp =1として示している。カレント再生速度w.tcomp は、通常の再生時には
カレント再生速度w.tcomp =再生速度tcomp
となるが、本発明による位置指定で波形再生を行う時には、後述するように、カレント再生速度w.tcomp は「0」に向かって変化して再生速度tcomp と一致しなくなる。
【0026】
図5において、ユーザがリボンコントローラ6を指でタッチすると、タッチセンサによりタッチ「ON」が検出される。このタッチ「ON」をした時のオーディオ波形の再生位置sphaseから、その再生位置sphaseより時間的に後ろにある最初の停止マークmark(i) の位置までは、通常どうりの波形再生(この例ではカレント再生速度w.tcomp =1の波形再生)が行われる。
【0027】
再生位置sphaseが停止マークmark(i) の位置まで来ると、この停止マークmark(i) の再生位置sphaseでカレント再生速度w.tcomp が「0」に向けて減衰を開始する。この時の減衰特性は「1」から瞬間的に「0」に変化するのではなく、指数関数曲線的に減衰していく特性曲線となるようにする。カレント再生速度w.tcomp が「0」に減衰後は、再生位置sphaseは更新されないため変化しなくなり、再生位置対時間の特性は図5(1)に示すように水平線となる。この水平線の区間では、オーディオ波形はある一点(一つの同じ波形区間)が繰り返して再生され続けていて、時間的に進みも戻りもしない状態となる。
【0028】
ユーザがリボンコントローラ6から指を離すと、タッチセンサによりタッチ「OFF」が検出され、これによりカレント再生速度w.tcomp は図5(2)に示すように指数関数曲線的に通常時(オリジナル)の再生速度tcomp である「1」に復帰していく。このとき、再生位置sphaseも、図5(1)に示すように、時間の経過と共に再生速度tcompaに向かって変化していく特性〔図5(1)中の実線〕を描く。なお、この通常に戻った以降は、カレント再生速度w.tcomp は再生速度tcomp となる。
【0029】
次に、図6は、図5同様に、リボンコントローラ6の操作によるカレント再生速度w.tcomp の変化と、その変化に応じた再生位置sphaseの変化の例を示した図であるが、この図6の例は、ユーザは、リボンコントローラ6を指でタッチし、少し間をおいてから指を右側に擦り動かし、次いで折り返して左側に擦り動かし、そして最初のタッチ位置に戻らないうちに指を離す動作をした場合のものである。
【0030】
ユーザがリボンコントローラ6を指でタッチすることによりタッチ「ON」となり、その後の最初の停止マークmark(i) の位置から再生速度tcomp が指数関数曲線的な減衰特性で「0」に減衰していってオーディオ波形中のある一点を繰り返して再生し続けることは上述の図5と同じである。ここで、ユーザがリボンコントローラ6上で指を右側に擦り動かすと、その擦り動かした距離に応じた大きさだけ再生位置sphaseが値を増大していき、その移動中においては、リボンコントローラ6上の擦り動かしている位置に対応した再生位置sphaseの波形区間が再生される。また、指を左側に向けて擦り動かすようにすると、同じくその擦り動かしているリボンコントローラ6上の位置に対応した再生位置sphaseの波形区間が再生されるが、この場合には、オーディオ波形の時間軸上を逆戻りさせつつ各波形区間を取り出して再生するようになる。これにより、特殊な効果を演出しつつオーディオ波形を再生することができる。なお、各波形区間内では、時間軸を順方向にのみ波形再生している。
【0031】
ユーザがリボンコントローラ6から指を離せば、上述の図5の例と同様に、タッチ「OFF」が検出されて、カレント再生速度w.tcomp は図6(2)に示すように指数関数曲線的な特性曲線で、操作子設定による再生速度tcomp (この例ではオリジナル波形に相当する再生速度tcomp =1)に復帰していく。
【0032】
以下、上述の動作態様を実現するための実施例装置の動作の詳細を図7〜図14に示すフローチャートを参照つつ説明する。
【0033】
図7はCPU1のメイン処理を表わしたフローチャートである。実施例装置が電源ONされると、このCPUメイン処理が起動されて、RAM3やDSP7の初期設定を行い(ステップA)、以降は電源ONの期間中、ステップB,C,DをループしつつこのCPUメイン処理を繰り返す。なお、上記の初期設定としては、図3に示すDSP7内のレジスタ群71をリセットしたり、その他の各種フラグやレジスタをリセットする処理が行われる。
【0034】
初期設定が終わると、まず操作子群4の操作の検出処理(図8参照)を行い(ステップB)、次いで鍵盤5の操作検出処理(図9参照)を行い(ステップC)、さらにリボンコントローラ6の操作検出処理(図10参照)を行い(ステップE)、これをループして繰り返し続ける。
【0035】
図8は上記の操作子群4の操作検出処理ルーチンを表わしたフローチャートである。なお、この操作検出処理では、時間圧伸量設定操作子の操作を検出する処理のみを示しており、他の操作子は本発明とは直接関係ないので省略している。
【0036】
CPUメイン処理にてこの操作子群6の操作検出処理ルーチンが起動されると、操作子群6に何らかの操作があったかどうかを判定する(ステップB1)。操作子群4に操作がなかった時には、CPUメイン処理にリターンする。いずれかの操作子の操作があったことが検出されたら、その操作があった操作子が時間圧伸量設定操作子か否か、すなわち時間圧伸量の変更があったか否かを判断する(ステップB2)。時間圧伸量設定操作子により時間圧伸量の変更があったと判断されたら、その時間圧伸量設定操作子の操作量に基づいて再生速度tcomp の値を変更する(ステップB3)。なお、この再生速度tcomp の値に基づく再生態様は前述したとおりである。この後、CPUメイン処理にリターンする。
【0037】
図9は上記の鍵盤5の操作検出処理ルーチンを表わしたフローチャートである。この実施例装置では、鍵盤5のいずれかの鍵を最初に押鍵したタイミングでオーディオ波形信号の再生を開始し、押鍵された鍵がすべて離鍵された時点でオーディオ波形信号の再生を終了する。これに応じて、オーディオ波形信号再生中の発音状態か否かを示す発音フラグgateを備えており、この発音フラグgateが「0」であればオーディオ波形信号の発音をしていない状態を表し、「1」であればオーディオ波形信号を発音中である状態を表す。
【0038】
CPUメイン処理にてこの鍵盤5の操作検出処理ルーチンが起動されると、鍵盤5のいずれかの鍵の鍵操作(押鍵または離鍵の操作)があったかを判定する(ステップC1)。鍵操作がなければ、速やかにCPUメイン処理にリターンする。鍵操作があったならば、その鍵操作が押鍵の操作であったか否かを判定する(ステップC2)。
【0039】
押鍵操作であった場合には、以下の押鍵処理を行う。まず、その押鍵が新規の押鍵の操作であったか、つまり鍵盤5の全鍵が押されていない状態からいずれかの鍵を初めて押鍵した操作であったか否かを判定する(ステップC5)。新規の押鍵であれば、上述したように、この最初に押鍵したタイミングでオーディオ波形信号の再生を開始するので、発音フラグgateに発音中の状態を表す「1」を設定する(ステップC6)。
【0040】
そして、押鍵した鍵の音高に基づいた音高情報をピッチシフト量pitch としてレジスタに設定して(ステップC7)、CPUメイン処理にリターンする。前述したように、このピッチシフト量pitch に設定する音高情報は、具体的には予め定められた基準音高(例えばC4)から押鍵された鍵の音高までの音程に基づくピッチシフト量である。この音高情報の設定にあたっては、押鍵されている鍵が一つの場合はその押鍵されている鍵の音高に基づく音高情報をピッチシフト量pitch に設定するが、押鍵されている鍵が複数あった場合にはそのうちの最高の高音に基づいて音高情報を設定する。これは、本実施例装置は発音できるボイスが1ボイスのみであるので、複数の鍵が押された場合には、高音側優先でボイスを発音するよう決められているためである。
【0041】
一方、鍵操作が押鍵の操作でなかった場合には(ステップC2)、その鍵操作は離鍵の操作と判定され、その場合には、押鍵されていた鍵がすべて離鍵されたものであるか否かを判定する(ステップC3)。この全鍵の離鍵であった場合には、オーディオ波形信号の再生を停止することになるので、発音フラグgateに発音していない状態であることを示す「0」を設定し(ステップC4)、CPUメイン処理にリターンする。また、全鍵の離鍵でない場合には(ステップC3)、なんら特別に処理が行われるものでないから、そのまま何もせずにCPUメイン処理にリターンする。
【0042】
図10は上記のリボンコントローラ6の操作検出処理ルーチンを表わしたフローチャートである。前述したように、この実施例装置では、ユーザがリボンコントローラ6に指を触れた時点で、リボンコントローラ6のタッチセンサがタッチ「ON」になり、オーディオ波形信号の再生位置の再生速度tcomp に基づく変化(進行)を前記所定の減衰特性に従って停止する。リボンコントローラ6から指を離すと、リボンコントローラ6のタッチセンサがタッチ「OFF」になり、停止していたオーディオ波形信号の再生位置の再生速度tcomp に基づく変化(進行)を所定の復帰特性に従って元に戻して波形再生をする。この制御を行うため、タッチフラグr.touch を用意し、タッチセンサがタッチ「OFF」の時にはタッチフラグr.touch に「0」を、またタッチ「ON」の時には「1」を設定するようにしている。
なお、このタッチフラグr.touch が「0」の時の再生モードが本発明の第1モードに、また「1」の時の再生モードが本発明の第2モードに相当することになる。
【0043】
CPUメイン処理にて上述のリボンコントローラ6の操作検出処理ルーチンが起動されると、まず、リボンコントローラ6を指でタッチする操作(ON/OFF操作)があったか否かを判定する(ステップD1)。タッチ操作がなければ、そのまま本ルーチンを終了してCPUメイン処理にリターンする。タッチ操作があった場合には、そのタッチ操作は指でリボンコントローラ6を触れた操作(タッチON操作)であるか、あるいは指を離した操作(タッチOFF操作)であるかを判定する(ステップD2)。
【0044】
指でリボンコントローラ6を触れるタッチON操作であった場合には、タッチフラグr.touch に「1」を設定し(ステップD3)、次いで、リボンコントローラ6の操作量(指を擦り動かした移動量)を移動量shift としてレジスタに設定する。前述したように、この移動量shift は、初めにプレートを触れた位置を原点(0点)とし、この原点から右側に擦り動かせばその距離(原点からの距離)に応じた正の値となり、原点から左側に擦り動かせばその距離(原点からの距離)に応じた負の値となる。この移動量shift に従って、オーディオ波形データを再生する位置を制御することになる。
【0045】
タッチ操作が指をリボンコントローラ6から離すタッチOFF操作であった場合には(ステップD2)、リボンコントローラ6がタッチされていない状態であることを表す「0」をタッチフラグr.touch に設定する(ステップD5)。さらに、このタッチ「OFF」の場合には、リボンコントローラ6の移動量shift は意味がないので、移動量shift を「0」にリセットし(ステップD6)、このルーチンを終了してCPUメイン処理にリターンする。
【0046】
図11はDSP7のメイン処理を示すフローチャートである。DSP7は、図3に示すように、CPU1から各種情報(ピッチシフト量pitch 、移動量shift 、再生速度tcomp 、発音フラグgate、タッチフラグr.touch など)を受け渡され、これらの情報をDSPレジスタ群71に記憶し、これらの情報に基づいて位置情報算出手段72でオーディオ波形信号の再生位置sphaseを算出し、この算出した再生位置sphaseやピッチシフト量pitch 等に基づいて再生波形演算手段73にて波形メモリ8からオーディオ波形データを読み出しつつその再生位置やピッチ、時間圧伸量(再生速度)などを制御して波形再生を行う。そして、このDSPメイン処理は、サンプリング周期毎に発生する割込みにて周期的に起動され、実行されて波形再生を行う。
【0047】
サンプリング周期で割込みがかけられると、図11のDSPメイン処理が起動され、まず、位置情報発生処理ルーチンが実行される(ステップE)。この位置情報発生処理ルーチンは、図3の機能ブロック構成の位置情報算出手段72に相当するものであり、波形メモリ8に記憶されている波形データについて、再生せんとする時間軸上の位置情報(再生位置sphase)を逐次に発生する処理である。その詳細動作は後述する。
【0048】
次いで、この位置情報発生処理ルーチンで再生された再生位置sphaseに基づいて、再生波形演算処理ルーチンが実行される(ステップF)。この再生波形演算処理ルーチンは図3の機能ブロック構成の再生波形演算手段73に相当するものであり、オーディオ波形データの時間軸上における再生位置sphaseによって示される位置の波形区間を、外部から指示された発音開始/終了情報(発音フラグgate)と音高情報(ピッチシフト量pitch )に基づいて再生した再生波形データを生成する処理である。このような波形再生方法は、例えば特開平11−52954号公報に開示されているように一般的な公知技術であるので、ここでは詳細な説明は省略している。
【0049】
図12〜図14は、上記の位置情報発生処理ルーチン0の処理手順を表わしたフローチャートである。
【0050】
DSPメイン処理にてこの位置情報発生処理ルーチンが起動されると、まず発音フラグgateの状態を判定する(ステップE1)。発音フラグgateは発音/無発音の状態を示すフラグであり、「0」ならば発音していない状態であり、その場合には直ちにこのルーチンを終了して、DSPメイン処理にリターンする。
【0051】
一方、発音フラグgateが「1」ならば、現在、オーディオ波形信号の発音が行われている状態であるので、次には、現時点が発音フラグgateの立上がり、つまりオーディオ波形信号の発音が開始された時点かどうかを検出する(ステップE2)。開始時点であれば、オーディオ波形信号を再生するための初期準備を行う(ステップE3、E4)。すなわち、波形メモリ8に記憶している波形データ(PCM振幅値データ)を再生する時間軸上の位置(アドレス)を表わす再生位置sphaseを、波形の先頭位置である先頭アドレスwavestart に初期化する(ステップE3)。次いで、DSP7の演算で使用される現在の再生速度(すなわちカレント再生速度w.tcomp )を時間圧伸量設定操作子で設定された再生速度tcomp に初期化する(ステップE4)。
【0052】
この処理が終了した後、あるいは既にオーディオ波形信号の再生が行われている途中である場合には(ステップE2)、タッチフラグr.touch の状態を判定する(ステップE5)。タッチフラグr.touch が「1」、すなわちリボンコントローラ6がタッチされている状態を表わしていれば、再生せんとする波形データの時間軸上の位置を表わす再生位置sphaseが、その再生位置sphaseより時間的に後ろで最初にある停止マークmark(i) に到達したか否かを判定する(ステップE8)。
【0053】
判定結果が「肯定」、すなわち、
再生位置sphase≧停止マークmark(i)
であれば、減衰フラグtts を「1」に設定する(ステップE9)。この減衰フラグtts の「1」への変化は、カレント再生速度w.tcomp を目標値offset(本実施例では減衰時に「0」あるいは復帰時に「1」が設定される)に向かって減衰させることを指示するものである。よって、減衰フラグtts がカレント再生速度w.tcomp の減衰を示す「1」であることを条件にして(ステップE10)、目標値offsetに「0」を設定する。これにより、停止マークmark(i) 以降はカレント再生速度w.tcomp は「0」に向かって減衰し、これにより時間圧伸量設定操作子で設定した値(再生速度tcomp )に基づく再生位置sphaseの変化(進行)は停止する。
そして、この場合には、リボンコントローラ6の操作で変化する再生位置sphaseに基づいて、その再生位置sphaseに対応するオーディオ波形信号の波形区間が逐次に波形再生されることになる。
【0054】
ステップE8の判定結果が「否定」、すなわち、
再生位置sphase<停止マークmark(i)
であれば、現在の再生位置sphaseはまだ進行方向最初の停止マークmark(i) にまで達していないので、通常どおりの波形再生を続けることになり、この場合には減衰フラグtts の設定は行わない。
【0055】
一方、ステップE5の判定結果が、タッチフラグr.touch が「0」すなわちリボンコントローラ6から指を離す操作(タッチOFF)をしたことを示している場合には、減衰フラグtts を「0」に設定する(ステップE6)。この減衰フラグtts の「0」への変化は、減衰させたカレント再生速度w.tcomp を元の値(時間圧伸量設定操作子で設定した再生速度tcomp )に復帰させる指示であり、よってその復帰先の値である目標値offsetに、時間圧伸量設定操作子で設定した再生速度である再生速度tcomp を設定する(ステップE7)。これにより、これ以降は、サンプリング周期毎に、カレント再生速度w.tcomp は再生速度tcomp に向かって指数関数曲線的に復帰していき、再生速度tcomp に到達後は通常どおりの波形再生が行われるようになる。
【0056】
次に続くステップE12では、タッチ「ON」によるカレント再生速度w.tcomp の減衰特性、タッチOFF操作によるカレント再生速度w.tcomp の復帰特性を決めるための、カレント再生速度w.tcomp の計算を次の計算式、
w.tcomp ←w.tcomp +k×(offset−w.tcomp )
(但し、kは任意の係数)
に従って演算することにより、現在のカレント再生速度w.tcomp をサンプリング周期毎に更新する。この更新式は、図5および図6に示すように、停止マークmark(i) の時間位置からカレント再生速度w.tcomp を0に向けて指数関数的曲線で滅衰させたり、あるいはリボンコントローラ6のタッチOFF操作でカレント再生速度w.tcomp を指数関数的曲線で所定の値(再生速度tcomp )に戻す振る舞いをさせるものである。
【0057】
この更新式は、タッチON操作によるカレント再生速度の減衰時であれば、目標値offsetが「0」になり、よって、現在のカレント再生速度w.tcomp は、サンプリング周期毎に、k×w.tcomp ずつ減少していく減衰特性(すなわち指数関数曲線的な特性)を描くことになる。また、タッチOFF操作によるカレント再生速度の復帰時であれば、目標値offsetは再生速度tcomp (例えば「1」)となり、よって、現在のカレント再生速度w.tcomp は、サンプリング周期毎に、k×(1−w.tcomp )ずつ増加していく復帰特性(すなわち指数関数曲線的な特性)を描くことになる。
【0058】
このカレント再生速度w.tcomp の更新ステップE12に続くステップE13では、カレント再生速度w.tcomp が再生速度tcomp に一致しているか、すなわち、「w.tcomp =tcomp 」かを判定する。もし、一致していなければ、カレント再生速度w.tcomp は現在「0」であるか変化中であり、一致していれば、減衰開始前(つまり停止マークmark(i) 以前)または元の値に復帰済である。
【0059】
前者の一致していない場合には、タッチフラグr.touch が「1」でかつカレント再生速度w.tcomp が「0」近傍(w.tcomp ≒0)かを判定し、判定結果が「肯定」であれば、カレント再生速度w.tcomp の減衰は十分に「0」に近づいたので「0」と見なし、カレント再生速度w.tcomp を強制的に「0」に設定する(ステップE15)。
【0060】
カレント再生速度w.tcomp が「0」となった後は、操作子で設定した再生速度による波形の再生モードからユーサーがリボンコントローラ6で再生位置を直接指定する波形の再生モードに切り替わる。これにより、波形再生は時間圧伸量設定操作子で設定した値(再生速度tcomp )に基づいては行われず、代わりに、リボンコントローラ6を指で左右に擦り動かした移動量に基づいて波形再生位置を決めつつ行われるようになる。
【0061】
すなわち、現在の再生位置sphaseを次の更新式に従って更新する(ステップE16)。
sphase=sphase+a×shift
(但し、a は任意の係数)
つまり、リボンコントローラ6の操作量に基づく移動量shift に所定の係数aを乗じたものを、現在再生している波形データの時間軸上の位置を表わす再生位置sphaseに加算し、それを新たな再生位置sphaseとする。したがってリボンコントローラ6で変化させられる移動量shift の値に応じて波形の再生位置を制御することができる。なお、上述の更新式からも分かるように、係数aはいわばリボンコントローラ6の操作感度に相当するものとなる。
【0062】
ステップE14の判定結果が「否定」であれば、次には、タッチフラグr.touch が「0」であり、かつ現在のカレント再生速度w.tcomp が再生位置sphase近傍の値であるかを判定する(ステップE17)。これは、タッチ「OFF」操作があったことでカレント再生速度w.tcomp が「0」から再生速度tcomp 近傍の値にまで復帰したかを判定するもので、判定結果が「肯定」であれば、現在のカレント再生速度w.tcomp を強制的に、時間圧伸量設定操作子で設定された再生速度tcomp の値に設定し(ステップE18)、再生速度「0」の状態から完全に元に復帰した状態にする。
【0063】
次いで、再生位置sphaseの更新を次の更新式に従って行う。
sphase←sphase+w.tcomp
この更新式は、現在再生している波形データの時間軸上の位置を表わす再生位置sphaseに、現在のカレント再生速度w.tcomp を加算して新たな再生位置sphaseとするもので、この新たに更新した再生位置sphaseに基づいて波形再生が行われる。
【0064】
そして、この新たに更新した再生位置sphaseが、現在の停止マークmark(i) の位置を超えたか否かを判定し、超えていたら、現在の停止マークmark(i) を更に後ろにある停止マークmark(i+1) に置き換えることで、新たな停止マークに更新すべく、次式
i←i+1
(但し、0≦i≦nであり、nは停止マークの総数で、iの初期値は0)
に従って更新処理をする。
【0065】
この後、再生位置sphaseがオーディオ波形の先頭の開始アドレスwavestart よりも前に戻ったり、最後尾の最終アドレスwaveend よりも更に後ろに進んだりしないように、次のステップE22〜E25で再生位置sphaseを、オーディオ波形データのアドレス範囲内に限定させる処理を行う。
【0066】
すなわち、現在再生している波形データの時間軸上の位置を表わす再生位置sphaseが先頭アドレスwavestart よりも小さいか否か判定し(ステップE22)、もし小さくなったら、現在の再生位置sphaseとして波形の先頭アドレスwavestart を設定し(ステップE23)、再生位置sphaseを先頭アドレスwavestart に固定してそれよりも小さくならないようにする。
【0067】
また、現在再生している波形データの時間軸上の位置を表わす再生位置sphaseが最終アドレスwaveend より大きくなったか否かを判定し(ステップE24)、もし大きくなったら、現在の再生位置sphaseとして波形の最終アドレスwaveend を設定し(ステップE25)、再生位置sphaseを最終アドレスwaveend に固定してそれよりも大きくならないようにする。
【0068】
上記の制限処理を行ったら、あるいは現在の再生位置sphaseがオーディオ波形データのアドレス範囲内にある時には、この位置情報発生処理ルーチンを終了してDSPメイン処理ルーチンにリターンする。
【0069】
本発明の実施にあたっては、種々の変形形態が可能である。例えば上述の実施例では、リボンコントローラのON/OFF操作で、再生速度を
カレント再生速度w.tcomp ←現在のカレント再生速度w.tcomp
十k×〔目標再生速度Offset−現在のカレント再生速度w.tcomp 〕
という特性にしたがって制御しているが、特性はこれに限られるものではなく、例えば1次関数曲線でそれぞれ目標再生速度(Offset) に変化していくものなどであってもよく、要は瞬間変化ではなく時間経過とともに変化する変化特性で変化することで、再生モードの切替時にユーザに違和感を与えないものであればよい。
【0070】
また、上述の実施例では、再生する波形位置を位置情報により直接指定する操作子としてリボンコントローラを挙げているが、本発明はこれに限られるものではなく、例えば、円盤または円状の操作子を回転させることによってその回転量に基づいて再生する波形位置を指定するようなものであってもよい。例えばターンテーブルに回転位置を検出するセンサを設けたものやロータリーエンコーダなどのようなものなどが考えられる。あるいは、直線形スライド抵抗操作子やいわゆるホイール操作子などでその動かした動き量に応じて再生する波形位置を指定するものであってもよい。または同心円上に配置された操作子を操作することによって再生する波形位置を指定してもよい。要は、ユーザが手動操作して動かした動き量を位置情報として発生できる操作子であればよい。
【0071】
また、上述の実施例では、リボンコントローラのタッチセンサによりタッチ「ON」、タッチ「OFF」を検出して再生モードの切替えを行っているが、本発明はこれに限られるものではなく、例えばリボンコントローラのタッチセンサの代わりに、ペダルのON/OFF操作などで再生モードの切替えを行ってもよい。あるいはジョイステイックのような操作子でもよく、このジョイスティックを動かした動き量で位置情報を入力することもできる。
【0072】
以上の実施例の説明では、本発明をオーディオ波形再生装置という一つの用途からなるハードウェア装置に適用して実現した場合について述べたが、本発明はこれに限られるものではなく、例えばパーソナルコンピュータに前記した各処理ルーチンを含む電子楽器などのプログラムをインストールしてすることでも実現できる。この場合、かかるプログラムをCD−ROMやフロッピィディスクなどの各種記録媒体(コンピュータを前記各機能実現手段として機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体)に格納して市場に流通することができる。
【0073】
【発明の効果】
以上に説明したように、本発明によれば、記憶されたオーディオ波形の再生位置をユーザが直接的に指定することで、オーディオ波形信号を所望の態様でタイムストレッチしつつ再生でき、しかも、予め定めた所望の特性に従って切替えできるようにしているので、操作子設定した再生速度による波形の再生モードとユーザが再生位置を直接指定する波形の再生モードとの切換えがスムーズに行われるようになる。
【図面の簡単な説明】
【図1】本発明に係る一実施例としてのオーディオ波形再生装置のブロック構成を示す図である。
【図2】実施例装置における波形メモリに記憶した波形データのデータ構成を示す図である。
【図3】実施例装置におけるDSPの概略構成を機能ブロック図の形で表現した図である。
【図4】実施例装置における再生波形演算処理で再生する波形データの例を示したものである。
【図5】実施例装置における波形データの位置情報の変化の例(その1)を示した図である。
【図6】実施例装置における波形データの位置情報の変化の例(その2)を示した図である。
【図7】実施例装置におけるCPUで実行されるCPUメイン処理の手順を示したフローチャートである。
【図8】実施例装置のCPUメイン処理における操作子群の操作検出処理ルーチンの手順を示したフローチャートである。
【図9】実施例装置のCPUメイン処理における鍵盤の操作検出処理ルーチンの手順を示したフローチャートである。
【図10】実施例装置のCPUメイン処理におけるリボンコントローラの操作検出処理ルーチンの手順を示したフローチャートである。
【図11】実施例装置におけるDSPで実行されるDSPメイン処理の手順を示したフローチャートである。
【図12】実施例装置のDSPメイン処理における位置情報発生処理ルーチンの手順を示したフローチャート(1/3)である。
【図13】実施例装置のDSPメイン処理における位置情報発生処理ルーチンの手順を示したフローチャート(2/3)である。
【図14】実施例装置のDSPメイン処理における位置情報発生処理ルーチンの手順を示したフローチャート(3/3)である。
【符号の説明】
1 CPU(中央処理装置)
2 ROM(リード・オンリー・メモリ)
3 RAM(ランダム・アクセス・メモリ)
4 操作子群
5 鍵盤
6 リボンコントローラ
7 DSP(ディジタル・シグナル・プロセッサ)
8 波形メモリ
9 D/A(ディジタル/アナログ)変換器
10 スピーカ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an audio waveform reproduction device capable of reproducing an audio waveform such as a phrase while time stretching.
[0002]
Various waveform reproduction apparatuses that reproduce audio waveform signals stored in a memory in advance while time-stretching using a time-axis compression / expansion technique have been proposed. Specifically, as disclosed in, for example, Japanese Patent Application Laid-Open No. 11-52954, a series of audio waveform signals such as phrases are stored, and the playback speed is increased without changing the pitch (time axis compression). ) Or a waveform reproducing apparatus that can be reproduced at a later time (expanded time axis), stopped, or reproduced in the reverse direction has been proposed. Usually, this playback speed is set by the user inputting a numerical value with an operator.
[0003]
[Problems to be solved by the invention]
However, as in the waveform playback apparatus described above, it is difficult for the user to intuitively understand how to control the playback of the stored audio waveform by setting the playback speed by numerical input or the like. It was not a way to say.
[0004]
The present invention has been made in view of such problems, and allows a user to directly specify the playback position of a stored audio waveform so that the audio waveform signal can be played back while being time-stretched in a desired manner. The purpose is to do.
It is another object of the present invention to enable switching between a waveform playback mode at a set playback speed and a waveform playback mode in which a user directly designates a playback position according to a predetermined desired characteristic. .
[0005]
[Means and Actions for Solving the Problems]
In order to solve the above-described problem, an audio waveform reproduction device according to the present invention includes, as one form, a storage unit that stores waveform data of an audio waveform, and a position on the time axis of the audio waveform designated as a reproduction position. A reproduction means for reproducing waveform data corresponding to the reproduction data, a reproduction speed input means for inputting a reproduction speed that is an amount to advance the reproduction position, a movement amount input means for inputting a movement amount of a movement manually operated by the user, The mode switching means for switching the playback mode of the playback means between the first mode and the second mode, and when the mode switching means switches to the first mode, the playback means performs waveform playback while updating the playback position based on the playback speed. When the control is switched to the second mode, the update of the playback position based on the playback speed is stopped and input by the motion amount input means instead. And control means for controlling so as to waveform reproduced while updating the playback position on the basis of the amount can, the updating of the reproduction position based on the reproduction speed when switching from the first mode by the mode switching means to the second mode, When the playback position arrives at a predetermined position There is provided stop characteristic control means for controlling to stop with a predetermined change characteristic that changes with time rather than instantaneous change. As the above movement amount input means, the movement distance when the user rubs a finger or the like on the plate is input as the movement amount, and the movement distance when the knob of the linear slide operator is moved back and forth is moved. It is possible to use one that inputs as a quantity or one that inputs the amount of rotation of a wheel or lever as a movement amount. As the mode switching means, it is possible to use a mode switching unit that detects that the user touches the plate with a finger or the like, or a mode switching unit that uses a switch or the like. As the change characteristic of the stop characteristic control means, for example, a change characteristic such that the reproduction speed converges to 0 with a predetermined exponential curve or a linear function characteristic can be used. Similarly, as the change characteristic of the return characteristic control means, for example, a change characteristic such as a predetermined exponential function curve or a linear function characteristic that causes the reproduction speed to converge to the original state can be used. In this audio waveform reproduction device, when the mode switching means is switched to the first mode, the reproduction means sets the reproduction position for the audio waveform stored in the storage means based on the reproduction speed input by the reproduction speed input means. While updating, the waveform data corresponding to the reproduction position is reproduced. On the other hand, when the mode switching means switches from the first mode to the second mode, the control means stops updating the playback position based on the playback speed, and instead plays back based on the motion amount input by the motion amount input means. Controls waveform reproduction while updating the position. At that time, the stop characteristic control means controls the updating of the reproduction position based on the reproduction speed so as to stop with a predetermined change characteristic that changes with time rather than an instantaneous change. Thereby, switching of the reproduction mode of waveform reproduction can be performed smoothly based on the predetermined characteristics.
[0006]
The above-described audio waveform reproduction device updates the reproduction position when the mode switching unit switches from the second mode to the first mode with the above-described stop characteristic control unit or instead of the instantaneous change with time. You may comprise so that the return characteristic control means which controls to return to the original update mode based on reproduction speed with the predetermined change characteristic to change may be provided.
When the mode switching unit switches from the second mode to the first mode, the control unit switches from updating the playback position based on the amount of motion input by the motion amount input unit to updating the playback position based on the playback speed. At this time, the return characteristic control means controls the update of the reproduction position so as to return to the original update mode based on the reproduction speed with a predetermined change characteristic that changes with time rather than an instantaneous change.
Thereby, switching of the reproduction mode of waveform reproduction can be performed smoothly based on the predetermined characteristics.
[0007]
Further, the above-described audio waveform reproduction apparatus sets one or more stop positions in advance at arbitrary locations on the time axis of the audio waveform, and reproduces when the mode switching means switches from the first mode to the second mode. Based on speed Update The stop may be configured to be performed based on the stop position (for example, when the reproduction position reaches the stop position). As the stop position, for example, when the audio waveform is played back according to the amount of movement, there is no place where it can be expected that a special effect can be produced, or when the playback position is stopped, there is no unnaturalness. Such a location may be selected and set in advance. As a result, switching to update the playback position based on the amount of motion from the playback speed can be performed at a position on the audio waveform that is considered to have a high effect, or at a position that does not feel unnatural in terms of hearing. It becomes possible.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 shows a hardware configuration of an audio waveform reproducing apparatus as an embodiment of the present invention. In FIG. 1, a
[0009]
The
[0010]
The waveform memory 8 is a memory that stores waveform data of an audio waveform signal to be reproduced by the apparatus of this embodiment, and supplies this waveform data to the
[0011]
For example, as shown in FIG. 4, the PCM waveform data is amplitude value data (PCM data) obtained by periodically sampling a series of audio waveform signals (for example, audio waveform signals for one phrase) at a predetermined sampling frequency Fs. The time series of these amplitude value data is stored in sequential address areas of the waveform memory with sequential addresses.
[0012]
As the waveform-related data, the amplitude value data at the beginning of the audio waveform is stored as information for indicating the range of the address area in which the PCM waveform data for one batch (for example, one phrase) is stored. The start address wavestart and the last address waveend where the last amplitude value data is stored. Also, as other related information, the original pitch of the sampled audio waveform (original pitch), stop mark mark ( i) There is.
[0013]
Although the stop mark mark (i) will be described in detail later, when the playback position of the audio waveform is stopped according to the present invention, a portion where a higher production effect can be obtained on the audio waveform (for example, a portion of an interesting sound when time stretching is performed). , Or sound breaks) are specified in advance by address values, and stop marks mark (i) are set at a plurality of positions along the time axis of the audio waveform. Specified. This parameter i is 0 ≦ i ≦ n, and n is the total number of stop marks set in the audio waveform.
[0014]
The operating element group 4 is an operating element group including an operating element for setting a time expansion amount. This time companding amount setting operator is a manipulator for setting a time compression / expansion amount (hereinafter referred to as a time companding amount) on the time axis when reproducing an audio waveform signal. The reproduction speed tcomp as a time companding amount is set according to the operation amount of the operation element.
[0015]
This playback speed tcomp is a step value for advancing the value of the playback position (playback position sphase) in the audio waveform data, and the playback position sphase is represented by an address value. tcomp is the number of addresses at which the value of the playback position sphase is updated.
[0016]
Depending on the value of the reproduction speed tcomp, the audio waveform is reproduced in the following manner.
(1) When the reproduction speed tcomp> l, the time series of the PCM waveform data is generated by time compression, so that the audio waveform signal is reproduced at a faster speed than the original waveform.
When the reproduction speed tcomp <l, the time series of the PCM waveform data is generated by time expansion, so that the audio waveform signal is reproduced at a speed slower than that of the original waveform.
When the reproduction speed tcomp = 1, the original audio waveform is reproduced at the original speed without being compressed and expanded on the time axis.
Note that the playback speed tcomp is 1 at the initial setting, and tcomp> 0 is always established.
[0017]
The
[0018]
The ribbon controller 6 is an operator for inputting information on a position for reproducing an audio waveform in a reproduction mode in which a reproduction position is directly specified by position information according to the present invention, and is composed of a device having an elongated plate. By rubbing the plate left and right with the finger, position information (movement amount shift) corresponding to the amount of movement moved by touching is generated. This movement amount shift is one-dimensional information (that is, position information only in the X-axis direction), and when the ribbon controller 6 plate (hereinafter simply referred to as the ribbon controller 6) is touched with a finger, the touch “ON” is turned on by the touch sensor. If the finger is removed from the ribbon controller 6, the touch “OFF” is detected. The movement amount shift is a negative value corresponding to the distance moved when the point where the above touch is “ON” is set to the origin (0 point) and moved toward the left side, and the amount moved can be moved toward the right side. For example, it becomes a positive value according to the distance moved.
[0019]
The
[0020]
The D / A converter 9 is a circuit that converts the reproduction waveform data of the disc value calculated by the
[0021]
The operation of this embodiment apparatus will be described below.
First, the operation of the apparatus of this embodiment will be schematically described. FIG. 4 shows the relationship between audio waveform data (PCM waveform data stored in the waveform memory 8) to be reproduced by the apparatus of this embodiment and the reproduction position sphase. In the figure, the amplitude value is taken in the vertical direction, and the time axis of the audio waveform data is taken in the horizontal direction. This time axis is represented by a waveform reproduction position sphase, and this reproduction position sphase is represented by an address for storing amplitude value data. Accordingly, the reproduction position sphase corresponding to the head of the audio waveform is the start address wavestart, and the reproduction position sphase corresponding to the end is the final address waveend.
[0022]
In this embodiment apparatus, the waveform section corresponding to the current reproduction position sphase is reproduced while being repeated as appropriate. This waveform section consists of a section of a waveform of about 1 to 2 cycles in a series of audio waveforms. If the current playback position moves sequentially toward the right side in the figure, the audio waveform will be played back in normal time order. Conversely, if this playback position is moved sequentially toward the left side, the audio waveform will be played back. The waveform is reproduced while reversing the time. However, in each waveform section being reproduced, the reproduction direction is always the forward direction of the time axis. If the playback speed is slower than that of the original waveform, the above-mentioned waveform section will be repeated as appropriate, and if the playback speed is made faster than that of the original waveform, the waveform section will be skipped appropriately. become. Further, when the current playback position is stopped at one place, the same waveform section corresponding to the current playback position is repeatedly played back, and the state does not advance or return in time.
[0023]
According to such a reproduction method, waveform reproduction can be performed by changing the reproduction speed (time compression / decompression amount) without changing the pitch.
[0024]
FIG. 5 is a diagram showing, by way of example, a change in reproduction speed due to a touch ON / OFF operation of the ribbon controller 6 and a change in position information (reproduction position sphase) of waveform data currently being reproduced according to the change. . In this example, the user touches the ribbon controller 6 with a finger, and then stops without rubbing the finger left and right, and then releases the finger after a while.
[0025]
(1) in FIG. 5 shows the relationship between the waveform data playback position sphase and time, and (2) shows the current playback speed (current playback speed w.tcomp) and the time at which the waveform data is played back. Showing the relationship. Here, the reproduction speed tcomp is a value of the reproduction speed set by the time companding amount setting operator. The reproduction speed tcomp is the reproduction speed tcomp = 1 in the original waveform that is not time-stretched, and the reproduction speed is shown as tcomp = 1 in the original waveform in the example of FIG. The current playback speed w.tcomp is
Current playback speed w.tcomp = playback speed tcomp
However, when waveform reproduction is performed by position designation according to the present invention, as will be described later, the current reproduction speed w.tcomp changes toward “0” and does not coincide with the reproduction speed tcomp.
[0026]
In FIG. 5, when the user touches the ribbon controller 6 with a finger, the touch “ON” is detected by the touch sensor. From the playback position sphase of the audio waveform when this touch is “ON” to the position of the first stop mark mark (i) that is temporally behind the playback position sphase, normal waveform playback (this example Then, the waveform reproduction at the current reproduction speed w.tcomp = 1 is performed.
[0027]
When the playback position sphase reaches the position of the stop mark mark (i), the current playback speed w.tcomp starts to attenuate toward “0” at the playback position sphase of the stop mark mark (i). The attenuation characteristic at this time does not change from “1” to “0” instantaneously, but is a characteristic curve that attenuates exponentially. After the current playback speed w.tcomp is attenuated to “0”, the playback position sphase is not updated and does not change, and the playback position versus time characteristic becomes a horizontal line as shown in FIG. In this horizontal line section, an audio waveform is repeatedly reproduced at a certain point (one same waveform section), and does not advance or return in time.
[0028]
When the user lifts his / her finger from the ribbon controller 6, the touch “OFF” is detected by the touch sensor, so that the current playback speed w.tcomp is exponentially curved as usual (original) as shown in FIG. The playback speed tcomp is restored to “1”. At this time, as shown in FIG. 5 (1), the reproduction position sphase also draws a characteristic [solid line in FIG. 5 (1)] that changes toward the reproduction speed tcompa over time. After returning to the normal state, the current playback speed w.tcomp becomes the playback speed tcomp.
[0029]
Next, as in FIG. 5, FIG. 6 is a diagram showing an example of a change in the current playback speed w.tcomp due to the operation of the ribbon controller 6 and a change in the playback position sphase according to the change. In the example 6, the user touches the ribbon controller 6 with a finger, and after a short time, the user rubs the finger to the right side, then folds and rubs it to the left side, and moves the finger before returning to the initial touch position. This is when the release operation is performed.
[0030]
When the user touches the ribbon controller 6 with his / her finger, the touch is turned “ON”, and the playback speed tcomp is attenuated to “0” from the position of the first stop mark mark (i) thereafter with an exponential curve-like attenuation characteristic. Thus, it is the same as FIG. 5 described above that a certain point in the audio waveform is repeatedly reproduced. Here, when the user rubs his / her finger to the right on the ribbon controller 6, the reproduction position sphase increases by the amount corresponding to the rubbed distance. The waveform section of the reproduction position sphase corresponding to the position of the movement is reproduced. When the finger is rubbed toward the left side, the waveform section at the reproduction position sphase corresponding to the position on the ribbon controller 6 that is rubbed is reproduced. In this case, the time of the audio waveform is reproduced. Each waveform section is extracted and reproduced while reversing on the axis. Thereby, an audio waveform can be reproduced while producing a special effect. In each waveform section, the waveform is reproduced only in the forward direction on the time axis.
[0031]
When the user lifts his / her finger from the ribbon controller 6, the touch “OFF” is detected as in the example of FIG. 5 described above, and the current playback speed w.tcomp is an exponential curve as shown in FIG. 6 (2). With a characteristic curve, the playback speed tcomp (in this example, the playback speed tcomp = 1 corresponding to the original waveform) is restored.
[0032]
Details of the operation of the embodiment apparatus for realizing the above-described operation mode will be described below with reference to the flowcharts shown in FIGS.
[0033]
FIG. 7 is a flowchart showing the main processing of the
[0034]
When the initial setting is completed, first, an operation detection process (see FIG. 8) of the operator group 4 is performed (step B), and then an operation detection process of the keyboard 5 (see FIG. 9) is performed (step C). 6 operation detection processing (see FIG. 10) is performed (step E), and this is repeated in a loop.
[0035]
FIG. 8 is a flowchart showing the operation detection processing routine of the above-mentioned operator group 4. In this operation detection process, only the process for detecting the operation of the time companding amount setting operation element is shown, and the other operation elements are not directly related to the present invention and are omitted.
[0036]
When the operation detection processing routine of the operator group 6 is started in the CPU main process, it is determined whether or not there is any operation on the operator group 6 (step B1). When there is no operation in the operator group 4, the process returns to the CPU main process. When it is detected that any of the controls has been operated, it is determined whether or not the operator that has performed the operation is a time companding amount setting manipulator, that is, whether or not the time companding amount has been changed ( Step B2). If it is determined by the time companding amount setting operator that the time companding amount has been changed, the value of the regeneration speed tcomp is changed based on the manipulated value of the time companding amount setting operator (step B3). The reproduction mode based on the value of the reproduction speed tcomp is as described above. Thereafter, the process returns to the CPU main process.
[0037]
FIG. 9 is a flowchart showing the operation detection processing routine of the
[0038]
When the operation detection processing routine of the
[0039]
If it is a key pressing operation, the following key pressing process is performed. First, it is determined whether or not the key press is a new key press operation, that is, whether or not the key is pressed for the first time from a state in which all keys on the
[0040]
Then, pitch information based on the pitch of the depressed key is set in the register as the pitch shift amount pitch (step C7), and the process returns to the CPU main process. As described above, the pitch information set in the pitch shift amount pitch is specifically the pitch shift amount based on the pitch from a predetermined reference pitch (for example, C4) to the pitch of the pressed key. It is. When setting the pitch information, if there is only one key being pressed, the pitch information based on the pitch of the key being pressed is set as the pitch shift amount pitch. When there are a plurality of keys, pitch information is set based on the highest treble of them. This is because the apparatus according to the present embodiment can only generate one voice, and therefore, when a plurality of keys are pressed, it is determined that the voice is generated with a higher sound priority.
[0041]
On the other hand, if the key operation is not a key pressing operation (step C2), the key operation is determined as a key release operation, and in this case, all keys that have been pressed are released. Is determined (step C3). If all the keys have been released, the audio waveform signal playback is stopped, so the sound generation flag gate is set to “0” indicating that no sound is generated (step C4). Return to the CPU main process. If all keys are not released (step C3), no special process is performed, and the process returns to the CPU main process without doing anything.
[0042]
FIG. 10 is a flowchart showing the operation detection processing routine of the ribbon controller 6 described above. As described above, in the apparatus of this embodiment, when the user touches the ribbon controller 6, the touch sensor of the ribbon controller 6 is turned on "ON" and is based on the reproduction speed tcomp of the reproduction position of the audio waveform signal. The change (progress) is stopped according to the predetermined attenuation characteristic. When the finger is released from the ribbon controller 6, the touch sensor of the ribbon controller 6 is turned “OFF”, and the change (progress) based on the playback speed tcomp of the playback position of the audio waveform signal that has been stopped is determined according to a predetermined return characteristic. Return to and play the waveform. In order to perform this control, a touch flag r.touch is prepared, and “0” is set to the touch flag r.touch when the touch sensor is “OFF”, and “1” is set when the touch is “ON”. ing.
The playback mode when the touch flag r.touch is “0” corresponds to the first mode of the present invention, and the playback mode when the touch flag r.touch is “1” corresponds to the second mode of the present invention.
[0043]
When the above-described operation detection processing routine of the ribbon controller 6 is started in the CPU main process, it is first determined whether or not there has been an operation (ON / OFF operation) of touching the ribbon controller 6 with a finger (step D1). If there is no touch operation, this routine is ended as it is, and the process returns to the CPU main process. If there is a touch operation, it is determined whether the touch operation is an operation with the finger touching the ribbon controller 6 (touch ON operation) or an operation with the finger released (touch OFF operation) (step OFF) D2).
[0044]
In the case of touch-on operation in which the ribbon controller 6 is touched with a finger, “1” is set to the touch flag r.touch (step D3), and then the operation amount of the ribbon controller 6 (the movement amount by rubbing the finger) ) Is set in the register as the shift amount shift. As described above, this shift amount shift is a positive value corresponding to the distance (distance from the origin) if the position where the plate is first touched is the origin (0 point) and is slid to the right from this origin. If it is rubbed to the left from the origin, it becomes a negative value corresponding to the distance (distance from the origin). The position where the audio waveform data is reproduced is controlled according to the shift amount shift.
[0045]
If the touch operation is a touch OFF operation in which the finger is released from the ribbon controller 6 (step D2), “0” indicating that the ribbon controller 6 is not touched is set in the touch flag r.touch. (Step D5). Further, in the case of this touch “OFF”, the movement amount shift of the ribbon controller 6 is meaningless, so the movement amount shift is reset to “0” (step D6), and this routine is terminated and the CPU main process is started. Return.
[0046]
FIG. 11 is a flowchart showing the main processing of the
[0047]
When an interrupt is applied at the sampling period, the DSP main process of FIG. 11 is started, and first, a position information generation process routine is executed (step E). This position information generation processing routine corresponds to the position information calculation means 72 having the functional block configuration shown in FIG. 3, and the position information on the time axis to be reproduced with respect to the waveform data stored in the waveform memory 8 ( This is a process for sequentially generating the reproduction position (sphase). The detailed operation will be described later.
[0048]
Next, a reproduction waveform calculation processing routine is executed based on the reproduction position sphase reproduced in this position information generation processing routine (step F). This reproduction waveform calculation processing routine corresponds to the reproduction waveform calculation means 73 having the functional block configuration of FIG. 3, and the waveform section at the position indicated by the reproduction position sphase on the time axis of the audio waveform data is instructed from the outside. This is a process of generating reproduced waveform data reproduced based on the sounding start / end information (sounding flag gate) and pitch information (pitch shift amount pitch). Since such a waveform reproducing method is a general known technique as disclosed in, for example, Japanese Patent Laid-Open No. 11-52954, detailed description thereof is omitted here.
[0049]
12 to 14 are flowcharts showing the processing procedure of the position information
[0050]
When this position information generation process routine is started in the DSP main process, the state of the sound generation flag gate is first determined (step E1). The sound generation flag gate is a flag indicating the sound generation / no sound generation state. If it is “0”, the sound generation is not performed. In this case, this routine is immediately terminated and the process returns to the DSP main process.
[0051]
On the other hand, if the sound generation flag gate is “1”, the sound generation of the audio waveform signal is currently being performed. Therefore, next, the sound generation flag gate rises at the present time, that is, the sound generation of the audio waveform signal is started. Is detected (step E2). If it is the start time, initial preparation for reproducing the audio waveform signal is performed (steps E3 and E4). That is, the reproduction position sphase representing the position (address) on the time axis for reproducing the waveform data (PCM amplitude value data) stored in the waveform memory 8 is initialized to the start address wavestart that is the start position of the waveform ( Step E3). Next, the current reproduction speed (that is, the current reproduction speed w.tcomp) used in the calculation of the
[0052]
After this processing is completed or when the audio waveform signal is already being reproduced (step E2), the state of the touch flag r.touch is determined (step E5). If the touch flag r.touch is “1”, that is, the ribbon controller 6 is being touched, the reproduction position sphase representing the position of the waveform data to be reproduced on the time axis is from the reproduction position sphase. It is determined whether or not the first stop mark mark (i) is reached later in time (step E8).
[0053]
The determination result is “Yes”, that is,
Playback position sphase ≥ Stop mark mark (i)
If so, the attenuation flag tts is set to "1" (step E9). This change of the attenuation flag tts to “1” causes the current reproduction speed w.tcomp to attenuate toward the target value offset (in this embodiment, “0” is set at the time of attenuation or “1” is set at the time of return). Is instructed. Therefore, on the condition that the attenuation flag tts is “1” indicating the attenuation of the current reproduction speed w.tcomp (step E10), the target value offset is set to “0”. As a result, after the stop mark mark (i), the current playback speed w.tcomp attenuates toward “0”, whereby the playback position sphase based on the value (playback speed tcomp) set by the time compensator setting operator. Change (progress) stops.
In this case, the waveform section of the audio waveform signal corresponding to the reproduction position sphase is sequentially reproduced based on the reproduction position sphase that is changed by the operation of the ribbon controller 6.
[0054]
The determination result in step E8 is “No”, that is,
Playback position sphase <stop mark mark (i)
If this is the case, the current playback position sphase has not yet reached the first stop mark mark (i) in the direction of travel, so waveform playback will continue as usual. In this case, the attenuation flag tts is set. Absent.
[0055]
On the other hand, when the determination result in step E5 indicates that the touch flag r.touch is “0”, that is, the operation of releasing the finger from the ribbon controller 6 (touch OFF), the attenuation flag tts is set to “0”. Set (step E6). The change of the attenuation flag tts to “0” is an instruction to restore the attenuated current reproduction speed w.tcomp to the original value (the reproduction speed tcomp set by the time companding amount setting operator). The reproduction speed tcomp, which is the reproduction speed set by the time expansion / compression setting operator, is set to the target value offset which is the return destination value (step E7). As a result, after that, the current playback speed w.tcomp returns to the playback speed tcomp in an exponential curve every sampling period, and normal waveform playback is performed after reaching the playback speed tcomp. It becomes like this.
[0056]
In the next step E12, the calculation of the current playback speed w.tcomp is performed to determine the attenuation characteristics of the current playback speed w.tcomp by the touch “ON” and the return characteristics of the current playback speed w.tcomp by the touch OFF operation. The formula of
w.tcomp ← w.tcomp + k × (offset−w.tcomp)
(Where k is an arbitrary coefficient)
The current current playback speed w.tcomp is updated at every sampling period by calculating according to. As shown in FIG. 5 and FIG. 6, this update formula is such that the current playback speed w.tcomp is reduced from the time position of the stop mark mark (i) to 0 with an exponential curve, or the ribbon controller 6 In this way, the current playback speed w.tcomp is returned to a predetermined value (playback speed tcomp) with an exponential curve by the touch-off operation.
[0057]
In this update formula, when the current playback speed is attenuated by a touch-on operation, the target value offset is “0”, so that the current current playback speed w.tcomp is k × w. The attenuation characteristic (that is, an exponential curve characteristic) that decreases by tcomp is drawn. Further, when the current playback speed is restored by the touch-off operation, the target value offset is the playback speed tcomp (eg, “1”), so that the current current playback speed w.tcomp is k × A recovery characteristic (that is, an exponential curve characteristic) increasing by (1-w.tcomp) is drawn.
[0058]
In step E13 following the update step E12 of the current playback speed w.tcomp, it is determined whether the current playback speed w.tcomp matches the playback speed tcomp, that is, “w.tcomp = tcomp”. If they do not match, the current playback speed w.tcomp is currently “0” or changing, and if they match, the current value before the decay start (that is, before the stop mark mark (i)) or the original value. It has been returned to.
[0059]
If the former does not match, it is determined whether the touch flag r.touch is “1” and the current playback speed w.tcomp is near “0” (w.tcomp≈0), and the determination result is “Yes”. If so, the attenuation of the current playback speed w.tcomp is sufficiently close to “0”, so it is regarded as “0”, and the current playback speed w.tcomp is forcibly set to “0” (step E15).
[0060]
After the current playback speed w.tcomp becomes “0”, the waveform playback mode at the playback speed set by the operator is switched to the waveform playback mode in which the user directly designates the playback position by the ribbon controller 6. As a result, waveform reproduction is not performed based on the value (reproduction speed tcomp) set by the time companding amount setting operator, but instead, waveform reproduction is performed based on the amount of movement that the ribbon controller 6 is rubbed left and right with a finger. It will be done while determining the position.
[0061]
That is, the current playback position sphase is updated according to the following update formula (step E16).
sphase = sphase + a × shift
(Where a is an arbitrary coefficient)
That is, a value obtained by multiplying the movement amount shift based on the operation amount of the ribbon controller 6 by a predetermined coefficient a is added to the reproduction position sphase representing the position on the time axis of the currently reproduced waveform data. The playback position is sphase. Therefore, the waveform reproduction position can be controlled in accordance with the value of the shift amount changed by the ribbon controller 6. As can be seen from the above update formula, the coefficient a corresponds to the operation sensitivity of the ribbon controller 6.
[0062]
If the determination result in step E14 is “No”, then it is determined whether the touch flag r.touch is “0” and the current current playback speed w.tcomp is a value near the playback position sphase. (Step E17). This is to determine whether or not the current playback speed w.tcomp has returned from “0” to a value near the playback speed tcomp due to the touch “OFF” operation, and if the determination result is “Yes” The current playback speed w.tcomp is forcibly set to the value of the playback speed tcomp set by the time companding amount setting operator (step E18), and is completely restored from the state of the playback speed “0”. Return to the restored state.
[0063]
Next, the playback position sphase is updated according to the following update formula.
sphase ← sphase + w.tcomp
This update formula adds the current current playback speed w.tcomp to the playback position sphase that represents the position on the time axis of the waveform data that is currently being played back, resulting in a new playback position sphase. Waveform reproduction is performed based on the updated reproduction position sphase.
[0064]
Then, it is determined whether or not the newly updated playback position sphase has exceeded the position of the current stop mark mark (i), and if so, the current stop mark mark (i) is further followed by the stop mark In order to update to a new stop mark by replacing with mark (i + 1)
i ← i + 1
(However, 0 ≦ i ≦ n, n is the total number of stop marks, and the initial value of i is 0)
Follow the update process.
[0065]
After this, the playback position sphase is set in the following steps E22 to E25 so that the playback position sphase does not return before the start address wavestart at the beginning of the audio waveform or advance further than the end address waveend at the end of the audio waveform. Then, processing is performed to limit the audio waveform data within the address range.
[0066]
That is, it is determined whether or not the reproduction position sphase representing the position on the time axis of the currently reproduced waveform data is smaller than the head address wavestart (step E22). The start address wavestart is set (step E23), and the reproduction position sphase is fixed to the start address wavestart so as not to be smaller than that.
[0067]
Also, it is determined whether or not the reproduction position sphase representing the position on the time axis of the waveform data currently being reproduced has become larger than the final address waveend (step E24). Is set to the final address waveend (step E25), and the reproduction position sphase is fixed to the final address waveend so as not to be larger than that.
[0068]
When the above limit processing is performed, or when the current playback position sphase is within the address range of the audio waveform data, this position information generation processing routine is terminated and the process returns to the DSP main processing routine.
[0069]
In carrying out the present invention, various modifications are possible. For example, in the above-described embodiment, the playback speed is increased by turning the ribbon controller ON / OFF.
Current playback speed w.tcomp ← Current current playback speed w.tcomp
10k × [Target playback speed Offset-Current current playback speed w.tcomp]
However, the characteristics are not limited to this. For example, a linear function curve that changes to the target playback speed (Offset) may be used. Instead, it may be anything that does not give the user a sense of incompatibility when switching the playback mode by changing with a change characteristic that changes with time.
[0070]
In the above-described embodiment, the ribbon controller is cited as an operation element that directly designates the waveform position to be reproduced by position information. However, the present invention is not limited to this, and for example, a disk or a circular operation element. The waveform position to be reproduced may be designated based on the rotation amount by rotating the. For example, a turntable provided with a sensor for detecting a rotational position, a rotary encoder, or the like can be considered. Alternatively, a waveform position to be reproduced may be designated according to the amount of movement by a linear slide resistance operator or a so-called wheel operator. Or you may designate the waveform position to reproduce | regenerate by operating the operation element arrange | positioned on a concentric circle. In short, any operator may be used as long as it can generate, as position information, the amount of movement manually operated by the user.
[0071]
In the above-described embodiment, the touch mode of the ribbon controller detects the touch “ON” and the touch “OFF” and switches the playback mode. However, the present invention is not limited to this, and for example, a ribbon Instead of the touch sensor of the controller, the playback mode may be switched by a pedal ON / OFF operation or the like. Alternatively, an operator such as a joystick may be used, and position information can be input by the amount of movement of the joystick.
[0072]
In the above description of the embodiment, the case where the present invention is realized by applying the present invention to a hardware device having a single purpose, such as an audio waveform reproduction device, has been described. However, the present invention is not limited to this. It can also be realized by installing a program such as an electronic musical instrument including the processing routines described above. In this case, such a program is stored in various recording media such as a CD-ROM and a floppy disk (a computer-readable recording medium recording a program for causing a computer to function as each of the function realizing means) and distributed to the market. Can do.
[0073]
【The invention's effect】
As described above, according to the present invention, the audio waveform signal can be reproduced while being time-stretched in a desired manner by directly specifying the reproduction position of the stored audio waveform by the user. Since switching can be performed according to the predetermined desired characteristics, switching between the waveform playback mode at the playback speed set by the operator and the waveform playback mode in which the user directly designates the playback position can be performed smoothly.
[Brief description of the drawings]
FIG. 1 is a diagram showing a block configuration of an audio waveform reproduction device as one embodiment according to the present invention.
FIG. 2 is a diagram showing a data configuration of waveform data stored in a waveform memory in the embodiment apparatus.
FIG. 3 is a diagram representing a schematic configuration of a DSP in the embodiment apparatus in the form of a functional block diagram;
FIG. 4 shows an example of waveform data reproduced by a reproduction waveform calculation process in the embodiment apparatus.
FIG. 5 is a diagram showing an example (part 1) of a change in position information of waveform data in the embodiment apparatus;
FIG. 6 is a diagram showing an example (part 2) of a change in position information of waveform data in the embodiment apparatus;
FIG. 7 is a flowchart showing a procedure of CPU main processing executed by the CPU in the embodiment apparatus;
FIG. 8 is a flowchart showing the procedure of an operation detection processing routine for a control group in the CPU main processing of the embodiment apparatus;
FIG. 9 is a flowchart showing the procedure of a keyboard operation detection processing routine in the CPU main processing of the embodiment apparatus;
FIG. 10 is a flowchart showing a procedure of a ribbon controller operation detection processing routine in the CPU main processing of the embodiment apparatus;
FIG. 11 is a flowchart showing a procedure of a DSP main process executed by the DSP in the embodiment apparatus.
FIG. 12 is a flowchart (1/3) illustrating a procedure of a position information generation process routine in the DSP main process of the embodiment apparatus;
FIG. 13 is a flowchart (2/3) illustrating a procedure of a position information generation process routine in the DSP main process of the embodiment apparatus;
FIG. 14 is a flowchart (3/3) illustrating a procedure of a position information generation processing routine in the DSP main processing of the embodiment apparatus;
[Explanation of symbols]
1 CPU (Central Processing Unit)
2 ROM (Read Only Memory)
3 RAM (Random Access Memory)
4 controls
5 keyboard
6 Ribbon controller
7 DSP (Digital Signal Processor)
8 Waveform memory
9 D / A (digital / analog) converter
10 Speaker
Claims (3)
再生位置として指定された該オーディオ波形の時間軸上の位置に対応する波形データを再生する再生手段と、
該再生位置を歩進する量である再生速度を入力する再生速度入力手段と、
ユーザが手動操作した動きの動き量を入力する動き量入力手段と、
該再生手段の再生モードを第1モードと第2モードとに切り替えるモード切替え手段と、
該モード切替え手段により該第1モードに切り替えられた時には、該再生手段が該再生速度に基づき該再生位置を更新しつつ波形再生をするよう制御し、該第2モードに切り替えられた時には、該再生速度に基づく該再生位置の更新を停止して、代わりに該動き量入力手段で入力した動き量に基づき該再生位置を更新しつつ波形再生するよう制御する制御手段と、
該モード切替え手段で該第1モードから該第2モードへ切り替えたときの該再生速度に基づく再生位置の更新を、該再生位置が所定の位置に到着したら瞬間変化ではなく時間経過とともに変化する所定の変化特性で停止するように制御する停止特性制御手段とを備えたオーディオ波形再生装置。Storage means for storing waveform data of the audio waveform;
Reproduction means for reproducing waveform data corresponding to a position on the time axis of the audio waveform designated as a reproduction position;
Playback speed input means for inputting a playback speed that is an amount to advance the playback position;
A movement amount input means for inputting a movement amount of a movement manually operated by the user;
Mode switching means for switching the reproduction mode of the reproduction means between the first mode and the second mode;
When switched to the first mode by the mode switching means, the playback means controls to reproduce the waveform while updating the playback position based on the playback speed, and when switched to the second mode, Control means for controlling the reproduction of the waveform while stopping the update of the reproduction position based on the reproduction speed and updating the reproduction position based on the amount of movement input by the movement amount input means instead.
The playback position is updated based on the playback speed when the mode switching means switches from the first mode to the second mode. When the playback position arrives at a predetermined position , the update does not change instantaneously but changes with time. An audio waveform reproduction device comprising stop characteristic control means for controlling to stop at a change characteristic of
再生位置として指定された該オーディオ波形の時間軸上の位置に対応する波形データを再生する再生手段と、
該再生位置を歩進する量である再生速度を入力する再生速度入力手段と、
ユーザが手動操作した動きの動き量を入力する動き量入力手段と、
該再生手段の再生モードを第1モードと第2モードとに切り替えるモード切替え手段と、
該モード切替え手段により該第1モードに切り替えられた時には、該再生手段が該再生速度に基づき該再生位置を更新しつつ波形再生をするよう制御し、該第2モードに切り替えられた時には、該再生速度に基づく該再生位置の更新を停止して、代わりに該動き量入力手段で入力した動き量に基づき該再生位置を更新しつつ波形再生するよう制御する制御手段と、
該モード切替え手段で該第2モードから該第1モードへ切り替えたときの該再生位置の更新を、瞬間変化ではなく時間経過とともに変化する所定の変化特性で該再生速度に基づく元の更新態様に復帰するように制御する復帰特性制御手段を備えたオーディオ波形再生装置。Storage means for storing waveform data of the audio waveform;
Reproduction means for reproducing waveform data corresponding to a position on the time axis of the audio waveform designated as a reproduction position;
Playback speed input means for inputting a playback speed that is an amount to advance the playback position;
A movement amount input means for inputting a movement amount of a movement manually operated by the user;
Mode switching means for switching the reproduction mode of the reproduction means between the first mode and the second mode;
When switched to the first mode by the mode switching means, the playback means controls to reproduce the waveform while updating the playback position based on the playback speed, and when switched to the second mode, Control means for controlling the reproduction of the waveform while stopping the update of the reproduction position based on the reproduction speed and updating the reproduction position based on the amount of movement input by the movement amount input means instead.
The update of the playback position when the mode switching means switches from the second mode to the first mode is changed to the original update mode based on the playback speed with a predetermined change characteristic that changes with time rather than an instantaneous change. An audio waveform reproducing device comprising return characteristic control means for controlling to return.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP37066399A JP4191348B2 (en) | 1999-12-27 | 1999-12-27 | Audio waveform playback device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP37066399A JP4191348B2 (en) | 1999-12-27 | 1999-12-27 | Audio waveform playback device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001184068A JP2001184068A (en) | 2001-07-06 |
| JP4191348B2 true JP4191348B2 (en) | 2008-12-03 |
Family
ID=18497388
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP37066399A Expired - Fee Related JP4191348B2 (en) | 1999-12-27 | 1999-12-27 | Audio waveform playback device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4191348B2 (en) |
-
1999
- 1999-12-27 JP JP37066399A patent/JP4191348B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001184068A (en) | 2001-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4656822B2 (en) | Electronic musical instruments | |
| JP3484719B2 (en) | Performance guide device with voice input function and performance guide method | |
| JP4191348B2 (en) | Audio waveform playback device | |
| JP3661556B2 (en) | Music signal processor | |
| JP3546739B2 (en) | Automatic performance device and recording medium | |
| JP3933583B2 (en) | Electronic musical instruments | |
| JP3397078B2 (en) | Electronic musical instrument | |
| JP3800778B2 (en) | Performance device and recording medium | |
| JP4464080B2 (en) | Automatic performance device and program | |
| US6362410B1 (en) | Electronic musical instrument | |
| JP6631444B2 (en) | Electroacoustic apparatus and operation method thereof | |
| JPH11219175A (en) | Automatic performance device | |
| JP3767418B2 (en) | Automatic performance device and automatic performance control program | |
| JP3758041B2 (en) | Musical sound control data generator | |
| JP2000250545A (en) | Data display method for electronic musical instrument and the instrument | |
| JP4106798B2 (en) | Sound generator | |
| JP2008152054A (en) | Electronic musical instrument with performance recording function | |
| JPH05173551A (en) | Automatic piano playing device | |
| JP3581763B2 (en) | Electronic musical instrument | |
| JP3142434B2 (en) | Electronic musical instrument sequencer | |
| JP3988812B2 (en) | Automatic performance controller | |
| JP3303754B2 (en) | Tone control data generation device, recording medium storing a program for generating tone control data, and tone control data generation method | |
| JP4855202B2 (en) | Electronic keyboard instrument | |
| JP4029710B2 (en) | Registration data calling device and registration data calling program | |
| JP2000200085A (en) | Electronic musical instrument |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060704 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061201 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080501 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080513 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080710 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080909 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080918 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |