JP4213835B2 - Waveform playback device - Google Patents

Waveform playback device Download PDF

Info

Publication number
JP4213835B2
JP4213835B2 JP37206899A JP37206899A JP4213835B2 JP 4213835 B2 JP4213835 B2 JP 4213835B2 JP 37206899 A JP37206899 A JP 37206899A JP 37206899 A JP37206899 A JP 37206899A JP 4213835 B2 JP4213835 B2 JP 4213835B2
Authority
JP
Japan
Prior art keywords
waveform
value
pitch
reproduction
state
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
JP37206899A
Other languages
Japanese (ja)
Other versions
JP2001188543A (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 JP37206899A priority Critical patent/JP4213835B2/en
Publication of JP2001188543A publication Critical patent/JP2001188543A/en
Application granted granted Critical
Publication of JP4213835B2 publication Critical patent/JP4213835B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、記憶している一連の波形を再生する波形再生装置に関する。
【0002】
【従来の技術】
従来より、サンプラ等において、楽音などの一連の音をサンプリングした楽音信号といった形式で一連の波形を記憶し、その波形を再生する波形再生装置が知られている。
【0003】
特開平11−52954には、サンプリングした楽音信号の再生時における音楽表現を豊かにするために、波形の再生速度を制御して波形を速くあるいは遅く再生することができ、再生速度を「0」に設定することによって波形上の再生位置を停止させて再生することもでき、更に、再生速度を負の速度に設定することによって波形の時間軸を溯る方向に再生することもできる波形再生装置が提案されている。
【0004】
【発明が解決しようとする課題】
しかし、前期のように波形の再生速度を制御するのでは、演奏者の希望する波形位置を再生することは難しく、演奏操作が非常に難しいものになっていた。
【0005】
そのため、サンプリングした楽音信号を音楽表現豊かに、容易な演奏操作で再生できる波形再生装置が望まれている。
【0006】
本発明は、上記事情に鑑み、ユーザが波形上の再生位置を直接指定することができ、かつ、ユーザが望む豊かな音楽表現での楽音再生を容易な演奏操作で実現することができる波形再生装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成する本発明の波形再生装置は、一連の波形を記憶している波形記憶手段と、
波形記憶手段に記憶されている波形上の位置を指定する、指定位置の連続変更が可能な位置指定操作子であって、位置指定が有効なオン状態と、位置指定が無効なオフ状態との間で切替自在な位置指定操作子と、
位置指定操作子がオン状態にある場合には、波形記憶手段に記憶されている一連の波形上の、位置指定操作子によって指定された位置を含む、その指定位置に応じて決まる再生範囲内の位置を再生するとともに、指定位置の連続変更に応じて再生範囲を変更し、位置指定操作子がオフ状態にある場合には、波形記憶手段に記憶されている一連の波形を、その一連の波形上における再生位置を所望の速度で進行させながら再生し、前記位置指定操作子がオフ状態からオン状態に切り替わった場合には、その再生位置の波形上での進行を停滞させ、その再生位置を指定位置とした波形再生に移行する波形再生手段とを備えたことを特徴とする。
【0008】
ここで、位置指定操作子は、位置指定操作子自身の操作によってオン状態とオフ状態とが切り替えられるものであってもよく、位置指定操作子とは独立の操作子(例えばペダル操作子)の操作などによって切り替えられるものであってもよい。
【0009】
また、波形再生手段は、オン状態にある場合に、再生範囲内を順次に再生するものであってもよく、あるいは、再生範囲内をランダムに再生するものであってもよい。更に、再生範囲は、指定位置のみを含むものであってもよい。
【0010】
本発明の波形再生装置によれば、例えば楽音などといった一連の音がサンプリングされて波形記憶手段にあらかじめ記憶され、ユーザが位置指定操作子の状態をオフ状態にすると、記憶された一連の音が所望の速度で再生される。そして、その再生音を聴きながら、ユーザが位置指定操作子の状態をオン状態に切り替えて、その一連の音のうちの、所望の音色等を有する音の位置を直接的に指定すると、再生手段によって、指定位置の音が繰り返し再生される。また、ユーザが、位置指定操作子による指定位置を連続変更すると、その連続変更に応じて再生位置が連続変更される。
【0011】
この結果、ユーザは、再生を希望する音の位置を波形上で容易に探し出して指定することができ、豊かな音楽表現での楽音再生を容易な演奏操作で実現することができる。
【0012】
また、本発明の波形再生装置は、
上記波形再生手段が、分割波形を、音高を示す音高情報を取得し、その音高情報が示す音高で波形を再生するものであることが好適である。
【0013】
このような好適な構成の波形再生装置によれば、例えば鍵盤や、MIDI信号の入力機器などを使った演奏等を行うことができる。
【0014】
さらに、本発明の波形再生装置は、上記波形再生手段が、位置指定操作子による指定位置変更の速度に応じた音高で波形を再生するものであってもよい。
【0015】
このような、指定位置変更の速度に応じた音高で波形を再生する波形再生手段を備えた波形再生装置によれば、アナログレコードを手で動かして演奏するいわゆるスクラッチのような、操作速度に対応して再生音の音高が変化する効果を得ることができる。
【0016】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【0017】
図1は、本発明の波形再生装置の一実施形態を示す図である。
【0018】
この波形再生装置10は電子楽器の一種であり、記憶している一連の波形上の位置を指定されて、その位置周辺の波形が表す音を演奏音として再生する装置である。また、ここでは、以下説明するように、波形を時間軸方向に圧縮伸長する時間軸圧縮伸長技術が利用されて、波形上の指定位置付近の波形が自然な音色で再生される。
【0019】
この波形再生装置10には、波形メモリ11と、DSP12と、CPU13と、RAM14と、ROM15と、リボンコントローラ16と、鍵盤17と、操作子群18と、D/A変換器19が備えられており、波形メモリ11には一連の音がサンプリングされた一連の波形がPCM(Pulse Code Modulation)波形データとして記憶される。従って波形メモリ11は本発明にいう波形記憶手段の一例である。また、CPU13によって、リボンコントローラ16や鍵盤17や操作子群18の操作状態が検出され、検出結果に応じてDSP12が制御される。そして、後述するように、波形メモリ11に記憶されている波形がDSP12によって再生される。つまり、DSP12およびCPU13によって本発明にいう波形再生手段の一例が構成されている。
【0020】
ROM15には、CPU13およびDSP12の動作を表すプログラムが格納されており、DSP12の動作を表すプログラムはCPU13によってDSP12へと転送される。RAM14は、CPU13のワーキングメモリとして用いられるものである。
【0021】
リボンコントローラ16は、本発明にいう位置指定操作子の一例であり、波形メモリ11に記憶されている波形上の位置を指定する。
【0022】
鍵盤17は、CPU13に対して波形再生の開始終了を指示する。また、押鍵された鍵に対応付けられている音高を示す音高情報をCPU13に入力して、波形再生時の音高を指定する。そして、音高の指定は、演奏操作によって押鍵された鍵に対応付けられている音高と、あらかじめ定められている基準音高との音程に相当する音高のシフト量によって指定される。
【0023】
操作子群18は、CPU13に対して波形の圧縮伸長量などを指示するためのものであり、操作子群18に含まれている操作子については後で適宜説明する。
【0024】
D/A変換器19は、DSP12によって再生された波形に相当するディジタル信号をアナログ信号に変換し、そのアナログ信号に応じた音をスピーカ19aから放音させる。
【0025】
図2は、リボンコントローラ16を用いた位置指定操作の説明図である。
【0026】
この図2の上段には、波形メモリ11に記憶されている波形データが表す波形11aが示されており、下段には、リボンコントローラ16が示されている。
【0027】
ユーザの指Fがリボンコントローラ16から離れているときには位置指定が無効であり、波形11aが所定の再生速度で再生される。そして、ユーザが指Fでリボンコントローラ16に触れると、リボンコントローラ16による位置指定が有効となり、リボンコントローラ16上のどこに触れても、波形上11aの、指Fが触れたときに再生されていた位置Pが指定されたものとして取り扱われる。また、リボンコントローラ16は、ユーザの指Fが触れている位置を検出することができ、指Fがリボンコントローラ16に触れたままで、図に示すA1方向やB1方向に移動すると、波形11a上の指定位置がA2方向やB2方向に連続移動する。
【0028】
図3は、図1に示すCPU13のメインルーチンのフローチャートである。
【0029】
CPU13のメインルーチンが開始されると先ず初期設定が行われる(ステップS10)。
【0030】
そして、図1に示す操作子群18の操作状態を検出して操作状態に応じた処理を行う操作子群処理ルーチンが実行され(ステップS11)、鍵盤17の操作状態を検出して操作状態に応じた処理を行う鍵盤処理ルーチンが実行され(ステップS12)、リボンコントローラ16の操作状態を検出して操作状態に応じた処理を行うリボンコントローラ処理ルーチンが実行される(ステップS13)。
【0031】
その後、ステップS11〜ステップS13が繰り返し実行される。
【0032】
図4は、図3に示すメインルーチンのステップS11で実行される操作子群処理ルーチンのフローチャートである。
【0033】
この操作子群処理ルーチンでは、楽器や人の共鳴体としてのサイズを表すフォルマントボリュームの値や、波形の再生スピードが、図1に示す操作子群18の操作に応じて設定される。操作子群18には、フォルマントボリュームの値や再生スピードの値などを設定操作する操作子以外の操作子も含まれているが、ここでは説明を省略する。
【0034】
この操作子群処理ルーチンが開始されると、図1に示す操作子群18に含まれている一連の操作子が走査され(ステップS11_1)、一連の操作子のうちのいずれかの操作子に状態変化が生じたか否かが判定される(ステップS11_2)。
【0035】
状態変化が全く生じていないと判定されるとそのまま操作子群処理が終了されて、図3に示すメインルーチンに戻る。一方、状態変化が生じたと判定されると、その状態変化が、楽器や人の共鳴体としてのサイズを表すフォルマントボリュームF_VRを指定する操作子の状態変化であるか否かが判定される(ステップS11_3)。そして、フォルマントボリュームF_VRを指定する操作子の状態変化であると判定された場合には、図1に示すCPU13の、フォルマントボリュームF_VRを記憶するレジスタF_VRの値が更新される(ステップS11_4)とともに、更新された値が、DSP12の、フォルマントボリュームF_VRを記憶するレジスタf_vrに設定される(ステップS11_5)。
【0036】
以下の説明では、数値を記憶するレジスタとレジスタに記憶されている数値とを区別せずに用いて、それらを互いに同一の記号で表す場合がある。また、特に断らない限り、CPU13用の数値やレジスタは大文字のアルファベット、DSP12用の数値やレジスタは小文字のアルファベットで表す。
【0037】
フォルマントボリュームF_VRの変化検出や更新が終わると、次に、ステップS11_2で検出された状態変化が、波形の再生スピードを決める圧縮伸長量TCOMPを指定する操作子の状態変化であるか否かが判定される(ステップS11_6)。そして、圧縮伸長量TCOMPを指定する操作子の状態変化であると判定された場合には、図1に示すCPU13の圧縮伸長量TCOMPを更新する(ステップS11_7)とともに、更新された値をDSP12の圧縮伸長量tcompに設定する(ステップS11_8)。
【0038】
その後、操作子群処理が終了されて、図3に示すメインルーチンに戻る。
【0039】
図5は、図3に示すメインルーチンのステップS12で実行される鍵盤処理ルーチンのフローチャートである。
【0040】
この鍵盤処理ルーチンでは、図1に示す鍵盤17の操作に応じて、再生音の発生消滅を表すゲートフラグgateの値と、基準音高からの再生音高のシフト量p_shiftがDSP12に設定される。
【0041】
この鍵盤処理ルーチンが開始されると、鍵盤17を構成する一連の鍵が走査され(ステップS12_1)、一連の鍵のうちのいずれかの鍵の操作状態に変化が生じたか否かが判定される(ステップS12_2)。
【0042】
操作状態に全く変化が生じていないと判定された場合には、そのまま鍵盤処理ルーチンが終了されて、図3に示すメインルーチンに戻る。一方、操作状態に変化が生じたと判定されると、鍵盤17の全鍵が離鍵状態になったか否かが判定される(ステップS12_3)。そして、全鍵が離鍵状態になったと判定された場合には、ゲートフラグGATEに再生音の消滅を表す値「0」が代入され(ステップS12_10)、CPU13のゲートフラグGATEの値がゲートフラグgateに設定されて(ステップS12_9)、図3に示すメインルーチンに戻る。
【0043】
上述したステップS12_3において、いずれかの鍵が押鍵されていると判定された場合には、現在の操作状態が、全鍵が離鍵されている状態から新規に押鍵された状態であるか否かが判定され(ステップS12_4)、新規に押鍵された状態であると判定された場合には、ゲートフラグGATEに再生音の発生を表す値「1」が代入される(ステップS12_5)。
【0044】
その後、現在押鍵されている1つ以上の鍵それぞれに対応付けられている音高のうちの最高音の音高を表す音高データKEYPが鍵盤17から得られ(ステップS12_6)、その音高データKEYPの値と、所定の基準音高を表すオリジナル音高データORGPの値との比KEYP/ORGPが、基準音高からの再生音高のシフト量P_SHIFTとして代入される(ステップS12_7)。
【0045】
そして、CPU13のシフト量P_SHIFTの現在値がDSP12のシフト量p_shiftに設定され(ステップS12_8)、ゲートフラグGATEの値がゲートフラグgateに設定されて(ステップS12_9)、図3に示すメインルーチンに戻る。
【0046】
図6は、図3に示すメインルーチンのステップS13で実行されるリボンコントローラ処理ルーチンのフローチャートである。
【0047】
このリボンコントローラ処理ルーチンでは、図1に示すリボンコントローラ16の操作に応じて、リボンコントローラ16にタッチされているか否かを表すタッチフラグr_touchの値と、当初にタッチされた位置からの移動量に相当するオフセットoffsetの値がDSP12に設定される。
【0048】
このリボンコントローラ処理ルーチンが開始されると、リボンコントローラ16が現在タッチされているか否かが判定され(ステップS13_1)、タッチされていないと判定されると、タッチフラグR_TOUCHの値として、タッチされていないことを表す値「0」が代入され(ステップS13_9)、そのタッチフラグR_TOUCHの値がDSP12のタッチフラグr_touchに設定されて(ステップS13_8)、図3に示すメインルーチンに戻る。
【0049】
上記ステップS13_1において、リボンコントローラ16が現在タッチされていると判定されると、タッチフラグR_TOUCHの値として、タッチされていることを表す値「1」が代入される(ステップS13_2)。そして、タッチフラグR_TOUCHの値が「0」から「1」に立ち上がった直後である場合、即ち、リボンコントローラが新たにタッチされた直後である場合(ステップS13_3:Y)には、現在のタッチ位置が検出され、そのタッチ位置を示す値が基準位置BPOINTに設定される(ステップS13_4)。また、新たにタッチされた直後であるか否かに関わらず、現在のタッチ位置が検出され、そのタッチ位置を示す値が現在位置POINTに設定される(ステップS13_5)。そして、現在位置POINTと基準位置BPOINTとの差POINT−BPOINTがCPU13のオフセットOFFSETに代入され(ステップS13_6)、そのオフセットOFFSETの値がDSP12のオフセットoffsetに設定される(ステップS13_7)。
【0050】
その後、現在のタッチフラグR_TOUCHの値がDSP12のタッチフラグr_touchに設定されて、図3に示すメインルーチンに戻る。
【0051】
図7は、波形メモリに記憶されている波形の一例を示す波形図である。
【0052】
この図7の横軸は波形メモリのアドレスを示している。
【0053】
波形メモリに記憶されている波形は、予め波形の周期構造が解析され、波形が1周期分ごとに区切られた波形区間が設定されており、各波形区間の開始アドレスsadrs0,sadrs1,sadrs2,…と、各波形区間の長さに相当するピッチspitch0,spitch1,spitch2,…が求められている。これらの波形区間は、本発明にいう再生範囲の一例である。
【0054】
図8は、図1に示す波形メモリ11のデータ構造図である。
【0055】
波形メモリは波形関連データ部11aと波形データ部11bで構成されており、波形関連データ部11aには、波形データの先頭アドレスwavestartと最終アドレスwaveendが記憶されてているとともに、波形データが表す波形が分割されてなる各波形区間の開始位置を表す開始アドレスsadrs0,sadrs1,sadrs2,…と、各波形区間のピッチspitch0,spitch1,spitch2,…が交互に記憶されている。また、波形データ部11bにはPCM波形データが記憶されている。
【0056】
図9は、図1に示すDSP12の動作を表す等価回路図である。
【0057】
この図9には、DSP12の動作を表す等価回路と、上述した波形メモリ11が示されている。
【0058】
この等価回路は、位置情報発生手段20、開始アドレス発生手段21、再生ピッチ周期発生手段22、窓信号発生手段23、アドレス変化信号発生手段24、アドレス発生手段25、読出手段26、窓付与手段27、およびエンベロープ付与手段28で構成されている。また、この等価回路には、CPU13から圧縮伸長量tcompと、タッチフラグr_touchと、オフセットoffsetと、シフト量p_shiftと、ゲートフラグgateと、フォルマントボリュームf_vrが入力される。
【0059】
以下、等価回路の動作を概括説明し、その後、フローチャートを参照して詳細に説明する。
【0060】
この等価回路には、2系統の再生チャンネルが存在し、波形メモリ11からそれらの再生チャンネル用に交互に波形が断片的に読み出される。その後読み出された波形が2系統の再生チャンネルそれぞれで加工され、互いに合成されて再生波形が生成される。
【0061】
位置情報発生手段20は、波形上の位置を表す位置情報sphaseを発生する手段であり、CPU13から入力されたタッチフラグr_touchの値が「0」であるか「1」であるかに応じて、それぞれ、圧縮伸長量tcompあるいはオフセットoffsetを用いて位置情報sphaseの値を求める。また、この位置情報発生手段20は、読出手段26に波形データの先頭アドレスwavestartと最終アドレスwaveendとを波形メモリ11から読み出させて取得する。
【0062】
開始アドレス発生手段21は、読出手段26に、各波形区間の開始アドレスsadrs0,sadrs1,sadrs2,…と、それらの波形区間のピッチspitch0,spitch1,spitch2,…とを波形メモリ11から読み出させて取得し、位置情報発生手段20によって発生された位置情報sphaseに応じた開始アドレスsadrsを、ゲートフラグgateの立ち上がりあるいはパルス信号sp1,sp2の入力を受けて選択出力するとともに、その開始アドレスsadrsに対応するピッチspitchも出力する手段である。
【0063】
再生ピッチ周期発生手段22は、CPU13から入力されたシフト量p_shiftと、開始アドレス発生手段21によって出力されたピッチspitchとに基づいて、再生音の周期を表す再生ピッチpitchを発生するとともに、再生ピッチpitchに従って、上述した2系統の再生チャンネルそれぞれが波形を断片的に読み出す読出タイミングを示すパルス信号sp1,sp2を発生する手段である。
【0064】
窓信号発生手段23は、再生ピッチ周期発生手段22によって発生されたパルス信号sp1,sp2あるいはCPU13から入力されたゲートフラグgateの立ち上がりの入力を受けて、再生ピッチ周期発生手段22によって発生された再生ピッチpitchと、開始アドレス発生手段21によって出力されたピッチspitchとCPU13から入力されたフォルマントボリュームf_vrとに応じた三角波形の窓関数window1,window2を発生するとともに、ゲートフラグgateの立ち上がりあるいは立ち下がりの入力を受けて、再生音を自然に開始停止させるエンベロープ関数envを発生する手段である。
【0065】
アドレス変化信号発生手段24は、再生ピッチ周期発生手段22によって発生されたパルス信号sp1,sp2の入力を受けて、CPU13から入力されたフォルマントボリュームf_vrに応じた鋸歯状のアドレス変化信号pph1,pph2を発生する手段である。
【0066】
アドレス発生手段25は、開始アドレス発生手段21によって選択出力された開始アドレスsadrsと、アドレス変化信号発生手段24によって発生されたアドレス変化信号pph1,pph2とに基づいて、各再生チャンネルが実際に波形メモリ11から波形データを読み出すための読出アドレスadrs1,adrs2を発生する手段である。
【0067】
読出手段26は、アドレス発生手段25によって発生された読出アドレスadrs1,adrs2に従って波形メモリ11から各再生チャンネル用の波形データdata1,data2を読み出す手段である。ただし、アドレス発生手段25は、読出アドレスadrs1,adrs2として小数値も発生するので、読出手段26は、補間技術を用いて、小数値の読出アドレスadrs1,adrs2に応じた波形データdata1,data2を生成する。
【0068】
窓付与手段27は、読出手段26によって波形メモリ11から読み出された各再生チャンネル用の波形データdata1,data2それぞれに対して、窓信号発生手段23によって発生された窓関数window1,window2を作用させるとともに、それらの再生チャンネルの波形データを互いに合成する手段である。
【0069】
エンベロープ付与手段28は、窓付与手段27で合成された波形データに対して、窓信号発生手段23によって発生されたエンベロープ関数envを作用させて再生波形信号を生成する手段である。
【0070】
図10は、図9に示す窓信号発生手段23の構成図である。
【0071】
この窓信号発生手段23には、窓関数制御手段231と、第1の窓関数発生手段232と、第2の窓関数発生手段233と、エンベロープ発生手段234が備えられており、第1および第2の窓関数発生手段232は、上述した2系統の再生チャンネルそれぞれ用の窓関数window1,window2を発生する手段であり、エンベロープ発生手段は、エンベロープ関数envを発生する手段である。
【0072】
窓関数制御手段231は、上述したパルス信号sp1,sp2、ゲートフラグgate、再生ピッチpitch、フォルマントボリュームf_vr、ピッチspitchの入力を受けて、第1の窓関数発生手段232と、第2の窓関数発生手段233と、エンベロープ発生手段234を制御する手段である。
【0073】
図9に示す等価回路は、波形上の位置を示す位置情報sphaseの値に従って波形の再生を行う。ユーザがリボンコントローラ16から指を離している場合には、位置情報sphaseが示す位置は、操作子群18によって指定された圧縮伸長量に相当する移動速度で波形上を移動する。一方、ユーザがリボンコントローラ16に触れている場合には、位置情報sphaseは、ユーザがリボンコントローラ16上に触れている位置に応じた波形上の位置を示す。
【0074】
以下、位置情報sphaseが示す位置が圧縮伸長量に相当する移動速度で波形上を移動する場合における変数値等の変化について波形図を参照して説明する。
【0075】
図11は、波形メモリ11に記憶されている波形が時間軸方向に圧縮も伸長もされずに再生されたときの動作を説明する波形図である。なお、再生音高は、記憶されている原波形の音高よりわずかに低くなるように処理されているものとする。この場合、サンプリングされた一連の音の長さと同じ長さの再生音が放音されることとなる。
【0076】
この図11に示す各波形図の横軸は、時間を示している。
【0077】
図11(H)には、ゲートフラグの値の一例が示されており、図1に示す鍵盤17の鍵が押下されている時は値「1」、全鍵離鍵の時は値「0」となる。
【0078】
図11(G)には、エンベロープ関数envが示されており、ゲートフラグが立ち上がると緩やかに立ち上がり、ゲートフラグが立ち下がると緩やかに立ち下がる。
【0079】
図11(A)には、位置情報sphaseが示している位置の時間変化が示されており、位置情報sphaseが示す位置は、時間経過に従って開始アドレスsadrs0,sadrs1,sadrs2,…を順次に通過する。
【0080】
図11(B)には、開始アドレスsadrs0,sadrs1,sadrs2,…のうち、位置情報sphaseが示す位置を含む波形区間の先頭に相当する開始アドレスが示されている。上述したように、図9に示す開始アドレス発生手段21は、パルス信号sp1,sp2等の入力を受けて開始アドレスを選択出力するものであり、この図11(B)に示されている開始アドレスのうち、選択時刻に対応した開始アドレスsadrsが選択出力されることとなる。
【0081】
図11(C)には、再生音高の2倍の周期で発生されるパルス信号sp1,sp2が示されており、それぞれのパルス信号のタイミングに基づいて2系統の再生チャンネルそれぞれが波形を断片的に読み出す。この断片的な読出しは、各パルス信号のタイミングで開始アドレス発生手段21によって選択された開始アドレスsadrsから開始され、波形区間の約2つ分の波形データが読み出される。
【0082】
図11(D)には、波形データの読出アドレスを開始アドレスsadrsからの変位量で表すアドレス変化信号pph1,pph2が示されており、このアドレス変化信号pph1,pph2の波形は、上述したパルス信号sp1,sp2の立ち上がり毎に値「0」にリセットされる鋸歯状波となる。
【0083】
図11(E)には、各再生チャンネル用に断片的に読み出された波形データdata1,data2が示されており、波形の読出しを開始した開始アドレスも示されている。ここでは、時間軸方向への圧縮伸長が行われていないので、開始アドレスは原波形データの時間的変化とほぼ同じペースで変化して順次に移り変わっている。但し、再生音高が原波形の音高よりもやや低くなるように再生されているため、開始アドレスsadrs8からの波形データは飛び抜けている。
【0084】
図11(F)には、各再生チャンネル用の窓関数window1,window2が示されている。ここに示す三角波の窓関数window1,window2と、各再生チャンネル用の波形データdata1,data2が乗算され、各再生チャンネル用の乗算後の波形データが互いに加算され、更にエンベロープ関数envが乗算されることによって再生波形が生成される。
【0085】
図12は、波形が時間軸方向に圧縮されて再生されたときの動作を説明する波形図である。但し、図11同様に、再生音高が原波形の音高よりもわずかに低くなるように再生される。
【0086】
図12(A)には、位置情報sphaseが示している位置の時間変化が示されており、ここでは、図11(A)に示す時間変化よりも速い時間変化が示されている。このため、図12(A)の位置情報sphaseが示す位置は、図11(A)に示すタイミングよりも早いタイミングで開始アドレスsadrs0,sadrs1,sadrs2,…を通過する。その結果、図12(B)に示す開始アドレスsadrsの変化タイミングは、図11(B)に示す開始アドレスsadrsの変化タイミングよりも早い。
【0087】
図12(C)に示すパルス信号sp1,sp2と、図12(D)に示すアドレス変化信号pph1,pph2は、図11と同じ再生音高を再生するものとして、図11(C)に示すパルス信号sp1,sp2および図11(D)に示すアドレス変化信号pph1,pph2と同じ信号である。
【0088】
上述したように、図12(B)に示す開始アドレスsadrsの変化タイミングが、図11(B)に示す開始アドレスsadrsの変化タイミングよりも早いので、パルス信号sp1,sp2に応じて読み出された、図12(E)に示す断片的な波形データdata1,data2の読出しが開始された開始アドレスには、開始アドレスsadrs3や開始アドレスsadrs6や開始アドレスsadrs10の飛び抜けが生じている。つまり、波形メモリに記憶されている波形データが、所々で波形区間の飛び抜けを生じながら読み出されることとなるので、波形全体の再生時間が飛び抜け分だけ短くなる。
【0089】
図13は、波形が時間軸方向に伸長されて再生されたときの動作を説明する波形図である。ここでも、図11同様に、再生音高が原波形の音高よりもわずかに低くなるように再生される。
【0090】
図13(A)には、位置情報sphaseが示している位置の時間変化が示されており、ここでは、図11(A)に示す時間変化よりも遅い時間変化が示されている。このため、位置情報sphaseが示す位置は、図11(A)に示すタイミングよりも遅いタイミングで開始アドレスsadrs0,sadrs1,sadrs2,…を通過する。そして、図13(B)に示す開始アドレスsadrsの変化タイミングは、図11(B)に示す開始アドレスsadrsの変化タイミングよりも遅い。
【0091】
また、上記と同様に、図13(C)に示すパルス信号sp1,sp2と、図13(D)に示すアドレス変化信号pph1,pph2は、図11と同じ再生音高を再生するものとして、図11(C)に示すパルス信号sp1,sp2および図11(D)に示すアドレス変化信号pph1,pph2と同じ信号である。
【0092】
図12(E)に示す波形データdata1,data2の読出しが開始された開始アドレスに飛び抜けが生じるのとは逆に、図13(E)に示す開始アドレスには、開始アドレスsadrs0や開始アドレスsadrs6で重複が生じており、重複分だけ波形全体の再生時間が長くなる。
【0093】
このように、位置情報sphaseが示す位置が圧縮伸長量に相当する移動速度で波形上を移動する場合には、波形が時間軸方向に圧縮伸長されて再生される。
【0094】
一方、位置情報sphaseが、ユーザがリボンコントローラ16上に触れている位置に応じた波形上の位置を示す場合には、ここでは波形の時間軸方向圧縮伸長技術がそのまま流用され、指定位置を含む波形区間が繰り返し読み出されて自然な音色で再生される。また、リボンコントローラ16上に触れている位置が変化すると、波形上の、位置情報sphaseが示す位置も移動し、再生対象の波形区間が、現在の位置情報sphaseが示す位置を含む波形区間に変化する。
【0095】
図14は、図1に示すDSP12のメインルーチンのフローチャートである。
【0096】
このメインルーチンは、所定のサンプリング周期で繰り返し実行されるルーチンである。
【0097】
このメインルーチンでは、図9に示す等価回路を構成する位置情報発生手段20、開始アドレス発生手段21、再生ピッチ周期発生手段22、窓信号発生手段23、アドレス変化信号発生手段24、アドレス発生手段25、読出手段26、窓付与手段27、およびエンベロープ付与手段28それぞれの動作が順次に実行され(ステップS20〜ステップS28)、最後に、演算された波形信号がDSP12から出力される(ステップS29)。
【0098】
但し、窓信号発生手段23の動作が実行されるステップS23は、図10に示す窓関数制御手段231の動作が実行されるステップS23_1と、第1の窓関数発生手段232、第2の窓関数発生手段233、およびエンベロープ発生手段234の動作が実行されるステップS23_2で構成されている。
【0099】
この図14のフローチャートに示されている各ステップのうち、記号「*」が付されているステップについて以下詳細に説明する。
【0100】
図15は、図9に示す位置情報発生手段20の動作を実行するルーチンのフローチャートである。
【0101】
このルーチンが開始されると、先ず、ゲートフラグgateの値が立ち上がった直後であるか否かが判定され(ステップS20_1)、立ち上がり直後を除く他の時点であると判定されると、タッチフラグr_touchの値が、ユーザの指がリボンコントローラから離れていることを示す値「0」であるか否かが判定される(ステップS20_2)。
【0102】
タッチフラグr_touchの値が「0」であると判定された場合には、ユーザの指はリボンコントローラから離れているので、位置情報sphaseの値を圧縮伸長量tcompだけ歩進する(ステップS20_3)。
【0103】
その後、位置情報sphaseの値が先頭アドレスwavestartよりも小さければ(ステップS20_4:Y)、位置情報sphaseの値として先頭アドレスwavestartが代入され(ステップS20_5)、また、位置情報sphaseの値が最終アドレスwaveendよりも大きければ(ステップS20_6:Y)、位置情報sphaseの値として最終アドレスwaveendが代入される(ステップS20_7)。これによって、位置情報sphaseが示す位置が常に波形上に存在するように制限されている。
【0104】
その後、位置情報sphaseが出力されて(ステップS20_8)、図14に示すDSPのメインルーチンに戻る。
【0105】
上述したステップS20_1において、ゲートフラグgateの値が立ち上がった直後であると判定された場合(ステップS20_1:Y)には、位置情報sphaseの値として先頭アドレスwavestartが代入され(ステップS20_5)、位置情報sphaseの値が最終アドレスwaveend以下であると判定され(ステップS20_6:N)、位置情報sphaseが出力されて(ステップS20_8)、図14に示すDSPのメインルーチンに戻る。
【0106】
また、上述したステップS20_2において、タッチフラグr_touchの値が、ユーザの指がリボンコントローラにタッチしていることを示す値「1」であると判定された場合(ステップS20_2:N)には、タッチフラグr_touchの値が値「0」から値「1」に立ち上がった直後であるか否かが判定される(ステップS20_9)。立ち上がり直後であると判定された場合には、即ち、ユーザの指がリボンコントローラにタッチした直後であるので、タッチ時点で再生されていた波形上の位置を示すタッチポイントtouchpの値として現在の位置情報sphaseの値を代入し(ステップS20_10)、タッチポイントtouchpが示す位置からの移動量を示すカレントオフセットcur_offsetの値をリセットする(ステップS20_11)。
【0107】
その後、カレントオフセットcur_offsetの値を、リボンコントローラ上でのタッチ位置の移動量に相当するオフセットoffsetの値に漸近するように更新する(ステップS20_12)。即ち、カレントオフセットcur_offsetとオフセットoffsetとの差に時定数Kを乗じた値だけカレントオフセットcur_offsetを歩進している。ここでオフセットoffsetの値をカレントオフセットcur_offsetに直接代入していないのは、ユーザが急激に指を動かしたときに再生位置に大きな飛躍が生じて再生音が不自然になることを防ぐためである。
【0108】
ステップS20_12におけるカレントオフセットcur_offsetの更新が終わると、タッチポイントtouchpとカレントオフセットcur_offsetとの和の値が位置情報sphaseに代入され(ステップS20_13)、上記同様に、ステップS20_4〜ステップS20_7において、位置情報sphaseが示す位置が常に波形上に存在するように制限され、位置情報sphaseが出力されて(ステップS20_8)、図14に示すDSPのメインルーチンに戻る。
【0109】
図16は、図9に示す開始アドレス発生手段21の動作を実行するルーチンのフローチャートである。
【0110】
このルーチンが開始されると、先ず、パルス信号sp1、パルス信号sp2、およびゲートフラグgateの値の立ち上がりのうちのいずれかが入力されたか否かが判定され(ステップS21_1)、入力されたと判定された場合には、図9に示す波形メモリ11から読み出された一連の開始アドレスsadrs0,sadrs1,sadrs2,…に基づいて、位置情報sphaseが示す位置を含む波形区間が選択され、その波形区間の開始アドレスおよびピッチが選択出力用の開始アドレスsadrsおよびピッチspitchとして設定される(ステップS21_2)。つまり、位置情報sphaseが示す位置が波形区間を越えて移動しない限り、1つの波形区間が繰り返し再生されることとなる。
【0111】
その後、開始アドレスsadrsが出力され(ステップS21_3)、ピッチspitchが出力されて(ステップS21_4)、図14に示すDSPのメインルーチンに戻る。
【0112】
図17は、図9に示す再生ピッチ周期発生手段22の動作を実行するルーチンのフローチャートである。
【0113】
このルーチンが開始されと、先ず、ゲートフラグgateの値が立ち上がった直後であるか否かが判定され(ステップS22_1)、立ち上がり直後を除く他の時点であると判定されると、鋸歯状波を表す制御変数phaseの値が累増値phincだけ歩進される(ステップS22_2)。そして、制御変数phaseの値が、再生音のピッチpitchに相当する時間だけ累増され続けたことを示す最大値pmaxに達したか否かが判定され(ステップS22_3)、達していないと判定されると、そのままこの図17のルーチンが終了して、図14に示すDSPのメインルーチンに戻る。
【0114】
制御変数phaseの値が最大値pmaxに達したと判定された場合(ステップS22_3:Y)には、制御変数phaseの値が最大値pmaxだけ差し引かれ(ステップS22_4)、上述した2系統の再生チャンネルの別を値「1」と値「−1」で示すフラグff_flgの値が判定される(ステップS22_5)。そして、フラグff_flgの値が負の値「−1」である場合にはパルス信号sp2が出力されてフラグff_flgの値に値「1」が代入され(ステップS22_6)、フラグff_flgの値が正の値「1」である場合にはパルス信号sp1が出力されてフラグff_flgの値に値「−1」が代入される(ステップS22_7)。この結果、2系統の再生チャンネルそれぞれのパルス信号sp1,sp2が交互に出力されることとなる。
【0115】
その後、再生音のピッチpitchの値として、上記開始アドレス発生手段によって選択出力されたピッチspitchと、CPUによって設定されたシフト量p_shiftとの積の値が代入され(ステップS22_8)、そのピッチpitchの値が所定のテーブルで累増値phincに変換されて(ステップS22_9)、図14に示すDSPのメインルーチンに戻る。
【0116】
上述したステップS22_1において、ゲートフラグgateの値が立ち上がった直後であると判定された場合には、制御変数phaseの値が「0」にリセットされ、パルス信号sp1が出力されてフラグff_flgの値に値「−1」が代入される(ステップS22_7)。そして、上記同様に、再生音のピッチpitchの値が設定され(ステップS22_8)、そのピッチpitchの値が累増値phincに変換されて(ステップS22_9)、図14に示すDSPのメインルーチンに戻る。
【0117】
図18は、図10に示す窓関数制御手段231の動作を実行するルーチンのフローチャートである。
【0118】
このルーチンが開始された場合も、先ず、ゲートフラグgateの値が立ち上がった直後であるか否かが判定され(ステップS23_1_1)、立ち上がり直後である場合には、図10に示す第1および第2の窓関数発生手段232,233による窓関数の生成を停止させるストップ指示信号Wstopと、エンベロープ関数envの立ち上がりをエンベロープ発生手段234に指示するエンベロープスタート信号Gstartが出力される(ステップS23_1_2)。また、ゲートフラグgateの値が立ち下がった直後であるか否かも判定され(ステップS23_1_3)、立ち下がり直後である場合には、エンベロープ関数env立ち下がりをエンベロープ発生手段234に指示するエンベロープストップ信号Gstopが出力される(ステップS23_1_4)。
【0119】
その後、パルス信号sp1が入力されたか否かが判定され(ステップS23_1_5)、入力されていないと判定されると、パルス信号sp2が入力されたか否かが判定される(ステップS23_1_13)。そして、パルス信号sp2が入力されていないと判定されると、図14に示すDSPのメインルーチンに戻る。
【0120】
パルス信号sp1が入力されたと判定された場合(ステップS23_1_5:Y)には、第1の再生チャンネル用の窓関数window1について関数生成の制御が行われる。先ず、ピッチspitchにフォルマントボリュームf_vrを乗算した値と、再生音のピッチpitchの値とのうち小さい方の値が判定され(ステップS23_1_6)、その小さい方の値の逆数が、窓関数window1の三角波の傾きwp1として代入される(ステップS23_1_7、ステップS23_1_8)。そして、傾きwp1の値と、窓関数の生成開始を指示するスタート指示信号st1が、図10に示す第1の窓関数発生手段232(WG1)に出力される(ステップS23_1_9)。
【0121】
その後、ここで求められた傾きwp1が、窓関数window2についての傾きwp2の現在値よりも大きいか否かが判定され(ステップS23_1_10)、傾きwp1の方が大きいと判定された場合には、即ち、窓関数window2の三角波が下がりきる前にパルス信号sp2が入力されてしまう事態が生じる可能性があるので、傾きwp2に傾きwp1の値が代入され(ステップS23_1_11)、傾きwp2の値が第2の窓関数発生手段233(WG2)へと出力される(ステップS23_1_12)。
【0122】
上述したステップS23_1_5〜ステップS23_1_12と全く同様に、ステップS23_1_13〜ステップS23_1_20では、第2の再生チャンネル用の窓関数window2について関数生成の制御が行われる。
【0123】
その後、図14に示すDSPのメインルーチンに戻る。
【0124】
図19は、図9に示すアドレス変化信号発生手段24の動作を実行するルーチンのフローチャートである。
【0125】
このルーチンが開始されると、先ず、パルス信号sp1が入力されたか否かが判定される(ステップS24_1)。そして、入力されたと判定された場合には、上述した開始アドレスsadrsに対するアドレス変化分ph1が値「0」にリセットされ(ステップS24_2)、入力されなかったと判定された場合にはアドレス変化分ph1が歩進される(ステップS24_3)。また、パルス信号sp2が入力されたか否かも判定され(ステップS24_4)、上記同様に、入力されたと判定された場合にはアドレス変化分ph2が値「0」にリセットされ(ステップS24_5)、入力されなかったと判定された場合にはアドレス変化分ph2が歩進される(ステップS24_6)。
【0126】
その後、アドレス変化信号pph1,pph2の値として、アドレス変化分ph1,ph2とフォルマントボリュームf_vrとの積が代入され(ステップS24_7)、アドレス変化信号pph1,pph2が出力されて(ステップS24_8)、図14に示すDSPのメインルーチンに戻る。
【0127】
図20は、図9に示すアドレス発生手段25の動作を実行するルーチンのフローチャートである。
【0128】
このルーチンが開始された場合も、先ず、パルス信号sp1が入力されたか否かが判定される(ステップS25_1)。そして、入力されたと判定された場合には、上述した開始アドレス発生手段によって現時点で選択出力されている開始アドレスsadrsの値が、第1の再生チャンネル用の開始アドレスstart1に代入される(ステップS25_2)。また、パルス信号sp2が入力されたか否かも判定され(ステップS25_3)、入力されたと判定された場合には、開始アドレスsadrsの値が、第2の再生チャンネル用の開始アドレスstart2に代入される(ステップS25_4)。
【0129】
その後、波形メモリ11から波形データを読み出すための読出アドレスadrs1,adrs2として、各再生チャンネル用の開始アドレスstart1,start2とアドレス変化信号pph1,pph2との和の値が代入され、読出アドレスadrs1,adrs2が出力されて、図14に示すDSPのメインルーチンに戻る。
【0130】
以上で、図1に示す実施形態の説明を終了する。
【0131】
本発明にいう位置指定操作子は、上述した実施形態に備えられているリボンコントローラに限定されるものではなく、以下説明するような操作子であってもよい。
【0132】
図21は、本発明にいう位置指定操作子の他の一例を示す図である。
【0133】
この操作子30は、図21に示すC方向やD方向に回動自在な操作子である。また、この操作子30はB方向に付勢されており、A方向に押し込むことができる。
【0134】
この操作子30がA方向に押し込まれる操作は、上述したリボンコントローラが触られる操作に相当し、B方向への付勢によって操作子30がB方向に戻る操作は、リボンコントローラから指が離れる操作に相当する。また、操作子30がA方向に押し込まれたままC方向やD方向に回動される操作は、リボンコントローラが擦られる操作に相当する。
【0135】
また、本発明にいう位置指定操作子は、レコードプレーヤのターンテーブルのような形状の回転操作子であってもよい。このような回転操作子による位置指定の効力をオンオフする手段としては、例えば、その回転操作に圧力をかけたことを検出することによってオンオフ制御する手段が考えられる。
【0136】
更に、前述したリボンコントローラのように、リボンコントローラの操作子に波形の一部分を割り当てる方式では、割り当てられた波形部分以外の波形の位置を指示することができないので、リボンコントローラへの操作量を累算して波形の位置を指示するようにしてもよい。つまり、累算量が波形の位置を示すこととなる。また、前述したターンテーブルのような形状の回転操作子でも、ロータリーエンコーダのようなエンドレスに回動自在な操作子を使用して、その走査量の累算で波形の位置を指示すると操作性がよい。
【0137】
なお、上述した実施形態では、再生音の音高は鍵盤操作にのみ依存していたが、本発明の波形再生装置は、位置指定操作子によって指定された位置の変化速度に応じた音高で波形を再生するものであってもよい。指定位置の変化速度に応じた音高で波形を再生する実施形態は、上記説明した実施形態のフローチャートを一部分変更することによって実現することができる。
【0138】
以下、フローチャートの変更部分について説明する。
【0139】
図22は、リボンコントローラ処理ルーチンのフローチャートに対する変更部分を示す図である。
【0140】
この図22に示すステップS13_5aは、図6に示すステップS13_5に代えて実行されるステップである。
【0141】
図6に示すステップS13_5では、タッチ位置が検出されて現在位置POINTに設定されるだけであるのに対して、この図22に示すステップS13_5aでは、更に、前回検出されたタッチ位置と今回検出されたタッチ位置との差によって操作速度が算出されてCPUの速度Vに設定され、DSPの速度vに設定される。
【0142】
図23は、再生ピッチ周期発生手段の動作を実行するフローチャートに対する変更部分を示す図である。
【0143】
この図23に示すステップS22_8aは、図17に示すステップS22_8に代えて実行されるステップである。
【0144】
図17に示すステップS22_8では、再生音のピッチpitchの値として、波形区間のピッチspitchとシフト量p_shiftとの積の値が代入されるが、この図23に示すステップS22_8aでは、再生音のピッチpitchの値として、波形区間のピッチspitchとシフト量p_shiftとの積の値に対して、更に圧縮伸長量tcompと速度vとの比を乗算した値が代入される。
【0145】
このように、図6および図17に示すフローチャートが部分的に変更されることによって、指定位置の移動速度に応じた音高での波形再生が実現される。このような再生動作を行う波形再生装置では、いわゆるスクラッチと呼ばれる、アナログレコードを手で動かして「キュッ」という音を鳴らす演奏に似た演奏が可能となる。
【0146】
なお、上述したようなリボンコントローラや操作子は、位置指定の効力をオンオフする手段と一体のものであるが、本発明にいう位置指定操作子は、オン状態とオフ状態とが、ペダルスイッチのような別の操作子で切り替えられるものであってもよい。
【0147】
また、上記実施形態では、フォルマントボリュームf_vr指定用の操作子によって指定されたフォルマントボリュームf_vrの値に従って波形が再生されるが、本発明の波形再生装置は、上述したフォルマントボリュームf_vrの値を指定位置の移動速度に応じた値に変化させて波形を再生するものであってもよい。
【0148】
上述した波形区間は、波形が1周期分ごとに区切られたものであるが、1周期分に限定されるものではなく、複数周期分ごとに区切られたものであってもよい。また、本発明にいう再生範囲は、このように予め区切られた波形区間に限定されるものではなく、例えば波形上の指定位置から2周期先までといった範囲であってもよい。
【0149】
また更に、本発明の波形再生装置を実現するために利用する技術は、上述した時間軸圧縮伸長技術に限定されるものではない。
【0150】
【発明の効果】
以上説明したように、本発明の波形再生装置によれば、ユーザは、波形上の再生位置を直接指定することができ、かつ、再生位置を連続変更することができる。その結果、豊かな音楽表現を実現することができる。
【図面の簡単な説明】
【図1】本発明の波形再生装置の一実施形態を示す図である。
【図2】リボンコントローラを用いた位置指定操作の説明図である。
【図3】CPUのメインルーチンのフローチャートである。
【図4】操作子群処理ルーチンのフローチャートである。
【図5】鍵盤処理ルーチンのフローチャートである。
【図6】リボンコントローラ処理ルーチンのフローチャートである。
【図7】波形メモリに記憶されている波形の一例を示す波形図である。
【図8】波形メモリのデータ構造図である。
【図9】DSPの動作を表す等価回路図である。
【図10】窓信号発生手段の構成図である。
【図11】波形メモリに記憶されている波形が時間軸方向に圧縮も伸長もされずに再生されたときの動作を説明する波形図である。
【図12】波形が時間軸方向に圧縮されて再生されたときの動作を説明する波形図である。
【図13】波形が時間軸方向に伸長されて再生されたときの動作を説明する波形図である。
【図14】DSPのメインルーチンのフローチャートである。
【図15】位置情報発生手段の動作を実行するルーチンのフローチャートである。
【図16】開始アドレス発生手段の動作を実行するルーチンのフローチャートである。
【図17】再生ピッチ周期発生手段の動作を実行するルーチンのフローチャートである。
【図18】窓関数制御手段の動作を実行するルーチンのフローチャートである。
【図19】アドレス変化信号発生手段の動作を実行するルーチンのフローチャートである。
【図20】アドレス発生手段の動作を実行するルーチンのフローチャートである。
【図21】本発明にいう位置指定操作子の他の一例を示す図である。
【図22】リボンコントローラ処理ルーチンのフローチャートに対する変更部分を示す図である。
【図23】再生ピッチ周期発生手段の動作を実行するフローチャートに対する変更部分を示す図である。
【符号の説明】
10 波形再生装置
11 波形メモリ
11a 波形関連データ部
11b 波形データ部
12 DSP
13 CPU
14 RAM
15 ROM
16 リボンコントローラ
17 鍵盤
18 操作子群
19 D/A変換器
20 位置情報発生手段
21 開始アドレス発生手段
22 再生ピッチ周期発生手段
23 窓信号発生手段
24 アドレス変化信号発生手段
25 アドレス発生手段
26 読出手段
27 窓付与手段
28 エンベロープ付与手段
30 操作子
231 窓関数制御手段
232 第1の窓関数発生手段
233 第2の窓関数発生手段
234 エンベロープ発生手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a waveform reproduction device for reproducing a series of stored waveforms.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a waveform reproducing apparatus that stores a series of waveforms in the form of a musical sound signal obtained by sampling a series of sounds such as musical sounds in a sampler or the like and reproduces the waveforms is known.
[0003]
In Japanese Patent Laid-Open No. 11-52954, in order to enrich the music expression at the time of reproduction of a sampled musical sound signal, the waveform reproduction speed can be controlled to reproduce the waveform faster or slower, and the reproduction speed is set to “0”. A waveform reproduction apparatus that can also be reproduced by stopping the reproduction position on the waveform by setting to, and further reproducing in the direction of turning the time axis of the waveform by setting the reproduction speed to a negative speed. Proposed.
[0004]
[Problems to be solved by the invention]
However, if the waveform reproduction speed is controlled as in the previous period, it is difficult to reproduce the waveform position desired by the performer, and the performance operation is very difficult.
[0005]
Therefore, there is a demand for a waveform reproducing apparatus that can reproduce sampled musical sound signals with rich musical expressions and easy performance operations.
[0006]
In view of the above circumstances, the present invention allows a user to directly specify a playback position on a waveform, and to reproduce a musical sound with rich musical expression desired by the user with an easy performance operation. An object is to provide an apparatus.
[0007]
[Means for Solving the Problems]
The waveform reproduction apparatus of the present invention that achieves the above object includes waveform storage means for storing a series of waveforms,
A position specification operator that specifies the position on the waveform stored in the waveform storage means and allows the specified position to be changed continuously. The position control is an ON state in which the position specification is valid and an OFF state in which the position specification is invalid. A position specification operator that can be switched between,
When the position specifying operator is in the ON state, the position specified by the position specifying operator on the series of waveforms stored in the waveform storage means is included in the reproduction range determined according to the specified position. When the position is reproduced and the playback range is changed according to the continuous change of the specified position and the position specifying operator is in the OFF state, the series of waveforms stored in the waveform storage means are changed to the series of waveforms. When playback is performed while moving the playback position at a desired speed, and the position specifying operator is switched from the OFF state to the ON state, the progress of the playback position on the waveform is delayed, and the playback position is set. And a waveform reproduction means for shifting to waveform reproduction at a designated position.
[0008]
Here, the position designation operator may be switched between an on state and an off state by an operation of the position designation operator itself, and is an operator (for example, a pedal operator) independent of the position designation operator. It may be switched by an operation or the like.
[0009]
Further, the waveform reproducing means may be one that sequentially reproduces the reproduction range when in the on state, or one that reproduces the reproduction range randomly. Furthermore, the reproduction range may include only the designated position.
[0010]
According to the waveform reproducing apparatus of the present invention, a series of sounds such as musical sounds are sampled and stored in advance in the waveform storage means, and when the user turns off the position specifying operator, the stored series of sounds are reproduced. It is played back at the desired speed. Then, when listening to the reproduced sound, the user switches the state of the position specifying operator to the on state and directly designates the position of the sound having a desired tone color among the series of sounds. Thus, the sound at the designated position is reproduced repeatedly. When the user continuously changes the designated position by the position designation operator, the reproduction position is continuously changed according to the continuous change.
[0011]
As a result, the user can easily find and specify the position of the sound desired to be reproduced on the waveform, and can realize the musical sound reproduction with rich music expression by an easy performance operation.
[0012]
Further, the waveform reproducing device of the present invention is
It is preferable that the waveform reproducing means acquires pitch information indicating the pitch of the divided waveform and reproduces the waveform at the pitch indicated by the pitch information.
[0013]
According to the waveform reproducing apparatus having such a preferable configuration, it is possible to perform performances using, for example, a keyboard or a MIDI signal input device.
[0014]
Furthermore, in the waveform reproduction apparatus of the present invention, the waveform reproduction means may reproduce the waveform at a pitch corresponding to the speed of changing the designated position by the position designation operator.
[0015]
According to the waveform reproducing device having the waveform reproducing means for reproducing the waveform at a pitch corresponding to the speed of changing the designated position, the operation speed can be increased to a so-called scratch that is performed by moving an analog record by hand. Correspondingly, an effect of changing the pitch of the reproduced sound can be obtained.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described.
[0017]
FIG. 1 is a diagram showing an embodiment of a waveform reproducing device of the present invention.
[0018]
The waveform reproducing device 10 is a kind of electronic musical instrument, and is a device that designates a position on a series of stored waveforms and reproduces a sound represented by a waveform around the position as a performance sound. Here, as will be described below, a time-axis compression / expansion technique that compresses and expands the waveform in the time-axis direction is used to reproduce a waveform near a specified position on the waveform with a natural tone color.
[0019]
The waveform reproduction apparatus 10 includes a waveform memory 11, a DSP 12, a CPU 13, a RAM 14, a ROM 15, a ribbon controller 16, a keyboard 17, an operator group 18, and a D / A converter 19. The waveform memory 11 stores a series of waveforms obtained by sampling a series of sounds as PCM (Pulse Code Modulation) waveform data. Therefore, the waveform memory 11 is an example of the waveform storage means referred to in the present invention. Further, the CPU 13 detects the operation state of the ribbon controller 16, the keyboard 17, and the operator group 18, and controls the DSP 12 according to the detection result. As will be described later, the waveform stored in the waveform memory 11 is reproduced by the DSP 12. That is, the DSP 12 and the CPU 13 constitute an example of the waveform reproducing means referred to in the present invention.
[0020]
The ROM 15 stores a program representing the operation of the CPU 13 and the DSP 12, and the program representing the operation of the DSP 12 is transferred to the DSP 12 by the CPU 13. The RAM 14 is used as a working memory for the CPU 13.
[0021]
The ribbon controller 16 is an example of a position designation operator according to the present invention, and designates a position on the waveform stored in the waveform memory 11.
[0022]
The keyboard 17 instructs the CPU 13 to start and end waveform reproduction. In addition, pitch information indicating the pitch associated with the pressed key is input to the CPU 13 to specify the pitch at the time of waveform reproduction. The pitch is specified by the pitch shift amount corresponding to the pitch between the pitch associated with the key pressed by the performance operation and the predetermined reference pitch.
[0023]
The operator group 18 is for instructing the CPU 13 of the waveform compression / decompression amount and the like. The operators included in the operator group 18 will be described later as appropriate.
[0024]
The D / A converter 19 converts a digital signal corresponding to the waveform reproduced by the DSP 12 into an analog signal, and emits a sound corresponding to the analog signal from the speaker 19a.
[0025]
FIG. 2 is an explanatory diagram of a position specifying operation using the ribbon controller 16.
[0026]
The upper part of FIG. 2 shows a waveform 11a represented by the waveform data stored in the waveform memory 11, and the lower part shows a ribbon controller 16.
[0027]
When the user's finger F is away from the ribbon controller 16, the position designation is invalid, and the waveform 11a is reproduced at a predetermined reproduction speed. Then, when the user touches the ribbon controller 16 with the finger F, the position designation by the ribbon controller 16 becomes effective, and any part on the ribbon controller 16 is reproduced when the finger F on the waveform 11a touches. The position P is handled as specified. Further, the ribbon controller 16 can detect the position where the user's finger F is touching, and if the finger F moves in the A1 direction or the B1 direction shown in the figure while touching the ribbon controller 16, it will be on the waveform 11a. The designated position moves continuously in the A2 direction and the B2 direction.
[0028]
FIG. 3 is a flowchart of the main routine of the CPU 13 shown in FIG.
[0029]
When the main routine of the CPU 13 is started, initialization is first performed (step S10).
[0030]
Then, an operator group processing routine for detecting the operation state of the operator group 18 shown in FIG. 1 and performing processing in accordance with the operation state is executed (step S11), and the operation state of the keyboard 17 is detected and changed to the operation state. A keyboard processing routine for performing a corresponding process is executed (step S12), and a ribbon controller processing routine for detecting an operation state of the ribbon controller 16 and performing a process according to the operation state is executed (step S13).
[0031]
Thereafter, steps S11 to S13 are repeatedly executed.
[0032]
FIG. 4 is a flowchart of the operator group processing routine executed in step S11 of the main routine shown in FIG.
[0033]
In this operator group processing routine, the value of the formant volume representing the size of the instrument or person as a resonator, and the waveform reproduction speed are set according to the operation of the operator group 18 shown in FIG. The control group 18 includes control elements other than the control elements for setting the formant volume value, the reproduction speed value, and the like, but the description thereof is omitted here.
[0034]
When this operator group processing routine is started, a series of operators included in the operator group 18 shown in FIG. 1 is scanned (step S11_1), and any one of the series of operators is selected. It is determined whether or not a state change has occurred (step S11_2).
[0035]
If it is determined that no state change has occurred, the operator group processing is terminated as it is, and the process returns to the main routine shown in FIG. On the other hand, if it is determined that a state change has occurred, it is determined whether or not the state change is a state change of an operator that designates a formant volume F_VR representing the size of a musical instrument or a person as a resonator. S11_3). If it is determined that the state of the operator specifying the formant volume F_VR is changed, the value of the register F_VR storing the formant volume F_VR of the CPU 13 shown in FIG. 1 is updated (step S11_4). The updated value is set in the register f_vr for storing the formant volume F_VR of the DSP 12 (step S11_5).
[0036]
In the following description, a register that stores a numerical value and a numerical value that is stored in the register may be used without distinction, and they may be represented by the same symbol. Unless otherwise specified, numerical values and registers for the CPU 13 are represented by capital letters, and numerical values and registers for the DSP 12 are represented by small letters.
[0037]
When the change detection or update of the formant volume F_VR is completed, it is next determined whether or not the state change detected in step S11_2 is a state change of an operator that specifies the compression / decompression amount TCOMP that determines the waveform reproduction speed. (Step S11_6). If it is determined that the state of the operator specifying the compression / decompression amount TCOMP is changed, the compression / decompression amount TCOMP of the CPU 13 shown in FIG. 1 is updated (step S11_7), and the updated value is updated by the DSP 12. The compression / decompression amount tcomp is set (step S11_8).
[0038]
Thereafter, the operator group processing is terminated, and the process returns to the main routine shown in FIG.
[0039]
FIG. 5 is a flowchart of the keyboard processing routine executed in step S12 of the main routine shown in FIG.
[0040]
In this keyboard processing routine, in accordance with the operation of the keyboard 17 shown in FIG. 1, the value of the gate flag gate indicating the generation and disappearance of the reproduced sound and the shift amount p_shift of the reproduced pitch from the reference pitch are set in the DSP 12. .
[0041]
When this keyboard processing routine is started, a series of keys constituting the keyboard 17 are scanned (step S12_1), and it is determined whether or not a change has occurred in the operation state of any one of the series of keys. (Step S12_2).
[0042]
If it is determined that no change has occurred in the operation state, the keyboard processing routine is terminated as it is, and the process returns to the main routine shown in FIG. On the other hand, if it is determined that the operation state has changed, it is determined whether or not all keys on the keyboard 17 have been released (step S12_3). If it is determined that all keys have been released, the value “0” representing the disappearance of the reproduced sound is substituted for the gate flag GATE (step S12_10), and the value of the gate flag GATE of the CPU 13 is the gate flag. gate is set (step S12_9), and the process returns to the main routine shown in FIG.
[0043]
If it is determined in step S12_3 described above that any key is depressed, is the current operation state a state where a new key is depressed from a state where all keys are released? It is determined whether or not (step S12_4), and if it is determined that the key is newly pressed, a value “1” representing the occurrence of the reproduced sound is substituted for the gate flag GATE (step S12_5).
[0044]
Thereafter, pitch data KEYP representing the pitch of the highest pitch among the pitches associated with each of the one or more keys currently pressed is obtained from the keyboard 17 (step S12_6). A ratio KEYP / ORGP between the value of the data KEYP and the value of the original pitch data ORGP representing a predetermined reference pitch is substituted as a playback pitch shift amount P_SHIFT from the reference pitch (step S12_7).
[0045]
Then, the current value of the shift amount P_SHIFT of the CPU 13 is set to the shift amount p_shift of the DSP 12 (step S12_8), the value of the gate flag GATE is set to the gate flag gate (step S12_9), and the process returns to the main routine shown in FIG. .
[0046]
FIG. 6 is a flowchart of the ribbon controller processing routine executed in step S13 of the main routine shown in FIG.
[0047]
In this ribbon controller processing routine, in accordance with the operation of the ribbon controller 16 shown in FIG. 1, the value of the touch flag r_touch indicating whether or not the ribbon controller 16 is touched and the amount of movement from the initially touched position are set. The corresponding offset offset value is set in the DSP 12.
[0048]
When this ribbon controller processing routine is started, it is determined whether or not the ribbon controller 16 is currently touched (step S13_1). If it is determined that the ribbon controller 16 is not touched, it is touched as the value of the touch flag R_TOUCH. A value “0” indicating that there is no value is substituted (step S13_9), the value of the touch flag R_TOUCH is set to the touch flag r_touch of the DSP 12 (step S13_8), and the process returns to the main routine shown in FIG.
[0049]
If it is determined in step S13_1 that the ribbon controller 16 is currently touched, a value “1” indicating that the ribbon controller 16 is touched is substituted as the value of the touch flag R_TOUCH (step S13_2). If the value of the touch flag R_TOUCH has just risen from “0” to “1”, that is, if the ribbon controller has just been touched (step S13_3: Y), the current touch position Is detected, and a value indicating the touch position is set as the reference position BPOINT (step S13_4). Also, regardless of whether or not it is immediately after a new touch, the current touch position is detected, and a value indicating the touch position is set as the current position POINT (step S13_5). Then, the difference POINT−BPOINT between the current position POINT and the reference position BPOINT is substituted for the offset OFFSET of the CPU 13 (step S13_6), and the value of the offset OFFSET is set to the offset offset of the DSP 12 (step S13_7).
[0050]
Thereafter, the value of the current touch flag R_TOUCH is set to the touch flag r_touch of the DSP 12, and the process returns to the main routine shown in FIG.
[0051]
FIG. 7 is a waveform diagram showing an example of a waveform stored in the waveform memory.
[0052]
The horizontal axis of FIG. 7 indicates the address of the waveform memory.
[0053]
The waveform stored in the waveform memory is obtained by analyzing the periodic structure of the waveform in advance and setting a waveform section in which the waveform is divided every one period. The start addresses sadrs0, sadrs1, sadrs2,. And pitches pitch0, pitch1, pitch2,... Corresponding to the length of each waveform section. These waveform sections are examples of the reproduction range referred to in the present invention.
[0054]
FIG. 8 is a data structure diagram of the waveform memory 11 shown in FIG.
[0055]
The waveform memory is composed of a waveform-related data part 11a and a waveform data part 11b. The waveform-related data part 11a stores the start address wavestart and the final address waveend of the waveform data, and the waveform represented by the waveform data. Are alternately stored as start addresses sadrs0, sadrs1, sadrs2,... Representing the start position of each waveform section and pitches pitch0, pitch1, pitch2,. The waveform data portion 11b stores PCM waveform data.
[0056]
FIG. 9 is an equivalent circuit diagram showing the operation of the DSP 12 shown in FIG.
[0057]
FIG. 9 shows an equivalent circuit representing the operation of the DSP 12 and the waveform memory 11 described above.
[0058]
This equivalent circuit comprises position information generating means 20, start address generating means 21, reproduction pitch period generating means 22, window signal generating means 23, address change signal generating means 24, address generating means 25, reading means 26, and window providing means 27. , And envelope applying means 28. Further, the compression / expansion amount tcomp, the touch flag r_touch, the offset offset, the shift amount p_shift, the gate flag gate, and the formant volume f_vr are input to the equivalent circuit from the CPU 13.
[0059]
Hereinafter, the operation of the equivalent circuit will be generally described, and then described in detail with reference to a flowchart.
[0060]
In this equivalent circuit, there are two playback channels, and waveforms are alternately read out of the waveform memory 11 for those playback channels. Thereafter, the read waveform is processed by each of the two playback channels and synthesized with each other to generate a playback waveform.
[0061]
The position information generation means 20 is a means for generating position information phase representing the position on the waveform, and depending on whether the value of the touch flag r_touch input from the CPU 13 is “0” or “1”, The value of the position information phase is obtained using the compression / decompression amount tcomp or offset offset, respectively. In addition, the position information generating means 20 causes the reading means 26 to read out the waveform data start address wavestart and final address waveend from the waveform memory 11 and obtain them.
[0062]
The start address generating means 21 causes the reading means 26 to read out the start addresses sadrs0, sadrs1, sadrs2,... Of each waveform section and the pitches pitch0, pitch1, pitch2,. The start address sadrs corresponding to the position information phase generated by the position information generating means 20 is selected and output in response to the rise of the gate flag gate or the input of the pulse signals sp1 and sp2, and corresponds to the start address sadrs. It is also means for outputting a pitch pitch.
[0063]
Based on the shift amount p_shift input from the CPU 13 and the pitch pitch output from the start address generating unit 21, the playback pitch cycle generation unit 22 generates a playback pitch pitch indicating the cycle of the playback sound, and plays back the playback pitch. This is means for generating pulse signals sp1 and sp2 indicating the read timing at which each of the two reproduction channels described above reads out the waveform piecewise in accordance with the pitch.
[0064]
The window signal generation means 23 receives the pulse signals sp1 and sp2 generated by the reproduction pitch period generation means 22 or the rising edge of the gate flag gate input from the CPU 13, and receives the reproduction generated by the reproduction pitch period generation means 22. Triangular waveform window functions window1 and window2 corresponding to the pitch pitch, the pitch pitch output by the start address generator 21 and the formant volume f_vr input from the CPU 13 are generated, and the rise or fall of the gate flag gate is generated. This is a means for receiving an input and generating an envelope function env that naturally starts and stops the reproduced sound.
[0065]
The address change signal generating means 24 receives the pulse signals sp1 and sp2 generated by the reproduction pitch period generating means 22, and receives sawtooth address change signals pph1 and pph2 corresponding to the formant volume f_vr input from the CPU 13. It is a means to generate.
[0066]
Based on the start address sadrs selected and output by the start address generation means 21 and the address change signals pph1 and pph2 generated by the address change signal generation means 24, the address generation means 25 actually stores each reproduction channel in the waveform memory. 11 is a means for generating read addresses adrs1 and adrs2 for reading waveform data from 11.
[0067]
The reading means 26 is means for reading the waveform data data1 and data2 for each reproduction channel from the waveform memory 11 in accordance with the read addresses adrs1 and adrs2 generated by the address generating means 25. However, since the address generation means 25 also generates decimal values as the read addresses adrs1 and adrs2, the read means 26 generates waveform data data1 and data2 corresponding to the read values adrs1 and adrs2 of decimal values using an interpolation technique. To do.
[0068]
The window providing means 27 causes the window functions window 1 and window 2 generated by the window signal generating means 23 to act on the waveform data data 1 and data 2 for each reproduction channel read from the waveform memory 11 by the reading means 26. A means for synthesizing the waveform data of these reproduction channels with each other.
[0069]
The envelope applying means 28 is a means for generating a reproduced waveform signal by applying the envelope function env generated by the window signal generating means 23 to the waveform data synthesized by the window applying means 27.
[0070]
FIG. 10 is a block diagram of the window signal generating means 23 shown in FIG.
[0071]
The window signal generating means 23 includes a window function control means 231, a first window function generating means 232, a second window function generating means 233, and an envelope generating means 234. The second window function generating means 232 is means for generating the window functions window 1 and window 2 for the two playback channels described above, and the envelope generating means is means for generating the envelope function env.
[0072]
The window function control unit 231 receives the pulse signals sp1 and sp2, the gate flag gate, the reproduction pitch pitch, the formant volume f_vr, and the pitch pitch, and receives the first window function generation unit 232 and the second window function. This is a means for controlling the generating means 233 and the envelope generating means 234.
[0073]
The equivalent circuit shown in FIG. 9 reproduces the waveform according to the value of the position information sphase indicating the position on the waveform. When the user lifts his / her finger from the ribbon controller 16, the position indicated by the position information “sphase” moves on the waveform at a moving speed corresponding to the compression / decompression amount specified by the operator group 18. On the other hand, when the user touches the ribbon controller 16, the position information “phase” indicates a position on the waveform corresponding to the position where the user touches the ribbon controller 16.
[0074]
Hereinafter, changes in variable values and the like in the case where the position indicated by the position information phase moves on the waveform at a moving speed corresponding to the compression / decompression amount will be described with reference to the waveform diagrams.
[0075]
FIG. 11 is a waveform diagram for explaining the operation when the waveform stored in the waveform memory 11 is reproduced without being compressed or expanded in the time axis direction. Note that the playback pitch is processed so as to be slightly lower than the pitch of the stored original waveform. In this case, a reproduced sound having the same length as the length of a series of sampled sounds is emitted.
[0076]
The horizontal axis of each waveform diagram shown in FIG. 11 indicates time.
[0077]
FIG. 11H shows an example of the value of the gate flag. The value “1” is displayed when the key on the keyboard 17 shown in FIG. 1 is pressed, and the value “0” is displayed when all keys are released. "
[0078]
FIG. 11G shows the envelope function env, which rises gently when the gate flag rises and falls gently when the gate flag falls.
[0079]
FIG. 11A shows the time change of the position indicated by the position information sphase, and the position indicated by the position information sphase sequentially passes through the start addresses sadrs0, sadrs1, sadrs2,. .
[0080]
FIG. 11B shows the start address corresponding to the head of the waveform section including the position indicated by the position information sphase among the start addresses sadrs0, sadrs1, sadrs2,. As described above, the start address generating means 21 shown in FIG. 9 receives and inputs the pulse signals sp1, sp2, etc., and outputs the start address. The start address shown in FIG. Of these, the start address sadrs corresponding to the selected time is selected and output.
[0081]
FIG. 11C shows pulse signals sp1 and sp2 that are generated with a period twice as high as the reproduction pitch, and each of the two reproduction channels fragments a waveform based on the timing of each pulse signal. Read out automatically. This fragmentary reading is started from the start address sadrs selected by the start address generating means 21 at the timing of each pulse signal, and the waveform data for about two waveform sections are read.
[0082]
FIG. 11D shows address change signals pph1 and pph2 that represent the read address of the waveform data by the amount of displacement from the start address sadrs. The waveforms of the address change signals pph1 and pph2 are the pulse signals described above. A sawtooth wave is reset to the value “0” at each rise of sp1 and sp2.
[0083]
FIG. 11E shows waveform data data1 and data2 that are read out piecewise for each reproduction channel, and also shows the start address at which the waveform reading is started. Here, since the compression / expansion in the time axis direction is not performed, the start address changes at the same pace as the temporal change of the original waveform data, and changes sequentially. However, since the reproduction pitch is reproduced so as to be slightly lower than the pitch of the original waveform, the waveform data from the start address sadrs8 is skipped.
[0084]
FIG. 11 (F) shows window functions window1 and window2 for each reproduction channel. The triangular wave window functions window 1 and window 2 shown here are multiplied by the waveform data data 1 and data 2 for each reproduction channel, the waveform data after multiplication for each reproduction channel are added together, and the envelope function env is further multiplied. To generate a reproduced waveform.
[0085]
FIG. 12 is a waveform diagram for explaining the operation when the waveform is compressed and reproduced in the time axis direction. However, as in FIG. 11, the reproduction pitch is reproduced so as to be slightly lower than the pitch of the original waveform.
[0086]
FIG. 12A shows a time change of the position indicated by the position information “phase”. Here, a time change faster than the time change shown in FIG. 11A is shown. For this reason, the position indicated by the position information sphase in FIG. 12A passes through the start addresses sadrs0, sadrs1, sadrs2,... At a timing earlier than the timing shown in FIG. As a result, the change timing of the start address sadrs shown in FIG. 12B is earlier than the change timing of the start address sadrs shown in FIG.
[0087]
The pulse signals sp1 and sp2 shown in FIG. 12C and the address change signals pph1 and pph2 shown in FIG. 12D reproduce the same playback pitch as that shown in FIG. 11, and the pulses shown in FIG. These are the same signals as the signals sp1 and sp2 and the address change signals pph1 and pph2 shown in FIG.
[0088]
As described above, since the change timing of the start address sadrs shown in FIG. 12B is earlier than the change timing of the start address sadrs shown in FIG. 11B, the read address is read according to the pulse signals sp1 and sp2. The start address sadrs3, the start address sadrs6, and the start address sadrs10 are skipped at the start address where the reading of the fragmented waveform data data1 and data2 shown in FIG. That is, since the waveform data stored in the waveform memory is read out with skipping of the waveform sections in some places, the reproduction time of the entire waveform is shortened by the skipping amount.
[0089]
FIG. 13 is a waveform diagram for explaining the operation when the waveform is reproduced while being expanded in the time axis direction. Here, as in FIG. 11, the reproduction pitch is reproduced so that it is slightly lower than the pitch of the original waveform.
[0090]
FIG. 13A shows a time change of the position indicated by the position information “phase”. Here, a time change slower than the time change shown in FIG. 11A is shown. For this reason, the position indicated by the position information phase passes through the start addresses sadrs0, sadrs1, sadrs2,... At a timing later than the timing shown in FIG. The change timing of the start address sadrs shown in FIG. 13B is later than the change timing of the start address sadrs shown in FIG.
[0091]
Similarly to the above, the pulse signals sp1 and sp2 shown in FIG. 13C and the address change signals pph1 and pph2 shown in FIG. 13D reproduce the same playback pitch as in FIG. This is the same signal as the pulse signals sp1 and sp2 shown in FIG. 11C and the address change signals pph1 and pph2 shown in FIG.
[0092]
Contrary to the occurrence of skipping at the start address where the reading of the waveform data data1 and data2 shown in FIG. 12 (E) is started, the start address shown in FIG. 13 (E) includes the start address sadrs0 and the start address sadrs6. Overlap occurs, and the reproduction time of the entire waveform becomes longer by the overlap.
[0093]
As described above, when the position indicated by the position information phase moves on the waveform at a moving speed corresponding to the compression / expansion amount, the waveform is compressed and expanded in the time axis direction and reproduced.
[0094]
On the other hand, when the position information “phase” indicates the position on the waveform corresponding to the position where the user touches the ribbon controller 16, the time-axis compression / decompression technique of the waveform is used as it is and includes the designated position. The waveform section is repeatedly read and reproduced with a natural tone. When the position touching the ribbon controller 16 is changed, the position indicated by the position information sphase on the waveform is also moved, and the waveform section to be reproduced is changed to a waveform section including the position indicated by the current position information sphase. To do.
[0095]
FIG. 14 is a flowchart of the main routine of the DSP 12 shown in FIG.
[0096]
This main routine is a routine that is repeatedly executed at a predetermined sampling period.
[0097]
In this main routine, the position information generating means 20, the start address generating means 21, the reproduction pitch period generating means 22, the window signal generating means 23, the address change signal generating means 24, and the address generating means 25 constituting the equivalent circuit shown in FIG. The operations of the reading unit 26, the window applying unit 27, and the envelope applying unit 28 are sequentially executed (step S20 to step S28). Finally, the calculated waveform signal is output from the DSP 12 (step S29).
[0098]
However, step S23 in which the operation of the window signal generation means 23 is executed is the same as step S23_1 in which the operation of the window function control means 231 shown in FIG. 10 is executed, the first window function generation means 232, and the second window function. The generation unit 233 and the operation of the envelope generation unit 234 are configured in step S23_2.
[0099]
Of the steps shown in the flowchart of FIG. 14, the steps marked with the symbol “*” will be described in detail below.
[0100]
FIG. 15 is a flowchart of a routine for executing the operation of the position information generating means 20 shown in FIG.
[0101]
When this routine is started, it is first determined whether or not the value of the gate flag gate has risen (step S20_1). If it is determined that it is at a time other than immediately after the rise, the touch flag r_touch is determined. Is determined to be a value “0” indicating that the user's finger is away from the ribbon controller (step S20_2).
[0102]
If it is determined that the value of the touch flag r_touch is “0”, the user's finger is away from the ribbon controller, and the value of the position information phase is incremented by the compression / decompression amount tcomp (step S20_3).
[0103]
Thereafter, if the value of the position information “phase” is smaller than the start address “wavestart” (step S20_4: Y), the start address “wavestart” is substituted as the value of the position information “phase” (step S20_5), and the value of the position information “phase” is the final address waveend. If greater than (step S20_6: Y), the final address waveend is substituted as the value of the position information sphase (step S20_7). Accordingly, the position indicated by the position information “phase” is limited so that it always exists on the waveform.
[0104]
After that, the position information “phase” is output (step S20_8), and the process returns to the DSP main routine shown in FIG.
[0105]
In step S20_1 described above, when it is determined that the value of the gate flag gate has just risen (step S20_1: Y), the start address wavestart is substituted as the position information phase value (step S20_5). It is determined that the value of “phase” is equal to or smaller than the final address “waveend” (step S20_6: N), the position information “phase” is output (step S20_8), and the process returns to the main routine of the DSP shown in FIG.
[0106]
If it is determined in step S20_2 described above that the value of the touch flag r_touch is a value “1” indicating that the user's finger is touching the ribbon controller (step S20_2: N), the touch is performed. It is determined whether or not the value of the flag r_touch is immediately after rising from the value “0” to the value “1” (step S20_9). If it is determined that it is immediately after the start-up, that is, immediately after the user's finger touches the ribbon controller, the current position as the value of the touch point touchp indicating the position on the waveform reproduced at the time of the touch. The value of information phase is substituted (step S20_10), and the value of the current offset cur_offset indicating the amount of movement from the position indicated by the touch point touchp is reset (step S20_11).
[0107]
Thereafter, the value of the current offset cur_offset is updated so as to gradually approach the value of the offset offset corresponding to the movement amount of the touch position on the ribbon controller (step S20_12). That is, the current offset cur_offset is incremented by a value obtained by multiplying the difference between the current offset cur_offset and the offset offset by the time constant K. The reason why the offset offset value is not directly assigned to the current offset cur_offset is to prevent the playback sound from becoming unnatural due to a large jump in the playback position when the user suddenly moves his / her finger. .
[0108]
When the update of the current offset cur_offset in step S20_12 is finished, the value of the sum of the touch point touchp and the current offset cur_offset is substituted for the position information phase (step S20_13). The position indicated by is always limited to be present on the waveform, the position information “phase” is output (step S20_8), and the process returns to the DSP main routine shown in FIG.
[0109]
FIG. 16 is a flowchart of a routine for executing the operation of the start address generating means 21 shown in FIG.
[0110]
When this routine is started, it is first determined whether or not any one of the pulse signal sp1, the pulse signal sp2 and the rising edge of the gate flag gate has been input (step S21_1), and it is determined that it has been input. In this case, a waveform section including the position indicated by the position information sphase is selected based on a series of start addresses sadrs0, sadrs1, sadrs2,... Read from the waveform memory 11 shown in FIG. The start address and the pitch are set as the selection output start address sadrs and pitch pitch (step S21_2). That is, as long as the position indicated by the position information “phase” does not move beyond the waveform section, one waveform section is repeatedly reproduced.
[0111]
Thereafter, the start address sadrs is output (step S21_3), the pitch pitch is output (step S21_4), and the process returns to the main routine of the DSP shown in FIG.
[0112]
FIG. 17 is a flowchart of a routine for executing the operation of the reproduction pitch period generating means 22 shown in FIG.
[0113]
When this routine is started, it is first determined whether or not the value of the gate flag gate has risen (step S22_1). If it is determined that it is at a time other than immediately after the rise, a sawtooth wave is generated. The value of the control variable “phase” to be represented is incremented by the progressive value “phinc” (step S22_2). Then, it is determined whether or not the value of the control variable phase has reached the maximum value pmax indicating that the value has been continuously increased for a time corresponding to the pitch pitch of the reproduced sound (step S22_3), and it is determined that it has not been reached. Then, the routine of FIG. 17 is finished as it is, and the process returns to the main routine of the DSP shown in FIG.
[0114]
When it is determined that the value of the control variable phase has reached the maximum value pmax (step S22_3: Y), the value of the control variable phase is subtracted by the maximum value pmax (step S22_4), and the two playback channels described above The value of the flag ff_flg indicating the difference between the value “1” and the value “−1” is determined (step S22_5). When the value of the flag ff_flg is a negative value “−1”, the pulse signal sp2 is output and the value “1” is substituted for the value of the flag ff_flg (step S22_6), and the value of the flag ff_flg is positive. When the value is “1”, the pulse signal sp1 is output and the value “−1” is substituted for the value of the flag ff_flg (step S22_7). As a result, the pulse signals sp1 and sp2 of the two reproduction channels are output alternately.
[0115]
Thereafter, the value of the product of pitch pitch selected and output by the start address generating means and shift amount p_shift set by the CPU is substituted as the pitch pitch value of the reproduced sound (step S22_8). The value is converted into a progressive value phinc in a predetermined table (step S22_9), and the process returns to the DSP main routine shown in FIG.
[0116]
If it is determined in step S22_1 described above that the value of the gate flag gate has just risen, the value of the control variable phase is reset to “0”, the pulse signal sp1 is output, and the value of the flag ff_flg is set. The value “−1” is substituted (step S22_7). Then, similarly to the above, the value of the pitch pitch of the reproduced sound is set (step S22_8), the value of the pitch pitch is converted into the progressive value phinc (step S22_9), and the process returns to the DSP main routine shown in FIG.
[0117]
FIG. 18 is a flowchart of a routine for executing the operation of the window function control means 231 shown in FIG.
[0118]
Also when this routine is started, it is first determined whether or not the value of the gate flag gate has risen (step S23_1_1). If it has just been risen, the first and second shown in FIG. The stop instruction signal Wstop for stopping the generation of the window function by the window function generation means 232 and 233 and the envelope start signal Gstart for instructing the envelope generation means 234 to rise of the envelope function env are output (step S23_1_2). It is also determined whether or not the value of the gate flag gate has just fallen (step S23_1_3). If it is just after the fall, the envelope stop signal Gstop for instructing the envelope generating means 234 to fall the envelope function env. Is output (step S23_1_4).
[0119]
Thereafter, it is determined whether or not the pulse signal sp1 is input (step S23_1_5). If it is determined that the pulse signal sp2 is not input, it is determined whether or not the pulse signal sp2 is input (step S23_1_13). When it is determined that the pulse signal sp2 has not been input, the process returns to the DSP main routine shown in FIG.
[0120]
When it is determined that the pulse signal sp1 is input (step S23_1_5: Y), function generation control is performed for the window function window1 for the first reproduction channel. First, the smaller value of the value obtained by multiplying the pitch pitch by the formant volume f_vr and the value of the pitch pitch of the reproduced sound is determined (step S23_1_6), and the reciprocal of the smaller value is the triangular wave of the window function window1 Is substituted as a slope wp1 (step S23_1_7, step S23_1_8). Then, the value of the slope wp1 and the start instruction signal st1 instructing the start of window function generation are output to the first window function generating means 232 (WG1) shown in FIG. 10 (step S23_1_9).
[0121]
Thereafter, it is determined whether or not the slope wp1 obtained here is larger than the current value of the slope wp2 for the window function window2 (step S23_1_10), and if it is determined that the slope wp1 is larger, Since there is a possibility that the pulse signal sp2 is input before the triangular wave of the window function window2 is lowered, the value of the slope wp1 is substituted for the slope wp2 (step S23_1_11), and the value of the slope wp2 is the second value. Is output to the window function generating means 233 (WG2) (step S23_1_12).
[0122]
In exactly the same manner as in steps S23_1_5 to S23_1_12 described above, in step S23_1_13 to step S23_1_20, function generation control is performed for the window function window2 for the second reproduction channel.
[0123]
Thereafter, the process returns to the DSP main routine shown in FIG.
[0124]
FIG. 19 is a flowchart of a routine for executing the operation of the address change signal generator 24 shown in FIG.
[0125]
When this routine is started, first, it is determined whether or not the pulse signal sp1 is input (step S24_1). If it is determined that the address has been input, the address change ph1 with respect to the start address sadrs described above is reset to the value “0” (step S24_2). If it is determined that the address has not been input, the address change ph1 is set. The step is advanced (step S24_3). It is also determined whether or not the pulse signal sp2 has been input (step S24_4). If it is determined that the pulse signal sp2 has been input, the address change ph2 is reset to the value “0” (step S24_5) and input. If it is determined that there is no address, the address change ph2 is incremented (step S24_6).
[0126]
Thereafter, the product of the address change amount ph1, ph2 and the formant volume f_vr is substituted as the value of the address change signal pph1, pph2 (step S24_7), and the address change signal pph1, pph2 is output (step S24_8). Return to the main routine of the DSP shown in FIG.
[0127]
FIG. 20 is a flowchart of a routine for executing the operation of the address generating means 25 shown in FIG.
[0128]
Even when this routine is started, it is first determined whether or not the pulse signal sp1 is input (step S25_1). If it is determined that it has been input, the value of the start address sadrs currently selected and output by the above-described start address generating means is substituted for the start address start1 for the first reproduction channel (step S25_2). ). It is also determined whether or not the pulse signal sp2 has been input (step S25_3). If it is determined that the pulse signal sp2 has been input, the value of the start address sadrs is substituted into the start address start2 for the second playback channel ( Step S25_4).
[0129]
Thereafter, as the read addresses adrs1 and adrs2 for reading the waveform data from the waveform memory 11, the sum of the start addresses start1 and start2 for each reproduction channel and the address change signals pph1 and pph2 is substituted, and the read addresses adrs1 and adrs2 Is output to return to the DSP main routine shown in FIG.
[0130]
Above, description of embodiment shown in FIG. 1 is complete | finished.
[0131]
The position specifying operator referred to in the present invention is not limited to the ribbon controller provided in the above-described embodiment, and may be an operator described below.
[0132]
FIG. 21 is a diagram showing another example of the position specifying operator according to the present invention.
[0133]
The operation element 30 is an operation element that is rotatable in the C direction and the D direction shown in FIG. Further, the operation element 30 is biased in the B direction and can be pushed in the A direction.
[0134]
The operation in which the operating element 30 is pushed in the A direction corresponds to the operation in which the ribbon controller is touched, and the operation in which the operating element 30 returns to the B direction by urging in the B direction is an operation in which the finger is released from the ribbon controller. It corresponds to. Further, the operation of rotating the operation element 30 in the C direction or the D direction while being pushed in the A direction corresponds to the operation of rubbing the ribbon controller.
[0135]
Further, the position specifying operator referred to in the present invention may be a rotary operator shaped like a turntable of a record player. As a means for turning on / off the effect of position designation by such a rotary operation element, for example, a means for performing on / off control by detecting that pressure has been applied to the rotation operation can be considered.
[0136]
Further, in the method of assigning a part of the waveform to the operation unit of the ribbon controller as in the ribbon controller described above, the position of the waveform other than the assigned waveform part cannot be indicated, so the operation amount to the ribbon controller is accumulated. The position of the waveform may be indicated by calculation. That is, the accumulated amount indicates the position of the waveform. In addition, even with a rotary operator shaped like a turntable as described above, using an endlessly rotatable operator such as a rotary encoder, the operability can be improved by indicating the position of the waveform by accumulating the scanning amount. Good.
[0137]
In the above-described embodiment, the pitch of the reproduced sound depends only on the keyboard operation. However, the waveform reproducing device of the present invention has a pitch according to the change speed of the position specified by the position specifying operator. The waveform may be reproduced. The embodiment in which the waveform is reproduced with the pitch corresponding to the change speed of the designated position can be realized by partially changing the flowchart of the above-described embodiment.
[0138]
Hereinafter, the changed part of the flowchart will be described.
[0139]
FIG. 22 is a diagram showing a changed portion of the flowchart of the ribbon controller processing routine.
[0140]
Step S13_5a shown in FIG. 22 is a step executed in place of step S13_5 shown in FIG.
[0141]
In step S13_5 shown in FIG. 6, the touch position is only detected and set to the current position POINT, whereas in step S13_5a shown in FIG. 22, the touch position detected last time and this time are further detected. The operation speed is calculated based on the difference from the touched position, set to the CPU speed V, and set to the DSP speed v.
[0142]
FIG. 23 is a diagram showing a part changed from the flowchart for executing the operation of the reproduction pitch period generating means.
[0143]
Step S22_8a shown in FIG. 23 is a step executed in place of step S22_8 shown in FIG.
[0144]
In step S22_8 shown in FIG. 17, the value of the product of the pitch pitch of the waveform section and the shift amount p_shift is substituted as the pitch pitch value of the reproduced sound. In step S22_8a shown in FIG. As the pitch value, a value obtained by multiplying the product of the pitch pitch of the waveform section and the shift amount p_shift by the ratio between the compression / decompression amount tcomp and the speed v is substituted.
[0145]
As described above, by partially changing the flowcharts shown in FIGS. 6 and 17, waveform reproduction at a pitch corresponding to the moving speed of the designated position is realized. In the waveform reproducing apparatus that performs such a reproducing operation, it is possible to perform a performance similar to a performance called “scratch” in which an analog record is moved by hand to make a sound of “ku”.
[0146]
The ribbon controller and the operation element as described above are integrated with a means for turning on / off the position designation effect. However, the position designation operation element according to the present invention has an ON state and an OFF state, which are It may be switched with another operation element.
[0147]
In the above embodiment, the waveform is reproduced according to the value of the formant volume f_vr specified by the operator for specifying the formant volume f_vr. However, the waveform reproducing apparatus of the present invention uses the value of the formant volume f_vr described above as the designated position. The waveform may be reproduced by changing to a value corresponding to the moving speed.
[0148]
The waveform section described above is one in which the waveform is divided every one period, but is not limited to one period, and may be divided every plural periods. In addition, the reproduction range referred to in the present invention is not limited to the waveform section divided in advance in this way, and may be, for example, a range from a specified position on the waveform to two cycles ahead.
[0149]
Furthermore, the technique used for realizing the waveform reproduction apparatus of the present invention is not limited to the above-described time axis compression / decompression technique.
[0150]
【The invention's effect】
As described above, according to the waveform reproduction device of the present invention, the user can directly designate the reproduction position on the waveform and can continuously change the reproduction position. As a result, rich music expression can be realized.
[Brief description of the drawings]
FIG. 1 is a diagram showing an embodiment of a waveform reproducing device of the present invention.
FIG. 2 is an explanatory diagram of a position designation operation using a ribbon controller.
FIG. 3 is a flowchart of a main routine of a CPU.
FIG. 4 is a flowchart of an operator group processing routine.
FIG. 5 is a flowchart of a keyboard processing routine.
FIG. 6 is a flowchart of a ribbon controller processing routine.
FIG. 7 is a waveform diagram showing an example of a waveform stored in a waveform memory.
FIG. 8 is a data structure diagram of a waveform memory.
FIG. 9 is an equivalent circuit diagram showing the operation of the DSP.
FIG. 10 is a configuration diagram of a window signal generating means.
FIG. 11 is a waveform diagram for explaining the operation when the waveform stored in the waveform memory is reproduced without being compressed or expanded in the time axis direction.
FIG. 12 is a waveform diagram for explaining the operation when the waveform is compressed and reproduced in the time axis direction.
FIG. 13 is a waveform diagram for explaining the operation when the waveform is reproduced by being expanded in the time axis direction.
FIG. 14 is a flowchart of a DSP main routine.
FIG. 15 is a flowchart of a routine for executing the operation of the position information generating means.
FIG. 16 is a flowchart of a routine for executing the operation of the start address generating means.
FIG. 17 is a flowchart of a routine for executing the operation of the reproduction pitch period generation means.
FIG. 18 is a flowchart of a routine for executing the operation of the window function control means.
FIG. 19 is a flowchart of a routine for executing the operation of the address change signal generating means.
FIG. 20 is a flowchart of a routine for executing the operation of the address generating means.
FIG. 21 is a diagram showing another example of the position specifying operator according to the present invention.
FIG. 22 is a diagram showing a changed part of the flowchart of the ribbon controller processing routine.
FIG. 23 is a diagram showing a change to the flowchart for executing the operation of the reproduction pitch period generation means.
[Explanation of symbols]
10 Waveform playback device
11 Waveform memory
11a Waveform related data part
11b Waveform data part
12 DSP
13 CPU
14 RAM
15 ROM
16 Ribbon controller
17 keyboard
18 controls
19 D / A converter
20 Location information generating means
21 Start address generation means
22 Reproduction pitch period generating means
23 Window signal generating means
24 Address change signal generating means
25 Address generation means
26 Reading means
27 Window giving means
28 Envelope giving means
30 operator
231 Window function control means
232 First window function generating means
233 Second window function generating means
234 Envelope generating means

