(57)【要約】      （修正有）【課題】音符粒子法による自動採譜と２変数自動微分法により回路現象の音から音楽を生成する。【解決手段】節点と枝からなるグラフ構造の回路上の２つの節点間に接続される２変数素子の特性を電圧から電流に変換する２変数の関数として表現し、関数に関する計算グラフを利用して関数の関数値、およびまたは、偏導関数の値を２変数自動微分法で求め、その値を要素として含むヤコビ行列を構成し、数値積分法を使って回路の節点方程式の解を求める回路解析部と、回路解析部によって生成される２つの回路変数から生成されるアトラクタ上の座標点の集合に対応する周波数域集合を間引きおよびまたは内挿することでアトラクタから相似アトラクタを形成する静的周波数シフト部と、相似アトラクタ上の座標点に対応する代表の周波数をＭＩＤＩ集合のピッチ周波数に近づけるようにする動的ピッチシフト部と、を有し、アトラクタ構造の音の波を生成する。【選択図】図２
2017219595.tif 000002
【特許請求の範囲】
【請求項１】
節点と枝からなるグラフ構造の回路であって、前記回路上の２つの節点間に接続される２変数素子の素子特性を電圧から電流に変換する２変数の関数としてネットリスト上に表現し、前記関数に関する計算グラフＧを利用して前記関数の関数値、およびまたは、偏導関数の値を２変数自動微分法にて求め、前記偏導関数の値を要素として含むヤコビ行列を構成し、数値積分法を使って前記回路の節点方程式の解を求める回路解析部と、
前記回路解析部によって生成される２つの回路変数から生成されるアトラクタ上の座標点の集合を間引きおよびまたは内挿することで前記アトラクタから相似アトラクタを形成する静的周波数シフト部と、
前記数値積分法の固定刻み幅ごとに得られた前記相似アトラクタ上の座標点の集合を音楽の標準レートに対応するサンプリング周波数によって得られた座標点の集合とみなす単純サンプリング写像を実行し、前記相似アトラクタ上の前記座標点の時間域集合に対応する周波数集合に関して、その集合から得られる代表の周波数を要求された完全ＭＩＤＩ集合または不完全ＭＩＤＩ集合のピッチ周波数に近づけるようにシフトする動的ピッチシフト部と、
を有し、     
前記アトラクタ構造の音から音楽の波を生成することを特徴とする音楽生成方法。
【請求項２】
前記動的ピッチシフト部は、所定数の主オクターブ領域において、前記相似アトラクタ上の座標点集合｛（ｘ（ｔ）、ｙ（ｔ））｝の時系列に対応する短時間周波数変換に基づいて得られる周波数集合を要求されるＭＩＤＩ集合のピッチ周波数集合に合わせる陰的ピッチシフト部と、
前記主オクターブ領域以外のオクターブ領域において、前記回路の２変数素子を包含する前記ネットリストを含む入力ファイル内にシフト周波数を陽的に含む関数を表現し、前記関数内の前記シフト周波数を、要求された前記ＭＩＤＩ集合の各ＭＩＤＩ番号に対応するピッチ周波数に直接合わせるようにピッチシフトする陽的ピッチシフト部と、
から成ることを特徴とする請求項１記載の音楽生成方法。
【請求項３】
前記代表の周波数は振幅最大周波数であることを特徴とする請求項１記載の音楽生成方法。
【請求項４】
前記静的周波数シフト部は、前記相似アトラクタ上の前記座標点集合と同じ集合を複写する複写処理を有することを特徴とする請求項１記載の音楽生成方法。
【請求項５】
前記陰的ピッチシフト部は、前記周波数集合をシフトした後、周波数の帯域を選択、およびまたは、大きさを調整するフィルタ処理を含むことを特徴とする請求項１および２の音楽生成法。
【請求項６】
前記ＭＩＤＩ集合は、各列がＭＩＤＩ記号、音符長、長さからなる音符を複数個含む複数チャネルからなる行を行方向に音符数個含む表セルから成る行列であることを特徴とする請求項１記載の音楽生成法。
【請求項７】
自動採譜のための音符粒子法であって、
音の波から隣接するフレームの音量増加量の増加差分情報を時間周波数変換し、その周波数成分からＢＰＭ空間における振幅最大周波数を検索しその逆数をすべての音符粒子に共通な音符粒子長として抽出するテンポ解析処理と、
音楽の音の波の時系列集合をガボール変換によって時間周波数変換し、変換で得られた複数チャネルの周波数集合から音符粒子集合の各音符粒子のピッチ周波数と大きさを抽出するガボール変換処理と、
要求されたチャネル数に分類する音符粒子集合のクラスタリング処理と、
前記テンポ解析処理、前記ガボール変換処理、前記クラスタリング処理に基づいて、前記音符粒子長単位ごとの複数チャネルの音符粒子集合の各行を行、各チャネルが、少なくとも、ＭＩＤＩ記号と前記音符粒子長の要素を含む前記複数チャネルを列とする基本音符行列を生成し、前記行列の行方向に隣接する時系列行間の同音程音符粒子の音符長を結合して、音符の長さを変更することにより、前記音符粒子集合から音符集合に変換する音符長変換処理と、を含む方法によって、
音楽の波に対応する非完全ＭＩＤＩ集合を求め、
前記非完全ＭＩＤＩ集合を前記動的ピッチシフト部に使用されるＭＩＤＩ集合とすることを特徴とする請求項１記載の音楽生成法。
【請求項８】
５線楽譜に対応する圧縮型エクセル楽譜の展開法であって、計算機が、
列方向に、メロディ領域、和音領域、そして、繰り返し制御領域に区分する機能部と、
前記和音領域にある各和音記号に対応する４つの音符列に展開する和音展開処理部と、
前記繰り返し制御領域に存在する各繰り返し記号を分岐行記号と分岐先行記号の対に分類し、前記メロディ領域と前記和音領域に存在する音符集合において、展開処理のポインタが前記分岐行記号に対応する分岐行の位置にあるとき、前記ポインタが前記分岐先行記号に対応する分岐先行の位置に遷移したとき、前記ポインタの遷移に従って、遷移後に、読み出される部分音符集合を、前記分岐行の現在位置までに生成された累積部分音符集合に、追加するアペンド展開処理部と、
前記展開処理時において、複数チャネルの小区間で音符長の累積長が等価、そして、前記小区間にある行数と音符数が等価となるように、音符長０のダミー音符を前記小区間にある行に挿入するダミー音符の挿入処理部とを有し、
前記小区間同期の条件を満足しながら前記圧縮型エクセル楽譜を展開型エクセル楽譜に展開することを特徴とする行列楽譜処理部と、
前記展開型エクセル楽譜として表現される完全ＭＩＤＩ集合を前記動的ピッチシフト部に使用されるＭＩＤＩ集合とすることを特徴とする請求項１記載の音楽生成法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音符粒子法に基づく自動採譜と自動微分に基づく音源セルネットワークの生成に関し、特に、アトラクタ構造の音から音楽をつくる音楽生成法に関する。
【背景技術】
【０００２】
音楽は、演奏され、そして、音楽の音の波として流される。自然界の波は、物理現象として生成され、現象の音の波として流される。現象の音の波を楽譜という音符の時系列集合に変換する技術は、工学である。表現のための工学である。特に、混合された多重音の理解と音符生成には、統計確率、時空間の構造、時間周波数の構造、同期、機械学習、調波、最適化、回路、ニューロ、ビッグデータ、スパースモデリング、通信、認識、歌唱言語の韻律、音素、知覚、発声など、いわば、非線形情報処理の解析を必要とする。楽譜は、時系列の音符集合の表現である。音符集合の各音符は、音程（ピッチ、周波数）、長さ、そして、大きさを有する要素である。音符の音程の周波数は一つであって、ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）番号に対応するが、楽器が奏でる音楽の音の波は、非線形で、ひとつの正弦波の基本周波数成分に加えて、可聴できる程の大きさの高調波成分をスペクトル構造として多く含む。いわば、音楽の音は、正弦波の混合波である。混ぜることは簡単であるが、混ぜた波から元の正弦波、すなわち、音符の音程、長さ、そして大きさを再現することはむつかしい。音源分離、混合音理解の難しさである。チャネル数が多くなればなるほどむつかしい。音楽の音の波から音符に対応する音程、長さ、大きさを検出する、いわば、多重周波数推定、楽譜自動生成（自動採譜）のむつかしさ、そして、現象の音を音楽の音にする技術とその自動採譜技術とを結合する融合化技術にもむつかしさがある。音楽というビッグデータのパターン情報をＭＩＤＩという単純な記号パターン情報に変換し、逆に、そのＭＩＤＩから元のビッグデータの音楽をつくるのは工学の挑戦である。自動採譜技術のひとつとして、本発明の基本技術となる音符粒子法を請求している特許文献１がある。音符粒子法は、音の波から、テンポ解析に基づいて、すべて等価な音符粒子長を検出し、その時間周波数変換により、各音符粒子の音程（ＭＩＤＩ番号）と大きさを求めて基本音符行列（エクセル（Ｍｉｃｒｏｓｏｆｔ社））をつくる。さらに、この基本音符行列のレベルにて、隣接時系列間にある同音程の音符粒子を結合することにより音符集合を求める。同期記述による自動採譜法である。基本音符行列は、行方向の時系列の各列方向に、音程（ＭＩＤＩ番号）、同じ長さの音符粒子長、音符の大きさからなる同期音符をチャネルの数だけ含む行列で、音のＭＩＤＩ情報を表現している。音符粒子長が固定されているのでチャネル間ですべて同期記述されている。特許文献１の自動採譜技術では、短時間周波数変換として、ウエーブレット変換のひとつであるガボール変換を使用すること、そして、音符粒子法によって得られたＭＩＤＩ集合を波の音にする技術は詳細には開示されていない。従来、ＭＩＤＩ集合を音楽集合に変換するＭＩＤＩｔｏＷａｖ変換技術は多く存在する。例えば、ＭＩＤＩのＮｏｔｅ＿Ｏｎ信号に対応する所望のＰＣＭ波形を記憶し再生するＰＣＭ音源方式、発振現象に基づき周波数変調波形を生成するＦＭ変調方式などがある。ＦＭ変調方式は、キャリア正弦波的な音の音色を変調波にて自由に変化させることが可能であるが、キャリア正弦波的な音に限定される。
【０００３】
一方、微分方程式の解曲線を求めることで現象を解析する数値積分技術が存在し、数学的な立場から開発されたＭａｔｌａｂ（Ｍａｔｈｗｏｒｋｓ社）や回路的な立場から開発されたＳＰＩＣＥ（非特許文献１）などが有効に利用されてきた。Ｍａｔｌａｂは、数学的な微分方程式を数式記述し、種々の数値積分法を使用して解を求めることができるが、節点と枝からなる回路で表現される微分方程式を素子の結合系として記述し音をつくる技術は含まれていない。また、ＳＰＩＣＥは、抵抗Ｒ、インダクタＬ、コンデンサCの受動素子とトランジスタなどの能動素子のネットリストを記述し、そのネットリストに対応する回路的な微分方程式を数値積分して回路の解析（非特許文献２参照）を行うことができるが、回路現象の音から音楽をつくる技術は含まれていない。音楽の音をユーザ自身が生成するためには、解が周期的になる方程式や微分方程式を入力ファイルとして記述する必要がある。Ｍａｔｌａｂのように直接、微分方程式を記述する数学的方式であれ、ＳＰＩＣＥのように素子の結合として間接的に微分方程式を記述する回路的方式であれ、そこから、その解析波形を音楽の音の波、すなわち、楽譜に対応する時系列の音符集合の波に変換する技術を必要とする。この変換技術は、ユーザが入力する音源生成の方程式を数学的かつ回路的に表現する方法を必要とする。また、その方程式に包含される周波数集合をＭＩＤＩ集合の時系列に従ってシフトするピッチシフト技術を必要とする。さらに、数学的に提案されている自動微分法（非特許文献３、４参照）を導入して入力ファイルの音源の数式を表現し計算グラフＧから数値積分式に必要な関数値やヤコビ行列の要素を自動的に計算する技術を必要とする。自動微分法は加減乗除などの算術演算と基本的な演算を表現する計算グラフＧによる処理で数式の関数値やヤコビ行列の要素値を自動的に求める方法である。
【０００４】
ブラウザ上で音をつくり、ブラウザから直接ＭＩＤＩデバイスと接続することにより、ユーザ自身がＭＩＤＩをつくり、そのＭＩＤＩに対応する音をつくるＷｅｂ  Ａｕｄｉｏ  ａｎｄ  ＭＩＤＩ  ＡＰＩのネット技術も開発されつつある。これと同様な技術を使えば、例えば、離れた場所にいる演奏家たちが仮想オーケストラを結成し、演奏音楽を配信するようなことができる。しかし、音源セルネットワークをネットリストで表現する技術や自動採譜と自動微分を結合する技術は開発されていないる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】行列楽譜処理法  特願  ２０１５−９４５７８
【０００６】
【非特許文献１】L.W. Nagal, "SPICE２; A computer program to simulate semiconductor circuits”, Electronics Research Laboratory, memorandum no. ERL-M20, The University of California, Berkeley, 9 May. 1975.
【非特許文献２】A. Ushida and M.Tanaka, Computer Simulations of Electronics Circuits, Corona Publishing Co., Tokyo Japan 2002.
【非特許文献３】Kubota and Iri, Automatic Differentiation of Algorithms and Applications, Corona Publishing Co., Tokyo Japan.
【非特許文献４】M. Iri and K. Kubota, "Norms, rounding errors, partial derivatives and fast automatic differentiation”, IEICE Trans. vol.E74, no.3, pp.463-471, March.1991.
【非特許文献５】M. Asai and  M.Tanaka, "Relaxation-based algorithm for analysis of large nonlinear networks”, IEICE Trans. vol.J70-A no.1, pp.82-92 Jan. 1987".
【非特許文献６】M.Tanaka and M. Asai,” Relaxation-Based Algorithm by Variable Virtual Capacitors for Analysis of Large Stiff Nonlinear Networks”, IEEE International Symposiumon Circuits and Systems, Philadelphia, Pennsylvania,May 1987.
【発明の概要】
【０００７】
本発明は、音符粒子法に基づく自動採譜によって生成されるＭＩＤＩ集合の時系列集合に従って遷移する音の波から音楽を生成する方法であって、特に、自動微分に基づく音源セルネットワークから生成されるアトラクタ構造の音の波を音楽にすることを目的とする。
【０００８】
音符粒子法は、音の波から隣接するフレームの音量増加量の増加差分情報を時間周波数変換し、その周波数成分からＢＰＭ（Ｂｅａｔｓ  Ｐｅｒ  Ｍｉｎｕｔｅ）空間における振幅最大周波数を検索する。これがテンポ解析であって、その逆数をすべての音符粒子に共通な音符粒子長とする。そして、音符粒子法は、音楽の音の波の時系列集合をガボール変換によって時間周波数変換し、得られた複数チャネルの周波数集合から音符粒子集合のピッチと大きさを抽出する。さらに、音符粒子法は、要求されたチャネル数に分類する音符粒子集合のクラスタリング処理と、前記テンポ解析処理、前記ガボール変換処理とに基づいて、前記音符粒子長単位ごとの複数チャネルの音符粒子集合の各行を行、各チャネルが、少なくとも、ＭＩＤＩ記号と前記音符粒子長の要素を含む前記複数チャネルを列とする基本音符行列を生成する。最後に、音符粒子法は、前記行列の行方向に隣接する時系列行間の同音程音符粒子の音符長を結合して、音符の長さを変更することにより、前記音符粒子集合から音符集合を生成する音符長変換処理を含む。
【０００９】
本発明は、この音符粒子法による自動採譜と２変数自動微分法を適用することによって回路現象の音から音楽をつくる。すなわち、節点と枝からなる回路で表現される微分方程式を２変数素子の結合系として記述し、ユーザ自身が音をつくる。Ｒ、Ｌ、Ｃの受動素子とジャイレータのような能動素子から生成される２端子の２変数素子の結合からなる音源セルをネットリストとして記述し、その音源セルネットワークに対応する回路的な微分方程式を２変数自動微分法で関数値とヤコビ行列を求めて数値積分する。さらに、回路内の２変数の解曲線（リサージュ曲線）に対応するアトラクタ構造を相似変換し、それを静的に周波数シフトして置き、その相似アトラクタ上の２変数の周波数集合を動的にピッチシフトする。このことにより、本発明は、２変数の音の波の周波数集合を自動採譜結果の時系列ＭＩＤＩ集合の時系列変化に従って遷移させることにより、音楽を生成する技術を提供する。
【発明が解決しようとする課題】
【００１０】
五線楽譜の音符を直接ＭＩＤＩ音符に変換し、ＭＩＤＩ音符集合の各ＭＩＤＩ音符に対応する音符に音の波を乗せる音源方式は多く提案されているが、回路変数の離散的な解を刻み幅ｈごとに求める数値積分法を使って得られる任意のアトラクタ上の周期解、概周期解、カオス解を音楽に必要な固定レート、例えば、４４、１００Ｈｚによってサンプリングされる音楽の波に変換するプログラム化技術は提案されていない。本発明が解決しようとする課題は、音符粒子法による自動採譜と２変数自動微分法を適用することによって回路現象の音から音楽をつくることである。すなわち、節点と枝からなる回路で表現される微分方程式を２変数素子の結合系として記述し、ユーザ自身が音をつくる方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明は、節点と枝からなるグラフ構造の回路であって、前記回路上の２つの節点間に接続される２変数素子の素子特性を電圧から電流に変換する２変数の関数としてネットリスト上に表現し、前記関数に関する計算グラフＧを利用して前記関数の関数値、およびまたは、偏導関数の値を２変数自動微分法にて求め、前記偏導関数の値を要素として含むヤコビ行列を構成し、数値積分法を使って前記回路の節点方程式の解を求める回路解析部と、
前記回路解析部によって生成される２つの回路変数から生成されるアトラクタ上の座標点の集合を間引きおよびまたは内挿することで前記アトラクタから相似アトラクタを形成する静的周波数シフト部と、
前記数値積分法の固定刻み幅ごとに得られた前記相似アトラクタ上の座標点の集合を音楽の標準レートに対応するサンプリング周波数によって得られる座標点の集合とみなす単純サンプリング写像を実行し、前記相似アトラクタ上の前記座標点の時間域集合に対応する周波数集合に関して、その集合から得られる代表の周波数を要求された完全ＭＩＤＩ集合または不完全ＭＩＤＩ集合のピッチ周波数に近づけるようにシフトする動的ピッチシフト部と、
を有し、
前記アトラクタ構造の音から音楽の波を生成することを特徴とする音楽生成方法である。
【発明の効果】
【００１２】
本発明は、音源セルを結合してできる回路（ネットワーク）の２変数を数値積分して生成されるアトラクタを間引処理によって相似アトラクタに変換し、その相似アトラクタ上の２変数の周波数集合をＭＩＤＩ時系列の遷移に従って動的にピッチシフトすることにより、多様な音色を有する音楽を生成する。また、数値積分法において必要となる関数値とヤコビ行列は、回路の２変数素子に対応する２変数自動微分法によって生成され、多変数の自動微分値は回路の次元を増やすことによりその２変数自動微分法を使って生成できる。このことにより、回路構造に対応する任意の音源セルネットワークの音色の種類は非常に多種多様となる。また、本発明は、生楽器の再現性を目的としてきたＰＣＭ音源などと違って、数学的、回路的な発振機構に対応する非線形演算に基づいているため、新楽器をつくることができる。すなわち、演奏に合わせて音源セルネットワークの素子や結合パラメータを変えることができる。回路構造の変更により周波数成分が大きく変化し、周期的、概周期的、カオス的な挙動に対応する音の波を音楽としてユーザ自身が生成でき、しかも、その音色を劇的に変化させることが可能となる。例えば、ピアノ曲から多重奏音楽ができる。  Ｗｅｂ  Ａｕｄｉｏ  ａｎｄ  ＭＩＤＩ  ＡＰＩとしても適用できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明を実施するための処理を含む全体のシステムである。
【図２】図２は、本発明の音源セルネットワークに基づく音楽生成法の処理を実行する計算機（ＰＣ）の処理フローを示す図である。
【図３】図３は、本発明を実施するための処理を含む全体のハードウェアシステムである。
【図４】図４は、本発明の音源セルネットワークに基づく音楽生成法に使用するＭＩＤＩ集合の時系列を実行する音楽プログラムの実行画像表示を示す図である。
【図５Ａ】図５Ａは、汎用の５線楽譜に使用されている一部の繰り返し記号の図である。
【図５Ｂ】図５Ｂは、汎用の５線楽譜に使用されている一部の繰り返し記号の図である。
【図５Ｃ】図５Ｃは、汎用の５線楽譜に使用されている一部の繰り返し記号の図である。
【図６】図６は、本発明の音源セルネットワークに基づく音楽生成法の２変数自動微分法を説明するための計算グラフＧである。
【図７】図７は、本発明の音源セルネットワークに基づく音楽生成法の回路解析部に利用されるネットリスト図である。
【図８】図８は、本発明の音源セルネットワークに基づく音楽生成法の回路解析部に利用されるジャイレータによるインダクタの実現を説明する回路構成図である。
【図９】図９は、本発明の音源セルネットワークに基づく音楽生成法の回路解析部に利用される区分線形抵抗ＰＷＬの実現を説明する非線形関数図である。
【図１０Ａ】図１０Ａは、本発明の数値積分法によって解析されたローレンツ・アトラクタ図であるである。
【図１０Ｂ】図１０Ｂは、本発明の数値積分法によって解析された図１０Ａのローレンツ・アトラクタを１：４０の間引き処理によって生成された相似アトラクタ図である。
【図１０Ｃ】図１０Ｃは、本発明の数値積分法によって解析された図１０Ａのローレンツ・アトラクタに対して１：４０の間引き処理を３回実行することによって生成された相似アトラクタ図である。
【図１１Ａ】図１１Ａは、図１０Ａのローレンツ・アトラクタ上にある左音ｌ（ｔ）のＦＦＴによる周波数集合である。
【図１１Ｂ】図１１Ｂは、図１０Ｃのローレンツ・アトラクタ上にある左音ｌ（ｔ）のＦＦＴによる周波数集合である。
【図１２】図１２は、本発明の音源セルネットワークに基づく音楽生成法の周波数シフト処理を実行する計算機（ＰＣ）の処理フローを示す図である。
【図１３】図１３は、本発明の音源セルネットワークに基づく音楽生成法によって得られた図１０Ｃの相似アトラクタに対応する左音ｌ（ｔ）の１音符波形の生成結果を示す時間域の波形図である。
【発明を実施するための最良の形態】
【００１４】
【実施例１】
【００１５】
最初に、ガボール変換に基づく音楽粒子法について説明する。楽器を奏でることによって混合された音楽の音の波は、耳の蝸牛部分にある周波数振動子（有毛細胞）アレイの共鳴現象によって、基本振動波に分解され、脳に伝達され、認識される。脳は、楽譜情報を感覚的に復元している。計算機（マシン）は、音楽の音の波から楽譜情報をどこまで理解し、別な音色で元の音楽をどこまで再現できるだろうか？  音楽の音の波には、正弦波ひとつの基本周波数成分に可聴できる程の大きさを有する高調波成分が混合されている。音源生成の最も簡単な方法は周波数成分を多く持ち、様々な音色に使用される鋸波形、鋸波形よりも周波数成分が少なく丸い音がする三角波、Ｄｕｔｙ比の調整可能なパルス状の矩形波、非周期的なノイズ波形などを数学方程式によってデータ構造化しておき、その関数値を生成することである。すでに確立された方法である。この方法は、自由度が小さく、生成できる種類と音色が制限される。制限されないほどの自由度を上げる方法は多く考えられる。例えば、多くのオシレータの回路構成を回路シミュレーションにて記述し、内包する回路の微分方程式を数値積分することにより複数の波形を生成する。この回路解析法は、ネットリスト設計による自由度が高く、複数な波形を混合するだけでなく、オシレータを複雑組み合わせることにより、様々な音をつくることができる。回路によるＳｏｕｎｄ  Ｄｙｎａｍｉｃａｌ  Ｐｒｏｇｒａｍ（ＳＤＰ）をＰＣ上で実行することになる。複数の線スペクトルを含む周波数集合を生成する回路で音を表現することができる。周期現象、カオス現象や概周期現象などを表現するのがアトラクタである。アトラクタは、微分方程式の解の時間発展によって生成される定常的な集合である。しかし、任意のアトラクタ構造に対応する音色の音の波を音楽として生成することができなかった。大きな問題は、アトラクタ現象を生成する微分方程式を解く数値積分法に使われる刻み幅ｈが固定であれ動的であれ、音楽の生成に使用とされる標準的な固定レート、例えば、４４、１００Ｈｚを考慮して決められていないこと、数値積分によって生成されたアトラクタ現象の周波数集合をそのまま音の周波数集合として音を生成しても、音楽にならないことが多いということである。例えば、音が正弦波に近い単音的になること、逆にカオスアトラクタは雑音になることが多いこと、生成された周波数集合をＭＩＤＩの時系列集合に合わせてシフトすることがむつかしいことなどがある。音源によって生成されたアトラクタ構造の音の波は、楽譜に表現された各音符の音程、音符長、そして大きさの情報を含むＭＩＤＩ情報の時系列に対応して遷移する音符集合、すなわち、音楽に変換される必要がある。
【００１６】
次に、ＭＩＤＩについて説明する。ＭＩＤＩ情報のうち、音程に対応するＭＩＤＩ番号（例えば、６９）、ＭＩＤＩアルファベット（ＭＩＤＩ番号６９に対応するＡ音）あるいはドレミ表記は、総称してＭＩＤＩ記号と呼ぶ。音符は、ＭＩＤＩ記号、音符長、大きさの集合である。ＭＩＤＩ記号は、ピアノ鍵盤番号に対応し、音符の音程（例えば、Ａ音なら周波数は４４０Ｈｚ）に対応する。本発明のチャネルは、行（下）方向に展開する音符の時系列の集合として定義される。音程は、ＭＩＤＩ番号に対応するひとつの周波数であるので、ひとつのチャネルは、ひとつの音程変化に依存した単音に対応し、鍵盤よるピアノ演奏では、１指演奏、すなわち、単鍵チャネルとして定義される。１０指演奏は、１０チャネル演奏、すなわち、複鍵チャネルとして定義される。複数チャネルは、複鍵チャネルを含む。和音は、展開すると最大４つの音符から構成されるので４チャネルの複数チャネルである。また、メロディチャネルは、ピアノでは、単鍵チャネルに対応する独立したひとつのチャネルとして定義される。間欠に演奏されるメロディチャネルも休符の多い独立したひとつの単鍵チャネルとして定義される。本発明では、音楽の音の波は同期記述の複鍵チャネルからなるピアノロールの複数トラックに写像される。どんな音でも、採譜先をピアノ楽譜と仮定すれば、複数チャネルという言葉は複鍵チャネルを含む意味で使われる。ピアノロールの各トラックは、ＭＩＤＩ番号が羅列した単チャネルに対応するが、元の音楽では、複数の楽器音を含む複数チャネルから構成される。逆処理（音から楽譜生成）では、複鍵が時間差のため単鍵化され、単鍵の複数化よる時系列集合となる場合も多いので、チャネルを単鍵チャネルと定義しても、元の音楽では複鍵チャネルを意味する場合も多い。逆処理でのチャネルはピアノロールの各トラックに対応するが、そのチャネルは、原音楽の複数楽器の音符情報を含み、音符粒子法を含む本発明では、楽器の区別処理は含まれない。
【００１７】
本発明において利用されるＭＩＤＩ情報の作成法は、特許文献１の方法に従うものとする。その方法には、５線楽譜から直接作成する完全ＭＩＤＩ集合生成法と音楽の録音の音から音符粒子法と呼ばれる自動採譜技術によってつくる不完全ＭＩＤＩ集合生成法とある。ＭＩＤＩ情報は、例えば、エクセルによる行列楽譜として生成され、その生成時には、行列上の複数チャネルは、チャネル間に渡る列方向に書き込まれ、演奏時には、生成された複数チャネルの行列は、チャネルごとに行方向に読み出される。
【００１８】
図１は、本発明を実施するための処理を含む全体のシステムである。本発明は、特許文献１の行列楽譜処理法２の追加処理１となるので、本実施例において、その行列楽譜処理法２を説明しながら追加処理１を説明することになる。本発明の音源セルネットワークに基づく音楽生成法の処理の流れは図２に示される。図１は、行列楽譜処理法１と本発明を実施するための処理２は、計算機１０（図３）が実行する処理である。行列楽譜処理法２は、ＭＩＤＩ空間における圧縮型と展開型のエクセル楽譜の生成処理である。エクセル（主に、マイクロソフト・エクセルの表計算ソフトを想定）は、セル要素からなる表セル集合である。ここで、空でない有効セルを要素とする表、すなわち、空セルの要素を含まない行と列からなる２次元のセル集合を行列と定義する。有効な空セルを含めたセル集合を行列と定義することもできるが、容易性の範疇である。
【００１９】
順処理（楽譜から音）では、５線楽譜認識部１００によって５線楽譜が認識される。その５線楽譜に対応する圧縮型エクセル楽譜は、生成処理部１０１にて、列方向に、メロディ領域、和音領域、そして、繰り返し制御領域に区分される。圧縮型エクセル楽譜の音符集合は、展開部１０２において、メロディ領域と和音領域に関し、繰り返し制御領域の各繰り返し記号の意味解析に従ったアペンド処理とスキップ処理による展開と和音展開とによって展開される。結果として、繰り返し制御領域は削除され、展開型エクセル生成処理部１０８において、メロディ領域と和音領域は、行列表現、すなわち、展開型エクセル楽譜となる。展開は、ダミー音符Ｄによる同期記述の処理を含む。ここで、ダミー音符Ｄ（ＤはＭＩＤＩ記号で代表されるが、ＭＩＤＩ記号、０の音符長、大きさから成る音符）のセルは、エクセル上では、空セルでない有効セルであって、音符長が０である無長無音を表現する。
【００２０】
逆処理（音から楽譜）の流れとして、音符粒子法に従った処理部１０３、１０４、１０５、１０６がある。展開型エクセル楽譜は、音楽の音の波から自動的に不完全ＭＩＤＩ集合として生成される。展開型エクセル楽譜は、音符時系列の複数チャネルの行列表現となる。この楽譜自動生成では、まず、Ｗａｖファイルとして入力された音楽の音の波の時系列集合は、短時間周波数変換部１０３にて、周波数集合に変換される。Ｗａｖファイルは、ステレオである場合、左音ｌ（ｔ）と右音ｒ（ｔ）に分けてダンプ化され、それぞれが周波数変換ＴによってＦ（ｌ（ｔ））とＦ（ｒ（ｔ））となる。テンポ（ビート）解析部１０４にて、周波数集合から、音符時系列の平均的周期性の仮定により、すべての音符に共通な音符長を求める解析が実行される。また、ＭＩＤＩ番号に対応する音程を含む周波数集合を求める短時間周波数変換ＳＴＦＴの解析が実行される。短時間周波数変換として短時間フーリエ変換ＳＴＦＴは高速であるが、時間と周波数との従属関係が強いという欠点がある。音符粒子法では、その関係に関する自由度がより高い短時間ウェーブレット変換のひとつであるガボール変換が主に利用される。共通な音符長を有する音符粒子集合は、複数チャネルの音符粒子の音符長が等価であるから、チャネル間で同期条件が満される同期記述の集合である。複数チャネルの各音符の音符長が等価、または、各チャネルの行方向の同音程小区間内の累積音符長が等価となるとき、それぞれ、行の同期、あるいは小区間の始点と終点における同期といい、書き込まれた結果を同期記述されたＭＩＤＩ情報集合という。小区間は、５線楽譜の小節に相当する同期区間であるが、小区間内では、一般的には、音符の数がチャネル間で異なる。音符粒子法では、同期記述された同音程小区間は、始点と終点において時間同期する音符部分集合の時間小区域と定義され、同期記述された同音程小区間の最小は、共通な音符長を有する音符粒子のみから成る行である。始点と終点が等価となる音符粒子集合を表現する基本音符行列を生成するためには、音符粒子法では、クラスタリング部１０５にて、ガボール変換によって音符の音程集合を抽出された後、要求されたチャネル数の音符粒子集合に分類する、音符粒子集合のクラスタリング処理（ｋ−ｍｅａｎｓ法等）が実行される。すなわち、音符時系列行と複数チャネル列からなる行列の音符粒子集合１０６を求める。基本音符行列の各行の各チャネルは、ＭＩＤＩ番号、音符粒子長の２列を必須とし、一般的には、さらに、大きさの要素からなる３列で表現される。この段階で、複数チャネルの基本的なエクセル楽譜が生成される。そして、音符長結合部１０７にて、行方向に隣接する時系列行間、すなわち、同音程小区間の同音程音符粒子の音符長を結合することにより、音符の長さを変更する。音符粒子集合から音符集合への変換である。音符集合は、同音程小区間における始点終点において、同期記述の条件を満たす行列として生成され、展開型エクセル楽譜１０８となって、記憶部１１（図３）に保存される。これが複数チャネルの自動楽譜生成、音符粒子法による自動採譜の処理である。計算機１０が自動採譜された展開型エクセル楽譜１０８を５線楽譜に変換するのは容易である。なお、標準ＭＩＤＩシステムに内蔵されているデフォルト音源を利用する場合には、展開型エクセル楽譜を標準のＭＩＤＩ．ｃｓｖ、ＭＩＤＩ．ｍｉｄファイルに変換する処理が必要となる。
【００２１】
流れ１０１と１０２の順処理によって、圧縮型エクセル楽譜、あるいは、それを展開してできる展開型エクセル楽譜は、５線楽譜の音符集合を完全に包含する完全ＭＩＤＩ集合である。流れ１０３、１０４、１０５、１０６、１０７の逆処理（音符粒子法）によって、音楽の音の波から自動生成される展開型エクセル楽譜は、５線楽譜の音符集合を不完全に包含する不完全ＭＩＤＩ集合である。複数チャネルは不完全なＭＩＤＩ集合となるが、本発明の音源セルネットワークに基づく音楽生成法の処理と結合すれば、多様な音色のある編曲音楽を自動的に生成できるという効果を有する。
【００２２】
音楽の音は、ＭＩＤＩシステムを使って生成できる。展開型エクセル楽譜１０８がＭＩＤＩ.ｃｓｖ化部１１０にてチャネルの行方向展開型ＭＩＤＩ.ｃｓｖ（Ｆｏｒｍａｔ  ０）に変換される。そして、複数チャネルの音源付き演奏が、処理部１１４にて、メロディのトラックリスト表示、ピアノロール表示、イベントリスト表示、５線楽譜自動表示が実行され、音の再生部１１５にて演奏される。ＭＩＤＩ．ｍｉｄ（バイナリ）への変換部１１３を介して演奏される場合もある。複数チャネルの数は、音符粒子集合のクラスタリング処理のクラスタ数以下の数によって決まる。ステレオの左音と右音は、それぞれが複数チャネルを含み、ＭＩＤＩシステムにおける各トラックも複数楽器の意味での複数チャネルを含む。ＭＩＤＩ楽器の音が入力される場合、例えば、１ポート、楽器数に対応する１６チャネルのＭＩＤＩ入力端子のひとつのチャネルからその音が入力される場合でも、その音は、音符粒子法では、複数チャネル（複数音程、複鍵チャネル）への採譜処理対象となるので、本発明においても、各トラックは複数楽器の意味での複数チャネルから形成される。
【００２３】
本発明は、順処理、逆処理のどちらの結果に対しても利用できる。本発明は、生成部１０８にて生成された展開型エクセル楽譜の複数チャネルの各ＭＩＤＩ情報を、ＭＩＤＩｔｏＷａｖ部１０９にてＷａｖファイルに変換する処理部１の部分である。ここでは、各ＭＩＤＩ情報と回路解析部１１１にある回路シミュレータ（ＳＤＰ）から生成される回路変数（アトラクタ）とがＷａｖ音源生成部１１２にて結合される。再生可能なＷａｖファイルとなる。
【００２４】
本発明は、図２に示される。図２は、本発明の音源セルネットワークに基づく音楽生成法の処理を実行する計算機（ＰＣ）の処理フロー図である。処理２０１にて、入力ファイルにて音源セルネットワークをグラフ的に結合してできる回路として、その構造を決定し、数値積分の刻み幅ｈ（一定）、回路変数の初期値を決定する。音源セルネットワークの構造をネットリストで定義することが重要である。２変数自動微分法２００を使って、ネットリスト上で表現される２変数素子に関する、処理２０２において、刻み幅ｈごとの節点方程式（状態方程式）を立てる。処理２０３において、数式の関数値とヤコビ行列を計算グラフＧに基づいて求めて数値積分の処理を開始する。処理２０４にて、刻み幅ｈごとの線形化方程式であるニュートン・ラフソン法を収束するまで計算しながら、処理２０５の数値積分法の収束判定が実行される。処理２０５において数値積分が収束しない場合は、処理２０２から処理２０５まで繰り返されることになる。この繰り返し全体が数値積分処理である。数値積分法として、陰的Ｇｅａｒ法または、陽的ルンゲクッタ法が使われる。処理２０５にて、数値積分法が収束し、解が得られた場合、本発明では、回路の２変数、すなわち、アトラクタ上の２変数の音を音楽にする処理が実行される。処理２０６において、まず、数値積分において利用された刻み幅ｈが音楽の標準４４、１００Ｈｚと比較される。間引き処理（２０７）は、処理２０６において、刻み幅ｈが音楽の標準レート４４、１００Ｈｚより大きい場合に適用され、それよりも、小さい場合には、サンプリング周波数の変換後、直接、処理２１０の動的シフト処理が実行される。回路の２変数を数値積分して生成されるアトラクタを間引き（処理２０７）または内挿補間（処理２０９）によって相似アトラクタに変換された場合は、処理２１０において、その複雑な周波数集合の部分集合がＭＩＤＩ時系列に対応して動的にピッチシフトされる。このようにして、アトラクタの構造に対応する周波数集合が、多様な音色を有する音楽波形を生成することになる。低いサンプリング周波数ｆｈ＝１／ｈ、例えば、２．２６７５７Ｅ−３を使用して得られる回路変数の時系列集合を標準レート（４４、１００Ｈｚ）でサンプリングされた集合とみなす写像を単純高サンプリング写像と呼ぶことにする。高いサンプリング周波数ｆｈ＝１／ｈ、例えば、２．２６７５７Ｅ−７を使用して得られる回路変数の時系列集合を標準レート（４４、１００Ｈｚ）でサンプリングされた集合とみなす写像を単純低サンプリング写像と呼ぶことにする。間引き処理（２０７）の比率は１：ｑである。ここで、間引き処理は、１：１の間引き処理（スキップ）を含む。間引き処理によって、後処理の単純高サンプリング周波数、すなわち、刻み幅ｈから音楽の標準レート４４、１００Ｈｚに強制変換する処理によって周波数集合は静的にシフト変更される。処理２０９の内挿処理は、間引き処理２０７の結果に対して、分解能を上げるために、必要ならば、適用される（処理２０８、処理２０９）。処理２１０において、本発明は、音楽の標準レート４４、１００Ｈｚのサンプリング周波数を使って、音符長を確保するための複写処理とアタック、ディケイ、サステンション、レリーズの包絡処理を実行し、ＭＩＤＩの時系列に対応して、２変数の周波数集合をＦＦＴ周波数域にて動的にシフトする。すなわち、動的ピッチシフト処理が実行される。シフト後にフィルタ処理によって帯域制限しながらＦＦＴ逆変換を実行し、結果として、２変数の時間域波形を取得する。処理２１１において、２変数の波形をステレオの左音と右音としてＷａｖファイルに変換して音楽集合を取得する。処理２１２は処理の終わりである。
【００２５】
本発明では、スティッフな系の陰的数値積分法（例えば、後退オイラー法、陰的ルンゲクッタ法、Ｇｅａｒ法など）において必要となるヤコビ行列は、回路の２変数素子に対応する２変数の自動微分法によって生成され、多変数の自動微分値は回路の次元を増やすことによりその２変数自動微分法を使って生成できる。回路構成に対応する音源セルネットワークの音色の種類は非常に多様となる。ヤコビ行列は、陽的ルンゲクッタ法のような陽的数値積分法では必要としないが、この場合でも、処理２０２にて、変数の自動微分法に利用される関数表現に対応する２変数計算グラフＧは生成され、２変数の関数ｆ（ｘ１、ｘ２）の計算が実行される。また、本発明の処理過程は、生楽器の再現性を目的としてきたＰＣＭ音源などと違って、数学的、回路的な発振機構に対応する非線形演算に基づいている。そのため、演奏に合わせて音原セルネットワークの素子や結合のパラメータを変更することができるので、ユーザ自身が、周波数集合を多種多様に変更でき、周期的、概周期的、カオス的な挙動に対応する音の波の音楽を生成できる。しかも、その音色を劇的に変化させることが可能となる。以上の処理の流れも、図３の計算機１０によって実行される。
【００２６】
図３の計算機１０は汎用ＰＣである。記憶部１１に命令とデータが記憶される。逐次、分岐、読み出し、書き込み等の命令に従って制御部１３が制御し、演算部１２がその命令に関する算術論理演算を実行する。制御部１３の制御によって、記憶部１１内のデータは入力部１４から入力され、出力部１５から出力される。無線を含むネットワーク関係の処理も入力部１４と出力部１５に含まれる。複数ＰＣによる無線同期された多重音演奏も可能となる。基本音符行列のエクセル情報をＱＲコード化し、サーバから送信し、クライアントにて受信し、展開型エクセル楽譜に展開し音楽を再生することもできる。音符粒子法を含む図１の全体の処理、本発明の図２の処理も、図３の計算機１０によって処理される。音符粒子法に基づいた自動採譜と自動微分に基づく本発明の音源セルネットワークに基づく音楽生成プログラムは、主として、Ｃ言語とＣ＋＋言語をコンパイルして実行できる環境、例えば、マイクロソフト社が開発したＶｉｓｕａｌ  Ｓｔｕｄｉｏ  の環境下で開発され、任意のユーザが任意の場所にて実行できる実行形式のファイルとしてまとめられる。
【００２７】
次に、順処理について説明する。５線楽譜は縦（行）方向に同時に演奏される複数のチャネル（１トラック１チャネル形）を有し、人間、あるいは、計算機などの機械（マシン）が、横（列）方向に並んだ音符列を読む（認識する）ことにより、時系列音符集合が演奏される。ここでは、エクセル楽譜は列（横）方向に複数チャネルが構成され、行（縦）方向に表セルを読むことにより、時系列音符集合が演奏される。５線楽譜は、音符記号の５線上位置の情報による音程とq分音符（例えば、４分音符）による音符長を表現する。演奏者（人間）にとってたいへん読みやすい視覚的データ構造となっている。５線、音符記号、そのものが視覚的記号であるが、繰り返し記号も視覚的記号となっている。５線楽譜の特徴として、多種多様な繰り返し記号の記述があり、時系列な音符集合の特定部分集合に対する重複表現が最小化されている点がある。その特定部分集合の繰り返し処理あるいはスキップ処理は、主に、演奏者（人間）の行為となる。計算機が情報の読み書きを行う場合は、視覚的データ構造である必要性はなく、むしろ、記憶の内容を指定するポインタ（アドレス）によって指定される文字数値要素による行列型データ構造を必要とする。圧縮型エクセル楽譜は、行列型データ構造であり、メロディ領域Ｍ、和音領域Ｗからなる行列と、空なる表セルを含む繰り返し制御領域Ｒの表セル集合からなる５線楽譜に対応するデータ構造である。
【００２８】
圧縮型エクセル楽譜は、音楽音符集合ＭＴであって、そのｉ行目は音楽行ベクトルＭｉを形成する。音楽行ベクトルＭｉは、メロディ領域Ｍ、和音領域Ｗおよび繰り返し制御領域Ｒの３つの部分ベクトルに分割される。メロディ領域Ｍと和音領域Ｗは、有効表セルのみからなる行列であるが、繰り返し制御領域Ｒには、繰り返し記号のある表セル以外はすべて空（ＮＵＬＬ）セルとなる。
【００２９】
音楽音符集合ＭＴのメロディ領域Ｍにおいて、ｉ行目にあるｊ番目のメロディ音符はＭ（ｉ、ｊ）と表現され、音符Ｍ（ｉ、ｊ）の音程（ＭＩＤＩ記号）をｍ（ｉ、ｊ）、音符長ｌ（ｉ、ｊ＋１）に対応するｑ分音符をｑ（ｉ、ｊ＋１）、正規化された音の大きさ（振幅）をａ（ｉ、ｊ＋２）とすれば、音符Ｍ（ｉ、ｊ）は、
Ｍ（ｉ、ｊ）＝  Ｍ（ｍ（ｉ、ｊ）、ｑ（ｉ、ｊ＋１）、ａ（ｉ、ｊ＋２））；
ｊ＝０、３、６、・・・、３ｍｍ  
として表現される。ここで、ｍｍ＋１はメロディ数である。ｊ＝３ｍｍ＋１の列には領域デリミタのセミコロン;が記述される。和音領域Ｗにおいて、和音（例えば、Ａｍ）のコード記号Ｃ（ｉ、ｊ）、音符長ｌ（ｉ、ｊ＋１）、  正規化された音の大きさをａ（ｉ、ｊ＋２）とすれば、
和音Ｗ（ｉ、ｊ）は、
Ｗ（ｉ、ｊ）＝  Ｗ（Ｃ（ｉ、ｊ）、ｌ（ｉ、ｊ＋１）、ａ（ｉ、ｊ＋２））；
ｊ＝３ｍｍ＋２、３ｍｍ＋３、３ｍｍ＋４
として3列で表現される。決められた大きさaである場合には、
ａ（ｉ、ｊ＋２）＝ａ
が自動挿入される。３列表現の場合は、ｊ＝３ｍｍ＋５の列にセミコロン;が記述される。和音が展開されると、和音領域Ｗは、メロディ領域Ｍに変更され、４つの音符列｛Ｍ（ｉ、ｊ）｝で表現されるので、チャネル数ｃは、ｃ＝（ｍｍ＋１）（メロディ数）＋４となる。なお、順処理では、１チャネル１トラック形であって、１トラックには１チャネルのみを含むものとする。
【００３０】
繰り返し制御領域Ｒにおいて、繰り返し記号をＲ（ｉ、ｊ）とすれば、
Ｒ（ｉ、ｊ）    ;  ｊ＞３ｍｍ＋４
として表現される。繰り返し記号Ｒ（ｉ、ｊ）が存在しない行は、空なる表セルとするので、繰り返し制御領域Ｒにおけるほとんどの行が空白Ｒ（ｉ、ｊ）＝ＮＵＬＬとなる。また、ｉ行目に存在する繰り返し記号Ｒ（ｉ、ｊ）は制御領域Ｒであれば、ｉ行目のどこでもよい。
【００３１】
以上の定義により、音楽行ベクトルＭｉを形成するｉ番目の行は、領域区別のデリミタ記号のセミコロン;を使用して
Ｍｉ＝｛Ｍ（ｉ、ｊ１）；Ｗ（ｉ、ｊ２）；Ｒ（ｉ、ｊ３）｝
と表現される。ｊ１、ｊ２、ｊ３は、列番号である。
【００３２】
圧縮型エクセル楽譜の空間では、音楽表セル集合ＭＴは、小区間（始点と終点においてチャネル間にて同期する区間）すなわち小節の同期記述、すなわち、小節内では非同期でも、小節の始点と終点において同期している音符列集合の表セル集合の記述と、ダミー音符Ｄ（音符長０、Ｔ０の表記）の挿入処理と行列化処理を必要とする。例えば、音楽音符集合ＭＴを具体的に圧縮型エクセル楽譜として表現すると、小区間すなわち小節の区間において、表１のようになる。
表１
2017219595.tif 000003
【００３３】
チャネル数ｃは、メロディが２、和音は展開されれば４なので、６である。１列目はメロディ１のＭＩＤＩ番号に対応するアルファベット記述で、ピアノ鍵盤のオクターブ番号（Ｃ４の４）が付加される。オクターブ番号なしはデフォルトの３を意味する。１列目は、ドレミ表記またはＭＩＤＩ番号表記（Ａはラ音で、６９）でもよい。２列目はｑ分音符の番号qである。音符長の時間表記の場合、Ｔの接頭字が付加され秒表現となる。３列目は正規化された音の大きさの表現である。４、５、６列はメロディ２であって、同様に表現されるが、ＨＨは休み記号となっている。休み音符ＨＨは、音符長は０でない場合が多いが、この例では、音符長０であるので、ダミー音符Ｄとなる。すなわち、音符長０の音符ＨＨは、行の数と音符数の数が等価になるように挿入される。また、音符長Ｔ０となっているＥ４もダミー音符Ｄである。ダミー音符Ｄをセルに挿入することによって、行列化される。行数と音符数の数が等価になることによって、メロディ領域Ｍと和音領域Ｗが行列化される。７行目はセミコロンであって、メロディ領域Ｍの終わりと和音領域Ｗの始まりを意味する。８行目は和音のアルファベット記述（例えば、Ａｍ）である。９行目は、和音の大きさ、１０行目はセミコロンであって、和音領域Ｗの終わりと繰り返し制御領域Ｒの始まりを意味する。ＧＥ（Ｇｏ  Ｅｎｄ）が繰り返し記号で、それ以外のセルは空なる表セルである。メロディ領域Ｍと和音領域Ｗは、有効表セルからなり、無効表セル（ＮＵＬＬ）のない行列表現となる。
【００３４】
ダミー音符Ｄの挿入による同期記述と行列化処理を実行することにより、音楽音符集合ＭＴは、時系列の音楽行ベクトルＭｉの集合
ＭＴ＝｛Ｍｉ｜ｉ＝０、１、・・・、Ｎ０−１｝
として定義される。メロディ領域Ｍと和音領域Ｗは、ダミー音符Ｄを含む行列、すなわち、小区間すなわち小節において、行の数と音符数が等価な音符集合として表現される。Ｎ０は、チャネルの音符数である。
【００３５】
小区間同期記述と行列化処理の必要性は、エクセル、すなわち、表セル集合体によって、複数チャネルの５線楽譜と等価な論理動作（小節間同期のある複数行音符時系列）を表現し、認識処理を除き、人間が５線楽譜を読む動作と計算機がエクセル楽譜を読む動作を等価にするところにある。逆に、例えば、各チャネルの音符を上方向に詰めたエクセル表現であるとすると、特定な行の列方向に記述された音符集合は、５線楽譜表現と異なり、無相関、無秩序な音情報となる。有効な表セルの表セル集合を行列としているので、領域ＭとＷは、要素（表セル）がすべて空（ＮＵＬＬ）でない行列となり、どのチャネルも同じ行数Ｎ０となる。
【００３６】
音符長ｌ（ｉ、ｊ＋１）がチャネル間で異なる場合、同期記述と行列化処理のために、ダミー音符Ｄが挿入される。音符Ｍ（ｉ、ｊ）＝Ｍ（（ｍ（ｉ、ｊ）、ｑ（ｉ、ｊ＋１）、ａ（ｉ、ｊ＋２））の同期記述を実行する処理は、計算機１０による記憶部１１への書き込み処理である。同期記述は、各チャネル間において、同時読み出し（演奏）される小区間内音符集合の音符長の累積時間長が等価、音符数が等価、行数が等価、そして、各小区間の始点終点時刻が同期するように音符長０のダミー音符Ｄを書き込む（記述する）ことである。
【００３７】
今、エクセルの小区間内表セルの要求行数をＴｑとする。Ｔｑは小区間音符数が最大となるチャネルのその行数である。これを音符数最大小区間と呼ぶ。音符数最大小区間以外の特定なチャネルのその小区間内における音符数をｓとするとき、ｓ＜＝Ｔqとなる。ｓ個のｑ分音符ｑ（ｉ、ｊ＋１）の部分行集合に対して、
Ｔｑ−ｓ
個のダミー音符Ｄ（音符長０）をそのチャネル小区間に挿入すれば、小区間内音符集合の行数はどのチャネルもＴｑに統一される。ダミー音符Ｄは任意のＭＩＤＩ記号と音符長Ｔ０を含む無長音符である。ダミー音符Ｄは音符長０の休み音符（ＭＩＤＩ記号が０またはＨＨ（非標準））でもよい。同期小区間内であれば、どの行に挿入されてもよい。すべての小区間に対してこの同期記述のルールを適用すれば、音楽音符集合ＭＴのメロディ領域Ｍと和音領域Ｗは、エクセル上で表セル表現可能な行列として表現できる。すべてのチャネルの音符数は統一されＮ０となる。
【００３８】
例えば、表２の圧縮型エクセル楽譜を使って同期記述を説明する。
表２
2017219595.tif 000004
【００３９】
１列目は、メロディ１のＭＩＤＩアルファベット記号列である。２行目が音符長列であって、最後の２行が音符長０（すなわち、時間表現Ｔ０）のダミー音符Ｄが存在する行となっている。４列目はメロディ２のＭＩＤＩアルファベット記号列である。５列目が音符数最大小区間（小節）の音符数Ｔｑ＝６の行表現であって、２分音符、１６、１６、８音符による合計４分音符分、次の８、８による合計４分音符分で、合計すれば、全音符分の４ｓ（ｓは秒、４分音符を１秒とする）の累積音符長４ｓに対応する。１小区間（小節）の累積音符長となっている。１列目は、最初の４行で、１小区間の累積音符長４ｓを満たすが、最大音符数はＴｑ＝６なので、ｓ＝６−４＝２の２行分をダミー音符ＤのＭＩＤＩアルファベット記号＝Ｇ４、ＨＨを挿入し、音符長Ｔ０としている。大きさは、それぞれ、０．７、０．６となっているが、音符長はＴ０であるから無音となる。８列目の和音Ｅｍの音符長はすでに全音符に対応する４ｓとなっているので、２行目以降のＨＨ（休み記号）が音符長０（Ｔ０と等価）のダミー音符Ｄとして挿入されている。
【００４０】
今、小区間内の要求累積音符長（時間）をＬとする。エクセルの小区間内表セルの要求行数をＴｑとすれば、Ｔｑは音符数最大小区間の音符数である。特定なチャネルのその小区間内における音符数をｓとするとき、ｓ＜＝Ｔqとなるｓ個のq分音符ｑ（ｉ、ｊ＋１）を選択する。そのとき、ｓ個の累積音符長をΣｌ（ｉ、ｊ＋１）で表現すると、
Σｌ（ｉ、ｊ＋１）＋０＊（Ｔｑ−ｓ）＝Ｌ
を満足する。０の累積音符長が０＊（Ｔｑ−ｓ）になるように、ダミー音符Ｄ（音符長０）を（Ｔｑ−ｓ）個、チャネルの小区間に挿入する。小区間内音符集合の行数はどのチャネルもＴｑに統一される。ダミー音符Ｄは、ＤＤなど記号、あるいは、休み音符（ＨＨ）でもよいが音符長は０である。小区間内であれば、どの行に挿入してもよい。すべての小区間に対して同期記述を適用すれば、領域ＭとＷは、エクセル上でセル表現可能な行列で表現できる。
【００４１】
圧縮型エクセル楽譜は、繰り返し制御に従った部分音符集合のアペンド処理とスキップ処理により、展開型エクセル楽譜に展開される。エクセルの音符表セル集合、あるいは、その部分集合の行番号ｉに対応するポインタがある。そのポインタによって、各チャネルの音符Ｍｉの時系列位置（行番号）が指定される。繰り返し制御領域Ｒにある繰り返し記号として、曲の始点から終点方向に、始点記号Ｓと終点記号Ｅが定義される。その記号は、方向の意味も含めて、予め定義されている。終点記号Ｅの行（分岐行）にある音符から始点記号Ｓの行（分岐先行）にある音符に、すなわち、Ｂａｃｋｗａｒｄ方向に、ポインタが戻る（無条件ジャンプ命令の）場合には、終点記号Ｅの行（分岐行）までの途中に他の制御記号Ｃｏｎがなければ、始点記号Ｓの行（分岐先行）にある音符から、終点記号Ｅの行（分岐行）にある音符までの遷移後の部分音符集合が、現在のポインタＰ（Ｅ）の行（分岐行）にある音符までの累積時系列音符集合に、アペンドされる。制御記号Ｃｏｎがあれば、始点記号Ｓの行（分岐先行が分岐行に変化）にある音符から、制御記号Ｃｏｎの行（分岐先行）にある音符までの部分音符集合が、現在のポインタＰ（Ｅ）の行（分岐行）にある音符までの累積時系列音符集合に、アペンドされ、その後は、制御記号Ｃｏｎの意味定義に従うことになる。始点記号Ｓの行（分岐行）にある音符から終点記号Ｅの行（分岐先行）にある音符に、すなわち、Ｆｏｒｅｗａｒｄ方向に、ポインタが進む（無条件ジャンプ命令の）場合には、始点記号Ｓの行（分岐行）にある音符の次の音符から終点記号Ｅの行（分岐先行）にある音符の前の音符までの部分音符集合は、現在のポインタＰ（Ｓ）の行（分岐行）にある音符までの累積時系列音符集合に、アペンドされずに、スキップされる。すなわち、終点記号Ｅの行（分岐先行）にある音符のそれ以降の時系列音符集合の始点Ｅに、ポインタが遷移される。繰り返し制御領域Ｒに存在する各繰り返し記号は、分岐行記号のある分岐行Ａと分岐先行記号Ｂのある分岐先行Ｂの対に、分類される。このとき、メロディ領域Ｍと和音領域Ｗに存在する音符集合において、展開処理のポインタが、分岐行記号のある分岐行Ａの位置にあるとき、そのポインタが、分岐先行記号のある分岐先行Ｂの位置に、遷移する。ＡからＢへの遷移である。アペンド処理は、そのポインタ遷移に従って、ＡからＢへの遷移後に読み出される部分音符集合を、分岐行記号のある分岐行Ａの現在位置までに生成された累積部分音符集合に、追加する処理となる。なお、スキップ処理は、ポインタ（アドレス）のＡからＢへの遷移処理と等価であるから、読み書き処理はない。
【００４２】
多種多様な繰り返し制御記号の始点記号Ｓと始点記号Ｅは、ペアになっている場合が多い。５線楽譜の標準ペアとして、２重線｜｜とコロン：と、コロン：と２重線｜｜がある。それらに対応する始点記号Ｓと終点記号Ｅがある。そのコロン：と２重線｜｜に対応する終点記号Ｅの曲始点方向に部分音符集合の始点位置に、Ｆ１（制御記号）があって、その２重線｜｜の直後に、Ｆ２（制御記号）がある場合、コロン：と２重線｜｜に対応する終点記号Ｅの行から２重線｜｜とコロン：に対応する始点記号Ｓのある行に戻って繰り返される。このとき、Ｆ１からＦ２の音符の前音符までの領域に含まれるその部分音符集合をスキップし、Ｆ２のある行の音符にジャンプする制御となる。この場合は、２重線｜｜とコロン：に対応する制御記号Ｓの行にある音符からＦ１の行の直前にある行の音符までをアペンドし、その後、Ｆ２（制御記号Ｅ）の行にある音符にジャンプする制御となる。また、５線楽譜を使って説明すれば、例えば、Ｄ．Ｃ．（制御記号Ｅ）は、ｄａ  Ｃａｐｏ（最初から）の略で、曲の最初（制御記号Ｓ）に戻って再度処理され、「終わり」の意味の繰り返し記号Ｆｉｎｅ（制御記号Ｅ）まで処理される。Ｆｉｎｅのかわりに図５Ａの記号を使うこともある。Ｄ．Ｓ．（制御記号Ｅ）は、ｄａｌ  ｓｅｇｎｏの略で、図５Ｂの記号（制御記号Ｓ）に戻って再度処理される。そして、Ｔｏ  Ｃｏｄａ記号（制御記号Ｓ）から図５Ｃの記号（制御記号Ｅ）に分岐するように処理される。この記号は、ＶＩＤＥ「見よ」の意味で、これがあるときは、時として、その記号（制御記号Ｓ）から次の同じ記号（制御記号Ｅ）までを飛ばして、遷移後の部分音符集合がアペンドされる場合がある。このような場合でも、本発明では、５線楽譜のそれらの繰り返し記号に対応する制御記号ＳとＥが定義され、エクセルの制御領域Ｒの適当な表セルに挿入される。それらの記号の意味解析に従った無条件ジャンプ命令によるポインタの遷移処理を実行すれば、音符集合のアペンド処理（または、スキップ処理）によって、圧縮型エクセル楽譜は展開型エクセル楽譜に連続した時系列音符集合として展開される。
【００４３】
方向制御は、多種多様で、その数は膨大である。方向制御のすべてを表現した方向タイプをデータ構造として記憶することはできない。行列楽譜処理法では、ポインタの現在位置までに集計された累積部分音符集合に、その時点に現れた制御記号の意味に従って、ポインタ遷移後の次の部分音符集合を、アペンドし、再び現在位置のポインタとする。いわば、行列楽譜処理法の処理体は、部分音符集合の再帰機能的アペンド方式に従う制御プログラムである。展開時は、常に、ダミー音符Ｄの挿入処理により、同期記述の条件は満たされる。
【００４４】
繰り返し制御による展開時には、和音の同時音符集合への展開も実行される。基本的には、記憶部１１にある各和音記号（例えば、Ａｍ）の文字と圧縮型エクセル楽譜上の和音領域Ｗにある和音記号（Ａｍ）との一致処理で、特定された和音を構成する４個の音符列が４列として展開される。
【００４５】
圧縮型エクセル楽譜における各行ベクトルＭｉは展開処理、すなわち、繰り返し展開と和音展開が実行されると、結果として、展開型エクセル楽譜の音符集合は、同期記述を満足し、
Ｍｉ＝｛Ｍ（ｉ、ｊ）｜ｊ＝０、３、６、・・・、３＊（ｃ−１）｝；
ｉ＝０、１、２、・・・、Ｎ０−１
と表現され、Ｎ０＊（３＊ｃ）の行列に変換される。以降、この３列表現が代表として使われる。ここで、
Ｍ（ｉ、ｊ）＝Ｍ（ｍ（ｉ、ｊ）、ｑ（ｉ、ｊ＋１）、ａ（ｉ、ｊ＋２））；
ｊ＝０、３、６、・・・、３＊（ｃ−１）
である。ｃはチャネル数、Ｎ０はチャネルの音符数である。
【００４６】
すなわち、展開型エクセル楽譜は、２次元集合
ＭＴ＝｛Ｍ（ｉ、ｊ）｜ｉ＝０、１、２、・・・、Ｎ０-1；
ｊ＝０、３、６、・・・、３＊（ｃ−１）｝
として行列表現される。ＭＴは完全ＭＩＤＩ集合となる。完全とは、原５線楽譜の音符集合をＭＩＤＩ情報として完全に表現していることである。和音領域Ｗの展開後の和音チャネルの各行は音符長および大きさは同じ値となる。同時演奏により和音として聞こえることになる。デフォルトの展開型エクセル表現では、メロディの２チャネル、和音の４チャネルとし、合計６チャネルで構成される。生成された展開型エクセル楽譜を読み出し（演奏）する場合は、各チャネル（トラック）は縦読み、すなわち、行方向処理を基本とする。
【００４７】
同期記述を含む圧縮型エクセル楽譜の生成処理は、５線楽譜からの変換処理によって行われる。完全ＭＩＤＩ音符集合である。重要なことは、演奏の読み出しはチャネルごとの行方向であるが、生成の書き込みは、複数チャネルに渡って列方向であるということである。行列楽譜処理法では、複数チャネルの小区間の同期イベントの概念、小区間の累積音符長の等価管理の概念がある。小区間の行数等価と音符数等価を条件とする行列化処理の概念がある。以上のことは、エクセル楽譜の標準化に寄与すると考える。
【００４８】
計算機１０を使って複数チャネルを同時演奏し、これを人間の耳で聞いたとき、同時音が正しく聞こえるためには、同期した始点行から終点行までの音符が、同時に読み出される必要がある。同期音符集合として保障されるべきものは、小節を含む小区間とチャネル全体である。読み出し処理は、展開型エクセル楽譜における各チャネルの０行目からＮ０−１行目までを行方向（縦）に読むことを基本とし、それをチャネル数ｃだけ列方向に繰り返ことを基本とする。すなわち、各チャネルの読み出しは縦読み原則である。読み出した音符集合Ｍ（ｍ（ｉ、ｊ）、ｌ（ｉ、ｊ＋１）、ａ（ｉ、ｊ＋２））は、音源生成時には、サンプリング周波数ｆｃの離散時刻ｔの各音符の波形関数
Ｗ（ｔ、  Ｍ（ｍ（ｉ、ｊ）、ｌ（ｉ、ｊ＋１）、ａ（ｉ、ｊ＋２））、ｘ（ｉ、ｔ））
に変換される。ここで、ｘ（ｉ、ｔ）は、本発明の生成音源の波形変数である。
【００４９】
波形変数ｘ（ｉ、ｔ）は、回路シミュレーション（ＳＤＰ）上で設計されるオシレータ（発振器）の内部に内包する回路方程式から生成される変数である。回路シミュレーションによる音源生成である。ｘ（ｉ、ｔ）は、オシレータの発音構造や共鳴構造を含む非線形現象の固有的な音色の波、すなわち、物理モデル音源からの変数である。２変数の場合には、物理モデルはアトラクタ構造で表現される。回路シミュレーションＳＤＰによる音源生成は生の楽器だけでなく、実在しない楽器の音も作成することが可能である。例えば、回路として構成されたローレンツ・アトラクタは、振幅の大きな周波数を中心としてその周りの周波数特性が一定間隔の低スパイク状になるので、周波数集合をシフトすれば、音楽として使用可能な多様な音色を生成する。一般的には、周期倍周期によるカオス発振器では、そのアトラクタの周波数成分の振幅は複数の高スペクトル状にはならないことが多い。しかし、例えば、２次元アトラクタの周波数集合を間引きしたり、内挿補間し、さらに、ＭＩＤＩ集合の時系列に従ってピッチシフトすれば、十分、音楽に使用可能となる。不思議な音楽となる。フィルタによって選択された周波数領域において、可聴できるほどのスパイク状の振幅が複数個生成でき、多様な音色を生成する。このことが本発明の主たる処理となる。
【００５０】
順処理では、圧縮型エクセル楽譜を展開した展開型エクセル楽譜では、複数チャネルの各チャネルに含まれる音符数Ｎ０が等価になる。それは、小区間同期記述を満足する行列である。複数チャネルは、完全ＭＩＤＩ集合、すなわち、５線楽譜の音符集合を完全に包含する行列となる。なお、大きさａの値は、５線楽譜上にある大きさ制御記号の意味に従って音符ごとに音楽演奏表現を考慮して決められる。
【００５１】
展開型エクセル生成処理部１０８において、５線楽譜の音符集合を完全に包含する行列の展開型エクセル楽譜を直接、すなわち、繰り返し展開なしで、自動で生成する場合もある。このとき、各チャネルの各小区間の行数と音符数が等価になるように、必要ならば、特定なチャネルの小区間にダミー音符Ｄが挿入される。この挿入処理によって小区間同期記述が確立する。小区間同期記述によって、各チャネルの音符数Ｎ０はどのチャネルも等価となる。結果として、順処理では、音楽セル集合ＭＴはＮ０＊（３＊ｃ）の音符行列で表現されることになる。このように、順処理では、チャネル数ｃ、音符数Ｎ０を含めて、展開型エクセル楽譜は、完全に、曖昧なく、５線楽譜に対応して、完全ＭＩＤＩ集合の行列として決定される。
【実施例２】
【００５２】
逆処理では、展開型エクセル楽譜は、音楽の音の波から自動的に生成される。音符粒子法による自動採譜である。自動生成では、まず、音楽の音の波の時系列集合Ｗａｖファイルを短時間周波数変換部１０３にて周波数変換すれば、時系列化された周波数集合が生成される。テンポ解析処理１０４は、周波数の音符時系列の平均により、すべての音符に共通かつ等価な音符長を求める。短時間周波数変換部１０３では、音程抽出処理も実行される。フレームごとに時間周波数変換の処理が実行される。ＦＦＴは高速であるが、時間と周波数との依存関係が非常に強くかつフレーム間誤差、周波数集合の繰り返しによる誤差などが大きく、しかも、フレーム幅を決めるフレーム内データ数が２のべき乗でないといけないなどの制限が多い。そこで、それらの制限のないウエーブレット変換のひとつであるガボール変換を利用する。次のクラスタリング処理１０５は、音符の音程集合を分類する。それらの結果を使って、音符粒子の時系列行と複数チャネル列からなる行列、すなわち、音符粒子集合を音符粒子集合部１０６にて求める。逆処理では、音からＭＩＤＩ集合を行（時間）方向に取得するので、チャネルは複数チャネル、複鍵チャネルの集合となる。すなわち、行方向で見れば、各チャネルの行集合は、複数チャネルを含み、その行集合は、ＭＩＤＩシステムの各トラックに対応するものとなる。このとき、各行の各チャネルは、ＭＩＤＩ番号、音符粒子長、および大きさの要素からなる３列で表現される。生成された各チャネルは、複数楽器のＭＩＤＩ集合となる。現状では、音符粒子法には、楽器の区別処理は含まれていない。音符粒子法の第１の重要性は、いろいろな処理や伝送の対象となる基本音符行列の生成にある。第２の重要性は、音符粒子の結合である。すなわち、音符長結合部１０７にて行方向に隣接する（行間に休止無音がない）時系列行間の同音程音符粒子の音符長を結合することであって、これにより音符の長さが変更される。音符粒子集合から音符集合への変換である。行方向に近接する（行間に有長休止無音がある）時系列行間の同音程音符粒子の音符長は連結されない。抽出された音符集合は、展開型エクセル生成処理部１０８にて小区間同期の条件を満たす行列として展開型エクセル楽譜となる。小区間は、元の５線楽譜にある小節に相当するが、自動生成により生成される同期記述の小区間である。小区間の始点と終点にてチャネル間の同期が維持されるという同期記述の概念は満たされる。結合時にダミー音符Ｄの挿入処理は自動的に実行され、常に、チャネル間秩序のある小区間同期記述を満たす空間での変換処理となる。これが音符粒子法による自動採譜である。
【００５３】
次に、音符粒子法による展開型エクセル楽譜の自動生成について詳細に述べる。アナログ空間Ｓａにおける１つの音の波をＲＭａとする。ＲＭａをＡＤ変換してできるデジタル空間Ｓｄにおける音をＲＭｄとする。すなわち、音の波形ＲＭａを実サンプリング周波数ｆＲでサンプリングしたとき、離散時刻ｔｄごとに生成された音要素の集合がＲＭｄとして定義される。音の波形ＲＭａに対するＡＤ変換あるいは音の物理現象に対する数値積分時に使われる実サンプリング周波数ｆＲは、例えば、音楽サンプリング周波数ｆｃ＝４４、１００Ｈｚ（あるいはそれよりも高いＨｉｇｈ  Ｒｅｓｏｌｕｔｉｏｎの周波数）よりも大きい高周波数あるいは小さい低周波数である。しかし、音楽で利用される時間ｔは音楽サンプリング周波数ｆｃで離散化したときの離散時刻である。実サンプリング周波数ｆＲの離散時刻は、音楽サンプリング周波数ｆｃの離散時刻ｔに写像される。この写像処理は、ＭＩＤＩ集合から音楽の波をつくる場合に問題になるが、音楽の波からＭＩＤＩ集合を求める音符粒子法では、提供されるＷａｖファイルのヘッダー部から読み取られるサンプリング周波数に合わせて音楽サンプリングｆｃが決定される。音楽サンプリング周波数ｆｃによって定義されるデジタル空間Ｍｄにおいて、離散時刻ｔの音楽データの集合、すなわち、短時間周波数変換部１０３に入力されるＷａｖファイルは、デジタル空間Ｍｄにおける音楽である。音楽サンプリング周波数ｆｃのサンプリングによって得られた時間域Ｔの音楽である。その音楽は、ステレオ音楽のＷａｖファイルとして、左音と右音の各ダンプ情報として記憶部１１に格納され、音符粒子法による自動採譜の処理が実行される。
【００５４】
音楽のＷａｖファイルの各ダンプ情報に対して、短時間周波数変換部１０３にてピッチ抽出のための短時間周波数変換処理Ｔを実行する。ガボール変換の実行である。得られる周波数の時系列集合をＦＭｄとする。ＦＭｄの各要素の周波数成分は必ずしもＭＩＤＩ音符の音程に対応するとは限らず、むしろかなり異なるものである。ＦＭｄは、周波数時系列であるが、離散時刻ｔにおける振幅が大きい周波数成分は複数ある。その周波数成分数に等しい数の音程（その周波数成分に最も近いＭＩＤＩ周波数（音程））があると考えれば、音程に対応する音符もその数に等しい数だけ存在することになる。すなわち、採譜のための処理１０３、１０４、１０５、１０６、１０７の目的は、ガボール変換に基づく短時間周波数変換Ｔにより生成されたＦＭｄの各要素を、最も確からしい音符Ｍ（ｉ、ｊ）の音符集合
Ｍｉ＝｛Ｍ（ｉ、ｊ）｜ｊ＝０、３、６、・・・、３＊（ｃ−１）｝
に変換することである。ここで、音符Ｍ（ｉ、ｊ）の音程ｍ（ｉ、ｊ）に近い周波数成分は、ガボール変換に基づく短時間周波数変換処理Ｔにより導出されるが、周波数音程変換を必要とする。音符Ｍ（ｉ、ｊ）の大きさａ（ｉ、ｊ）も、短時間周波数変換処理Ｔにより導出される。大きさａ（ｉ、ｊ）は、変換処理Ｔによる周波数成分の複素数における実部と虚部の２乗和の平方根である。音符Ｍ（ｉ、ｊ）の音符長ｌ（ｉ、ｊ＋１）は、音楽サンプリング周波数ｆｃによってサンプリングされた離散時刻ｔの数によって定義される秒単位の長さである。チャネルの定義は、ＭＩＤＩ情報の時系列とする単鍵チャネルである。ただし、単鍵チャネルは、元のＷａｖファイルに内包する複数楽器の音符情報を含む。各離散時刻にｃ個の音程があると仮定して、音符粒子法は、ｃ個の複数チャネルを同期記述の条件下で生成する。採譜処理の問題は、チャネルの音符集合Ｍｉが未知、特に、音程ｍ（ｉ、ｊ）が未知、チャネル数ｃの数が未知、チャネル内の音符の音符長ｌ（ｉ、ｊ＋１）が未知であることである。
【００５５】
今、チャネル数ｃは、クラスタリング部１０５によるクラスタリング処理において、クラス数と等価にする。例えば、６と決める。音符番号ｉは音符時系列のｉ番目の音符を特定するインデックスである。音符番号ｉの成分Ｍｉの要素Ｍ（ｉ、ｊ）は、音符番号ｉのｊ列目の音符である。音符粒子法では、まず、音楽
ＭＴ＝｛Ｍ（ｉ、ｊ）｜ｉ＝０、１、２、・・・、Ｎ−１；
ｊ＝０、３、６、・・・、３＊（ｃ−１）｝
内の音符Ｍ（ｉ、ｊ）の音符長ｌ（ｉ、ｊ）も固定とする。音符長ｌ（ｉ、ｊ＋１）はテンポ解析部１０４で求められる。音符粒子集合部１０６が、音符粒子の時系列行と複数チャネル列からなる行列、すなわち、音符長が等しい音符粒子集合を求める。すべての音符粒子の長さは等価である。この段階で、基本音符行列が生成される。音符長結合部１０７の処理によって、小区間の同期記述を満足しながら音符粒子の長さが変更され、各チャネルの音符数はＮとして固定化される。この処理において、行の列がすべてダミー音符となる場合があり、その行は削除されるため、順処理（音符数Ｎ０は既知か固定）と異なり、音符数Ｎは、音符長結合部１０７の処理結果に基づいて動的に決定される数である。また、順処理と異なり、音符数Ｎは、フレームの大きさＤＮにも依存する。
【００５６】
音符Ｍ（ｉ、ｊ）のＭＩＤＩ番号をｍ（ｉ、ｊ）、音程周波数をｆ（ｉ、ｊ）、音符長をｌ（ｉ、ｊ＋１）、  正規化された音の大きさをａ（ｉ、ｊ＋２）とすれば、音符Ｍ（ｉ、ｊ）は、
Ｍ（ｉ、ｊ）＝Ｍ（ｍ（ｉ、ｊ）、ｌ（ｉ、ｊ＋１）、ａ（ｉ、ｊ＋２））
として表現される。音程周波数ｆ（ｉ、ｊ）とＭＩＤＩ番号ｍ（ｉ、ｊ）との対応関係は、次式で定義される。
【数１】
2017219595.tif 000005
ここで、基準となる６９はデフォルトのＡ音のＭＩＤＩ番号で、４４０は、Ａ音の周波数（Ｈｚ）である。音符Ｍ（ｉ、ｊ）のＭＩＤＩ番号ｍ（ｉ、ｊ）に対応する音程周波数ｆ（ｉ、ｊ）は、単位時間の音符波形の繰り返し数に対応する。音程周波数ｆ（ｉ、ｊ）はひとつなので、ガボール変換は直交基底ではないが、もし、時間周波数変換の逆変換を実行すれば、音符Ｍ（ｉ、ｊ）は、理想的には、周波数ｆ（ｉ、ｊ）の正弦波系となる。音符Ｍ（ｉ、ｊ）そのものは、音符パルス波であるので、その時間域Ｔにおける陽的表現は複雑である。また、音符Ｍ（ｉ、ｊ）の正規化された音の大きさａ（ｉ、ｊ＋２）は、ガボール変換Ｔの複素数における実部と虚部の２乗和の平方根に対応する。音符長ｌ（ｉ、ｊ＋１）は音符Ｍ（ｉ、ｊ）の始点時刻から終点時刻までのサンプリング点数に（１／ｆｃ）を掛けた長さであるが、個々の音符Ｍ（ｉ、ｊ）の音符長ｌ（ｉ、ｊ＋１）を混合波から求めることは非常に難しい。そこで、複数チャネルにおける音符粒子の音程（ＭＩＤＩ周波数）の共通な音符長（平均時間）をテンポ解析部１０４にて求めることが重要となる。
【００５７】
フーリエ変換処理を利用するテンポ解析について説明する。テンポ解析部１０４のテンポ解析によって、楽譜の音符粒子集合のすべての音符粒子に共通な音符長を求める。解析は、抽出、すなわち、１分間の拍数ＢＰＭ（Ｂｅａｔｓ  Ｐｅｒ  Ｍｉｎｕｔｅ）をＷａｖファイルから抽出することである。抽出は、場合によっては、時系列情報の統計処理、ＦＦＴ、畳み込み、相関などの信号処理を必要とする。人間は、リズムを理解するが、計算機１０は、音のエネルギー（音量、振幅値の２乗）の差分情報から生成する。
【００５８】
先ず、サンプリング周波数をｆｃ＝４４、１００Ｈｚとし、Ｗａｖファイル（例えば、Ｄａｔａ  Ｓｉｚｅ  ＝  ４３、０５７、１５２）をフレーム内のサンプリング数ＤＮ（例えば、４０９６＊２）に分割し、フレームごとの音量（平均エネルギー）を次式に従って求める。
【数２】
2017219595.tif 000006
ここで、Ｄ（ｎ）は  フレーム内のｎ番目のデータの振幅値である。また、例えば、ｓｉｚｅｏｆ（ｓｈｏｒｔ）＝８とし、  Ｎｆ＝Ｄａｔａ  Ｓｉｚｅ／ｓｉｚｅｏｆ（ｓｈｏｒｔ）／２／ＤＮは、フレーム数（例えば、１、３１４）とする。音量
【数３】
2017219595.tif 000007
は、ｍ＝０、１、・・・、Ｎｆ−１番目の各フレームの音量（平均エネルギー）である。解析時間は、フレーム数Ｎｆ（１、３１４）＊フレーム内サンプル数秒（ＤＮ＊（１／ｆｃ））＝２４４、０８８、１６３である。ＤＮは各フレームのサンプリング数に対応するので、フレームの長さＬｆは
Ｌｆ＝ＤＮ／ｆｃ（０．１８５７ｓ）
で一定とする。
【００５９】
次に、隣接するフレームの音量増加量を求める。ｍ番目のフレームの音量をＸ（ｍ）としたとき、減少する場合は０とし、増加差分、
ＤＸ（ｍ）＝  Ｘ（ｍ）  &#8211;  Ｘ（ｍ−１）  
を求める。その増加差分ＤＸの周波数成分をテンポ解析部１０４内にて求める。ｍ番目のフレームの音量の増加差分ＤＸ（ｍ）が時間域のデータである。また、フレームのサンプリング周波数をｆｓとしたとき、ＢＰＭ（Ｂｅａｔｓ  Ｐｅｒ  Ｍｉｎｕｔｅ）、すなわち、1分間（６０ｓ）に刻む拍数がテンポ解析における周波数の定義となる。周波数域の定義は、ＢＰＭ空間域での定義となる。すなわち、ＢＰＰ値を６０から２４０まで変化させる。そして、各ＢＰＭ空間の関数ＤＸ（ｍ）対するフーリエ変換の実部Ｒと虚部Ｑを次式から導出する。
【数４】
2017219595.tif 000008
ここで、ｆｂはＢＰＭ値／６０、ｆｓ＝（１／Ｌｆ）はサンプリング周波数ｆｃ／（フレームのサンプル数ＤＮ）である。実際は、窓関数による波形端部の補正処理を含む。ＦＦＴはＤＮを２のべき乗にする必要があるが上記のフーリエ変換は、必ずしも、ＤＮを２のべき乗にする必要はない。その意味で、音程抽出処理のガボール変換との相性がよいことになる。
【００６０】
音符粒子の音符長解析は、ＢＰＭ空間の周波数Ｒ（ｆｂ）、Ｑ（ｆｂ）から求める方法となる。生のＷａｖ波形は、各音符区域の開始位置で音量が増加する特性があり、しかも、その音量の増加量は周期的現象となる。ＢＰＭ空間において、各振幅値Ａの最大値を検出する。音符長は、その最大値の周波数ＢＰＭｍの逆数として定義され、抽出される。すなわち、解析の処理の流れは、Ｗａｖファイルのフレーム分割、隣接フレームの音量変化の取得、その時間変化分のフーリエ変換、振幅最大の周波数成分の検出、振幅最大の周波数成分の逆数の算出、となる。以上により、ＢＰＭ空間におけるフーリエ変換を使って、音符粒子時系列の周期、すなわち、ひとつの平均音符長Ｌを求めることができる。音符粒子の平均音符長Ｌ（秒）は、例えば、曲依存値として、
Ｌ  ＝６０／ＢＰＭｍ
となる。
【００６１】
次に、ガボール変換による時間周波数変換部１０３とクラスタリング部１０５において、音符粒子の音程（ＭＩＤＩ番号）の集合を求める。ステレオＷａｖファイルの左音と右音を分けて実行する。時間域と周波数域におけるサンプリング周波数を同じｆｃ（＝４４、１００Ｈｚ）、フレームのサンプリング数をＤＮ（４、０９６＊２）とする。ＦＦＴを利用する場合は、ＤＮは２のべき数に設定される必要があるが、ガボール変換では、その制限は基本的には必要としない。フレーム周期（時間）はＬｆ＝ＤＮ／ｆｃである。変換部１０３における短時間周波数変換（ガボール変換）の結果を周波数ｆ（ｔ）とする。フーリエ変換、高速フーリエ変換ＦＦＴ、あるいは、Ｇｏｅｒｔｚｅｌ変換では、周波数ｆ（ｔ）と離散時刻ｔ、すなわち、周期Ｌｆごとの時刻には関係がある。離散時刻tの周波数ｆ（ｔ）は、
帯域０＜ｆ（ｔ）＜ＤＮ／２において、
ｆ（ｔ）＝ｔ＊（１／Ｌｆ）  
帯域ＤＮ／２＜＝ｆ（ｔ）＜ＤＮにおいて、
ｆ（ｔ）＝（ＤＮ−ｔ）／Ｌｆ
となる。時間と周波数の分解能がこの時間周波数の変換基本式に支配される。ガボール変換ではｆ（ｔ）を与える式は、いわば、ｔに依存しない関数で決めることができる。ＦＦＴでは、解析区間の長さによって一意に周波数分解能が決定される。ガボール変換は、その解析過程において解析周波数を時間ｔに対して自由度が非常に高い。時間分解能と周波数分解能をほぼ独立的に選択できる特徴を有する。そのため、結果の不完全ＭＩＤＩ集合と完全ＭＩＤＩ集合との差は、曲依存があり、解析時間がＦＦＴの場合よりかかるが、ＦＦＴの結果よりも小さいという実験結果が得られている。
【００６２】
ガボール変換について説明する。例えば、  時間域のステレオ左信号ｌ（ｔ）（あるいは、  右信号ｒ（ｔ））を周波数変換する。窓関数を時間方向に移動しながら、その時間区域の信号のスペクトルをフレームごとに解析することになる。変換に関し複素正弦波ｅｘｐ（−ｊωｔ）を乗じる操作とみなし、ガボール窓関数と信号ｌ（ｔ）との積をフーリエ変換するとすれば、
【数５】
2017219595.tif 000009
となる。ここで、σ  はガウス関数の広がりを定める定数である。スペクトルは時間b  と各周波数ω  の関数となる。この式は、基底関数が
【数６】
2017219595.tif 000010
とする変換式の表現でもある。ここで、σとω  は独立となる。短時間周波数フーリエ変換ＳＴＦＴであるから、このままでは、「不確定性の原理」が存在する。すなわち、ｊω  の存在による短時間周波数変換では、  周波数分解能と時間分解能を両立させることができない。ω  を削除し、ガボール変換に対応するマザーウェーブレットを
【数７】
2017219595.tif 000011
とすると、この関数は、ωを一定、例えば、ω  =  1  とする複素正弦波ｅｘｐ（ーｊｔ）にガウス関数を乗じたものとなる。特徴は角周波数ω  に依存しない式となっている点である。このマザーウェーブレットを時間方向に拡大・縮小及びシフトした関数
【数８】
2017219595.tif 000012
を使うことになる。パラメータa  は、その関数を時間方向に拡大・縮小する比率を決定するが、これが、周波数に相当する。また、パラメータb  は、時間の移動量に対応し、ガウス窓の位置、すなわち、解析する時間を決定する。この関数を用いて、ガボール変換は、複素共役表現を用いて、
【数９】
2017219595.tif 000013
によって定義される。本発明では、初期周波数ｆ０から最終周波数ｆｍまでの変化を表現する数種の関数を用意し、広さσも曲依存による選択とする。解析周波数間隔はセント単位（十二平均律のオクターブを１２００  セント、半音の間隔は１００セントとする）で設定される。また、ガボール変換では、フレーム長ＤＮ  を２のべき乗にする必要はないので、ＤＮの選択の自由度もＦＦＴより大きいことになる。音符粒子法では、ＤＮの大きさに従って、全体の音符数Ｎが異なる特徴がある。一般化調和解析も周波数と時間との間の依存度が小さく、周波数の選択に自由度があるが、原波形と正弦波集合との差分を小さくすることの繰り返しがあるため、膨大な時間がかかるのが問題である。現状では、ガボール変換がベストな方法である。
【００６３】
周波数ｆ（ｔ）に対応するＭＩＤＩ番号（音程周波数、ピッチ）は、ｉｎｔの整数化を使って「数１」の逆関数として、
ＭＩＤＩ番号＝（ｉｎｔ）（６９．０＋１２．０＊ｌｏｇ２（ｆ（ｔ）／４４０．０））
となる。ＭＩＤＩ番号は、各フレームＤＮ内のスペクトルｆ（ｔ）に対応するので、その抽出数は、重複を含めると、ＤＮ個存在する。多数である。そこで、正規化された最大振幅値Ａｍａｘを有する線スペクトルｆｍａｘ（ｔ）を基準として、倍率パラメータｂａｉに対する下限振幅値ｂａｉ＊Ａｍａｘから上限振幅値ＡｍａｘまでのＲ個の線スペクトル
Ｆ＝｛ｆｋ（ｔ）｜ｋ＝０、１、２、・・・、Ｒ−１｝
に限定して抽出する。抽出数Ｒは各フレーム  ｍ＝０、１、２、・・・、Ｎｆ−１ごとに異なるので、Ｒをチャネル数ｃ（例えば、６）に固定する処理、すなわち、ｃ個のクラスタのクラスタリング処理をクラスタリング部１０５にて実行する。
【００６４】
音符粒子集合のクラスタリング処理を説明する。Ｒ＜ｃのときは、抽出されたＲ個のＭＩＤＩ番号中から適切なＭＩＤＩ番号を（ｃ−Ｒ）個複写する。ただし、複写されたチャネルは、後処理にてエクセル上で削除される場合が多い。チャネル数は必ずcとなる。Ｒ＞ｃのときは、抽出されたＲ個の中からｋ−ｍｅａｎｓ法によりクラスタリングすることになる。ｋ−ｍｅａｎｓ法は、ＭＩＤＩ番号集合において、ｃ個のクラスタ重心（ＭＩＤＩ番号）に距離が近く、かつ、ｃ個のクラスタ重心間の距離が大きくなるようにクラスタ重心を見つけるアルゴリズムである。ｃ個のクラスタ重心に対応するｃ個のＭＩＤＩ番号のみを選択することになる。デフォルトは、ｃ＝６、ｂａｉ＝０．９である。抽出数Ｒが大きすぎる場合もあるので、曲依存で倍率ｂａｉを選択する必要がある。ｋ−ｍｅａｎｓ法の真の解を求める問題はＮＰ困難となるが、抽出数が６以下となるフレームが多く、この場合、ｋ−ｍｅａｎｓ法のルーチンがスキップされるので、６チャネル程度の音符粒子の集合を求めるｋ−ｍｅａｎｓ法は高速である。ｋ−ｍｅａｎｓ法は初期値依存性などの欠点もある。他のクラスタリング手法、例えば、アフィニティマトリックス法、行列クラスタリング法、隣接行列クラスタリング法、相関行列クラスタリング法などを使ってもよい。例えば、クラスタリング処理後の音符粒子集合の展開型エクセル楽譜、すなわち、基本音符行列を表３に示す。
表３
2017219595.tif 000014
【００６５】
１列目は、メロディ１の音符粒子のＭＩＤＩ番号である。２行目が音符粒子の音符長列で、すべて、０．２５３１６５と等価である。３行目は、メロディ１の音符粒子の大きさである。４行目はメロディ２の音符粒子のＭＩＤＩ番号である。５行目がメロディ２の音符粒子の音符長列で、すべて等価である。６行目は、メロディ２の音符粒子の大きさである。７行目はメロディ３の音符粒子のＭＩＤＩ番号である。８行目がメロディ３の音符粒子の音符長列で、すべて等価である。９行目は、メロディ４の音符粒子のＭＩＤＩ番号である。１０行目がメロディ４の音符粒子の音符長列で、すべて等価である。１１行目は、メロディ５の音符粒子のＭＩＤＩ番号である。１２行目は、メロディ５の音符粒子の音符長で、すべて等価である。１３行目は、メロディ６の音符粒子のＭＩＤＩ番号である。１４行目は、メロディ６の音符粒子の音符長で、すべて等価である。なお、３列表現を基本とするが、ここでは、メロディ３、４、５、６は、大きさが予め決められた２列表現である。すべての音符粒子の音符長は、テンポ解析結果として導出された値で、Ｌ＝０．２５３１６５ですべて同じ値である。このように、各チャネルは、ＭＩＤＩ番号、音符粒子長、および大きさの要素からなる３列で表現されるが、大きさの要素は予め決められているならば表示上削除される。これが基本音符行列である。ＭＩＤＩ情報の処理、伝送の基本となる。
【００６６】
音符長が等価な音符粒子集合の展開型エクセル楽譜、すなわち、基本音符行列に従って演奏すると、同期性と秩序性は高いが、当然、聞けば情緒性のない機械的な音楽になる。そこで、音符長結合部１０７における音符長結合処理を説明する。音符長が等価な音符粒子集合の展開型エクセル楽譜において、各チャネルは、ＭＩＤＩ番号、音符粒子長、および大きさの要素からなる３列、または、和音展開列の２列で表現される。ただし、自動採譜であるので、和音の再現は不完全となる。音符長結合部１０７では、行方向に隣接する（行間に休止無音がない）時系列行間の同音程音符粒子の音符長を結合することにより音符の長さを変更する。行方向に近接する、行間に有長休止無音がある時系列行間の同音程音符粒子の音符長は連結されない。小区間内の時系列行間の同音程音符粒子の音符長は累積され、その小区間の最後の行にある音符長が累積長に変更され、小区間内の他の行の音符長は０、すなわち、ダミー音符となる。列方向にてすべての音符がダミー音符となればその行は削除される。音符粒子集合から音符集合への変換である。抽出された音符集合は、同期記述、小区間同期、すなわち、小区間の始点と終点における同期の条件を満たす行列として展開型エクセル楽譜となる。
【００６７】
音符集合からなる展開型エクセル楽譜を表４に示す。例えば、結合前の状態が表３の展開型エクセル楽譜であるが、音符長結合処理後は、表４の展開型エクセル楽譜となる。表３において、１列目の２行目にあるＭＩＤＩ番号７９は、３行目、４行目、さらに、５行目に連続して存在する。小区間は、４行分である。小区間内の各行の音符粒子の音符長は、それぞれ、０．２５３１６５ですべて同じ値である。音符長結合処理後の表４の展開型エクセル楽譜では、ＭＩＤＩ番号７９は、表３の５行目にあるＭＩＤＩ番号７９としてまとめられ、音符長は、累積値０．２５３１６５＊４＝１．０１２６６となっている。時系列行間の同音程音符粒子を含む他の小区間において、同様な結合処理が実行される。音符長結合部１０７の音符長結合処理によって、全体の行数は２３から１０行に減らされる。行のすべてのＭＩＤＩの音符長が０、すなわち、ダミー音符となる場合は、その行は削除される。以上が、音符粒子集合から音符集合への変換である。抽出された音符集合は、小区間同期の条件を満たす行列で、行列楽譜の展開型エクセル楽譜となる。これが音符粒子法による自動採譜である。結合部１０７の音符長結合処理では、ステレオの左音と右音をそれぞれ独立に実行される。この場合は、左音と右音の各有効音符数は異なるが、有効音符数が短い方の最終部にはダミー音符が挿入され、結果としては、どちらも同じ音符数Ｎとなる行列楽譜が生成される。左音と右音をまとめて、音符長結合処理を実行するモードもある。結合処理は、左音と右音を統一した大きな次元を有する行列上で実行される。しかし、結果的には、同期記述の同期性が強くなり過ぎ、むしろ、独立に実行した方が感覚的にはよいという実験結果が得られている。
表４
2017219595.tif 000015
【００６８】
音符粒子法では、同期記述された行（最小小区間）からなる音符長等価な音符粒子集合を生成し、時系列行間の同音程音符粒子を含む同期小区間内で音符長を結合して音符集合に変換している。同期記述の範囲での行列変換である。音楽表セル集合ＭＴの展開型エクセル楽譜生成時には、チャネル間に渡る列方向の書き込み処理を含み、その展開型エクセル楽譜の読み出し時には、その読み出し処理は、チャネルごとの行方向で実行される。音楽表セル集合ＭＴの展開型エクセル楽譜は、計算機１０によって５線楽譜に変換されてもよい。処理部１１０にて、展開型エクセル楽譜は、汎用のＭＩＤＩ．ｃｓｖに変換される。変換後は、汎用のＭＩＤＩシステムを使うことができる。複数チャネルの音源付き演奏が、デスプレィ上で、トラックリスト表示、ピアノロール表示、イベントリスト表示、自動５線音符表示のうち少なくとも１つを動画表示しながら、計算機１０によって実行される。編集もできる。図４は、行列楽譜処理法の処理を実行する計算機１０内の音楽システムの画像表示である。ＭＩＤＩシーケンサのＰＣ上の画面である。上部にあるのが６トラックリストである。さらに、下部左側にあるピアノロール、下部左側の下にあるイベントリスト、下部右側にある自動採譜の譜面ウインドウが表示される。処理部１１０にて生成されたＭＩＤＩ．ｃｓｖは、本発明の回路解析部１１１からの変数の波と結合される。すなわち、アトラクタ構造を間引きする静的ピッチシフトで相似アトラクタを生成し、その変数に対応する周波数集合をそのＭＩＤＩ集合の時系列に対応するようにシフトする動的ピッチシフト処理を含む処理部１１１にて結合される。そして、処理部１１２にて、Ｗａｖファイルに変換され、再生部１１５にて複数チャネルの同時演奏がＰＣ上で実行される。処理部１１０にて生成されたＭＩＤＩ．ｃｓｖは、ＭＩＤＩ．ｍｉｄに変換され、標準音源を使用して再生部１１５においてＰＣＭ波で再生される場合もある。
【００６９】
圧縮型エクセル楽譜は、小区間同期が記述された５線楽譜対応の媒体で、ＰＣ演奏、ＰＣ保存、インターネット通信の容易なＩＴＣ媒体となる。展開型エクセル楽譜は、複数チャネルの時系列音符集合の各チャネルの音符の音程、音符長、大きさが列方向に展開されたＩＣＴ媒体となる。ユーザにとって、極めて理解し易いエクセル楽譜の媒体である。基本音符行列は、音符長が統一されているので、同音程の結合処理を受信側で実行することを条件にすれば、すべての音符の音符長を伝送する代わりにひとつの音符長を伝送すればよいことになる。これは、例えば、ＱＲコード化に適する。同音程の結合処理の結果である展開型エクセル楽譜は、音楽の音の波から小区間同期の条件を満たす行列楽譜として自動生成され、複鍵チャネルを含む複数チャネルの演奏楽譜となる。
【００７０】
順処理による完全ＭＩＤＩ集合と逆処理による自動採譜の結果の不完全ＭＩＤＩ集合は、楽譜であって、音楽の音の波集合を包含してはいない。音符粒子法による自動採譜の結果の不完全ＭＩＤＩ集合は、編曲楽譜である。編曲楽譜ではあるが、完全ＭＩＤＩ集合の部分集合を有し、その編曲による音楽は、複数チャネルで、テンポある、リズミカルな、聞ける音楽となる。
【実施例３】
【００７１】
次に、本発明の回路解析部１１１と数値積分法について説明する。回路において、２つの節点（ａ、ｂ）の電圧を電流に変換する式で記述される素子を２変数素子と呼び、特に、単独で音の波を生成する２変数素子を（電流）音源素子または回路的に電流源素子と呼ぶ。ジャイレータは電圧制御電流源である。電圧源は、電流源と抵抗の並列接続によって構成される。ＳＤＰは、電圧制御電圧源（オペアンプ）や電流制御電圧源による音源設計、ＭＯＳやバイポーラのトランジスタによる音源設計も可能ではあるが、設計事項であるため、その説明は割愛される。２変数素子を複数結合してできる回路を音源セルと呼ぶ。その音源セルの集合を音源セルネットワークと呼ぶ。各音源セルは、回路の連続な状態変数によって常微分方程式（状態方程式）によって記述される。状態方程式は、節点とグランドＧ間に接続されたコンデンサＣに流れる電流をその節点電圧の微分で表現することによって、回路の記述を表現することになる。コンデンサＣの電圧は連続な状態変数なので、微分方程式の変数として利用できることになる。言い換えれば、２端子の２変数素子の端子ａ、ｂを節点とする節点電圧は連続となる。ここで、例えば、ｂがグランドＧとする場合は、ｂの電圧は０、すなわち、回路の基準となる参照電圧０となり、端子ａの電圧が連続な節点電圧となる。端子ａ、ｂ共にグランドＧ以外の節点とするならば、その２変数素子は浮いた枝となるが、端子ａ、ｂの各節点電圧は連続となる状態変数である。インダクタＬの電流は連続である。ＳＤＰでは、ジャイレータの２次側の節点とグランド間にコンデンサＣが接続されることによって１次側から見たインピーダンスがインダクタンスに対応する構成でインダクタを形成する。インダクタの電流の連続性は、２次側の節点電圧の連続性として扱われる。従って、本発明の音源セル、音源セルネットワークは、構築する内部の節点電圧はすべて連続とし、すべての節点電圧の電圧微分、すなわち、電流として、節点から出る電流の和が零というキルヒホッフの電流則を基本として、節点方程式で記述される。ネットリストによる表現である。
【００７２】
係数が時間ｔを含む時変系の微分方程式を表現するネットリストにおいて、時間ｔは、節点と他端がグランドＧに接続されたコンデンサＣと独立電流源ＣＳとの並列接続のその節点電圧によって生成される。このようにして、係数に時間ｔを含む時変系の微分方程式の数値積分も可能となる。次に、自動微分に基づく音源セルネットワークの生成に関し、特に、アトラクタ構造の音から音楽をつくる音楽生成法に関して説明する。回路は、節点と枝からなるグラフＧにおいて、Ｌ（インダクタ）、Ｃ（コンデンサ）、Ｒ（抵抗）、あるいは、電圧ｖに関する非線形関数ｆ（ｖ）で定義される電流非線形素子ｉ＝ｆ（ｖ）、電源などが枝として節点間に接続されたネットワークである。キルヒホッフの電圧則、キルヒホッフの電流則および枝特性（オーム則）を適用すると、回路の節点方程式は、非線形微分方程式（非線形状態方程式）
【数１０】
2017219595.tif 000016
で表現される。ここで、ｔは時間、ｖはグランド（アース）を除くｎ次元の節点電圧ベクトル、uは入力ベクトルである。陰的数値積分法の後退オイラー法は、離散時刻ｍと刻み幅ｈ＝Δｔを使うと、非線形方程式
【数１１】
2017219595.tif 000017
で表現される。非線形関数fのヤコビ行列を
【数１２】
2017219595.tif 000018
とすれば、非線形方程式の解法は、刻み幅ｈごとに線形方程式
【数１３】
2017219595.tif 000019
を解く、ニュートン・ラフソン法に帰着される。ここで、ｋは、ニュートン・ラフソン法のｋステップ目を意味する。この線形方程式は、ヤコビ行列ＪをＬＵ分解し、前進代入、後退代入することにより、疎行列演算を含めて、直接法で解くことができる。また、節点とグランドＧ間に仮想キャパシタを挿入して、対角優位の収束条件を満たすように数値積分する仮想緩和法もある（非特許文献５、６）。緩和法は、ヤコビ行列Ｊの０成分をスキップすることができる。ＳＤＰには、直接法、仮想緩和法の両方法が含まれ、さらに、精度をよくするため、後退オイラー法を拡張した陰的多段法のＧｅａｒ法が組み込まれている。また、陰的ルンゲクッタ法も使用可能である。発振現象の数値積分にはヤコビ行列Ｊを必要とせず、収束するならば、精度が非常によい陽的ルンゲクッタ法も使用可能となっている。音楽の波を表現する非線形微分方程式は、時々、ヤコビ行列Ｊの固有値の大小関係が大きいスティフな系となることがあるので、デフォルトとして、仮想緩和法によるＧｅａｒ法を使用する。周波数集合の周波数が低い場合は、陽的ルンゲクッタ法を使用する場合も多い。
【００７３】
安定性、精度、速度を考慮した数値積分法の選択問題がある。波形が有する周波数集合の周波数が低い場合には、解析上の問題はそれほどないと言える。例えば、刻みｈ＝２．２６７５７Ｅ−３とし、時間５０ｓとして、仮想緩和法によるＧｅａｒ法あるいは陽的ルンゲクッタ法で非線形微分方程式を解くことができる。しかし、刻みｈ＝２．２６７５７Ｅ−３以下にしないと数値積分が安定的に解けない場合も多い。その場合、解析の設定基準は、左音楽ｌ（ｔ）と右音楽ｒ（ｔ）とするべき回路の２変数の集合｛ｘ（ｔ）、ｙ（ｔ）｝を、音楽の標準レートのサンプリング周波数４４、１００Ｈｚに対応するｈ＝２．２６７５７Ｅ−５とすることである。この場合には、Ｇｅａｒ法で、例えば、約０．２秒分の回路情報を取得し、解析ファイルに格納することになる。Ｇｅａｒ法のような陰的数値積分は、刻み幅ｈごとに線形方程式（数１３）を解く必要があるため、回路によっては、時間がかかるので、０．２秒程度に制限する必要がある。さらに、回路によっては、刻み幅ｈを２．２６７５７Ｅ−５以下の値に設定せざるを得ない場合もある。約０．２秒分の回路情報を取得した場合、ＭＩＤＩに対応する音符長は、４分音符で約１秒程度であるとすると、０．２秒ではひとつの音符長としては短いことになる。そのため、波形の複写処理が静的周波数シフト処理後に実行される。
【００７４】
枝の特性が線形ならば、ヤコビ行列は、節点コンダクタンス行列、すなわち、対角成分には、節点に接続されるコンダクタンスの和、節点ａと節点ｂに対応する非対角成分（ａ、ｂ）にはａとｂとの間に接続されたコンダクタンスｇに負を付けたーｇの値が挿入された行列となる。しかし、枝電圧ｖに関する非線形素子ｉ＝ｆ（ｖ）がある場合には、その微分値がその時点での枝コンダクタンスとなるので、素子微分（偏導関数値）が必要となる。トランジスタのような複雑な素子であっても、素子微分値を求める計算式をあらかじめデータ構造として記憶部に記憶しておけば、素子微分からヤコビ行列Ｊを求めることができる。ＳＰＩＣＥには、このデータ構造の種類が多く記憶され、デバイス表現が非常に豊富なため、ＳＰＩＣＥは、再業界において、集積回路の設計に有効に使われている。ＳＤＰは、ＭＯＳ、バイポーラのトランジスタのモデルが組み込まれているが、ＳＰＩＣＥと比べて、デバイス能力はそれほど高くはない。しかし、本発明において、初めて、素子微分値を求める計算式を２変数ａ、ｂに関する自動微分で求めるアルゴリズムが組み込まれた。すなわち、ユーザ自身が数式を表現すれば、２変数素子に関する２変数ａ、ｂの数式の関数値、および、その関数を自動微分して、ヤコビ行列Ｊを自動で求めることができる。節点ａと節点ｂに対応する記号ａと記号ｂを含む数式を表現する２変数自動微分法である。すなわち、２変数自動微分法は、音源セルネットワークを入力ファイルに表現し、自動微分する技術である。計算グラフＧの構造に対応する数式を節点ａと節点ｂに接続する２変数素子（ａ、ｂ）として表現し、受動素子との並列接続（電圧同期）と受動素子との直列接続（電流同期）、あるいは、独立接続による回路を表現する技術である。２変数素子が電流源（２端子間を流れる電流が接続に無関係に内部に包含する時間ｔ、固定値、あるいは外部節点電圧の制御で決定される素子）である場合、２変数素子のみのカットセットは存在しない。２変数素子枝は電流源である場合、異なる２変数素子枝のみの直列接続（電流同期）は存在してはならない。電源２変数素子のみの並列接続（電圧同期）は存在してはならないが、その並列接続（電圧同期）に少なくともとひとつの受動素子があればよいことになる。回路は、節点電圧の関数として与えられる電流の２変数素子を並列接続し、ひとつのコンデンサＣに並列接続する構成である場合が多い。その回路構成は、微分方程式の１式を生成する。独立変数の数に等しい式を回路として構成すれば、多次元の状態方程式で記述される回路、すねわち、音源セルネットワークを構成することになる。
【００７５】
次に、計算グラフＧについて説明する。２変数（ｘ１、ｘ２）は回路の２変数素子（ａ、ｂ）に対応し、変数ｘ１は節点ａの節点電圧、変数ｘ２は節点ｂの節点電圧に対応する。今、受動の２変数素子の数式が
【数１４】
2017219595.tif 000020
で表現されるとする。この関数はｘ１とｘ２の２変数関数である。そして、正弦波ｓｉｎ（ｘ２）を含む。ｘ２が時間ｔに依存するならば、関数は音の波となる。節点電圧ｘ２を独立電流源ＣＳとコンデンサＣの並列接続の節点電圧と等価にすれば、その節点電圧は、時間増加に伴い線形的に上昇する時間依存型節点電圧となる。このことから、ｘ２の時間ｔの依存性は、その並列接続の回路から独立的に生成でき、上記の２変数関数は、ｘ１も固定電圧あるいは時間ｔのみに依存するならば、電源素子、すなわち音源素子となる。図６は数式１４に対応する計算グラフＧである。根の最上位節点が２変数ａ、ｂの関数ｆ（ａ、ｂ）を表現し、最下位の葉が２変数ｘ１、ｘ２及び定数に対応する節点である。間の節点ｖは、中間変数である。枝ｄｉ（ｅｊ）の表記は、上位節点ｉの変数を下位節点ｉ＿ｄｏｗｎの変数で微分した偏導関数値の重みを意味し、番号ｊは、上位節点ｉの演算対象である中間２変数ａ、ｂに対する左枝１、右枝２の番号ｊ＝１、２に対応する。
【００７６】
図６の計算グラフＧでは、各枝の偏導関数値はそれぞれ次のようになる。
【数１５】
2017219595.tif 000021
【００７７】
関数ｆ（ｘ１、ｘ２）の変数ｘ１に対する微分は、根から葉ｘ１に至る経路（パス、始点から終点までの枝の集合）上にある枝の重み値（偏導関数値）の経路積を計算し、その経路がｐ個存在すれば、ｐ個の経路積の和とする計算で求められる。関数ｆ（ｘ１、ｘ２）の変数ｘ２に対する微分は、根から葉ｘ２に至る経路上にある枝の重み値（偏導関数値）の経路積を計算し、その経路がｑ個存在すれば、ｑ個の経路積の和とする計算で求められる。ｉａ、ｉｂを２変数素子が接続される節点番号とすれば、ヤコビ行列Ｊの要素（ｉａ、ｊｂ）の値は、計算された偏導関数値がすでに計算された並列枝の偏導関数値に符号を考慮して累積された値となる。根ｖ５の初期値のみ１とし、それ以外の初期値を０とする節点の演算値（バッファ）をＳ（ｖ）、Ｓ（ｘ）とする。各計算値は以下のように導くことができる。
【００７８】
【数１６Ａ】
2017219595.tif 000022
【数１６Ｂ】
2017219595.tif 000023
以上が２変数自動微分法である。
【００７９】
本発明では、２端子の２変数素子の特性として、２変数ａとｂに関する２変数自動微分法を使って計算グラフＧに対応する関数を表現し、ネットリスト内で、素子の結合として回路を構成し、表現された音源セルネットワークの節点方程式を数値積分することになる。数値積分は、ヤコビ行列Ｊを必要とする陰的Ｇｅａｒ法、または、ヤコビ行列Ｊを必要としない陽的ルンゲクッタ法を使って実行される。音をつくるための数値積分の刻み幅ｈは一定である。刻み幅ｈは、音楽の標準レート、例えば、４４、１００Ｈｚに対応する２．２６７５７Ｅ−５に合わせれば、解析空間から音楽空間への写像に関する変換誤差がないと考えられる。しかし、刻み幅ｈは、適切な数値積分法を選択し、さらに、その数値積分の安定性、精度および速度を考慮して独立に決定されなければならない。ヤコビ行列Ｊの最大固有値と最小固有値の大きさの差が大きいスティッフ系の微分方程式の解を得るためには、陰的Ｇｅａｒ法などの陰的数値積分法が適用される。現象の音の波には非スティッフ系も多く、その現象を表現する微分方程式の解を得るためには、陽的ルンゲクッタ法などの陽的数値積分法も多く使用される。
【００８０】
次に、ネットリストについて説明する。音源セルネットワークの回路内にある２変数素子は計算グラフＧに対応する２変数関数ｆ（ａ、ｂ）としてネットリスト上に表現される。例えば、入力ファイルでの２変数素子（２端子素子）の表現は、
Ｆｕｎｃ（ａ、ｂ；ｆ（ａ、ｂ））
となる。ａは枝（ａ、ｂ）の電流が出る節点の番号、ｂは枝（ａ、ｂ）の電流が入る節点の番号に対応する。関数ｆ（ａ、ｂ）は、節点電圧ｖａ（ボルト）と節点電圧ｖｂ（ボルト）の関数で、関数値は電流（アンペア）である。数式が枝電圧ｖ＝ｖａーｖｂの差分関数として表現されるならば、その２変数素子表現は、１変数ｖの表現として、
Ｆｕｎｃ（ａ、ｂ；ｆ（ｖ））
としてもよい。また、電圧制御電流素子の表現は、
ＦｕｎｃＭ（ｃ、ｄ、ａ、ｂ；ｆ（ａ、ｂ））
である。これは、電流値ｆ（ａ、ｂ）が他の枝（ｃ、ｄ）に電圧制御電流源の電流として与えられることを意味する。節点における電流の方向は、電流が出る方向を正とする。
【００８１】
例えば、図７は、ＳｏｕｎｄＣと名付けられた音源セルネットワークのネットリスト、すなわち、入力ファイルの表現である。３つのセルＣｅｌｌ０、Ｃｅｌｌ１、Ｃｅｌｌ２は、マクロ定義外のｂｒａｎｃｈとｅｎｄ間で使用され、出力端子ｏｕｔと入力端子ｉｎにネットリスト上の節点番号が置換されることによって、音源ネットワークの構築の構成部分となる。Ｍａｃｒｏと２つのＥｎｄ間がそれぞれの音源セルのマクロ定義である。各マクロは１つの音源セルの回路構成を定義するもので、受動素子、電源、２変数素子（電流素子）の結合系として構成される。例えば、ネットリスト内の表現
【数１７】
2017219595.tif 000024
が電圧制御電流素子の２変数素子である。番号１がセル内の節点番号１で、節点電圧aに対応し、記号Ｖｉｎで、入力電圧Ｖｉｎが与えられるセル内の節点で、節点電圧ｂに対応する。節点１は、
Ｃ（１、Ｇ；１．０）
ＣＳ（１、Ｇ；−１．０）
の表現に関係する節点である。この表現は、その節点１とグランドＧ間に接続された１ＦのコンデンサＣと１Ａの独立電流源ＣＳの並列接続の節点を意味する。すなわち、この独立な並列回路は、電流積分による線形増加する節点電圧を発生する回路で、時間ｔの値に対応する節点電圧が節点１の電圧として生成される。すなわち、ａ＝ｔとなる節点電圧が、記号“と記号”の間で定義された数式ＦｕｎｃＭ内で使われる。数式ＦｕｎｃＭ内の時間ｔは、本発明では、コンデンサＣと独立電流源ＣＳの並列接続の節点電圧とし定義される。時間ｔの方程式による電圧表現の一般化である。なお、独立電流源ＣＳの電流がー１と負なっているのは、節点から出る電流を正としているので、節点１に入る電流は負となるからである。また、要求される入力波形が固定値または関数として定義される場合は、Ｖｉｎ＝１０．０（固定値）あるいはＶｉｎ＝ｇ（ｔ）の数式が入力ファイルにて表現される。入力電圧Ｖｉｎが時間ｔに依存したパルス波形として定義される場合は、そのパルス波形は立ち上がりと立下りに関する時刻と電圧値のペアとして、別の波形入力ファイルで定義される。入力端子が複数個必要な場合は、Ｖｉｎとは異なる文字列を使うことになる。電圧制御電流素子ＦｕｎｃＭの表現によって、ｉ＝ｓｉｎ（２πｆ０ｔ＋０．２＊ｓｉｎ（２πｆｍｔ））となる複雑な電流関数（周波数がベッセル関数で表現される時間域関数）がセルの出力端子ｏｕｔと入力端子ｉｎ間に挿入されることになる。ここで、電流関数内のｆ０＝４４０Ｈｚはキャリア周波数、ｆｍ＝Ｖｉｎ「ボルト」＝１０．０「Ｈｚ」は変調周波数である。その電流関数の周波数集合は、４４０Ｈｚを中心としてその近傍に複数のスペクトルが存在する構造となる。この関数により、“さらさら”音が出力される。
【００８２】
Ｒ（ｏｕｔ、ｉｎ；１．０）
で定義される抵抗Ｒは、１．０オームであって、セルの出力端子ｏｕｔと入力端子ｉｎとの間に接続される。
【００８３】
Ｃ（ｏｕｔ、ｉｎ；０．００００１）
で定義されるコンデンサＣは、０．００００１Ｆであって、セルの出力端子ｏｕｔと入力端子ｉｎとの間に接続される。従って、セルＣｅｌｌ０は、電圧制御電流素子ＦｕｎｃＭ、抵抗Ｒ、コンデンサＣが互いに並列接続された回路構造として定義されている。Ｃｅｌｌ１も同様であるが、変調周波数が１０＊０．５＝５Ｈｚで定義されている。Ｃｅｌｌ２は単なるＬＣ回路の発振セルである。
【００８４】
インダクタＬは２端子素子であるが、入力端子が２つ、仮想出力端子が２つある。いわば、２端子対回路の表現
【００８５】
Ｌ（ｉｎ、ｏｕｔ、１、Ｇ；０．３５９Ｅ−３）
として定義される。この理由は、ＳＤＰは、節点方程式のみで回路方程式を立てるからである。すなわち、各節点において、電圧依存する電流の代数和が零というキルヒホッフの電流則を基本としているからである。コンデンサＣは、電圧微分によって電流が表現されるが、インダクタＬは、電流微分によって電圧が表現されるので、節点方程式を立てる場合には、電圧と電流の相対性に対応する工夫が必要となる。ＳＰＩＣＥは、修正節点方程式による工夫、すなわち、節点電圧変数以外にインダクタ電流も状態変数とする技術を基本としている。ＳＤＰは、電圧微分のみで節点方程式を立てる技術を基本としている。図８に示すように、電圧電流変換するジャイレータの仮想出力端子対（例えば、１とＧの間）に仮想的なコンデンサＣ＝０．３５９Ｅ−３「Ｆ」を接続した回路を構成し、ジャイレータの入力端子対側のｉｎとｏｕｔ間から見ると、インダクタＬ＝０．３５９Ｅ−３「Ｈ」と等価になることを利用している。ジャイレータの有効利用である。今、電圧をＶ、電流をＩ、コンダクタンスをｇとし、番号１は入力側の端子、番号２は出力側の端子に対応するとき、図８のジャイレータの２端子対表現は、
【数１８】
2017219595.tif 000025
となる。その仮想出力端子対にコンデンサＣを結合すると、ラプラス演算子ｓの領域では、入力電圧は、
【数１９】
2017219595.tif 000026
となる。この式において、インダクタンスＬのインピーダンスはｓＬであるから
【数２０】
2017219595.tif 000027
となり、これは、等価インダクタンスＬとなる。すなわち、ｇ＝１とすれば、コンデンサＣの値と等価なインダクタンスＬとなる。コンデンサＣが接続される仮想の２次側端子対は、独立な節点とグランドＧにすればよい。入力側端子対の２つの節点のいずれかをグランドＧとする必要性はない。すなわち、インダクタＬをグランドＧから浮いた素子としても利用可能となる。このジャイレータ方式で、１次側のインダクタ電流Ｉ１は２次側の電圧Ｖ２として表現され、その分、修正節点方程式の場合と同様、節点方程式の次元はひとつ増えることになる。  
【００８６】
また、
ＰＷＬ（ｉｎ、ｏｕｔ；−０．０３）
の表現がある。この表現ＰＷＬは、線形区分関数を意味する。数値の部分が正とする
ＰＷＬ（ｉｎ、ｏｕｔ；０．０３）
の表現の場合は、図９の左側の関数Ｐ＋（ｘ）に示すように、飽和特性をもち、値が０．０３オームであって、それが、出力端子ｉｎと入力端子ｏｕｔの間に接続される非線形抵抗を意味する。
ＰＷＬ（ｉｎ、ｏｕｔ；―０．０３）
の表現は、図９の右側の関数Ｐ＿（ｘ）に示すように、その抵抗が負性抵抗（−０．０３）オームになっていることを意味する。Ｃｅｌｌ２の音源セルは、ＬとＣ、さらに、その負性抵抗が並列に接続された回路で構成されている。受動ＬＣ回路は、理想的にはＬＣ発振回路であるが、離散化された場合には、減衰振動する波形となって、平衡解に落ちる。そこで、振動維持のため、発振器として構成する場合には、負の抵抗を有するＰＷＬを必要とする。
【００８７】
マクロで定義された３個のＣｅｌｌ０、Ｃｅｌｌ１、Ｃｅｌｌ２を結合することにより、音源セルネットワークの構造が定義される。その定義は、本体のネットリスト部で定義される。各音源セルの出力端子ｏｕｔと入力端子ｉｎには、節点番号が具体的に挿入される。Ｃｅｌｌ０とＣｅｌｌ２は節点１とグランドＧの間に接続されているので互いに並列接続される。ＰＷＬは電源素子と受動回路との電圧同期である。また、Ｃｅｌｌ１は、節点２とグランドＧ間に接続されるので、その並列接続とは分離された独立回路となる。２変数素子（ａ、ｂ）と受動素子（ｂ、ｃ）が並べられる場合は、直列接続となり、電流同期の接続となる。
【００８８】
しかし、音源素子、電流源素子のみの直列接続はできない。また、枝集合として枝素子（ａ、Ｇ）と枝素子（ｂ、Ｇ）があって、さらに、他の枝素子（ａ、ｂ）がネットリスト内にあれば、その枝素子（ａ、ｂ）は枝素子（ａ、Ｇ）と枝素子（ｂ、Ｇ）とを結合する浮き枝となる。浮き枝（ａ、ｂ）は、音源の２変数素子でもよいが、節点ａ、ｂそれぞれには、少なくともひとつの受動回路が接続されていなくてはならない。枝素子（ａ、ｂ）は枝素子（ａ、Ｇ）と枝素子（ｂ、Ｇ）の３個の枝全体で閉路を構成する構造となる。以上のように、閉路を増やせば、回路となり、複雑な音源セルネットワークが構成されることになる。
【００８９】
変数ｘ、ｙ、ｚの微分方程式（状態方程式）
【数２１】
2017219595.tif 000028
を数値積分することによってできる２変数の座標点（ｘ、ｙ）をそれぞれプロットすると、図１０Ａのようなローレンツ・アトラクタが生成される。この微分方程式に対応する入力ネットリストの主要部は、
【数２２】
2017219595.tif 000029
となる。  ここで、ＧＹＬ（１、Ｇ、２、Ｇ；０、−１０．０、０、０）
は、ジャイレータに対応する２端子対回路のコンダクタンス行列表現
【数２３】
2017219595.tif 000030
の要素ｇ１、ｇ２、ｇ３、ｇ４の値が、それぞれ、０、−１０．０、０、０となるジャイレータを表現する素子部である。節点２とグランドＧとの節点電圧を電流枝に変えて節点１とグランドＧに挿入する働きをする回路である。すなわち、ネットリスト
【数２４】
2017219595.tif 000031
の部分が、微分方程式の第１式  （ｄｘ／ｄｔ）＝―１０ｘ＋１０ｙを節点１から出る電流和が零という節点方程式として表現している。ｘは節点１の節点電圧で、ｙは節点２の節点電圧である。節点１に関する式に反映させるためには、２から１への電圧電流変換するジャイレータが使用されている。
【００９０】
ネットリスト
【数２５】
2017219595.tif 000032
の部分が、微分方程式の第２式  ｄｙ／ｄｔ＝２８ｘ―ｙ―ｘｚに対応する。３番目のＦｕｎｃのａは、節点２の節点電圧の変数ｙ、ｂはグランドＧの節点電圧０に対応し、値が１．０のコンダクタンスを表現する。単に、枝電圧“ｖ”としてもよい。４番目のＦｕｎｃＭにおいて、ａは節点１の節点電圧の変数ｘ、ｂは節点３の節点電圧の変数ｚに対応し、積ｘｚの電圧を生成し、節点２への電流に変換されている。ｘは節点１の節点電圧で、ｚは節点３の節点電圧であるが、積ｘｚの電圧を電流に変換し、節点２に関する電流に反映させるために、ジャイレータが内包されている。
【００９１】
ネットリスト
【数２６】
2017219595.tif 000033
の部分が、微分方程式の第３式ｄｚ／ｄｔ＝（−８／３）ｚ＋ｘｙを表現する。２番目のＦｕｎｃのａは、節点３の節点電圧の変数ｚ、ｂはグランドの節点電圧０に対応し、コンダクタンス値８／３のコンダクタンスを表現する。３番目のＦｕｎｃＭのａは節点１の節点電圧の変数ｘ、ｂは節点２の節点電圧の変数ｙに対応する。積ｘｙの電圧を生成し、節点３への電流に変換している。ｘは節点１の節点電圧で、ｙは節点２の節点電圧であるが、積ｘｙの電圧を電流に変換し、節点３に関する電流に反映させるために、ジャイレータが内包されている。
【実施例４】
【００９２】
回路の音から音楽への写像について説明する。回路を解析する場合、数値積分する刻み幅ｈは、その安定性、精度および速度を考慮して決定される。その刻み幅ｈを、Ｗａｖファイルのヘッダーから抽出された標準レート、例えば、４４、１００Ｈｚの逆数２．２６７５７Ｅ−５に合わせることができれば、回路変数の波形変化は、そのまま、音の波形変化に写像される。さらに、その音の波形を時間周波数変換して得られる周波数集合をＭＩＤＩ集合の時系列に対応するように動的にピッチシフトさせることができれば、その音楽は、回路によって記述される現象の音色の音楽となる。すなわち、本発明では、回路解析を実行する数値積分の刻み幅ｈとして、標準レート、例えば、４４、１００Ｈｚの逆数である２．２６７５７Ｅ−５を選択使用することが優先される。しかし、現象を表現する周波数集合の周波数は低い場合も高い場合もある。その現象を表現する回路の解を求めるための数値積分法の刻み幅ｈは、安定性、精度および速度を考慮して、低サンプリング周波数２．２６７５７Ｅ−３、あるいは、高２．２６７５７Ｅ−７とする場合もある。数値積分のサンプリング周波数ｆｈ＝１／ｈを使用して得られた回路変数の波の軌跡を標準レート（４４、１００Ｈｚ）で得られる音楽の音の波の軌跡に変更するサンプリング写像が必要となる。  サンプリング周波数ｆｈ＝１／ｈを使用して得られた回路変数の時系列集合をそのまま標準レート（４４、１００Ｈｚ）でサンプリングされた集合とみなす写像が単純サンプリング写像である。単純サンプリング写像によって、回路の周波数集合は、拡大、縮小の写像処理によって変更される。
【００９３】
しかし、本発明では、単純サンプリング写像操作によって得られた音は、回路によって表現される現象の音のひとつと考える。回路によって表現される現象の音は、回路変数の２変数の解曲線から生成されるアトラクタ構造上の実数点（ｘ０（ｔ）、ｙ０（ｔ））の時間的変化による波である。実数点（ｘ０（ｔ）、ｙ０（ｔ））を操作（単純サンプリング処理を含む）によって音とから音楽をつくることを音操作Ｏｐ（Ｓ）と呼ぶことにする。すなわち、音Ｓが音操作Ｏｐ（Ｓ）によって音楽Ｍ＝Ｏｐ（Ｓ）が生成される。音操作Ｏｐ（Ｓ）＝｛Ｏ１、Ｏ２、・・・、Ｏｍ｝は多種多様の操作要素Ｏｉの集合である。音操作Ｏｐ（Ｓ）は、デジタル処理であるから、音操作Ｏｐ（Ｓ）によって、当然、アトラクタ構造上の実数点（ｘ０、ｙ０）は、サンプリング写像処理、間引き処理（比率１：１の間引きも間引き処理に含む）、あるいは、内挿処理などによって離散点（ｘ、ｙ）に遷移する（遷移０も含む）。その離散点（ｘ、ｙ）は、アトラクタ構造上の実数点（ｘ０、ｙ０）の軌跡のε内の近傍領域の点であればよい。サンプリング写像処理は音操作Ｏｐ（Ｓ）の要素Ｏｉの一つである。音操作Ｏｐ（Ｓ）によって生成される音楽Ｍは、アトラクタ構造固有の音楽であることが要求される。従って、例えば、カオス現象を表現する複雑なストレンジ・アトラクタ構造の音Ｓから音操作Ｏｐ（Ｓ）によって生成された音楽Ｍが単純な正弦波（単なる円のアトラクタ）の音楽Ｍになったとしたら、その音操作Ｏｐ（Ｓ）が悪いことになる。逆に、生成された音楽Ｍが感覚性を含む固有なものとなれば、その音操作Ｏｐ（Ｓ）はよいことになる。マシンによる論理的な音操作Ｏｐ（Ｓ）の評価は音楽を聴く感覚的な人間に依存する。音操作Ｏｐ（Ｓ）に必要となるサンプリング写像処理は、デジタル信号処理、例えば、ＡＤ変換処理等に必要となるサンプリング周波数変換処理とは、異にする。
【００９４】
汎用のサンプリング周波数変換処理は、間引き処理や、例えば、前値あるいは０値挿入による内挿処理とＦＦＴ処理におけるエリアジングひずみの発生防止用のＬＰＦ（ローパスフィルタ）を必ず必要とする。すなわち、デジタル信号処理において、信号の継続時間が不変のまま、サンプリング周波数をダウンする場合、入力データをＬＰＦ（ローパスフィルタ）で高周波数成分を除去した後に、ｐ個置きにデータを間引くデシメーション処理を使用する。デジタル信号処理において、信号の継続時間が不変のまま、サンプリング周波数をアップする場合、入力データの間にｑ−１個の、例えば、０値のデータを挿入した後に、ＬＰＦ（ローパスフィルタ）に通してひずみ成分を除去する０値挿入処理を使用する。一般的には、デジタル信号処理において、信号の継続時間が不変とする周波数比ｑ：ｐのサンプリング周波数変換法は、中間にひとつのＬＰＦ（ローパスフィルタ）を挟んで０値挿入処理とデシメーション処理を実行することになる。ＬＰＦ（ローパスフィルタ）は、特に、エリアジングひずみの発生を防止するために必要となる。
【００９５】
しかし、この汎用的なサンプリング周波数変換法は、音操作Ｏｐ（Ｓ）の音色維持処理に必ず必要となる処理ではない。エリアジングひずみの発生を防止するために、高周波数成分を除去する低域フィルタリング処理は、サンプリング周波数が最大入力周波数よりかなり大きい場合には必要としないこと、現象の波の高周波数成分を取り除いてしまう逆効果、さらに、場合によっては、エリアジング、すなわち、折り返し周波数による効果を逆に抑制してしまうという場合もある。０値の挿入処理は、音色維持のためではなく、信号の継続時間の維持のための処理である。波のアトラクタ軌跡の維持を条件とする場合には、間引き処理、そして、ニュートン補間あるいはスプライン補間等による内挿処理を利用する方がよいと考えられる。ただし、前値あるいは０値挿入は内挿処理に包含される。
【００９６】
本発明は、現象の音Ｓの波をＭＩＤＩ集合の時間系列に対応する固有な音楽Ｍの波に音操作Ｏｐ（Ｓ）によって変換することを重要視する。本発明の静的周波数シフト処理は、周波数集合の最大周波数が標準レート（４４、１００Ｈｚ）のサンプリング周波数の半分（２２、０５０Ｈｚ）に比べて  小さい、例えば、５０００Ｈｚ以下の周波数帯域にて、要求されたＭＩＤＩ集合の周波数に大まかに近づける処理である。その処理は、波の軌跡維持、すなわち、アトラクタ構造上の変数維持を条件に単純サンプリング写像を伴う間引き処理と、必要ならば、内挿補間処理を含む。
【００９７】
今、周波数を高くするために、回路変数集合に関する、間引き処理、縮小処理（詰め処理）、単純高サンプリング写像、複写処理を含む静的周波数シフト処理について説明する。間引き処理は、例えば、刻み幅ｈ＝２．２６７５７Ｅ−３とする短い時間区域の変数集合、
｛０、１、２、３、４、５、６、７、８、９｝
を｛（０、１）、（２、３）、（４、５）、（６、７）、（８、９）｝のように、部分変数集合に区切り、その部分変数集合の最初の変数｛０、２、４、６、８｝を残し他の変数を間引く処理で、縮小処理は、その間引き処理によって得られた縮小変数部分集合
｛（０）、（２）、（４）、（６）、（８）｝
を詰めて単にバファに記憶する処理である。複写処理は、全体の変数の数が、1音符長の長さに対応する数以上になるように、縮小変数部分集合の後に同じ集合を複写、すなわち、アペンドすることになる。結果の集合は、例えば、
｛（０）、（２）、（４）、（６）、（８）、（０）、（２）、（４）、（６）、（８）｝
となる。この集合取得に関するサンプリング周波数は単純高サンプリング写像による標準サンプリング２．２６７５７Ｅ−５（４４、１００Ｈｚ）である。音の波の集合Ｓから音楽Ｍを生成するために、この静的周波数シフト処理後に動的ピッチシフト処理を実行することになる。その音操作Ｏｐ（Ｓ）に関するサンプリング周波数は単純サンプリング写像による標準サンプリング周波数、すなわち、４４、１００Ｈｚである。
【００９８】
次に、刻み幅ｈの数値積分による解析結果の変数集合の要素数が少ない場合に、その音の波の点集合の分解能を向上するために、内挿処理が実行される場合がある。回路変数集合に関する、内挿処理、複写処理と単純サンプリング写像を含む静的周波数変更処理について説明する。内挿処理は、短い時間区域の変数集合、例えば、
｛０、１、２、３、４、５、６、７、８、９｝
を
｛（０、１）、（２、３）、（４、５）、（６、７）、（８、９）｝
のように、部分変数集合に区切り、その部分変数集合の変数｛０、１、２、３、４、５、６、７、８、９｝を残し、適当な内挿補間法を使って内挿する処理である。例えば、結果の変数集合は、拡大され、
｛（０、０．５、１）、（２、２．５、３）、（４、４．５、５）、（６、６．５、７）、（８、８．５、９）｝
となる。この集合に関するサンプリング周波数は単純高または単純低サンプリング写像による標準サンプリング２．２６７５７Ｅ−５（４４、１００Ｈｚ）である。複写処理は、内挿処理で得られた変数集合の変数の数が、1音符長の長さに対応する数に達していない場合に実行される。すなわち、拡大した変数集合の後に同じ集合を複写、すなわち、アペンドする処理である。その結果を音の波の集合とし、その後に、動的シフト処理が実行される。その音操作Ｏｐ（Ｓ）に関するサンプリング周波数は単純サンプリング写像によって写像された標準サンプリング周波数、すなわち、４４、１００Ｈｚである。
【００９９】
回路の周波数集合の最大周波数が大きい場合、しかし、その最大周波数が標準サンプリング周波数の半分４４、１００Ｈｚ／２を超えない場合、数値積分の刻み幅ｈは、標準レート２．２６７５７Ｅ−５より小さく、例えば、２．２６７５７Ｅ−７を使用することがある。数値積分の刻み幅ｈが小さいと、解析時間が長くなるので、解析の最大時間を小さくする必要があり、結果として、解析の変数集合の大きさが小さくなる。また、間引き処理によって、解析の変数集合の大きさが小さくなることもある。内挿処理は、解析空間において、分解能を向上するため、すなわち、点集合の大きさを増加させる場合に利用するが、結果として、単純サンプリング写像の使用による静的周波数シフト処理に対応することになる。例えば、ニュートンの内挿補間法は求める多項式を
【０１００】
ｆ（ｘ）＝d０＋d１（ｘ−ｘ０）＋d２（ｘ−ｘ０）（ｘ−ｘ１）＋・・・
＋dｍ（ｘ−ｘ０）（ｘ−ｘ１）・・・（ｘ−ｘｄ−１）
として、順次、係数d０、d１、・・・、ｄｍを与えられた点集合から求めていく方法である。例えば、ｙ＝ｆ（ｘ）上の５点のデータ集合｛（ｘ０、ｙ０）、（ｘ１、ｙ１）、（ｘ２、ｙ２）、（ｘ３、ｙ３）、（ｘ４、ｙ４）｝がアトラクタ構造上に存在する既知な値とするとき、最初の２点（ｘ０、ｙ０）、（ｘ１、ｙ１）を選択し、終点（ｘ１、ｙ１）を除く内挿点数１０を指定すれば、始点（ｘ０、ｙ０）から終点（ｘ１、ｙ１）までの関数ｆ（ｘ）上の点集合として１０個分出力されることになる。これが、内挿処理である。点の数が増加し、分解能が向上する。また、始点（ｘ０、ｙ０）を残し、他の４点（ｘ１、ｙ１）、（ｘ２、ｙ２）、（ｘ３、ｙ３）、（ｘ４、ｙ４）｝を削除すれば、データ点数は５分の１（１：５）に減ることになる。これが、間引き処理となる。分解能は低下し、点の数は減少する。間引き率（１：１）も間引き処理に含まれる。
【０１０１】
間引き処理や内挿処理を含む音操作Ｏｐ（Ｓ）によって得られた標準２．２６７５７Ｅ−５でサンプリングされた回路変数集合｛（ｘ（ｔ）、ｙ（ｔ））｝の波の周波数集合｛（Ｆ（ｘ（ｔ））、Ｆ（ｙ（ｔ）））｝の最大周波数は標準サンプリング周波数の半分４４、１００Ｈｚ／２を超えないとする。この制限下であれば、入力周波数が標準レート（４４、１００Ｈｚ）の半分を超えることがないので、サンプリング定理を満たすことになる。静的周波数シフト処理後に低周波帯域の包絡処理（アタック、デケイ、サステンション、レリーズ）を実行し、その後に動的ピッチシフト処理を実行しても、動的ピッチシフト処理内にあるＦＦＴ処理によるエリアジングひずみは生じないことになる。
【０１０２】
図１０Ａは、刻み幅ｈ＝２６７５７Ｅ−３による数値積分して得られる点集合｛（ｘ０（ｔ）、ｙ０（ｔ））｝のローレンツ・アトラクタの図である。ｘ０（ｔ）とｙ０（ｔ）は、それぞれ、ステレオ音の左音ｌ（ｔ）と右音ｒ（ｔ）の波になる元の波である。ＦＦＴによる周波数変換を実行すると低周波数集合となる。  図１１Ａは、解析用サンプリング周波数２６７５７Ｅ−３とするＦＦＴの結果である。周波数が非常に低いことが示されている。問題は、このアトラクタ上の点集合｛（ｘ０（ｔ）、ｙ０（ｔ））｝の波を音楽の波にいかに変換するかである。単なる波は、当然、ＦＦＴ変換すれば、スペクトルを有する周波数集合となる。しかし、その周波数集合｛（Ｆ（ｘ０（ｔ））、Ｆ（ｙ０（ｔ）））｝の要素の中で大きさが最大のスペクトル、すなわち、振幅最大スペクトルｆｍａｘは、ＭＩＤＩ集合のその時点でのＭＩＤＩ番号に対応する周波数とは異なる。また、周波数集合が音の音色を決めるとするならば、その音色を維持しながら、振幅最大スペクトルｆｍａｘを要求ＭＩＤＩ番号に対応する周波数に合わせるピッチシフト技術を必要とする。
【０１０３】
本発明の周波数シフト処理の特徴は、常に、アトラクタ構造上の音となる２個の回路変数（ｘ０（ｔ）、ｙ０（ｔ））のペアに対して同期的にシフト処理を実行し音楽をつくることである。アトラクタ構造上の音の波は、時間ｔが陽には現れず、従って、刻み幅ｈ、あるいはサンプリング周波数の値がどんな値であっても、アトラクタ上にある点（ｘ０、ｙ０）である。アトラクタ構造に依存する音であり、アトラクタ構造の音楽であることが保証される。点（ｘ０（ｔ）、ｙ０（ｔ））の２変数間の同期性も保障される。  
【０１０４】
本発明は、回路解析部１１１内にある回路シミュレータＳＤＰで得られたアトラクタをまず間引き処理によって、要求されたＭＩＤＩ集合の周波数帯域に近くなるように、まず、静的周波数シフト処理を実行する。図１０Ａは、上記のネットリスト（数２２）に対応する微分方程式（数２１）をＧｅａｒ法（陽的ルンゲクッタ法でもよい）によって数値積分した結果のローレンツ・アトラクタの図である。刻み幅ｈは２．２６７５７Ｅ−３で、解析の最終時間は大きく５０秒である。解析刻み幅が標準刻み幅２．２６７５７Ｅ−５より大きい場合には、間引き処理が実行される。図１０Ａに示したアトラクタを１：４０で間引き処理すると、図１０Ｂの相似アトラクタとなり、周波数集合は変更される。図１０Ａに示したアトラクタを１：４０で３回連続して間引き処理すると、図１０Ｃの相似アトラクタとなり、周波数集合は変更される。図１０Ｃの相似アトラクタはフィルタ処理されていない。単純高サンプリング処理される前の状態である。図１１Ａは、元の図１０Ａのローレンツ・アトラクタの左音ｌ（ｔ）をＦＦＴした周波数集合である。周波数域でのサンプリング周波数は、時間域での解析時の刻み幅ｈと同じ２．２６７５７Ｅ−３としている。周波数スペクトルは存在するが、全体的に非常に低い周波数集合となっている。図１１Ｂは、元の図１０Ｃの相似アトラクタの左音ｌ＿ｃ（ｔ）をＦＦＴした周波数集合である。図１０Ｃの相似アトラクタの周波数集合（図１１Ｂ）をみると、周波数集合は変更されている。すなわち、間引き処理と単純高サンプリング変換処理を実行すると、最大振幅スペクトルを中心とする周波数集合は変化要素数が減りシフトされ、音楽として聞ける周波数域にあることがわかる。図１０Ａの元のローレンツ・アトラクタの周波数集合（図１１Ａ）は、周波数は非常に低く、低域領域にある。間引き処理によって相似アトラクタに遷移し、単純高サンプリング写像の処理を実行すると、得られた図１０Ｃの相似アトラクタ構造上の音の周波数集合（図１１Ｂ）は、音楽の周波数集合に写像されることになる。ただし、１：１の間引き処理（スキップ）でも十分な場合もある。相似アトラクタにするための間引き処理は、付加価値として雑音抑制効果がある。間引き処理と単純サンプリング写像処理は、静的周波数シフト処理である。静的周波数シフト処理は、アトラクタ構造の全体像に変化がないように、相似アトラクタを形成し、静的に周波数集合をシフトすることである。すなわち、静的周波数シフト処理は、複写処理を含み、動的ピッチシフト処理の前処理となる。
【実施例５】
【０１０５】
図１２の動的ピッチシフト処理について説明する。動的ピッチシフト処理は、周波数域でＭＩＤＩ集合に対応するように周波数集合をシフトすることである。本発明で使用される動的ピッチシフト処理には２種類ある。一つは、音をつくる回路変数が、例えば、音源素子の関数
【数２７】
2017219595.tif 000034
の表現のように、最大振幅スペクトルの周波数ｆ０が陽的に既知で、ネットリスト上に音源素子のキャリア周波数ｆ０として表現しておく場合である。そのキャリア周波数ｆ０を要求ＭＩＤＩ周波数に対応するように、その音源素子の数式をそのまま動的シフト処理に利用する陽的シフト方式３０８である。他のひとつは、最大振幅スペクトルの周波数が陽的には表現されていない場合である。このことを条件に、音源セルネットワークから出力される２変数に対応する相似アトラクタの最大振幅スペクトルの周波数を探索し、抽出した最大振幅スペクトルの周波数ｆとＭＩＤＩ周波数との差分を小さくすることにより、ダイナミックにその周波数集合を動的シフトする陰的ピッチシフト方式３１１である。  
【０１０６】
本発明では、音源ネットワークによって生成される回路変数の波が有する音色を維持することを重要視しているので、ＭＩＤＩ集合の主たる２オクターブ領域には陰的ピッチシフト方式３１１を使用する。それ以外のオクターブ領域では、陽的シフト方式３０８を利用する。陽的シフト方式でも、最大振幅スペクトルの周波数が陽的に表現されている２変数素子の数式はユーザ自身によって設定される。
【０１０７】
陰的ピッチシフト方式３１１を説明する。陰的ピッチシフト方式では、アトラクタ構造上あるいは相似アトラクタ構造上の２変数（ｘ（ｔ）、ｙ（ｔ））をペアとして、すなわち、各２変数が同期して、対応する周波数集合が動的に実行される。陰的ピッチシフト方式は、周波数集合｛Ｆ（ｘ（ｔ））、Ｆ（ｙ（ｔ））｝を大きさ不変のまま、周波数域上でシフト、すなわち、周波数集合｛Ｓｈｉｆｔ［Ｆ（ｘ（ｔ））］、Ｓｈｉｆｔ［Ｆ（ｙ（ｔ））］｝とする処理である。本発明では、シフト後の結果に対して、フィルタリング処理として部分的狭帯域の抽出、あるいは、大きさの倍率を変える場合がある。動的シフトされるのは、周波数集合の部分集合である。しかし、「部分」という言葉は省略される。周波数集合｛Ｆ（ｘ（ｔ））、Ｆ（ｙ（ｔ））｝において、最大振幅周波数が存在し、それぞれをＦｍａｘ（ｘ（ｔ））、Ｆｍａｘ（ｙ（ｔ））とする。今、要求されるＭＩＤＩ番号をＭＩＤＩ＿ｘ、ＭＩＤＩ＿ｙとする。それらの周波数をそれぞれＦＭＩＤＩ＿ｘ、ＦＭＩＤＩ＿ｙとする。陰的ピッチシフト処理は、差分
【数２８】
2017219595.tif 000035
が小さくなるような最大振幅周波数とＭＩＤＩ周波数との比に対応するシフト量Ｄ＿ｆｆを探索し、探索結果の周波数集合｛Ｓｈｉｆｔ［Ｆ（ｘ（ｔ））］、Ｓｈｉｆｔ［Ｆ（ｙ（ｔ））］｝を求めることである。１フレーム内の周波数集合が選択される部分は、最大でＤＮ／２である。短時間周波数変換としてＦＦＴを使用するが、フレーム全体に対して変換を施すＦＦＴの代わりに部分的に周波数点を選択できるＧｏｅｒｔｚｅｌのアルゴリズムも有効に利用できる。
【０１０８】
入力集合｛（ｘ（ｔ）、ｙ（ｔ））；ｔ＝０、１、２、・・・、ｔ＿ｍａｘ｝は短時間周波数変換ＳＴＦＴされ、シフト処理に適したＦＩＦＯに格納される。フレームごとの処理である。ＳＴＦＴとして、ＦＦＴを使うとすれば、各入力集合｛ｘ（ｔ）、ｙ（ｔ）｝の周波数集合｛Ｆ（ｘ（ｔ））、Ｆ（ｙ（ｔ））｝の各要素、例えば、Ｆ（ｘ（ｔ））は実部と虚部からなる複素数で表現される。実部と虚部から、大きさ、位相が取得されるので、隣接フレーム間の位相差を考慮して適切な周波数集合を周波数域にて取得する。次に、ピッチ（周波数）シフト処理を実行する。シフト後、シフトされた結果の複素数に対して逆ＦＦＴを実行し、時間域の変数に戻すことになる。以上の操作を音符の長さに対応する入力集合の時系列の終了まで続けられる。逆変換されるとき、窓関数が利用されるが、本発明では、この窓関数の狭帯域の選択にフィルタ処理が実行される。フィルタの帯域幅は、ユーザによって可変的に設定される。隣接フレーム間誤差や時間周波数変換誤差を小さくし、雑音を抑制するためには、逆変換時に利用される窓関数の形を周波数帯域によって可変とすること、そして、包絡処理を曲依存として調整することが重要となる。このようにして、音符粒子法による自動採譜によって生成されたＭＩＤＩ集合の時系列に乗せる音の波を有する時系列集合が、音楽として、原メロディの近似音集合として抽出される。以上説明したように、本発明のピッチシフトは、アトラクタ構造の音に関する静的周波数シフト処理と、それに継続する動的ピッチシフト処理から成る。２次元アトラクタ構成上の左音の回路変数と右音の回路変数をペアとしてシフトするので、アトラクタ構造が維持される。そのことで、左の再生音と右の再生音の同期状態も維持できることになる。
【０１０９】
最後に、順処理または逆処理によって得られた展開型ＭＩＤＩ集合の時系列の各行にあるＭＩＤＩ周波数集合に回路変数の周波数集合を合わせるピッチシフト処理について図１２の処理フローを使って説明する。左音と右音に限定する。すなわち、回路変数は２個とし、この時間的変化の変数集合を使ってできるアトラクタを構造不変な相似アトラクタに変更する。相似アトラクタ上の対応する左音変数と右音変数が、ピッチシフト処理によって、左音と右音の音楽として生成されることになる。処理が開始すると、まず、１音符の長さまで処理したかの判断３００を実行する。処理が終わりならば、次の１音符の処理となる。処理が終わりでなければ、処理３０１を実行する。記憶部に保存されている相似アトラクタ（刻み幅ｈによるサンプリング周波数によって取得された２変数集合）に対応する左音変数と右音変数を時間ｔ＝０において、必要な長さを維持するための複写処理を実行し、記憶部に保存しておく（３０１、３０２）。１音符長の長さを維持するために、必要ならば、複写処理することになる（３０２）。このとき、サンプリング周波数は標準レートの４４、１００Ｈｚとする。時間ｔを進め、フレーム内のデータ数ＤＮのデータが集計された段階で、１音符長の各フレームの時間領域内において、アタック、デケィ、サステンション、レリーズなどの波形の包絡処理（３０３）を実行し、さらに、陰的動的シフトの場合を条件として、高速なＦＦＴ（３０４）を実行し、周波数域での周波数集合のデータを取得する。その周波数集合において、振幅最大周波数ｆｍａｘ（＝Ｆｍａｘ）を獲得し、要求されたＭＩＤＩに対応する周波数ＦＭＩＤＩ＿ｘと比較し、その比Ｄ＿ｆｆを計算する（３０６）。Ｄ＿ｆｆによってｆｍａｘは動的シフト可能な周波数領域にあるかどうかをチェックする（３０７）。領域内ならば、動的な陰的ピッチシフト処理の初期化処理（３０９）を実行し、振幅最大周波数ｆｍａｘとＭＩＤＩの周波数ＦＭＩＤＩ＿ｘとの比Ｄ＿ｆｆに対応するシフトＤ＿ｆｆ量をチェックし（３１０）、周波数領域にて陰的な動的ピッチシフトを実行する（３１１）。処理３１０において、３０６で計算されたシフト量Ｄ＿ｆｆが最適でない場合は、相似アトラクタ構造の変更処理を介して最初に戻る。シフト量Ｄ＿ｆｆが最適であれば、ＦＦＴ（３０４）で得られら周波数集合をシフト量Ｄ＿ＦＦに対応してピッチシフトする（３１１）。その動的シフト処理（３１１）に組み込まれたＦＦＴ逆変換を実行し、さらにフィルタ処理し（３１２）、時間域の波にすれば、音楽の音となる。処理３０７において、領域外であれば、動的シフト処理としての陽的ピッチシフト処理を実行する（３０８）。すなわち、入力ファイルに組み込まれているキャリア周波数を陽に含むセル関数式に従って、要求ＭＩＤＩ番号に対応する周波数にそのキャリア周波数をシフトすれば、その関数値である時間域の音の波は、音楽の音となる。以上のフレーム処理を音符長の時間長まで繰り返す処理となる（３００）。一曲の時間長のデータ数は膨大であるが、順処理では音符数Ｎ０、逆処理では、解析結果として求められた音符数Ｎの数となる。
【０１１０】
図１３は、本発明の処理結果のローレンツ・アトラクタの1  音符波形（アタック、  デケィ、  レリーズ）  である。不思議な音楽となる。
【産業上の利用可能性】
【０１１１】
産業の利用分野として、音符粒子法に基づく自動採譜と本発明の自動微分に基づく音源ネットワークは、楽譜の編曲ばかりでなく、ユーザ自身で、編曲の音色を変えることを可能にする。そのことで、音楽の自動採譜、自動編曲、音楽情報検索、音楽の加工などの分野への発展的応用が可能となる。音源セルネットワークに基づく音楽生成法は、ユーザにとって、音符粒子法が有する高データベース性、高圧縮性、高使用性、高理解性、高表現性、高通信性、高同期性を継承し、多種多様な音色を有する音楽の複数ＰＣのオーケストラ演奏化、インターネット配信化に利用できる。音符粒子法と本発明の音源セルネットワークに基づく音楽生成法は、演奏の音から自動でエクセル楽譜、あるいは５線楽譜を作成することを含み、自動楽譜による複数チャネル演奏は、元の楽譜演奏とは異なる編曲された多種多様な音色を有する近似音楽となる。そのことが逆に新しい編曲産業を生む。
【０１１２】
クライアント側からの要求に基づいて、サーバ側のデータベースにある圧縮型エクセル楽譜あるいは展開型エクセル楽譜がインターネット媒体としてクライアント側にダウンロードされる。複数チャネルの音源付き演奏は、トラックリスト表示、ピアノロール表示、自動５線音符表示、イベントリスト表示のうち少なくとも１つを動画表示しながら、実行される。あるいは、ユーザ自身が本発明の音源セルネットワークに基づいて音源を設計し、自分の音の音楽を聞いて楽しむこともできる。
【符号の説明】
【０１１３】
１  本発明の音楽生成法の主要な部
２  音符粒子法を含む音符行列楽譜生成法の主要な部
１００  ５線楽譜認識部
１０１  圧縮型エクセル生成部
１０２  和音展開、繰り返し記号展開部
１０３  時間周波数変換（フーリエ変換、ガボール変換）部
１０４  テンポ解析（音符粒子長解析）部
１０５  クラスタリング（ｋ−ｍｅａｎｓ法）部
１０６  音符粒子集合部
１０７  音符長結合部
１０８  展開型エクセル生成処理部
１０９  ＭＩＤＩｔｏＷＡＶ変換部
１１０  ＭＩＤＩ.ｃｓｖ生成部
１１１  本発明の回路解析部
１１２  音源（ｗａｖファイル）生成部
１１３  標準音源生成部かつｍｉｄファイル生成部
１１４  トラックリスト、ピアノロール、イベントリスト、5線楽譜自動生成部
１１５  音の再生部
２００  ２変数自動微分法
２０５  数値積分法
２０７  間引き処理
２０９  内挿処理
２１０  複写処理、包絡処理、動的シフト処理
１０  計算機（ＰＣ）
１１  記憶部
１２  演算部
１３  制御部
１４  入力部
１５  出力部
３０２  複写処理
３０３  包絡処理
３１１  陰的な動的シフト処理
３０８  陽的な動的シフト処理
【図１】
2017219595.tif 000036
【図２】
2017219595.tif 000037
【図３】
2017219595.tif 000038
【図４】
2017219595.tif 000039
【図５Ａ】
2017219595.tif 000040
【図５Ｂ】
2017219595.tif 000041
【図５Ｃ】
2017219595.tif 000042
【図６】
2017219595.tif 000043
【図７】
2017219595.tif 000044
【図８】
2017219595.tif 000045
【図９】
2017219595.tif 000046
【図１０Ａ】
2017219595.tif 000047
【図１０Ｂ】
2017219595.tif 000048
【図１０Ｃ】
2017219595.tif 000049
【図１１Ａ】
2017219595.tif 000050
【図１１Ｂ】
2017219595.tif 000051
【図１２】
2017219595.tif 000052
【図１３】
2017219595.tif 000053