(57)【特許請求の範囲】
【請求項１】
ディスプレイ上で波形表示ウィンドウに波形データを表示させる過程と、
該波形表示ウィンドウ内において、ユーザの操作に基づいて一または複数の境界位置を決定する過程と、
前記境界位置が複数指定され、かつ、第１のイベントが発生したことを条件として、前記複数の境界位置の間に属する部分に対して選択表示を行う過程と、
第２のイベントが発生したことを条件として、前記波形データのうち、最前部にある境界位置よりも前方の部分に対して選択表示を行う過程と、
前記波形表示ウィンドウ内において選択表示が行われた部分に対して指定された編集処理を施す過程と
を有することを特徴とする波形編集方法。
【請求項２】
第３のイベントが発生したことを条件として、前記波形データのうち、最後部にある境界位置よりも後方の部分に対して選択表示を行う過程
をさらに有することを特徴とする請求項１記載の波形編集方法。
【請求項３】
ディスプレイ上で第１および第２の波形表示ウィンドウに各々内容が異なる第１および第２の波形データを各々表示させる過程と、
前記第１の波形表示ウィンドウにおける波形表示範囲を表す波形表示範囲情報をメモリに記憶する過程と、
所定のイベントが発生したことを条件として、前記第２の波形表示ウィンドウの波形表示範囲を前記波形表示範囲情報に一致するように設定し、該設定に基づいて前記第２の波形表示ウィンドウを再表示させる再表示過程と、
前記第１または第２の波形表示ウィンドウの何れかにおいて対応する第１または第２の波形データの編集を行う過程と
を有することを特徴とする波形編集方法。
【請求項４】
前記所定のイベントは、前記第１の波形表示ウィンドウがアクティブ・ウィンドウである時に当該第１の波形表示ウィンドウにおいて生じるイベントであり、
前記第２の波形表示ウィンドウは複数存在し、各々内容が異なる波形データを表示するものであり、
前記再表示過程は、これら複数の第２の波形表示ウィンドウの各波形表示範囲を前記波形表示範囲情報に一致させる過程である
ことを特徴とする請求項３記載の波形編集方法。
【請求項５】
ディスプレイ上で波形表示ウィンドウに波形データを表示させる過程と、
該波形表示ウィンドウ内において、ユーザの操作に基づいて複数の境界位置を決定する過程と、
所定のイベントが発生したことを条件として、前記境界位置を、その前方または後方に存在する前記波形データのゼロクロス位置に移動する過程であって、前記波形データのうち最前部にある境界位置をその前方にあるゼロクロス位置に移動するステップと、前記波形データのうち最前部にある境界位置をその後方にあるゼロクロス位置に移動するステップと、前記波形データのうち最後部にある境界位置をその前方にあるゼロクロス位置に移動するステップと、前記波形データのうち最後部にある境界位置をその後方にあるゼロクロス位置に移動するステップとを少なくとも含む複数のステップのうち一つのステップを、検出したイベント内容に基づいて選択的に実行する境界位置移動過程と、
該移動した境界位置に基づいて、前記波形表示ウィンドウ内において選択表示を行う過程と、
この選択表示が行われた部分に対して指定された編集処理を施す過程と
を有することを特徴とする波形編集方法。
【請求項６】
請求項１ないし５の何れかに記載の波形編集方法を実行することを特徴とする波形編集装置。
【請求項７】
請求項１ないし５の何れかに記載の波形編集方法を処理装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音波形の編集に用いて好適な波形編集方法、波形編集装置およびプログラムに関する。
【０００２】
【従来の技術】
従来より、パーソナルコンピュータ上で楽音波形を編集するソフトウエアには種々のものが知られている。これらのソフトウエアにおいては、例えば波形データの一部分を選択してエンベロープを付与するような処理が可能である。
【０００３】
【発明が解決しようとする課題】
しかし、従来のソフトウエアにおいては、波形データの一部分の選択を行う操作が煩雑であり、作業を効率的に進めることが困難である場合もあった。
この発明は上述した事情に鑑みてなされたものであり、きわめて操作性の高い波形編集方法、波形編集装置およびプログラムを提供することを目的としている。
【０００４】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の波形編集方法にあっては、ディスプレイ上で波形表示ウィンドウに波形データを表示させる過程と、該波形表示ウィンドウ内において、ユーザの操作に基づいて一または複数の境界位置（STARTPおよびENDP）を決定する過程（ＳＰ４）と、前記境界位置が複数指定され、かつ、第１のイベント（SELECT_AREAイベント）が発生したことを条件として、前記複数の境界位置の間に属する部分に対して選択表示を行う過程（ＳＰ１０）と、第２のイベント（SELECT_AHEADイベント）が発生したことを条件として、前記波形データのうち、最前部にある境界位置（STARTP）よりも前方の部分に対して選択表示を行う過程（ＳＰ１４）と、前記波形表示ウィンドウ内において選択表示が行われた部分に対して指定された編集処理を施す過程（波形編集処理）とを有することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載の波形編集方法において、第３のイベント（SELECT_LATERイベント）が発生したことを条件として、前記波形データのうち、最後部にある境界位置（ENDP）よりも後方の部分に対して選択表示を行う過程（ＳＰ１８）をさらに有することを特徴とする。
また、請求項３記載の波形編集方法にあっては、ディスプレイ上で第１および第２の波形表示ウィンドウ（５０および５２，５４）に各々内容が異なる第１および第２の波形データを各々表示させる過程と、前記第１の波形表示ウィンドウ（５０）における波形表示範囲を表す波形表示範囲情報（WINSCALEw）をメモリに記憶する過程（ＳＰ３８，ＳＰ４４）と、所定のイベント（Ｆ．Ｏ．Ｗ．イベント）が発生したことを条件として、前記第２の波形表示ウィンドウ（５２，５４）の波形表示範囲を前記波形表示範囲情報（WINSCALEw）に一致するように設定し、該設定に基づいて前記第２の波形表示ウィンドウを再表示させる再表示過程（ＳＰ４８）と、前記第１または第２の波形表示ウィンドウ（５０または５２，５４）の何れかにおいて対応する第１または第２の波形データの編集を行う過程（波形編集処理）とを有することを特徴とする。
さらに、請求項４記載の構成にあっては、請求項３記載の波形編集方法において、前記所定のイベントは、前記第１の波形表示ウィンドウ（５０）がアクティブ・ウィンドウである時に当該第１の波形表示ウィンドウ（５０）において生じるイベントであり、前記第２の波形表示ウィンドウ（５２，５４）は複数存在し、各々内容が異なる波形データを表示するものであり、前記再表示過程は、これら複数の第２の波形表示ウィンドウの各波形表示範囲を前記波形表示範囲情報（WINSCALEw）に一致させる過程であることを特徴とする。
また、請求項５記載の波形編集方法にあっては、ディスプレイ上で波形表示ウィンドウに波形データを表示させる過程と、該波形表示ウィンドウ内において、ユーザの操作に基づいて複数の境界位置（STARTPおよびENDP）を決定する過程（ＳＰ６２）と、所定のイベント（ゼロクロスAHEAD操作イベント，ゼロクロスLATER操作イベント）が発生したことを条件として、前記境界位置を、その前方または後方に存在する前記波形データのゼロクロス位置に移動する過程であって、前記波形データのうち最前部にある境界位置（STARTP）をその前方にあるゼロクロス位置に移動するステップ（ＳＰ７０）と、前記波形データのうち最前部にある境界位置（STARTP）をその後方にあるゼロクロス位置に移動するステップ（変形例）と、前記波形データのうち最後部にある境界位置（ENDP）をその前方にあるゼロクロス位置に移動するステップ（変形例）と、前記波形データのうち最後部にある境界位置（ENDP）をその後方にあるゼロクロス位置に移動するステップ（ＳＰ７４）とを少なくとも含む複数のステップのうち一つのステップを、検出したイベント内容に基づいて選択的に実行する境界位置移動過程（ＳＰ７０，ＳＰ７２）と、該移動した境界位置に基づいて、前記波形表示ウィンドウ内において選択表示を行う過程（ＳＰ６６）と、この選択表示が行われた部分に対して指定された編集処理を施す過程（波形編集処理）とを有することを特徴とする。
また、請求項６記載の波形編集装置にあっては、請求項１ないし５の何れかに記載の波形編集方法を実行することを特徴とする。
また、請求項７記載のプログラムにあっては、請求項１ないし５の何れかに記載の波形編集方法を処理装置に実行させることを特徴とする。
【０００５】
【発明の実施の形態】
1．実施形態の構成
1．1．全体構成
次に、本発明の一実施形態の波形編集システムの構成を図１を参照し説明する。なお、本実施形態は、汎用パーソナルコンピュータ上で実現されている。
図において２はＣＰＵであり、後述するプログラムに基づいて、バス２４を介して他の構成要素を制御する。４はＲＯＭであり、波形編集システムのイニシャルプログラムローダ等が格納されている。６はＲＡＭであり、波形編集システムのオペレーティングシステム、アプリケーションプログラム等のワークメモリとして用いられる。
【０００６】
８はハードディスクドライブ、１０はＣＤ−ＲＯＭドライブであり、ハードディスクおよびＣＤ−ＲＯＭがセットされる。これらハードディスクおよびＣＤ−ＲＯＭには、必要に応じてＲＡＭ６に展開されるオペレーティングシステム、アプリケーションプログラム、波形データ等が格納されている。１２は周辺機器インタフェースであり、ここにはキーボード１８、マウス２０、モニタディスプレイ２２等が接続されている。
【０００７】
１４は通信インタフェースであり、ローカルエリアネットワークを介して外部の装置との間で波形データ等をやりとりする。１６は音源であり、ＣＰＵ２において生成された楽音波形をアナログ信号に変換し出力する。出力された楽音波形は、図示せぬサウンドシステムを介して発音される。
【０００８】
2．実施形態の動作
2．1．波形選択処理（図２）
まず、波形編集システム上で所定の波形編集アプリケーションプログラムを実行し、所定の操作を行うと、例えば図８に示すような波形表示ウィンドウがモニタディスプレイ２２に表示される。この波形表示ウィンドウにおいて所定の「位置・範囲指定操作」が実行されると、操作に応じた内容が波形表示ウィンドウ上に反映される。なお、ここで「位置・範囲指定操作」とは、例えば波形表示ウィンドウにおけるマウス２０の一または複数回のクリック操作等である。
【０００９】
次に、波形表示ウィンドウにおいて所定の「選択指定操作」が実行されると、図２に示すルーチンが実行される。なお、「選択指定操作」とは、例えばキーボード１８における所定のキーの押下等である。図２においては５種類のイベントを想定しているが、例えばこれらのイベントをキーボード１８に設けられたファンクションキー[Ｆ１]〜[Ｆ５]に割り当てるとよい。
【００１０】
さて、図２において処理がステップＳＰ２に進むと、アクティブ・ウィンドウは波形表示ウィンドウであるか否かが判定される。ここで、「ＮＯ」と判定されると、本ルーチンの処理は直ちに終了し、実質的な処理は行われない。一方、アクティブ・ウィンドウが波形表示ウィンドウであれば「ＹＥＳ」と判定され処理はステップＳＰ４に進む。ステップＳＰ４においては、先に実行された「位置・範囲指定操作」の内容に応じて、選択範囲を確定する処理が実行される。
【００１１】
すなわち、このステップでは、選択範囲の選択開始ポイントSTARTPおよび選択終了ポイントENDPが確定される。例えば、「位置・範囲指定操作」として波形表示ウィンドウ上でマウス２０の２回のクリック操作が実行された場合には、選択開始ポイントSTARTPおよび選択終了ポイントENDPは両クリック位置に設定される。また、「位置・範囲指定操作」として波形表示ウィンドウ上でマウス２０の１回のクリック操作が実行された場合には、選択開始ポイントSTARTPおよび選択終了ポイントENDPはこのクリック操作が行われた点に対応して、同一の値に設定される。
【００１２】
このように、マウス２０の１回のクリック操作によって、波形データ上の１点（１サンプリングポイント）が指定される場合の選択方法を特に「キャレット選択」と呼ぶ。キャレット選択が実行されると、図５，図７に示すように、波形表示ウィンドウ内でその選択開始ポイントSTARTP（＝選択終了ポイントENDP）に対応する位置に１個のキャレット１０２が表示される。
【００１３】
また、マウス２０の２回のクリック操作によって波形データ上の２サンプリングポイント以上の範囲が指定される場合の選択方法を「エリア選択」と呼ぶ。エリア選択が実行されると、図６に示すように、波形表示ウィンドウ内でその選択開始ポイントSTARTPおよび選択終了ポイントENDPに各々対応する位置にキャレット１０４，１０６が表示される。なお、選択開始ポイントSTARTPおよび選択終了ポイントENDPは、波形データのサンプリングナンバによって表現される。
【００１４】
2．1．1．SELECT_AREAイベントに対する処理
次に、処理がステップＳＰ６に進むと、選択指定操作はSELECT_AREAイベントであるか否かが判定される。ここで、SELECT_AREAイベントとは、上述したように、例えばキーボード１８の所定のファンクションキーの押下である。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ８に進み、選択開始ポイントSTARTPが選択終了ポイントENDP未満であるか否かが判定される。すなわち、「エリア選択」状態であるか否かが判定される。ここで、「ＮＯ」と判定されると、特に処理が行われることなく本ルーチンが終了する。
【００１５】
一方、ステップＳＰ８において「ＹＥＳ」と判定されると、処理はステップＳＰ１０に進み、波形表示ウィンドウ上で選択範囲が選択表示状態に設定される。ここで、ＲＡＭ６には、波形表示ウィンドウにおいて波形を表示するためのバッファ領域WAVEBUFが確保されており、波形表示ウィンドウにおいては、このバッファ領域WAVEBUFに記憶された内容に基づいて種々の表示が行われる。そこで、ステップＳＰ８においては、バッファ領域WAVEBUF内の選択開始ポイントSTARTPから選択終了ポイントENDPまでの範囲が選択状態に設定されるのである。
【００１６】
以上のステップが実行されると、本ルーチンの処理が終了する。なお、図６(a)において、選択開始ポイントSTARTPおよび選択終了ポイントENDPに対してSELECT_AREAイベントが実行された場合の波形表示ウィンドウの表示例を示す。なお、図上でハッチングを施した範囲が選択開始ポイントSTARTPおよび選択終了ポイントENDPに挟まれた選択範囲である。
【００１７】
2．1．2．SELECT_AHEADイベントに対する処理
また、選択指定操作としてSELECT_AHEADイベントが実行された場合の処理を説明する。かかる場合は、SELECT_AREAイベントの場合と同様にステップＳＰ２，ＳＰ４が実行された後、ステップＳＰ６において「ＮＯ」と判定され、処理はステップＳＰ１２に進む。ここでは選択指定操作はSELECT_AHEADイベントであるか否かが判定される。
【００１８】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１４に進む。ステップＳＰ１４においては、バッファ領域WAVEBUFの先頭ポイント（サンプリングナンバ０）から選択開始ポイントSTARTPまでの範囲が選択状態に設定され、その結果が波形表示ウィンドウに反映される。以上のステップが実行されると、本ルーチンの処理が終了する。なお、「キャレット選択」状態においてSELECT_AHEADイベントが実行された場合における波形表示ウィンドウの表示例を図５(a)に示す。
【００１９】
2．1．3．SELECT_LATERイベントに対する処理
また、選択指定操作としてSELECT_LATERイベントが実行された場合の処理を説明する。かかる場合は、SELECT_AHEADイベントの場合と同様にステップＳＰ２，ＳＰ４が実行された後、ステップＳＰ６，ＳＰ１２において「ＮＯ」と判定され、処理はステップＳＰ１６に進む。ここでは選択指定操作はSELECT_LATERイベントであるか否かが判定される。
【００２０】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ１８に進む。ステップＳＰ１８においては、バッファ領域WAVEBUF内の選択終了ポイントENDPからバッファ領域WAVEBUFの終了ポイントWBENDまでの範囲が選択状態に設定され、その結果が波形表示ウィンドウに反映される。以上のステップが実行されると、本ルーチンの処理が終了する。なお、「キャレット選択」状態においてSELECT_LATERイベントが実行された場合における波形表示ウィンドウの表示例を図５(b)に示す。また、「エリア選択」状態においてSELECT_LATERイベントが実行された場合における波形表示ウィンドウの表示例を図６(b)に示す。
【００２１】
2．1．4．SELECT_ALLイベントに対する処理
また、選択指定操作としてSELECT_ALLイベントが実行された場合の処理を説明する。かかる場合は、ステップＳＰ２，ＳＰ４が実行された後、ステップＳＰ６，ＳＰ１２，ＳＰ１６において「ＮＯ」と判定され、処理はステップＳＰ２０に進む。ここでは選択指定操作はSELECT_ALLイベントであるか否かが判定される。
【００２２】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ２２に進む。ステップＳＰ２２においては、全範囲すなわちバッファ領域WAVEBUFの先頭ポイント（サンプリングナンバ０）からバッファ領域WAVEBUFの終了ポイントWBENDまでの範囲が選択状態に設定され、その結果が波形表示ウィンドウに反映される。以上のステップが実行されると、本ルーチンの処理が終了する。
【００２３】
2．1．5．NO_SELECTイベントに対する処理
また、選択指定操作としてNO_SELECTイベントが実行された場合の処理を説明する。かかる場合は、ステップＳＰ２，ＳＰ４が実行された後、ステップＳＰ６，ＳＰ１２，ＳＰ１６，ＳＰ２０において「ＮＯ」と判定され、処理はステップＳＰ２４に進む。ここでは選択指定操作はNO_SELECTイベントであるか否かが判定される。
【００２４】
ここで「ＹＥＳ」と判定されると、処理はステップＳＰ２６に進む。ステップＳＰ２６においては、全範囲すなわちバッファ領域WAVEBUFの先頭ポイント（サンプリングナンバ０）からバッファ領域WAVEBUFの終了ポイントWBENDまでの範囲が非選択状態に設定され、その結果が波形表示ウィンドウに反映される。以上のステップが実行されると、本ルーチンの処理が終了する。
【００２５】
2．2．波形編集処理
本実施形態においては、バッファ領域WAVEBUFの選択範囲に対して、「カット」または任意の「エンベロープ付与」等の編集処理を実行することができる。その具体的な処理のいくつかについて、図５〜図７を参照し説明する。まず、波形表示ウィンドウにおいてキャレット選択を行ない、SELECT_LATERイベントを発生させると、波形表示ウィンドウが図５(b)のように表示されることは上述した通りである。ここで「カット」処理を指定すると、バッファ領域WAVEBUF内において該選択範囲のレベルが「０」になる。
【００２６】
この「カット」処理を実行した後、SELECT_AHEADイベントを発生させると、波形表示ウィンドウは同図(c)のように表示されることになる。この状態で「エンベロープ付与」処理を実行すると、選択範囲に指定されたエンベロープが付与され、波形表示ウィンドウは例えば同図(d)のように表示されることになる。
【００２７】
エリア選択状態においても同様の処理が可能であることは言うまでもない。エリア選択状態においてSELECT_LATERイベントが発生すると図６(b)のように表示されることは上述した通りであり、ここで「カット」処理が実行されると、バッファ領域WAVEBUF内において該選択範囲のレベルが「０」になる。この結果、波形表示ウィンドウは、例えば同図(c)のように表示されることになる。
【００２８】
次に、他の波形編集例を図７に示す。同図(a)の波形表示ウィンドウにおいてはキャレット選択状態になっている。ここでSELECT_AHEADイベントが発生すると、同図(b)のように、選択開始ポイントSTARTPより前の部分が選択状態に設定される。ここで、「エンベロープ付与」処理を実行すると、例えば同図(c)のように選択範囲にエンベロープが付与される。なお、同図(c)の例では、フェードインのエンベロープが選択範囲に付与されている。
【００２９】
次に、SELECT_LATERイベントが発生すると、同図(d)のように選択終了ポイントENDP以降の部分が選択状態に設定される。ここで、「エンベロープ付与」処理を実行すると、例えば同図(e)のように選択範囲にエンベロープが付与される。なお、同図(e)の例では、フェードアウトのエンベロープが選択範囲に付与されている。
【００３０】
このように本実施形態によれば、選択開始ポイントSTARTPおよび選択終了ポイントENDPを固定したまま選択範囲を切り換え、各部分に応じた処理を施すことができる。これにより、波形編集処理に先立つ選択処理を効率よく実行することができ、高い操作性を得ることができる。
【００３１】
2．3．時間軸表示操作処理（図３）
2．3．1．ズームインイベント
波形表示ウィンドウがアクティブ・ウィンドウである時、ズームイベントが発生すると、図３に示す時間軸表示操作処理ルーチンが呼び出される。なお、ズームイベントとして本ルーチンでは３種類のイベントを想定している。これらは、例えばキーボード１８における所定の３個のファンクションキーの各々の押下イベントとして割り当てられている。
【００３２】
図において処理がステップＳＰ３２に進むと、アクティブ・ウィンドウは波形表示ウィンドウであるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ３４に進み、発生したズームイベントがズームインイベントであるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ３６に進み、アクティブ・ウィンドウの波形が時間軸方向にズームインされて表示される。次に、処理がステップＳＰ３８に進むと、ズームインしたアクティブ・ウィンドウｗの波形表示範囲情報がパラメータWINSCALEwとして記憶される。そして、以上のステップが終了すると、本ルーチンの処理が終了する。
【００３３】
上記ステップＳＰ３６におけるズームイン表示の一例を図８，図９を参照し説明する。図８において波形表示ウィンドウ５０，５２，５４には、異なる（但し、相互に関係ある）波形が表示されている。波形表示ウィンドウ５０がアクティブ・ウィンドウであるときにズームインイベントが発生すると、図９に示すように時間軸方向に拡大された波形が波形表示ウィンドウ５０に表示される。なお、拡大前のウィンドウにおいて範囲選択が為されていた場合は、その範囲を含むように波形が拡大表示される。
【００３４】
2．3．2．ズームアウトイベント
波形表示ウィンドウがアクティブ・ウィンドウである時、ズームアウトイベントが発生すると、図３において処理はステップＳＰ３２，ＳＰ３４を介してステップＳＰ４０に進む。ここでは、発生したズームイベントがズームアウトイベントであるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ４２に進み、アクティブ・ウィンドウの波形が時間軸方向にズームアウトされて表示される。次に、処理がステップＳＰ４４に進むと、ズームアウトしたアクティブ・ウィンドウｗの波形表示範囲情報がパラメータWINSCALEwとして記憶される。そして、以上のステップが終了すると、本ルーチンの処理が終了する。
【００３５】
2．3．3．Ｆ．Ｏ．Ｗ．イベント
波形表示ウィンドウがアクティブ・ウィンドウである時、Ｆ．Ｏ．Ｗ．（フィット・アザー・ウィンドウ）イベントが発生すると、図３において処理はステップＳＰ３２，ＳＰ３４，ＳＰ４０を介してステップＳＰ４６に進む。ここでは、発生したズームイベントがＦ．Ｏ．Ｗ．イベントであるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ４８に進む。ここでは、アクティブ・ウィンドウの波形表示範囲情報WINSCALEwが読み取られ、このパラメータによる波形表示範囲が他の波形表示ウィンドウに適用され、他の波形表示ウィンドウが再表示される。そして、以上のステップが終了すると、本ルーチンの処理が終了する。
【００３６】
上記ステップＳＰ４８における処理内容を図９，図１０を参照し説明する。上述したように、図９においては波形表示ウィンドウ５０のみがズームインされており、他の波形表示ウィンドウ５２，５４はズームインされていなかった。この波形表示ウィンドウ５０においてＦ．Ｏ．Ｗ．イベントが発生すると、その波形表示範囲情報WINSCALEwに基づいて、図１０に示すように波形表示ウィンドウ５２，５４の波形表示範囲が設定されるのである。
【００３７】
そして、表示された波形表示ウィンドウ５０，５２，５４に何れかにおいて、必要に応じて上述した波形編集処理が実行される。このように本実施形態のズーム処理によれば、複数の波形表示ウィンドウの波形表示範囲を、任意の基準となる波形表示ウィンドウの表示範囲にワンタッチで合わせることができる。これにより、相互に関連する波形データを比較しつつ編集する場合等において、高い操作性を得ることができる。
【００３８】
2．4．ゼロクロス選択処理（図４）
2．4．1．波形範囲選択イベント
波形表示ウィンドウがアクティブ・ウィンドウである時、所定の「ゼロクロス選択指定イベント」が実行されると、図４に示すゼロクロス選択処理ルーチンが呼び出される。なお、ゼロクロス選択指定イベントとして本ルーチンでは「波形範囲選択イベント」、「ゼロクロスAHEAD操作イベント」および「ゼロクロスLATER操作イベント」の３種類のイベントを想定している。これらのイベントも、例えば所定の３個のファンクションキーの各々の押下イベントとして割り当てられている。
【００３９】
図において処理がステップＳＰ６０に進むと、アクティブ・ウィンドウは波形表示ウィンドウであるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ６２に進む。ステップＳＰ６０においては、「位置・範囲指定操作」の内容に応じて、テンポラリな選択開始ポイントSTARTP’および選択終了ポイントENDP’が決定される。なお、これらの決定方法は、上述した波形選択処理（図２）のステップＳＰ４と同様である。
【００４０】
さらに、このステップでは、検出されたゼロクロス選択指定イベントが「波形範囲選択イベント」であるか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ６４に進む。ここでは、波形データのゼロクロス点のうち、選択開始ポイントSTARTP’および選択終了ポイントENDP’に最も近いものが各々検出され、検出されたゼロクロス点が各々選択開始ポイントSTARTPおよび選択終了ポイントENDPに設定される。
【００４１】
次に、処理がステップＳＰ６６に進むと、上述したステップＳＰ１０と同様の処理が実行される。すなわち、バッファ領域WAVEBUF内の選択開始ポイントSTARTPから選択終了ポイントENDPまでの範囲が選択状態に設定され、その結果が波形表示ウィンドウに反映される。以上のように選択範囲が設定された波形表示ウィンドウの一例を図１１(a)に示す。
【００４２】
2．4．2．ゼロクロスAHEAD操作イベント
ゼロクロス選択指定イベントがゼロクロスAHEAD操作イベントであった場合は、処理はステップＳＰ６０を介してステップＳＰ６２に進み、ここで「ＮＯ」と判定され、処理はステップＳＰ６８に進む。ここでは、ゼロクロスAHEAD操作イベントが検出されたか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ７０に進み、現アクティブ・ウィンドウの選択開始ポイントSTARTPが、現在の選択開始ポイントSTARTPより一つ前方のゼロクロス点のアドレス（サンプリングポイント）に変更される。次に、処理がステップＳＰ６６に進むと、新たな選択開始ポイントSTARTPから選択終了ポイントENDPまでの範囲が選択状態に設定され、その結果が波形表示ウィンドウに反映される。
【００４３】
2．4．3．ゼロクロスLATER操作イベント
ゼロクロス選択指定イベントがゼロクロスLATER操作イベントであった場合は、処理はステップＳＰ６０，ＳＰ６２を介してステップＳＰ６８に進み、ここで「ＮＯ」と判定され、処理はステップＳＰ７２に進む。ここでは、ゼロクロスLATER操作イベントが検出されたか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ７４に進み、現アクティブ・ウィンドウの選択終了ポイントENDPが、現在の選択終了ポイントENDPより一つ後方のゼロクロス点のアドレス（サンプリングポイント）に変更される。次に、処理がステップＳＰ６６に進むと、新たな選択開始ポイントSTARTPから選択終了ポイントENDPまでの範囲が選択状態に設定され、その結果が波形表示ウィンドウに反映される。
【００４４】
このゼロクロスLATER操作イベントによる波形表示ウィンドウの更新例を図１１(b)〜(d)に示す。最初に波形表示ウィンドウが図１１(a)に示す状態であれば、ゼロクロスLATER操作イベントが３回発生すると、該波形表示ウィンドウは、同図(b)，(c)，(d)に示すように、半周期毎に選択範囲が拡大してゆくことになる。そして、このように設定された選択範囲において、上述した波形編集処理が必要に応じて実行される。
【００４５】
3．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記各実施形態においては、パーソナルコンピュータ上で動作するアプリケーションプログラムによって各種の処理を行ったが、このアプリケーションプログラムのみをＣＤ−ＲＯＭ、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【００４６】
(2)ゼロクロス選択処理（図４）においては、ゼロクロスAHEAD操作イベントに対応して選択開始ポイントSTARTPを前方のゼロクロス位置に進める処理（ステップＳＰ７０）と、ゼロクロスLATER操作イベントに対応して選択終了ポイントENDPを後方のゼロクロス位置に進める処理（ステップＳＰ７４）とを設けた。さらに、これらに加えて、他のイベントを検出した時に選択開始ポイントSTARTPを後方のゼロクロス位置に進める処理や、選択終了ポイントENDPを前方のゼロクロス位置に進める処理を追加してもよい。
【００４７】
【発明の効果】
以上説明したように本発明によれば、簡易な操作で波形表示ウィンドウの選択状態を設定または変更することができるから、波形編集作業を効率的に進めることが可能である。
【図面の簡単な説明】
【図１】  本発明の一実施形態の波形編集システムのブロック図である。
【図２】  波形選択処理のフローチャートである。
【図３】  時間軸表示操作処理のフローチャートである。
【図４】  ゼロクロス選択処理のフローチャートである。
【図５】  波形選択処理（図２）における波形表示ウィンドウの表示例である。
【図６】  波形選択処理（図２）における波形表示ウィンドウの他の表示例である。
【図７】  波形選択処理（図２）および波形編集処理における波形表示ウィンドウの表示例を示す図である。
【図８】  時間軸表示操作処理（図３）における波形表示ウィンドウ５０，５２，５４の表示例を示す図である。
【図９】  時間軸表示操作処理（図３）において一部のウィンドウを拡大した波形表示ウィンドウの表示例を示す図である。
【図１０】  時間軸表示操作処理（図３）においてＦ．Ｏ．Ｗ．イベントが生じた場合の波形表示ウィンドウの表示例を示す図である。
【図１１】  ゼロクロス選択処理（図４）における波形表示ウィンドウの表示例を示す図である。
【符号の説明】
２…ＣＰＵ、４…ＲＯＭ、６…ＲＡＭ、８…ハードディスクドライブ、１０…ＣＤ−ＲＯＭドライブ、１２…周辺機器インタフェース、１４…通信インタフェース、１６…音源、１８…キーボード、２０…マウス、２２…モニタディスプレイ、２４…バス、５０，５２，５４…波形表示ウィンドウ（第１および第２の波形表示ウィンドウ）、１０２，１０４，１０６…キャレット。
【図１】
0003709855.tif 000002
【図２】
0003709855.tif 000003
【図３】
0003709855.tif 000004
【図４】
0003709855.tif 000005
【図５】
0003709855.tif 000006
【図６】
0003709855.tif 000007
【図７】
0003709855.tif 000008
【図８】
0003709855.tif 000009
【図９】
0003709855.tif 000010
【図１０】
0003709855.tif 000011
【図１１】
0003709855.tif 000012