Claims (3)

複数の波形区間からなる一連の波形を記憶する波形記憶手段と、
オン状態とオフ状態とがあり、オン状態の時に操作されている位置を出力する位置指定操作子と、
波形記憶手段に記憶されている波形上の位置を表す位置情報を出力する手段であって、前記位置指定操作子がオフ状態の時、位置情報を所定の速度で移動させ、前記位置指定操作子がオフ状態からオン状態に切り換わった時に操作された位置を基準位置とし、前記位置指定操作子がオン状態の時、位置情報を基準位置からの操作量に応じた位置に移動させる位置情報発生手段と、
位置情報が表す波形上の位置を含む波形区間を選択する波形区間選択手段と、
選択された波形区間の波形を所望の速度で繰り返し再生する再生手段とを備えたことを特徴とする波形再生装置。
Waveform storage means for storing a series of waveforms consisting of a plurality of waveform sections;
There is an on state and an off state, and a position specifying operator that outputs the position being operated when in the on state,
Means for outputting position information representing the position on the waveform stored in the waveform storage means, and when the position specifying operator is in an off state, the position specifying operator is moved at a predetermined speed; Position information generation that moves the position information to a position corresponding to the amount of operation from the reference position when the position specifying operator is in the on state, with the position operated when the is switched from the off state to the on state as the reference position Means,
Waveform section selection means for selecting a waveform section including a position on the waveform represented by the position information;
A waveform reproduction apparatus comprising: reproduction means for repeatedly reproducing a waveform of a selected waveform section at a desired speed.
前記再生手段は、指定された音高に応じた速度で波形を再生するものであることを特徴とする請求項1記載の波形再生装置。  2. The waveform reproducing apparatus according to claim 1, wherein the reproducing means reproduces a waveform at a speed corresponding to a designated pitch. 前記再生手段は、前記位置指定操作子に対する操作の速度に応じた速度で波形を再生するものであることを特徴とする請求項1記載の波形再生装置。  2. The waveform reproduction apparatus according to claim 1, wherein the reproduction means reproduces a waveform at a speed corresponding to an operation speed for the position specifying operator.
JP37206899A 1999-12-28 1999-12-28 Waveform playback device Expired - Fee Related JP4213835B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37206899A JP4213835B2 (en) 1999-12-28 1999-12-28 Waveform playback device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37206899A JP4213835B2 (en) 1999-12-28 1999-12-28 Waveform playback device

