(58)【調査した分野】(Int.Cl.,DB名)
サンプリングタイミングを表わすサンプリング軸と互いにパラメータ値を表わすパラメータ値軸とを座標軸とした複数の2次元相空間上に表された、それぞれ互いに異なる複数の元波形データに対して、ターケンスプロットの埋込み定理による複数次元相空間へのターケンスプロットの埋込み処理を、前記サンプリング軸の前記サンプリングタイミングに応じたプロット条件に基づいて実行することによって、前記複数次元相空間上に前記複数の元波形データそれぞれに対応する複数の元アトラクタ軌道データを生成する軌道データ生成処理と、
前記軌道データ生成処理によって生成された何れか1つの前記元アトラクタ軌道データの軌道を変更することにより、変換アトラクタ軌道データを生成する変更処理と、
前記変換アトラクタ軌道データに対し、前記ターケンスプロットの埋込み処理の逆変換処理を実行することによって、前記2次元相空間上に前記変換アトラクタ軌道データに対応する変換元波形データを生成する逆変換処理と、
前記変換元波形データに基づき、前記何れか1つを除く他の前記元波形データに対応する変換対応元波形データを前記2次元相空間上に生成するとともに、前記他の前記元波形データを、対応する前記生成された変換対応元波形データに置き換える制御処理と、を実行する処理部を備える波形生成装置。
前記処理部はさらに、前記生成された変換対応元波形データ夫々に基づいて変換対応元アトラクタ軌道データを生成するとともに、対応する前記元アトラクタ軌道データを生成された前記変換対応元アトラクタ軌道データに置き換えて前記表示画面上に表示させる処理を実行する請求項2に記載の波形生成装置。
前記処理部はさらに、前記複数の元アトラクタ軌道データそれぞれに対応する前記複数の元波形データ及び前記変換対応元波形データの少なくとも一方を、前記表示画面上に表示する処理を実行する請求項2に記載の波形生成装置。
前記処理部はさらに、表示された何れかの前記元波形データ及び前記元アトラクタ軌道データ上の一方で指定された位置又は範囲を、前記表示された前記元波形データ及び前記元アトラクタ軌道データ上の他方で強調表示する処理を実行する、請求項2乃至4のいずれかに記載の波形生成装置。
前記複数の元波形データは、前記サンプリング軸及び入力される波形データのサンプリング点毎の波高値軸を前記パラメータ値軸として有するゲイン元波形データと、サンプリング軸及び入力される波形データの波高値の極大値間の時間差値軸を前記パラメータ値軸として有する時間元波形データとであり、
前記処理部は、前記ゲイン元波形データに対応するゲイン元アトラクタ軌道データ及び前記時間元波形データに対応する時間元アトラクタ軌道データを生成する、請求項1乃至5のいずれかに記載の波形生成装置。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、波形生成装置100の実施形態のハードウェア構成例を示す図である。
図1において、波形生成装置100は、CPU(中央演算処理装置)101、プログラムROM(リードオンリーメモリ)102、ワークRAM(ランダムアクセスメモリ)103、タッチパネル104、スイッチ部105、音源106、および表示部107を備え、それらがシステムバス108によって相互に接続された構成を有する。また、音源106の出力は発音部109に入力する。
【0012】
CPU101は、ワークRAM103を作業用メモリとして使用しながらプログラムROM102に記憶された制御プログラムを実行することにより、
図1の波形生成装置100の制御動作を実行する。
【0013】
表示部107は、波形やアトラクタ、及び操作用の各種スイッチボタン等を表示する、例えば液晶ディスプレイ装置である。
【0014】
タッチパネル104は、表示部107が表示した操作用の各スイッチボタンの表示に対するユーザの指によるタッチ操作を受け付け、或いは、表示部107が表示したアトラクタの変形操作に関するユーザの指によるタッチ操作を受け付け、それらの操作結果をCPU101に通知する。
【0015】
スイッチ部105は、ユーザによる各種スイッチの操作を検出し、CPU101に通知する。
【0016】
音源106は、CPU101が波形データを生成した後に、その波形データに対する発音指示データに基づいて、デジタル音響波形データを生成し、発音部109に出力する。発音部109は、音源106から入力したデジタル音響波形データをアナログ音響波形信号に変換した後、そのアナログ音響波形信号を内蔵のアンプで増幅して内蔵のスピーカから放音する。
【0017】
以上の構成を有する波形生成装置100の波形生成動作について、以下に説明する。本実施形態は、マルチアトラクタという概念を取り入れることにより、入力元波形データから抽出される複数種類のパラメータに対して複数のアトラクタを生成、表示することで、多面的かつ一意的な波形の解析が行えるようにするものである。
【0018】
マルチアトラクタの考え方の一つとして、マルチバリューがある。マルチバリューでは、入力元波形データに対してターケンスプロットの埋込み処理を実行するときに、複数のプロットスケール幅(遅れ時間)を設定してそれぞれに対してアトラクタを表示することにより、例えば長期にわたるアトラクタや短期のアトラクタを同時に表示できるようにするものである。すなわちアトラクタを作成するためにパラメータが決定されたなら、今度はそのパラメータで使用する値そのものがバリューである。
【0019】
マルチアトラクタの他の考え方として、マルチパラメータがある。マルチパラメータでは、例えば入力波形の波高値や、音高値のそれぞれに対してアトラクタを表示することにより、複数のパラメータに対する解析を併行してできるようになる。特に本実施形態では、波高値に基づく波形とアトラクタのセットを、ゲイン波形とゲインアトラクタと呼ぶ。また、入力波形中のピーク(極大値)間の時間を変化量としてならべた波形とアトラクタのセットを、時間波形と時間アトラクタと呼ぶ。
【0020】
マルチアトラクタの更に他の考え方として、マルチチャネルがある。マルチチャネルでは、複数のMIDI(Musical Instrument Digital Interface)トラックやチャネルのそれぞれに対してアトラクタが表示される。これにより、アンサンブル音楽のように、複数の楽器トラックなどで構成されているときに、それぞれのトラック別に併行してアトラクタを観測し、編集することができるようになる。このためオーケストラのような音楽を一つの視野内で一度に変更をかけて、新たな音楽の波形を生成することができるようになる。
【0021】
マルチアトラクタの概念のうち、ゲイン波形からゲインアトラクタを生成する処理と、時間波形から時間アトラクタを生成する処理について、以下に説明する。
【0022】
まず、ゲイン波形(以下「ゲイン元波形」と呼ぶ)からゲインアトラクタ(以下「ゲイン元アトラクタ」と呼ぶ)を生成する処理について説明する。
図2は、ゲイン元波形からゲイン元アトラクタへのターケンスプロットの埋込み処理の説明図である。今、
図2(a)に例示されるように、横軸がサンプリング時間を表わすサンプリング軸とし、縦軸がパラメータとして入力される波形の波高値とするパラメータ軸とした場合に、時間域のデジタル音声波形データであるゲイン元波形データ201が入力される。このデータに対して、まず時刻t
0 における波高値が抽出される。また、時刻t
0 にプロットスケール幅1と呼ばれる(以下「VALUE1」とも呼ぶ)遅延時間が加算された時刻t
1 における波高値が抽出される。更に、時刻t
1 にプロットスケール幅2と呼ばれる(以下「VALUE2」とも呼ぶ)遅延時間が加算された時刻t
2 における波高値が抽出される。以上の、時刻t
0 、t
1 、t
2 における3つの波高値がそれぞれXYZ座標値(X(1)、Y(1)、Z(1))として設定された3次元プロットProt(1)が、
図2(b)に例示される、XYZ軸で定義される3次元空間上にプロットされる。次に、
図2(a)のゲイン元波形データ201における各時刻t
0 、t
1 、t
2 からそれぞれシフト幅Δtだけシフトした各時間における3つの波高値がそれぞれXYZ座標値(X(2)、Y(2)、Z(2))として設定された3次元プロットProt(2)が、
図2(b)の3次元空間上にプロットされる。以下同様にして、
図2(a)のゲイン元波形データ201上でVALUE1とVALUE2だけ離れた時刻t
0 とt
1 とt
2 の組が全体的にシフト幅Δtの時間ずつシフトされながら、各時刻から得られる3つの波高値をXYZ座標値とするプロットProt(X(i)、Y(i)、Z(i))が
図2(b)の3次元空間上に次々とプロットされてゆく。この結果、ゲイン元波形データ201に対応するゲイン元アトラクタの軌道データ202が生成される。
【0023】
次に、時間波形(以下「時間元波形」と呼ぶ)から時間アトラクタ(以下「時間元アトラクタ」と呼ぶ)を生成するターケンスプロットの埋込み処理について説明する。
図3は、時間元波形から時間元アトラクタへの変換処理の説明図である。まず、
図2と同様のゲイン元波形データ201が
図3(a)に例示されるように入力される。このデータに対して、波形上のピーク(極大値)の時刻が抽出され、各ピーク間の時間差をパラメータとした場合、例えば連続する3時間差ずつ抽出される。そして、1番目の3つの時間差がそれぞれXYZ座標値(X(1)、Y(1)、Z(1))として設定された3次元プロットProt(1)が、
図3(b)に例示される、XYZ軸で定義される3次元空間上にプロットされる。次に、2番目の3つの時間差がそれぞれXYZ座標値(X(2)、Y(2)、Z(2))として設定された3次元プロットProt(2)が、
図3(b)の3次元空間上にプロットされる。以下同様にして、
図3(a)に例示されるゲイン元波形データ201のピークから順次得られる例えば連続する3つの時間差をXYZ座標値とするプロットProt(X(i)、Y(i)、Z(i))が
図3(b)の3次元空間上に次々とプロットされてゆく。この結果、ゲイン元波形データ201から得られる時間差の波形データ(以下これを「時間元波形データ301」と呼ぶ)に対応する時間元アトラクタの軌道データ302が生成される。
【0024】
図3(a)に例示される時間元波形データ301(以下「時間元波形301」と略す)から得られる
図3(b)に例示される時間元アトラクタの軌道データ302(以下「時間元アトラクタ302」と略す)は、
図2(a)に例示されるゲイン元波形データ201(以下「ゲイン元波形201」と略す)から得られる
図2(b)に例示されるゲイン元アトラクタの軌道データ202(以下「ゲイン元アトラクタ202」と略す)とは異なる性格を有する。即ち、
図2(b)に例示されるゲイン元アトラクタ202は、入力音声波形であるゲイン元波形201に波高値に関連するものであるため、入力音声波形上の強勢アクセントのような音の強弱に関する発音の特徴を捉えているといえる。これに対して、
図3(b)に例示される時間元アトラクタ302は、入力音声波形のピーク間時間に関連するものであるため、入力音声波形上の抑揚(イントネーション)のような音の高低に関する発音の特徴を捉えている。例えば、「こんにちは」という音声を入力して、ローバスフィルタで500ヘルツ以上をカットし、残った波形のピーク同士の間隔は、我々が音声から感じる音程感の部分が多数含まれている。そこで、この値の集合である時間元波形301を用いて時間元アトラクタ302を生成し観測することで、語気の高低について厳密なピッチという概念よりも広くその違いを観測することが可能となる。ちなみに、ピッチというものは1秒あたりの音声の振動数であり、人間は毎回1秒あたりの振動数を計測しているわけではない。このため旧来のピッチ抽出処理ではピッチ抽出するために所定区間を必要としていた。またこの所定区間はゼロクロスを用いることがほとんどであったためピッチ抽出には時間を要し、またピッチに直したところで人間の音程間隔と精度よく対応していたとは言いがたい。人間の音程的な感覚は、脳の処理によって感じられており、所定時間内の所定量の脳神経の発火によるスイッチングが行われていることを前提に考えると、このようなピーク間隔のアトラクタを観測することが有効であると考えられる。このように、これらの複数の特徴を備える複数のアトラクタを並列に観察することができれば、入力音声波形をより多面的に捉えることができるようになると考えられる。
【0025】
そこで、本実施形態はまず、複数の波形とアトラクタ(例えば、ゲイン元波形201とゲイン元アトラクタ202、及び時間元波形301と時間元アトラクタ302)を連携して表示する機能を提供する。
図4は、波形の入力直後における複数波形・アトラクタ間連携表示の原理図である。
図4(a)に例示されるゲイン元波形は
図2(a)のゲイン元波形201に対応しており、横軸の1目盛が1サンプリング周期に対応し、縦軸の値1、2、・・・、6が波高値に対応するように模式化されている。
図4(a)の例において、波形が折れ曲がる位置に表示されている数字は、各サンプリング点における波高値を示している。
図4(a)のゲイン元波形に対して、例えば
図2(a)のVALUE1とVALUE2の値及びシフト幅Δtの値が全て「1」に設定され、
図2で説明したターケンスプロットの埋込み処理が実行されてXYZ座標のプロットが順次生成される。この場合における1つのプロットの生成をステップ(STEP)と呼ぶことにすると、STEP0では、
図4(a)のゲイン元波形上の最初の3つのサンプリング点の波高値「5」「3」「4」をそれぞれX座標値、Y座標値、Z座標値とするプロットが生成される。また、STEP1では、1サンプリング点進んだ3つのサンプリング点の波高値「3」「4」「1」をそれぞれX座標値、Y座標値、Z座標値とするプロットが生成される。以下同様にして生成されたSTEP8までの9プロットが、
図4(c)に例示されるようなX軸、Y軸、Z軸からなる3次元空間上に配置されゲイン元アトラクタが生成される。
図4(c)のゲイン元アトラクタに付与されている各数字は
図4(b)のSTEPの各番号に対応しており、それぞれの数字の位置が、
図4(b)の対応するSTEP番号のXYZ座標値で定まる座標に対応している。
【0026】
次に、
図4(a)から
図4(d)への各破線矢印で示されるように、
図4(a)に例示されるゲイン元波形の各ピーク値間(これを「計測期間」と呼ぶ)の時間差が計測され、各計測期間の番号をサンプリング軸にとり各計測期間での時間差値をパラメータ軸にとった時間元波形が
図4(d)に例示されるように生成される。
図4(d)に例示される時間元波形は
図3(a)の時間元波形301に対応している。
図4(d)の例において、時間元波形上の各数字は、各計測期間における時間差値を示している。
図4(b)の時間元波形に対して、例えばVALUE1とVALUE2の値及びシフト幅Δtの値が全て「1」に設定され、
図2と同様のターケンスプロットの埋込み処理が実行されてXYZ座標のプロットが順次生成される。この場合における1つのプロットの生成をピーク(PEAK)と呼ぶことにすると、
図4(e)に例示されるように、PEAK0では、
図4(d)の時間元波形301上の最初の連続する3つの計測区間の時間差値「4」「2」「3」をそれぞれX座標値、Y座標値、Z座標値とするプロットが生成される。また、PEAK1では、1計測区間進んだ連続する3つの計測区間の時間差値「2」「3」「2」をそれぞれX座標値、Y座標値、Z座標値とするプロットが生成される。以下同様にして生成されたPEAK3までの4プロットが、
図4(f)に例示されるようなX軸、Y軸、Z軸からなる3次元空間上に配置され時間元アトラクタが生成される。
図4(f)の時間元アトラクタに付与されている各数字は
図4(e)のPEAKの各番号に対応しており、それぞれの数字の位置が、
図4(e)の対応するPEAK番号のXYZ座標値で定まる座標に対応している。
【0027】
以上のようにして、
図4(a)のゲイン元波形、
図4(c)のゲイン元アトラクタ、
図4(d)の時間元波形、及び
図4(e)の時間元アトラクタが、
図1の表示部107に同時に或いは簡単に切り換えられるようにして表示されることにより、4者間の関係を直感的に把握することが可能となる。本実施形態では、この表示機能に加えて、何れかのアトラクタ上でその軌道の一部を変形する操作を加えることを可能として、この場合、上記4者間で次のような連携表示を行うことが可能となる。
【0028】
図5は、1つのアトラクタが変形された後の複数波形・アトラクタ間連携表示の原理図である。今例えば、
図2のタッチパネル104或いは特には図示しないマウス入力装置等を操作して、
図4(b)と
図5(b)の対応関係及び
図4(a)と
図5(a)の対応関係として示されるように、ゲイン元アトラクタ上で、STEP4のプロットのY座標値を「5」から「2」に変更したとする。この場合、
図2で説明したターケンスプロットの埋込み処理の関係より、STEP4のプロットのY座標値は、1つ前のSTEP3のZ座標値及び1つ後のSTEP5のX座標値でもあるため、これらの座標値も
図5(b)の破線楕円で示されるように自動的に「2」に変更される。この結果、
図4(c)に例示されるゲイン元アトラクタは、
図5(c)に例示されるアトラクタ(これを「ゲイン変換アトラクタ」と呼ぶ)に変形される。
図5(c)中の丸印で囲まれたSTEP番号のプロットが、変形された部分である。
【0029】
次に、
図5(c)に例示される変形後のゲイン変換アトラクタに対して、ターケンスプロットの埋込み処理の逆変換処理が実行されることにより、
図5(a)に例示されるゲイン逆変換波形が生成される。
図5(a)のゲイン逆変換波形と
図4(a)のゲイン元波形を比較するとわかるように、STEP4でY座標値が「5」から「2」に変更されたのに対応して、
図5(a)のゲイン逆変換波形において、丸印で囲まれたサンプリング点の波高値が「5」から「2」に変更される。
【0030】
続いて、
図4(d)の場合と同様にして、
図5(a)に例示されるゲイン逆変換波形の各ピーク値間の時間差が計測されることにより各破線矢印で示されるように
図5(d)に例示される時間波形が生成される。以下、これを「変換対応時間元波形」と呼ぶ。
図4(d)と
図5(d)を比較するとわかるように、
図5(a)での波高値の変更に対応して、
図5(d)の時間変換波形においては、丸印で示されるように、計測区間2と3における各時間差値がそれぞれ「2」と「3」に変更されている。
【0031】
このようにして生成された時間変換波形に対して、前述したターケンスプロットの埋込み処理が実行されることにより、
図5(e)に示されるように、各PEAK番号毎のプロットのXYZ座標値が算出される。この場合、
図5(e)の丸印で囲まれた座標値が
図4(e)の状態から変更される。この結果、
図5(e)の各PEAK番号に対応するアトラクタが、
図5(f)に示されるように表示される。以後、このアトラクタを、「変換対応時間元アトラクタ」と呼ぶ。
【0032】
以上のようにして、
図4(c)のゲイン元アトラクタが
図1の表示部107に表示されている状態で、その軌道データを変形させて
図5(c)のゲイン変換アトラクタに変形させると、その変形に応じて、
図4(a)のゲイン元波形が
図5(a)のゲイン逆変換波形に変更され、続いて
図4(d)の時間元波形が
図4(d)の変換対応時間元波形に変更され、更に
図4(f)の時間元アトラクタが
図5(f)の変換対応時間元アトラクタに変更される。即ち、ゲイン元アトラクタからゲイン変換アトラクタへの変形に連動して、時間元アトラクタが変換対応時間元アトラクタに変形される。
【0033】
更に、時間元アトラクタを時間変換アトラクタに最初に変形させることにより、ゲイン元アトラクタをゲイン変換アトラクタに連動して変形させることも可能である。この場合まず、時間変換アトラクタに対してターケンスプロットの埋込み処理の逆変換処理が実行されることにより、時間逆変換波形が生成される。次に、時間逆変換波形が示す各時間差値に合うように、ゲイン元波形上の対応する各ピーク間の波形が時間軸上で伸長又は短縮処理され、ゲイン波形(「変換対応ゲイン元波形」)が生成される。この処理としては、公知の時間軸上の波形の伸長又は短縮処理を採用することができる。更に、この変換対応ゲイン元波形に対してターケンスプロットの埋込み処理が実行されることにより、ゲインアトラクタ(「変換対応ゲイン元アトラクタ」)が生成され表示される。
【0034】
以上のようにして、本実施形態では、複数のアトラクタのうちの1つのアトラクタの軌道を変形させた場合に、それに対応する逆変換波形とそれに対応付けられている他のパラメータに関する波形が連動して変更され、更にそれらの波形から生成される他のアトラクタの軌道も連動して変更される。この結果、従来は、アトラクタは一つのみの表示であったのに対して、本実施形態では、パラメータ種、バリュー値、入力のチャンネルごとにアトラクタを同時作成、同時表示、同時編集、同時逆変換させることができ、ユーザは波形を効率よく編集することが可能となる。具体的には、本実施形態では、パラメータ種の数だけアトラクタが設定可能となる。また、一つのパラメータでも複数のバリュー値(遅れ時間)でアトラクタを生成し表示することが可能となる。更に、マルチトラックミディのようなデータでも、トラック分の数だけアトラクタを生成し表示することが可能となる。また、本実施形態では、マルチアトラクタのそれぞれの軌道データを変形させることが可能となり、かつ変形の直後に全てのアトラクタが同時に連動して最新に更新される。更に、本実施形態では、1つのアトラクタの変形に対応して、ターケンスプロットの埋込み処理の逆変換処理により、各アトラクタに対応する逆変換波形を生成することが可能となり、例えばそれにより得られた音声波形を
図1の音源部106及び発音部109を介して発音させることが可能となる。
【0035】
図6および
図7は、本実施形態のデータ構成例を示す図である。これらのデータは、
図1のワークRAM103に記憶される。
図6(a)のアトラクタデータエリアは、アトラクタの生成を制御するための制御パラメータの記憶エリアであり、AT(1)〜AT(n)の複数組の制御パラメータが記憶される。1つの制御パラメータ組AT(i)(1≦i≦n)は、
図2で説明したプロットスケール幅1(VALUE1)、プロットスケール幅2(VALUE2)、及びシフト幅(Δt)を含む。これらの制御パラメータ組は、前述したゲイン元波形からゲイン元アトラクタへのターケンスプロットの埋込み処理と、時間元波形から時間元アトラクタへのターケンスプロットの埋込み処理のそれぞれについて、個別に設定、記憶されてよい。これらの制御パラメータ組は、後述する設定処理(
図8のステップS802、
図11)によりユーザが設定してもよいし、予め複数組がプログラムROM102に記憶されており、電源オン時に初期化処理(
図8のステップS801、
図9)によりプログラムROM102からワークRAM103に読み出されてもよい。
【0036】
図6(b)のゲイン元波形エリアには、入力波形であるゲイン元波形(
図2(a)のゲイン元波形201に対応)のサンプリング点毎の波高値W
1 (1)、W
1 (2)、・・・が記憶される。
図6(b)の時間元波形エリアには、
図4(b)で説明したように、ゲイン元波形から生成される時間元波形の計測区間毎の時間差値W
2 (1)、W
2 (2)、・・・が記憶される。
【0037】
図7(a)のゲインアトラクタ軌道データエリアには、
図4(c)のゲイン元アトラクタや
図5(c)のゲイン変換アトラクタのm個の軌道データProt(1)、Prot(2)、Prot(3)、・・・、Prot(m)が記憶される。1つの軌道データProt(j)(1≦j≦m)は、X座標値X(j)、Y座標値Y(j)、Z座標値Z(j)からなる。
図7(a)の時間アトラクタ軌道データエリアは、上記ゲインアトラクタ軌道データエリアと共用され、
図4(f)の時間元アトラクタや
図5(f)の時間変換アトラクタのm個の軌道データProt(1)、Prot(2)、Prot(3)、・・・、Prot(m)を記憶する。
【0038】
図7(b)のゲイン変換波形エリアには、ゲイン変換アトラクタから逆変換されたゲイン逆変換波形(
図5(a)参照)や、時間変換波形から再生成されたゲイン変換波形のm個のサンプリング点毎の波高値W
1 ′(1)、W
1 ′(2)、・・・、W
1 ′(m)が記憶される。
図7(b)の時間変換波形エリアには、ゲイン変換波形から再生成される時間変換波形(
図5(b))や、時間変換アトラクタから逆変換された時間逆変換波形の、m個の計測区間毎の時間差値W
2 ′(1)、W
2 ′(2)、・・・、W
2 ′(m)が記憶される。これらの個数mは、これらのデータがアトラクタから逆変換されたものに関連しているため、
図7(a)のゲインアトラクタ軌道データエリア又は時間アトラクタ軌道データエリアに記憶されているアトラクタの軌道データProt(1)〜Prot(m)の個数に対応している。
【0039】
上記データ構成に基づく本実施形態の波形生成処理の詳細について、
図8以降を用いて説明する。
図8は、波形生成処理のメイン処理の例を示すフローチャートである。この処理は、
図1のCPU101が、プログラムROM102に記憶された波形生成処理プログラムをワークRAM103を作業領域として使用しながら実行する処理である。
【0040】
CPU101は、まず初期化処理を実行する(ステップS801)。ここでは、CPU101は、後述する各種初期化の処理を実行する。
【0041】
次に、CPU101は、設定処理を実行する(ステップS802)。ここれでは、CPU101は、ユーザに、
図1のタッチパネル104またはスイッチ部105を操作させることにより、
図2の説明で前述したプロットスケール幅1(VALUE1)、プロットスケール幅2(VALUE2)、又はシフト幅(Δt)の値を設定させる。
【0042】
次に、CPU101は、ユーザがタッチパネル104またはスイッチ部105を操作して、波形の生成操作を指示したか否かを判定する(ステップS803)。ステップS803の判定がNOならば、CPU101は、ステップS802の設定処理に戻る。
【0043】
ステップS803の判定がYESならば、CPU101は、アトラクタの生成処理を実行する(ステップS804)。
【0044】
その後、CPU101は、ユーザがタッチパネル104またはスイッチ部105を操作して、表示するアトラクタの切換えを指示したか否かを判定する(ステップS805)。ステップS805の判定がYESならば、ワークRAM103上の特には図示しない表示アトラクタを指示する領域に、ゲイン元アトラクタ又は時間元アトラクタのうちユーザが指示したアトラクタの表示指示を行う(ステップS806)。ステップS805の判定がNOならば、CPU101は、ステップS806の処理はスキップする。
【0045】
その後、CPU101は、上述のワークRAM103に設定されている表示アトラクタの指示に対応するアトラクタ及びそれに対応する波形を、
図1の表示部107に表示する(ステップS807)。
【0046】
続いて、CPU101は、ユーザがタッチパネル104またはスイッチ部105を操作して、アトラクタの軌道データを変更する操作を指示したか否かを判定する(ステップS808)。
【0047】
ステップS808の判定がYESならば、CPU101は、変更処理を実行する(ステップS809)。その後、CPU101は、ステップS805の処理に戻る。
【0048】
ステップS808の判定がNOならば、CPU101は、ユーザがタッチパネル104またはスイッチ部105を操作して、設定変更処理を指示しているか否かを判定する(ステップS810)。ステップS810の判定がYESならば、CPU101は、ステップS802の設定処理に以降する。ステップS810の判定がNOならば、CPU101は、lステップS805の処理に戻る。
【0049】
図9は、
図8のステップS801の初期設定処理の詳細例を示すフローチャートである。
【0050】
初期設定処理において、CPU101はまず、ワークRAM103の内容等のイニシャライズを事項する(ステップS901)。
【0051】
次に、CPU101は、表示部107に、操作画面を表示する(ステップS902)。
図10は、表示部107に表示される操作画面1000を含む表示画面の例を示す図である。
【0052】
次に、CPU101は、
図10(a)に例示される操作画面1000の例えばファイル選択ボタン1001に対するユーザによるタッチパネル104からの指示に基づいて、入力波形データをワークRAM103に取り込む。或いは、CPU101は、特には図示しない入力端子を介して、入力波形データを取り込んでもよい(以上、ステップS903)。
【0053】
次に、CPU101は、表示部107の
図10(a)に例示される操作画面の元波形データエリア1002に、ステップS903でワークRAM103に読み込んだ入力波形データを表示する(ステップS904)。
【0054】
次に、CPU101は、上記入力波形データの各サンプリング点毎の波高値を、ワークRAM103の
図6(b)に例示されるゲイン元波形エリアに、W
1 (1)、W
1 (2)、・・・としてコピーする(ステップS905)。
【0055】
更に、CPU101は、ステップS905でゲイン元波形エリアにコピーしたゲイン元波形(入力波形)について、
図4(b)の説明で前述したようにして極大値(ピーク)の間隔(時間差)を抽出する。CPU101は、この結果得られる計測区間毎の時間差値を、
図6(b)の時間元波形エリアに、群W
2 (1)、W
2 (2)、・・・としてストアする(以上、ステップS906)。その後、CPU101は、
図9のフローチャートで示される
図8のステップS801の初期化処理を終了する。
【0056】
図11は、
図9のステップS802の設定処理の詳細例を示すフローチャートである。CPU101は、
図10(a)の操作画面1000上に特には図示しない設定画面を表示する(ステップS1101)。
【0057】
次に、CPU101は、ユーザにタッチパネル104により設定する操作項目を選択させる(ステップS1102)。
【0058】
CPU101は、ステップS1102でユーザが選択した操作項目の内容を判定する(ステップS1103)。
【0059】
CPU101は、ユーザがプロットスケール幅1(VALUE1)を選択した場合、ユーザに更に、プロットスケール幅1(VALUE1)の値を設定させ、設定された値をワークRAM103内の
図6(a)に示される1つの制御パラメータ組AT(j)(1≦j≦n)のプロットスケール幅1(VALUE1)の記憶領域に記憶させる(ステップS1104)。
【0060】
CPU101は、ユーザがプロットスケール幅2(VALUE2)を選択した場合、ユーザに更に、プロットスケール幅2(VALUE2)の値を設定させ、設定された値をワークRAM103内の
図6(a)に示される1つの制御パラメータ組AT(j)(1≦j≦n)のプロットスケール幅2(VALUE2)の記憶領域に記憶させる(ステップS1105)。
【0061】
CPU101は、ユーザがシフト幅(Δt)を選択した場合、ユーザに更に、シフト幅(Δt)の値を設定させ、設定された値をワークRAM103内の
図6(a)に示される1つの制御パラメータ組AT(j)(1≦j≦n)のシフト幅(Δt)の記憶領域に記憶させる(ステップS1106)。
【0062】
以上のステップS1104、S1105、又はS1106の処理の後、ユーザがタッチパネル104により再設定を指示したか否かを判定する(ステップS1107)。ステップS1107の判定がYESならば、CPU101は、ステップS1102の操作項目選択の処理に戻る。ステップS1107の判定がNOならば、CPU101は、
図11のフローチャートで示される
図8のステップS802の設定処理を終了する。
【0063】
以上のプロットスケール幅1(VALUE1)と2(VALUE2)の設定において、従来は、2つの値とも等しい遅れ時間幅が設定されていた。これに対して、本実施形態では、
図11に示した設定処理により、VALUE1とVALUE2を個別に設定することができる。特に、本実施形態において、VALUE1とVALUE2の比率にいわゆる黄金比を用いることで、より自然現象に応じたアトラクタを出現させることが可能となる。また、波形を変更しても、黄金比に応じた逆変換を行うことができ、より自然現象に応じた2次元波形が作成できることで、よりいっそう波形の精神的効果を作り出せる可能性をアップすることが可能となる。更に、本実施形態での考え方は、神経細胞を例にとっているが、たんぱく質の生成、更に原子や量子レベルでも同じ現象が発生している可能性がある。例えば、電子は量子であるが、雷が樹状であることをみればフィボナッチルールがあることは自明である。そしてこのルールによって出来上がる世代ごとの数の比率は黄金比であることが知られている。神経が増殖してゆく数の世代間の比率は黄金比となりやすい。たとえばこのルールに市が立って神経が太くなると考えれば、太い神経での神経伝達物質の遅れ時間は早くなると推測できる。そのため、すなわちこの神経細胞で処理される電位の遅れのスケール比率は細胞の数に比例した黄金比となることが予測できる。即ち、本実施形態では、この法則をとりいれ、アトラクタ逆変換を行うことは、黄金比を発生させやすいという自然法則を効率よくとりいれ、解析効率および逆変換効果の向上に寄与できる。
【0064】
或いは、本実施形態では、
図11に示した設定処理により、VALUE1とVALUE2の比率に、上述の黄金比ではなく、3倍比を用いることも可能である。様々な自然の現象の中で、3倍音は重要な役割を担っている。例えば、有限な長さの振動体を振動させると、3倍音の音が顕著に聞こえてくる。3倍音は、細胞の増殖から必然的にできる黄金比とは違い、物質の単一形状が出来上がったときに必然的にできあがる比率である。世の中の振動には、必ずといってよいほど3倍音が含まれている。例えば、楽音波形では、弦振動によって3倍音が生じやすいことが知られている。アトラクタを生成するためのターケンスプロットの埋込み処理における2つのプロットスケール幅に、この法則に従った比率を用いれば、波形に含まれる成分を効率的に出すことができるだけでなく、波形の音高(ピッチ)が変化するような会話や音楽による移行性についての変化を捉えられやすくなると考えられる。このため、等間隔でターケンスプロットの埋込み処理を実行するより、より自然に近い現象を抜きだすことができると考えられる。更に、この法則をとりいれるということは逆変換も同様な法則で行われる。これによる、ターケンスプロットの埋込み処理の逆変換処理を行うことは、自然法則を効率よくとりいれ、音や音楽の移行性を自然な形で表現できる新しい波形を生み出すことができると考えられ、逆変換効果の性能向上に寄与できるものと考えられる。
【0065】
図12は、
図8のステップS804の生成処理の詳細例を示すフローチャートである。CPU101はまず、
図8のステップS801の初期化処理内の
図9のステップS905で
図6(b)のゲイン元波形エリアにコピーされているゲイン元波形のデータW
1 (1)、W
1 (2)、・・・から、
図2又は
図4(a)(b)(c)の説明で前述したターケンスプロットの埋込み処理により、ゲイン元アトラクタの軌道データを生成し、ワークRAM103内の
図7(a)のゲインアトラクタ軌道データエリアに記憶させる(ステップS1201)。
【0066】
次に、CPU101はm、ステップS1201でワークRAM103内の
図7(a)のゲインアトラクタ軌道データエリアに生成したゲイン元アトラクタの軌道データに基づいて、
図5(a)(b)(c)の説明で前述したターケンスプロットの埋込み処理の逆変換処理により、ゲイン逆変換波形のm個のサンプリング点毎の波高値のデータを生成し、ワークRAM103内の
図7(b)のゲイン変換波形エリアに、W
1 ′(1)、W
1 ′(2)、・・・、W
1 ′(m)としてストアする(ステップS1202)。
【0067】
続いて、CPU101は、
図8のステップS801の初期化処理内の
図9のステップS906で
図6(b)の時間元波形エリアにストアされている時間元波形のデータW
2 (1)、W
2 (2)、・・・から、
図3又は
図4(d)(e)(f)の説明で前述したターケンスプロットの埋込み処理により、時間元アトラクタの軌道データを生成し、ワークRAM103内の
図7(a)の時間アトラクタ軌道データエリアに記憶させる(ステップS1203)。
【0068】
そして、CPU101はm、ステップS1203でワークRAM103内の
図7(a)の時間アトラクタ軌道データエリアに生成した時間元アトラクタの軌道データに基づいて、
図5(d)(e)(f)の説明で前述したターケンスプロットの埋込み処理の逆変換処理により、時間逆変換波形のm個の計測点毎の時間差値のデータを生成し、ワークRAM103内の
図7(b)の時間変換波形エリアに、W
2 ′(1)、W
2 ′(2)、・・・、W
2 ′(m)としてストアする(ステップS1204)。その後、CPU101は、
図12のフローチャートで示される
図8のステップS804の生成処理を終了する。
【0069】
図13は、
図12のステップS1201又はS1203で、ゲイン元波形又は時間元波形からゲイン元アトラクタ又は時間元アトラクタの軌道データを生成するための処理の詳細例を示すフローチャートである。
【0070】
まず、CPU101は、入力データ数をカウントするためのワークRAM103内の変数nの値を0にリセットする(ステップS1301)。
【0071】
次に、CPU101は、
図2の説明で前述したワークRAM103上の時刻t
0 の変数に先頭のサンプリング点の値「0」を格納し、ワークRAM103上の時刻t
1 の変数に
図2で前述したように時刻t
0 の変数値にプロットスケール幅1(VALUE1)を加算した値を格納し、ワークRAM103上の時刻t
2 の変数に
図2で前述したように時刻t
1 の変数値にプロットスケール幅2(VALUE2)を加算した値を格納する(ステップS1302)。ここで、プロットスケール幅1(VALUE1)及びプロットスケール幅2(VALUE2)は、
図8のステップS802内の
図11のステップS1104又はS1105により例えばユーザにより設定され(既定値でもよい)、ワークRAM103内の
図6(a)のアトラクタデータエリアに格納されているものからユーザが指定したものである。
【0072】
次に、CPU101は、
図6(b)の何れかの元波形エリアに記憶されている、時刻t
0 に対応する元波形の値W(t
0 )(
図12のステップS1201の場合はゲイン元波形エリアの波高値W
1 (t
0 )、
図12のステップS1203の場合は時間元波形エリアの時間差値W
2 (t
0 ))を、変数nの値(これを「n」とする)が示すn番目の軌道データProt(n)のX座標値Xnとする。また、CPU101は、
図6(b)の何れかの元波形エリアに記憶されている、時刻t
1 に対応する元波形の値W(t
1 )(
図12のステップS1201の場合はゲイン元波形エリアの波高値W
1 (t
1 )、
図12のステップS1203の場合は時間元波形エリアの時間差値W
2 (t
1 ))を、変数nが示すn番目の軌道データProt(n)のY座標値Ynとする。更に、CPU101は、
図6(b)の何れかの元波形エリアに記憶されている、時刻t
2 に対応する元波形の値W(t
2 )(
図12のステップS1201の場合はゲイン元波形エリアの波高値W
1 (t
2 )、
図12のステップS1203の場合は時間元波形エリアの時間差値W
2 (t
2 ))を、変数nが示すn番目の軌道データProt(n)のZ座標値Znとする(以上、ステップS1303)。
【0073】
続いて、CPU101は、変数nのカウンタ値を+1インクリメントする(ステップS1304)。
【0074】
その後、CPU101は、時刻t
0 の変数の値をシフト幅(Δt)の値だけインクリメントしてサンプルを進める。ここで、シフト幅(Δt)は、
図8のステップS802内の
図11のステップS1106により例えばユーザにより設定され(既定値でもよい)、ワークRAM103内の
図6(a)のアトラクタデータエリアに格納されているものからユーザが指定したものである。また、CPU101は、時刻t
1 の変数に新たな時刻t
0 の変数値にプロットスケール幅1(VALUE1)を加算した値を格納し、時刻t
2 の変数に新たな時刻t
1 の変数値にプロットスケール幅2(VALUE2)を加算した値を格納する(以上、ステップS1305)。
【0075】
CPU101は、時刻t
2 の変数値がステップS1201又はS1203で入力されている元波形データのデータ数よりも大きくなったか否かを判定する(ステップS1306)。ステップS1306の判定がNOならば、ステップS1303の処理に戻る。以上の処理の繰返しにより、
図2で説明したターケンスプロットの埋込み処理が実現される。ステップS1306の判定がYESならば、CPU101は、
図13のフローチャートで示される
図12のステップS1201又はS1203のゲイン元アトラクタ又は時間元アトラクタの生成処理を終了する。
【0076】
図14は、
図12のステップS1202又はS1204で、ゲイン元アトラクタ又は時間元アトラクタからゲイン逆変換波形又は時間逆変換波形を生成するための処理の詳細例を示すフローチャートである。
【0077】
まず、CPU101は、軌道データのプロット数をカウントするためのワークRAM103内の変数nに、軌道データのプロット数をセットする(ステップS1401)。
【0078】
次に、CPU101は、
図2の説明で前述したワークRAM103上の時刻t
2 の変数に波形の終端時刻を格納し、ワークRAM103上の時刻t
1 の変数に時刻t
2 の変数値からプロットスケール幅1(VALUE1)を減算した値を格納し、ワークRAM103上の時刻t
0 の変数に時刻t
1 の変数値からプロットスケール幅2(VALUE2)を減算した値を格納する(ステップS1402)。
【0079】
次に、CPU101は、アトラクタの軌道データの変数nの値(これを「n」とする)が示すn番目の軌道データProt(Xn、Yn、Zn)を読み出す(ステップS1403)。
【0080】
次に、CPU101は、ステップS1403で読み出したn番目の軌道データProt(n)のZ座標値Znを、
図7(b)の何れかの変換波形エリアに記憶されるべき、時刻t
2 に対応する変換波形の値W′(t
2 )(
図12のステップS1202の場合はゲイン変換波形エリアの波高値W
1 ′(t
2 )、
図12のステップS1204の場合は時間変換波形エリアの時間差値W
2 ′(t
2 ))とする。また、CPU101は、ステップS1403で読み出したn番目の軌道データProt(n)のY座標値Ynを、
図7(b)の何れかの元波形エリアに記憶されるべき、時刻t
1 に対応する変換波形の値W′t
1 )(
図12のステップS1201の場合はゲイン変換波形エリアの波高値W
1 ′(t
1 )、
図12のステップS1203の場合は時間変換波形エリアの時間差値W
2 ′(t
1 ))とする。更に、CPU101は、ステップS1403で読み出したn番目の軌道データProt(n)のX座標値Xnを、
図7(b)の何れかの元波形エリアに記憶されるべき、時刻t
0 に対応する変換波形の値W′(t
0 )(
図12のステップS1201の場合はゲイン変換波形エリアの波高値W
1 ′(t
0 )、
図12のステップS1203の場合は時間変換波形エリアの時間差値W
2 ′(t
0 ))とする(以上、ステップS1404)。
【0081】
続いて、CPU101は、変数nのカウンタ値を−1デクリメントする(ステップS1405)。
【0082】
その後、CPU101は、時刻t
2 の変数に時刻t
1 の変数値を代入し、時刻t
1 の変数に新たな時刻t
2 の変数値からプロットスケール幅2(VALUE2)を減算した値を格納し、時刻t
0 の変数に新たな時刻t
1 の変数値からプロットスケール幅1(VALUE1)を減算した値を格納する(以上、ステップS1406)。
【0083】
CPU101は、変数nの値が0よりも小さくなったか否かを判定する(ステップS1407)。ステップS1407の判定がNOならば、ステップS1403の処理に戻る。以上の処理の繰返しにより、
図5で説明したターケンスプロットの埋込み処理の逆変換の処理が実現される。ステップS1407の判定がYESならば、CPU101は、
図14のフローチャートで示される
図12のステップS1202又はS1204のゲイン逆変換波形又は時間逆変換波形の生成処理を終了する。
【0084】
図15は、
図8のステップS807の表示処理の詳細例を示すフローチャートである。まず、CPU101は、
図8のステップS806でワークRAM103に設定されている表示アトラクタの指示が、ゲイン用であるか否か(時間用であるか)を判定する(ステップS1501)。
【0085】
ステップS1501の判定がYESの場合、CPU101は、
図1の表示部107に、
図10(a)に例示される操作画面1000の表示を行う。
【0086】
まず、CPU201は、
図10(a)の操作画面1000の表示例上のアトラクタ軌道データエリア1003に、
図8のステップS804内の
図12のステップS1201で生成されワークRAM103内の
図7(a)のゲインアトラクタ軌道データエリアに記憶されているゲイン元アトラクタの軌道データを表示する(ステップS1502)。
【0087】
次に、CPU101は、
図1の表示部107の
図10(a)の操作画面1000の表示例上の変換後波形データエリア1004に、
図8のステップS804内の
図12のステップS1202で生成されワークRAM103内の
図7(b)のゲイン変換波形エリアに記憶されているゲイン変換波形の波高値データW
1 ′(1)、W
1 ′(2)、・・・、W
1 ′(m)を表示する(ステップS1503)。なお、変換後波形データエリア1004は、
図10(a)等に示されるように、ゲイン変換波形の全体を表示するエリアと、ゲイン変換波形中のユーザがマウス入力装置等で選択した部分を拡大して表示するエリアが備えられてよい。
【0088】
次に、CPU101は、
図1の表示部107の
図10(a)の操作画面1000の表示例上の元波形データエリア1002に、
図8のステップS801内の
図9のステップS905で入力又は後述する
図8のステップS809内の
図19のステップS1907内の
図31のステップS3103で置き換えられワークRAM103内の
図6(b)のゲイン元波形エリアに記憶されているゲイン元波形の波高値データW
1 (1)、W
1 (2)、・・・、W
1 (m)を表示する(ステップS1504)。
【0089】
一方、ステップS1501の判定がNOの場合、CPU101は、
図1の表示部107に、
図10(b)に例示される操作画面1000の表示を行う。
【0090】
まず、CPU101は、
図1の表示部107の
図10(b)に例示される操作画面1000上のアトラクタ軌道データエリア1003に、
図8のステップS804内の
図12のステップS1203で生成されワークRAM103内の
図7(a)の時間アトラクタ軌道データエリアに記憶されている時間元アトラクタの軌道データを表示する(ステップS1505)。
【0091】
次に、CPU101は、
図1の表示部107の
図10(a)に例示される操作画面1000上の変換後波形データエリア1004に、
図8のステップS804内の
図12のステップS1204で生成されワークRAM103内の
図7(b)の時間変換波形エリアに記憶されている時間変換波形の時間差値データW
2 ′(1)、W
2 ′(2)、・・・、W
2 ′(m)を表示する(ステップS1506)。なお、
図10(a)の場合と同様に、変換後波形データエリア1004は、
図10(b)等に示されるように、時間変換波形の全体を表示するエリアと、時間変換波形中のユーザがマウス入力装置等で選択した部分を拡大して表示するエリアが備えられてよい。
【0092】
次に、CPU101は、
図1の表示部107の
図10(b)に例示される操作画面1000上の元波形データエリア1002に、
図8のステップS801内の
図9のステップS906で生成又は後述する
図8のステップS809内の
図19のステップS1907内の
図31のステップS3103で置き換えられワークRAM103内の
図6(b)の時間元波形エリアに記憶されている時間元波形の時間差値データW
2 (1)、W
2 (2)、・・・、W
2 (m)を表示する(ステップS1507)。
【0093】
上述したステップS1504又はS1507の処理の後、CPU101は、アトラクタ軌道強調処理を実行する(ステップS1508)。その後、CPU101は、
図15のフローチャートで示される
図8のステップS807の表示処理を終了する。
【0094】
図16は、
図15のステップS1508のアトラクタ軌道強調処理の詳細例を示すフローチャートである。この処理は、ユーザが、
図10(a)又は(b)に例示されるアトラクタ軌道データエリア1003上で、
図1のタッチパネル104又は特には図示しないマウス入力装置等によりエリアを指定して強調表示させた場合に、そのエリアに対応する元波形データエリア1002又は変換後波形データエリア1004の波形の対応する部分を強調表示する機能を提供する。或いは、ユーザが、
図10(a)又は(b)に例示されるアトラクタ軌道データエリア1003上で、
図1のタッチパネル104又は特には図示しないマウス入力装置等によりエリアを指定して強調表示させた場合に、そのエリアに対応する元波形データエリア1002の波形の対応する部分を強調表示する機能を提供する。或いは逆に、ユーザが、
図10(a)又は(b)に例示される元波形データエリア1002上で、エリアを指定して強調表示させた場合に、そのエリアに対応するアトラクタ軌道データエリア1003のアトラクタ軌道の対応する部分を強調表示する機能を提供する。これにより、ユーザは、ゲイン元波形とゲイン元アトラクタ又は時間元波形と時間元アトラクタとでどの部分が対応しているかを直感的に知ることができる。これにより例えば、音声の特定の音韻部分のアトラクタに着目するといった分析又は操作が可能となる。
【0095】
CPU101はまず、ユーザがタッチパネル104等により
図10(a)又は(b)のアトラクタ軌道データエリア1003上をエリア指定しているか否かを判定する(ステップS1601)。
【0096】
ステップS1601の判定がYESの場合、CPU101は、ユーザがタッチパネル104等により指定した
図10(a)又は(b)のアトラクタ軌道データエリア1003上のエリアに対して色又は輝度を変える等の強調表示を行う(ステップS1602)。
【0097】
次に、CPU101は、指定エリアに対応する軌道データProt(j)(1≦j≦m)を、ワークRAM103内の
図7(a)の軌道データエリアから抽出する(ステップS1603)。
【0098】
次に、CPU101は、抽出された軌道データProt(j)に対して
図14で説明したターケンスプロットの埋込み処理の逆変換処理を実行することにより、それに対応する元波形の値群をワークRAM103内の
図6(b)の元波形エリアから抽出する(ステップS1604)。
【0099】
そして、CPU101は、ステップS1604で抽出した元波形の値群を、
図10(a)又は(b)の元波形データエリア1002上で強調表示させる(ステップS1605)。
【0100】
一方、ステップS1601の判定がNOの場合、CPU101は、ユーザがタッチパネル104等により
図10(a)又は(b)の元波形データエリア1002上をエリア指定しているか否かを判定する(ステップS1606)。ステップS1606の判定がNOならば、CPU101は、
図16のフローチャートで示される
図15のステップS1508のアトラクタ軌道強調処理を終了する。
【0101】
ステップS1606の判定がYESならば、CPU101は、ユーザがタッチパネル104等により指定した
図10(a)又は(b)の元波形データエリア1002上のエリアに対して強調表示を行う(ステップS1607)。
【0102】
次に、CPU101は、元波形データ上の指定エリアに対して
図13で説明したターケンスプロットの埋込み処理を実行することにより、それに対応する軌道データのエリアを抽出する(ステップS1608)。
【0103】
次に、CPU101は、抽出された軌道データのエリアを、
図10(a)又は(b)のアトラクタ軌道データエリア1003上で強調表示させる(ステップS1609)。
【0104】
上述のステップS1605又はS1609の処理の後、CPU101は、
図16のフローチャートで示される
図15のステップS1508のアトラクタ軌道強調処理を終了する。
【0105】
以上のアトラクタ軌道強調処理により、従来はアトラクタと入力波形との対応関係を瞬時に把握することができなかったが、本実施形態では、アトラクタ軌道データエリア1003上のアトラクタか元波形データエリア1002上の元波形のどちらか一方にカーソルを振れてタッチ又はマウスクリック等するだけで、その点に対応する点がハイライトあるいは色なの変化などによって瞬時に示すことが可能となる。これにより、これまで得てきた2次元の波形でのナレッジ、ノウハウを更にアトラクタの形状変更に有効に生かすことが可能となる。例えば、声帯の一部分について筋肉の緊張が高くなったとき、局所的に弾性率が増加したと考えることができ、その場合には波形上での局所的な振幅が小さくなることが考えられる。その場合においても、アトラクタ上のどの部分がこの局所的な振動に対応し変形させるべきかを、効率的に確認、実行することが可能となる。また、アトラクタを変形させるとき軌道が重なってしまうことがたびたびあるが、この場合においても、選択中のアトラクタの点が、どちらの軌道からやってきてどのような役割を担っているのかを確認することができる。更に、2次元の波形の細かな振幅のゆれがアトラクタ上では軌道の変化なのか軌道の振れ幅に影響しているのかについて、従来は、一意的に確認することが困難であったが、本実施形態では、それぞれの波形を対応させながらなぞることで振れの大きさの対応が明確となり、この大きさに対しての編集を計画的に行うことができるようになる。加えて、2次元の波形のエンベロープがアトラクタそのものの大きさの変化に対してどのように旋回しながら変化しているのかを、従来は、時間を進めながら確認することができなかったが、本実施形態では、軌道の変化と2次元波形を対応させながらなぞることで軌道の変化を明確にし、この軌道の変化に対しての編集を計画的に行うことも可能である。また、元波形データエリア1002については、ターケンスプロットの埋込み処理のプロットスケール幅1(VALUE1)又は2(VALUE2)に対応した複数のデータがハイライトするような強調表示も採用できる。さらに、プロットスケールそのものを表示させることで、よりデータの対応関係をわかりやすく視認できるようにすることも可能である。また、プロットスケールに目盛り或いはゲージ、単位を表記することで、遅れ時間の意味を視認しやすくすることも可能である。更に、プロットスケールを元波形に沿わせて表示することで見やすくすることも可能である。加えて、プロットスケールの色あるいはデザインを、アトラクタ空間の位置と対応させて表示してもよい。上記ハイライト強調処理を、ゲイン元アトラクタと時間元アトラクタの両方に対して同時に実行することも可能である。これにより、入力データに対して、それぞれどこに対応しているかを一意的に確認することができ、効率的な波形編集が可能となり、結果として使用性が向上する。
【0106】
次に、
図8のステップS809の変更処理の詳細について説明する。
図17は、ゲイン元アトラクタの軌道変更とゲイン逆変換波形への逆変換処理の説明図である。例えば
図10(a)のアトラクタ軌道データエリア1003に表示されているゲイン元アトラクタが
図17(a)に示されるようなものであるとする。このとき、前述した
図8のステップS807の表示処理内の
図15のステップS1508内のアトラクタ軌道強調処理に基づいて、ユーザが例えば、
図17(a)のゲイン元アトラクタの破線楕円1701で囲まれた部分に着目し、この中の軌道データを
図17(b)の破線楕円1702で囲まれた白丸のプロットのように矢印の方向に変形させることにより、ゲイン元アトラクタをゲイン変換アトラクタに変形させたとする。この結果、前述した
図5の(a)(b)(c)の説明で前述したゲイン変換アトラクタに対するターケンスプロットの埋込み処理の逆変換処理により、
図17(c)に示されるように、ゲイン元波形がゲイン逆変換波形に変化する。
【0107】
次に、
図18は、時間元アトラクタの軌道変更と時間逆変換波形への逆変換処理の説明図である。例えば
図10(b)のアトラクタ軌道データエリア1003に表示されている時間元アトラクタが
図18(a)に示されるようなものであるとする。このとき、前述した
図8のステップS807の表示処理内の
図15のステップS1508内のアトラクタ軌道強調処理に基づいて、ユーザが例えば、
図18(a)の破線楕円1801で囲まれた部分に着目し、この中の軌道データを白丸のプロットのように変形させることにより、時間元アトラクタを時間変換アトラクタに変形させたとする。この結果、ゲイン変換アトラクタからゲイン逆変換波形へのターケンスプロットの埋込み処理の逆変換処理の場合と同様の逆変換処理により、
図18(b)に示されるように、ゲイン元波形上の極大値間の間隔x、y、zが変化する。
【0108】
以上に示したような
図10(a)又は(b)のアトラクタ軌道データエリア1003での軌道データの変更処理により、本実施形態では、マルチアトラクタから新たな逆変換波形を創り出すことができ、例えば音楽の作曲活動などに利用することが可能となる。この場合、アトラクタは束になった形状を有している。この束は同じような軌道が重なることで束のようにみえており、実際には所定周期をもつ複雑な波形が位相空間内でうまく整理された状態により、束という形になっている。そこで、本実施形態では、以下に説明するように、このアトラクタ空間(位相空間ともいう)で軌道の束を変更するためのいくつかの手法を提案する。これらの手法を用いることにより、入力波形全域に対して、簡単な操作で軌道を効率的に変更することができる。
図19は、
図8のステップS809の変更処理の詳細例を示すフローチャートである。
【0109】
変更処理においては、まず、
図10(a)又は(b)のアトラクタ軌道データエリア1003上で、1本以上の軌道データを選択する操作が必要となる。この選択操作には、UPO(不安定軌道:Unstable Periodic Orbit)解析と呼ばれる手法によりアトラクタの軌道データを選択する方法と、
図1のタッチパネル104や特には図示しないマウス入力装置等による範囲指定等による方法がある。そこで、CPU101はまず、ユーザがタッチパネル104等によりUPO解析の実行を指示したか否かを判定する(ステップS1901)。例えば、
図10(a)又は(b)に示される操作画面1000の左下エリアにおいて、
図21(c)に示されるように、ユーザは、タッチパネル104等により、「UPO逆変換」タブ2101をタップ等し、更に「UPO計算」ボタン2102をタップ等することにより、UPO解析の実行を指示する。
【0110】
この結果、ステップS1901の判定がYESになった場合、CPU101は、UPO解析によるアトラクタ指定の処理を実行する(ステップS1902)。
【0111】
一方、ユーザがUPO解析の実行を指示しないことによりステップS1902の判定がNOになると、CPU101は、ユーザにタッチパネル104等を操作させることによって、
図10(a)又は(b)のアトラクタ軌道データエリア1003上で、変更を行うアトラクタのエリアを指定させる(ステップS1903)。
【0112】
次に、CPU101は、ユーザがタッチパネル104等により指定した変更種別を判定する(ステップS1904)。
【0113】
ステップS1904においてユーザが変更種別として軌道データの変形を指示した場合には、CPU101は、軌道データの変形処理を実行する(ステップS1905)。
【0114】
ステップS1904においてユーザが変更種別として軌道データの消去を指示した場合には、CPU101は、軌道データの消去処理を実行する(ステップS1906)。
【0115】
ステップS1905又はS1906の処理の後、CPU101は、元波形修正処理を実行する(ステップS1907)。その後、CPU101は、
図19のフローチャートで示される
図8のステップS809の変更処理を終了する。
【0116】
図20は、
図19のステップS1902のUPO解析によるアトラクタ指定処理の詳細例を示すフローチャートである。この解析手法は、アトラクタ軌道データから不安定軌道の周期毎の頻度分布(ヒストグラム)を算出する手法である。
【0117】
CPU101はまず、ユーザに、タッチパネル104等によって、UPO解析の制御パラメータである最小距離εと、ピーク幅PWを指定させ、それらの指定値を取得する(ステップS2001)。ユーザは、
図1の表示部107上の、例えば
図10(a)又は(b)に示される操作画面1000の左下エリアにおいて、
図21(c)の入力エリア2103を使って、最小距離εとピーク幅PWを入力する。
【0118】
次に、CPU101は、
図10(a)又は(b)のアトラクタ軌道データエリア1003に表示されているゲイン元アトラクタ又は時間元アトラクタ上の軌道データの始点を指定する(ステップS2002)。
図21は、UPO解析によるアトラクタ指定処理の説明図であり、
図21(a)はアトラクタ軌道データエリア1003に表示されているアトラクタの軌道データを模式的に示した図であり、Iが始点である。
【0119】
図20のフローチャートにおいて、CPU101は次に、アトラクタ軌道データエリア1003に表示されているアトラクタに対応するXYZ座標空間内で、始点を含む軌道上で、所定プロット数以上のプロット点であって、かつ始点を中心とするステップS2001で取得した最小距離εで定義される超球内のプロット点であり、かつ始点に最も近づいた位置のプロット点を決定する。そして、CPU101は、始点からそのプロット点までの周期(プロット数)を、識別番号を付与してワークRAM103内の所定の記憶エリアにストアする(ステップS2003)。
図21(a)の例では、始点Iを含む軌道上で、所定プロット数以上のプロット点であって、かつ始点Iを中心とする超級A内のプロット点であり、かつ始点Iに最も近づいた位置のプロット点として、プロット点IIが決定される。そして、始点Iからプロット点IIまでの軌道上のプロット数が周期として記憶される。なお、この最小距離εはアトラクタが表示される空間の距離で表してもよいが、アトラクタ全体を1としてその割合で示してもどちらでも構わない。
【0120】
次に、CPU101は、始点位置をステップS2003で決定したプロット点に移動させる(ステップS2004)。続いて、CPU101は、ステップS2004による始点移動により、移動後の点がアトラクタ軌道データエリア1003に表示されているアトラクタの軌道データの終点に到達したか否かを判定する(ステップS2005)。ステップS2005の判定がNOならば、CPU101は、ステップS2003の処理を繰り返す。
【0121】
図21(a)の例では、ステップS2004の始点移動処理により、始点がIからIIに移動させられる。そして、ステップS2005の判定がNOとなった後、CPU101は、新たな始点IIを含む軌道上で、所定プロット数以上のプロット点であって、かつ始点IIを中心とする超級B内のプロット点であり、元の始点Iは含まず、かつ始点IIに最も近づいた位置のプロット点として、プロット点IIIが決定される。そして、始点IIからプロット点IIIまでの軌道上のプロット数が周期として記憶される。
【0122】
続いて、
図21(a)において同様に、ステップS2004の始点移動処理により、始点がIIからIIIに移動させられる。そして、ステップS2005の判定がNOとなった後、CPU101は、新たな始点IIIを含む軌道上で、所定プロット数以上のプロット点であって、かつ始点IIIを中心とする超級C内のプロット点であり、元の始点I、IIは含まず、かつ始点IIIに最も近づいた位置のプロット点として、プロット点IVが決定される。そして、始点IIIからプロット点IVまでの軌道上のプロット数が周期として記憶される。
【0123】
更に続いて、
図21(a)において同様に、ステップS2004の始点移動処理により、始点がIIIからIVに移動させられる。そして、ステップS2005の判定がNOとなった後、CPU101は、新たな始点IVを含む軌道上で上記条件を満たすプロット点を探索するが、
図21(a)の例では、元の点I、II、III以外で上記条件を満たすプロット点は見つからない。その場合には、CPU101は、最初の始点Iから連続性のある適当なプロット点を新たな始点として決定する。
図21(a)の例では、プロット点Vが新たな始点として決定される。そして、新たな始点Vを含む軌道上で、所定プロット数以上のプロット点であって、かつ始点Vを中心とする超級D内のプロット点であり、元の始点I、II、III、IVは含まず、かつ始点Vに最も近づいた位置のプロット点として、プロット点VIが決定される。そして、始点Vからプロット点VIまでの軌道上のプロット数が周期として記憶される。
【0124】
図20において、ステップS2003からS2005までの動作が繰り返し実行された結果、ステップS2005の判定がYESになると、CPU101は、横軸に周期の逆数(周波数)、縦軸に出現頻度をプロットしたスペクトルグラフ(ヒストグラム)を作成する(ステップS2006)。
図21(b)は、スペクトルグラフを模式的に示した図である。プロット点IからIIまでの周期は長いため、低い周波数側のヒストグラムのピーク#1に属する。プロット点IIからIIIまでの周期は比較的短いため、比較的高い周波数側のヒストグラムのピーク#4に属する。プロット点IIIからIVまでの周期は比較的長いため、比較的低い周波数側のヒストグラムのピーク#2に属する。プロット点VからVIまでの周期は短いため、高い周波数側のヒストグラムのピーク#5に属する。ここで、軌道データ上の周期には様々なプロット点間で計測されたものが存在するため、
図21(b)に模式的に示されるように、それぞれのヒストグラムのピーク#1〜#5は、周波数方向に幅を有する。
【0125】
スペクトルグラフ上で上述のように幅を持った各ヒストグラムのピーク#1〜#5に対して、CPU101は、ガウス処理により各ピークが正規分布状となるようにフィッティングを行う(ステップS2007)。
【0126】
次に、CPU101は、スペクトルグラフの各ヒストグラムのピークの中で、ピーク幅がステップS2001で取得したピーク幅PW以上のもの以外のピークを除外する(ステップS2008)。
図21(b)の例では、#3のピークが雑音等によるピークであると判定されて除外される。
【0127】
続いて、CPU101は、ステップS2006からS2008の処理により作成されたスペクトルグラフのデータを、
図1のワークRAM103内にストアし、そのスペクトルグラフを、
図1の表示部107上の、例えば
図10(a)又は(b)に示される操作画面1000の左下エリアにおいて、
図21(c)の2104として例示されるように表示する(ステップS2009)。
【0128】
その後、CPU101は、表示部107上に表示されているスペクトルグラフにおいて、ユーザにタッチパネル104等により、「左から何番目のピーク」としてスペクトルを選択させる(ステップS2010)。ユーザは、例えば
図21(c)の画面例の2105又は2106として示されるボックスで、スペクトルグラフ上のピークのスペクトルを選択する。
【0129】
最後に、CPU101は、ステップS2010で選択されたスペクトルの識別番号に対応するアトラクタの軌道データを、ワークRAM103内の
図7(a)に例示されるゲインアトラクタ軌道データエリア(
図10(a)が表示されている場合)又は時間アトラクタ軌道データエリア(
図10(b)が表示されている場合)から選択して、ワークRAM103内の所定の記憶エリアに記憶させる(ステップS2011)。ここで、選択されたスペクトルのピークは周波数方向に幅を持っているため、複数の軌道データの束が選択されることになる。
【0130】
以上のようにして、UPO解析に基づいて、ある音と異なる音とのアトラクタを比較したときに音の特徴の違いがアトラクタの形状の違いとなって出てくるが、その異なった部分の軌道データだけを選択することが可能となる。また、アトラクタの軌道データが多すぎると、色がつぶれたり重なっているところのデータが不明確だったりして、所望の軌道を見分けにくいが、UPO解析に基づいて軌道データを手軽に指定することが可能となる。更に、複雑な軌道データを分割して大くくりで効率的に指定することが可能となる。
【0131】
図22は、
図19のステップS1905の変形処理の詳細例1を示すフローチャートである。この変形処理1では、
図19のステップS1902又はS1903でユーザが指定したエリアのアトラクタの軌道データに対して、重心を自動的に計算し、ユーザがその重心をタッチパネル104又は特には図示しないマウス入力装置を使って動かすことにより、重心位置の移動に合わせて指定エリア内の軌道データを移動できるようにするものである。この処理は例えば、
図10(a)又は(b)に示される操作画面1000の左下エリアの
図26(a)に例示される画面において、「指定範囲移動逆変換」タブ2107をクリックすることにより実行される。ユーザは、
図19のステップS1903を実行する場合には、
図26(a)の画面例で2602の指定を行った後に、タッチパネル104等を操作することによって、
図10(a)又は(b)のアトラクタ軌道データエリア1003上で変更を行うアトラクタのエリアを指定する。
【0132】
図22において、CPU101はまず、
図19のステップS1902又はS1903でユーザが指定したエリア内のアトラクタの軌道データから、重心の座標を計算する(ステップS2201)。
【0133】
次に、CPU101は、例えば
図10(a)又は(b)に示されるアトラクタ軌道データエリア1003上で、ステップS2201で計算した重心の座標位置を、例えばハイライト表示する(ステップS2202)。
【0134】
次に、CPU101は、ユーザがタッチパネル104等によって上記重心の座標位置を指定して移動させたか否かを判定する(ステップS2203)。
【0135】
ステップS2203の判定がYESならば、CPU101は、
図19のステップS1902又はS1903でユーザが指定したエリア内のアトラクタの軌道データの全てを、重心位置の移動量に合わせて移動させる(ステップS2204)。ステップS2203の判定がNOならば、CPU101は、ステップS2204の処理はスキップする。
【0136】
CPU101は、ユーザが例えば
図26(a)の画面例において「変換実行」ボタンをタップ又はクリックすることにより、移動停止を指示したか否かを判定する(ステップS2205)。ステップS2205の判定がNOならば、CPU101は、ステップS2203の処理に戻る。
【0137】
ステップS2205の判定がYESになると、CPU101は、アトラクタ補正処理を実行した後に(ステップS2206)、
図22のフローチャートで示される
図19のステップS1905の変形処理を終了する。アトラクタ補正処理については、
図30のフローチャートの説明で後述する。
【0138】
以上の変形処理1により、ユーザは、アトラクタ軌道データエリア1003上で指定したエリアの重心を表示させてその重心を移動させることにより、指定エリアの軌道データを効率的に変形させることが可能となる。
【0139】
図23は、
図19のステップS1905の変形処理の詳細例2を示すフローチャートである。この変形処理2では、
図19のステップS1902又はS1903でユーザが指定したエリアで基準軌道を指定し、そのエリア内の基準軌道に対する他の軌道の密集度を変更する処理(以下「粗密調整」と呼部)を実行することにより、軌道データの変形を行えるようにするものである。この粗密調整処理は例えば、
図10(a)又は(b)に示される操作画面1000の左下エリアの
図26(b)に例示される画面において、「パラメータ」タブ2604をクリックすることにより実行される。
【0140】
図23において、CPU101はまず、ユーザにタッチパネル104等により、
図19のステップS1902又はS1903でユーザが指定したエリア内の基準軌道を選択させる(ステップS2301)。
【0141】
次に、CPU101は、ユーザにタッチパネル104等により、拡大率Kを指定させる(ステップS2302)。ユーザは例えば、
図26(b)に例示される画面において、2605として示されるスライダを動かすことにより、拡大率Kを指定する。
【0142】
次に、CPU101は、ユーザがタッチパネル104等により、実行スイッチをオンささせたか否かを判定する(ステップS2303)。ユーザは例えば、
図26(b)に例示される画面において、「実行」ボタン2606でこのオン指定を行う。ステップS2303の判定がNOならば、
図23のフローチャートで示される
図19のステップS1905の変形処理を終了する。
【0143】
ステップS2303の判定がYESになると、CPU101は、基準軌道以外の他の軌道を1本選択する(ステップS2304)。以下、この軌道を「当該他の軌道」と記載する。
【0144】
次に、CPU101は、基準軌道上の1点を選択する(ステップS2305)。以下この点を「基準軌道の当該点」と記載する。
【0145】
その後、CPU101は、ステップS2306からS2310までの一連の処理を実行する。まず、CPU101は、基準軌道の当該点にユークリッド距離が最短となる当該他の軌道のプロット点と、そのときの最短ユークリッド距離Uを算出する(ステップS2306)。
【0146】
次に、CPU101は、基準軌道の当該点に対する、当該他の軌道のプロット点の相対位置のXYZ座標値X’、Y’、Z’(以下これを「移動前の相対位置」呼ぶ)を算出する(ステップS2307)。
【0147】
次に、CPU101は、ステップS2302でユーザに指定させた拡大率Kを用いて、移動後のユークリッド距離U
I を次式により算出する(ステップS2308)。
U
I =K×U
【0148】
次に、CPU101は、移動後の相対位置のXYZ座標値をX”、Y”、Z”としたとき、X”、Y”、Z”の比率はステップS230で算出した移動前の相対位置nXYZ座標値X’、Y’、Z’の比率に等しく、かつ、XYZ座標値X’、Y’、Z’の基準軌道の当該点に対するユークリッド距離はU
I に等しくなるように、X”、Y”、Z”を算出する(ステップS2309)。
【0149】
そして、CPU101は、基準軌道の当該点に対する当該他の軌道のプロット点の相対位置がX”、Y”、Z”になるように、当該他の軌道のプロット点を移動させ、移動後の座標値を、ワークRAM103の
図7(b)のゲインアトラクタ軌道データエリア又は時間アトラクタ軌道データエリアの、当該他の軌道のプロット点に対応する記憶位置に上書きする(ステップS2310)。
【0150】
その後、CPU101は、当該他の軌道に関して基準軌道上の他の点がまだあるか(未選択か)否かを判定する(ステップS2311)。ステップS2311の判定がYESならば、CPU101は、ステップS2305の処理に戻る。
【0151】
ステップS2311の判定がNOになると、CPU101は、他の軌道がまだあるか(未処理か)否かを判定する(ステップS2312)。ステップS2312の判定がYESならば、CPU101は、ステップS21304の処理に戻る。
【0152】
ステップS2312の判定がNOになると、CPU101は、アトラクタ補正処理を実行した後に(ステップS2313)、
図23のフローチャートで示される
図19のステップS1905の変形処理を終了する。アトラクタ補正処理については、
図30のフローチャートの説明で後述する。
【0153】
以上の変形処理2により、ユーザは、アトラクタ軌道データエリア1003上で指定したエリアの指定した基準軌道に対する粗密の度合いを、指定した拡大率Kによって自動的に調整し、指定エリア内の軌道データを変形させることが可能となる。これにより例えば、密度の高いアトラクタを疎にする操作を行うことができ、指定エリア内の軌道データは一定の軌道から離れ異なる軌道となるため、逆変換しても複雑な波形ができあがる。また、疎となっているアトラクタデータを密にすることで軌道はまとまり、単純化された波形が生成される。ユーザは任意に、この粗密の拡大率を調節でき、何万点もあるひとつひとつ軌道を修正する手間なく、利便性が向上する。
【0154】
図24は、
図19のステップS1905の変形処理の詳細例3を示すフローチャートである。この変形処理3では、
図19のステップS1902又はS1903でユーザが指定したエリア内で、一本の軌道のアトラクタ軌道が細かく旋回するその軌道の旋回振幅(振れ幅)を増減させる処理(以下「一本軌道振幅調整」と呼ぶ)を実行することにより、アトラクタの旋回振幅に関係する波形の効果を増幅させることを可能とするものである。この一本軌道振幅調整の処理は例えば、
図10(a)又は(b)に示される操作画面1000の左下エリアの
図26(c)に例示される画面において、「範囲内軌道指定逆変換」タブ2607をクリックすることにより実行される。
【0155】
図24において、CPU101はまず、ユーザにタッチパネル104等により、
図19のステップS1902又はS1903でユーザが指定したエリア内で一本のアトラクタ軌道データNDを指定させる(ステップS2401)。
【0156】
次に、CPU101は、ステップS2401で指定されたアトラクタ軌道データNDに対して、移動平均演算した移動平均データIHDを取得する(ステップS2402)。
図25は、変形処理の詳細例3の説明図である。
図25に示されるように、アトラクタ軌道データNDの実線で結ばれたプロット点毎に、その前後数プロット値の平均として、移動平均データIHDの破線で結ばれた各プロット点が算出される。
【0157】
次に、CPU101は、プロット点毎に、旋回振幅データSKSPを算出する。この旋回振幅データSKSPは、
図25に示されるように、移動平均データIHDのプロット点からアトラクタ軌道データNDの対応するプロット点までの振れ幅を示している。CPU101は、この処理を、全てのプロット点について実行する(以上、ステップS2403)。
【0158】
次に、CPU101は、ユーザがタッチパネル104等により、実行スイッチをオンささせたか否かを判定する(ステップS2404)。ユーザは例えば、
図26(c)に例示される画面において、「実行」ボタン2609でこのオン指定を行う。ステップS2404の判定がNOならば、
図24のフローチャートで示される
図19のステップS1905の変形処理を終了する。
【0159】
ステップS2404の判定がYESになると、CPU101は、ユーザがタッチパネル104等により指定した拡大率Kを取得する(ステップS2405)。ユーザは例えば、
図26(c)に例示される画面において、2608として示されるボックスにより、拡大率Kを指定する。
【0160】
次に、CPU101は、プロット点毎に、次式により、変化後旋回振幅NSKSPを算出する(ステップS2406)。
図25に示されるように、変化後旋回振幅NSKSPは、旋回振幅SKSPの振れ幅をK倍したものである。
NSKSP=K×SKSP
【0161】
そして、CPU101は、プロット点毎に、次式により、変化後アトラクタ軌道データND′を算出し、アトラクタ軌道データNDの値を置き換える(ステップS2407)。
ND′=ND+NSKSP
【0162】
その後、CPU101は、アトラクタ補正処理を実行した後に(ステップS2408)、
図24のフローチャートで示される
図19のステップS1905の変形処理を終了する。アトラクタ補正処理については、
図30のフローチャートの説明で後述する。
【0163】
一般に、アトラクタの一本の軌道はアトラクタ空間内を小刻みに旋回する。また、この軌道が集まり束になっている。この旋回には入力される波形によって、振幅の違いがある。そこで、本実施形態では、上述した変形処理3の一本軌道振幅調整の処理により、このアトラクタ空間で軌道の旋回振幅を変更することが可能となり、入力波形全域に対して、簡単な操作で軌道を効率的に軌道変更することができる。例えば、振幅の高いアトラクタを低くする操作を行うことができれば、全体としての波形はこの振幅に対応する音(例えば高音域の周波数)に対応し、逆変換するとその音より複雑な波形ができあがる。その逆では倍音の少ない波形ができあがる。従来は、何万点もある軌道データに対して操作を行うことは実質的に困難であったが、上述した本実施形態によれば、一本の軌道のアトラクタ軌道が細かく旋回するその軌道の旋回振幅(振れ幅)を増減させることで、アトラクタの旋回振幅に関係する波形の効果を増幅させることが可能となる。
【0164】
図27は、
図19のステップS1906の消去処理の詳細例を示すフローチャートである。この処理では、アトラクタデータを一旦消し、再表示されたアトラクタの後端に新たなアトラクタ軌道データを追加できるようになっている。このとき、生成されるアトラクタ軌道データによって、ターケンスプロットの埋込み処理が崩れないように、補正処理が行われる。一つのアトラクタ軌道データのプロット点を生成したならば、埋め込み次元が3ある場合は、関連するデータは前後5次元にわたって影響を及ぼす。現在のアトラクタ点を一つ変更したならば、最大で2つ遡ったプロット点は、この変更されるプロット点の座標値に従って自動修正される。ただし、この自動修正は、する場合としない場合のどちらかを、ユーザが選択することができるものとする。
【0165】
図27において、CPU101はまず、ユーザが実際の消去操作を指示したか否かを判定する(ステップS2701)。ステップS2701の判定がNOならば、CPU101は、
図27のフローチャートで示される
図19のステップS1906の消去処理をそのまま終了する。
【0166】
ステップS2701の判定がYESならば、CPU101は、
図19のステップS1902又はS1903でユーザが指定したエリア内の軌道データを消去する(ステップS2702)。
【0167】
その後、CPU101は、ユーザが続けて指定エリア内の位置指定を行ったか否かを判定する(ステップS2703)。ステップS2703の判定がYESならば、CPU101は、指定位置による軌道補正処理を実行する(ステップS2704)。ステップS2703の判定がNOならば、ステップS2704の処理はスキップする。
【0168】
続いて、CPU101は、ユーザがタッチパネル104等により実際の操作を指示したか否かを判定する(ステップS2705)。ステップS2705の判定がNOならば、CPU101は、ステップS2704で生成された軌跡を消去し(ステップS2706)、ステップS2703の処理に戻る。
【0169】
ステップS2705の判定がYESならば、CPU101は、アトラクタ補正処理を実行した後に(ステップS2408)、
図27のフローチャートで示される
図19のステップS1906の消去処理を終了する。アトラクタ補正処理については、
図30のフローチャートの説明で後述する。
【0170】
図28は、
図27のステップS2704の指定位置による軌道補正処理の詳細例を示すフローチャートである。この処理は、アトラクタ軌道データの最後尾についてクリックされたら新たにアトラクタ軌道データを作り出す処理である。
【0171】
CPU101は、最後尾のアトラクタ軌道データを把握しており、その所定超球内にユーザ指定があった場合は、それをユーザがアトラクタ軌道データを生成したものとして扱い、ユーザが指定した位置座標(X
0 ,Y
0 ,Z
0 )を、ワークRAM103内の
図7(a)に例示されるゲインアトラクタ軌道データエリア(
図10(a)が表示されている場合)又は時間アトラクタ軌道データエリア(
図10(b)が表示されている場合)の最後尾の座標の次にストアする(ステップS2801)。
【0172】
ここで、プロットスケールの関係性を保つために、新たなアトラクタ軌道データが追加された場合に、2つのルールの何れかで処理を実行することができる。
図28は、位置指定による軌道補正処理の説明図であり、
図28(a)のルールと
図28(b)のルールの何れかを採用できる。
図28(a)のルールが採用される場合、ユーザが指定した新たな追加点の座標(X
0 ,Y
0 ,Z
0 )は、
図29(a)の「追加点」の行に示されるように自由に生成できるものとする(
図29(a)の「追加点」の行の「生成(X)」「生成(Y)」「生成(Z)」)。
【0173】
この場合、CPU101は、
図28のステップS2802として示されるように、アトラクタ軌道データの最後尾の座標(X
1 ,Y
1 ,Z
1 )について、
図29(a)の「最後尾」の行に示されるように、X座標値X
1 については変更無しとし(「決定(X)」)、Y座標値Y
1 については追加点のX座標値X
0 で置き換え(「決定(Y)→生成(X)」)、Z座標値Z
1 については追加点のY座標値Y
0 で置き換える(「決定(Z)→生成(Y)」)。
【0174】
更に、CPU101は、
図28のステップS2803として示されるように、アトラクタ軌道データの最後尾の1つ前の座標(X
2 ,Y
2 ,Z
2 )について、
図29(a)の「最後尾の1つ前」の行に示されるように、X座標値X
1 とY座標値Y
1 については変更無しとし(「決定(X−1)」「決定(Y−1)」)、Z座標値Z
1 については更新された最後尾の点のY座標値Y
1 (=追加点のX座標値X
0 )で置き換える(「決定(Z−1)→生成(X)」)。その後、CPU101は、
図28のフローチャートで示される
図27のステップS2704の指定位置による軌道補正処理を終了する。
【0175】
以上の
図29(a)のルールに従う
図28のフローチャートで示される処理により、新たなアトラクタ軌道データが追加された場合でも、プロットスケールの関係性を保つことが可能となる。
【0176】
上述の
図29(a)のルールは、新たな追加点が追加された場合には、最後尾と最後尾の1つ前(アトラクタが3次元の場合)のデータを追加点の座標に基づいて修正するルールである。これに対して、最後尾までの過去の軌道データは修正せず(固定にして)、追加点として生成できる座標値に制限を持たせるルールも採用できる。
図29(b)は、過去の軌道データを固定とする場合のルールである。このルールに従えば、最後尾の直後に作られた追加点1のデータは、最後尾のデータ以前の実データとプロットスケールの整合性をあわせるため、Z座標値のみしか新しくできず、X座標値とY座標値にはそれぞれ最後尾の点のY座標値とZ座標値が設定さえる。追加点1の次の追加点2のデータのX座標値とY座標値にはそれぞれ追加点1のY座標値とZ座標値が設定され、Z座標値は自由に生成できる。追加点2の次の追加点3も同様で、X座標値とY座標値にはそれぞれ追加点2のY座標値とZ座標値が設定され、Z座標値は自由に生成できる。
【0177】
図30は、
図22の変形処理1のステップS2206、
図23の変形処理2のステップS2313、
図24の変形処理3のステップS2408、
図27の消去処理のステップS2707として実行されるアトラクタ補正処理の詳細例を示すフローチャートである。アトラクタの任意の点を変更(変形又は消去)する場合、データの離間によりクリップノイズが発生するため、この間をなめらかにつなく処理が必要である。アトラクタ補正処理は、この処理を提供する。
【0178】
CPU101はまず、
図19のステップS1902又はS1903でユーザが指定したエリア内の端部位置を検出する(ステップS3001)。
【0179】
次に、CPU101は、指定エリア領域に接しているアトラクタ軌道データの位置を検出する(ステップS3002)。
【0180】
次に、CPU101は、検出位置の数を判定する(ステップS3003)。
【0181】
検出位置の数がゼロ個であれば、CPU101は、
図30のフローチャートで示されるアトラクタ補正処理を終了する。
【0182】
検出位置の数が複数個であれば、CPU101は、ステップS3001で検出した指定エリア内の軌跡端部と近い位置を選択する(ステップS3004)。
【0183】
検出位置の数が1個であれば、CPU101は、ステップS3004の処理をスキップする。
【0184】
続いて、CPU101は、端部と端部とを所定の曲線関数、例えばスプライン関数などで結ぶ(ステップS3005)。
【0185】
その後、CPU101は、指定エリア内の軌跡を、表示部107上の
図10(a)又は(b)のアトラクタ軌道データエリア1003に表示する(ステップS3006)。
【0186】
最後に、CPU101は、指定エリア内に含まれるワークRAM103内の
図7(a)のゲインアトラクタ軌道データエリア(
図10(a)が表示されている場合)、又は時間アトラクタ軌道データエリア(
図10(b)が表示されている場合)の軌道データを、ステップS3005で生成した補間データで置換する(ステップS3007)。その後、CPU101は、
図30のフローチャートで示されるアトラクタ補正処理を終了する。
【0187】
以上のアトラクタ補正処理により、違和感の少ない波形データを生成することが可能となる。
【0188】
図31は、
図19のステップS1907の元波形修正処理の詳細例を示すフローチャートである。この処理は、前述した
図5の処理機能を提供する。
【0189】
まず、CPU101は、
図10(a)又は(b)のアトラクタ軌道データエリア1003に表示され、ワークRAM103の
図7(a)のゲインアトラクタ軌道データエリア(
図10(a)が表示されている場合)又は時間アトラクタ軌道データエリア(
図10(b)が表示されている場合)に格納されている変形後のアトラクタ軌道データに対して、
図14のフローチャートで示されるターケンスプロットの埋込み処理の逆変換処理を実行する(ステップS3101)。
【0190】
次に、CPU101は、
図10(a)又は(b)の変換後波形データエリア1004に表示されている変換波形W’、即ち、ワークRAM103の
図7(b)のゲイン変換波形エリア(
図10(a)が表示されている場合)に記憶されているゲイン変換波形W
1 ′(1)、W
1 ′(2)、・・・、W
1 ′(m)、又は時間変換波形エリア(
図10(b)が表示されている場合)に記憶されている時間変換波形W
2 ′(1)、W
2 ′(2)、・・・、W
2 ′(m)を、ステップS3101の逆変換処理により得られたゲイン逆変換波形(
図10(a)が表示されている場合)又は時間逆変換波形(
図10(b)が表示されている場合)で書き換える(ステップS3102)。
【0191】
続いて、CPU101は、ステップS3102で書き換えられたゲイン逆変換波形(
図10(a)が表示されている場合)又は時間逆変換波形(
図10(b)が表示されている場合)を入力波形データとして、表示されていない時間元波形データ(
図10(a)が表示されている場合)又はゲイン元波形データ(
図10(b)が表示されている場合)を生成して(
図5の変換対応時間元波形又は変換対応ゲイン元波形201に対応)、ワークRAM103の
図6(b)の時間元波形エリア(
図10(a)が表示されている場合)又はゲイン元波形エリア(
図10(b)が表示されている場合)の内容と置き換える(ステップS3103)。
【0192】
そして、CPU101は、変換対応時間元波形データ(
図10(a)が表示されている場合)又は変換対応ゲイン元波形データ(
図10(b)が表示されている場合)に対して、
図13のフローチャートに基づくターケンスプロットの埋込み処理を実行することにより、表示されていない時間元アトラクタ(
図10(a)が表示されている場合)又はゲイン元アトラクタ(
図10(b)が表示されている場合)の軌道データを生成して(
図5の変換対応時間元アトラクタ又は変換対応ゲイン元アトラクタに対応)、ワークRAM103の
図7(a)の時間アトラクタ軌道データエリア(
図10(a)が表示されている場合)又はゲインアトラクタ軌道データエリア(
図10(b)が表示されている場合)の内容と置き換える(ステップS3104)。
【0193】
図32は、
図31のフローチャートで示される元波形修正処理の説明図である。例えば
図10(a)のアトラクタ軌道データエリア1003に表示されている
図32(a)に例示されるゲイン元アトラクタに対して、例えば
図32(a)の2つの白い十字マーク間で、
図19のステップS1905の変形処理又はステップS1906の消去処理が実行された結果、ゲイン変換アトラクタが生成される。この結果、
図10(c)の変換後波形データエリア1004に表示されている内容が、
図32の矢印3201に対応する
図31のステップS3101及びS3102の処理により、
図32(a)のゲイン変換アトラクタから逆変換されて生成された
図32(c)のゲイン逆変換波形に書き換わる。更に、
図32の矢印3202に対応する
図31のステップS3103の処理により、
図32(c)のゲイン逆変換波形に基づいて時間元波形が
図32(d)のように書き換わって変換対応時間元波形となる。そして、
図32の矢印3203に対応する
図31のステップS3104の処理により、
図32(d)の変換対応時間元波形からのターケンスプロットの埋込み処理により新たな変換対応時間元アトラクタが生成され、
図32(b)のように書き換わる。
【0194】
逆に例えば、
図10(b)のアトラクタ軌道データエリア1003に表示されている
図32(b)に例示される時間元アトラクタに対して、例えば
図32(b)の2つの白い十字マーク間で、
図19のステップS1905の変形処理又はステップS1906の消去処理が実行された結果、時間変換アトラクタが生成される。この結果、
図10(c)の変換後波形データエリア1004に表示されている内容が、
図32の矢印3204に対応する
図31のステップS3101及びS3102の処理により、
図32(b)の時間変換アトラクタから逆変換されて生成された
図32(d)の時間逆変換波形に書き換わる。更に、
図32の矢印3205に対応する
図31のステップS3103の処理により、
図32(d)の時間逆変換波形に基づいてゲイン元波形が
図32(c)のように書き換わって変換対応ゲイン元波形となる。そして、
図32の矢印3206に対応する
図31のステップS3104の処理により、
図32(c)の変換対応ゲイン元波形からのターケンスプロットの埋込み処理により新たな変換対応ゲイン元アトラクタが生成され、
図32(a)のように書き換わる。
【0195】
以上説明した実施形態により生成される波形データに対して、ユーザは、例えば
図10(a)又は
図10(b)に示される変換後波形再生ボタン1006をタッチパネル104等でタッチすることにより、生成された波形データを再生することができる。さらに、元波形再生ボタン1005により、元波形と聞き比べることもできる。この場合、CPU101は、ワークRAM103の
図7(b)のゲイン変換波形エリア又は
図6(b)のゲイン元波形エリアに得られている波形データを読み出して
図1の音源106に送ることにより、音源106が波形データの再生を行い、発音部109を介して発音させる。
【0196】
以上のようにして、本実施形態では、アトラクタをマルチ表示することが可能となると共に、1つのアトラクタに対する変形を他のアトラクタに反映させることが可能となる。これにより、波形解析および波形編集を異なった角度からスムーズに実行することが可能となる。
【0197】
図3等で説明したゲイン元波形201から時間元波形301を生成するときのピークの抽出方法としては、ノイズ的なピークを除去するために、ゲイン元波形201をローパスフィルタに通して得られる波形からピーク抽出を行う方法等が採用できる。或いは、適当な擬似ピーク除去アルゴリズムにより除去してもよい。
【0198】
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
サンプリングタイミングを表わすサンプリング軸と互いにパラメータ値を表わすパラメータ値軸とを座標軸とした複数の2次元相空間上に表された、それぞれ互いに異なる複数の元波形データに対して、ターケンスプロットの埋込み定理による複数次元相空間へのターケンスプロットの埋込み処理を、前記サンプリング軸の前記サンプリングタイミングに応じたプロット条件に基づいて実行することによって、前記複数次元相空間上に前記複数の元波形データそれぞれに対応する複数の元アトラクタ軌道データを生成する軌道データ生成処理と、
前記軌道データ生成処理によって生成された何れか1つの前記元アトラクタ軌道データの軌道を変更することにより、変換アトラクタ軌道データを生成する変更処理と、
前記変換アトラクタ軌道データに対し、前記ターケンスプロットの埋込み処理の逆変換処理を実行することによって、前記2次元相空間上に前記変換アトラクタ軌道データに対応する変換元波形データを生成する逆変換処理と、
前記変換元波形データに基づき、前記何れか1つを除く他の前記元波形データに対応する変換対応元波形データを前記2次元相空間上に生成するとともに、前記他の前記元波形データを、対応する前記生成された変換対応元波形データに置き換える制御処理と、を実行する処理部を備える波形生成装置。
(付記2)
前記処理部はさらに、生成される前記複数の元アトラクタ軌道データをそれぞれ表示画面上に表示する表示処理を実行する付記1に記載の波形生成装置。
(付記3)
前記処理部はさらに、前記生成された変換対応元波形データ夫々に基づいて変換対応元アトラクタ軌道データを生成するとともに、対応する前記元アトラクタ軌道データを生成された前記変換対応元アトラクタ軌道データに置き換えて前記表示画面上に表示させる処理を実行する付記2に記載の波形生成装置。
(付記4)
前記処理部はさらに、前記複数の元アトラクタ軌道データそれぞれに対応する前記複数の元波形データ及び前記変換対応元波形データの少なくとも一方を、前記表示画面上に表示する処理を実行する付記2に記載の波形生成装置。
(付記5)
前記処理部はさらに、表示された何れかの前記元波形データ及び前記元アトラクタ軌道データ上の一方で指定された位置又は範囲を、前記表示された前記元波形データ及び前記元アトラクタ軌道データ上の他方で強調表示する処理を実行する、付記2乃至4のいずれかに記載の波形生成装置。
(付記6)
前記複数の元波形データは、前記サンプリング軸及び入力される波形データのサンプリング点毎の波高値軸を前記パラメータ値軸として有するゲイン元波形データと、サンプリング軸及び入力される波形データの波高値の極大値間の時間差値軸を前記パラメータ値軸として有する時間元波形データとであり、
前記処理部は、前記ゲイン元波形データに対応するゲイン元アトラクタ軌道データ及び前記時間元波形データに対応する時間元アトラクタ軌道データを生成する、付記1乃至5のいずれかに記載の波形生成装置。
(付記7)
前記元波形データとして、サンプリング軸及び入力される波形データのサンプリング点毎の波高値軸を前記パラメータ値軸として有するゲイン元波形データを有し、
前記処理部は、前記ゲイン波形データの波高値の極大値間の時間差値を前記パラメータ値とする時間元波形データを生成する処理をさらに実行する、付記6に記載の波形生成装置。
(付記8)
前記プロット条件は、前記サンプリング軸上の複数のプロットスケール幅とシフト幅を含む、付記1乃至7の何れかに記載の波形生成装置。
(付記9)
前記複数のプロットスケール幅の各値の比を黄金比あるいは1対3に設定する、付記8に記載の波形生成装置。
(付記10)
処理部を有する波形生成装置に用いられる波形生成装置であって、前記処理部が、
サンプリングタイミングを表わすサンプリング軸と互いにパラメータ値を表わすパラメータ値軸とを座標軸とした複数の2次元相空間上に表された、それぞれ互いに異なる複数の元波形データに対して、ターケンスプロットの埋込み定理による複数次元相空間へのターケンスプロットの埋込み処理を、前記サンプリング軸の前記サンプリングタイミングに応じたプロット条件に基づいて実行することによって、前記複数次元相空間上に前記複数の元波形データそれぞれに対応する複数の元アトラクタ軌道データを生成し、
前記生成された何れか1つの前記元アトラクタ軌道データの軌道を変更することにより、変換アトラクタ軌道データを生成し、
前記変換アトラクタ軌道データに対し、前記ターケンスプロットの埋込み処理の逆変換処理を実行することによって、前記2次元相空間上に前記変換アトラクタ軌道データに対応する変換元波形データを生成し、
前記変換元波形データに基づき、前記何れか1つを除く他の前記元波形データに対応する変換対応元波形データを前記2次元相空間上に生成するとともに、前記他の前記元波形データを、対応する前記生成された変換対応元波形データに置き換える、波形生成方法。
(付記11)
波形生成装置として用いられるコンピュータに、
サンプリングタイミングを表わすサンプリング軸と互いにパラメータ値を表わすパラメータ値軸とを座標軸とした複数の2次元相空間上に表された、それぞれ互いに異なる複数の元波形データに対して、ターケンスプロットの埋込み定理による複数次元相空間へのターケンスプロットの埋込み処理を、前記サンプリング軸の前記サンプリングタイミングに応じたプロット条件に基づいて実行することによって、前記複数次元相空間上に前記複数の元波形データそれぞれに対応する複数の元アトラクタ軌道データを生成する軌道データ生成ステップと、
軌道データ生成ステップによって生成された何れか1つの前記元アトラクタ軌道データの軌道を変更することにより、変換アトラクタ軌道データを生成する変更ステップと、
前記変換アトラクタ軌道データに対し、前記ターケンスプロットの埋込み処理の逆変換処理を実行することによって、前記2次元相空間上に前記変換アトラクタ軌道データに対応する変換元波形データを生成する逆変換ステップと、
前記変換元波形データに基づき、前記何れか1つを除く他の前記元波形データに対応する変換対応元波形データを前記2次元相空間上に生成するとともに、前記他の前記元波形データを、対応する前記生成された変換対応元波形データに置き換える制御ステップと
を実行させるプログラム。