(57)【要約】【課題】  ユーザが複雑な操作を行わなくても音楽的に音の繋がりのよい波形データへと編集できるようにする。【解決手段】  所望の編集対象範囲とクロスフェード領域とを少なくとも含む編集条件を設定し、設定した編集対象範囲に基づき取得した波形データを複数の波形ブロックに分割する。ユーザ操作に応じて所定の編集態様を決定し、複数の波形ブロックのうち編集対象範囲に該当する波形ブロックを前記決定した編集態様に応じて編集する。この際に、設定したクロスフェード領域を自動的に調整し、該自動調整されたクロスフェード領域に従い複数の波形ブロックを相互にクロスフェード接続する。こうして、１つの連続する波形データを新たに生成する。このように、ユーザ所望の編集態様及び編集条件に応じて適切な波形編集を自動的に実行することから、ユーザは複雑な編集作業を行わなくても音楽的に音の繋がりのよい波形データへと簡単に編集を行うことができるようになる。【選択図】        図３Ｂ
2005274598.tif 000002
【特許請求の範囲】
【請求項１】
波形データを取得するステップと、
ユーザ所望の編集対象範囲とクロスフェード領域とを少なくとも含む編集条件を設定するステップと、
ユーザ操作に応じて所定の編集態様を決定するステップと、
前記設定した編集対象範囲に基づいて前記取得した波形データを複数の波形ブロックに分割するステップと、
前記複数の波形ブロックのうち編集対象範囲に該当する波形ブロックを前記決定した編集態様に応じて編集すると共に、前記設定したクロスフェード領域を自動的に調整するステップと、
前記自動調整されたクロスフェード領域に従い複数の波形ブロックを相互にクロスフェード接続し、１つの連続する波形データを新たに生成するステップと
からなる波形編集プログラム。
【請求項２】
波形データを一時記憶するステップを具えてなり、
前記一時記憶した波形データからなる波形ブロックと前記複数の波形ブロックのうち編集対象範囲に該当する波形ブロックの大小を比較し、該比較の結果に応じて編集対象範囲を調節して前記決定した編集態様に応じた編集を行うことを特徴とする請求項１に記載の波形編集プログラム。
【請求項３】
波形データを取得する手段と、
ユーザ所望の編集対象範囲とクロスフェード領域とを少なくとも含む編集条件を設定する手段と、
ユーザ操作に応じて所定の編集態様を決定する手段と、
前記設定した編集対象範囲に基づいて前記取得した波形データを複数の波形ブロックに分割する手段と、
前記複数の波形ブロックのうち編集対象範囲に該当する波形ブロックを前記決定した編集態様に応じて編集すると共に、前記設定したクロスフェード領域を自動的に調整する手段と、
前記自動調整されたクロスフェード領域に従い複数の波形ブロックを相互にクロスフェード接続し、１つの連続する波形データを新たに生成する手段と
を具える波形編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、表示画面上に表示した楽音等のサンプリング波形データに対して、その波形データの一部をカット又はクリアする、あるいは別の波形データをペースト又はインサートするなどの編集操作を行うことにより、波形データを適宜に編集することが可能な波形編集プログラム及び波形編集装置に関する。
【背景技術】
【０００２】
従来から、楽音等のサンプリング波形データを表示画面上に表示し、これを表示画面上で編集することのできる波形編集装置又は波形編集プログラムが知られている。特に最近ではユーザが容易に波形データを編集することができるように、ＧＵＩ（グラフィック・ユーザ・インタフェース）が採用されている。これについて簡単に説明すると、ユーザは表示画面上に表示された編集対象の波形データの任意の領域をポインタで指定し、所定の編集操作を行うだけで、この指定した領域をカット（削除）又はコピー（複写）することができる。また、カット又はコピーした当該領域部分の波形データなどをクリップボード等のバッファに一時記憶しておき、ユーザは表示画面上に表示された編集対象の波形データの任意の領域をポインタで指定し、所定の編集操作を行うだけで、バッファに一時記憶した波形データを編集対象の波形データの所望位置にペースト（貼り付け）又はインサート（挿入）することができるようになっている。
【０００３】
ところで、指定された波形データの任意の領域をカットしたり、バッファに一時記憶された波形データをペーストしたりインサートしたりする単純な編集操作を行うだけでは、音楽的に音の分断されたつながりの悪い不連続な波形データに編集されてしまうことがある。そこで、従来の波形編集装置又は波形編集プログラムにおいては、カット、コピー、ペースト、インサート等の基本的な編集機能の他に、表示画面上に表示された波形データに関する各種の編集パラメータを設定するためのパラメータ設定機能が具えられている。ユーザはカット、コピー、ペースト、インサート等の所望の編集態様に応じた所定の編集操作を行う際に、前記パラメータ設定機能を用いて表示画面上に表示されている波形データに関する各種の編集パラメータを適宜に調整するあるいは編集条件を変更するなどの編集作業を行うことによって、音楽的につながりのよい連続した任意の波形データに編集することができるようになっている。
【特許文献１】特開平8-76747号公報
【特許文献２】特開2003-345361号公報
【０００４】
上述したように、音楽的につながりのよい連続した波形データに編集するためには、カット、コピー、ペースト、インサート等の編集態様に応じた所定の編集操作を行う度に、これとは別に編集パラメータの調整や編集条件の変更などの編集作業を必要に応じてユーザが適宜に行わなければならない。しかし、従来の波形編集装置又は波形編集プログラムにおいては、カット、コピー、ペースト、インサート等の編集態様や編集条件等に応じて、編集パラメータの調整や編集条件の変更などをユーザ自身がステップバイステップの手作業により行わなければならず、こうした編集作業を行わなければならないのは面倒であるだけでなく、特に音楽的知識の浅い初心者にとって編集パラメータを適切に設定することは非常に難しいことであった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は上述の点に鑑みてなされたもので、編集態様や編集条件等に応じて最も適切な編集結果が得られるように、自動的に編集パラメータを設定することによって、ユーザが複雑な編集作業を行わなくても音楽的に音の繋がりのよい波形データへと簡単に編集することのできるようにした波形編集プログラム及び波形編集装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る波形編集プログラムは、波形データを取得するステップと、ユーザ所望の編集対象範囲とクロスフェード領域とを少なくとも含む編集条件を設定するステップと、ユーザ操作に応じて所定の編集態様を決定するステップと、前記設定した編集対象範囲に基づいて前記取得した波形データを複数の波形ブロックに分割するステップと、前記複数の波形ブロックのうち編集対象範囲に該当する波形ブロックを前記決定した編集態様に応じて編集すると共に、前記設定したクロスフェード領域を自動的に調整するステップと、前記自動調整されたクロスフェード領域に従い複数の波形ブロックを相互にクロスフェード接続し、１つの連続する波形データを新たに生成するステップとからなる。
【０００７】
本発明によると、ユーザ操作に応じて決定される編集態様及び設定された編集対象の波形データに対する編集条件に応じて、最も適切な編集結果が得られるように波形編集を自動的に実行する。すなわち、ユーザは、所望の編集対象範囲とクロスフェード領域とを少なくとも含む編集条件を設定することができ、前記設定した編集対象範囲に基づき取得した波形データは複数の波形ブロックに分割される。また、ユーザは操作に応じて所定の編集態様を決定して、前記複数の波形ブロックのうち編集対象範囲に該当する波形ブロックを前記決定した編集態様に応じて編集することができる。この際に、前記設定したクロスフェード領域を自動的に調整し、前記自動調整されたクロスフェード領域に従い複数の波形ブロックを相互にクロスフェード接続することによって、１つの連続する波形データを新たに生成する。このようにして、編集態様及び編集条件に応じて適切な波形編集を自動的に実行することから、ユーザは複雑な編集作業を行わなくても音楽的に音の繋がりのよい波形データへと簡単に編集を行うことができるようになる。
【０００８】
本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの発明として構成し実施することができるのみならず、そのようなプログラムを記憶した記憶媒体の形態で実施することができる。また、本発明は、そのようなプログラムを用いて波形編集を実行する波形編集装置の発明として構成し実施することもできる。
【発明の効果】
【０００９】
この発明によれば、編集態様や編集条件に応じた適切な波形編集を自動的に実行することから、ユーザは面倒な編集作業を新たに行わなくても最も適切な編集結果を簡単に得ることができるようになる、という優れた効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１１】
図１は、この発明に係る波形編集プログラムを適用した波形編集装置の全体構成を示したハード構成ブロック図である。ここに示された波形編集装置のハードウエア構成例はコンピュータを用いて構成されているものであり、そこにおいて、当該波形編集装置における波形編集を行うためにＧＵＩ（グラフィック・ユーザ・インタフェース）を用いた制御処理、つまりディスプレイなどの表示部４上に表示された波形データに対する各種操作（カット操作、ペースト操作等）に応じて波形データを編集する制御処理は、コンピュータがＧＵＩを実現する所定の制御プログラム（後述する図２又は図４〜図６参照）を実行することにより実施される。勿論、これらの制御処理はコンピュータソフトウエアの形態に限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
【００１２】
本実施例に示す波形編集装置は、マイクロプロセッサユニット（ＣＰＵ）１とメモリ２（ＲＯＭやＲＡＭなど）とからなるマイクロコンピュータによって制御される。ＣＰＵ１は、この波形編集装置全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してメモリ２、操作部３、表示部４、波形入出力インタフェース（I/F）５、その他入出力インタフェース（I/F）６、外部記憶装置７がそれぞれ接続されている。メモリ２はＣＰＵ１により実行される各種プログラムや各種データを格納したり、あるいはＣＰＵ１が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリ、現在実行中のプログラムやそれに関連するデータを記憶するバッファメモリ等として使用される。メモリ２の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、バッファメモリなどとして利用される。
【００１３】
操作部３は、ＧＵＩ（グラフィック・ユーザ・インタフェース）として表示部４上に表示される波形データ（後述する図３、図７〜図１０参照）等を操作したり、各種の編集パラメータ等を直接入力したりするために用いる操作子である。例えば、数値データ入力用のテンキーや文字データ入力用のキーボード、表示部４上に表示されるポインタやカーソルなどを操作するマウス等のポインティングデバイスなどである。操作子としてはこの他にも、所定のキーと同時操作されることにより所定の編集機能を実現する「コントロール（CTRL）キー」などの操作子を含む。表示部４は例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイであって、編集対象の波形データやバッファ領域（バッファメモリ）に記憶された波形データなどを所定の表示態様で表示することは勿論のこと、編集パラメータやＣＰＵ１の制御状態なども表示することができる。ユーザは、マウス等を用いて該表示部４に表示された波形データを操作して波形データを編集することができる。
【００１４】
波形入出力インタフェース５は波形入力部５ａ及び波形出力部５ｂとからなり、波形入力部５ａは当該波形編集装置に接続された図示しない外部機器等から波形データを取得する。この波形入力部５ａは、波形データがアナログ信号である場合にはディジタル信号（サンプリング波形データ）に変換後、ディジタル信号である場合にはディジタル信号のまま波形データを取得する。波形出力部５ｂは当該波形編集装置に接続された図示しない外部機器等へ波形データを供給するためのものであり、アナログ信号に変換してあるいはディジタル信号のまま外部機器等に波形データを出力する。その他の入出力インタフェース６は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークに接続されており、該通信ネットワークを介してサーバコンピュータ（図示せず）などと接続され、当該サーバコンピュータから制御プログラムあるいは波形データなどの各種データを当該波形編集装置側に取り込むためのインタフェースである。すなわち、メモリ２や外部記憶装置７等に制御プログラムや波形データ等が記憶されていない場合に、サーバコンピュータから制御プログラムや波形データ等をダウンロードするために用いられる。こうしたその他の入出力インタフェース６は、有線あるいは無線のものいずれかでなく双方を具えていてよい。外部記憶装置７は、ＣＰＵ１が実行する各種制御プログラムや波形データなどを記憶する。勿論、この外部記憶装置はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であってもよい。
【００１５】
なお、上述した波形編集装置は操作部３や表示部４あるいは外部記憶装置７などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、各種インタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことは言うまでもない。さらに、本発明に係る波形編集プログラムを適用する装置としては上記したようなコンピュータに限らず、携帯型通信端末あるいはカラオケ装置やゲーム装置など、どのような形態の装置・機器に適用してもよい。
【００１６】
図１に示した波形編集装置においては、編集対象の波形データに基づき表示部４上に表示された波形（これを便宜的に表示波形とも呼ぶ）を操作して当該波形データを編集することができる。こうしたＧＵＩ（グラフィック・ユーザ・インタフェース）を用いて波形データを編集する制御処理は、図１に示したＣＰＵ１がユーザによる各操作に応じた所定の制御プログラムを実行することにより実施される。そこで、まずカット操作が行われた場合に実行する「カット処理」について、図２を用いて説明する。図２は、「カット処理」の一実施例を示したフローチャートである。以下、図２に示したフローチャートに従って、カット操作された場合の編集処理動作について説明する。
【００１７】
まず、ステップＳ１では編集対象の波形データを読み込み、該読み込んだ波形データを表示部４に表示する。すなわち、外部記憶装置７に記憶された多数の波形データの中からユーザにより編集対象に指定された波形データを選択的に読み出し、該読み出した波形データに基づいて表示部４上に所定の表示形態（後述する図３参照）で波形を表示する。ステップＳ２では、各種の編集条件の設定を行う。設定する編集条件としては、例えば波形データのうちカット（削除）する範囲である編集対象範囲、一部の波形データがカットされることにより生ずる残りの編集対象範囲前後の波形データを互いに滑らかに接続するためのクロスフェード接続を行う範囲であるクロスフェード領域値などがある。こうした編集条件は、ユーザがマウス等のポインティングデバイスを用いて表示部４上を移動するポインタＰ（あるいはカーソル）を操作して表示波形の所望位置をクリックすることにより、あるいは操作部３の対応する操作子のいずれかを操作することによって設定することができる。すなわち、例えば表示波形の所望の２点をクリックすることで編集対象範囲を、表示波形の所望の２点間をドラッグ操作することでクロスフェード領域値を設定することができるし、あるいはテンキーやキーボード等を用いて直接的に数値を入力するなどによっても設定することができる。
【００１８】
ステップＳ３では、カット操作が行われたか否かを判定する。例えば、ユーザによりキーボード上の「コントロール（CTRL）キー」と「Ｘキー」とが同時に押下された場合などを、カット操作が行われたものと判定する。カット操作が行われていないと判定した場合には（ステップＳ３のＮＯ）、カット操作が行われたわけでなく他の操作が行われた場合であることから当該カット処理を終了する。一方、カット操作が行われたと判定した場合には（ステップＳ３）、上記ステップＳ２において設定した編集対象範囲に該当する分の波形データをメモリ２のバッファ領域に記憶する（ステップＳ４）。そして、ステップＳ５では、ヘッド部のサイズ（ヘッド長）又はテール部のサイズ（テール長）が、上記ステップＳ２において設定したクロスフェード領域値よりも短いか否かを判定する。ここで、波形データの一部が編集対象範囲に指定されることに応じて波形データが編集対象範囲を境として分割され、そのうちの波形先端部から編集対象範囲までにあたる前部の波形データ（波形ブロック）をヘッド部と呼び、波形データのうち編集対象範囲から波形終端部までにあたる後部の波形データをテール部と呼ぶ（図３参照）。
【００１９】
こうしたヘッド部のサイズ又はテール部のサイズがクロスフェード領域値よりも小さい場合には（ステップＳ５のＹＥＳ）、ヘッド部又はテール部のサイズのうち小さい方のサイズをクロスフェード代替え値に設定する（ステップＳ６）。ステップＳ７では、ヘッド部とテール部とを前記設定したクロスフェード代替え値に応じてクロスフェード接続して波形を加算合成する。ヘッド部のサイズ又はテール部のサイズがクロスフェード領域値よりも小さくない場合には（ステップＳ５のＮＯ）、ヘッド部とテール部とを上記ステップＳ２で設定したクロスフェード領域値に応じてクロスフェード接続して波形を加算合成する（ステップＳ８）。こうすることにより、編集対象の波形データの一部を削除した連続的な波形データが生成される。なお、上記ヘッド部とテール部のように複数の波形を滑らかに接続するための技術であるクロスフェード接続については公知のどのような方法を用いてもよい。
【００２０】
ここで、上記カット処理について、図３を用いて具体的に説明する。図３に示す各図は、カット処理についての詳細を場合を分けて説明するための概念図である。図３Ａはヘッド部のサイズ又はテール部のサイズがクロスフェード領域値よりも大きいか同等である場合を示した図であり、図３Ｂはヘッド部のサイズ又はテール部のサイズがクロスフェード領域値よりも小さい場合を示した図である。これらの各図において、上段の図は波形データに基づき表示部４上に表示されるＧＵＩ（グラフィック・ユーザ・インタフェース）としての機能を持つ表示波形の一例を示した図であり、中段の図はクロスフェード接続のために加工された波形データを示した図であり、下段の図は処理後に形成される最終的な波形データを示した図である。ただし、ここでは図示の便宜上、表示部４上に表示する波形データの表示形態として四角形の箱型形状で波形を表示した例を示したが、当該波形のエンベロープ形状が表れるように表示してよいことは言うまでもない。
【００２１】
波形データが読み込まれると、表示部４上に波形全体（あるいは波形の一部）が表示される。該表示された波形に対して所望の２点をクリックすることで編集対象範囲が、所望の２点間をドラッグ操作することでクロスフェード領域値が設定されることに伴い、図３Ａの上段に示すように編集対象範囲とクロスフェード領域とがそれぞれ表示される。また、波形全体のうち編集対象範囲よりも前の波形をヘッド部として、編集対象範囲よりも後の波形をテール部として表示する。このヘッド部のサイズがヘッド長であり、テール部のサイズがテール長である。ヘッド長又はテール長がクロスフェード領域値よりも大きいか同等である場合には、図３Ａの中段及び下段に示すように、編集対象範囲前後のヘッド部及びテール部をクロスフェード領域値分だけそれぞれフェードイン／フェードアウトしながら加算合成する。このようにして、編集対象の波形データの一部を削除した連続的な波形データが生成される。該カット処理において生成される最終的な波形データ全体のサイズは、編集前の波形データ全体のサイズから編集対象範囲とクロスフェード領域値とを減算したものとなる。
【００２２】
図３Ｂの上段に示すように、ヘッド長又はテール長がクロスフェード領域値よりも小さい場合には（ここではヘッド長がクロスフェード領域値よりも小さい例を示した）、ヘッド長又はテール長のうち最も小さい長さを用いて加算合成する。すなわち、ヘッド長又はテール長のうち最も小さい長さをクロスフェード代替え値として、図３Ｂの中段及び下段に示すように、ヘッド部及びテール部をクロスフェード代替え値分だけそれぞれフェードイン／フェードアウトしながら加算合成する。ただし、この場合においてヘッド長又はテール長が存在しない場合には、クロスフェード接続の対象とする波形データとしてテール部又はヘッド部のいずれか１つしか存在しないことから、クロスフェード接続による加算合成を行わなくてよい。該カット処理において生成される最終的な波形データ全体のサイズは、編集前の波形データ全体のサイズから編集対象範囲とクロスフェード代替え値とを減算したものとなる。
【００２３】
次に、ペースト操作が行われた場合に実行する「ペースト処理」について、図４〜図６を用いて説明する。図４は、「ペースト処理」の一実施例を示したフローチャートである。図５は、前記「ペースト処理」においてキャレット指定が行われた場合に実行する「キャレット処理」の一実施例を示したフローチャートである。図６は、前記「ペースト処理」においてエリア指定が行われた場合に実行する「エリア処理」の一実施例を示したフローチャートである。以下、これら図４〜図６に示した各フローチャートに従い、ペースト操作された場合の編集処理動作について説明する。
【００２４】
図４に示すように、「ペースト処理」においても、まず編集対象の波形データを読み込み、該読み込んだ波形データを表示部４に表示する（ステップＳ１１）。そして、ペーストする波形データとして、メモリ２のバッファ領域に所望の波形データを記憶する（ステップＳ１２）。この場合にバッファ領域に記憶する波形データとしては、読み込んだ編集対象の波形データの一部をコピーしたもの、外部記憶装置７等に予め用意された多数の波形データの中から任意に選択されたものなどがある。ステップＳ１３では、各種の編集条件の設定を行う。編集条件については、既に上記「カット処理」で説明済みのものと同様である。ステップＳ１４では、ペースト操作が行われたか否かを判定する。例えば、ユーザによりキーボード上の「コントロール（CTRL）キー」と「Ｖキー」とが同時に押下された場合などを、ペースト操作が行われたものと判定する。ペースト操作が行われていないと判定した場合には（ステップＳ１４のＮＯ）、ペースト操作が行われたわけでなく他の操作が行われた場合であることから当該ペースト処理を終了する。
【００２５】
一方、ペースト処理が行われたと判定した場合には（ステップＳ１４のＹＥＳ）、上記ステップＳ１３において編集対象範囲を指定する方法として「キャレット指定」がなされていたか否かを判定する（ステップＳ１５）。ここで、「キャレット指定」とは、マウスの１回のクリック操作によって、表示波形上の１点（波形データの１サンプリングポイントにあたる）を指定することにより編集対象範囲を指定する方法である。この「キャレット指定」とは異なる指定方法として「エリア指定」があり、該「エリア指定」とはマウスの２回のクリック操作によって、表示波形上の２点（２サンプリングポイント）以上に渡る範囲を一括指定することにより編集対象範囲を指定する方法である。上記した「キャレット指定」が行われたと判定した場合には（ステップＳ１５のＹＥＳ）、後述する図５に記載の「キャレット処理」を実行する（ステップＳ１６）。他方、上記した「エリア指定」が行われたと判定した場合には（ステップＳ１５のＮＯ）、後述する図６に記載の「エリア処理」を実行する（ステップＳ１７）。ステップＳ１８では、前記各処理により加工済みの編集対象の波形データとペーストする波形データとをクロスフェード接続することにより加算合成する。こうすることにより、編集対象の波形データの一部がペーストした波形データに置き換えられた連続的な波形データを生成することができる。
【００２６】
上述した「ペースト処理」時において、編集対象範囲を指定する方法として「キャレット指定」がなされていた場合には（図４のステップＳ１６参照）、図５に示す「キャレット処理」を実行する。この図５に示すキャレット処理では、まず表示された波形データのうちキャレット指定された位置から後部の波形データであるテール部のサイズ（テール長）がバッファ領域に記憶された波形データのサイズ（バッファ波形長）よりも小さいか否かを判定する（ステップＳ２１）。テール長がバッファ波形長よりも小さい場合には（ステップＳ２１のＹＥＳ）、表示された波形データのうちキャレット指定された位置から前部の波形データであるヘッド部の終端からクロスフェード領域分をフェードアウト化する（ステップＳ２２）。また、バッファ波形の先頭部分からクロスフェード領域分をフェードイン化する（ステップＳ２３）。一方、テール長がバッファ波形長よりも大きい場合には（ステップＳ２１のＮＯ）、編集対象波形のヘッド部の終端からクロスフェード領域分をフェードアウト化する（ステップＳ２４）。また、バッファ波形の先頭部分からクロスフェード領域分をフェードイン化する（ステップＳ２５）と共に、バッファ波形の末端部分からクロスフェード領域分をフェードアウト化する（ステップＳ２６）。さらに、キャレット位置からバッファ波形長分の間隔を空けた位置以降を新たにテール部とし、該新たなテール部の先頭部分からクロスフェード領域分をフェードイン化する（ステップＳ２７）。こうしたキャレット処理の詳細については、後述する図７により説明する。
【００２７】
一方、上述した「ペースト処理」時において、編集対象範囲を指定する方法として「エリア指定」がなされていた場合には（図４のステップＳ１７参照）、図６に示す「エリア処理」を実行する。この図６に示すエリア処理では、まずバッファ領域に記憶された波形データのサイズ（バッファ波形長）が編集対象範囲（編集範囲長）よりも大きいか否かを判定する（ステップＳ３１）。バッファ波形長が編集範囲長よりも大きいと判定した場合には（ステップＳ３１のＹＥＳ）、オプション操作が行われていたか否かを判定する（ステップＳ４２）。例えば、ユーザによりペースト操作が行われた際に、キーボード上の「コントロール（CTRL）キー」と「Ｖキー」とに加えて「シフト（SHIFT）キー」がさらに同時に押下されていた場合を、オプション操作が行われたものと判定する。オプション操作が行われていないと判定した場合には（ステップＳ４２のＮＯ）、ステップＳ３２の処理へジャンプする。オプション操作が行われていたと判定した場合には（ステップＳ４２のＹＥＳ）、ヘッド部の終端からクロスフェード領域分をフェードアウト化する（ステップＳ４３）。また、バッファ波形の終端から編集対象範囲分の間隔を空けた位置を先頭位置として、その先頭位置からクロスフェード領域分をフェードイン化する（ステップＳ４４）と共に、バッファ波形の終端からクロスフェード領域分をフェードアウト化する（ステップＳ４５）。さらに、テール部の先頭部分からクロスフェード領域分をフェードイン化する（ステップＳ４６）。
【００２８】
上記ステップＳ３１においてバッファ波形長が編集範囲長よりも大きくないと判定した場合（ステップＳ３１のＮＯ）、あるいは上記ステップＳ４２においてオプション操作が行われていないと判定した場合には（ステップＳ４２のＮＯ）、編集対象範囲が編集対象波形の先頭を含まないか否かを判定する（ステップＳ３２）。編集対象範囲が編集対象波形の先頭を含まないと判定した場合には（ステップＳ３２のＹＥＳ）、ヘッド部の終端からクロスフェード領域分をフェードアウト化する（ステップＳ３３）。また、バッファ波形の先頭部分からクロスフェード領域分をフェードイン化する（ステップＳ３４）。一方、編集対象範囲が編集対象波形の先頭を含むと判定した場合には（ステップＳ３２のＹＥＳ）、編集対象波形の編集対象範囲分の位置までを波形先端とし（ステップＳ３５）、該波形先端よりも前のヘッド部についてはクリア（無音化）する（ステップＳ３６）。ステップＳ３７では、編集対象範囲が編集対象波形の終端を含まないか否かを判定する。編集対象範囲が編集対象波形の終端を含まないと判定した場合には（ステップＳ３７のＹＥＳ）、バッファ波形の編集対象範囲分の位置までを終端とし、該終端からクロスフェード領域分をフェードアウト化する（ステップＳ３８）。また、編集対象波形のテール部の先頭部分からクロスフェード領域分をフェードイン化する（ステップＳ３９）。一方、編集対象範囲が編集対象波形の終端を含むと判定した場合には（ステップＳ３７のＮＯ）、バッファ波形の編集対象範囲分の位置までを波形終端とし（ステップＳ４０）、該波形終端よりも後のテール部についてはクリア（無音化）する（ステップＳ４１）。こうしたエリア処理の詳細については、後述する図７により説明する。
【００２９】
ここで、上記ペースト処理について図７を用いて具体的に説明する。図７に示す各図は、ペースト処理についての詳細を場合を分けて説明するための概念図である。ここでは、編集条件に応じて図７Ａ〜図７Ｇまでに図を分けて説明する。この場合においても上記カット処理の場合と同様に、編集対象の波形データが読み込まれると表示部４上に波形全体（あるいは波形の一部）が表示される。
【００３０】
図７Ａ又は図７Ｂの各上段に示すように、表示された表示波形に対して所望の１点をクリックすることでキャレット位置が、所望の２点間をドラッグ操作することでクロスフェード領域値が設定されることに伴い、表示部４上においてキャレット位置とクロスフェード領域がそれぞれ表示される。キャレット位置以降のテール部のサイズ（テール長）がバッファ波形のサイズ（バッファ波形長）よりも大きいか同等である場合には、図７Ａの中段及び下段に示すように、テール部の先端からバッファ波形長分までを編集対象範囲として、その前後のヘッド部及びテール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながら加算合成する。このようにして、編集対象の波形データの一部をバッファ波形に置き換えた連続的な波形データが生成される。この場合に生成される最終的な波形データ全体のサイズは、編集前の波形データ全体のサイズと変わらない。一方、テール長がバッファ波形長よりも小さい場合には、図７Ｂの中段及び下段に示すように、ヘッド部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながら加算合成する。この場合に生成される最終的な波形データ全体のサイズは、編集前の波形データ全体のサイズよりもバッファ波形長からテール長を減算した分だけ大きいサイズとなる。
【００３１】
図７Ｃ〜図７Ｇの各図に示すように、該表示された波形に対して所望の２点をクリックした場合には、上記したようなキャレット位置ではなく編集対象範囲が表示される。該編集対象範囲が編集対象波形の先頭又は終端を含まず、且つバッファ波形長が編集対象範囲のサイズ（編集範囲長）と同等又は小さい場合には、図７Ｃ又は図７Ｄの中段及び下段に示すように、編集対象範囲の前後のヘッド部及びテール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながら加算合成する。ただし、この場合には編集範囲長をバッファ波形長に変更すると共に、それにあわせてテール長も変更する。このようにして、編集対象の波形データの一部をバッファ波形に置き換えた連続的な波形データが生成される。この場合に生成される最終的な波形データ全体のサイズは、編集前の波形データ全体のサイズと変わらない。
【００３２】
また、編集対象範囲が編集対象波形の先頭又は終端を含まず、且つバッファ波形長が編集対象範囲のサイズ（編集範囲長）よりも大きい場合には、図７Ｅの中段及び下段に示すように、編集対象範囲の前後のヘッド部及びテール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながら加算合成する。ただし、この場合にはバッファ波形長を編集範囲長に変更する。そして、元のバッファ波形の先頭から編集範囲長分までの範囲を新たなバッファ波形として用いるか、元のバッファ波形の終端から編集範囲長分までの範囲を新たなバッファ波形として用いるかを、ペースト操作時におけるオプションキーの操作有無に応じて決定する。上記した「ペースト処理」においては「シフト（SHIFT）キー」をオプションキーとして用い、該「シフト（SHIFT）キー」が同時に操作されていない場合には元のバッファ波形の先頭から編集範囲長分までの範囲を新たなバッファ波形として用い、同時に操作されている場合には元のバッファ波形の終端から編集範囲長分までの範囲を新たなバッファ波形として用いる例を示した。
【００３３】
編集対象範囲が編集対象波形の先頭を含む場合には、図７Ｆの中段及び下段に示すように、テール部をクロスフェード領域値分だけフェードインさせ、バッファ波形についてはフェードアウトのみをさせながら加算合成する。この際に、編集対象波形の終端から編集対象範囲分の位置を波形先端とし、該波形先端よりも前についてはクリア（無音化）しておく。一方、編集対象範囲が編集対象波形の終端を含む場合には、図７Ｇの中段及び下段に示すように、ヘッド部をクロスフェード領域値分だけフェードアウトさせ、バッファ波形についてはフェードインのみをさせながら加算合成する。この際に、編集対象波形の先頭から編集対象範囲分の位置を波形終端とし、該波形終端よりも後についてはクリア（無音化）しておく。
【００３４】
表示部４上に表示された波形データへの編集態様としては、カットやペースト以外にも、インサート、ミキシング、クリアなどがある。「インサート」とは、編集対象の波形データの所望位置にバッファ波形を挿入する編集態様である。「ミキシング」とは、編集対象の波形データの所望位置にバッファ波形を重ね合わせ波形のミキシングを行う編集態様である。「クリア」とは、編集対象の波形データの一部の振幅レベルをゼロにすることで当該部分を無音化する編集態様である。そこで、これらインサート、ミキシング、クリアといった編集態様に応じた編集操作が行われた場合の処理概要について、図８〜図１０を用いてそれぞれ簡単に説明する。
【００３５】
図８は、インサート処理についての詳細を場合を分けて説明するための概念図である。インサート処理においてキャレット指定が行われた場合、図８Ａに示すように、ヘッド部とテール部との間にバッファ波形を挿入し、これらのヘッド部とテール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながら加算合成する。インサート処理においてエリア指定が行われた場合に、編集対象範囲が編集対象波形の先頭又は終端を含まない場合には、図８Ｂ又は図８Ｃに示すように、通常操作によるエリア指定においてはヘッド部と編集対象範囲との間にバッファ波形を挿入し、オプション操作によるキャレット指定においては編集対象範囲とテール部との間にバッファ波形を挿入し、これらのヘッド部とテール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながら加算合成する。
【００３６】
インサート処理において編集対象範囲が編集対象波形の先頭を含む場合には、図８Ｄに示すように、テール部の先端にバッファ波形を挿入して、テール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながら加算合成する。インサート処理において編集対象範囲が編集対象波形の終端を含む場合には、図８Ｅに示すように、テール部の後端にバッファ波形を挿入して、テール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながら加算合成する。
以上のようなインサート処理の場合に生成される最終的な波形データ全体のサイズは、編集前の波形データのサイズに比べて、クロスフェード領域分を除いたバッファ波形分だけ大きくなる。
【００３７】
図９は、ミキシング処理についての詳細を場合を分けて説明するための概念図である。ミキシング処理においてキャレット指定が行われた場合、図９Ａ及び図９Ｂに示すように、当該キャレット位置にバッファ波形を重ね合わせ、バッファ波形をクロスフェード領域値分だけフェードイン／フェードアウトしながら元の波形データにミキシングする。ミキシング処理においてエリア指定が行われた場合に、編集対象範囲が編集対象波形の先頭又は終端を含まず、且つバッファ波形長が編集対象範囲のサイズ（編集範囲長）と同等又は小さい場合には、図９Ｃ又は図９Ｄに示すように、編集対象範囲の前後のヘッド部及びテール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながらミキシングする。
【００３８】
ミキシング処理においてエリア指定が行われた場合に、編集対象範囲が編集対象波形の先頭又は終端を含まず、且つバッファ波形長が編集対象範囲のサイズ（編集範囲長）よりも大きい場合には、図９Ｅに示すように、編集対象範囲の前後のヘッド部及びテール部とバッファ波形とをそれぞれクロスフェード領域値分だけフェードイン／フェードアウトしながらミキシングする。ただし、通常操作の場合に元のバッファ波形の先頭から編集範囲長分までの範囲に、オプション操作の場合には元のバッファ波形の終端から編集範囲長分までの範囲に、それぞれバッファ波形のサイズを変更する。編集対象範囲が編集対象波形の先頭を含む場合には、図９Ｆに示すように、バッファ波形をフェードアウトさせながらミキシングする。一方、編集対象範囲が編集対象波形の終端を含む場合には、図９Ｇに示すように、バッファ波形をフェードインさせながらミキシングする。
以上のようなミキシング処理の場合に生成される最終的な波形データ全体のサイズは、一般的には編集前の波形データのサイズと同じである。ただし、図９Ｂに示すような場合には、編集前の波形データよりも大きくなる。
【００３９】
図１０は、クリア処理についての詳細を場合を分けて説明するための概念図である。クリア処理の場合にはクリアする範囲を位置指定により決めなければならないことから、キャレット指定ではなくエリア指定を行う必要がある。クリア処理において編集対象範囲が編集対象波形の先頭又は終端を含まない場合には、図１０Ａに示すように、編集対象範囲を例えば振幅レベルをゼロにするなどのクリアを行い無音化した上で、ヘッド部をクロスフェード領域値分だけフェードアウト、且つテール部をクロスフェード領域値分だけフェードインして加算合成する。クリア処理において編集対象範囲が編集対象波形の先頭又は終端を含む場合には、図１０Ｂ又は図１０Ｃに示すように、編集対象範囲をクリアした上で、ヘッド部のみをクロスフェード領域値分だけフェードアウト、又はテール部のみをクロスフェード領域値分だけフェードインして加算合成する。
【００４０】
なお、上述した「カット処理」における編集対象範囲の指定方法としては「エリア指定」に限らず、「キャレット指定」であってもよいことは言うまでもない。「キャレット指定」の場合には、例えばマウスの１回のクリック操作によって指定した表示波形上の１点から予め決められた所定の範囲内までを編集対象範囲とするとよい。
なお、上記したカット、ペースト、インサート、ミキシング、クリアなどの編集態様は一例であり、これら以外の編集態様があってよいことは言うまでもない。また、各編集態様に応じた編集操作についても上記したものに限らない。さらに、こうした編集態様の設定方法として、キーボード上の「コントロール（CTRL）キー」と所定の文字キーとの組み合わせにより設定する方法を示したがこれに限らず、各編集態様に応じて「カットスイッチ」、「ペーストスイッチ」、「インサートスイッチ」、「ミキシングスイッチ」、「クリアスイッチ」などの専用の操作子の操作に応じて編集態様を設定できるようにしてもよい。
【図面の簡単な説明】
【００４１】
【図１】この発明に係る波形編集プログラムを適用した波形編集装置の全体構成を示したハード構成ブロック図である。
【図２】カット処理の一実施例を示したフローチャートである。
【図３】カット処理についての詳細を説明するための概念図である。
【図４】ペースト処理の一実施例を示したフローチャートである。
【図５】キャレット処理の一実施例を示したフローチャートである。
【図６】エリア処理の一実施例を示したフローチャートである。
【図７】ペースト処理についての詳細を説明するための概念図である。
【図８】インサート処理についての詳細を説明するための概念図である。
【図９】ミキシング処理についての詳細を説明するための概念図である。
【図１０】クリア処理についての詳細を説明するための概念図である。
【符号の説明】
【００４２】
１…ＣＰＵ、２…メモリ、３…操作部、４…表示部、５…波形入出力インタフェース、５ａ…波形入力部、５ｂ…波形出力部、６…その他インタフェース、７…外部記憶装置、１Ｄ…通信バス
【図１】
2005274598.tif 000003
【図２】
2005274598.tif 000004
【図３Ａ】
2005274598.tif 000005
【図３Ｂ】
2005274598.tif 000006
【図４】
2005274598.tif 000007
【図５】
2005274598.tif 000008
【図６】
2005274598.tif 000009
【図７Ａ】
2005274598.tif 000010
【図７Ｂ】
2005274598.tif 000011
【図７Ｃ】
2005274598.tif 000012
【図７Ｄ】
2005274598.tif 000013
【図７Ｅ】
2005274598.tif 000014
【図７Ｆ】
2005274598.tif 000015
【図７Ｇ】
2005274598.tif 000016
【図８Ａ】
2005274598.tif 000017
【図８Ｂ】
2005274598.tif 000018
【図８Ｃ】
2005274598.tif 000019
【図８Ｄ】
2005274598.tif 000020
【図８Ｅ】
2005274598.tif 000021
【図９Ａ】
2005274598.tif 000022
【図９Ｂ】
2005274598.tif 000023
【図９Ｃ】
2005274598.tif 000024
【図９Ｄ】
2005274598.tif 000025
【図９Ｅ】
2005274598.tif 000026
【図９Ｆ】
2005274598.tif 000027
【図９Ｇ】
2005274598.tif 000028
【図１０Ａ】
2005274598.tif 000029
【図１０Ｂ】
2005274598.tif 000030
【図１０Ｃ】
2005274598.tif 000031