(57)【要約】【課題】アトラクタ空間に描画し音高データを発生する作曲装置を実現する。【解決手段】曲データに対してターケンス・プロットを行い、アトラクタ空間に軌道を表示させた後、軌道を消去し、残されたアトラクタ空間に対してマウスによって描画を行う。この描画された軌道を同じターケンス・プロットの条件を用いてターケンス・プロットの逆の変換を行うことで曲データを再生成させる。これによりアトラクタの特徴を継承した曲としての音高データを発生することができる。【選択図】図５
2010266700.tif 000002
【特許請求の範囲】
【請求項１】
楽音の音高および当該楽音を発音及び消音すべきタイミングを表す時間データとからなる曲データを記億する記億手段と、
この記億手段に記億された曲データを時間軸及び音高軸を有する２次元相空間上に展開するとともに、当該展開された曲データに対して、供給されるプロットスケール値ｔ及びリサンプリング時間Δｔから成るプロット条件に基づいてターケンスの埋め込み定理によるｎ（ｎ＞２）次元相空間への埋め込みを実行することにより、アトラクタを生成するターケンス・プロット処理手段と、
このターケンス・プロット処理手段に対して異なるプロット条件を順次供給することにより、各プロット条件に基づいたアトラクタを生成させるように前記ターケンス・プロット処理手段を制御する制御手段と、
前記ターケンス・プロット処理手段により生成された複数種アトラクタの中から所定の条件を満足するアトラクタを選択するとともに、当該アトラクタを生成するために前記ターケンス・プロット処理手段に供給されたプロット条件を抽出するプロット条件抽出手段と、
前記ｎ次元相空間上の任意の位置を連続して指定することにより生成される軌道を描画し、当該描画された軌道の前記ｎ次元相空間上の座標を新たなアトラクタデータとして生成するアトラクタデータ生成手段と、
前記アトラクタデータ生成手段により生成された新たなアトラクタデータに対して、前記プロット条件抽出手段により抽出されたプロット条件を用いて前記ターケンス・プロット処理の逆変換処理を行うことにより、発音すべき楽音の音高および発音消音すべきタイミングを表す時間データとからなる新たな曲データを生成する曲データ生成処理手段と、
を具備する作曲装置。
【請求項２】
前記プロット条件抽出手段は、
基本アトラクタデータを記憶した基本アトラクタデータ記憶手段と、
前記ターケンス・プロット処理手段により生成された複数種のアトラクタデータ夫々を座標として前記ｎ次元相空間上に表わされた軌道と、前記基本アトラクタデータ記憶手段に記憶された基本アトラクタデータを座標として前記ｎ次元相空間上に表わされた軌道との相関値を抽出する相関値抽出手段と、
この相関値抽出手段により抽出された相関値が最大となるプロット条件を抽出する抽出手段と、
からなる請求項１記載の作曲装置。
【請求項３】
前記曲データ生成処理手段は、前記アトラクタデータ生成手段により生成された新たなアトラクタデータを構成する前記ｎ次元相空間上の軌道の座標位置を最後から順次読み出し、当該読み出された最後の座標位置を表わすｎ個の軸上の位置夫々を、前記２次元相空間の時間軸上にプロットスケール値ｔの間隔をおいて指定されたｎ個のサンプリング位置夫々の音高値とし、その後座標位置が読み出される毎に前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトし、当該シフトされたｎ個のサンプリング位置夫々の音高値として、前記読み出された座標位置を表わすｎ個の軸上の各位置を割り当てる動作を繰り返す請求項１記載の作曲装置。
【請求項４】
前記作曲装置はさらに、前記曲データのコード進行を抽出するコード進行抽出手段と、
前記ターケンス・プロット処理の逆変換処理により得られた曲データの音高を、前記コード進行抽出手段より得られたコード進行に適合するように修正する修正手段と、
を備えた請求項１記載の作曲装置。
【請求項５】
楽音の音高および当該楽音を発音及び消音すべきタイミングを表す時間データとからなる曲データを記億する記億手段を有するコンピュータに、
前記記億手段に記億された曲データを時間軸及び音高軸を有する２次元相空間上に展開するとともに、当該展開された曲データに対して、供給されるプロットスケール値ｔ及びリサンプリング時間Δｔから成るプロット条件に基づいてターケンスの埋め込み定理によるｎ（ｎ＞２）次元相空間への埋め込みを実行することにより、アトラクタを生成するターケンス・プロット処理ステップと、
このターケンス・プロット処理に対して異なるプロット条件を順次供給することにより、各プロット条件に基づいたアトラクタを生成させるように前記ターケンス・プロット処理手段を制御する制御ステップと、
前記生成された複数種アトラクタの中から所定の条件を満足するアトラクタを選択するとともに、当該アトラクタを生成するために前記ターケンス・プロット処理手段に供給されたプロット条件を抽出するプロット条件抽出ステップと、
前記ｎ次元相空間上の任意の位置を連続して指定することにより生成される軌道を描画し、当該描画された軌道の前記ｎ次元相空間上の座標を新たなアトラクタデータとして生成するアトラクタデータ生成ステップと、
前記生成された新たなアトラクタデータに対して、前記抽出されたプロット条件を用いて前記ターケンス・プロット処理の逆変換処理を行うことにより、発音すべき楽音の音高および発音消音すべきタイミングを表す時間データとからなる新たな曲データを生成する曲データ生成処理ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作曲装置および作曲処理プログラムに関する。
【背景技術】
【０００２】
従来から、音楽家が曲を作成する場合、つまり作曲する場合にまず考えねばならないことは、頭の中に思い描いている曲のイメージを、どのようにしてリスナーに強く印象づけるか、ということである。  
この作曲というものは、音楽家が自由な発想から音符を書き出すような自由な手法もあれば、まず曲のイメージを決めておき、この決められたイメージをどのように強く印象付けるかを考えて作る手法もある。
【０００３】
最初から作曲すべき曲のイメージが決まっている場合、その曲のイメージを表わす特徴の一つである「音高変化の特徴」を何らかの形で抽出し、この「音高変化の特徴」に基づいた音符の羅列を曲として作成すれば良い。
しかしながら、その曲のイメージを表わし、かつそれが最も強くリスナーに印象付けられるような「音高変化の特徴」を抽出すること自体、一般的な手法として確立されたものであるわけでなく、ほとんど作曲者の経験と感性に頼っているのが現状であった。
したがって、よほど熟練した作曲家でもなければこの作業を行うことは容易でなく、曲ひとつを作曲するには、たとえ熟練した作曲家でも膨大な労力と時間を必要としていた。
【０００４】
このような労力を軽減することができれば、たとえ熟練度の低い一般のユーザでも作曲することが可能となる。
このため、従来から、作曲作業を簡単に行わせるためのさまざまな方法が提案されていた。
【０００５】
例えば、特許文献１では、入力された演奏データからコード進行を抽出し、そのコード構成音を用いて作曲を行う構成が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２５８８４６公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示の手法では、熟練した作曲家が実際に脳の中で行っていると思われる「音高変化の特徴」を抽出するという作業が作曲を行なう段階で全く考慮されていないため、リスナーに対して強い印象を与えられる曲が提供できる可能性は極めて薄い。
このため、リスナーに対してより強い印象を与える曲を提供しようとするならば、人間の脳が外部から得られた情報を処理するのか、そのメカニズムを知る必要がある。
【０００８】
まず人間の脳は、外部からうけた刺激を情報として取り込み、これが何であるかを認識（特徴を抽出）して記憶している。この認識は入力された情報単独で行うのではなく、過去にうけた刺激により記憶された情報を参照にして認識していると考えられる。
たとえば、映画で見たあるシーンが過去の自分の経験と重なっていると、大きな感動（強い印象）を憶えることである。これは脳が映画のシーンを認識する際、過去に記憶された経験の記憶を参照にして認識し、同じ特徴を有する経験があればそれが強い刺激として認識されるため感動が大きくなっていると考えられる。また、過去にどこかで聞いた曲を再び聞いた場合、それについて親しみを感じるということも同様である。
【０００９】
もちろんこの脳の認識メカニズムにおいては、このように遠い過去の記憶まで参照して認識するだけでなく、ごく最近の記億も多大な影響を与えているものと考えられる。従ってたとえば、比較的短い時間間隔で次々と楽音が発生する楽曲を聴いた場合などは、その曲の中にある楽音の音高を認識する際、その直前の、あるいはさらに前の楽音の音高を参照して認識し、それによってこの曲のイメージのひとつである「音高変化の特徴」を抽出しているものと考えられる。
このように、人間の脳は外部より受け入れた情報（音、映像）を認識するに当たって、過去の記録を参照する処理が行なわれ、この結果が印象の度合いとなって表われる。
これが、外部より受け入れた情報が同一であっても、夫々が過去の経験・記億が異なる個人によって受ける印象に差が出てくる理由である。
【００１０】
しかしながら、その一方で、過去に似たような経験・記億がある場合でも、外部より受け入れた情報に対して大きく異なった印象を受ける場合があり、必ずしも過去の経験・記億だけで、うける印象の度合いが決まるわけでない。
これは脳に記億された多数の過去の記億のうち、どのタイミングでどの記億を引き出して参照するかが大きく反映していることを意味し、これは各個人の脳の特性に依存すると考えられる。従って、外部からの情報を認識しようとする場合に、比較的遠い過去の記億までを参照する人もいれば、ごく最近の記億だけを参照する人もいる。さらに現在から過去の記億までをくまなく参照する人もあれば、ごく一部のみを拾い出す人もある。この結果、仮にこれらの人たちが同じ経験・記億があったとしても、その情報から受ける印象の度合いは異なるものになる、と言える。
【００１１】
このように人間の脳は、外部からの情報を認識する場合に、過去の経験・記億を参照することにより行なわれるが、その参照の条件は脳の特性によって異なることがわかる。
これを言い換えれば、この過去の経験・記億を参照する条件を、ある人の脳の特性に合わせて設定できれば、その人がある曲を聴いたときの印象の度合いを推定できることができるということである。例えば、この参照条件をある作曲家の脳と同じように設定できれば、その作曲家がある曲を聴いた場合の印象の度合い、つまり曲のイメージを推定することが可能となり、逆に曲のイメージというものを何らかの形で表現できれば、このイメージを受けることができる曲を推定することも可能と考えられる。
以上のことから、作曲装置として、上述のような人間の脳で行われる情報の処理と類似した処理を実行させることができれば、より強い印象を与える曲を作ることができるといえる。
【００１２】
この人間の脳の処理メカニズムを擬似的に行なう手法として、近年になってターケンス・プロットとよばれる手法が近年注目を浴びている。これは、外部より順次入力される情報を、当該情報と、過去に入力記億されている情報のうち予め設定されたプロット条件でプロットされた情報とを座標とする多次元空間上に描かれた軌道（アトラクタ）として表現する手法である。この場合において、「プロット条件」とはプロットスケール（どの程度記億を遡るか）及びリサンプリング間隔（どの程度細かく記億を取り出すか）である。
従って、このターケンス・プロット手法において、外部から受け入れる情報が、音高の並びからなる曲情報とすると、多次元空間上に描かれた軌道（アトラクタ）は、人間の脳であれば、その曲により受ける印象の度合いに相当するものであり、それは「音高変化の特徴」つまり曲のイメージを表現しているものといえる。
そして、アトラクタを生成させる場合に用いたプロット条件は、脳で行われている「現時点の情報をどの程度遡った条件で認識すべきか」「どの程度細かく認識すべきか」という曲の印象付けに関係する具体的な作業を表している。このため、このプロット条件を利用すれば、脳で行われている認識条件に沿った曲データを作れることになり。作られた曲データは印象付けがなされやすい曲データとして生成されることになる。
すなわち、曲の印象付けをあらかじめ狙った作曲を行うことが可能となってくる。
【００１３】
そこで本発明では、ユーザが所定のターケンス・プロット処理の手法を用いることにより、より印象の強い曲データを作成することができるようにすることを目的としている。
【課題を解決するための手段】
【００１４】
本発明はこのような課題を解決するために、請求項１に係る発明においては、
楽音の音高および当該楽音を発音及び消音すべきタイミングを表す時間データとからなる曲データを記億する記億手段と、
この記億手段に記億された曲データを時間軸及び音高軸を有する２次元相空間上に展開するとともに、当該展開された曲データに対して、供給されるプロットスケール値ｔ及びリサンプリング時間Δｔから成るプロット条件に基づいてターケンスの埋め込み定理によるｎ（ｎ＞２）次元相空間への埋め込みを実行することにより、アトラクタを生成するターケンス・プロット処理手段と、
このターケンス・プロット処理手段に対して異なるプロット条件を順次供給することにより、各プロット条件に基づいたアトラクタを生成させるように前記ターケンス・プロット処理手段を制御する制御手段と、
前記ターケンス・プロット処理手段により生成された複数種アトラクタの中から所定の条件を満足するアトラクタを選択するとともに、当該アトラクタを生成するために前記ターケンス・プロット処理手段に供給されたプロット条件を抽出するプロット条件抽出手段と、
前記ｎ次元相空間上の任意の位置を連続して指定することにより生成される軌道を描画し、当該描画された軌道の前記ｎ次元相空間上の座標を新たなアトラクタデータとして生成するアトラクタデータ生成手段と、
前記アトラクタデータ生成手段により生成された新たなアトラクタデータに対して、前記プロット条件抽出手段により抽出されたプロット条件を用いて前記ターケンス・プロット処理の逆変換処理を行うことにより、発音すべき楽音の音高および発音消音すべきタイミングを表す時間データとからなる新たな曲データを生成する曲データ生成処理手段と、
を具備することを特徴とする。
【００１５】
請求項２に係る発明においては、
前記プロット条件抽出手段は、
基本アトラクタデータを記憶した基本アトラクタデータ記憶手段と、
前記ターケンス・プロット処理手段により生成された複数種のアトラクタデータ夫々を座標として前記ｎ次元相空間上に表わされた軌道と、前記基本アトラクタデータ記憶手段に記憶された基本アトラクタデータを座標として前記ｎ次元相空間上に表わされた軌道との相関値を抽出する相関値抽出手段と、
この相関値抽出手段により抽出された相関値が最大となるプロット条件を抽出する抽出手段とからなることを特徴とする。
【００１６】
請求項３に係る発明においては、
前記曲データ生成処理手段は、前記アトラクタデータ生成手段により生成された新たなアトラクタデータを構成する前記ｎ次元相空間上の軌道の座標位置を最後から順次読み出し、当該読み出された最後の座標位置を表わすｎ個の軸上の位置夫々を、前記２次元相空間の時間軸上にプロットスケール値ｔの間隔をおいて指定されたｎ個のサンプリング位置夫々の音高値とし、その後座標位置が読み出される毎に前記ｎ個のサンプリング位置を同時にリサンプリング時間Δｔだけ時間軸上を順次シフトし、当該シフトされたｎ個のサンプリング位置夫々の音高値として、前記読み出された座標位置を表わすｎ個の軸上の各位置を割り当てる動作を繰り返すことを特徴とする。
【００１７】
請求項４に係る発明においては、
前記作曲装置はさらに、前記曲データのコード進行を抽出するコード進行抽出手段と、
前記ターケンス・プロット処理の逆変換処理により得られた曲データの音高を、前記コード進行抽出手段より得られたコード進行に適合するように修正する修正手段と、
を備えたことを特徴とする。
【００１８】
請求項５に係る発明においては、
楽音の音高および当該楽音を発音及び消音すべきタイミングを表す時間データとからなる曲データを記億する記億手段を有するコンピュータに、
前記記億手段に記億された曲データを時間軸及び音高軸を有する２次元相空間上に展開するとともに、当該展開された曲データに対して、供給されるプロットスケール値ｔ及びリサンプリング時間Δｔから成るプロット条件に基づいてターケンスの埋め込み定理によるｎ（ｎ＞２）次元相空間への埋め込みを実行することにより、アトラクタを生成するターケンス・プロット処理ステップと、
このターケンス・プロット処理に対して異なるプロット条件を順次供給することにより、各プロット条件に基づいたアトラクタを生成させるように前記ターケンス・プロット処理手段を制御する制御ステップと、
前記生成された複数種アトラクタの中から所定の条件を満足するアトラクタを選択するとともに、当該アトラクタを生成するために前記ターケンス・プロット処理手段に供給されたプロット条件を抽出するプロット条件抽出ステップと、
前記ｎ次元相空間上の任意の位置を連続して指定することにより生成される軌道を描画し、当該描画された軌道の前記ｎ次元相空間上の座標を新たなアトラクタデータとして生成するアトラクタデータ生成ステップと、
前記生成された新たなアトラクタデータに対して、前記抽出されたプロット条件を用いて前記ターケンス・プロット処理の逆変換処理を行うことにより、発音すべき楽音の音高および発音消音すべきタイミングを表す時間データとからなる新たな曲データを生成する曲データ生成処理ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、曲の音高データの特徴をアトラクタの特徴として抽出できるアトラクタ空間を作成し、その空間に任意の位置を連続して指定することにより生成される軌道を新たなアトラクタとして描画し、その軌道からなるアトラクタデータに基づいてターケンス・プロットと逆の変換を行うことにより新たな発音すべき楽音の音高および発音消音すべきタイミングを表す時間データとからなる曲データを作成することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明による実施形態の構成を示すブロック図である。
【図２】（ａ）は原曲データエリアの構成を示す図である。              （ｂ）は再生成曲データエリアの構成を示す図である。
【図３】アトラクタデータエリアの構成を示す図である。
【図４】メインルーチンの動作を示すフローチャートである。
【図５】音高発生処理の動作を示すフローチャートである。
【図６】ターケンス・プロット表示処理の動作を示すフローチャートである。
【図７】図６に図示するステップＳＣ２のターケンス・プロット処理の動作を説明するための図である。
【図８】ターケンス・プロット処理を示すフローチャートである。
【図９】相関抽出処理を示すフローチャートである。
【図１０】描画されたアトラクタ軌道の一例を示す図である。
【図１１】アトラクタ描画処理の動作を示すフローチャートである
【図１２】クイック音高発生処理を示すフローを示す。
【図１３】アトラクタ軌道におけるデータ変更点の指定を示す図である
【図１４】ステップＳＤ２のマウス操作量検出を説明するための図である。
【図１５】変更されたアトラクタ軌道の一例を示す図である。
【図１６】音高再生成処理を示すフローチャートである。
【図１７】音高再生成処理の動作を示す図である。
【図１８】（ａ）は原曲データを表す楽譜（ａ）と、（ｂ）はそれに対応する音高を時間軸上に並べた状態を示す図である。
【図１９】図５に示す音高発生処理の応用例である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態について説明する。
Ａ．構成  
図１は、本発明の実施の一形態による作曲装置１００の構成を示すブロック図である。この図に示す作曲装置１００は、入力部１０、操作部２０、表示部３０、鍵盤４０、ＣＰＵ５０、ＲＯＭ６０、ＲＡＭ７０およびサウンドシステム８０から構成される。入力部１０は、ネットワークを介した楽器やシーケンサーのような音高データを出力する機器に接続されるミディやＵＳＢなどの入力端子、Ａ／Ｄ変換器を備え、ＣＰＵ５０の制御の下に、外部から入力される曲をサンプリングしてなる原曲データを出力する。ここで原曲データはミディ音源に使用される音高データのようなものである。入力部１０から出力される原曲データはＲＡＭ７０の原曲データエリアに格納される。
操作部２０は、操作パネルに配設される各種スイッチを備え、ユーザのスイッチ操作に対応したスイッチイベントを発生する。操作部２０から出力されるスイッチイベントは後述するＣＰＵ５０に取り込まれる。操作部２０に配設される主要なスイッチとしては、装置電源をオンオフする電源スイッチの他、動作モードを選択するモードスイッチや発生楽音の音色を選択する音色選択スイッチ、原曲データ、後述する再生成曲データ、ターケンス・プロット用いるプロット条件などを含む相空間条件を選択するスイッチ、などがある。また、操作部２０は、ポインティングデバイスとして、周知のクリック操作およびドラッグ操作が行われるマウスを備える。
【００２２】
表示部３０は、ＬＣＤパネルおよび駆動ドライバから構成され、後述するＣＰＵ５０から供給される表示制御信号に応じて、装置各部の設定状態や動作状態を表示する他、後述するアトラクタデータの軌道を表示する。鍵盤４０は、押離鍵操作に応じたキーオン／キーオフイベントおよびノート番号、ベロシティ等からなる演奏情報を発生する。
【００２３】
ＣＰＵ５０は、操作部２０から供給されるスイッチイベントに応じて装置各部を制御する。具体的には、操作部２０に配設されるモードスイッチの操作により選択される動作モードに従った処理動作を実行する。設定モードに遷移したＣＰＵ５０は、ユーザ操作に応じて入力される設定パラメータに従って各動作モード下における装置各部の動作態様を指定する。入力モードに遷移したＣＰＵ５０は、入力部１０に原曲データサンプリングの開始を指示する一方、この指示に応じて入力部１０から取り込まれた原曲データをＲＡＭ７０の原曲データエリアに保存する。
【００２４】
また、音高発生モードに遷移したＣＰＵ５０は、発音すべき楽音の音高および発音消音すべきタイミングを表す時間データとからなる新たな曲データを発生させる音高発生処理（後述する）を実行し、ＲＡＭ７０の原曲データエリア（図２（ａ））に格納した原曲データからアトラクタデータとアトラクタ空間を抽出し、プロットスケールｔおよびサンプリング時間Δｔと何ポイントのデータをとるかのターケンス次元数、その他の座標情報をプロット条件識別用の原曲番号とともにＲＡＭ７０の再生データエリア（図２（ｂ））に保存する。この後、アトラクタを抽出した条件と座標空間を残して、このアトラクタの軌道を消去し、その空間に新たなアトラクタデータをユーザに描画させ、このアトラクタデータに対応する各座標に対応した新たなアトラクタデータを描画生成させる。また、ここで生成されたアトラクタデータは図３に示すアトラクタデータエリアに書き込まれる。さらに、この新たに生成されたアトラクタデータを用いてアトラクタを抽出したプロット条件と同じ条件でターケンス・スプロットの逆の変換を行い、２次元の曲データとしての音高データに戻す。さらに、演奏モードに遷移したＣＰＵ５０は、鍵盤４０から供給される演奏情報に応じた楽音データを発生する演奏処理を実行する。
【００２５】
ＲＯＭ６０には、各種制御プログラムが記憶される。ここで言う各種プログラムとは、後述するメインルーチンおよび音高発生処理を含む。音高発生処理は、後述するターケンス・プロット表示処理、アトラクタ描画処理、および音高再生成処理を含む。またすでに発見され、自然界と深く関わっていることが判明しつつある、リミットサイクルやストレンジ、トーラス、ローレンツなどの有名な幾何学模様的な特徴を有するアトラクタデータを格納する基本アトラクタデータエリアには、基本アトラクタデータが複数格納されている。
さらに、予め得られた実験データなどから得られた、別の原曲データとしての音高データを創るために有効とわかっているプロット条件を含むアトラクタ空間のデータも（図２（ｂ））と同じようなフォーマットで格納されている。
【００２６】
ＲＡＭ７０は、各種レジスタ・フラグデータを一時記憶するワークエリアと、入力部１０から出力される原曲データを格納する原曲データエリア（図２（ａ））と、ターケンス・プロット表示処理（後述する）により原曲データをターケンス・プロットして得られるアトラクタデータや描画によって生成された新たなアトラクタデータを格納するアトラクタデータエリア（図３）と、描画された新たなアトラクタデータに基づき再生成される再生成曲データを格納する再生成曲データエリア（図２（ｂ））とを備える。
【００２７】
図２（ａ）は、ＲＡＭ７０における原曲データエリア内の原曲データを示す図であり、各音高値Ｗ（ｎ）（ｎ＝０〜Ｎ）が記憶されるようになっている。図２（ｂ）は、ＲＡＭ７０における再生成曲データエリア内の生成された音高を格納する再生成曲データ部と再生したときの条件を格納する再生成条件データ部から構成されている。
再生成曲データエリア部は原曲データエリアと似た構造であり、各音高値ＮＷ（ｎ）（ｎ＝０〜Ｎ）が記憶されるようになっている。
原曲データエリアと再生成曲データエリアは複数準備され、ユーザがスイッチ（図示せず）操作で必要とする曲としての音高データを適宜選択が可能である。たとえばユーザは自分の好みとする「音高変化の印象」をもった原曲データを選択することができる。また、原曲データを選択しなくても、再生成曲データエリアからあらかじめプリセットされているプロット条件を有する識別番号である原曲番号を直接選択し、このプロット条件により作ったアトラクタ空間に対していきなり描画することもできる。この場合は後述のターケンス・プロット表示処理が必要なく、すばやく新たな曲としての音高データを創りだすことが可能である。
図３は、ＲＡＭ７０のアトラクタデータエリアにおけるアトラクタデータ（後述）の内容を示す図であり、ｎ＝０〜Ｎまでの表示部３０の画面上の座標が書き込まれる。各座標は、ｘ成分、ｙ成分、ｚ成分から成る。
【００２８】
また図１におけるサウンドシステム８０は、演奏モード下のＣＰＵ５０が発生する楽音データをＤ／Ａ変換してなる楽音信号から不要ノイズを除去する等のフィルタリングを施した後に増幅してスピーカから放音する。
【００２９】
Ｂ．動作  
次に、上記構成による作曲装置１００の動作について説明する。以下では、図４を参照して作曲装置１００のＣＰＵ５０が実行する「メインルーチン」の動作を説明した後、図５〜図１９を参照してメインルーチンからコールされる「音高発生処理」の動作を説明する。
【００３０】
（１）メインルーチンの動作
図４は、ＣＰＵ５０が実行するメインルーチンの動作を示すフローチャートである。装置電源が投入されると、ＣＰＵ５０は図４に図示するメインルーチンのステップＳＡ１に処理を進め、ＲＡＭ７０に設けられる各データエリアを初期化するイニシャライズを実行する。続いて、ステップＳＡ２では、ユーザのモードスイッチ操作に応じて動作モードを設定する。そして、ステップＳＡ３〜ＳＡ６では、上記ステップＳＡ２において設定された動作モード（設定モード、入力モード、音高発生モード、クイック音高発生モードおよび演奏モード）を判別する。以下、設定モード、入力モード、音高発生モードおよび演奏モードに設定された場合の動作について述べる。
【００３１】
＜設定モードに設定された場合＞
設定モードに設定されると、ステップＳＡ３の判断結果が「ＹＥＳ」になり、ステップＳＡ７に進み、設定処理を実行する。設定処理では、ユーザ操作に応じて入力される設定パラメータに従って各動作モード下における装置各部の動作態様を指定する。例えば、後述する入力モードにおける原曲データとしての音高データサンプリング期間長やサンプリング周波数を設定したり、演奏モードにおける曲データ選択や効果付与するエフェクトの種類などを設定する。
【００３２】
そして、ステップＳＡ８では、設定モード終了を指示する操作イベントの有無を判断する。終了指示する操作イベントが無ければ、判断結果は「ＮＯ」となり、ステップＳＡ７の設定処理を継続するが、終了指示する操作イベントが発生すると、判断結果が「ＹＥＳ」になり、上述したステップＳＡ２の動作モード設定状態に復帰する。
【００３３】
＜入力モードに設定された場合＞
入力モードに設定されると、ステップＳＡ４の判断結果が「ＹＥＳ」になり、ステップＳＡ９に進み、音高入力処理を実行する。音高入力処理では、本処理に必要なイニシャライズ処理を行った後、入力部１０に曲データサンプリングの開始を指示し、この指示に応じて入力部１０から取り込まれる原曲データを、上述した設定モードにおいて設定される音高入力態様に従って取り込み、取り込んだ原曲データの各音高値Ｗ（ｎ）（ｎ＝０〜Ｎ）をＲＡＭ７０の原曲データエリアに順次ストアする。尚、この源音高の取り込み先は、本実施例では入力部としているが、ＲＯＭ内や他の記憶媒体から取り込みが可能な場合は、その部分の曲データをユーザが任意に指定してサンプリングを行うことも可能である。
【００３４】
そして、ステップＳＡ１０では、入力モード終了を指示する操作イベントの有無を判断する。終了指示する操作イベントが無ければ、判断結果は「ＮＯ」となり、ステップＳＡ９の音高入力処理を継続するが、終了指示する操作イベントが発生すると、判断結果が「ＹＥＳ」になり、上述したステップＳＡ２の動作モード設定状態に復帰する。
【００３５】
＜クイック音高発生モードに設定された場合＞
クイック音高発生モードに設定されると、ステップＳＡ１５の判断結果が「ＹＥＳ」になり、ステップＳＡ１６に進み、図２（ｂ）に示される再生成曲データエリアの原曲番号の選択処理を行う。すなわち、後述するターケンス・プロットをせずに、予め記憶されているプロット条件によるアトラクタ空間を使用して曲を発生させるための条件の選択を行っている。その後にステップＳＡ１７の音高発生処理を実行する。音高発生処理では、後述するように、読み出されたプロット条件のアトラクタ空間に対してアトラクタの描画を行い、このデータを用いて、再生成曲データを再生成してＲＡＭ７０の再生成曲データエリアに保存する。
図１２はクイック音高発生処理を示すフローを示す。
＜音高発生モードに設定された場合＞
音高発生モードに設定されると、ステップＳＡ５の判断結果が「ＹＥＳ」になり、ステップＳＡ１１に進み、音高発生処理を実行する。音高発生処理では、後述するように、ＲＡＭ７０の原曲データエリアに格納した原曲データから抽出されたプロット条件によるアトラクタ空間の特長を備えた再生成曲データを再生成してＲＡＭ７０の再生成曲データエリアに保存する。
【００３６】
そして、ステップＳＡ１２では、音高発生モード終了を指示する操作イベントの有無を判断する。終了指示する操作イベントが無ければ、判断結果は「ＮＯ」となり、ステップＳＡ１１の音高入力処理を継続するが、終了指示する操作イベントが発生すると、判断結果が「ＹＥＳ」になり、上述したステップＳＡ２の動作モード設定状態に復帰する。
【００３７】
＜演奏モードに設定された場合＞
演奏モードに設定されると、ステップＳＡ６の判断結果が「ＹＥＳ」になり、ステップＳＡ１３に進み、演奏処理を実行する。演奏処理では、音高発生モードで作られた再生成曲データとしての新たな音高データに応じた演奏処理を実行する。すなわち、ＲＡＭ７０の再生成曲データエリアに格納されたプロット条件によるアトラクタ空間の特長を備えた再生成曲データの内から音高データを読み出し、発音（再生）させる。
【００３８】
そして、ステップＳＡ１４では、演奏モード終了を指示する操作イベントの有無を判断する。終了指示する操作イベントが無ければ、判断結果は「ＮＯ」となり、ステップＳＡ１３の演奏処理を継続するが、終了指示する操作イベントが発生すると、判断結果が「ＹＥＳ」になり、上述したステップＳＡ２の動作モード設定状態に復帰する。
【００３９】
（２）音高発生処理の動作
次に、図５〜図１９を参照して曲と発生させるための音高発生処理の動作を説明する。図５は、ＣＰＵ５０が実行する音高発生処理の動作を示すフローチャートである。上述したメインルーチンのステップＳＡ１１（図４参照）を介して実行される音高発生処理は、ターケンス・プロット表示処理（ステップＳＢ１）、アトラクタ描画処理（ステップＳＢ２）、音高再生成処理（ステップＳＢ３）から構成される。以下、これら各処理の動作を説明する。
【００４０】
ａ．ターケンス・プロット表示処理の動作
音高発生処理のステップＳＢ１（図５参照）を介して本処理が実行されると、ＣＰＵ５０は図６に図示するターケンス・プロット表示処理のステップＳＣ１に処理を進め、初期設定を行う。初期設定では、本処理に必要なイニシャライズ処理の他、後述のステップＳＣ２において実行するターケンス・プロット処理に必要なプロット条件（音高データ区間長Ｓｔｉｍｅ、プロットスケール幅ｔおよびリサンプリング周期Δｔ）をユーザ操作に応じて設定する。
【００４１】
ステップＳＣ２では、上記ステップＳＣ１において初期設定されたプロット条件（音高データ区間長Ｓｔｉｍｅ、プロットスケール幅ｔおよびリサンプリング周期Δｔ）に基づき、ＲＡＭ７０の原曲データエリアに格納される原曲データにターケンス・プロット処理を施す。ターケンス・プロット処理は、原曲データからアトラクタを生成するものであり、その動作について図７を参照して説明する。  
【００４２】
図７は、ターケンス・プロット処理の概要を説明するための図である。ターケンス・プロットでは、ＲＡＭ７０の原曲データエリアに格納される原曲データをリサンプリングするプロットスケールが用いられる。図７に図示する一例は、２次元の原曲データから３次元のアトラクタを生成する場合のプロットスケールを例示している。プロットスケールは、プロットスケール幅ｔを隔てた３点（ｘ成分、ｙ成分およびｚ成分）における原曲データの音高値Ｔ（ｘ、ｙ、ｚ）を指定する。
【００４３】
原曲データの音高値Ｔ（ｘ、ｙ、ｚ）を指定するプロットスケールは、リサンプリング周期Δｔ毎に時系列順に移動する。リサンプリング周期Δｔは、原曲データのサンプリング周期以上の時間幅を有する。リサンプリング周期Δｔ毎に、時系列順に移動するプロットスケールによって、音高値Ｔ１（ｘ、ｙ、ｚ）〜音高値Ｔｎ（ｘ、ｙ、ｚ）が得られる。音高値Ｔ１（ｘ、ｙ、ｚ）〜音高値Ｔｎ（ｘ、ｙ、ｚ）の数は、上記ステップＳＣ１で設定される音高データ区間長Ｓｔｉｍｅで決まる。
【００４４】
図８はターケンス・プロット処理を示すフローチャートである。まず、変数ｎを０にリセットし（ステップＳＦ１）、次にステップＳＦ２において、プロットを行うためにプロットスケール幅ｔを隔てた３点が原音高の時間軸上での位置関係を設定する。すなわち最初の点であるｔ０が０と決まると、ｔの幅だけ時間を隔てた点ｔ１、そしてさらにｔの幅だけ時間を隔てたｔ２が設定されるようになっている。
【００４５】
次に、ＣＰＵ５０は、ＲＡＭ７０のアトラクタデータエリア内のｘ0に、時間ｔ0における位置での音高値Ｗ（ｔ0）を格納する（ステップＳＦ３）。そしてｙ0には、時間ｔ１における音高値Ｗ（ｔ１）を格納する（ステップＳＦ４）。さらにｚ0には時間ｔ２における音高値Ｗ（ｔ２）を格納する（ステップＳＦ５）。この処理によって、表示部３０の画面上に表示されるアトラクタの最初の３次元座標Ｔ１（図７参照）が決定する。その後、ｎをインクリメントし（ステップＳＦ６）、時間軸上の各プロットスケール位置ｔ0、ｔ１、ｔ２をΔｔだけシフトさせる（ステップＳＦ７）。
【００４６】
続いて、時間ｔ２がＳｔｉｍｅを越えたか否か判断し（ステップＳＦ８）し、超えていなければステップＳＦ３の処理に戻って再びｘ成分、ｙ成分、ｚ成分の値を順次読み出し、ＲＡＭ７０内のアトラクタデータエリアへの書き込みを行う。この動作は、時間ｔ２がＳtimeを越えるまで繰り返す。これにより、音高値Ｔ１（ｘ、ｙ、ｚ）〜音高値Ｔｎ（ｘ、ｙ、ｚ）が全て格納され、ターケンス・プロット処理の動作を終了する。
【００４７】
次に、図６に図示するステップＳＣ３では、得られた音高値Ｔ１（ｘ、ｙ、ｚ）〜音高値Ｔｎ（ｘ、ｙ、ｚ）についてのアトラクタが、最もその特徴を表現できるように、相関抽出処理が行われる。図９は相関抽出処理のフローチャートである。ここでは、すでに発見されて有名となっているアトラクタの特徴である「リミットサイクル、ストレンジ、トーラス」などの基本的な複数種のアトラクタ（以後基本アトラクタと称する）が予めＲＯＭ６０の基本アトラクタデータエリアに記録されており（図示せず）、この基本アトラクタと前述のターケンス・プロット処理により得られたアトラクタとの３次元相空間内での相関関係を調べて、もっとも高い相関性が得られる最適プロット条件を検出するための処理を行う。
【００４８】
まず最初に、記録されている複数の基本アトラクタの中からひとつの基本アトラクタデータをＲＯＭ６０から呼び出す（ステップＳＨ１）。次に、図８のターケンス・プロット処理により得られたアトラクタデータを呼び出す（ステップＳＨ２）。そしてこれら呼び出された二つのアトラクタの形状の比較を行う（ステップＳＨ３）。
【００４９】
この図形の比較は、指紋認証を行うように二つの図形の位置やスケール、角度などを調整して多面的に比較することが好ましいが、特にこれに限定されるものでなく、別の３次元相空間における図形の比較の方式を用いてもよい。
【００５０】
次に、この二つの図形の比較によってその相関性を定量的に示すべく相関値を決定する（ステップＳＨ４）。例えばこの方法は、画像処理で行われるピクセルマッチングなどの方法がある。そして算出された相関値をＲＡＭのワークエリアの相関値レジスタの値と比較し、大きい場合は算出された相関値と対応するプロット条件をストアする（ステップＳＨ５）。続いて、記憶されている基本アトラクタを全部参照し終えたか否か判断し（ステップＳＨ６）、参照し終えていないなら、別の基本アトラクタを順次指定してステップＳＨ２〜ＳＨ６の処理を繰り返す。
【００５１】
全ての基本アトラクタとの参照が終われば、ステップＳＨ８へと処理を進める。すなわち、相関値レジスタは、この時点でもっとも基本アトラクタのどれかに最も高い相関性をもった相関値とその時に使用されたプロット条件が記録される。そして、ステップＳＨ８では次のターケンス・プロットを行う準備を行うべく、ＲＡＭ７０内のアトラクタデータエリア内のデータＴ１〜Ｔｎのデータを消去する。
【００５２】
ここで、ＲＯＭ６０に記録されている基本アトラクタデータを記憶する基本アトラクタデータエリアであるが、図３に示すアトラクタデータエリアと同じ構造をとっている。この基本アトラクタデータエリアには、アトラクタの中でも有名な形状のアトラクタデータが記憶されている。例えばストレンジアトラクタを示す場合ではカオス状態である可能性が高いことがわかっており、このカオス状態は人間を含む自然界に含まれる状態として非常に有名である。このアトラクタの形状は現在も新しいものが発見されつつあり、これらが人間の感覚や自然界のゆらぎについて深く関係していることがわかってきている。このアトラクタは新たなものが発見されれば随時基本アトラクタとして記録してもよい。
【００５３】
さらに、事前にアトラクタの特徴と音高変化の印象との実際の関係がわかっているのであれば、ＲＯＭ６０に予め別途ターケンス・プロットを実行して、必要なプロット条件として記録しておくことができる。これによりプロット条件が効率的に表示させることが可能となる。そして、自ら自分が発見したプロット条件が格別の効果があると判明した場合は、そのプロット条件を次々と収集し増やしていくことも考えられる。
【００５４】
次に、図６において、ステップＳＣ４では、全てのプロット条件の処理を実行したか否かを判断する。まだ全てのプロット条件についてターケンス・プロットと相関抽出処理を行っていない場合は、判断結果が「ＮＯ」になり、ステップＳＣ５に進み、プロット条件更新を実行した後、再び上記ステップＳＣ２〜ＳＣ３を繰り返す。
【００５５】
プロット条件更新は音高データ区間長Ｓｔｉｍｅの範囲において、複数のプロットスケール幅ｔと複数のリサンプリング周期Δｔによって作り出される組み合わせが新しいプロット条件となるように更新するものである。この処理によって、多数のプロット条件を用いターケンス・プロットを自動で効率よく行えるようになる。
【００５６】
尚、このプロット条件の組み合わせは、ｔおよびΔｔがどれくらいのステップ量の細かさで組み合わせを作るのかによって増減するが、そのステップ量はＣＰＵの処理能力によってユーザが自由に設定できるようにしてよい。また最初から実験値によって得られた適当な値を設定しておくことも可能である。
また、今回はターケンスの埋め込み定理を用いてアトラクタを表示させているが、このような単純なプロットスケールでなく、もっと脳の認知に即したプロットスケールを任意に作り出して使用してもかまわない。たとえば、ｔは２箇所同じように使用しているが、同じ長さよりも異なっていたほうが、アトラクタを得易いというケースも存在する。すなわち、音楽は人間が聞くために作られているため、人間の脳にわかりやすいようにプロット方法を改善していくとが考えられる。その場合は、新たなに創られたターケンスプロットやターケンスプロットに類似する方法を用いてその逆変換によって再生成曲データを得るという技術思想は、本願の核心部分とまったく同じである。
【００５７】
さらに本実施形態においては、音高データ区間長Ｓtimeについては固定しているが、これを可変とすることにより、プロット条件を増やしてもよい。また、プロットスケールｔの各成分毎の間隔（ｘ成分からｙまでのｔとｙからｚまでのｔ）を別々に変更することによりプロット条件を増加させて比較処理の回数を増やし、相関値算出精度をアップすることも可能である。
【００５８】
本実施形態においては、ターケンス・プロット処理におけるプロット条件を自動的に種々変更して最適なプロット条件とアトラクタ抽出ができるようになっている。このため、操作する人の手間がかからず、簡単に最適なアトラクタの表示が可能となる。もちろん、本実施形態の如く自動的に最適なアトラクタを抽出するのではなく、ユーザが任意の値を設定しながら、最適と思われるアトラクタを抽出するようにしてもよい。
【００５９】
さらに本実施形態では、基本アトラクタと原曲データのアトラクタの比較による相関値をみてアトラクタの特徴を抽出しているが、この方法の限りではない。またカオス性を見出すために、現在様々な方法が提案されているが、リアプノフ指数を計算する機能を別途追加して最大リアプノフ指数が正となれば、カオスの傾向を表すために音高の色を変更したり、フーリエ変換型サロゲート法を実行する機能を追加して、今扱っている音高がカオスであることを別に設けられた表示部などに表示させるようにしてもよい。これにより、その音高の持つ特徴をさらに詳しくユーザに示すことができ、さらに効率的な使い勝手のよい作曲装置の提供が可能となる。
【００６０】
再び図６に戻り、全てのプロット条件でターケンス・プロットとその相関抽出が終わると、ステップＳＣ４の判断結果が「ＹＥＳ」となる。そして、ステップＳＣ６に進み、図９のステップＳＨ５においてレジスタに記憶されたプロット条件を、最大相関値が得られる最適プロット条件であると決定し、プロット条件の識別番号である原曲番号、ターケンス・プロットに要した次元数、プロットスケールｔ、サンプリング時間Δｔ、その他の座標情報を再生成曲データエリアに記憶する。その他の座標情報とはたとえば座標軸のスケールや、色や、目盛りの値などである。プロット条件識別番号として用いられる原曲番号は再生成曲データエリアに複数記憶させることができ、ユーザは任意にこれを呼び出すことでこの相空間を再利用することが可能である。
【００６１】
次に、ステップＳＣ７において、この決定された最適プロット条件で再び原音高に対してターケンス・プロット処理を実行してアトラクタを求める。そしてこの求められたアトラクタを表示部に表示するとともに、次のステップＳＣ８において新たなアトラクタデータエリアに保存する。
【００６２】
この結果、最適なプロット条件で求められたアトラクタの各座標値である音高値Ｔ１（ｘ、ｙ、ｚ）〜音高値Ｔｎ（ｘ、ｙ、ｚ）が表示部３０上の３次元相空間にプロットされ、これにより最も基本アトラクタと相関性のあるプロット条件でのアトラクタが表示されることになる。ここにおいて、表示部３０にプロット条件と、相関値が高かった基本音高データの名称などの情報も同時に表示するようにして、このアトラクタがどのような傾向であるのかをユーザに知らせるようにしてもよい。こうすることにより、より使い勝手がよくなり、ユーザは計画性のある編集を行うことが可能になる。
【００６３】
図１０は、アトラクタの一例を表示した図であり、ＣＰＵ５０はｘ、ｙ、ｚ方向それぞれの座標軸をアタトラクタ全体がおさまるようにスケール処理することによってアトラクタ空間を作成する。そのアトラクタ空間に原曲データのアトラクタが軌道のように表示部３０に表示される。このアトラクタを表示する際、軌道をはっきりと見せるために、プロットされた点と次の点とをスプライン処理などを行って薄い色の線としてわかりやすく表示するようにしてもよい。
【００６４】
ｂ．アトラクタ描画処理の動作
次に、図１１〜図１５を参照してアトラクタ描画処理の動作を説明する。上述したターケンス・プロット表示処理により２次元の原曲データから３次元のアトラクタが生成され、図１０に図示する一例のように、原曲データのアトラクタを描画し終えると、ＣＰＵ５０は図１１に図示するアトラクタ描画処理のステップＳＤｃに処理を進めアトラクタデータエリアをクリアしアトラクタ空間に表示されるアトラクタ軌道を消去する。
その後ステップＳＤ１では、図１３に図示するように、アトラクタ空間内にマウスカーソルをポインティングした状態でマウスの左ボタンをクリックすると、データがアトラクタ空間内に生成される。
このアトラクタ空間に描画される点の連なりである軌道は、ある点を生成させた瞬間に、ｘ、ｙ、ｚの座標に投影されるデータを生成することを意味するが、これらのデータはすべて前述のプロットスケールに従った時間におけるデータを修正したことになる。これはアトラクタの点を変更したと同時に、その点だけでなく、プロットスケールｔおよび２ｔだけ遡ったデータも関連させて変更する必要性を意味する。このため、本発明ではこれらの過去に遡った関連するデータをアトラクタを描画したとき、プロットスケールとの整合性が保たれるように、同時に関係するデータの補正処理を行う。この補正処理を行うと、アトラクタを描画しながら、既に描画した過去のデータも自動変更されることになるため、これまで書いた軌道が自動的に変化する。
【００６５】
次いで、ステップＳＤ２では、上記ステップＳＤ１で指定された点を起点としてアトラクタの軌道を変更させるマウス操作量（ｘ軸成分変位量、ｙ軸成分変位量およびｚ軸成分変位量）を検出する。すなわち、図１４に図示するように、マウスの左ボタンをクリック操作して複数のデータ変更点を指定した状態から当該マウスを前後にドラッグ操作した場合には、そのドラッグ操作された移動量がマウスカーソルのｙ軸成分変位量として検出される。また、マウスを左右にドラッグ操作した場合には、そのドラッグ操作された移動量がマウスカーソルのｘ軸成分変位量として検出される。さらに、マウスのホイール回動操作量がマウスカーソルのｚ軸成分変位量として検出される。このようにマウスをドラッグすることによって何もないアトラクタ空間内にデータを軌道のように生成させることができる。このデータは起点からΔｔだけの時間ピッチごとに作成され、Stimeの長さになるまで描画が続けられるようになっている。
【００６６】
続いて、ステップＳＤ３では、アトラクタ生成描画処理を実行する。アトラクタ生成描画処理では、上記ステップＳＤ１で指定されたデータ開始点を、上記ステップＳＤ２において検出したマウス操作量（ｘ軸成分変位量、ｙ軸成分変位量およびｚ軸成分変位量）に応じて３次元直交座標上で移動させると共に、この移動された区間に対して描画アトラクタデータを（図１３参照）サンプリング時間ｔ毎に次々と生成させる。このサンプリング時間ｔで示す描画上の見た目の間隔は、消去されたアトラクタと同じ間隔を用いて生成すればよい。また、生成されたデータに関係する過去のアトラクタデータを修正するためにこれに対応するアトラクタデータエリアのデータを修正し、既に描画されている空間内のデータの位置も修正する。そしてこの生成されたアトラクタデータはその軌道がわかるように公知の画像処理を行って滑らかに接続する。
このように、アトラクタデータが生成されると同時に、生成させた複数のデータの座標位置に対して、その都度、ターケンスプロット条件に対して整合性が取れるように補正を行い、ＲＡＭ７０の描画アトラクタデータエリアに（音高値Ｔ１（ｘ、ｙ、ｚ）〜音高値Ｔｎ（ｘ、ｙ、ｚ））が（図１３参照）保存されるとともに、見た目を良好にするため、例えばスプライン関数などによる内挿補間演算を施して複数の点をつなぎ、滑らかな軌道を表示させる。
【００６７】
さらにステップＳＤ３３では、データが最後の点として指定されたか、すなわちドラッグを終えて、データの生成を終えたかどうかを検知し、その後ステップＳＤ４へと移行する。まだ最後の点として指定されていない場合はステップＳＤ２に戻り描画作業を継続する。
【００６８】
ここでアトラクタ補正処理についての必要性について詳しく説明する。前述のターケンス・プロットによって作成されたアトラクタデータの軌道はすべてプロットスケールによってその関係が規定され影響し合っている。たとえば二次元音高データをターケンス・プロットする場合には、今までｚ成分として扱っていた数値が再び異なる時間ではｙとして扱われるようになり、ｙとして扱っていたデータが再びｘとして扱われるようになる。このプロットスケールによる関係が最初のデータから最後のデータにまで関係しているということになる。すなわち曲データである２次元音高データからターケンス・プロットで作成されたアトラクタ空間内でデータを生成すれば、この２次元音高データとの関連性をたもちながらアトラクタのデータを補正しておかないと、最終的に２次元の音高データに戻すときに変更したデータと原曲データとの間に不整合が生じる。たとえばこの空間にひとつのデータを生成したとするとこのデータからそれぞれ異なる時間のｘ、ｙ、ｚ成分が生成されることになる。その時に、z成分は現在時間のデータ値とできるが、ｘとｙ成分はプロットスケール分遡ったデータを生成したことになる。（この意味は過去のデータを書き換えてまったということになる）しかし、この点を生成する前にもこの点はすでに別の値で生成されていることになる。このとき、ターケンス・プロットのルールに従わせる必要がある。すなわち、今決まった描画アトラクタの最後の点に関係するｘ、ｙ成分を遡って現時点のデータに順次修正していく必要が発生する。この作業はプロットスケールをどのように作成するかによって修正すべきデータ量の大きさが変わる。関係する点が最初の点におよぶような場合はそこまで遡って修正を行う必要がある。また、ユーザの必要に応じて、このデータの修正をせずに、後述する音高発成処理で２次元音高の元のデータを発生するときに最後に書かれるデータを最優先して上書きするなどの方法をとってもよい。ただしこの場合は、２次元音高とアトラクタとの関連性は低下するため、脳に与える印象は低下することになる。これらはユーザにどの程度まで関連性を確保させるのかを設定できるようにしてもよい。
【００６９】
以上のように、図１０に図示したアトラクタ軌道は、いったん消された後、ユーザによって図１５に図示するように、新たなアトラクタ軌道として表示部３０の中のアトラクタ空間に描画される。そして、ステップＳＤ４では、生成されたアトラクタ軌道を表す描画アトラクタデータ、すなわち３次元直交座標上の値をＲＡＭ７０の描画アトラクタデータエリアに保存して本処理を終える。
【００７０】
ｃ．音高再生成処理の動作
次に、図１６を参照して音高再生成処理の動作を説明する。この音高再生成処理は、今まで行ってきたターケンス・プロットとは逆の処理を行わせて、３次元相空間に描画された描画アトラクタから２次元の曲としての音高データを作り出すものである。
【００７１】
まず上述したアトラクタ描画処理により描画アトラクタデータを生成し終えると、ＣＰＵ５０は図５に図示するステップＳＢ３を介して音高再生成処理を実行する。音高再生成処理が実行されると、ＣＰＵ５０は図１６のステップＳＩ１に処理を進め、変数ｎに対して前回ターケンス・プロットした最後の値であるＮを格納する。
尚、本発明では、図１１のアトラクタ描画処理でのステップＳＤｃで消去したアトラクタデータと同じ時間の長さだけ描画を許可しているから最後の値をこれと同じのＮを用いている。
場合によっては描画を消去したアトラクタよりも長く書かせる場合も考えられるがこの場合は描画アトラクタの最後の値をＮとして用いてもかまわない。
【００７２】
さらに、ステップＳＩ２では再生される音高の終端の時間軸上の位置をｔ２とし、ここから時間軸上をプロットスケール幅ｔだけ遡った時間ｔ1とし、さらにｔだけ時間軸上を遡った時間ｔ０と決定する。すなわちここでは時間軸上を逆方向にプロットスケールを動かすための準備作業を行っている。
【００７３】
そして、ステップＳＩ３では、描画アトラクタデータのｎ番目の座標であるｚｎ、ｙｎ、ｘｎを読み出す。この読み出されたｚｎ、ｙｎ、ｘｎ夫々を、２次元音高の時間軸上の位置ｔ２、ｔ1、ｔ０での音高値ＮＷ（ｔ２）、ＮＷ（ｔ1）、ＮＷ（ｔ０）として、ＲＡＭ７０に確保した再生成曲データエリアに書き込んでいく（ステップＳＩ４〜ステップＳＩ６）。この再生音高エリアは図２に示した原曲データエリアと基本的に同じような構造をしている。次にステップＳＩ７ではｎをデクリメントしてｔ２、ｔ1、ｔ０をΔｔだけ時間を遡るように移動させる。続くステップＳＩ８ではｎが０より小さいかどうか判断し、小さくないならステップＳＩ３までもどり、ステップＳＩ３〜ＳＩ７までの処理を繰り返し行う。そしてｎが０より小さくなると、ステップＳＩ８の判断はＹＥＳとなりこの音高再生処理を終了する。この音高生成処理によって、変更アトラクタデータは２次元の再生成曲データに変換されて再生成曲データエリア内に記憶される。
【００７４】
図１７は、この処理によって進められる音高の２次元への並び替え処理を図示したものである。プロットスケールはこのようにΔｔだけ順次時間を遡りながら２次元音高を完成させる。
【００７５】
このように、音高再生成処理では、上述のアトラクタ描画処理にて変形されたアトラクタについて、前述したステップＳＣ２のターケンス・プロット処理（図６参照）とは逆の処理操作を施して３次元の描画アトラクタデータから２次元の再生成曲データを生成する。これにより、音として聞くことが可能な曲としての音高データを生成することができる。
【００７６】
次に、実施形態の変形例について説明する。上述した実施形態では、説明の簡略化を図る為、原曲データが単音から構成されるものとしたが、実際には和音を含むこともある。そこで、変形例では、和音を含む原曲データをターケンス・プロットする手法について述べる。図１８は、原曲データを表す楽譜（図１８（ａ））と、それに対応する音高を時間軸上に並べた状態（図１８（ｂ））とを示す図である。
【００７７】
この図に示す通り、４つの単音「Ｃ３」、「Ｅ３」、「Ｇ３」および「Ｂ３」の次の第５音目が構成音「Ｃ３、Ｅ３、Ｇ３、Ｂ３」からなる和音である場合、この和音を時間軸上の音高データで表現すると、全ての構成音が同時に発音するわけではなく、実際には各音高データは発音タイミング差Δｔのようにずれている場合が頻繁に存在する。この発音タイミング差Δｔが所定時間（例えば３２分音符長）より大きい場合には、例えば図１７（ｂ）に図示する通り、構成音中の発音の早い順から順番にプロットするようにすればよい。こうすることで元曲のメロディパート中の和音もターケンス・プロットすることが可能になる。なお、和音の発音タイミング差Δｔが０であった場合は、低い音の順番（もしくは高い順）からターケンス・プロットすればよい。
さらに音高再生成処理でのアトラクタからの２次元相空間への処理についても上記プロットの逆の処理をすれば和音の生成が可能となる。
【００７８】
また、図１９図は図５に示す音高発生処理の応用例である。ＳＢ１〜ＳＢ３は本実施例の図５に示しているＳＢ１〜ＳＢ３と同じ処理であるが、この応用例では、原曲データのコード進行を再生成曲データ作成後に反映させ、一定の類似度は残した作曲を行いたいときに用いるものである。このため応用例での音高発生処理では新たにコード進行抽出処理ＳＪ１とコード進行適合処理ＳＪ２を追加して行っている。コード進行抽出処理には様々な方法があるが、例えば原曲データの小節などで区切り、その区間内の音名を自動集計し、調性を判断し、頻度の高い音名を構成音として用いられているコードをその区間の該当するコードとして抽出するものが公知技術として一般的である。
【００７９】
そして、原曲データにおける最初から最後まで全てのコード抽出を行い、得られたコード進行情報は前記ＲＡＭ７０に一時的に記憶される。このコード進行情報は、ＳＢ３の音高再生成処理が終わった後に、生成された再生成曲データを原曲データのコード進行感が維持されるように修正されるため、再び使用される。すなわち前記音高再生成処理で生成された再生成曲データの中に、前記コード進行抽出処理で得られたコード進行のコード内で一般的に用いられるスケール構成音に対して異なる音が発見された場合は、スケール構成音にもっとも音高差が近い音に強制的に変更を行う。
【００８０】
たとえば、音高生成処理後の再生成曲データの中にＣメジャーのコードになるべきタイミングがあったとする。ここでＣメジャーのスケールは「Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ａ、Ｂ」である。しかし再生成曲データの中に「Ｅ♭」の音が再生成曲データ中に生成されてしまっていた場合は、この音はＣのスケール音ではない。すなわちこの音はこのスケールには含まれてないのでこの音が発音されるとＣｍの感覚が出てきて、原曲データのコード進行感は失われる方向となる。このため強制的にもっとも近いＣメジャースケールのスケール構成音であるＥにデータを修正する。この処理を行うことで、原曲データである音高データのコード進行感を阻害せずある程度維持した編曲が可能となる。このように応用例を使用すれば編曲後の曲の類似性を高めたい場合は作業効率がアップし、使い勝手が向上する。
【００８１】
尚、本発明の応用例ではＣのコードが来たときにＣのスケール構成音「Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ａ、Ｂ」としたが、これをＣのコード構成音「Ｃ、Ｅ、Ｇ」とすれば、コードの構成音のみに合わせこまれるため、コード区間ごとに原曲データのコード進行と対応させて、再生成曲データと同じコード進行になるように音高を修正すれば、より一層のコード進行感の類似した作曲装置が可能となり、作曲の幅を広げることが可能となる。
【００８２】
以上説明したように、本実施の形態では、外部から入力される原曲データの音高データをサンプリングして得た原曲データにターケンス・プロット処理を実行し、当該原曲データのアトラクタを表示し、この表示されたアトラクタの空間に新たな軌道をユーザ操作に応じて生成して描画アトラクタを作成し、さらにターケンス・プロットの逆の処理を行うことで再生成曲データを生成している。したがって、原曲データのアトラクタの特徴を継承し、かつまったく新しい各種音色の曲としての音高データを発生することが可能となる。
【００８３】
なお、上述した実施形態では、外部から入力される原曲データとして用いているが、ロジスティック関数などから得られる離散的な数列から得た音高を発生させて用いる態様としても構わない。
さらに本実施の形態ではアトラクタ空間を作成するために、わざわざ原曲データの音高データからターケンス・プロットを行うことで得ているが、あらかじめ、有用と思われるプロット条件を原曲番号とは異なる識別番号を付番することで、複数のプロット条件によるアトラクタ空間を作曲環境としてユーザが任意に選択でき、描画、再生成できるようにしても構わない。
【００８４】
さらに、本実施の形態では、２次元の原曲データから３次元のアトラクタを作成する一例について言及したが、本発明の要旨はこれに限定されず、２次元の原曲データから４次元以上のアトラクタを生成する態様であっても勿論適用可能である。
【符号の説明】
【００８５】
１０  入力部
２０  操作部
３０  表示部
４０  鍵盤
５０  ＣＰＵ
６０  ＲＯＭ
７０  ＲＡＭ
８０  サウンドシステム
【図１】
2010266700.tif 000003
【図２】
2010266700.tif 000004
【図３】
2010266700.tif 000005
【図４】
2010266700.tif 000006
【図５】
2010266700.tif 000007
【図６】
2010266700.tif 000008
【図７】
2010266700.tif 000009
【図８】
2010266700.tif 000010
【図９】
2010266700.tif 000011
【図１０】
2010266700.tif 000012
【図１１】
2010266700.tif 000013
【図１２】
2010266700.tif 000014
【図１３】
2010266700.tif 000015
【図１４】
2010266700.tif 000016
【図１５】
2010266700.tif 000017
【図１６】
2010266700.tif 000018
【図１７】
2010266700.tif 000019
【図１８】
2010266700.tif 000020
【図１９】
2010266700.tif 000021