(57)【特許請求の範囲】
【請求項１】
波形をあらわす波形データを記憶する記憶手段と、
波形データを加工するためのパラメータを設定する設定手段と、
前記設定手段により設定されたパラメータに従って、前記記憶手段に記憶された波形データを加工する第１の波形加工手段と、
前記設定手段により設定されたパラメータに従って、前記記憶手段に記憶された波形データを、前記第１の波形加工手段による波形データの加工よりも高速かつ低精度に加工する第２の波形加工手段と、
加工済の波形データに基づく波形の再生を指示する再生指示手段と、
前記再生指示手段により波形の再生を指示されたとき、その再生を指示された波形のうち、前記第１の波形加工手段で加工が終了した波形部分については該第１の波形加工手段で加工された波形データに基づいて波形を再生し、該波形部分を除く波形部分については前記第２の波形加工手段で加工された波形データに基づいて波形を再生する波形再生手段とを備えたことを特徴とする波形処理装置。
【請求項２】
前記設定手段が、前記パラメータとして、波形を時間軸方向に圧縮もしくは伸長する圧伸率を設定するものであり、
前記第１および第２の波形加工手段が、前記設定手段により設定された圧伸率に従って波形を時間軸方向に圧縮もしくは伸長する時間圧伸加工を行なうものであることを特徴とする請求項１記載の波形処理装置。
【請求項３】
前記第１の波形加工手段は、前記設定手段によりパラメータが設定されたことに起因して前記記憶手段に記憶された波形データの加工を開始するものであることを特徴とする請求項１記載の波形処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力された波形をあらわす波形データを加工することにより波形を処理する波形処理装置に関する。
【０００２】
【従来の技術】
従来より、楽音をあらわす波形を時間軸方向に圧縮もしくは伸長する圧伸率を設定し、設定された圧伸率に従ってその波形を時間軸方向に圧縮もしくは伸長する時間圧伸加工処理を行ない、時間圧伸加工処理された波形に基づいて楽音を生成する波形処理装置が知られている。
また、入力された楽音をディジタル信号に変換し、その信号のデータをメモリに順次一定速度で書き込んで行き、メモリから読み出すときに、ユーザによりあらかじめ設定されたピッチに応じた速度でデータを読み出すピッチシフト加工処理を行なうことにより、入力された楽音の周波数を変化させて楽音を生成する波形処理装置も知られている。
さらに、入力された楽音に対して、操作子の操作によりあらかじめ設定された操作量だけエコーやコーラス等の効果を付与するエフェクト加工処理を行ない、エフェクト加工処理された楽音を生成する波形処理装置も知られている。
【０００３】
【発明が解決しようとする課題】
上述したような様々な波形処理装置において、時間圧伸加工処理，ピッチシフト加工処理，エフェクト加工処理等（以下、これらを総称して「加工処理」と略記する）を高精度に行なうと、加工処理に長時間を要する結果となる。このためユーザは、その加工処理結果を確認する場合、その加工処理が終了するまでの長時間待たなければならないという問題がある。特に、波形自体が長時間にわたるものである場合、加工処理に要する時間もより長くなるため、ユーザの待ち時間も一層長くなる。
このような問題を解決するために、加工処理が途中であっても、ユーザが確認を望んだ時点で、再生ボタンを押すことにより、加工処理が終了した波形部分まで再生し、そこで再生を中断するということが考えられる。しかし、これでは加工処理が終了した波形部分は確認することはできるものの、波形全体の加工処理結果を確認することはできないという問題が発生する。
【０００４】
そこで、本来行なうとしている高精度な加工処理とは別に、楽音の音質は落ちるもののその高精度な加工処理よりも精度の低い加工処理である、リアルタイムに処理することのできる高速な加工処理を用意し、高速な加工処理を実行するために備えられたプレビューボタンを押すと、高精度な加工処理が途中であっても、その加工処理を中断して、最初から高速な加工処理を行なって波形を再生することにより、とりあえずプレビューとしてユーザにすぐに試聴させる波形処理装置が提案されている。しかし、この場合、ユーザは、波形の加工処理が終了しているか否かを判断し、波形の加工処理が終了していると判断される場合は再生ボタンを押し、波形の加工処理が未だ終了していないと判断される場合はプレビューボタンを押すというように、再生ボタンとプレビューボタンとの２つのボタンを使い分ける必要があり、操作性が悪いという問題がある。
本発明は、上記事情に鑑み、できるだけ高精度の加工処理結果を確認することができ、かつ操作性に優れた波形処理装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成する本発明の波形処理装置は、
（１）波形をあらわす波形データを記憶する記憶手段
（２）波形データを加工するためのパラメータを設定する設定手段
（３）上記設定手段により設定されたパラメータに従って上記記憶手段に記憶された波形データを加工する第１の波形加工手段
（４）上記設定手段により設定されたパラメータに従って、上記記憶手段に記憶された波形データを、上記第１の波形加工手段による波形データの加工速度よりも高速に加工する第２の波形加工手段
（５）加工済の波形データに基づく波形の再生を指示する再生指示手段
（６）上記再生指示手段による波形再生指示を受けて、上記第１の波形加工手段による波形データの加工の進度に応じて、上記第１の波形加工手段で加工された波形データに基づく波形、あるいは上記第２の波形加工手段で加工された波形データに基づく波形を再生する波形再生手段
を備えたことを特徴とする。
【０００６】
本発明の波形処理装置は、上記構成のため、再生指示手段による波形再生指示を受けると、例えば、波形の加工処理が終了している場合は第１の波形加工手段で高精度に加工された波形データに基づく波形全体を即座に再生し、波形の加工処理が終了していない場合は第２の波形加工手段で高速に加工された波形データに基づく波形全体を即座に再生することができる。あるいは波形再生と高精度な波形加工処理を同時に実行することができる装置の場合、高精度な波形加工処理が完了していなくても波形再生を行なっている間に波形加工処理が終了するタイミングで波形再生指示があった場合は、高精度に加工された波形データに基づく波形を再生してもよい。従って、従来のように、ユーザが、波形の加工処理が終了しているか否かを判断し、波形の加工処理が終了している場合は再生ボタンを押し、波形の加工処理が終了していない場合はプレビューボタンを押すというような、ユーザが判断を行なう場合や、再生ボタンとプレビューボタンとの２つのボタンを使い分ける必要はなく、操作性が高まる。
【０００７】
ここで、上記波形再生手段が、上記再生指示手段による波形再生指示を受けて、上記第１の波形加工手段による波形データの加工の進度に応じて、再生が指示された波形のうち、上記第１の波形加工手段で加工が終了した波形部分については第１の波形加工手段で加工された波形データに基づいて、その波形部分を除く波形部分については上記第２の波形加工手段で加工された波形データに基づいて、波形を再生するものであることが効果的である。
このような波形再生手段により、第１の波形加工手段で加工が終了した波形部分については第１の波形加工手段で加工された波形データに基づいて波形を再生し、その波形部分を除く残りの波形部分については第２の波形加工手段で加工された波形データに基づいて波形を再生すると、波形データの加工再生が途中であっても、ユーザが確認を望んだ時点で、加工が終了した波形部分については精度の高い加工処理結果を、また残りの波形部分については加工結果の概略を、即座に知ることができる。
【０００８】
ここで、本発明の波形処理装置は、典型的には、上記設定手段が、上記パラメータとして、波形を時間軸方向に圧縮もしくは伸長する圧伸率を設定するものであり、上記第１および第２の波形加工手段が、上記設定手段により設定された圧伸率に従って波形を時間軸方向に圧縮もしくは伸長する時間圧伸加工を行なうものに適用することができる。
また、上記第１の波形加工手段は、上記設定手段によりパラメータが設定されたことに起因して上記記憶手段に記憶された波形データの加工を開始するものであることが好ましい。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図１は、本発明のー実施形態の波形処理装置の回路構成を示したブロック図である。
図１に示す波形処理装置１００には、ＲＯＭ１１と、ＲＡＭ１２と、ＣＰＵ１３と、表示器１４と、操作子群１５と、Ｄ／Ａコンバータ１６と、Ａ／Ｄコンバータ１７とが備えられている。これらＲＯＭ１１，ＲＡＭ１２，ＣＰＵ１３，表示器１４，操作子群１５，Ｄ／Ａコンバータ１６，Ａ／Ｄコンバータ１７は、バス１８で互いに接続されている。
ＲＯＭ１１には、この図１に示す波形処理装置１００全体の制御を行なうためのプログラムや、楽音をあらわす波形を時間軸方向に圧縮もしくは伸長する時間圧伸加工処理を行なうためのプログラム等が格納されている。
【００１０】
ＲＡＭ１２は、本発明にいう記憶手段の一例であり、このＲＡＭ１２には、上述のプログラム等を実行する際に必要なデータ（変数）が一時的に記憶される。また、録音により得られたオリジナルの波形データや、その波形データに基づく波形が時間圧伸加工処理されてなる加工済の波形データも記憶される。また、このＲＡＭ１２は、時間圧伸加工処理を実行する際に必要なワークメモリとしても用いられる。
ＣＰＵ１３は、ＲＯＭ１１に格納されたプログラムに基づいて、設定された圧伸率に従ってＲＡＭ１２に記憶されたオリジナルの波形データを高精度に時間圧伸加工（本発明にいう第１の波形加工手段の一例）したり、設定された圧伸率に従ってＲＡＭ１２に記憶されたオリジナルの波形データを、第１の波形加工手段による波形データの加工速度よりも高速に時間圧伸加工（本発明にいう第２の波形加工手段の一例）したり、その他の必要な処理を行なう。
【００１１】
表示器１４は、圧伸率等を表示する。
操作子群１５については、詳細は後述するが、複数のスイッチを有し、これら複数のスイッチを操作することにより、圧伸率の設定や、時間圧伸加工処理や、楽音の録音や、波形の再生が行なわれる。
Ｄ／Ａコンバータ１６は、波形データを一時的に貯えるバッファメモリを内蔵しており、設定された圧伸率に基づいてＲＡＭ１２から読み出された加工済の波形データを上記バッファメモリに貯える一方、このバッファメモリから順次波形データを取り出してＤ／Ａ変換してアナログ信号を出力する。出力されたアナログ信号は、図示しない音源に入力され空中に放音される。
Ａ／Ｄコンバータ１７は、録音のために外部から入力された、楽音をあらわすアナログ信号をＡ／Ｄ変換してオリジナルの波形データを生成する。生成されたオリジナルの波形データはＲＡＭ１２に記憶される。
【００１２】
図２は、図１に示す表示器および操作子群が配備されたパネルを示す図である。
図２に示すパネル２０には、表示器１４および操作子群１５が配備されている。表示器１４には、オリジナルの波形データを加工するためのパラメータとして、波形を時間軸方向に圧縮もしくは伸長するための圧伸率Ｅxst （ここでは１２０％）が表示されている。操作子群１５は、圧伸率減少スイッチ１５１と、圧伸率増加スイッチ１５２と、録音開始スイッチ１５３と、再生開始スイッチ１５４とから構成されている。
【００１３】
圧伸率減少スイッチ１５１は、押される毎に圧伸率Ｅxst をデクリメントし、圧伸率増加スイッチ１５２は、押される毎に圧伸率Ｅxst をインクリメントする。デクリメントもしくはインクリメントされた圧伸率Ｅxst は表示器１４に表示される。圧伸率減少スイッチ１５１および圧伸率増加スイッチ１５２は、本発明にいう設定手段の一例であり、これら圧伸率減少スイッチ１５１，圧伸率増加スイッチ１５２を操作して所望の圧伸率Ｅxst を設定する。
録音開始スイッチ１５３は、外部から入力される楽音の録音を開始するためのスイッチである。
再生開始スイッチ１５４は、本発明にいう再生指示手段の一例であり、ＲＡＭ１２に記憶された加工済の波形データに基づく波形の再生を開始するためのスイッチである。
ユーザは、以下の手順で、入力された楽音をあらわす波形を時間圧伸加工処理して、所望の再生波形を得る。
【００１４】
（１）先ず、録音開始スイッチ１５３を押す。すると、楽音の録音が開始され、楽音をあらわすアナログ信号がＡ／Ｄコンバータ１７でオリジナルの波形データに変換されてＲＡＭ１２に記憶される。所定時間経過後、楽音の録音は終了する。
（２）次に、圧伸率減少スイッチ１５１もしくは圧伸率増加スイッチ１５２を押して、所望の圧伸率Ｅxst を設定する。圧伸率Ｅxst が設定された時点で、その圧伸率Ｅxst に基づいて、高精度に時間圧伸加工処理が開始される。
（３）ユーザは、高精度に行なわれている時間圧伸加工処理の途中で、その時間圧伸加工処理の結果を確認したい場合、再生開始スイッチ１５４を押す。すると、再生開始スイッチ１５４が押されたことを受けて、再生される波形のうち、高精度に行なわれた時間圧伸加工が終了した波形部分については、高精度に時間圧伸加工された波形データに基づいてＤ／Ａコンバータ１６を経由して波形が再生される。また、時間圧伸加工が終了した波形部分を除く波形部分については、高精度に行なわれる時間圧伸加工の速度よりも高速に時間圧伸加工され、その時間圧伸加工された波形データに基づいてＤ／Ａコンバータ１６を経由して波形が再生される。尚、高精度に行なわれる時間圧伸加工処理、および高速に行なわれる時間圧伸加工処理の詳細については、後述する。
【００１５】
（４）ユーザは、再生された波形があらわす楽音を試聴した結果、所望する楽音でないと判断した場合、上記（２）および（３）の操作を繰り返すことにより、所望の再生波形を得る。
尚、波形全体について、高精度に時間圧伸加工処理が終了した場合は、表示器１４にその旨が表示される。
図３は、図１に示す波形処理装置で実行されるプログラムのメインルーチンのフローチャートである。
図１に示す波形処理装置１００に電源が投入されると、この図３に示すメインルーチンが起動される。
ここで、ステップＳ１１に示すフラグＥＦｌａｇは、高精度な時間圧伸加工処理に関するフラグであり、このフラグＥＦｌａｇが’０’の場合は高精度な時間圧伸加工処理が要求されていないことを示し、またこのフラグＥＦｌａｇが’１’の場合は高精度な時間圧伸加工処理が要求されていることを示し、さらにこのフラグＥＦｌａｇが’２’の場合は高精度な時間圧伸加工処理が実行中であることを示す。
【００１６】
先ず、ステップＳ１１において、フラグＥＦｌａｇを’０’にする。次にステップＳ１２において、圧伸率Ｅxst が変更されたか否かが判定される。圧伸率Ｅxst が変更されたと判定された場合は、変更された圧伸率Ｅxst に従って高精度に時間圧伸加工処理を行なう必要があるため、ステップＳ１３に進む。ステップＳ１３では、フラグＥＦｌａｇを’１’にしてステップＳ１４に進む。一方、ステップＳ１２において、圧伸率Ｅxst が変更されていないと判定された場合は、そのままステップＳ１４に進む。
ステップＳ１４では、再生開始スイッチ１５４が押されているか否かが判定される。再生開始スイッチ１５４が押されていると判定された場合は、波形の再生を開始する旨の指示がなされているためステップＳ１５に進み、後述する波形再生処理ルーチンを実行してステップＳ１６に進む。一方、再生開始スイッチ１５４が押されていないと判定された場合は、そのままステップＳ１６に進む。
【００１７】
ステップＳ１６では、録音開始スイッチ１５３が押されているか否かが判定される。録音開始スイッチ１５３が押されていると判定された場合は、楽音の録音を開始する旨の指示がなされているためステップＳ１７に進み、フラグＥＦｌａｇを’０’にする。次にステップＳ１８に進み、録音処理を行なう。この録音処理では、入力された楽音をあらわすアナログ信号をＡ／Ｄコンバータ１７でオリジナルの波形データに変換してＲＡＭ１２に記憶する。その後、ステップＳ１２に戻る。一方、ステップＳ１６において、録音開始スイッチ１５３が押されていないと判定された場合はそのままステップＳ１２に戻る。
図４は、高精度に時間圧伸加工処理を行なうためのタイマ割り込みルーチンのフローチャートである。
このタイマ割り込みルーチンは、図示しないタイマにより所定時間毎に繰り返し発生される割り込み信号により起動され、前述のメインルーチンの実行に割り込む形で定期的に実行される。
【００１８】
先ず、ステップＳ２１において、フラグＥＦｌａｇが’０’であるか否かが判定される。フラグＥＦｌａｇが’０’であると判定された場合は、高精度な時間圧伸加工処理は要求されていないため、何もせず、このルーチンを抜ける。一方、フラグＥＦｌａｇが’０’でないと判定された場合は、フラグＥＦｌａｇが’１’もしくは’２’であるためステップＳ２２に進む。
ステップＳ２２では、フラグＥＦｌａｇが’１’であるか’２’であるかが判定される。フラグＥＦｌａｇが’１’であると判定された場合は、高精度な時間圧伸加工処理が要求されているため、ステップＳ２３に進む。ステップＳ２３では、以下の初期化処理を行なう。先ず、ＲＡＭ１２に記憶されたオリジナルの波形データのアドレスで波形を所定の長さに区切ることにより、その波形をブロック毎に分割する。高精度な時間圧伸加工処理は、このように分割されたブロック毎に行なわれる。また、現在行なわれている、高精度な時間圧伸加工処理中のブロックの先頭アドレスを示すカウントアドレスＣＡＤＲＳを’０’に初期化する。さらに、フラグＥＦｌａｇを’２’にセットして、ステップＳ２４に進む。一方、ステップＳ２２において、フラグＥＦｌａｇが’２’であると判定された場合は、高精度な時間圧伸加工処理が実行中であるためそのままステップ２４に進む。
【００１９】
ステップＳ２４では、１ブロック分について、後述する高精度な計算を行なう。これにより、高精度な時間圧伸加工処理が行なわれる。また、カウントアドレスＣＡＤＲＳを更新するために、そのカウントアドレスＣＡＤＲＳに１ブロック分のアドレス量を加算して、ステップＳ２５に進む。ステップＳ２５では、カウントアドレスＣＡＤＲＳが、波形データ全体の最終アドレスＥＮＤＡＤＲＳに達したか否かが判定される。カウントアドレスＣＡＤＲＳが最終アドレスＥＮＤＡＤＲＳに達していると判定された場合は、波形データ全体にわたり、高精度な計算が終了しているため、ステップＳ２６に進みフラグＥＦｌａｇを’０’にしてこのルーチンを終了する。一方、ステップＳ２５において、カウントアドレスＣＡＤＲＳが最終アドレスＥＮＤＡＤＲＳに達していないと判定された場合はそのままこのルーチンを終了することになるが、次にタイマ割り込みが発生すると、このタイマ割り込みルーチンが再び起動されて、前述した１ブロック分に続く次の１ブロック分について高精度な時間圧伸加工処理を行なう。
【００２０】
図５は、図４に示すタイマ割り込みルーチンにおける１ブロック分の高精度計算（ステップＳ２４）の一例を示す波形図である。
先ず、ＲＡＭ１２から、カウントアドレスＣＡＤＲＳで指定される１ブロック分のオリジナルの波形データを読み出し、この波形データに基づいて図５（ａ）に示す１ブロック分の波形を得る。
次に、この１ブロック分の波形を、ＦＦＴ（高速フーリエ変換）によって、周波数軸上の信号成分の分布に変換して図５（ｂ）に示す信号成分を得る。
さらに、図５（ｂ）に示す信号成分を、指定された圧伸率Ｅxst と同じ割合だけ周波数軸上でシフト（ピッチシフト）する。これにより、それぞれの信号成分の周波数がその圧伸率Ｅxst に対応する倍数（例えば、圧伸率Ｅxst が２００％では２倍、圧伸率Ｅxst が５０％では１／２倍）となる信号成分の分布を周波数軸上に得る（図５（ｃ））。尚、図５（ｂ）および図５（ｃ）は、周波数軸を対数軸として周波数分布を示している。
【００２１】
次に、図５（ｃ）に示す、周波数軸上の信号成分を、逆ＦＦＴにより時間軸上の波形に戻し、図５（ｄ）に示す波形を得る。この、図５（ｄ）に示す波形は、図５（ａ）に示す、１ブロック分の波形と同じ時間でかつ周波数が圧伸率Ｅxst に対応する倍数になっている。このようにして、録音された楽音をあらわす波形のうちの１ブロック分に対して、高精度に時間圧伸加工処理を行なう。
さらに、図５（ｄ）に示す、高精度に時間圧伸加工処理が行なわれた１ブロック分の波形データで、ＲＡＭ１２に記憶されている図５（ａ）に示す１ブロック分の波形データを更新する。このように更新されＲＡＭ１２に記憶された波形データは、圧伸率Ｅxst に対応する倍数の逆数の読出速度で読み出される。すると、ここでは、図５（ｅ）に示すように、高精度な時間圧伸加工処理前の周波数で、かつ圧伸率Ｅxst に応じて時間軸方向に伸張された波形が再生される。
図６は、図３に示す波形再生処理ルーチンのフローチャートである。
【００２２】
先ず、ステップＳ３１において、図４に示すタイマ割り込みルーチンにおける初期化処理と同様にして、波形全体をブロック毎に分割し、また現在再生処理中のブロックの先頭アドレスを示す再生アドレスＰＡＤＲＳを’０’に初期化する。次にステップＳ３２において、再生アドレスＰＡＤＲＳがカウントアドレスＣＡＤＲＳ以下であるか否かが判定される。再生アドレスＰＡＤＲＳがカウントアドレスＣＡＤＲＳ以下であると判定された場合は、これから再生処理するブロックは高精度計算が既に終了しているため、ステップＳ３３に進み、再生処理１を行なう。この再生処理１は、再生アドレスＰＡＤＲＳを先頭アドレスとする１ブロック分の波形データを、図５（ｅ）を参照して説明したように、圧伸率Ｅxst に対応する倍数の逆数の読出速度で読み出す。このように読み出すことにより、高精度計算にて周波数変換された波形データは、周波数が時間圧伸加工処理前の周波数に戻ると同時に、再生時間が圧伸率Ｅxst に応じた長さとなる。読み出された１ブロック分の波形データはＤ／Ａコンバータ１６に出力される。尚、Ｄ／Ａコンバータ１６のバッファメモリに１ブロック分の波形データを収容する空きが無い場合には、Ｄ／Ａコンバータ１６の変換処理が進んでバッファメモリに十分な空きができるのを待ってから波形データを出力する。
【００２３】
一方、ステップＳ３２において、再生アドレスＰＡＤＲＳがカウントアドレスＣＡＤＲＳより大きいと判定された場合は、これから再生処理するブロックは高精度計算がまだ終了していないため、ステップＳ３４に進み、後述するようにして１ブロック分の波形データを高速計算し、さらにステップＳ３５において再生処理２を行なう。この再生処理２では、高速計算された１ブロック分の波形データをＤ／Ａコンバータ１６に出力してステップＳ３６に進む。尚、Ｄ／Ａコンバータ１６のバッファメモリに１ブロック分の波形データを収容する空きが無い場合には、上述したようにバッファメモリに十分な空きができてから波形データを出力する。
ステップＳ３６では、１ブロック分の波形データの再生が終了したため、再生アドレスＰＡＤＲＳを更新すべく、その再生アドレスＰＡＤＲＳに１ブロック分のアドレス量を加算してステップＳ３７に進む。
【００２４】
ステップＳ３７では、再生アドレスＰＡＤＲＳが波形データ全体の最終アドレスＥＮＤＡＤＲＳに達したか否かが判定される。再生アドレスＰＡＤＲＳが最終アドレスＥＮＤＡＤＲＳに達していると判定された場合は、波形データ全体にわたり再生が終了したため、このルーチンを終了する。一方、ステップＳ３７において、再生アドレスＰＡＤＲＳが最終アドレスＥＮＤＡＤＲＳに達していないと判定された場合は、波形データ全体にわたり再生がまだ終了していないため、ステップＳ３２に戻り、前述したようにして波形データを高精度計算もしくは高速計算してＤ／Ａコンバータ１６に出力する。
図７は、図６に示す波形再生処理ルーチンにおける１ブロック分の高速計算（ステップＳ３４）の一例を示す図である。
先ず、図７（ａ）を参照して、圧伸率Ｅxst に対応する倍数（ｅｘｓｔ）が１より大きい場合の、１ブロック分の高速計算について説明する
【００２５】
図７（ａ）は、圧伸率Ｅxst に対応する倍数（ｅｘｓｔ）が１より大きい場合の、１ブロック分の高速計算を説明するための図である。図７（ａ）には、先頭アドレスＳ＿ＡＤＲＳから最終アドレスＥ＿ＡＤＲＳまでのアドレスからなる１ブロック分のブロックＡが示されている。このブロックＡは、以下のようにして高速に伸張加工処理される。
先ず、ブロックＡの最終アドレスＥ＿ＡＤＲＳから、そのブロックＡの長さ×（ｅｘｓｔ−１）だけ戻ったアドレスＤ＿ＡＤＲＳを算出する。ここで、アドレスＤ＿ＡＤＲＳは、
Ｄ＿ＡＤＲＳ＝Ｅ＿ＡＤＲＳ−（Ｅ＿ＡＤＲＳ−Ｓ＿ＡＤＲＳ）×（ｅｘｓｔ−１）
とあらわされる。次に、ブロックＡの先頭アドレスＳ＿ＡＤＲＳから最終アドレスＥ＿ＡＤＲＳまでを順次読み出し、さらにアドレスＤ＿ＡＤＲＳから最終アドレスＥ＿ＡＤＲＳまでを重複して読み出すことにより伸長する。即ち、ブロックＡに、アドレスＤ＿ＡＤＲＳから最終アドレスＥ＿ＡＤＲＳまでのアドレスからなるブロックＢを付加することにより高速に伸長加工処理する。
【００２６】
次に、図７（ｂ）を参照して、圧伸率Ｅxst に対応する倍数（ｅｘｓｔ）が１以下である場合の、１ブロック分の高速計算について説明する
図７（ｂ）は、圧伸率Ｅxst に対応する倍数（ｅｘｓｔ）が１以下である場合の、１ブロック分の高速計算を説明するための図である。図７（ｂ）には、先頭アドレスＳ＿ＡＤＲＳから最終アドレスＥ＿ＡＤＲＳまでのアドレスからなる１ブロック分のブロックＡが示されており、このブロックＡは以下のようにして高速に圧縮加工処理される。
先ず、ブロックＡの最終アドレスＥ＿ＡＤＲＳから、そのブロックＡの長さ×（１−ｅｘｓｔ）だけ戻ったアドレスＫ＿ＡＤＲＳを算出する。ここで、アドレスＫ＿ＡＤＲＳは、
Ｋ＿ＡＤＲＳ＝Ｅ＿ＡＤＲＳ−（Ｅ＿ＡＤＲＳ−Ｓ＿ＡＤＲＳ）×（１−ｅｘｓｔ）
とあらわされる。次に、ブロックＡの先頭アドレスＳ＿ＡＤＲＳから、上記算出されたアドレスＫ＿ＡＤＲＳまでを順次読み出すことにより圧縮する。即ち、アドレスＫ＿ＡＤＲＳから最終アドレスＥ＿ＡＤＲＳまでは読み飛ばすことにより高速に圧縮加工処理する。
【００２７】
尚、ＣＰＵ１３の計算能力に余力があれば、図７（ａ）に示すブロックＡとブロックＢとのつなぎ目や、図７（ｂ）に示すブロックＡのアドレスＫ＿ＡＤＲＳとそのブロックＡの次のブロックの先頭アドレスとのつなぎ目等の不連続点付近で、クロスフェード処理すると、楽音の音質を高めることができる。
尚、本実施形態では、再生される波形のうち、高精度に行なわれた時間圧伸加工が終了した波形部分については、高精度に時間圧伸加工された波形データに基づいて波形を再生し、その波形部分を除く残りの波形部分については、高速に時間圧伸加工された波形データに基づいて波形を再生したが、これに限られるものではなく、本発明の波形処理装置は、高精度に行なわれる時間圧伸加工の進度に応じて、択一的に、高精度に時間圧伸加工のされた波形データ、あるいは高速に時間圧伸加工された波形データに基づいて波形を再生するものであればよい。例えば、波形を再生するにあたり、高精度に行なわれる時間圧伸加工が終了している場合は、高精度に時間圧伸加工された波形データに基づいて波形全体を再生し、高精度に行なわれる時間圧伸加工が終了していない場合は、高速に時間圧伸加工された波形データに基づいて波形全体を再生するものであってもよい。
【００２８】
また、本実施形態では、楽音をあらわす波形を時間軸方向に圧縮もしくは伸長する時間圧伸加工処理の例で説明したが、これに限られるものではなく、本発明の波形処理装置は、楽音をあらわす波形の周波数（ピッチ）を変化させるピッチシフト処理や、あるいは楽音にエコーやコーラス等の効果（エフェクト）を付与するエフェクト処理等であってもよい。
【００２９】
【発明の効果】
以上説明したように、本発明によれば、できるだけ高精度の加工処理結果を確認することができ、かつ操作性に優れた波形処理装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の波形処理装置の回路構成を示したブロック図である。
【図２】図１に示す表示器および操作子群の詳細を示す図である。
【図３】図１に示す波形処理装置で実行されるプログラムのメインルーチンのフローチャートである。
【図４】高精度に時間圧伸加工処理を行なうためのタイマ割り込みルーチンのフローチャートである。
【図５】図４に示すタイマ割り込みルーチンにおける１ブロック分の高精度計算（ステップＳ２４）の一例を示す波形図である。
【図６】図３に示す波形再生処理ルーチンのフローチャートである。
【図７】図６に示す波形再生処理ルーチンにおける１ブロック分の高速計算（ステップＳ３４）の一例を示す図である。
【符号の説明】
１１  ＲＯＭ
１２  ＲＡＭ
１３  ＣＰＵ
１４  表示器
１５  操作子群
１６  Ｄ／Ａコンバータ
１７  Ａ／Ｄコンバータ
１８  バス
２０  パネル
１００  波形処理装置
１５１  圧伸率増加スイッチ
１５２  圧伸率減少スイッチ
１５３  録音開始スイッチ
１５４  再生開始スイッチ
【図１】
0004205782.tif 000002
【図２】
0004205782.tif 000003
【図３】
0004205782.tif 000004
【図４】
0004205782.tif 000005
【図５】
0004205782.tif 000006
【図６】
0004205782.tif 000007
【図７】
0004205782.tif 000008