Publications (2)

Publication Number Publication Date
JP2001188543A JP2001188543A (en) 2001-07-10
JP4213835B2 true JP4213835B2 (en) 2009-01-21

Family

ID=18499797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37206899A Expired - Fee Related JP4213835B2 (en) 1999-12-28 1999-12-28 Waveform playback device

Country Status (1)

Country Link
JP (1) JP4213835B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4294204B2 (en) 2000-06-29 2009-07-08 ローランド株式会社 Waveform playback device

Also Published As

Publication number Publication date
JP2001188543A (en) 2001-07-10

Similar Documents

Publication Publication Date Title
JP5232480B2 (en) Effect device
JP4475323B2 (en) Musical sound generator and program
JP2007011217A (en) Musical sound synthesizer and program
JP5533892B2 (en) Performance equipment
JP6728702B2 (en) Electronic audio equipment
JP4213835B2 (en) Waveform playback device
JP4170525B2 (en) Waveform readout device
JP4506147B2 (en) Performance playback device and performance playback control program
JP3933583B2 (en) Electronic musical instruments
JP4236570B2 (en) Waveform playback device and waveform playback program
JP4246869B2 (en) Audio waveform signal playback control device
JP3760714B2 (en) Musical sound control parameter generation method, musical sound control parameter generation device, and recording medium
JP6700891B2 (en) Control device for pedal operator
JP3095018B2 (en) Music generator
JPH07191669A (en) Electronic musical instrument
JP4057700B2 (en) Waveform playback device
JP4172335B2 (en) Automatic accompaniment generator and program
JP4835434B2 (en) Performance pattern playback device and computer program therefor
JP2773175B2 (en) Electronic musical instrument
JPH10288987A (en) Electronic musical instrument and musical sound control data generating device
JP4302898B2 (en) Automatic performance device, automatic performance method and storage medium
JP2526032Y2 (en) Electronic musical instrument
JP4162766B2 (en) Performance information generating apparatus and automatic performance apparatus
JP2006292954A (en) Electronic musical instrument
JP6665541B2 (en) Electroacoustic device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080805

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081002

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: 20081028

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: 20081031

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

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 3

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: 20111107

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121107

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131107

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees