(57)【特許請求の範囲】
【請求項１】
波形形状における波形の少なくとも２つのゼロクロス点から求まる波形のピッチデータを作成する波形データ作成装置であって、
表示手段と、
波形の形状に関するデータを記憶する第１の記憶手段と、
該波形のピッチデータを記憶する第２の記憶手段と、
該第１の記憶手段の波形の形状に関するデータに基づいて波形形状を該表示手段に表示させる第１の表示制御手段と、
該波形のピッチデータを波形形状に対応させて該表示手段に表示させる第２の表示制御手段と、
該表示手段に表示された波形形状について任意の範囲を設定範囲として指定する指定手段と、
該指定手段で指定された設定範囲中にある波形の少なくとも２つのゼロクロス点を検出する検出手段と、
該検出手段で検出された波形の少なくとも２つのゼロクロス点に基づいて該波形のピッチデータを計算する計算手段と、
該指定手段で指定された設定範囲中にある該ピッチデータを、該計算手段で計算されたピッチデータに補正する補正手段とを備えた波形データ作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、波形データの生成、修正等に用いることができる波形データ作成装置に関する。
【０００２】
従来、例えば声や楽音等の音声の波形について、そのピッチなどのパラメータを検出する技術が知られている。この技術では、例えば波形のピッチを検出しようとする場合、その波形の形状等と検出アルゴリズムとの関係から誤検出が生じることがある。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来は検出した音声波形のピッチを例えばリアルタイムに電子楽器の演奏等に利用しているため、誤検出が生じた場合でもそれを無視して正しいものとして取り扱っており、誤検出したピッチを修正等する技術は知られていない。本発明はかかる事情に鑑みてなされたものであり、波形のパラメータ、例えばピッチが誤検出された場合にも、それを容易に修正できるようにすることにある。
【０００４】
【課題を解決するための手段および作用】
上述の課題を解決するために、本発明に係る波形データ作成装置は、波形形状における波形の少なくとも２つのゼロクロス点から求まる波形のピッチデータを作成する波形データ作成装置であって、表示手段と、波形の形状に関するデータ（例えば振幅データ）を記憶する第１の記憶手段と、該波形のピッチデータを記憶する第２の記憶手段と、該第１の記憶手段の波形の形状に関するデータに基づいて波形形状を該表示手段に表示させる第１の表示制御手段と、該波形のピッチデータを波形形状に対応させて該表示手段に表示させる第２の表示制御手段と、該表示手段に表示された波形形状について任意の範囲を設定範囲として指定する指定手段と、該指定手段で指定された設定範囲中にある波形の少なくとも２つのゼロクロス点を検出する検出手段と、該検出手段で検出された波形の少なくとも２つのゼロクロス点に基づいて該波形のピッチデータを計算する計算手段と、該指定手段で指定された設定範囲中にある該ピッチデータを、該計算手段で計算されたピッチデータに補正する補正手段とを備えている。この波形データ作成装置によれば、表示手段に波形の形状とその波形に対応するピッチとが表示されるので、操作者は、波形のピッチを誤って検出したと推測される部分を容易に見つけ出すことができ、その部分を指定手段で設定範囲として指定できる。この指定された設定範囲において、検出手段により波形の少なくとも２つのゼロクロス点が検出され、計算手段によりその検出されたゼロクロス点に基づいてピッチデータが計算され、表示されていた誤ったピッチデータは、補正手段により、計算手段で計算された正しいピッチデータに補正されるので、ピッチデータの補正を容易に行うことができる。
【０００５】
【０００６】
【０００７】
【発明の実施の形態】
図８には本発明に係る一実施形態としての波形データ作成装置を実施するためのパーソナルコンピュータ・システムの構成概要が示される。図８において、このシステムは、コンピュータ本体装置２、ＣＲＴ表示装置１、キーボード３、マウス４、スピーカ５などから構成される。図示しないが、コンピュータ本体装置２は、ＣＰＵ、制御プログラムや各種テーブル等を記憶するＲＯＭ、波形データ等の各種データを記憶するとともに作業用領域として用いられるＲＡＭ、入出力インタフェース等を含み構成される。
【０００８】
波形データを記憶するＲＡＭは、図２に示されるように、音声波形の振幅を示す時系列な振幅データを記憶する振幅データ領域とともに、その波形の各タイミングでのピッチを示すピッチデータを記憶するピッチデータ領域とを有している。このピッチデータは波形の１周期毎にそのピッチを示すものである。このように、ＲＡＭにはこの振幅データとピッチデータとが波形データとして記憶されている。
【０００９】
ＣＲＴ表示装置１にはＲＡＭに記憶された振幅データに基づいてその波形の形状が、ピッチとともに表示されるようになっている。図１（イ）にその例を示す。図示するように、振幅データに基づく波形形状ａが画面縦方向を振幅、横方向を時間軸として表示されるとともに、ピッチデータに基づきその波形形状ａに対応するピッチｂが画面縦方向を大きさ、横方向を時間軸として階段状の表示で示される。この画面には、図１（イ）に示すように、ピッチ修正ボタンｃなどのようなマウス４でクリックすることで操作を指示できるアイコンも表示される。
【００１０】
以下、この実施例装置の動作を説明する。まず、図１を参照して実施例装置の操作概要を説明する。図１（イ）に示すように、波形の振幅データとピッチデータに基づき、波形形状ａとピッチｂとを同じ表示画面に同時に表示する。
【００１１】
次に、波形形状ａとピッチｂを見て比べ、明らかにピッチｂを誤って検出していると判断できる部分を見つける。例えば図１（イ）の例では、波形形状ａから時点ｔ１でそれ以前とはピッチが変化することが見てとれるが、ピッチは時点ｔ２以降で変化しているので、これらの波形部分は誤検出が生じている部分と判断できる。
【００１２】
次に、ピッチを誤検出している部分の波形の１周期のみ（１周期よりも広いがゼロクロス点を２つだけ含む範囲）を範囲指定する。例えば図１（ロ）に示すように、上述の誤検出をしていると考えられる波形部分の１周期はその波形形状ａから時点ｔ１〜ｔ３間と視覚的に認識できるので、この時点ｔ１〜ｔ３を含む範囲αを、その範囲αの始点と終点をマウス４でカーソルを移動させてクリック（以下、マウスでクリックという）することで指定する。
【００１３】
次に、マウス４でピッチ修正ボタンをクリック操作することで、ピッチ修正を指示する。これにより、例えば図１（ハ）に示すように、範囲指定された範囲αの内側の２つのゼロクロス点を自動的に検出し、そのゼロクロス点間の時間長（図示の範囲β）を測定し、その測定結果に基づいて元のピッチデータを修正して、修正ピッチとして表示を修正表示する。
【００１４】
以下、図３〜図６のフローチャートに基づいて実施例装置の詳細な動作を説明する。ここで、図３と図４は実施例装置のメインルーチンを示すフローチャート、図５はメインルーチン中のピッチ検出ルーチンを示すフローチャート、図６はメインルーチン中のゼロクロス点を検出するルーチンのフローチャートである。なお、この動作例では、波形データとして振幅データとピッチデータとを予め持っているのではなく、ディスク等の外部記憶装置から振幅データを読み込んでその波形形状を表示するとともに、その振幅データからピッチを検出して波形形状とともにピッチ表示をするようにしている。
【００１５】
メインルーチンが起動されると、まず、外部記憶装置のディスクから波形の振幅データをＲＡＭに読み込み（ステップＳ１）、その振幅データに基づき、図１（イ）に示すような波形形状ａを表示する（ステップＳ２）。これとともに、図５に示すピッチ検出ルーチンを起動して、波形の振幅データに基づいてそのピッチを検出し（ステップＳ３１）、その検出したピッチデータをＲＡＭのピッチデータ領域に格納する（ステップＳ３２）。そして、そのピッチデータに基づいて、図１（イ）に示すようにピッチｂを画面に表示する（ステップＳ４）。
【００１６】
次いで、マウス４がクリック操作されたか否かを調べ（ステップＳ５）、クリック操作されたときには、そのクリック操作に対応した入力（例えばピッチ修正ボタン等のクリック操作入力あるいは波形領域設定のクリック操作入力）を得る（ステップＳ６）。そして、そのマウスによる入力がピッチ修正の指示（すなわちピッチ修正ボタンのクリック操作）であるか否かを判定する（ステップＳ７）。
【００１７】
ピッチ修正の指示でない場合には、マウスの操作が波形の範囲選択の操作であるか否かを判定する（ステップＳ１２）。この波形の範囲選択操作（範囲設定操作）は、波形形状が表示された領域において、設定しようとしている範囲の始点と終点とをマウス４でクリックすることで行われる。範囲選択操作であるときには、マウス４でクリックされた始点と終点とに基づいて選択範囲を、例えば図１（ロ）の範囲αで示すように背景色を反転させることで、画面に表示する（ステップＳ１３）。範囲選択操作でないときには、ステップＳ５に戻ってマスウ４のクリック操作有無の監視を続ける。
【００１８】
ピッチ修正の指示である場合には（ステップＳ７）、範囲選択が既にされているか否かを判定する（ステップＳ８）。範囲選択がされていない場合には、ピッチ修正指示がされてもピッチ修正を行うことはできないので、ステップＳ５に戻ってマスウ４のクリック操作有無の監視を続ける。範囲選択が既にされている場合には、その選択された範囲（図１（ロ）の範囲α）内にあるゼロクロス点を検出する。この場合、範囲α内の最も外側の二つのゼロクロス点が波形の１周期となり、この１周期からピッチを計算することができる。
【００１９】
このゼロクロス点の検出処理は、図６に示すように、まず、選択範囲αの始点から右側にある一番近い極性の変化点（反転する点）を探し（ステップＳ９１）、極性の変化の前後の振幅データから補間演算を行うことによってゼロクロス点の正確な時間位置（時間軸上の位置）を計算する（ステップＳ９２）。補間演算としては例えば図７に示すような２点補間を行うことができる。この計算は、図７に示すように、一方の振幅データをＡ、他方の振幅データをＢとするならば、ゼロクロス点は振幅データＡとＢの間におけるＣ＝｜Ａ｜／（｜Ａ｜＋｜Ｂ｜）
の比例間隔の位置にある。同様にして、選択範囲αの終点から左側にある一番近い極性の変化点を探し（ステップＳ９３）、極性の変化の前後の振幅データからゼロクロス点の正確な時間位置を計算する（ステップＳ９４）。
【００２０】
次いで、図６のゼロクロス点検出処理で検出したゼロクロス点に基づいて、図１（ハ）に示すように、２つのゼロクロス点で囲まれる範囲βを画面に表示する。これとともに、この検出した二つのゼロクロス点から修正ピッチを求め、図１（ハ）に示すように、この修正したピッチｂを表示する（ステップＳ１１）。
【００２１】
以上のようにすることで、画面に表示された波形形状とそのピッチ表示に基づいて、誤検出があったと推測できる波形部分のピッチデータを簡単に修正することができる。
【００２２】
本発明の実施にあたっては、種々の変形形態が可能である。上述の実施例では波形のパラメータとして波形のピッチを求めることとし、波形形状中のゼロクロス点という特徴点に基づいてこのピッチを計算するようにしたが、本発明はこれに限られるものではなく、例えば波形のパラメータとして１周期毎に最大振幅値を求めることとし、波形形状中の最大波高点を特徴点としてその最大振幅値を計算するようにしてもよい。
【００２３】
また上述の実施例では波形のピッチを、ピッチ検出ルーチンにより波形の振幅データからリアルタイムに求めてピッチデータ領域に格納することとしたが、本発明はこれに限られるものではなく、もちろん波形データとして振幅データとピッチデータ等の波形パラメータとが予め求められているものを用いて、パラメータの生成、修正等を行うものであってもよい。
【００２４】
【発明の効果】
以上に説明したように、本発明によれば、波形ピッチ等のパラメータを、画面の表示に基づいて容易に生成、修正等することができる。
【図面の簡単な説明】
【図１】本発明の実施形態における画面表示例を示す図である。
【図２】本発明の実施形態におけるメモリでの波形データの格納状態を説明する図である。
【図３】本発明の実施形態におけるメインルーチン（１／２）を示すフローチャートである。
【図４】本発明の実施形態におけるメインルーチン（２／２）を示すフローチャートである。
【図５】本発明の実施形態のメインルーチンにおけるピッチ検出ルーチンを示すフローチャートである。
【図６】本発明の実施形態のメインルーチンにおけるゼロクロス点検出ルーチンを示すフローチャートである。
【図７】本発明の実施形態のゼロクロス点検出ルーチンにおけるゼロクロス点の計算方法を説明する図である。
【図８】本発明の一実施形態としての波形データ作成装置を実施するためのパーソナルコンピュータ・システムの構成概要を示す図である。
【符号の説明】
１ ＣＲＴ画像表示装置
２ パーソナルコンピュータ本体装置
３ キーボード
４ マウス
５ スピーカ
【図１】
0003980165.tif 000002
【図２】
0003980165.tif 000003
【図３】
0003980165.tif 000004
【図４】
0003980165.tif 000005
【図５】
0003980165.tif 000006
【図６】
0003980165.tif 000007
【図７】
0003980165.tif 000008
【図８】
0003980165.tif 000009