(57)【特許請求の範囲】
【請求項１】
複数の波形が時系列に並べられて成る波形列の波形データを記憶する記憶手段と、
音高情報を入力する音高情報入力手段と、
該波形データの再生位置を表すものであって再生音高とは関係のない変化速度で変化する時間情報を発生する時間情報発生手段と、
該時間情報および該音高情報に対応し、かつ該時間情報の変化速度とは関係しない所望の読出し速度で該記憶手段から波形データを読み出す読出し手段を含み、該読み出される波形データを該音高情報入力手段の音高情報に対応した再生音高で再生する再生手段とを備えた波形発生装置。
【請求項２】
該時間情報の変化速度を変える第１の制御情報を入力する第１制御情報入力手段をさらに備え、
該時間情報発生手段は、入力される該第１制御情報に応じて時間情報の変化速度を変える手段を備えた請求項１記載の波形発生装置。
【請求項３】
該時間情報発生手段はカウンタで構成され、入力される該第１の制御情報に応じてカウンタの歩進量を変える請求項２記載の波形発生装置。
【請求項４】
該読出し手段は、該時間情報で示される位置の少なくとも１周期の波形を含む波形区間を、該音高情報に対応した周期で、かつ該時間情報の変化速度とは関係しない所望の読出し速度で読み出すように構成され、
該波形データをそのホルマントを維持したまま該再生音高に変換するよう構成された請求項１〜３のいずれかに記載の波形発生装置。
【請求項５】
該再生手段は、２つの処理系を持ち、各処理系では該再生音高の２倍長に対応した周期で前記波形データの少なくとも１周期の波形を発生し、該２つの処理系の出力を最終的に足し合わせることで、該波形データを該再生音高に変換するものである請求項４記載の波形発生装置。
【請求項６】
該波形列中の波形のホルマントを変更する変更情報を入力するホルマント変更情報入力手段を備え、
該読出し手段は、該変更情報がホルマントを低域側にシフトするものであるときは該波形区間の読出し速度を遅く制御し、該変更情報がホルマントを高域側にシフトするものであるときは該波形区間の読出し速度を速く制御するように構成された請求項４または５に記載の波形発生装置。
【請求項７】
複数の波形が時系列に並べられて成る波形列の波形データを記憶する記憶手段と、
該波形データの再生速度を表す再生速度情報を入力する再生速度情報入力手段と、
音高情報を入力する音高情報入力手段と、
該再生速度情報に対応した再生速度で、かつ該音高情報に対応した音高で前記記憶手段の波形データを再生する再生手段とを備えた波形発生装置であって、
前記記憶手段には波形データとともに、該波形列の時間軸上の一以上の位置を示すマーク情報を記憶し、
前記再生手段は、該波形データの再生位置が該マーク情報の示す位置に達したら該波形データの再生位置の進行を抑制する制御を行う第１の制御手段を備えた波形発生装置。
【請求項８】
前記再生手段は、該波形データの再生位置を表すものであって該再生速度情報に対応した変化速度で変化する時間情報を発生する時間情報発生手段と、該時間情報に対応する該波形列の波形データを前記記憶手段から読み出す読出し手段とを備え、該読み出される波形データを該音高情報入力手段の音高情報に対応した再生音高で再生するもので、
前記第１の制御手段は、該時間情報発生手段の時間情報が該マーク情報の示す位置に達したら該時間情報の進行を抑制する制御を行うものである請求項７記載の波形発生装置。
【請求項９】
複数の波形が時系列に並べられて成る波形列の波形データを記憶する記憶手段と、
該波形データの再生速度を表す再生速度情報を入力する再生速度情報入力手段と、
音高情報を入力する音高情報入力手段と、
該再生速度情報に対応した再生速度で、かつ該音高情報に対応した音高で前記記憶手段の波形データを再生する再生手段とを備えた波形発生装置であって、
前記記憶手段には波形データとともに、該波形列の時間軸上の一以上の位置を示すマーク情報を記憶し、
再生位置の進行を制御するための第２の制御情報を入力する第２制御情報入力手段を備え、
前記再生手段は、該第２の制御情報に応じて該波形データの再生位置が該マーク情報の示す位置に達したら該波形データの再生位置の進行を抑制し、また該進行が抑制された状態を解除する制御を行う第２の制御手段
を備えた波形発生装置。
【請求項１０】
前記再生手段は、該波形データの再生位置を表すものであって、該再生速度情報に対応した変化速度で変化する時間情報を発生する時間情報発生手段と、該時間情報に対応する該波形列の波形データを前記記憶手段から読み出す読出し手段とを備え、該読み出される波形データを該音高情報入力手段の音高情報に対応した再生音高で再生するもので、
前記第２の制御手段は、該第２の制御情報に応じて該時間情報発生手段の時間情報が該マーク情報の示す位置に達したら該時間情報の進行を抑制し、また該進行が抑制された状態を解除する制御を行うものである請求項９記載の波形発生装置。
【請求項１１】
複数の波形が時系列に並べられて成る波形列の波形データを記憶する記憶手段と、
該波形データの再生速度を表す再生速度情報を入力する再生速度情報入力手段と、
音高情報を入力する音高情報入力手段と、
該再生速度情報に対応した再生速度で、かつ該音高情報に対応した音高で前記記憶手段の波形データを再生する再生手段とを備えた波形発生装置であって、
前記記憶手段には波形データとともに、該波形列の時間軸上の一以上の位置を示すマーク情報を記憶し、
再生位置の進行を制御するための第３の制御情報を入力する第３制御情報入力手段を備え、
前記再生手段は、該第３の制御情報に応じて該波形データの再生位置を該マーク情報の示す位置までジャンプする制御を行う第３の制御手段
を備えた波形発生装置。
【請求項１２】
前記再生手段は、該波形データの再生位置を表すものであって、該再生速度情報に対応した変化速度で変化する時間情報を発生する時間情報発生手段と、該時間情報に対応する該波形列の波形データを前記記憶手段から読み出す読出し手段とを備え、該読み出される波形データを該音高情報入力手段の音高情報に対応した再生音高で再生するもので、
前記第３の制御手段は、該第３の制御情報に応じて該位置情報発生手段の位置情報を該マーク情報の示す位置までジャンプする制御を行うものである請求項１１記載の波形発生装置。
【請求項１３】
該再生速度情報入力手段は、該波形データの再生速度を表す再生速度情報を時間経過に従ってリアルタイムで順次入力するものである請求項７〜１２のいずれかに記載の波形発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子楽器の波形発生装置、更に詳しくはメモリに記憶された各種サウンドの波形データを読み出して再生する波形発生装置に関する。
かかる波形発生装置は例えばサンプラと呼ばれているような電子楽器に用いることができる。
【０００２】
従来の一般的な波形発生装置は、録音した波形を再生するにあたり、その再生速度（したがって再生時間）を元の波形の録音速度（録音時間）よりも速くしたり遅くしようとする場合には、その再生せんとする再生速度に応じて、メモリからの波形の読出し速度（読出しクロックの速さ）を変えている。この方法による場合、再生された波形はピッチが元波形のものと変わってしまうという問題点がある。
【０００３】
この問題点を解決する従来の技術として、波形データのタイムストレッチ技術を使用して、再生時間に応じてメモリの波形データに圧縮あるいは伸張処理を施し、予めタイムストレッチした波形データを作成しておいて、その波形データを再生する方法があった。しかし、この方法による場合には、予めタイムストレッチの処理を施す必要があるため、リアルタイムで任意に制御することができなかった。さらに、そのタイムストレッチ処理が施された波形データの再生音高を変化させようとするために波形データの読出し速度を変化させると、再生時間も変化してしまうという問題点もあった。このように、従来のタイムストレッチ技術では、時間軸の圧縮および音高の変化を独立して、かつリアルタイムで制御することはできなかった。
【０００４】
その他、上記問題点を解決する別の従来技術として、メモリからの波形の読出し速度を変化させることによって再生時間を変化させ、その変化させた結果生じる再生波形のピッチの変化をピッチ変換装置によって補正する方法も考えられる。この方法はリアルタイムで再生時間の制御が可能であるが、ピッチ変換装置の変換能力は低く、再生時間の制御範囲が狭く制限される。特に、波形の読出し速度を遅くする場合に不便さを感じる。
例えば、メモリの読出し速度を非常に遅くして長い再生時間に制御しようとする場合、ピッチ変換装置では元の波形データを再現することはできなくなってしまう。
さらに、このような技術では、読出し速度の変化によりピッチ変換装置におけるピッチ変換量も変化してしまうため、再生速度（再生時間）の制御と再生ピッチの制御とを独立して行おうとすると、非常に複雑な制御が必要になってしまう。
【０００５】
また、従来の波形発生装置では、通常、再生せんとする音高に対応した波形読出し速度で波形を連続的に再生するだけで、再生の停止指示をすればその時の位置で波形再生が停止され、再び開始指示をすれば、その開始指示された音高に対応した波形読出し速度で先頭位置から再び波形再生が開始されるだけであり、演奏表現として単調的である。
【０００６】
本発明はかかる問題点に鑑みてなされたものであり、波形の再生速度とピッチとをリアルタイムで任意に変えることができるようにすることを一つの目的とする。
また、波形の再生の進行を例えばシラブル（音節）単位で停止・開始させたり、次のシラブルまでジャンプさせるなどできるようにして新たな表現効果を実現し、演奏等の表現を一層豊富にすることも目的とする。
【０００７】
【課題を解決するための手段および作用】上述の課題を解決するために、本発明に係る波形発生装置は、第１の形態として、複数の波形が時系列に並べられて成る波形列の波形データを記憶する記憶手段と、音高情報を入力する音高情報入力手段と、該波形データの再生位置を表すものであって再生音高とは関係のない変化速度で変化する時間情報を発生する時間情報発生手段と、該時間情報および該音高情報に対応し、かつ該時間情報の変化速度とは関係しない所望の読出し速度で該記憶手段から波形データを読み出す読出し手段を含み、該読み出される波形データを該音高情報入力手段の音高情報に対応した再生音高で再生する再生手段とを備える。この波形発生装置では、時間情報発生手段の時間情報の変化速度で波形列の再生速度が決まり、この時間情報の変化速度は再生音高とは無関係である。よって再生手段により、この時間情報および音高情報に対応し、かつ時間情報の変化速度とは関係のない所望の読出し速度で波形データを読み出して、その波形データを音高情報で指示される再生音高で再生すると、波形列の再生速度と再生音高とを独立に調整できるようになる。
【０００８】
上述の波形発生装置は、第２の形態として、該時間情報の変化速度を変える第１の制御情報を入力する第１制御情報入力手段をさらに備え、該時間情報発生手段は、入力される該第１制御情報に応じて時間情報の変化速度を変える手段を備えるように構成できる。なお、該第１の制御情報は、例えば値を予め設定するための時間圧伸操作子やリアルタイムで操作する変調レバー等の操作に対応して発生するものである。
さらに、第３の形態として、時間情報発生手段をカウンタで構成し、第１の制御情報によってこのカウンタの歩進量を変えるように構成できる。
このように、第１制御情報入力手段で入力する第１の制御情報により時間情報の変化速度を変え、それにより波形列の再生速度を任意に変化させることができる。この場合においても、再生音高は再生速度により変化しない。
【０００９】
また上述の波形発生装置は、第４の形態として、該読出し手段は、少なくとも１周期の波形を含む波形区間を、音高情報に対応した周期で、かつ時間情報の変化速度とは関係しない所望の読出し速度で読み出すことで、該波形区間の波形データを該再生音高に変換するよう構成できる。
この構成によれば、少なくとも１周期の波形を含む波形区間を読み出す所望の読出し速度として、その波形をサンプリングしたときと同じ速度で読み出すことにより、その波形データのホルマント特性を維持したまま、前記再生音高で再生することが可能となる。
【００１０】
また上述の波形発生装置は、第５の形態として、該再生手段は、２つの処理系を持ち、各処理系では該再生音高の２倍長に対応した周期で前記記憶手段の波形データの少なくとも１周期の波形を発生し、該２つの処理系の出力を最終的に足し合わせることで、該波形区間の波形データを該再生音高に変換するよう構成できる。
【００１１】
また上述の波形発生装置は、第６の形態として、該波形列中の波形のホルマントを変更する変更情報を入力するホルマント変更情報入力手段を備え、該読出し手段は、該変更情報がホルマントを低域側にシフトするものであるときには該波形区間の波形データの読出し速度を遅く制御し、該変更情報がホルマントを高域側にシフトするものであるときには該波形区間の波形データの読出し速度を速く制御して読み出すよう構成できる。
このように構成することで、ホルマント変更情報入力手段により変更情報を入力することで、再生する波形のホルマントを高域側にシフトさせたり低域側にシフトさせたりすることができる。
【００１２】
また、本発明に係る波形発生装置は、第７の形態として、複数の波形が時系列に並べられて成る波形列の波形データを記憶する記憶手段と、該波形データの再生速度を表す再生速度情報を入力する再生速度情報入力手段と、音高情報を入力する音高情報入力手段と、該再生速度情報に対応した再生速度で、かつ該音高情報に対応した音高で前記記憶手段の波形データを再生する再生手段とを備えた波形発生装置であって、前記記憶手段には波形データとともに、該波形列の時間軸上の一以上の位置を示すマーク情報を記憶し、前記再生手段は、該波形データの再生位置が該マーク情報の示す位置に達したら該波形データの再生位置の進行を抑制する制御を行う第１の制御手段を備える。
また、第８の形態として、前記再生手段は前記再生速度情報に対応した変化速度で変化する時間情報を発生する時間情報発生手段と、該時間情報に対応する波形列の波形データを記憶手段から読み出す読出し手段とを備え、前記時間情報発生手段の時間情報が該マーク情報の示す位置に達したら該時間情報の進行を抑制する制御を行う第１の制御手段を備える。
この波形発生装置によれば、波形の再生速度を再生音高とを独立に調整することができる。また、波形再生の進行をマーク情報の示す位置、例えばシラブル毎の位置で停止させたりすることができる。
【００１３】
また、本発明に係る波形発生装置は、第９の形態として、複数の波形が時系列に並べられて成る波形列の波形データを記憶する記憶手段と、該波形データの再生速度を表す再生速度情報を入力する再生速度情報入力手段と、音高情報を入力する音高情報入力手段と、該再生速度情報に対応した再生速度で、かつ該音高情報に対応した音高で前記記憶手段の波形データを再生する再生手段とを備えた波形発生装置であって、前記記憶手段には波形データとともに、該波形列の時間軸上の一以上の位置を示すマーク情報を記憶し、再生位置の進行を制御するための第２の制御情報を入力する第２制御情報入力手段を備え、前記再生手段は、第２の制御情報に応じて該波形データの再生位置が該マーク情報の示す位置に達したら該波形データの再生位置の進行を抑制し、また該進行が抑制された状態を解除する制御を行う第２の制御手段を備える。
また、第１０の形態として、前記再生手段は前記再生速度情報に対応した変化速度で変化する時間情報を発生する時間情報発生手段と、該時間情報に対応する波形列の波形データを記憶手段から読み出す読出し手段とを備え、前記第２の制御情報に応じて前記時間情報発生手段の時間情報が該マーク情報の示す位置に達したら該時間情報の進行を抑制し、また該進行が抑制された状態を解除する制御を行う第２の制御手段を備える。
この波形発生装置によれば、波形の再生速度を再生音高とを独立に調整することができる。また、第２制御情報入力手段により、マーク情報の示す位置での波形再生位置の進行停止／停止解除を指示することができるので、例えばマーク情報で示される位置をシラブルの区切りにすれば、演奏者がリアルタイムでシラブルの区切りの進行を制御でき、演奏等の表現が豊かになる。
【００１４】
また、本発明に係る波形発生装置は、第１１の形態として、複数の波形が時系列に並べられて成る波形列の波形データを記憶する記憶手段と、該波形データの再生速度を表す再生速度情報を入力する再生速度情報入力手段と、音高情報を入力する音高情報入力手段と、該再生速度情報に対応した再生速度で、かつ該音高情報に対応した音高で前記記憶手段の波形データを再生する再生手段とを備えた波形発生装置であって、前記記憶手段には波形データとともに、該波形列の時間軸上の一以上の位置を示すマーク情報を記憶し、再生位置の進行を制御するための第３の制御情報を入力する第３制御情報入力手段を備え、前記再生手段は、第３の制御情報に応じて該波形データの再生位置を該マーク情報の示す位置までジャンプする制御を行う第３の制御手段を備える。
また、第１２の形態として、前記再生手段は前記再生速度情報に対応した変化速度で変化する時間情報を発生する時間情報発生手段と、該時間情報に対応する波形列の波形データを記憶手段から読み出す読出し手段とを備え、前記第３の制御情報に応じて前記時間情報発生手段の時間情報を該マーク情報の示す位置までジャンプする制御を行う第３の制御手段を備える。
この波形発生装置によれば、波形の再生速度を再生音高とを独立に調整することができる。また、第３制御情報入力手段により、マーク情報の示す位置への波形再生位置のジャンプを指示することができるので、例えばマーク情報で示される位置をシラブルの区切りにすれば、演奏者がリアルタイムで再生位置をシラブルの区切りへジャンプされることができ、演奏等の表現が豊かになる。
【００１５】
また本発明に係る波形発生装置は、第１３の形態として、上記第７〜第１２の形態の波形発生装置において、波形データの再生速度を表す再生速度情報は時間経過に従ってリアルタイムで順次入力するものとすることができる。
このように、再生速度情報を入力することにより前記波形データの再生速度をリアルタイムで制御することができる。この場合においても、再生音高は再生速度により変化しない。
【００１６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１は本発明に係る一実施例としての電子楽器の波形発生装置が示される。図１において、７は再生する波形データに関する情報を記憶しておくＲＡＭからなる波形メモリである。６は波形メモリ７の波形データの再生処理等をディジタル処理により行うＤＳＰ（ディジタル信号プロセッサ）である。このＤＳＰ６には、ＤＳＰ６の演算処理等に使用するワーキングメモリと、ＤＳＰ６のプログラムを記憶するメモリとを含んでいる。
【００１７】
８は入力したアナログ波形信号をディジタル波形信号にＡ／Ｄ変換してＤＳＰ６に入力するＡ／Ｄ変換器、９はＤＳＰ６から再生出力されるディジタル波形信号をアナログ波形信号にＤ／Ａ変換して出力するＤ／Ａ変換器である。Ａ／Ｄ変換器８から入力されたディジタル波形信号はＤＳＰ６から波形メモリ７に波形データとして格納することができる。
【００１８】
１はＣＰＵ（中央処理装置）であって、ＤＳＰ６の制御、操作子群２やキーボード装置３の状態検出と処理など装置の全体的な制御を行う。４は多くの波形データ等を記憶しておく大容量のハードディスク装置であり、その波形データは必要に応じて波形メモリ７に転送される。５は記憶部であって、ＣＰＵ１の演算処理等に使用するワーキングメモリ、ＣＰＵ１のプログラムを記憶しておくメモリ、ＤＳＰのプログラムを記憶しておくメモリ等を含む。
【００１９】
操作子群２は、図１に示すように、モード選択スイッチ（ＭＳＳ）２１、バンク選択スイッチ（ＢＳＳ）２２、ホルマントシフト操作子（ＦＳＶ）２３、時間圧伸操作子（ＴＣＶ）２４、ピッチ変調操作子（ＰＭＶ）２５、ホルマント変調操作子（ＦＭＶ）２６、ベロシティレベル変調操作子（ＬＭＶ）２７等からなる。以下、これらの各操作子の機能について説明する。
【００２０】
モード選択スイッチ２１は、録音モード、編集モード、プレイ（再生）モードから一つを選択するためのスイッチである。ここで、録音モード (ＲＥＣモード) は外部から入力された楽音信号を録音（サンプリング) するモード、編集モード (ＥＤＩＴモード) は録音モードでサンプリングした波形を編集するモード、プレイモード（ＰＬＡＹモード) は波形メモリ７に記憶した波形データをキーボードの演奏操作に応じて再生するモードである。
バンク選択スイッチ２２は、波形メモリ７に記憶されている複数の波形データのうちから一つを選択するためのスイッチである。
【００２１】
ホルマントシフト操作子２３は、波形メモリ７に格納されている原波形データのホルマントからのシフト量を設定する操作子であり、後述するホルマントシフト量ＦＳＶ（ホルマント変更係数とも称する）を設定する。
時間圧伸操作子２４は、波形データを再生する際の時間軸上での再生位置（プレイ位置）の進行速度を決めるための時間の圧縮／伸張（以下、圧伸と称する）の量を設定する操作子である。
ピッチ変調操作子２５はピッチ変調の深さＤＰＭをセント〔単位〕で指定するための操作子である。
ホルマント変調操作子２６はホルマント変調の深さＤＦＭをセント〔単位〕で指定する操作子である。
ベロシティレベル変調操作子２７はベロシティレベル変調の深さＤＬＭをセント〔単位〕で指定する操作子である。
【００２２】
キーボード装置３は、ＭＩＤＩのキーボード３１やモジュレーションレバー（以下、変調レバーと記する）３２等の演奏操作子を備える。キーボード３１は操作したキーに対応するノート情報（ノート番号ＮＮ、ベロシティＶ、ノートオン／オフＮＴなど）を演奏のために発生する他に、波形メモリ７に格納されている波形データの再生にあたって、キーのオン／オフにより再生の音高と再生の開始／終了を指示するためにも用いられる。また、このキーボード３１はアフタータッチ機能も備えており、キーを押鍵した後にさらに押下を続けると、その押下の強さに対応した大きさのアフタータッチ量ＡＴＶが継続して発生されるようになっている。本実施例ではアフタータッチ機能の一つとして、キーを押鍵後にさらにキーを押し込んだ場合にその押下の強さに対応して、波形信号を再生する態様が種々変わるようになっている。このアフタータッチ量ＡＴＶは押下の強さに応じて＄００〜＄７Ｆの範囲の値をとり得る。なお、本明細書では以降、＄７Ｆ等の先頭に付けた「＄」は１６進表示を意味するものとする。
【００２３】
変調レバー３２はモジュレーションホイールとも呼ばれるものもあり、通常は発音する楽音の変調を制御する操作子である。この実施例では、この変調レバー３２の操作量（変調レバー量ＭＬＶ）に応じて上述の時間圧伸操作子２３により設定した設定時間圧伸量ＳＴＣＶを修正して、再生する波形のピッチを変えることなく再生速度（プレイ速度）の制御を行っている。この変調レバー３２は＄００〜＄７Ｆの範囲の変調レバー量ＭＬＶを発生することができ、通常はレバーが揺動範囲の中央位置にあり、この中央位置では＄４０の変調レバー量ＭＬＶを出力するようになっている。
【００２４】
波形メモリ７は再生する波形信号に関するデータを記憶しておくメモリであり、大まかにはパラメータ記憶部と波形データ記憶部の２つに分けられ、パラメータ記憶部はさらに、パラメータ１記憶部（ステータス領域）、パラメータ２記憶部（シラブルマーク領域）、パラメータ３記憶部（切出し開始アドレス領域）に分けられる。このパラメータ記憶部は、
パラメータ１記憶部（ステータス領域）    ：＄２０アドレス／１バンク
パラメータ２記憶部（シラブルマーク領域）：＄８０アドレス／１バンク
パラメータ３記憶部（切出し開始アドレス領域）：＄８００アドレス／１バンク
の単位で１バンクあたりのアドレス領域が設けられてデータが記憶されている。また、波形データ記憶部には、＄８０００アドレス／１バンクの単位で、バンク毎にそのバンク番号に対応する波形番号の波形データ全てが記憶されている。つまり、パラメータ１記憶部は＄２０番地毎に、パラメータ２記憶部は＄８０番地毎に、パラメータ３記憶部は＄８００番地毎に、また波形データ記憶部は＄８０００番地毎に、各々セグメントで区切られており、各々のセグメントはアドレスの若い方から順番にバンク０領域、バンク１領域  、バンク２領域  ・・・のようにバンク番号が付けられる。例えばある波形番号の波形についてパラメータをそれぞれパラメータ１、２、３記憶部のバンク０領域に格納したら、その波形番号の波形データはそれらのパラメータに対応して波形データ記憶部の同じバンク番号のバンク０領域に格納する。
【００２５】
以下、これらパラメータ記憶部と波形データ記憶部のデータ構成を図２〜図５を参照して説明する。ここで、図２はパラメータ１記憶部（ステータス領域）のデータ構成、図３はパラメータ２記憶部（シラブルマーク領域）のデータ構成、図４はパラメータ３記憶部（切出し開始アドレス領域）のデータ構成、図５は波形データ記憶部のデータ構成を示すものである。
【００２６】
パラメータ１記憶部（ステータス領域）は、図２に示すように、バンク番号毎（すなわち波形番号毎）に、波形名ｗｎ、サンプリング周波数ｓｒ、オリジナルピッチｏｐ、オリジナルキーからのオリジナルピッチシフト量ｏｐｓｖ、出力レベルｏｌを記憶する。これらのパラメータの内容は以下のとおりである。
・波形名ｗｎ：この波形名ｗｎは表示装置に表示してメモリ波形の識別を容易にするためなどに用いられる。
・サンプリング周波数ｓｒ：原波形（メモリに格納されている波形、以下同じ）のサンプリング周波数であって、原波形のサンプリング周波数とは異なるサンプリング周波数で再生処理を行うときにオリジナルピッチが変化しないように補正するなどのために使用される。
・オリジナルピッチｏｐ：原波形データの本来のピッチ。
・オリジナルピッチシフト量ｏｐｓｖ：オリジナルピッチｏｐをシフトさせる値（オリジナルピッチＯＰを変化させる倍率値）であって、オリジナルピッチｏｐと異ならせて再生するときなど、オリジナルピッチｏｐを変化させる場合などに使用される。
・出力レベルｏｌ：原波形固あの出力レベルを設定するためのものである。
【００２７】
次に、パラメータ３記憶部（切出し開始アドレス領域）は、図４に示すように、バンク番号毎に、その波形データの切出し開始アドレスを記憶する。切出し開始アドレスｃｓａは、１ピッチ分の波形（以下、切出し波形と称する）の先頭アドレスである。以下、本明細書ではこの切出し波形が時系列に並べられたものを波形列と称する。この切出し開始アドレスｃｓａが当該波形番号の波形列全体について時間軸に沿って時系列に記憶されている。この切出し開始アドレスを記憶する領域の最後尾には当該波形列の最後の１ピッチの切出し波形の切出し開始アドレスｃｓａが波形読出し終了アドレスｗｅａとして格納される。また、このバンク番号の記憶領域の先頭アドレスにはその波形の波形読出し終了アドレスｗｅａがヘッダとして格納される。
【００２８】
なお、子音部分などでピッチが定まらない場合の切出し開始アドレスｃｓａは、適当なピッチで、
切出し開始アドレスｃｓａ＝一つ前の切出し開始アドレスｃｓａ＋ピッチとして子音区間全体について求めたものを切出しアドレス記憶領域に格納する。ここでいうピッチとは１ピッチ分の切出し波形のアドレス幅である。なお、適当なピッチとは、例えば子音から母音に移行して最初に検出（確定）したピッチや次に定まったピッチなどである。
【００２９】
次に、パラメータ２記憶部（シラブルマーク領域）は、図３に示すように、バンク番号毎に、その波形列のシラブルマークを記憶する。シラブルマークｓｍとは波形列中のシラブル（音節）の始まりを特定するマークであり、一つのシラブルとその次に続くシラブルの境界アドレス（現在のシラブルの末尾アドレスあるいは次に続くシラブルの先頭アドレスなど）で表される。図３において、シラブル１マークｓｍ１、シラブル２マークｓｍ２、シラブル３マークｓｍ３・・・はシラブルの始まりを特定するデータであり、それぞれは、パラメータ３（切出し開始アドレス領域）記憶部の同じバンク番号に記憶されている、それぞれ対応するシラブルの先頭切出し波形の切出し開始アドレスが格納されるアドレス番号（切出しアドレスポインタｃａｐが示す値）を示している。
【００３０】
例えば波形データが「ローランド」という単語であった場合、仮に最初の音節「ロ」に相当する波形区間の先頭の切出し波形の切出し開始アドレスｃｓａがｃｓａ１、２番目の音節「ラ」に相当する波形区間の先頭の切出し波形の切出し開始アドレスｃｓａがｃｓａ１０とすると、パラメータ２記憶部（シラブルマーク領域）の最初のアドレス＄００００には、１番目の音節「ロ」に相当する波形区間の先頭の切出し波形の切出し開始アドレスｃｓａ１を格納するパラメータ３記憶部のアドレス＄０００１がシラブル１マークｓｍ１として、またパラメータ２記憶部（シラブルマーク領域）の２番目のアドレス＄０００１には２番目の音節「ラ」に相当する波形区間の先頭の切出し波形の切出し開始アドレスｃｓａ１０を格納するパラメータ３記憶部のアドレス＄００１０がシラブル２マークｓｍ２として格納される。
【００３１】
なお、パラメータ２記憶部のバンクの最後のシラブルマークとしては、各セグメントの波形データの波形読出し終了アドレスｗｅａが格納されているパラメータ３記憶部のアドレス番号が格納される。
【００３２】
次に、波形データ記憶部のデータ構成は、図５に示されるように、バンク番号（波形番号）０の波形列の波形データは波形データ記憶部のバンク０領域に、バンク番号１の波形列の波形データは波形データ記憶部のバンク１領域にというように、各バンク領域にシーケンシャルなアドレス順序で波形列の波形データ（サンプリング値）ｗd が格納される。
【００３３】
ＣＰＵ１側のメモリ５には各種のレジスタ群が設定される。図６、図７にはこのレジスタ群に設定される各種のパラメータが示される。図７はこのうちのＭＩＤＩ情報レジスタ群である。以下、これらのパラメータについて説明する。
【００３４】
・バンク番号ＢＮ：バンク選択スイッチ２２で設定した波形データのバンク番号（波形番号）。このバンク番号ＢＮに従って、再生する波形列（波形番号）の選択が行われる。
【００３５】
・波形メモリ７のパラメータ１記憶部に記憶される各種パラメータ。すなわち、波形名ＷＮ、サンプリング周波数ＳＲ、オリジナルピッチＯＰ、オリジナルピッチシフト量ＯＰＳＶＰＰ、出力レベルＯＬである。なお、これらのうち、オリジナルピッチ以外は本発明の実施例に直接関係のないパラメータであるので、オリジナルピッチ以外の処理は本実施例から除外してある。
【００３６】
・ホルマントシフト量ＦＳＶ：ホルマントシフト操作子２３で設定されるホルマントのシフト量。波形メモリ７中の波形列は、このホルマントシフト量ＦＳＶが「１」である時は、原波形と同じホルマントで再生され、「１」より大きい値であると、ホルマントを原波形よりも高域側にシフトして再生され、「１」よりも小さい値であると、ホルマントを原波形よりも低域側にシフトして再生される。
【００３７】
・設定時間圧伸量ＳＴＣＶ：波形メモリ７に記憶された波形列を再生する時における時間圧縮／伸長の大きさ（すなわちプレイ速度）を決めるもので、時間圧伸操作子２４で数値設定したもの。後述する変調レバー３２による変調がかけられていなければ、この設定時間圧伸量ＳＴＣＶが「１」であると、原波形の時間変化と同じ速さで時間変化し、「１」より大きい値であると、原波形よりも速い時間変化をしてプレイ時間が短くなり、「１」よりも小さい値であると、原波形よりも遅い時間変化をしてプレイ時間が長くなる。
【００３８】
・ピッチ変調の深さＤＰＭ：ピッチ変調操作子２５で設定したピッチ変調の深さ。−１２００≦ピッチ変調の深さＤＰＭ≦１２００の範囲でセント単位に設定される。
・ホルマント変調の深さＤＦＭ：ホルマント変調操作子２６で設定したホルマント変調の深さ。−１２００≦ホルマント変調の深さＤＦＭ≦１２００の範囲でセント単位に設定される。
・ベロシティレベル変調の深さＤＬＭ：ベロシティレベル変調操作子２７で設定したベロシティレベル変調の深さ。０≦ベロシティレベル変調の深さＤＬＭ≦１の範囲で設定される。
・時間圧伸変調量（係数）ＴＣＭＶ：変調レバー３２によって設定した時間圧縮／伸張の値であって、前述の設定時間圧伸量ＳＴＣＶを補正するための係数。０≦時間圧変調量ＴＣＭＶ≦２の範囲で設定される。
・ピッチ比ＰＲ：キーボード３１により指定された音高（キー番号）に対応したピッチとメモリ波形のオリジナルピッチＯＰとの比であって、ボイスモジュール毎に記憶される。
・ベロシティレベルＶＬ：キーボード３１により指定されたベロシティＶであって、ボイスモジュール毎に記憶される。
・ＬＦＯゲート値ＬＧ：発音開始時に“１”、発音停止時に“０”が設定されるものであって、ボイスモジュール毎に記憶される。
・ＣＰＵシラブルフラグＣＳＦ：アフタータッチ操作に対応して設定されるＣＰＵ側のシラブルフラグ。
【００３９】
図７のＭＩＤＩ情報レジスタ群はキーボード装置３から入力されたノート情報等を記憶するレジスタ群であって、以下のパラメータが記憶される。
ノート番号ＮＮ：キーボード３１で操作されたキー番号。
ベロシティＶ：キーボード３１で操作されたキーのベロシティ。
ノートオン／オフＮＴ：キーボード３１で操作されたキーのオン／オフ。
アフタータッチ量ＡＴＶ：キーボード３１で操作されたキーのアフタータッチの大きさ。
旧アフタータッチ量ＯＡＴＶ：前回処理したアフタータッチ量。
変調レバー量ＭＬＶ：変調レバー３２で操作した量。
【００４０】
ＤＳＰ６側の内部メモリには図８、図９に示す各種のレジスタ群が設定される。以下、これらのレジスタ群に設定されるパラメータについて説明する。
【００４１】
まず、キー情報レジスタ群には以下のパラメータが設定される。後述するＣＰＵ１のプレイ処理において、キーボード３１の操作が検出され、割当て処理によってキー情報がＤＳＰ６に転送されて、このキー情報レジスタに一時的に記憶される。これらのパラメータは割込みルーチンにより一定周期で設定される。
・ピッチ比ｐｒ。
・ホルマントシフト量ｆｓｖ：再生される波形の実際のホルマントシフト量。
・ベロシティレベルｖｌ。
・時間圧伸量ｔｃｖ：再生される波形の実際の時間圧伸量。
【００４２】
次に、ＤＳＰ６のメインルーチンに用いる各種パラメータとして以下のものがある。
・切出しアドレスポインタｃａｐ：パラメータ３記憶部の切出し開始アドレス領域の切出し開始アドレスｃｓａを指すポインタ（パラメータ３記憶部の読出しアドレス）。
・バンク番号ｂｎ：波形メモリのバンク番号。
・波形読出し終了アドレスｗｅａ：パラメータ３記憶部のバンクに格納された波形読出し終了アドレス（波形列の最後尾の切出し波形の切出し開始アドレス）。
・プレイ位置ｐｐ：波形メモリの波形列から逐次に切出し波形を切り取るための現在の切取り位置を示すためのポインタ。
・次切出し開始アドレスｎｃｓａ：次の切出し波形の切出し開始アドレス。
・第１／第２切出し開始アドレスｆｃｓａ／ｓｃｓｓ：処理系１／２における現在の切出し開始アドレス。
・切出し波形ピッチｃｗｐ：処理系１／２における現在処理中の切出し波形のピッチ値（アドレス幅で表示）。
・ブレイピッチ（幅）ｐｐｗ：波形メモリに格納された波形列を再生するためのピッチ。
・再生ピッチカウンタｐｐｃ：再生ピッチｐｐｗの１周期内における現在の位置を示すもの。
・ゲート値ｇ：出力波形をミュートするためのもの。
・第１／第２アドレスカウンタａｃ１／ａｃ２：処理系１／２において波形メモリの読出しアドレスを算出するためのカウンタ。
・第１／第２エンベロープ窓ｅｗ１／ｅｗ２：波形メモリの波形列に付加して再生波形を取り出すための窓。
・第１／第２窓カウンタｗｃ１／ｍｗ２：エンベロープ窓を生成するためのもの。
・識別フラグｆ：パーシャル１／２を識別するためのフラグ。
・シラブルマークポインタｓｍｐ：シラブルマークｓｍを示すポインタ。
・ＤＳＰシラブルフラグｄｓｆ：アフタータッチ操作に対応して設定されるＤＳＰ側のシラブルフラグ。
・次シラブル開始アドレスｎｓｓａ：現在のシラブルに続く次のシラブルの開始アドレス。
・窓長ｗｌ：エンベロープ窓の窓長。
・第１／第２波形読出しアドレスｗｒａ１／ｗｒａ２：処理系１／２における波形データの読出しアドレス。
・波形出力ｗｏ：処理系１／２で抽出した波形出力の合成値。
・出力エンベロープレベルｏｅｌ：波形出力ｗｏに乗じるエンベロープレベルの現在値。
・プレイ波形出力ｐｗｏ：実際に再生出力される再生波形の出力レベル。
【００４３】
以下、この実施例装置の動作をフローチャートを参照して説明する。
図１０には、ＣＰＵ１が行う処理として、メインルーチンのフローチャートが示される。メインルーチンがスタートすると、モード選択スイッチ２１が録音モード、編集モード、プレイモードの何れに操作されたか監視されており（ステップＡ）、操作がされると、その操作が録音モード、編集モード、プレイモードの何れであるかが判定される（ステップＢ）。録音モードであれば、録音（ＲＥＣ）モード処理が行われ（ステップＣ）、編集モードであれば編集（ＥＤＩＴ）モード処理が行われ（ステップＤ）、プレイモードであればプレイモード処理が行われる（ステップＥ）。
【００４４】
図１１には録音モードにおける録音モード処理ルーチンのフローチャートが示される。録音モード処理は外部から入力された楽音信号を録音（サンプリング）する処理であり、モード選択スイッチ２１により録音モードに設定した後、サンプリングスタ  ートの操作子を操作することによって（ステップＣ３）、サンプリングスタートして録音（サンプリング処理）が行われる（ステップＣ４）。サンプリングされる楽音信号のデータは波形メモリ７に記憶される。この録音モード処理ルーチンから抜け出てメインルーチンにリターンするにはＥＸＩＴ操作子を操作する（ステップＣ２）。
【００４５】
図１２には編集モードにおける編集モード処理ルーチンのフローチャートが示される。編集モード処理は、録音モードでサンプリングした波形を変更したり、再生可能な波形データに変更する編集処理や、それらの波形データをハードディスク装置３に転送したり、ハードディスク装置３から波形メモリ７に転送したりする処理を行う（ステップＤ３）。この編集モード処理ルーチンから抜け出るにはＥＸＩＴ操作子を操作する（ステップＤ２）。
【００４６】
図１３にはプレイモードにおけるプレイモード処理ルーチンのフローチャートが示される。このプレイモード処理ルーチンの初期設定（ステップＥ１）においては、操作子群２の状態を走査するレジスタ等をリセットし、操作子群を操作可能な状態にすると共に、各操作子の初期状態をセットしておく。初期状態とは、プレイモード処理で、各操作子に変化があった時だけ操作子の操作に対応した処理を行うため、その最初の基準となる状態を設定している。
【００４７】
プレイモード処理ルーチンは、モード選択スイッチ２１によりプレイモードに設定した後、プレイスタートの操作子を操作することによってスタートする。プレイ処理（ステップＥ３）は、波形メモリ７の波形データを、キーボード３１からの演奏情報に対応して再生する処理である。このプレイモード処理ルーチンから抜け出るにはＥＸＩＴ操作子を操作する（ステップＥ２）。
【００４８】
図１４、図１５、図１６にはこのプレイモードにおけるプレイ処理（ステップＥ３）の詳細な処理手順が示される。このプレイ処理はＣＰＵ１で実行される。このプレイ処理では、操作子群２による設定とキーボード３１による演奏操作を検出してそれぞれに対応するパラメータを記憶するレジスタの内容を更新する。これらのレジスタに設定された内容のうち必要なものはＤＳＰ側の対応するレジスタに転送される。なお、このプレイ処理はＤＳＰ側のメインルーチンよりも長い周期で実行される。つまり、このプレイ処理が１回実行されて次に実行されるまでにＤＳＰ側のメインルーチンが必ず１回実行されることになる。
【００４９】
プレイ処理が開始されると、バンク選択スイッチ２２の操作に変化があるか否かを見て（ステップＦ１）、変化がある場合には、バンク選択スイッチ２２で設定されたバンク番号ＢＮを更新する。そして、更新されたバンク番号ＢＮに対応して、波形メモリ７のパラメータ１記憶部から、波形名ｗｎ、サンプリング周波数ｓｒ、オリジナルピッチｏｐ、オリジナルピッチシフト量ｏｐｓｖ、出力レベルｏｌを読み込み、それぞれ対応するパラメータである波形名ＷＮ、サンプリング周波数ＳＲ、オリジナルピッチＯＰ、オリジナルピッチシフト量ＯＰＳＶ、出力レベルＯＬを更新する（ステップＦ３）。
【００５０】
次に、ホルマントシフト操作子２３に変化があるか否かを見て（ステップＦ４）、変化がある場合には、それに対応してホルマントシフト量ＦＳＶを更新する（ステップＦ５）。同様に、時間圧伸操作子２４に変化があるか否かを見て（ステップＦ６）、変化がある場合には、それに対応して設定時間圧伸量ＳＴＣＶを更新する（ステップＦ７）。
【００５１】
次に、キーボード３１からのノート情報の入力があったか否かを判定し（ステップＦ８）、ノート情報の入力があった場合にはそのノート情報に基づいて、ボイスモジュールへの割当て処理を行う（ステップＦ９）。
このボイスモジュールへの割当て処理の詳細な手順が図１７に示すボイスモジュールへの割当て処理ルーチンに示される。このボイスモジュールへの割当て処理は、キーボード３１から入力したノート情報（ノート番号ＮＮ、ベロシティＶ、ノートオン／オフＮＴ）をボイスモジュールに割り当てる処理であり、ノート情報の入力があった場合に、最後に入力されたノートオン情報を優先的にボイスモジュールに割り当て、あるいは既に割り当てられているノートをオフにするためのノートオフ情報をボイスモジュールに割り当てる（ステップＧ１）。この割当て処理の詳細は本発明と直接関係がないので、詳細な処理内容は省略する。
【００５２】
ボイスモジュールの割当て処理ルーチンでは、ノート情報のボイスモジュールへの割当て後（ステップＧ１）、ノートオン／オフＮＴがノートオン情報かノートオフ情報かを判別する（ステップＧ２）。ノートオン情報であれば、ノート情報中のノート番号ＮＮをノートピッチＮＰに変換し（ステップＧ３）、このノートピッチＮＰに基づいて、
ピッチ比ＰＲ＝ノートピッチＮＰ／オリジナルピッチＯＰ
すなわち、ノートピッチＮＰとオリジナルピッチＯＰとの比を求めてピッチ比ＰＲとして設定し、
ベロシティレベルＶＬ＝ベロシティＶ
すなわち、ノート情報中のベロシティＶをベロシティレベルＶＬとして設定し、
ＬＦＯゲート値ＬＧ＝１
すなわち、ＬＦＯゲート値ＬＧとして１を設定する（ステップＧ４）。このＬＦＯゲート値ＬＧ＝１の設定により、後述のＬＦＯ変調はノートオン時は浅く、時間経過とともに深くなる。
【００５３】
なお、オリジナルピッチシフト量ＯＰＳＶも反映させる場合には、上記ステップＧ４を、
「ピッチ比ＰＲ＝ノートピッチＮＰ／（オリジナルピッチＯＰ×オリジナルピッチシフト量ＯＰＳＶ）
ベロシティレベルＶＬ＝ベロシティＶ
ＬＦＯゲート値ＬＧ＝１」
のようにする。
【００５４】
さらに、ＣＰＵ側においてバンク選択スイッチ２２で設定したバンク番号ＢＮをＤＳＰ側に送ってバンク番号ｂｎとして設定するとともに、ＤＳＰ６側の切出アドレスポインタｃａｐを０に設定する（ステップＧ５）。
【００５５】
一方、ノートオン／オフＮＴがノートオフ情報であった場合には、
ベロシティレベルＶＬ＝０
すなわち、ベロシティレベルＶＬを０に設定し（ステップＧ６）、
ＬＦＯゲート値ＬＧ＝０
すなわち、ＬＦＯゲート値ＬＧとして０を設定する（ステップＧ７）。このＬＦＯゲート値＝０の設定により、後述するＬＦＯ変調の変調度がゼロになる。すなわちＬＦＯ変調がかからなくなる。
【００５６】
このボイスモジュールへの割当て処理ルーチンが終了したら、次に、ピッチ変調操作子２５に変化があったか否かを判定し（ステップＦ１０）、変化があった場合にはそれに応じてピッチ変調の深さＤＰＭを更新する（ステップＦ１１）。次いで、ホルマント変調操作子２６に変化があったか否かを判定し（ステップＦ１２）、変化があった場合にはそれに応じてホルマント変調の深さＤＦＭを更新する（ステップＦ１３）。次いで、ベロシティレベル変調操作子２７に変化があったか否かを判定し（ステップＦ１４）、変化があった場合にはレベル変調の深さＤＬＭを更新する（ステップＦ１５）。
【００５７】
次いで、変調レバー３２が操作されたか否かを判定し（ステップＦ１６）、操作された場合には時間圧伸変調量ＴＣＭＶを次の計算式、
時間圧伸変調量ＴＣＭＶ＝変調レバー量ＭＬＶ／＄４０
に従って更新する（ステップＦ１７）。
この時間圧伸変調量ＴＣＭＶは、時間圧伸操作子２４で設定された設定時間圧伸量ＳＴＣＶを修正してＤＳＰ６での波形再生のための時間圧伸量ｔｃｖを求めるためのものであり、設定時間圧伸量ＳＴＣＶに乗算する修正係数である。上記の「変調レバー量ＭＬＶ／＄４０」の演算は、変調レバー３２の変調レバー量ＭＬＶ（＄００〜＄７Ｆの範囲）を０〜２の範囲の値に正規化するもので、変調レバー３２は中央位置では＄４０を出力しているので、この中央位置にある場合には時間圧伸変調量ＴＣＭＶは１となり、時間圧伸操作子２４で設定された設定時間圧伸量ＳＴＣＶがそのまま時間圧伸量ｔｃｖとなり、変調レバー３２の出力が＄００側に変化するにつれて時間圧伸変調量ＴＣＭＶが小さくなって時間圧伸量ｔｃｖが小さくなり（後述するようにプレイ速度（波形再生速度）が遅くなる）、出力が＄００では時間圧伸量ｔｃｖがゼロとなる（後述するようにプレイ速度が停止する）。また変調レバー３２による設定時間圧伸量ＳＴＣＶが＄７Ｆ側に変化するにつれて時間圧伸量ｔｃｖが設定時間圧伸量ＳＴＣＶの２倍に近付く（後述するようにプレイ速度が速くなる）。
【００５８】
次いで、キーボード３１のキーのアフタータッチ操作があるか否かを判定する（ステップＦ１８）。アフタータッチ操作の有無はキーボード３０からのアフタータッチ量ＡＴＶの大きさに基づいて判定される。すなわち、アフタータッチ量ＡＴＶの大きさが＄２０未満であった場合にはアフタータッチなしと見なすこととし、＄２０以上の場合にアフタータッチ操作ありとする。
【００５９】
アフタータッチ操作なしと判定された場合には、ＣＰＵシラブルフラグＣＳＦを「２」に設定して（ステップＦ２０）、プレイ処理ルーチンから図１３のプレイモード処理ルーチンにリターンする。アフタータッチ操作ありと判定された場合には、アフタータッチの処理を行った後（ステップＦ１９）、プレイモード処理ルーチンにリターンする。このアフタータッチの処理ではアフタータッチ量ＡＴＶの大きさに応じてＣＰＵシラブルフラグＣＳＦの設定値を変える。ＣＰＵシラブルフラグＣＳＦはＣＰＵ側からＤＳＰ側に情報を受け渡すためのフラグであり、「０」、「１」、「２」の値をとり、これらの値に応じてＤＳＰ側における波形再生処理の態様が変わる。
【００６０】
ここで、これらのＣＰＵシラブルフラグＣＳＦに応じた波形再生処理の各態様を説明する。
（１）ＣＰＵシラブルフラグＣＳＦが「０」の状態は、強いアフタータッチがされた時（アフタータッチ量ＡＴＶが＄６０以上) のモードであり、現在行っている波形再生を次のシラブルマーク（すなわち次のシラブルの先頭）まで逐次に進めていき、次のシラブルマークに達したら波形再生の進行をそこで止めて再生を続けるよう処理（以下、シラブル停止処理という）することを意味する。波形再生の進行を止めると、その止めた位置の波形区間の波形が繰り返して再生されることになる。
【００６１】
（２）ＣＰＵシラブルフラグＣＳＦが「１」の状態は、強いアフタータッチ（アフタータッチ量ＡＴＶが＄６０以上) の後にそのアフタータッチを一時的に弱めた時（この時のアフタータッチ量ＡＴＶは＄４０以上、＄６０未満）のモードであり、現在行っている波形再生を次のシラブルマーク（すなわち次のシラブルの先頭）までその間の波形の再生を飛び越して進め、次のシラブルの先頭から波形再生が継続して進行するよう処理（以下、シラブル飛び越し処理という）することを意味する。
【００６２】
（３）ＣＰＵシラブルフラグＣＡＦが「２」の状態は、弱いアフタータッチがされた時（アフタータッチ量ＡＴＶが＄４０未満) のモードであり、波形データをシラブルの区切りにかかわらず逐次に連続して再生する通常の波形再生をするよう処理することを意味する。
【００６３】
図１８は上記ステップＦ１９のアフタータッチ処理の詳細な内容を示すフローチャートである。アフタータッチ処理ではアフタータッチ量ＡＴＶの大きさに応じてＣＰＵシラブルフラグＣＳＦの設定値を変える。すなわち、アフタータッチ量ＡＴＶの大きさを判定し（ステップＨ１）、アフタータッチ量ＡＴＶが＄４０未満の場合にはＣＰＵシラブルフラグＣＳＦを通常処理を示す「２」に設定し（ステップＨ２）、＄６０以上の場合にはシラブル停止処理を示す「０」に設定する（ステップＨ５）。＄４０以上、＄６０未満の場合には、前回のプレイ処理ルーチン実行時に検出したアフタータッチ量（すなわち旧アフタータッチ量ＯＡＴＶ）が＄６０を超えていたか否かを判定し（ステップＨ３）、これが＄６０以下であったならＣＰＵシラブルフラグＣＳＦを「２」に設定し（ステップＨ２）、＄６０を超えていたならＣＰＵシラブルフラグＣＳＦをシラブル飛び越し処理を示す「１」に設定する（ステップＨ４）。よって、ＣＰＵシラブルフラグＣＳＦが「１」すなわち前述のシラブル飛び越し処理が行われるのは、アフタータッチによりキーが一度強く押し込まれてからその押し込みが緩められた時だけになる。ＣＰＵシラブルフラグＣＳＦの設定が終了したら、今回検出したアフタータッチ量ＡＴＶで旧アフタータッチ信号ＯＡＴＶを更新する（ステップＨ６）。
【００６４】
なお、このアフタータッチの処理において、ＣＰＵシラブルフラグＣＳＦの設定処理の後、ＤＳＰメインルーチンが必ず１回は実行されるので、ＣＰＵシラブルフラグＣＳＦに対応した処理（後述するようにＣＰＵシラブルフラグＣＳＦ＝１の場合にシラブルマークｓｍを更新する処理）は必ず実行される。
【００６５】
また、ＣＰＵ１においては、一定周期で次の割込み処理が行われ、その処理結果はＤＳＰ６に送られて、ピッチ比ｐｒ、ホルマントシフト量ｆｓｖ、ベロシティレベルｖｌ、時間圧伸量ｔｃｖがそれぞれのレジスタに設定される。以下、この割込み処理ルーチンを図１９、図２０を参照して説明する。
【００６６】
割込み処理が起動されると、まず、ＬＦＯエンベロープの計算が行われる。すなわち、
ＬＦＯエンベロープＬＥ＝ＬＦＯエンベロープＬＥ＋（ＬＦＯゲート値ＬＧ−ＬＦＯエンベロープＬＥ）×傾き係数ＫＳ
を求める。図２０にはこのＬＦＯエンベロープＬＥの波形が示される。ここで、ＬＦＯゲート値ＬＧは、ボイスモジュールへの割当て処理（図１７）のステップＧ４、Ｇ７において、ノート情報がノートオンになることで「１」、ノートオフになることで「０」に設定される値である。この結果、ＬＦＯエンベロープＬＥは、ノートオンに応答して傾き係数ＫＳで定まる傾きで漸次に立ち上がり、その後は一定値「１」を維持し、ノートオフに応答して傾き係数ＫＳで定まる傾きで漸次に立ち下がる波形となる。
また、低周波信号ＬＦＯを発生するための演算をする。すなわち、
低周波信号ＬＦＯ＝ＳＩＮ（２×３．１４×ＬＦＯ係数ＬＲ／ＣＮＳＴ×ＬＦＯカウンタＬＣ）
ＬＦＯカウンタＬＣ＝ＬＦＯカウンタＬＣ＋１
を計算する。ここで、ＬＦＯ係数ＬＲは単位〔Hz）のものであり、ＣＮＳＴはＬＦＯカウンタＬＣが１秒間にカウントする値である。この計算式で求められる低周波信号ＬＦＯは図２０に示される正弦波となる。
【００６７】
次に、ＤＳＰ６のレジスタに設定するピッチ比ｐｒ、ホルマントシフト量ｆｓｖ、ベロシティレベルｖｌ、時間圧伸量ｔｃｖを計算する。
すなわち、まず、
ピッチ比ｐｒ＝ピッチ比ＰＲ×ＰＯＷ（０．５，低周波信号ＬＦＯ×ＬＦＯエンベロープＬＦ×ピッチ変調の深さＤＰＭ／１２００）
を求める。ここで、ＰＯＷ（０．５，低周波信号ＬＦＯ×ＬＦＯエンベロープＬＦ×ピッチ変調の深さＤＰＭ／１２００）は、「低周波信号ＬＦＯ×ＬＦＯエンベロープＬＦ×ピッチ変調の深さＤＰＭ／１２００」を指数とする０．５の累乗値を表す。この計算式によりピッチ比ｐｒを求めると、ピッチ変調操作子２５で設定するピッチ変調の深さＤＰＭに応じてピッチ比ＰＲが変調をかけられて揺らぐ値になる。すなわち、ピッチ変調の深さＤＰＭが０であれば、ピッチ変調はかけられず、ピッチ比ＰＲがそのままピッチ比ｐｒとなる。一方、ピッチ変調の深さＤＰＭが０を除く−１２００〜＋１２００の範囲の値をとると、その値に応じてピッチ比ＰＲが揺らぐものとなり、再生される波形のピッチに変調がかけられて特殊な効果が得られる。
【００６８】
同様にして、
ホルマントシフト量ｆｓｖ＝ホルマントシフト量ＦＳＶ×ＰＯＷ（０．５，低周波信号ＬＦＯ×ＬＦＯエンベロープＬＦ×ホルマント変調の深さＤＦＭ／１２００）
を求める。ここで、ＰＯＷ（０．５，低周波信号ＬＦＯ×ＬＦＯエンベロープＬＦ×ホルマント変調の深さＤＦＭ／１２００）は、「低周波信号ＬＦＯ×ＬＦＯエンベロープＬＦ×ホルマント変調の深さＤＦＭ／１２００」を指数とする０．５の累乗値を表す。この計算式によりホルマントシフト量ｆｓｖを求めると、ホルマントシフト操作子２３で設定するホルマント変調の深さＤＦＭに応じてホルマントシフト量ＦＳＶが変調をかけられて揺らぐ値になる。すなわち、ホルマント変調の深さＤＦＭが０であれば、ホルマント変調はかけられず、ホルマントシフト量ＦＳＶがそのままホルマントシフト量ｆｓｖとなる。一方、ホルマント変調の深さＤＦＭが０を除く−１２００〜＋１２００の範囲の値をとると、その値に応じてホルマントシフト量ｆｓｖが揺らぐものとなり、再生される波形のホルマントに変調がかけられて特殊な効果が得られる。
【００６９】
次に、ベロシティレベルｖｌを、
ベロシティレベルｖｌ＝ベロシティレベルＶＬ×０．５×（１＋低周波信号ＬＦＯ×ＬＦＯエンベロープＬＥ×レベル変調の深さＤＬＭ）
で求める。この計算式によりベロシティレベルｖｌを求めると、ベロシティレベル変調操作子２７で設定するベロシティレベル変調の深さＤＬＭに応じてベロシティレベルＶＬが変調をかけられて揺らぐ値になる。すなわち、ベロシティレベル変調の深さＤＬＭが０であれば、ベロシティレベル変調はかけられず、ベロシティレベルＶＬがそのままベロシティレベルｖｌとなる。一方、ベロシティレベル変調の深さＤＬＭが０を除く０＜ＤＬＭ≦１の範囲の値をとると、その値に応じてベロシティレベルｖｌが揺らぐものとなり、再生される波形の出力レベルに変調がかけられて特殊な効果が得られる。
【００７０】
最後に、再生する波形の実際のプレイ速度を決めるための変数である時間圧伸量ｔｃｖを次の計算式で求める。
時間圧伸量ｔｃｖ＝設定時間圧伸量ＳＴＣＶ×時間圧伸変調量ＴＣＭＶ
すなわち、時間圧伸量ｔｃｖは、時間圧伸操作子２４で設定された設定時間圧伸量ＳＴＣＶと変調レバー３２で入力された修正係数である時間圧伸変調量ＴＣＭＶとを乗算して決定される。
【００７１】
次に、キー情報の転送を受けたＤＳＰ６の処理を図２１を参照して説明する。図２１はＤＳＰ６のメインルーチンを示すフローチャートであり、サンプリング周期で繰り返し実行されるものである。ＣＰＵ１から新たなキー情報の転送に基づき、ＣＰＵの「ボイスモジュールへの割当て処理」において切出しアドレスポインタｃａｐが０に設定されたか否かを監視しており（ステップＪ１）、切出しアドレスポインタｃａｐ＝０に設定された時にはボイスの発音開始処理を行う（ステップＪ２）。
【００７２】
図２２にはこのボイスの発音開始処理が示される。以下にこれらの処理について順次に説明する。なお、以下の説明では、＠ｎ（バンク番号ｂｎ×＄・・・）の記号はパラメータｎ記憶部（ｎ＝１、２または３）の「バンク番号ｂｎ×＄・・・」のアドレスからデータを読み出すことを意味する。
・波形読出し終了アドレスｗｅａ＝＠３（バンク番号ｂｎ×＄８００）
パラメータ３記憶部（切出し開始アドレス領域）の（バンク番号ｂｎ×＄８００）番地（＝波形読出し終了アドレスｗｅａが格納されている番地）からデータを読み出して波形読出し終了アドレスｗｅａとしてレジスタに設定する。
・プレイ位置ｐｐ＝＠３（バンク番号ｂｎ×＄８００＋切出しアドレスポインタｃａｐ＋１）
パラメータ３記憶部の（バンク番号ｂｎ×＄８００切出しアドレスポインタｃａｐ＋１）番地からデータ（波形列の先頭の切出し波形の切出し開始アドレスｃｓａ１）を読み出してプレイ位置ｐｐとしてレジスタに設定する。
・次切出し開始アドレスｎｃｓａ＝＠３（バンク番号ｂｎ×＄８００＋切出しアドレスポインタｃａｐ＋２）
パラメータ３記憶部の（バンク番号ｂｎ×＄８００＋切出しアドレスポインタｃａｐ＋２）番地からデータ（波形列の２番目の切出し波形の切出し開始アドレスｃｓａ２）を読み出して次切出し開始アドレスｎｃｓａとしてレジスタに設定する。
・切出し波形ピッチｃｗｐ＝次切出し開始アドレスｎｃｓａ−プレイ位置ｐｐ上記次切出し開始アドレスｎｃｓａから上記設定したプレイ位置ｐｐ（＝この発音開始処理時には先頭の切出し開始アドレス）を引いて切出し波形ピッチｃｗｐ（アドレス幅で表示）としてレジスタに設定する。この切出し波形ピッチｃｗｐは処理対象の切出し波形（発音開始処理時には先頭の切出し波形）のピッチに相当する。
・再生ピッチｐｐｗ＝切出し波形ピッチｃｗｐ×ピッチ比ｐｒ
上記切出し波形ピッチｃｗｐとピッチ比ｐｒを乗算して再生ピッチｐｐｗとしてレジスタに設定する。
・現切出し開始アドレスｃｃｓａ＝プレイ位置ｐｐ
上記プレイ位置ｐｐを現切出し開始アドレスｃｃｓａとしてレジスタに設定する。
・第１切出し開始アドレスｆｃｓａ＝現切出し開始アドレスｐｃｓａ
上記現切出し開始アドレスｃｃｓａを第１処理系における第１切出し開始アドレスｆｃｓａとしてレジスタに設定する。
・第２切出し開始アドレスｓｃｓａ＝現切出し開始アドレスｃｃｓａ
上記現切出し開始アドレスｃｃｓａを第２処理系における第２切出し開始アドレスｓｃｓａとしてレジスタに設定する。
・第１アドレスカウンタａｃ１＝０
第１アドレスカウンタａｃ１として０をレジスタに設定する。
・第２アドレスカウンタａｃ２＝再生ピッチｐｐｗ／２
第２アドレスカウンタａｃ２として上記再生ピッチｐｐｗ／２（再生ピッチｐｐｗの半周期の値）をレジスタに設定する。
・第１窓カウンタｗｃ１＝０
第１窓カウンタｗｃ１として０をレジスタに設定する。
・第２窓カウンタｗｃ２＝１
第２窓カウンタｗｃ２として１をレジスタに設定する。
・ゲート値ｇ＝１
ゲート値ｇとして１をレジスタに設定する。
・切出しアドレスポインタｃａｐ＝１
切出しアドレスポインタｃａｐとして１をレジスタに設定する。
・シラブルマークポインタｓｍｐ＝０
シラブルマークポインタｓｍｐとして０をレジスタに設定する。
シラブルマークｓｍ＝＠２（バンク番号ｂｎ×＄８０＋シラブルマークポインタｓｍｐ）
パラメータ２記憶部（シラブルマーク領域）の（バンク番号ｂｎ×＄８０＋シラブルマークポインタｓｍｐ）番地からデータ（＝先頭のシラブル１マークｓｍ１）を読み出してシラブルマークｓｍとしてレジスタに設定する。
【００７３】
以上のボイスの発音開始処理（ステップＪ２）が終了したら、ＤＳＰシラブルフラグｄｓｆにＣＰＵシラブルフクグＣＳＦの値を設定し（ステップＪ３）、ＣＰＵ側からＤＳＰ側にシラブル処理の情報を受け渡す。この後、読出し処理を行う（ステップＪ４）。この読出し処理については後に詳述する。その後、ＤＳＰシラブルフラグｄｓｆがシラブル飛び越し処理を示す「１」か否か判定し（ステップＪ５）、「１」であればＣＰＵシラブルフラグＣＳＦを「２」に設定する（ステップＪ６）。これはＤＳＰ側でシラブル飛び越し処理を行うようＤＳＰシラブルフラグｄｓｆが設定された場合には、ＣＰＵ側のＣＰＵシラブルフラグＣＳＦをシラブル飛び越し処理を示す「１」から通常処理を示す「２」に戻しておく処理である。ＤＳＰシラブルフラグｄｓｆが「０」または「２」であれば、このステップＪ６はジャンプする。これはシラブル飛び越し処理時にシラブルマークポインタｓｍｐをインクリメントする処理を１回のみ実行するためである。この後、上記読出し処理（ステップＪ４）で読み出したプレイ波形出力ｐｗｏを出力する（ステップＪ７）。
【００７４】
上述のステップＪ４の「読出し処理」は、波形列（音声）から逐次に切出し波形を切り出し、その切出し波形のホルマントの特徴をほぼ保ったまま、所望の再生音高に対応したピッチ（＝再生ピッチ）でその切出し波形を再生することによって、元の波形列のホルマント特性を保ったままピッチを変換するものである。この読出し処理では、再生される波形のピッチ（＝再生ピッチ）は鍵盤で押下したキーの音高に応じて変更されるが、波形再生に要するプレイ時間は再生ピッチの大きさ（すなわちどのキーが押下されたか）に影響されない。
【００７５】
この読出し処理動作を概略的に説明すると、波形メモリ７に記憶されている波形列からプレイ位置ｐｐで指定される位置近傍の１ないし２ピッチ程度の切出し波形を時間経過に従って順次に切り出して、その切り出した切出し波形を、元の波形とは異なるピッチおよびホルマントで再生するものである。その際、この切出し波形の再生を二つの処理系（パーシャル）で並行して行い、それぞれの処理系では再生しようとする再生ピッチの２倍長の周期でかつ互いが半周期（＝再生しようとする再生ピッチの周期）ずれるようにして切出し波形を再生し、これらを合成して、再生しようとする再生ピッチの周期にするようにしている。
【００７６】
図２３、図２４はこのピッチ変換処理を説明する図である。ホルマントシフト量ｆｓｖは１であれば変更なし、１以外であればホルマントを若干変更する。ここでは、ホルマントシフト量ｆｓｖが１、すなわちホルマント変更なしで、かつ再生ピッチｐｐｗを波形メモリ７の元の波形データより高くする場合を図２３で説明し、ホルマントシフト量ｆｓｖが１よりも大きい、すなわちホルマント変更ありで、かつ再生ピッチｐｐｗを波形メモリ７の元の波形列と同じにする場合を図２４で説明する。
【００７７】
まず、図２３を参照して、キーボード３１のキー押下で音高を指定することにより、元の波形列より高域側にピッチをシフトし、かつホルマント特性の変更は行わない（ホルマントシフト量ｆｓｖ＝１）場合について説明する。
【００７８】
図２３の（ａ）はバンク０領域の波形列を示しており、切出し開始アドレスｃｓａ１から始まる５周期分の切出し波形を示している。この波形列の各切出し波形は切出し波形ピッチｃｗｐ１、ｃｗｐ２、ｃｗｐ３・・・を有する。
【００７９】
また、キーボード３１のキーで音高指定されたノートナンバーに応じて定まるピッチ比ｐｒ（＝ノートピッチｎｐ／オリジナルピッチｏｐ）に基づいて再生ピッチｐｐｗが、
再生ピッチｐｐｗ＝切出し波形ピッチｃｗｐ×ピッチ比ｐｒ
で設定される。この再生ピッチｐｐｗの周期を再生ピッチカウンタｐｐｃでカウントして作る。さらに、この再生ピッチｐｐｗに同期して、前記２つの処理系での波形再生のための波形データの読出しアドレスを求めるための第１アドレスカウンタａｃ１、第２アドレスカウンタａｃ２を作成する。なお、これらの第１アドレスカウンタａｃ１、第２アドレスカウンタａｃ２はサンプリング周期毎に一つずつインクリメントされる
【００８０】
そして、第１の処理系は、後述の「波形読出し処理サブルーチン」のステップＮ６で行う第１波形読出しアドレスｗｒａ１の演算、
「第１波形読出しアドレスｗｒａ１＝第１切出し開始アドレスｆｃｓａ＋第１アドレスカウンタａｃ１×ホルマントシフト量ｆｓｖ」
のうちの後半の「第１アドレスカウンタａｃ１×ホルマントシフト量ｆｓｖ」の部分で決まる読出し速度で切出し波形を読み出す。
【００８１】
また、第２の処理系は、後述の「波形読出し処理サブルーチン」のステップＮ１５で行う波形読出しアドレスの演算
「第２波形読出しアドレスｗｒａ２＝第２切出し開始アドレスｓｃｓａ＋第２アドレスカウンタａｃ２×ホルマントシフト量ｆｓｖ」
のうちの後半の「第２アドレスカウンタａｃ２×ホルマントシフト量ｆｓｖ」の読出し速度で切出し波形を読み出す。
【００８２】
このように、切出し波形の読出し速度はホルマントシフト量ｆｓｖが１より大か小かで基準となる読出し速度（＝第１／第２アドレスカウンタａｃ１／ａｃ２の歩進速度）よりも速くまたは遅くなる。この波形読出し速度が基準値の場合には切出し波形を第１／第２アドレスカウンタａｃ１／ａｃ２の歩進速度に従ってそのアドレス順に読み出すもので、読み出した波形においても切出し波形の元のホルマントがそのまま保存される。一方、この波形読出し速度が基準値よりも大きくなると、切出し波形の読出し速度が基準値よりも速く読み出すことになり、読み出した波形においては切出し波形の元のホルマントが高域側にシフトされる。また、この波形読出し速度が基準値よりも小さくなると、切出し波形の読出し速度が基準値よりも遅く読み出すことになり、読み出した波形においては切出し波形の元のホルマントが低域側にシフトされる。
なお、図２３の例の場合はホルマントシフト量ｆｓｖ＝１であるから、第１アドレスカウンタａｃ１、第２アドレスカウンタａｃ２の変化と等しく、結果的にホルマント特性は変更されない。
【００８３】
さらに、第１アドレスカウンタａｃ１、第２アドレスカウンタａｃ２にそれぞれ同期して、ホルマント処理のために波形データを切り取る窓としてのエンベロープ窓ｅｗ１、ｅｗ２を第１、第２の処理系についてそれぞれ作成する。第１の処理系は図２３ (ｆ) に示すエンベロープ窓ｅｗ１の波形を持ち、第２の処理系は図２３ (ｇ) に示すエンベロープ窓ｅｗ２の波形を持つ。エンベロープ窓ｅｗ１、ｅｗ２は０〜１の範囲の波高値であり、窓長ｗｌを半周期とし、前半の周期では０から逐次に増加して１になり、後半の周期では１から逐次に減少して０になる三角形をしている。エンベロープ窓ｅｗ１、ｅｗ２の半周期である窓長ｗｌは、後述の「読出し処理のサブルーチン」のステップＬ１２において、
「窓長ｗｌ＝切出し波形ピッチｃｗｐ／ホルマントシフト量ｆｓｖ」
で求める。但し、窓長ｗｌは後述するように再生ピッチｐｐｗを超えないように最大でも再生ピッチｐｐｗの値に制限される。図２３はかかる制限がされた場合の例である。
【００８４】
第１の処理系では、後述の「読出し処理サブルーチン」のステップＬ１７において設定されている第１切出し開始アドレスｆｃｓａから１ないし２ピッチ分程度を取り出した切出し波形にエンベロープ窓ｅｗ１を乗算し、図２３ (ｈ) に示す波形を得る。同様に、第２の処理系では、後述の「読出し処理サブルーチン」のステップＬ１８において設定されている第２切出し開始アドレスｓｃｓａから１ないし２ピッチ分程度を取り出した切出し波形にエンベロープ窓ｅｗ２を乗算し、図２３（ｉ) に示す波形を得る。
【００８５】
このような処理の仕方によれば、これらの波形は元の切出し波形のホルマント特性をそのまま保持したものとなる。この図２３ (ｈ) 、 (ｉ) の波形は再生ピッチｐｐｗの周期長の２倍の長さであるが、両者の波形を足し合わせると再生ピッチｐｐｗの周期長となる。従って、キーボード３１からのキー指定ピッチによって元のサンプリングデータを高域側にピッチシフトしつつ、そのホルマント特性はそのまま維持できる。
【００８６】
また、波形再生のプレイ速度は、後述するように、波形列中から切出し波形単位で切出し波形を逐次に取り出していく速度を変えることによって調整している。これはプレイ位置ｐｐで示されるアドレス近傍の切出し波形を取り出すもので、このプレイ位置ｐｐの歩進速度を変えることでプレイ速度を増減させることができる。
【００８７】
図２４はホルマントシフト量ｆｓｖを１より大きくして再生波形のホルマントを元波形のホルマントより高域側にシフトする場合を示すものである。ここでは理解しやすくするためにキー指定ピッチが切出し波形ピッチｃｗｐとほぼ等しいものとして示している。
【００８８】
切出し波形の読出し速度は、第１の処理系が「第１アドレスカウンタａｃ１×ホルマントシフト量ｆｓｖ」、第２の処理系が「第２アドレスカウンタａｃ２×ホルマントシフト量ｆｓｖ」であるから、第１アドレスカウンタａｃ１、第２アドレスカウンタａｃ２の変化より速く、結果的にホルマント特性は高域側にシフトされ、変更が付与されることになる。
【００８９】
そして、読出し速度を速くすることによって切出し波形は短くなる。従って、エンベロープ窓ｅｗ１、ｅｗ３の窓長ｗｌも、
「窓長ｗｌ＝切出し波形ピッチｃｗｐ／ホルマントシフト量ｆｓｖ」
として、切出し波形が短くなったことに合わせて短くしている。
【００９０】
上記で概要を述べた読出し処理の動作を図２５〜図３０のフローチャートに基づいて説明する。
まず、全体的な動作を図２５〜図２７のフローチャートに従って説明する。このフローチャートは図２３、図２４の動作に対応したものである。上述の各レジスタは、電源の投入の際に、各種レジスタのパラメータ値の初期化が行われる。即ち、
ピッチ比ｐｒ＝ホルマントシフト量ｆｓｖ＝時間圧伸量ｔｃｖ＝１．０
出力レベルｏｌ＝切出しアドレスポインタｃａｐ＝バンク番号ｂｎ＝０
出力エンベロープレベルｏｅｌ＝０
波形読出し終了アドレスｗｅａ＝プレイ位置ｐｐ＝次切出し開始アドレスｎｃｓａ＝第１／第２切出し開始アドレスｆｃｓａ／ｓｃｓａ＝０
切出し波形ピッチｃｗｐ＝再生ピッチｐｐｗ＝０
再生ピッチカウンタｐｐｃ＝ゲート値ｇ＝第１アドレスカウンタａｃ１＝０
第２アドレスカウンタａｃ２＝再生ピッチｐｐｗ／２
第１窓カウンタｗｃ１＝０．０
第２窓カウンタｗｃ２＝１．０
識別フラグｆ＝１
シラブルマークポインタｓｍｐ＝０
【００９１】
なお、以下の説明では、電源投入後少し時間が経過し、前記フローチャートの処理によって、各レジスタや各カウンタには、既に適当な値が記憶されているとして説明する。また、このフローチャートは、ＤＳＰ６においてサンプリング周期毎に実行される。
【００９２】
発音開始時においては、プレイ位置ｐｐは、前述のボイスの発音開始処理によって、波形メモリ７のパラメータ３記憶部における処理対象のバンク番号ｂｎで示される波形列の先頭の切出し波形の切出し開始アドレスｃｓａ１が設定されている。プレイ位置ｐｐはこれを基準点にして波形再生の時間進行を管理する。１サンプル周期毎に、プレイ位置ｐｐの値を時間圧伸量ｔｃｖだけインクリメントする（ステップＬ１）。すなわち、
プレイ位置ｐｐ＝プレイ位置ｐｐ＋時間圧伸量ｔｃｖ
とする。このような更新をする結果、時間圧伸量ｔｃｖが大きければ、プレイ位置ｐｐは速く進んで波形列全体を再生するに要する時間が短くなり、反対に時間圧伸量ｔｃｖが小さければプレイ位置ｐｐは遅く進むので波形列全体を再生するに要する時間は長くなる。
【００９３】
次いで、プレイ位置ｐｐと波形読出し終了アドレスｗｅａとを比較し、プレイ位置ｐｐが波形読出し終了アドレスｗｅａ以上になっていれば、当該バンク番号の波形列についての処理が終了したことになるので、プレイ位置ｐｐを波形読出し終了アドレスｗｅａの値に固定し（ステップＬ３）、それ以上に波形処理が進行しないようにする。
【００９４】
次いで、シラブルフラグ処理を行う（ステップＬ４）。このシラブルフラグ処理はＤＳＰシラブルフラグｄｓｆの値に応じた態様の波形プレイ処理が行えるように各種レジスタの値の設定やポイントの更新等を行う処理である。図２８はこのシラブルフラグ処理の詳細な内容を示すフローチャートである。以下、この図２８に従ってシラグルフラグ処理を説明する。
【００９５】
まず、ＤＳＰシラブルフラグｄｓｆの値を判定する（ステップＭ１）。ＤＳＰシラブルフラグｄｓｆがシラブル停止処理を示す「０」である場合はこのシラブルフラグ処理からリターンしてステップＬ５に進む。
【００９６】
ＤＳＰシラブルフラグｄｓｆが通常の波形再生を示す「２」である場合には、プレイ位置ｐｐと次シラブル開始アドレスｎｓｓａとを比較し（ステップＭ２）、プレイ位置ｐｐが次シラブル開始アドレスｎｓｓａに達していなければ、まだ現在のシラブルを再生している途中であることを示すから、このシラブルフラグ処理からリターンしてステップＬ５に進む。プレイ位置ｐｐが次シラブル開始アドレスｎｓｓａに達していれば、次のシラブルについて波形再生を行うための準備をステップＭ５、Ｍ６で行う。
【００９７】
ＤＳＰシラブルフラグｄｓｆがシラブル飛び越し処理を示す「１」である場合には、現在再生中のシラブルを飛び越して次に続くシラブルの先頭から再生開始できるように、次のようにパラメータの設定を行う。すなわち、
プレイ位置ｐｐ＝次シラブル開始アドレスｎｓｓａ
切出しアドレスポインタｃａｐ＝シラブルマークｓｍ
この処理は、プレイ位置ｐｐに、次シラブルの開始アドレスである次シラブル開始アドレスｎｓｓａを設定し、さらにパラメータ３記憶部から切出し開始アドレスを読み出すための切出しアドレスポインタｃａｐをシラブルマークｓｍの値により更新する。
【００９８】
次のステップＭ４〜Ｍ６ではシラブルについて波形再生を行うための準備を行う。
まず、次シラブル開始アドレスｎｓｓａと波形読出し終了アドレスｗｅａとを比較し（ステップＭ４）、次シラブル開始アドレスｎｓｓａが波形読出し終了アドレスｗｅａに達していれば、その波形番号の波形列の再生を終了したことになるので、リターンしてステップＬ５に進む。次シラブル開始アドレスｎｓｓａが波形読出し終了アドレスｗｅａに達していなければ、パラメータ２（シラブルマーク領域）記憶部から次のシラブルマークを読み出すためにシラブルマークポインタｓｍｐをインクリメントし（ステップＭ５）、このインクリメントしたシラブルマークポインタｓｍｐを用いてパラメータ２記憶部からシラブルマークｍｋを、
シラブルマークｓｍ＝＠２（バンク番号ｂｎ×＄８０＋シラブルルークポインタｓｍｐ）
により読み出す（ステップＭ６）。この後、この読み出したシラブルマークｓｍを用いて、パラメータ３（切出し開始アドレス領域）記憶部から次シラブルの先頭にある切出し波形の切出し開始アドレスを読み出して次シラブル開始アドレスｎｓｓａとする（ステップＭ６）。
【００９９】
以上のシラブルマーク処理が終わったら、プレイ位置ｐｐと次シラブル開始アドレスｎｓｓａを比較する (ステップＬ５) 。プレイ位置ｐｐが次シラブル開始アドレスｎｓｓａ以上の場合には、
プレイ位置ｐｐ＝次シラブル開始アドレスｎｓｓａ
とする（ステップＬ６）。すなわちプレイ位置ｐｐを次シラブル開始アドレスｎｓｓａに固定する（ステップＦ３７）。
【０１００】
ここで、ステップＬ４のシラブルフラグ処理においてＤＳＰシラブルフラグｄｓｆが「１」または「２」の場合には次シラブル開始アドレスｎｓｓａが次のシラブルのものに更新されているため、ステップＬ５でプレイ位置ｐｐが次シラブル開始アドレｎｓｓａ以上と判定されることはなく、したがって、ＤＳＰシラブルフラグｄｓｆが「１」または「２」の場合には波形再生の進行は停止することはない。
よって、ＤＳＰシラブルフラグｄｓｆがシラブル飛び越し処理を示す「１」の場合には、現在のプレイ位置ｐｐがステップＭ３で次のシラブルの開始位置ｎｓｓａまで飛び、その後は通常どうりの波形再生が行われることになり、前述のシラブル飛び越し処理が実現される。
【０１０１】
一方、ＤＳＰシラブルフラグｄｓｆがシラブル停止処理を示す「０」の場合にはシラブルフラグ処理（ステップＬ４）で次シラブル開始アドレスｎｓｓａは更新されないので、波形再生の進行に従って、やがてステップＬ５でプレイ位置ｐｐが次シラブル開始アドレスｎｓｓａ以上と判定され、その場合にはステップＬ６でプレイ位置ｐｐが次シラブル開始アドレスｎｓｓａに固定され、そのプレイ位置ｐｐ以上に波形再生が進行しなくなり、シラブルの終りに相当する位置の同じ切出し波形を繰り返して再生するようになる。よって前述のシラブル停止処理が行われる。
【０１０２】
プレイ位置ｐｐが次シラブル開始アドレスｎｓｓａより小さければ、まだ現在再生中のシラブルの波形の終りまで処理を終えていないことを意味する。この場合、さらにプレイ位置ｐｐと次切出し開始アドレスｎｃｓａを比較する（ステップＬ７）。この次切出し開始アドレスｎｃｓａは前述した図２２の発音開始処理からも分かるように、次に続く切出し波形の切出し開始アドレス（先頭アドレス）である。よってプレイ位置ｐｐが次切出し開始アドレスｎｃｓａより大きければ、それまで処理していた切出し波形が終了したので、この切出し波形から次の切出し波形に処理を移行するために切出し波形の更新を行う。
【０１０３】
この切出し波形の更新は次のようにして行う（ステップＬ８）。
・現切出し開始アドレスｃｃｓａ＝＠３（バンク番号ｂｎ×＄８００＋１＋切出しアドレスポインタｃａｐ）
・次切出し開始アドレスｎｃｓａ＝＠３（バンク番号ｂｎ×＄８００＋２＋切出しアドレスポインタｃａｐ）
・切出し波形ピッチｃｗｐ＝次切出し開始アドレスｎｃｓａ−現切出し開始アドレスｃｃｓａ
・切出しアドレスポインタｃａｐを一つインクリメント
【０１０４】
すなわち、波形メモリ７のパラメータ３記憶部の切出し開始アドレス領域における「切出しアドレスポインタｃａｐ＋１」で指されるアドレスから現切出し開始アドレスｃｃｓａを読み出し、「切出アドレスポインタｃａｐ＋２」で指されるアドレスから次切出し開始アドレスｎｃｓａを読み出し、この現切出し開始アドレスｃｃｓａから次切出し開始アドレスｎｃｓａを引いたもの（アドレスの差分）を切出し波形ピッチｃｗｐとする。その後、切出しアドレスポインタｃａｐを一つインクリメントする。
【０１０５】
ステップＬ７において、プレイ位置ｐｐが次の切出し波形の切出し開始アドレスｎｃｓａより小であれば、まだ現在の切出し波形の途中であるから、切出し波形の更新は行わないので、ステップＬ８の処理は飛び越す。
【０１０６】
以上のステップＬ１〜Ｌ８の処理により、大きな時間圧伸量ｔｃｖが設定された場合にはプレイ位置ｐp が速く進んで、結果として第１／第２切出し開始アドレスｆｃｓａ／ｓｃｓａの更新（後述のステップＬ１７、Ｌ１８）が早く行われ、よってプレイ時間が短くなる。反対に時間圧伸量ｔｃｖが小さい場合にはプレイ位置ｐｐが遅く進んで第１／第２切出し開始アドレスｆｃｓａ／ｓｃｓａの更新が遅く行われ、よってプレイ時間が長くなる。
【０１０７】
なお、この時間圧伸量ｔｃｖをかなり小さな値に設定した場合には同じ切出し波形が複数回繰り返して再生されつつ、遅い速度で波形再生が進行するようになる。これは、プレイ位置ｐｐの進行がゆっくりしているためステップＬ７の判断でプレイ位置ｐｐがなかなか比較している値よりも大きくならず、よって切出し波形の更新がなかなか行われないで同じ切出し波形からの読出し処理が繰り返し行われるためである。反対に、時間圧伸量ｔｃｖをかなり大きな値にすると、切出し波形の更新において、次に続く切出し波形を飛び越してしまいその切出し波形の再生が行われないような場合も生じる。
【０１０８】
ここで、変調レバー３２の操作があった場合には、時間圧伸量ｔｃｖは、前述のプレイ処理のステップＦ１７において変調レバー３２の操作量ＭＬＶに応じて時間圧伸変調量ＴＣＭＶが変更されて設定されるので、プレイ時間は変調レバー３２の操作量ＭＬＶにより次のように変化する。
【０１０９】
▲１▼変調レバー３２の操作量ＭＬＶが＄００〜＄４０の場合
変調レバー３２の操作量ＭＬＶが＄００に近付くほど、プレイ位置ｐｐの移動の速さが遅くなる。操作量ＭＬＶが＄００では、プレイ位置ｐｐの移動はほぼ停止状態となり、同じ切出し波形が繰り返して再生され続けるようになる。また操作量ＭＬＶが中央位置の＄４０では、時間圧伸操作子２４で設定した設定時間圧伸量ＳＴＣＶの速さでプレイ位置ｐｐが移動して再生される。
▲２▼変調レバー３２の操作量が＄４１〜＄７Ｆの場合
操作量ＭＬＶが＄７Ｆに近付くほど、プレイ位置の移動速度が速くなる。操作量ＭＬＶが＄７Ｆでは、時間圧伸操作子２４で設定した設定時間圧伸量ＳＴＣＶの２倍の速さでプレイ位置ｐｐが移動して再生される。
【０１１０】
上記のようにプレイ位置ｐｐを時間基準として用いて切出し波形の更新を行いつつ波形列を再生すると、波形再生に要する時間長（プレイ時間）は、再生する波形の音高によらず、ユーザが時間圧伸操作子２４と変調レバー３２の操作で設定する時間圧伸量ｔｃｖで決めることができるようになる。
【０１１１】
ステップＬ９では、再生ピッチカウンタｐｐｃ、第１アドレスカウンタａｃ１、第２アドレスカウンタａｃ２をそれぞれ１つ歩進させる（ステップＬ９）。次に、再生ピッチカウンタｐｐｃと再生ピッチｐｐｗとを比較する（ステップＬ１０）。この再生ピッチｐｐｗが再生されるピッチに対応する。再生ピッチカウンタｐｐｃが再生ピッチｐｐｗに達していなければ、後述するステップＬ１９の「波形読出し処理」へ進む。なお、再生ピッチｐｐｗは後述のステップＬ１２で算出される。
【０１１２】
再生ピッチカウンタｐｐｃが再生ピッチｐｐｗの値に達している時にはステップＬ１１〜Ｌ１８を行う。このステップＬ１１〜Ｌ１８の処理は、次に続く再生ピッチの周期での処理を行うために各種パラメータの値を更新するものである。まず、再生ピッチカウンタｐｐｃを０とする（ステップＬ１１）。次いで、新たな再生ピッチｐｐｗを、キーボード３１の押鍵で音高指定されたキーに基づくピッチ比ｐｒ（＝ノートピッチｎｐ／オリジナルピッチｏｐ）と切出し波形ピッチｃｗｐとを乗じることで求める（ステップＬ１２）。次いで、切出し波形ピッチｃｗｐをホルマントシフト量ｆｓｖで除算してエンベロープ窓の窓長ｗｌを求める（ステップＬ１２）。次いで、オフセットｏｓを０に設定する。
【０１１３】
次に、窓長ｗｌを再生ピッチｐｐｗ以内に制限する（ステップＬ１３、Ｌ１４）。すなわち、窓長ｗｌと再生ピッチｐｐｗとを比較し（ステップＬ１３）、窓長ｗｌが再生ピッチｐｐｗよりも大きい場合には、窓長ｗｌを再生ピッチｐｐｗとする（ステップＬ１４）。また、切出し波形ピッチｃｗｐから（再生ピッチｐｐｗ×ホルマントシフト量ｆｓｖ）を引いてオフセットｏｓを求める。後述するように、このオフセットｏｓはエンベロープ窓の中央付近で切出し波形を切り出せるようにするためのパラメータである。一方、窓長ｗｌが再生ピッチｐｐｗ以下である場合には、このステップＬ１４の処理は行わない。以上により、窓長ｗｌが再生ピッチｐｐｗより大きくならないように制限をかける。
【０１１４】
次いで、窓長ｗｌの逆数を求め、これを歩進率ｗｒとする (ステップＬ１５）。この歩進率ｗｒは、第１窓カウンタｗｃ１、第２窓カウンタｗｃ２を歩進させるために使用する。また、識別フラグｆの極性を反転させる。このステップＬ１４の処理は、ステップＬ１０おいて再生ピッチカウンタｐｐｃが再生ピッチｐｐｗ以上になったときに行われるので、識別フラグＦの反転も、再生ピッチカウンタｐｐｃが再生ピッチｐｐｗ以上になったときに行われることになり、例えば図２３、図２４の（ｃ）に示されるように、再生ピッチカウンタｐｐｃの周期で１と−１に反転する波形が得られる。
【０１１５】
次に、識別フラグｆの値を０と比較し、識別フラグｆが１であるか、−１であるかを判断する（ステップＬ１６）。識別フラグｆの値が１であることは識別フラグｆが−１から１に立ち上がったときを意味しており、この場合には、第１の処理系の第１アドレスカウンタａｃ１と第１窓カウンタｗｃ１をそれぞれ「０」とし、第１切出し開始アドレスｆｃｓａを現切出し開始アドレスｃｃｓａにオフセットｏｓを足したものとする（ステップＬ１７）。
【０１１６】
また、識別フラグｆの値が−１であることは識別フラグｆが１から−１に立ち下がったことを意味しており、この場合には、第２の処理系の第２アドレスカウンタａｃ２と第２窓カウンタｗｃ２をそれぞれ「０」とし、第２切出し開始アドレスｓｃｓａを現切出し開始アドレスｃｃｓａにオフセットｏｓを足したものとする（ステップＬ１８）。
【０１１７】
この場合、このステップＬ１７とＬ１８は、ステップＬ１３で再生ピッチカウンタｐｐｃが再生ピッチｐｐｗを超えたと判定される毎に交互に実行されるものであるから、第１アドレスカウンタａｃ１と第２アドレスカウンタａｃ２は、図２３の（ｄ）、（ｅ）のように再生ピッチｐｐｗの２倍長の周期で、かつ、お互いに再生ピッチｐｐｗだけ位相の異なる変化をするものとなる。また、第１切出開始アドレスｆｃｓａは第１アドレスカウンタａｃ１の立下り部分で、第２切出し開始アドレスｓｃｓａは第２アドレスカウンタａｃ２の立下り部分で、互いが再生ピッチｐｐｗだけ時間差を持ったタイミングで更新されることになる。
【０１１８】
このステップＬ１７またはＬ１８の処理に続いて、あるいはステップＬ１０において再生ピッチカウンタｐｐｃが再生ピッチｐｐｗに達していないと判断されたときには、波形読出し処理を行う（ステップＬ１９）
【０１１９】
図２９、図３０はこの波形読出し処理を示すフローチャートである。以下にこの波形読出し処理について詳細に説明する。
【０１２０】
波形読出し処理
図２９、３０は波形読出し処理のフローチャートであり、同図中のステップＮ１〜Ｎ９は第１の処理系のための処理、ステップＮ１０〜Ｎ１８は第２の処理系のための処理であり、この二つの処理は時系列に行われるが、処理の内容は実質的に同様な内容となっている。
【０１２１】
図２９に示すように、波形読出し処理では、まず第１窓カウンタｗｃ１の値を歩進率ｗｒだけ歩進させる（ステップＮ１）。そして、歩進させた第１窓カウンタｗｃ１が１より小さいか、１以上であって２より小さいか、あるいは２以上であるかを判定する（ステップＮ２）。１より小さい場合には、第１窓カウンタｗｃ１の値を第１エンベロープ窓ｅｗ１とし（ステップＮ３）、１以上であって２より小さい場合には、２から第１窓カウンタｗｃ１を減算した値を第１エンベロープ窓ｅｗ１として（ステップＮ４) 、２以上のとき、第１エンベロープ窓ｅｗ１の値を０とする（ステップＮ５）。
【０１２２】
このステップＮ１〜Ｎ５は、例えば図２３（ｆ) に示されるように、歩進率ｗｒずつ値が増加する鋸歯状波を作成し、これの値を波高値「１」で折り返すことによって、第１エンベロープ窓ｅｗ１を作成している。但し、窓カウンタｗｃ１が２を越えた場合には、ステップＮ５によって第１エンベロープ窓ｅｗ１の波高値を「０」としている。即ち、ホルマントシフト量ｆｓｖと切出し波形ピッチｃｗｐとに基づいて定めた窓長ｗｌの逆数である歩進率ｗｒずつ１まで増加し、その後、０まで減少する三角波を第１のエンベロープ窓ｅｗ１の波形として作成している。
【０１２３】
また、ステップＮ３〜Ｎ５に続いて、第１アドレスカウンタａｃ１（読出しアドレスの歩進値）にホルマントシフト量ｆｓｖを乗算した値を、第１の波形の第１切出し開始アドレスｆｃｓａと加算して、第１の処理系における波形データ（サンプリング値）の読出しアドレス（以下、第１波形読出しアドレスと称する）ｗｒａ１とする（ステップＮ６）。
【０１２４】
また、この第１波形読出しアドレスｗｒａ１を波形読出し終了アドレスｗｅａと比較し（ステップＮ７）、波形読出し終了アドレスｗｅａよりも大きければ、ゲート値ｇ＝０とする（ステップＮ８）。このゲート値ｇ＝０の設定により、後述するように、出力レベルはある傾斜をもって減衰し消音する。波形読出し終了アドレスｗｅａ以下であれば、この第１波形読出しアドレスｗｒａ１を用いて波形メモリ７の波形データ記憶部から波形データｗｄを読み出す（ステップＮ９）。このように第１波形読出しアドレスｗｒａ１はその歩進幅がホルマントシフト量ｆｓｖによって変更されるので、結果的には切出し波形の読出し速度が、ホルマントシフト量ｆｓｖによって変更されている。
これに続くステップＮ１０〜Ｎ１８では上述と同じ処理を、第２の処理系についても行う。
【０１２５】
次いで、読み出した波形データの出力ｏに乗じる出力エンベロープレベルｏｅｌの算出と、波形出力ｗｏの算出を行う（ステップｌ１９）。すなわち、出力エンベロープレベルｏｅｌを、
出力エンベロープレベルｏｅｌ＝出力エンベロープレベルｏｅｌ＋（ゲート値ｇ×ベロシティレベルｖｌ−出力エンベロープレベルｏｅｌ）×Ｋ
で求める。この出力エンベロープレベルｏｅ１は、波形列の再生開始時に漸次に立ち上がり、波形再生途中では１となり、波形再生が波形読出し終了アドレスｗｅａに達すると漸次に立ち下がるエンベロープ波形となる。なお、Ｋは立上り／立下りの傾斜を決定するための係数である。
また、波形出力ｗｏは、
波形出力ｗｏ＝波形データｗｄ１×第１エンベロープ窓ｅｗ１＋波形データｗｄ２×第２エンベロープ窓ｅｗ２
で求める。これは、第１の処理系で第１エンベロープ窓ｅｗ１を用いて切り取った波形出力と、第２の処理系で第２エンベロープ窓ｅｗ２を用いて求めた波形出力とを足し合わせて再生波形とするものである。
【０１２６】
最後に、最終のプレイ波形出力ｐｗｏを、
プレイ波形出力ｐｗｏ＝波形出力ｗｏ×出力エンベロープレベルｏｅｌ
により求める。従って、再生された波形列の出力レベルは、波形列の再生開始時に係数Ｋに従う傾きで立ち上がり、波形再生が波形読出し終了アドレスｗｅａに達すると係数Ｋに従う傾きで立ち下がり消音されるものになる。
【０１２７】
以上に述べた実施例では、シラブル停止処理、シラブル飛び越し処理等の指示をキーボードのアフタータッチ機構を用いて行ったが、もちろん本発明はこれに限られるものではなく、キーボード以外の他の操作子を用いてこれらの制御を行うものであってもよい。例えば中立位置から前後に揺らすことができるレバーを用い、その中立位置では波形再生を通常処理で行い、前位置ではシラブル停止処理、後位置ではシラブル飛び越し処理を行うように構成する、あるいはボタンスイッチでこれらの処理を指示するなどである。
【０１２８】
また上述の実施例では、波形再生の進行をシラブル単位に停止・再開させたり、ジャンプさせたりしたが、本発明はこれに限られるものではなく、演奏等の表現を面白くすることができる他の区切り位置であってもよい。例えば単語毎に区切る、音楽の小節ごとに区切るなどであってもよい。
【０１２９】
また上述の実施例では、波形信号としてシラブルを持つ言葉を想定したが、もちろん本発明はこれに限られるものではなく、通常の楽器演奏による音楽であってもよい。
【０１３０】
また上述の実施例では、波形再生を行う手段として、プレイ位置情報に基づいて波形再生の進行を管理して所望の再生ピッチで波形再生できる手段を用いたが、もちろん本発明はこれだけに限られるものではなく、従来からある種々多々の波形再生手段が本発明においても利用可能である。
【０１３１】
【発明の効果】
以上に説明したように、本発明によれば、波形の再生速度をピッチ、あるいはピッチとホルマントを変化させずに変えることができる。
また、波形の再生の進行を例えばシラブル（音節）単位で停止・開始させたり、次のシラブルまでジャンプさせるなど、演奏者がリアルタイムでシラブル等の区切りの進行を制御でき、演奏等の表現を一層豊富にすることができる。
【図面の簡単な説明】
【図１】本発明にかかる一実施例としての波形発生装置の全体的なブロック構成を示す図である。
【図２】実施例装置における波形メモリのパラメータ１（ステータス領域）記憶部のデータ構成例を示す図である。
【図３】実施例装置における波形メモリのパラメータ２（シラブルマーク領域）記憶部のデータ構成例を示す図である。
【図４】実施例装置における波形メモリのパラメータ３（切出し開始アドレス領域）記憶部のデータ構成例を示す図である。
【図５】実施例装置における波形メモリの波形データ記憶部のデータ構成例を示す図である。
【図６】実施例装置におけるＣＰＵ側のＭＩＤＩ情報レジスタに設定される各種のパラメータを示す図である。
【図７】実施例装置におけるＣＰＵ側のレジスタに設定される各種のパラメータを示す図である。
【図８】実施例装置におけるＤＳＰ側のキー情報レジスタに設定される各種のパラメータを示す図である。
【図９】実施例装置におけるＤＳＰ側のレジスタに設定される各種のパラメータを示す図である。
【図１０】実施例装置におけるメインルーチンを示すフローチャートである。
【図１１】実施例装置における録音モード処理ルーチンを示すフローチャートである。
【図１２】実施例装置における編集モード処理ルーチンを示すフローチャートである。
【図１３】実施例装置におけるプレイモード処理ルーチンを示すフローチャートである。
【図１４】実施例装置におけるプレイ処理ルーチン（１／３）の詳細を示すフローチャートである。
【図１５】実施例装置におけるプレイ処理ルーチン（２／３）の詳細を示すフローチャートである。
【図１６】実施例装置におけるプレイ処理ルーチン（３／３）の詳細を示すフローチャートである。
【図１７】実施例装置のプレイ処理ルーチンにおけるボイスモジュールへの割当て処理の詳細を示すフローチャートである。
【図１８】実施例装置のプレイ処理ルーチンにおけるアフタータッチ処理の詳細を示すフローチャートである。
【図１９】実施例装置におけるＣＰＵ割込み処理ルーチンを示すフローチャートである。
【図２０】実施例装置におけるＣＰＵ割込み処理ルーチンの演算処理で生成される各種信号波形のタイムチャートである。
【図２１】実施例装置におけるＤＳＰでのメインルーチンを示すフローチャートである。
【図２２】実施例装置におけるＤＳＰでのメインルーチン中の「ボイスの発音開始処理」を示すフローチャートである。
【図２３】「読出し処理」の動作概要（ホルマント特性変更なし、高域にピッチシフト）を説明するためのタイムチャートである。
【図２４】「読出し処理」の動作概要（ホルマント特性を低域にシフト）を説明するためのタイムチャートである。
【図２５】実施例装置におけるＤＳＰでのメインルーチン中の読出し処理ルーチン（１／３）を示すフローチャートである。
【図２６】実施例装置におけるＤＳＰでのメインルーチン中の読出し処理ルーチン（２／３）を示すフローチャートである。
【図２７】実施例装置におけるＤＳＰでのメインルーチン中の読出し処理ルーチン（２／３）を示すフローチャートである。
【図２８】実施例装置のＤＳＰメインルーチンにおける読出し処理ルーチン中のシラブルフラグ処理ルーチンを示すフローチャートである。
【図２９】実施例装置のＤＳＰメインルーチンにおける読出し処理ルーチン中の波形読出し処理ルーチン（１／２）を示すフローチャートである。
【図３０】実施例装置のＤＳＰメインルーチンにおける読出し処理ルーチン中の波形読出し処理ルーチン（２／２）を示すフローチャートである。
【符号の説明】
１  ＣＰＵ
２  操作子群
２１  モード選択スイッチ
２２  バンク選択スイッチ
２３  ホルマントシフト操作子
２４  時間圧伸操作子
２５  ピッチ変調操作子
２６  ホルマント変調操作子
２７  ベロシティレベル変調操作子
３  キーボード装置
３１  キーボード
３２  変調レバー
４  ハードディスク装置
５  記憶部
６  ＤＳＰ（ディジタル信号プロセッサ）
７  波形メモリ
８  Ａ／Ｄ変換器
９  Ｄ／Ａ変換器
【図１】
0003910702.tif 000002
【図２】
0003910702.tif 000003
【図３】
0003910702.tif 000004
【図４】
0003910702.tif 000005
【図５】
0003910702.tif 000006
【図６】
0003910702.tif 000007
【図７】
0003910702.tif 000008
【図８】
0003910702.tif 000009
【図９】
0003910702.tif 000010
【図１０】
0003910702.tif 000011
【図１１】
0003910702.tif 000012
【図１２】
0003910702.tif 000013
【図１３】
0003910702.tif 000014
【図１４】
0003910702.tif 000015
【図１５】
0003910702.tif 000016
【図１６】
0003910702.tif 000017
【図１７】
0003910702.tif 000018
【図１８】
0003910702.tif 000019
【図１９】
0003910702.tif 000020
【図２０】
0003910702.tif 000021
【図２１】
0003910702.tif 000022
【図２２】
0003910702.tif 000023
【図２３】
0003910702.tif 000024
【図２４】
0003910702.tif 000025
【図２５】
0003910702.tif 000026
【図２６】
0003910702.tif 000027
【図２７】
0003910702.tif 000028
【図２８】
0003910702.tif 000029
【図２９】
0003910702.tif 000030
【図３０】
0003910702.tif 000031