(57)【特許請求の範囲】
【請求項１】
編集対象となる元波形データを記憶する記憶手段と、
前記元波形データからピッチ変化を抽出する抽出手段と、
前記抽出したピッチ変化に基づき、元波形データのピッチ変化を修正するための修正カーブを作成する作成手段と、
前記作成された修正カーブの編集に用いる制御値であって、前記修正カーブの編集後に前記元波形データにおけるピッチ変化の特性をどの程度残すかを設定する制御値を設定する設定手段と、
前記制御値に基づき前記作成された修正カーブの値を拡大乃至縮小してスケーリングする編集手段と、
前記元波形データに対して、前記スケーリングされた修正カーブに基づきピッチ修正を施すピッチ修正手段と、
前記ピッチ修正後の波形データを保存する保存手段と
を具えることを特徴とする波形編集装置。
【請求項２】
編集対象となる元波形データを記憶する記憶手段と、
前記元波形データからピッチ変化を抽出する抽出手段と、
前記抽出したピッチ変化に基づき、元波形データのピッチ変化を修正するための修正カーブを作成する作成手段と、
前記作成された修正カーブの編集に用いる制御値であって、前記修正カーブの編集後に前記元波形データにおけるピッチ変化の特性をどの程度残すかを設定する制御値を設定する設定手段と、
前記制御値に基づき前記修正カーブをローパスフィルタ処理する編集手段と、
前記元波形データに対して、前記ローパスフィルタ処理された修正カーブに基づきピッチ修正を施すピッチ修正手段と、
前記ピッチ修正後の波形データを保存する保存手段と
を具えることを特徴とする波形編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、波形メモリに記憶された波形データをユーザの編集操作に基づき編集する波形編集装置であって、特に、該波形データのピッチ修正を行うものに関する。
【背景技術】
【０００２】
従来から、リサンプリング機能を有するサンプラが知られており、多くの製造メーカにより種々のタイプの製品が販売されている。この種のリサンプリング機能を有するサンプラは、例えば自然楽器の演奏音などの外部波形をサンプリングし、該サンプリングした波形データを波形メモリに記憶する。波形メモリに記憶された波形データを音源で再生する際には、当該波形データを素材とする音源用の音色データを作成し、該作成した音色データに基づき該波形データ再生時の音色を制御する。また、リサンプリング機能として、該音源により再生された前記音色の楽音を再度サンプリングし、これを波形メモリに記憶することが可能である。ここで、リサンプリングされる波形データ、すなわち音源で生成した楽音波形信号は、当該楽音波形を生成するための素材となった元の波形データを指定音高に応じてピッチシフトしたものであった。
上記のようなサンプラにおいて、サンプリングした波形データを波形メモリに記憶するにあたって、該サンプリングされた波形データに含まれるピッチ変化を修正する処理を施すことが行われることがある。
【０００３】
波形ピッチを加工する技術として従来から知られるものには、例えば、生成される楽音波形信号に対して任意のピッチ変化を付与する技術として、ピッチエンベロープの時間変化を示す折れ線カーブを任意に設定し、該折れ線カーブに基づくピッチ変化を楽音に付与することが可能な音源装置（下記特許文献１を参照）等がある。また、波形メモリから読み出される波形データからピッチ変化を除去する技術としては、録音（サンプリング）された波形データの周期長を規格化して（一定値にして）、該規格化した波形データを波形メモリに記憶することで、元の波形データに含まれるピッチ変化を除去した波形データを波形メモリに記憶せしめる技術（下記特許文献２を参照）などがあった。
【特許文献１】特開平１０−０５５１８３号公報
【特許文献２】特開平１０−３０７５８７号公報
【０００４】
従来から知られるサンプラにおいては、サンプリング後の波形データ（波形メモリに記憶する波形データ）のピッチ変化を効率よく編集する方法が無かった。すなわち、サンプリングした波形データに対してピッチ修正を行う用途に特化したツールがなかったため、波形データ編集作業の効率が悪かった。また、サンプリングした波形データのピッチ修正について、元の波形データが持つピッチ変化を消去することはできた（例えば、上記特許文献２参照）が、元の波形データが持つピッチ変化の傾向をある程度残しつつピッチを修正することはできなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この発明は、上述の点に鑑みてなされたもので、元の波形データが持つピッチ変化の傾向をある程度残しつつピッチを修正できるようにした波形編集装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、編集対象となる元波形データを記憶する記憶手段と、前記元波形データからピッチ変化を抽出する抽出手段と、前記抽出したピッチ変化に基づき、元波形データのピッチ変化を修正するための修正カーブを作成する作成手段と、前記作成された修正カーブの編集に用いる制御値であって、前記修正カーブの編集後に前記元波形データにおけるピッチ変化の特性をどの程度残すかを設定する制御値を設定する設定手段と、前記制御値に基づき前記作成された修正カーブの値を拡大乃至縮小してスケーリングする編集手段と、前記元波形データに対して、前記スケーリングされた修正カーブに基づきピッチ修正を施すピッチ修正手段と、前記ピッチ修正後の波形データを保存する保存手段とを具えることを特徴とする波形編集装置である。
【０００７】
また、この発明は、編集対象となる元波形データを記憶する記憶手段と、前記元波形データからピッチ変化を抽出する抽出手段と、前記抽出したピッチ変化に基づき、元波形データのピッチ変化を修正するための修正カーブを作成する作成手段と、前記作成された修正カーブの編集に用いる制御値であって、前記修正カーブの編集後に前記元波形データにおけるピッチ変化の特性をどの程度残すかを設定する制御値を設定する設定手段と、前記制御値に基づき前記修正カーブをローパスフィルタ処理する編集手段と、前記元波形データに対して、前記ローパスフィルタ処理された修正カーブに基づきピッチ修正を施すピッチ修正手段と、前記ピッチ修正後の波形データを保存する保存手段とを具えることを特徴とする波形編集装置である。
【発明の効果】
【０００８】
この発明によれば、編集対象となる元波形データからピッチ変化を抽出し、該ピッチ変化に基づき、当該元波形データのピッチ変化を修正するための修正カーブを作成し、作成された修正カーブの編集に用いる制御値であって、修正カーブの編集後に元波形データにおけるピッチ変化の特性をどの程度残すかを設定する制御値を設定し、設定された制御値に基づきこの修正カーブの値を拡大乃至縮小しスケーリングして、該スケーリングした修正カーブに基づき前記元波形データに対してピッチ修正を施すことができる。この構成により、ユーザが、修正カーブの編集後に元波形におけるピッチ変化の特性をどのくらい残すかを意図的に制御できる。従って、元波形データが持つピッチ変化の傾向や、ピッチの細かい揺れ等を、ユーザが所望する程度に保持したピッチ修正を行うことができるという優れた効果を奏する。
また、この発明によれば、編集対象となる元波形データからピッチ変化を抽出し、該ピッチ変化に基づき、当該元波形データのピッチ変化を修正するための修正カーブを作成し、作成された修正カーブの編集に用いる制御値であって、修正カーブの編集後に元波形データにおけるピッチ変化の特性をどの程度残すかを設定する制御値を設定し、設定された制御値に基づきこの修正カーブをローパスフィルタ処理して、ローパスフィルタ処理された修正カーブに基づき前記元波形データに対してピッチ修正を施すことができる。元波形データのピッチ変化に基づき作成された修正カーブをローパスフィルタ処理（スムージング）するので、元波形データのピッチ変化の一部の成分（典型的には基本波成分）のみを修正対象とできる。この構成により、ユーザが、修正カーブのローパスフィルタ処理後に元波形データにおけるピッチ変化の特性をどのくらい残すかを意図的に制御できる。従って、元波形データが持つピッチ変化の傾向や、ピッチの細かい揺れ等を、ユーザが所望する程度に保持したピッチ修正を行うことができる。
上記の２通り何れの構成においても、修正カーブの編集後に元波形データにおけるピッチ変化の特性をどの程度残すかを設定する制御値を設定することで、元波形データにおけるピッチ変化の傾向をどの程度残すかをユーザが意図的に制御できる。従って、元波形データが持つピッチ変化の特性をユーザが所望する程度に残しつつピッチの修正を行うことができるようになるという優れた効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下添付図面を参照して、この発明に係る波形編集装置の一例について説明する。この実施例において、波形編集装置はサンプリング機能を有するサウンドカードを搭載したパーソナルコンピュータ（ＰＣ）により構成されるものとする。図１はこの発明の一実施例に係る波形編集装置の全体的なハードウェア構成を示すブロック図である。
【００１０】
図１において、波形編集装置（ＰＣ）は、当該ＰＣの全体の動作を制御するＣＰＵ１を備え、ＣＰＵ１にはバスライン１Ｂを介して、ＲＯＭ２、ＲＡＭ３、表示器４、操作部５、外部ＭＩＤＩ機器との間でＭＩＤＩデータの授受を行うＭＩＤＩインターフェース６、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）やＨＤ（ハードディスク）等の外部記録媒体１１にアクセスするためのドライバ７、書込回路８、アクセス管理部９、音源１０がそれぞれ接続される。書込回路８には、外部から波形データを入力するための外部波形入力端子１２が接続され、アクセス管理部９には波形メモリ１３が接続され、音源１０にはサウンドシステム１４が接続される。
【００１１】
ＣＰＵ１は、ＲＯＭ２、ＲＡＭ３乃至外部記録媒体１１等のメモリ内に格納された各種制御プログラムを実行する。ＣＰＵ１が実行するプログラムには、装置の全体的な制御を行うプログラムに加えて、この実施例に係る波形データ編集機能を実現するためのソフトウェアプログラムや、音源用に加工された波形を用いた波形メモリ音源機能を実現するための演奏処理プログラムなどが含まれる。ＲＡＭ３は、また、各種プログラム実行時に波形メモリ１３から読み出した波形データを一時記憶するワーキングメモリや波形編集のための各種パラメータを記憶するレジスタとして使用される。操作部５は、例えばマウスやキーボードなど各種操作・入力用のユーザインターフェースである。表示器４は、例えばＬＣＤ等のディスプレイで構成されるものであって、波形編集装置の各種機能に応じた表示画面（ウィンドウ）を表示する。この実施例において、前記表示画面として、波形データの編集を行うため画面が表示され、当該画面には編集対象となるデータ（詳しくは後述）がグラフィカルに表示される。作業者は、波形編集ツールを用いて波形データの編集作業をグラフィカルに行うことができる。この波形データ編集作業におけるデータの入力、指示、編集範囲の指定等の各種操作は、ＧＵＩによる表示画面上からマウスやキーボードなど（操作部５）を用いて行なうことができる。
【００１２】
書込回路８は外部入力端子１２から入力される波形データをアクセス管理部９を介して波形メモリ１３に書き込む。アクセス管理部９は、書込回路８、音源１０、或いは、ＣＰＵ１からの波形メモリ１３に対するアクセスが互いに衝突しないように、波形メモリ１３のアクセスタイムスロットを管理するものであり、時分割で各装置からの波形メモリ１３に対する平行アクセスを可能にする。波形メモリ１３は、外部入力端子１２或いは外部記憶媒体１１から供給される波形データや、当該波形編集装置において編集した波形データ等、複数の波形データを記憶するものである。波形データの記憶の仕方及び読み出し方式は従来から知られるどのような方式であってもよく、また、メモリに記憶するデータ符号化形式も従来から知られる適宜の形式であってよい。また、ＣＰＵ１は、演奏処理実行時において、ＭＩＤＩインターフェース６、外部記録媒体１１あるいはＲＡＭ３などから供給される演奏情報に応じて、音源１０の発音チャンネルの楽音生成状態を制御する。音源１０は、ＣＰＵ１による発音制御の下、波形メモリ１３から読み出された波形データを使用して、再生すべき音色の楽音波形信号を生成する。該生成された楽音波形信号はサウンドシステム１４を介して発音される。
【００１３】
図２は、図１に示した波形編集装置において、外部の波形データを波形メモリ１３に記録して、該記録した波形データを適宜編集し、これに基づく楽音が発音されるまでにユーザが行うべき作業の流れの概要を示すフローチャートである。ステップＳ１において、ユーザは波形メモリ１３に波形データを記録する。ユーザが操作部５の操作により録音指示を行うと、ＣＰＵ１は、書込回路８に対して外部入力端子１２や外部記憶媒体１１等から入力される外部の波形を波形メモリ１３に書き込む命令を発生する。これにより、書込回路８は、サンプリングすべき外部波形信号（例えば楽器演奏による楽音波形など）の波形データを、所定周期のサンプリングクロックパルスに従い、波形メモリ１３に書き込む。
【００１４】
ステップＳ２において、ユーザは、波形メモリ１３に記憶されている波形データを編集し、音源用の波形データを作成する作業を行う。編集対象となる波形データは、波形メモリ１３からＲＡＭ３に読み込まれ、該ＲＡＭ３に読み込まれた波形データに対して編集処理が行われる。すなわち、ＣＰＵ１は、該ＲＡＭ３に読み込まれた波形データに対して、各種編集パラメータに基づき信号処理を行い、該波形データを音源用に加工する。波形データの編集内容としては、波形データを用いてアッタク部とループ部からなる波形データを作成する処理やノイズ消し処理等と共に、この実施例に係るピッチ修正処理が含まれる。詳しくは後述する通り、この実施例によれば、ユーザは、ピッチ修正処理に特化したツールを用いてグラフィカルに波形データのピッチ修正作業を行うことができる。
【００１５】
ステップＳ３において、前記音源用に加工された波形データを用いた波形メモリ音源の音色データを作成する作業を行う。ここで音色データは、音源１０において波形データに基づく楽音波形信号を生成するために必要なパラメータ群であって、ピッチ制御のためのパラメータ、波形データのスタートアドレス、同波形データのループスタート／エンドアドレス、音量エンベロープを制御するパラメータや、各種効果付与のためのディジタルフィルタ特性を制御するパラメータなどである。そして、ステップＳ４では、リアルタイムに発生する演奏情報に応じて、前記作成した音色データに基づき、前記波形メモリから前記音源用の波形データを読み出し、ピッチ変化、音量の変化、各種効果などを制御して楽音波形信号を作成することにより、該音色での楽音の演奏を行う。前記演奏情報は、ＭＩＤＩインターフェース６、記録媒体１１、あるいは、図示しない通信ネットワーク等からリアルタイム入力されるＭＩＤＩデータ等の演奏データであってよい。または、楽曲の曲データの自動演奏を行うことにより再生される演奏データであってもよい。
【００１６】
この実施例に係る波形編集装置は、波形メモリ１３に記憶（サンプリング）した波形データにおけるピッチ変化を編集（修正）する機能において、該波形データのピッチ修正作業に特化したＧＵＩを使用することに特長がある。すなわち、ユーザは、波形データのピッチ修正作業を実行すべきときに、この実施例に係るピッチ修正機能を呼び出し、表示器４上に波形データのピッチ修正を行うための表示画面（ピッチ修正ツール）を表示させ、該表示画面上においてピッチ修正作業を行うことができる。なお、以下に述べる実施例では、一例として、編集対象となる波形データが２チャンネルで構成されるステレオ波形データである例を示す。
【００１７】
図３は、波形データのピッチ修正を行うための表示画面（ピッチ修正ツール）１５の一例を示す。図３に示す通り、ピッチ修正ツール１５は、大別して波形表示部２０と、当該ピッチ修正ツール１５上において各種入力操作を行うためのユーザインターフェース（各種ボタン画像、数値入力ボックス、チェックボックスなど）から構成される。
波形表示部２０には、編集対象となる元波形データの振幅エンベロープ（以下「元波形」と称する）２１ａ，２１ｂ、該元波形から抽出したピッチ変化を示す修正前ピッチ変化カーブ２３ａ，２３ｂ（以下「修正前カーブ」と称する）、ピッチ修正に使用する修正カーブ２４及び該修正カーブにより元波形データを修正した結果として得られるピッチ変化を示す修正後ピッチ変化カーブ２５ａ，２５ｂ（以下「修正後カーブ」と称する）の各データがグラフィカルに表示される。なお、波形表示部２０の横軸は時間（ミリ秒「ｍｓｅｃ」単位）を示す。縦軸は元波形２１ａ，２１ｂについては振幅に対応し、また、各折れ線カーブについては、基準ピッチに対する音高差（セント値）を示し、その略中心位置が基準ピッチ＝０セントに対応する。以上のように、ピッチに関連する各カーブはセント単位としているが、それに限らず周波数比の対数に基づくいかなる単位であってもよい。
【００１８】
ユーザは、ロード（Ｌｏａｄ）ボタン３０の操作により、編集対象となる波形データ（元波形データ）を波形メモリ１３から読み出す指示を行い、波形表示部２０において当該読み込んだ元波形データについて前記各データをグラフィック表示させる。
Ｌｏａｄボタン３０の操作に応じて実行される処理の手順は図４（ａ）のフローチャートに示す通りである。Ｌｏａｄボタン３０が操作されると、ステップＳ１０において、編集対象として指定された元波形の波形データＷＤが波形メモリ１３からＲＡＭ３内のワークメモリ領域に読み込まれる。なお、該ワークメモリ領域において元波形データＷＤを記憶する領域を「第１領域」と称する。
【００１９】
ステップＳ１１では、ＲＡＭ３に読み込んだ元波形データＷＤを分析し、該元波形データＷＤから、ユーザ指定した音高（基準ピッチ）について基本波のピッチ変化を抽出し、該抽出した値を各時刻ｉごとにピッチレジスタｐｉｔ（ｉ）に格納する。この各時刻ｉごとのピッチレジスタｐｉｔ（ｉ）に基づき、抽出ピッチｐｉｔの変化を表す修正前カーブが作成される。ここで元波形データＷＤは２ｃｈステレオデータであるから、ピッチ変化の抽出は左右両ｃｈの夫々について行われる。図３に示すとおり、ピッチ修正ツール１５には、前記基準ピッチを指定するためのキー指定ボックス２６が設けられており、ユーザは該キー指定ボックス２６において任意の音高（図３の例では音高「Ｂ６」）を基準ピッチとして指定することができる。なお、同図において音高指定ボックス２６の左側の文字列「Ａ４＝４４０Ｈｚ」に示される通り、この波形編集装置のスタンダード・ピッチは、音高「Ａ４」の基本波周波数を４４０Ｈｚとし、これを標準として平均律の各音高毎の周波数が基準ピッチとして規定される。前記ピッチレジスタｐｉｔ（ｉ）の値は、基本波のピッチに対するピッチ偏差を対数値すなわちセント値ｃｅｎｔで表現した値である。なお、元波形のデータから指定された音高の基本波のピッチを抽出する処理は従来から知られるどのような方法によって行われても良い。
【００２０】
ステップＳ１２において、抽出ピッチｐｉｔを反転した修正カーブｃｕｒを算出し、該算出した修正カーブｃｕｒの各時刻の値を反転値レジスタｃｕｒ（ｉ）にレジストする。ユーザは、図３の表示画面１５上段に設けられたラジオボタン「Ｒｅｆｅｒｅｎｃｅ」２７において、修正カーブｃｕｒを算出するための参照パラメータの選択を行うことができる。ラジオボタン「Ｒｅｆｅｒｅｎｃｅ」２７により選択可能な参照パラメータは、ステレオ２ｃｈ構成の元波形データＷＤの左右両チャンネルの平均値（Ａｖｅｒａｇｅ）、左ｃｈの波形データ（Ｌｃｈ）又は右ｃｈの波形データ（Ｒｃｈ）のいずれかである。図３では、左右両チャンネルの平均（Ａｖｅｒａｇｅ）が選択された例を示している。この場合、左右両ｃｈのピッチ変化（抽出ピッチ）を平均することで、平均された１通りのピッチ変化（抽出ピッチ）を作成し、該１通りのピッチ変化に基づき１つの修正カーブｃｕｒを生成する。修正カーブｃｕｒは、元波形のピッチ変化の反転値をセント値ｃｅｎｔで表現したものである。よって、ここで作成される修正カーブｃｕｒは、典型的には、元波形から抽出されたピッチ変化を相殺する（基準ピッチに正規化する）特性を持つ。
【００２１】
そして、ステップＳ１３において、上記ピッチレジスタｐｉｔ（ｉ）の各値と反転値レジスタｃｕｒ（ｉ）の各値に基づき波形表示部２０における全表示物の表示が更新される。また、エディットフラグＥＦを「１」にセットする。エディットフラグＥＦは、修正カーブ２４が更新された（新規に設定された／又は編集された）場合に「１」にセットされる２状態フラグであり、後述するピッチ修正後波形の試聴（再生）において参照されるものである。
【００２２】
上記ステップＳ１３により波形表示部２０の表示は次の通り更新される。ワークメモリ第１領域（ＲＡＭ３）に読み込まれた波形データＷＤの振幅エンベロープ（図において波形２１ａが左ｃｈ、同２１ｂが右ｃｈ）が表示されると共に、指定音高の基音部分が該元波形２１ａ，２１ｂの白抜き部分２２により表示される。また、各時刻（ｉ）ごとのピッチレジスタｐｉｔ（ｉ）の値に基づき作成される修正前カーブ（図においてカーブ２３ｂが左ｃｈ、同２３ａが右ｃｈの波形）が表示され、反転値レジスタｃｕｒ（ｉ）の各値に基づき作成される修正カーブ２４が表示される。この修正カーブ２４と左右各ｃｈの修正前カーブ２３ａ，２３ｂに基づき修正後カーブ（カーブ２５ｂが左ｃｈ、同カーブ２５ａが右ｃｈ）が算出され、この修正後カーブ２５ａ，２５ｂが、当該修正カーブ２４により元波形をピッチ修正した結果得られる波形データのピッチ変化として表示される。
【００２３】
例えば、図３においては、修正カーブ２４により修正前カーブ２３ａ，２３ｂを修正すれば、修正前カーブ２３ａ，２３ｂにおける基準ピッチに対するピッチの偏差が相殺されるので、修正後のピッチ変化（修正後カーブ２５ａ，２５ｂ）は基準ピッチに対してフラットな傾向にピッチシフトされることが見て取れる。ここで、２ｃｈ構成の元波形に対して、各チャンネルの平均に基づく１つの修正カーブ２４でピッチ修正をかけているので、修正後の各カーブ２５ａ，２５ｂには、元のステレオ波形データとしてのピッチ変化のニュアンス（細かいピッチの揺れ、左ｃｈと右ｃｈの位相差など）が残存している。なお、波形表示部２０に表示された各折れ線カーブにおいて、データのない部分は図示の便宜上直線で示されている。
【００２４】
ユーザは、修正カーブ２４の形状を編集するための修正メニューを用いて、該修正カーブ２４の形状を任意に編集することができる。この実施例において、前記修正カーブ２４の形状を編集するための修正メニューには、「Ｓｅｔ」、「Ｏｆｆｓｅｔ」、「Ｓｃａｌｅ」、「ＴｉｅＬｉｎｅ」、「Ａｖｅｒａｇｅ」及び「ＲｅｓｅｔＣｕｒｖｅ」がある。ユーザは各修正メニューに対応するボタン、すなわち、セットボタン「Ｓｅｔ」３１、オフセットボタン「Ｏｆｆｓｅｔ」３２、スケールボタン「Ｓｃａｌｅ」３３、タイラインボタン「ＴｉｅＬｉｎｅ」３４及びリセットカーブボタン「ＲｅｓｅｔＣｕｒｖｅ」３５及びアベレージボタン「Ａｖｅｒａｇｅ」３６の操作により、所望の修正メニューの実行を指示することができる。上記修正メニューのうち「Ｓｅｔ」、「Ｏｆｆｓｅｔ」、「Ｓｃａｌｅ」及び「ＴｉｅＬｉｎｅ」は、修正カーブ２４のうちユーザが任意に選択した部分について実行されるものであり、「Ａｖｅｒａｇｅ」は修正カーブ２４の全体に対して実行される修正メニューである。後述する通り、ユーザの編集操作に応じて修正カーブ２４の形状が編集されると、該編集内容に応じて修正カーブ２４の表示が更新されると共に、該編集された修正カーブ２４と修正前カーブ２３ａ，２３ｂに基づき修正後カーブが算出され、これに基づき修正後カーブ２５ａ，２５ｂの表示が更新される。従って、ユーザは、波形表示部２０において、元波形のピッチ変化（修正前カーブ）、修正カーブ及び修正後カーブの各データが表すピッチ変化をグラフィック表示で確認しながら、修正カーブの形状を編集することができる。
【００２５】
また、ユーザは、波形表示部２０上において所望の選択範囲開始点から終了点を指定するようにドラッグ操作をすることで、修正カーブの編集すべき範囲を任意に設定することができる。すなわち、表示上でドラッグ操作が行われると、図４（ｂ）に示す範囲選択処理が行われる。同図（ｂ）のステップＳ１４において、ドラッグ操作により指定された開始点の時刻ａと、同終了点の時刻ｂをレジストし、ステップＳ１５において両時刻ａ，ｂに基づき選択範囲［ａ〜ｂ］が設定されると共に、波形表示部２０の表示を更新する。このステップＳ１５における表示更新は、例えば、選択範囲［ａ〜ｂ］に該当する部分を網掛け或いは色替え等により視認しうるように行われるものである。図３の波形表示部２０においては、選択範囲２８が網掛け表示により示されている。
一般に、サンプリングした波形データのピッチの編集においては、例えば、波形データのアタック部（波形の立ち上がり部）に対しては修正を施す必要であるが、波形の後半部分ではピッチが安定しているため修正が不要である場合等のように、部分的に編集したい場合が多い。このため、この実施例のように、波形表示部２０において、編集対象とする範囲を任意に選び、当該範囲に対して後述する修正メニューに応じたピッチ修正を行えるように構成する利便性は大きい。
【００２６】
次に、各修正メニューの動作を説明する。図５は上記各修正メニューに応じた修正カーブの編集の様子を示す図である。（ａ）は元（編集前）の修正カーブであり、（ｂ）〜（ｆ）は各メニュー毎の編集の様子を示す。なお、図５（ｂ）〜（ｆ）に示す各修正カーブにおいて元の編集カーブを点線で示している。また、図６（ａ）〜（ｈ）は、前記各種修正カーブ編集を行うための操作に応じて、実行される信号処理手順の概略を示すフローチャートである。
【００２７】
セットボタン「Ｓｅｔ」３１の操作により修正メニュー「Ｓｅｔ」を実行すると、図５（ｂ）に示す通り、選択範囲における修正カーブの値がユーザが指定したｓｅｔパラメータに均一化される。ｓｅｔパラメータは、図３においてセットボタン３１の近傍に設けられたｓｅｔパラメータ入力ボックス４１に入力された数値により設定される。該数値入力は、一般的なＧＵＩにおけるそれと同様に、ポインタ等を用いてｓｅｔパラメータ入力ボックス４１を選択し、操作部５に具わるテンキー等により該ボックス４１に所望の数値（セント値）を入力すればよい。ｓｅｔパラメータ入力ボックス４１における数値入力操作が行われると、図６（ａ）のフローチャートに示す通り、該入力された数値がｓｅｔパラメータｓｘに設定されると共に、波形表示部２０においてｓｅｔパラメータ入力ボックス４１の表示値が前記パラメータｓｘの設定値に基づき更新される（ステップＳ１６）。
【００２８】
また、ｓｅｔパラメータ入力ボックス４１の近傍に設けられた「ＡＶＲ」ボタン５１は、選択範囲２８における修正カーブ２４の平均値をｓｅｔパラメータｓｘに設定せしめることを指示するためのボタンである。「Ｓｅｔ」についての「ＡＶＲ」ボタン５１が操作されると、図６（ｂ）のフローチャートに示す通り、現在選択されている選択範囲［ａ〜ｂ］における修正カーブｃｕｒの平均値ａｖ｛ｃｕｒ（ｉ）｝が算出され、該算出した平均値がｓｅｔパラメータｓｘに設定されると共に、波形表示部２０においてｓｅｔパラメータ入力ボックス４１の表示値が前記パラメータｓｘの設定値に基づき更新される。
【００２９】
なお、上記修正メニューのパラメータ値設定については、他の修正メニュー「Ｏｆｆｓｅｔ」及び「Ｓｃａｌｅ」についても同様である。すなわち、ユーザは、ｏｆｆｓｅｔパラメータ入力ボックス４２における数値入力、又は、「ＡＶＲ」ボタン５２の操作に応じた選択範囲［ａ〜ｂ］の平均値の算出により、ｏｆｆｓｅｔパラメータｏｘの値を設定することができる。また、ユーザは、ｒａｔｉｏパラメータ入力ボックス４３における数値入力により、「Ｓｃａｌｅ」のｒａｔｉｏパラメータｒｘの値を設定し、ｃｅｎｔｅｒボックス４３への数値入力、又は、「ＡＶＲ」ボタン５３の操作に応じた選択範囲［ａ〜ｂ］の平均値の算出により、「Ｓｃａｌｅ」のｃｅｎｔｅｒパラメータｃｘの値を設定することができる。
【００３０】
修正メニュー「Ｓｅｔ」による修正カーブ２４の編集処理の一例について、図６（ｃ）のフローチャートを参照する。セットボタン「Ｓｅｔ」３１が操作されると、ステップＳ１８において、選択範囲［ａ〜ｂ］における修正カーブ２４に対して、ｓｅｔパラメータｓｘの設定値を書き込む。すなわち、選択範囲［ａ〜ｂ］における各時刻ｉの修正カーブの値ｃｕｒ（ｉ）をｓｅｔパラメータｓｘに書き換える。また、選択範囲［ａ〜ｂ］の前後において、スムージング（「ｓｍｏｏｔｈｉｎｇ」）パラメータｓｗに基づきクロスフェード処理を施す（ステップＳ１９）。前記ｓｍｏｏｔｈｉｎｇパラメータｓｗは、修正メニューに従い編集される選択範囲のカーブと、修正されない選択範囲外（前後）のカーブとの間でスムージング（クロスフェード）処理を施す範囲（スムージング範囲）を設定するパラメータであり、ユーザはピッチ修正ツール１５におけるｓｍｏｏｔｈｉｎｇパラメータ入力ボック４５に所望の数値（ｍｓｅｃ単位）を入力することで、該ｓｍｏｏｔｈｉｎｇパラメータｓｗを任意に設定できる。
【００３１】
そして、ステップＳ２０において、上記新規に設定されたｃｕｒ（ｉ）とスムージングパラメータｓｗに基づき、波形表示部２０上の修正カーブ２４の表示を更新すると共に、修正後カーブ２５ａ，２５ｂの表示を、該編集後の修正カーブ２４と修正前カーブ２３ａ，２３ｂに基づき算出されたカーブに更新する。また、前記編集された修正カーブ２４に基づき修正前カーブ２３ａ，２３ｂを修正した結果に改める。また、修正カーブ２４が編集されたので、エディットフラグＥＦを「１」にセットする。
【００３２】
なお、図５（ｂ）においては、ｓｍｏｏｔｈｉｎｇパラメータｓｗが、０ｍｓｅｃに設定された場合を想定し、クロスフェード処理の様子を示していない。この点は以下に述べる同図（ｃ）〜（ｅ）の各カーブにおいても同様である。これに対して図５（ｇ）は、同図（ｂ）に示すような「Ｓｅｔ」により編集した修正カーブをスムージング範囲ｓｗでクロスフェード処理した例を示している。同図（ｇ）に示す通り、ｓｍｏｏｔｈｉｎｇパラメータｓｗによるスムージング処理により、設定値ｓｗの分だけ選択範囲［ａ〜ｂ］を外側に拡張し、該拡張部分（スムージング範囲）において、選択範囲［ａ〜ｂ］内のカーブと、選択範囲外（スムージング範囲の外）の修正カーブとが、適宜重み付けされて滑らかに接続される。なお、同図（ｇ）ではスムージング範囲は、設定値ｓｗの分だけ選択範囲［ａ〜ｂ］を外側に拡張するものとしたが、これに限らず、選択範囲［ａ〜ｂ］の両端の各内側に設定したり、該範囲の両端の各前後に設定してもよい。また、クロスフェードによりスムージングを行うものとしたが、ローパスフィルタ処理やカーブの傾斜の制限などによりスムージングを行うようにしてもよい。また、このｓｍｏｏｔｈｉｎｇパラメータｓｗによるスムージング処理は、以下に述べる他の修正メニューにおいても同様に実行されうる。
【００３３】
オフセットボタン「Ｏｆｆｓｅｔ」３２の操作に応じて修正メニュー「Ｏｆｆｓｅｔ」が実行されると、図５（ｃ）に示す通り、選択範囲における修正カーブの値がユーザが指定したｏｆｆｓｅｔパラメータｏｘに応じてオフセットされる。なお、ｏｆｆｓｅｔパラメータｏｘの設定については上述の通りである。
修正メニュー「Ｏｆｆｓｅｔ」による修正カーブ２４の編集処理の一例について、図６（ｄ）のフローチャートを参照して説明する。オフセットボタン「Ｏｆｆｓｅｔ」３２が操作されると、ステップＳ２１において、選択範囲［ａ〜ｂ］における修正カーブｃｕｒに対して、ｏｆｆｓｅｔパラメータｏｘの設定値を足し込む。すなわち、選択範囲［ａ〜ｂ］における各時刻ｉの修正カーブの値ｃｕｒ（ｉ）を、演算ｃｕｒ（ｉ）＋ｏｘの結果に書き換える。また、選択範囲［ａ〜ｂ］の前後において、スムージングパラメータｓｗに基づきクロスフェード処理を施す（ステップＳ２２）。そして、ステップＳ２３において、上記新規に設定されたｃｕｒ（ｉ）とスムージングパラメータｓｗに基づき波形表示部２０上の修正カーブ２４の表示を更新すると共に、修正後カーブ２５ａ，２５ｂの表示を、該編集後の修正カーブ２４と修正前カーブ２３ａ，２３ｂに基づき算出されたカーブに更新する。また、修正カーブ２４が編集されたので、エディットフラグＥＦを「１」にセットする。
【００３４】
スケールボタン「Ｓｃａｌｅ」３３の操作に応じて修正メニュー「Ｓｃａｌｅ」が実行されると、図５（ｄ）に示す通り、選択範囲における修正カーブの値がユーザが指定した中心値（ｃｅｎｔｅｒパラメータｃｘ）を中心にして、スケール制御値（ｒａｔｉｏパラメータｒｘ）に基づき当該修正カーブの振幅方向を拡大乃至縮小する。なお、同図（ｄ）では縮小制御された例を示している。また、ｃｅｎｔｅｒパラメータｃｘとｒａｔｉｏパラメータｒｘの設定については上述の通りである。ｒａｔｉｏパラメータｒｘの設定値に応じて、「Ｓｃａｌｅ」による修正カーブの編集後に元波形におけるピッチ変化の特性をどのくらい残すかを制御することができる。修正メニュー「Ｓｃａｌｅ」により、編集前の修正カーブ２４を振幅方向に拡大乃至縮小したカーブ、すなわち、元波形のピッチ変化に対応する振幅スペクトルの構造自体はある程度残したカーブを得ることができるので、これにより元波形を修正すれば、ピッチ変化の傾向をある程度残したままピッチ修正（ピッチシフト）することができる。従って、この修正メニューによれば、元波形データが持つピッチ変化の傾向、ピッチの細かい揺れ等を保持したピッチ修正を実現できる。
【００３５】
修正メニュー「Ｓｃａｌｅ」による修正カーブ２４の編集処理の一例は図６（ｅ）のフローチャートに示す通りである。すなわち、スケールボタン「Ｓｃａｌｅ」３３が操作されると、ステップＳ２４において、選択範囲［ａ〜ｂ］における修正カーブｃｕｒを、ｃｅｎｔｅｒパラメータｃｘの設定値（セント値）を中心に、ｒａｔｉｏパラメータｒｘの設定値（パーセンテージ）に基づき拡大乃至縮小する。すなわち、選択範囲［ａ〜ｂ］における各時刻ｉの修正カーブの値ｃｕｒ（ｉ）を、演算「（ｃｕｒ（ｉ）−ｃｘ）＊ｒｘ＋ｃｘ」の結果に書き換える。また、選択範囲［ａ〜ｂ］の前後において、スムージングパラメータｓｗに基づきクロスフェード処理を施す（ステップＳ２５）。そして、ステップＳ２６において、上記新規に設定されたｃｕｒ（ｉ）とスムージングパラメータｓｗに基づき波形表示部２０上の修正カーブ２４の表示を変更すると共に、修正後カーブ２５ａ，２５ｂの表示を、該編集後の修正カーブ２４と修正前カーブ２３ａ，２３ｂとに基づき算出したカーブに更新する。また、修正カーブ２４が編集されたので、エディットフラグＥＦを「１」にセットする。
【００３６】
また、タイラインボタン「ＴｉｅＬｉｎｅ」３４の操作に応じて修正メニュー「ＴｉｅＬｉｎｅ」が実行されると、図５（ｅ）に示す通り、選択範囲の開始点ａと終了点ｂの間が直線で結ばれる。
修正メニュー「ＴｉｅＬｉｎｅ」による修正カーブ２４の編集処理の一例について、図６（ｆ）のフローチャートを参照して説明する。タイラインボタン「ＴｉｅＬｉｎｅ」３４が操作されると、ステップＳ２７において、選択範囲の開始点ａにおける修正カーブｃｕｒの値ｃｕｒ（ａ）を、タイライン始点パラメータａｘにセットする（ａｘ←ｃｕｒ（ａ））と共に、選択範囲の終了点ｂにおける修正カーブｃｕｒの値ｃｕｒ（ｂ）を、タイライン終点パラメータｂｘにセットする（ｂｘ←ｃｕｒ（ｂ））。ステップＳ２８では、選択範囲［ａ〜ｂ］の修正カーブｃｕｒを直線化する。すなわち、選択範囲［ａ〜ｂ］の各反転値レジスタｃｕｒ（ｉ）を、演算（ｂｘ−ａｘ）＊（ｉ−ａ）／（ｂ−ａ）＋ａｘの結果に書き換える。そして、ステップＳ２９において、上記新規に設定されたｃｕｒ（ｉ）とスムージングパラメータｓｗに基づき波形表示部２０上の修正カーブ２４の表示を更新すると共に、修正後カーブ２５ａ，２５ｂの表示を、該編集後の修正カーブ２４と修正前カーブ２３ａ，２３ｂに基づき算出されたカーブに更新する。また、修正カーブ２４が編集されたので、エディットフラグＥＦを「１」にセットする。
【００３７】
アベレージボタン「Ａｖｅｒａｇｅ」３６の操作に応じて修正メニュー「Ａｖｅｒａｇｅ」が実行されると、制御値（ｗｉｄｔｈパラメータａｘ）に基づき、修正カーブ全体に対してフィルタ処理（ローパスフィルタ処理）することで修正カーブ全体がスムージングされる。ｗｉｄｔｈパラメータａｘは、図３のピッチ修正ツール１５においてアベレージボタン「Ａｖｅｒａｇｅ」３６の近傍に設けられたｗｉｄｔｈパラメータ入力ボックス４６に入力された数値に応じて設定される。修正メニュー「Ａｖｅｒａｇｅ」による修正カーブの編集の様子は図５（ｆ）に示す通りである。ｗｉｄｔｈパラメータａｘの設定値に応じて、「Ａｖｅｒａｇｅ」による修正カーブの編集後に、元波形におけるピッチ変化の特性をどのくらい残すかを制御することができる。修正カーブをローパスフィルタ処理（スムージング処理）すると、典型的には図５（ｆ）に示す通り、当該カーブの基本波成分のみを抽出した修正カーブを得ることができる。よって、これで元波形を修正すれば、基本波成分のピッチのみを修正（ピッチシフト）することとなる。従って、この修正メニューによれば、元波形データが持つピッチ変化の傾向、ピッチの細かい揺れ等を保持したピッチ修正を実現できる。
【００３８】
修正メニュー「Ａｖｅｒａｇｅ」による修正カーブ２４の編集処理の一例について、図６（ｇ）のフローチャートを参照して説明する。アベレージボタン「Ａｖｅｒａｇｅ」３６が操作されると、ステップＳ３０において、波形の全体における各時刻ｉ毎に、当該時刻ｉ付近の平均値ａｖ｛ｃｕｒ（ｉ）｝を算出し、各時刻ｉ毎に算出した平均値ａｖ｛ｃｕｒ（ｉ）｝をｂｕｆ（ｉ）にバッファする。該平均値ａｖ｛ｃｕｒ（ｉ）｝は、時刻ｉを中心としたｗｉｄｔｈパラメータａｘ（ｍｓｅｃ単位）の範囲内［ｉ‐ａｗ／２〜ｉ＋ａｗ／２］の平均値である。ステップＳ３１において、波形の全範囲について、当該修正カーブを構成するｃｕｒ（ｉ）の値を、前記バッファした各平均値ｂｕｆ（ｉ）に書き換える。そして、ステップＳ２６において、上記新規に設定されたｃｕｒ（ｉ）に基づき波形表示部２０上の修正カーブ２４の表示を更新すると共に、修正後カーブ２５ａ，２５ｂの表示を、該編集後の修正カーブ２４と修正前カーブ２３ａ，２３ｂに基づき算出されたカーブに更新する。また、修正カーブ２４が編集されたので、エディットフラグＥＦを「１」にセットする。
【００３９】
以上説明した「オフセットする」、「拡大乃至縮小する」、「直線で結ぶ」及び「フィルタをかける」といったカーブ編集処理は、本実施例のように、修正カーブの単位を周波数比の対数(セント)としている場合に効果的に行うことができる。
【００４０】
また、リセットカーブボタン「ＲｅｓｅｔＣｕｒｖｅ」３５の操作に応じて修正メニュー「ＲｅｓｅｔＣｕｒｖｅ」が実行されると、修正カーブに対して施された編集がリセットされ、ロードボタン３０の操作により元波形データをロードしたときの修正カーブ、すなわち、元波形の修正前カーブ２３ａ，２３ｂに基づく反転カーブを再表示する。
リセットカーブボタン「ＲｅｓｅｔＣｕｒｖｅ」３５の操作が行われると、図６（ｈ）のフローチャートの処理が起動し、元波形ＷＤ全体を対象として元波形の抽出ピッチの各値ｐｉｔ（ｉ）の反転値ｃｕｒ（ｉ）を算出し、抽出ピッチｐｉｔを反転した修正カーブｃｕｒを作成する（ステップＳ３３）。そして、新規に設定されたｃｕｒ（ｉ）に基づき波形表示部２０上の修正カーブ２４の表示を更新することで該修正カーブ２４の形状を未編集の状態にリセットすると共に、修正後カーブ２５ａ，２５ｂの表示を、前記リセットされた修正カーブ２４と修正前カーブ２３ａ，２３ｂとに基づき算出されたカーブに更新する。また、修正カーブ２４が編集されたので、エディットフラグＥＦを「１」にセットする。なお、以上に説明した図６（ｈ）のステップＳ３３及びＳ３４の処理は、図４（ａ）のフローのステップＳ１２及びＳ１３の処理と同一である。
【００４１】
オーディション「Ａｕｄｉｔｉｏｎ」ボタン３７は、修正カーブ２４によりピッチ修正した波形の発音指示するためのボタンである。ストア「Ｓｔｏｒｅ」ボタン３８は修正カーブ２４によるピッチ修正後の波形データの保存を指示するボタンである。また、プレイ・オリジナル「ＰｌａｙＯｒｉｇｉｎａｌ」ボタン３９は、元波形を再生するボタンであり、この操作に応じて、ワークメモリ第１領域に記録されている元波形データＷＤを読み出して、該読み出した元波形データＷＤに基づく楽音波形が再生される。
【００４２】
図４に戻り、同図（ｃ）のフローチャートを参照して、ピッチ修正した波形の再生処理の手順を説明する。Ａｕｄｉｔｉｏｎボタン３７が操作されると、ステップＳ４０においてエディットフラッグＥＦを調べる。修正カーブ２４を編集した（乃至新規に読み込んだ）状態では、エディットフラッグＥＦは１にセットされている（ステップＳ４０のｎｏ）。ステップＳ４１において、ワークメモリ第１領域に記録された波形データＷＤを読み出し、該読み出した波形データＷＤを修正カーブｃｕｒでピッチシフトした波形データＷＤｘを、ワークメモリ第２領域に書き込む。このときに、初めて元波形データＷＤに対して修正カーブｃｕｒに基づくピッチ修正が施されることになる。波形データＷＤに対して実施されるピッチ修正の内容は、修正カーブｃｕｒに施された編集内容（Ｓｅｔ、Ｏｆｆｓｅｔ、Ｓｃａｌｅ、ＴｉｅＬｉｎｅ乃至Ａｖｅｒａｇｅ）に応じる。
波形データＷＤｘをワークメモリ第２領域に書き込み、修正カーブｃｕｒでピッチシフトした波形データＷＤｘの再生準備ができたら、エディットフラグＥＦを０にセットする（ステップＳ４２）と共に、ワークメモリ第２領域の波形データＷＤｘを音源１０（図１参照）に供給して再生する(ステップＳ４３)。これによりユーザは該再生された波形データＷＤｘに基づく楽音波形を試聴することができる。
【００４３】
一方、ステップＳ４０においてエディットフラグＥＦが０であった場合(ステップＳ４０のｙｅｓ)、修正カーブｃｕｒに基づいてピッチ修正された波形データＷＤｘが既にワークメモリ第２領域に記憶されていることを意味するので、そのままステップＳ４３に進み、ワークメモリ第２領域の波形データＷＤｘを音源１０（図１参照）に供給して再生する(ステップＳ４３)。これにより、同じ修正カーブｃｕｒに関する２回目以降の発音指示(試聴)では、既にピッチ修正されている波形データＷＤｘを再生するだけでよく、波形演算が不要となり、直ちにピッチ修正後の波形データの発音(試聴)を行える。
【００４４】
前記図４（ｃ）のステップＳ４１における波形データＷＤのリサンプリング処理構成の一例について、図７のブロック図を参照して説明する。なお、以下に説明するリサンプリング処理は、この実施例ではＰＣのソフトウェア処理で実現するものとするが、これに限らず、専用のハードウェア（専用の信号処理回路）で構成してもよい。
【００４５】
ワークメモリ第１領域７０には、波形メモリ１３（図１参照）から読み出されたリサンプリングの対象となる元波形データＷＤが格納されている。サンプリングクロック発生器７１は、任意の周期のサンプリングクロックパルスを発生するものであり、発生されたクロックは読み出し用アドレスカウンタ７２と書き込み用アドレスカウンタ７３に供給される。すなわち、サンプリングクロック発生器７１は、当該リサンプリング処理の信号処理のためのクロックを発生する。読み出し用アドレスカウンタ７２と書き込み用アドレスカウンタ７３は与えられるクロックのタイミングに従い動作する。
【００４６】
読み出し用アドレスカウンタ７２は、Ｆナンバ変換部７４から入力されるＦナンバ（詳しくは後述）を、前記サンプリングクロックパルスに従う周期で累算するアドレスカウンタである。読み出し用アドレスカウンタ７２は、波形再生開始時（Ａｕｄｉｔｉｏｎの実行時）にリセットされ、Ｆナンバの累算を０から開始する。読み出し用アドレスカウンタ７２の出力（累算値）がワークメモリ第１領域７０に対する読み出しアドレス信号として出力される。読み出し用アドレスカウンタ７２から出力される読み出しアドレス信号は、整数部と小数部とからなる。読み出しアドレスの整数部のデータがワークメモリ第１領域７０のアドレス入力に与えられ、該整数部のデータにより読み出すべき波形サンプルデータ(複数)のアドレスが特定される。また、同小数部のデータはサンプル間補間部７５に供給される。
【００４７】
また、スケール変換部７６は、読み出し用アドレスカウンタ７２から出力される読み出しアドレスの整数部を時刻ｉに変換し、該時刻ｉを修正カーブメモリ７７に供給する。修正カーブメモリ７７は、各時刻ｉ毎の修正カーブｃｕｒの値ｃｕｒ（ｉ）を記憶しており、供給された時刻ｉの値ｃｕｒ（ｉ）をＦナンバ変換部７４に出力する。Ｆナンバ変換部７４は、時刻ｉにおける修正カーブｃｕｒの値ｃｕｒ（ｉ）を、これに対応するＦナンバに変換する。タイミングｉにおけるＦナンバは、下記式（１）で表すことができる。
Ｆ＝２＾（ｃｕｒ（ｉ）／１２００）・・・（１）
なお、上記数式における記号「＾ｎ」はｎ乗を示す（ｎは変数「ｃｕｒ（ｉ）／１２００」）。従って、上記式（１）は、「２の（ｃｕｒ（ｉ）／１２００）」乗を表している。
この式（１）により、セントスケールにより表現された数値ｃｕｒ（ｉ）を、リニアスケールの表現である周波数比（Ｆナンバ）に変換する。式（１）により求めたＦナンバの累算値が読み出しアドレス信号である。
【００４８】
従って、読み出しアドレス信号の変化レート(Ｆナンバ)は、各時刻ｉ毎の修正カーブｃｕｒの値「ｃｕｒ（ｉ）」に応じて制御される。サンプル間補間部７５は、読み出しアドレス信号整数部に応じてワークメモリ第１領域７０から読み出された波形データＷＤ(複数サンプル)を小数部に応じてサンプル補間して、補間済み波形データを出力する。補間演算には、例えばラグランジュ補間、直線補間、ＳＩＮＣ関数による補間など、周知の適宜の補間演算を適用してよい。書き込み用アドレスカウンタ７３からは、前記サンプリングクロックパルスに応じてワークメモリ第２領域７８に対する書き込みアドレス信号が出力される。ワークメモリ第２領域７８においては、前記書き込みアドレス信号に従って、サンプル間補間部７５から出力される補間済み波形データが書き込まれる。これにより、修正カーブｃｕｒによりピッチ修正された波形データＷＤｘを得ることができる。ワークメモリ第２領域７８上の波形データＷＤｘは後述する保存指示に応じて波形メモリ１３に書き込むことができる。
【００４９】
例えば、元波形ＷＤが基準ピッチの＋１０ｃｅｎｔの波形データであり、修正カーブが該波形データを−１０ｃｅｎｔ下にピッチシフトさせるカーブである場合、ｃｕｒ（ｉ）＝−１０ｃｅｎｔに対応するＦナンバは、下記に示す「２の（-10/1200）」乗という計算式により求めることができる。
Ｆ＝２＾（−１０／１２００）＝０．９９４２４０・・・
上記式「２の（-10/1200）」乗により求めたＦナンバを累算して作成した読み出しアドレスで、当該波形データＷＤの読み出し及び補間を行うことで、波形データＷＤを−１０ｃｅｎｔ下にシフトした（基準ピッチ±０ｃｅｎｔ）の波形データＷＤｘを得ることができる。
【００５０】
ユーザは、Ｓｔｏｒｅボタン３８の操作により、修正カーブによりピッチ修正した後の波形データＷＤｘの保存指示を行うことができる。すなわち、Ａｕｄｉｔｉｏｎにより再生されたピッチ修正後の波形データＷＤｘがユーザにとって満足できるものであれば、ＲＡＭ３（ワークメモリ第２領域）上の波形データＷＤｘを波形メモリ１３に保存することができる。これにより、任意にピッチ修正した波形データを波形メモリ１３上に記録することができ、該ピッチ修正した波形データを波形メモリ音源の素材としてで使えるようになる。なお、Ｓｔｏｒｅボタン３８は、修正カーブ２４に対して何らかの編集操作が施されると無効状態になり、上記Ａｕｄｉｔｉｏｎの実行によりピッチ修正後の波形データＷＤｘが少なくとも１度再生された後に有効状態に戻る。すなわち、エディットフラグＥＦが「１」であればＳｔｏｒｅボタン３８は無効であり、同フラグＥＦが「０」であればＳｔｏｒｅボタン３８は有効になり、波形データの保存指示を受け付ける状態となる。また、ピッチ修正された波形データＷＤｘを波形メモリ１３に保存した後も、ワークメモリ第１記憶領域には元波形データＷＤが入っているので、当該元波形データＷＤに対する編集作業を継続することができる。従って、複数通りにピッチ修正された複数の波形データを効率よく保存することができる。
【００５１】
ユーザは、修正カーブの編集を行った後、Ａｕｄｉｔｉｏｎボタン３７を１乃至複数回操作して、その結果を試聴し、確認する。修正カーブの編集後のＡｕｄｉｔｉｏｎボタン３７の最初の操作で、修正カーブに基づく元波形データＷＤのリサンプリングが行われ、その結果の波形データＷＤｘがワークメモリ第２領域に保存されるので、２回目以降の操作についてはリサンプリングを行う必要がなく、既にワークメモリ第２領域に保存されている波形データＷＤｘが直ちに再生される。プレイ・オリジナルボタン３９とＡｕｄｉｔｉｏｎボタン３７を交互に操作することにより、元波形データＷＤとピッチ修正した波形データＷＤｘとの比較試聴を行うことができる。ユーザが試聴結果に満足すれば、ストアボタン３８を操作して、ワークメモリ第２領域の波形データＷＤｘを保存することができるし、満足できなければ、再び修正カーブの編集を行うことができる。
【００５２】
以上説明した通り、この実施例に従う波形編集装置によれば、修正メニュー「Ｓｃａｌｅ」により、制御値（ｒａｔｉｏパラメータｒｘ）に基づき修正カーブ２４を振幅方向に拡大乃至縮小することで、元波形データが持つピッチ変化の傾向、ピッチの細かい揺れ等を或る程度残しつつ、元波形のピッチ変化を修正することができる。また、修正メニュー「Ａｖｅｒａｇｅ」により、制御値（ｗｉｄｔｈパラメータｗｘ）に基づきローパスフィルタ処理することで、元波形データが持つピッチ変化の傾向、ピッチの細かい揺れ等を或る程度残しつつ、元波形のピッチ変化を修正することができる。上記の２通り何れの場合も、制御値（「Ｓｃａｌｅ」ではｒａｔｉｏパラメータ／「Ａｖｅｒａｇｅ」ではｗｉｄｔｈパラメータ）に応じて元波形データが持つピッチ変化の傾向をどの程度残すかを制御することができる。従って、元の楽音波形が持つピッチ変化の傾向、ピッチの揺れを残しつつ、つまり、元の楽音波形が持つ音の特徴を残しつつ、ピッチ変化の修正を施すことができるので、ピッチ修正後の楽音波形として自然な、質の良いものを得ることができる。また、そのような高度なピッチ修正作業を、ピッチ修正に特化したピッチ修正ツール（図３）の使用により効率的に行うことができるようになる。
【００５３】
なお、上記実施例においては、修正カーブｃｕｒは抽出ピッチｐｉｔのマイナス反転カーブとしたが、これに限らず、抽出ピッチ又は基準ピッチに対する修正値（マイナス値）を指定することにより修正カーブｃｕｒを作成してもよい。また、上記実施例では、元波形データＷＤは２ｃｈで構成されたステレオ波形データとしたが、この発明に係る波形編集装置で扱いうる波形データはこれに限定されない。また、上記実施例では、この実施例に係る波形編集装置をサンプリング機能を有するサウンドカードを搭載したパーソナルコンピュータ（ＰＣ）により構成するものとしたが、これに限らず、専用の信号処理装置で構成してもよい。
【００５４】
また、上記実施例では、修正カーブが編集された後、Ａｕｄｉｔｉｏｎボタン３７が操作され、試聴が行われるまで、Ｓｔｏｒｅボタン３８を無効にしておくようにしていたが、波形データＷＤｘを波形メモリ１３に一旦記憶して、音源１０が波形メモリ１３から該波形データＷＤｘを読み出して再生することにより、試聴を行うことも考えられる。その場合、Ｓｔｏｒｅボタン３８を常時有効としておき、Ｓｔｏｒｅボタン３８の操作があった場合に、修正カーブｃｕｒでピッチ修正された波形データがワークメモリ第２領域に記憶されているかどうか確認し、記憶されていなければ図４（ｃ）のステップＳ４１及びＳ４２の処理を実行することで、何れにせよワークメモリ第２領域に波形データＷＤｘが用意された状態にしておき、それから、該ワークメモリ第２領域に用意した波形データＷＤｘを読み出して、該読み出した波形データＷＤｘを波形メモリ１３に保存するようにすればよい。
【図面の簡単な説明】
【００５５】
【図１】この発明の一実施例に係る波形編集装置のハードウェア構成の一例を示すブロック図。
【図２】同実施例に係る波形編集装置においてサンプリングした波形データに基づく楽音が発音されるまでにユーザが行う作業の流れの概要を示すフローチャート。
【図３】同実施例に係る波形編集装置におけるピッチ修正ツールの表示画面。
【図４】（ａ）〜（ｃ）は同実施例に係るピッチ修正ツールの動作を説明するためのフローチャート。
【図５】同実施例に係るピッチ修正ツールにおける修正メニュー毎のカーブ編集の様子。
【図６】（ａ）〜（ｈ）は同実施例に係るピッチ修正ツールにおける修正メニュー毎の動作を説明するためのフローチャート。
【図７】同実施例に係るピッチ修正ツールにおけるリサンプリング処理を説明するためのブロック図。
【符号の説明】
【００５６】
１  ＣＰＵ、２  ＲＯＭ、３  ＲＡＭ、４  表示器、５  操作部、６  ＭＩＤＩインターフェース、７  ドライブ、８  書込回路、９  アクセス管理部、１０  音源、１１  外部記録媒体、１２  外部波形入出端子、１３  波形メモリ、１４サウンドシステム、１５  ピッチ修正ツール表示画面（表示手段）、２０  波形表示部（表示手段）、２１  元波形、２２  基音部分、２３  修正前カーブ、２４  修正カーブ、２５、修正後カーブ、２６  キー指定ボックス、２７  参照パラメータ設定部、３０  Ｌｏａｄボタン、３１  Ｓｅｔボタン、３２  Ｏｆｆｓｅｔボタン、３３  Ｓｃａｌｅボタン、３４  ＴｉｅＬｉｎｅボタン、３５  ＲｅｓｔＣｕｒｖｅボタン、３６  Ａｖｅｒａｇｅボタン、３７  Ａｕｄｉｔｉｏｎボタン、３８  Ｓｔｏｒｅボタン、３９  ＰｌａｙＯｒｉｇｉｎａｌボタン
【図１】
0004687517.tif 000002
【図２】
0004687517.tif 000003
【図３】
0004687517.tif 000004
【図４】
0004687517.tif 000005
【図５】
0004687517.tif 000006
【図６】
0004687517.tif 000007
【図７】
0004687517.tif 000008