(57)【要約】【課題】非調和高調波周波数を導き出す演算につき、自然数と考えられている高調波番号ｎを小数点以下で若干修正することにより、非調和の高調波合成を行い、人間の耳に心地よく聞こえる高調波合成音を発生する。【解決手段】アサインメントメモリ６０からのトーンナンバデータＴＮは、非調和定数テーブル８５で非調和定数Ｃに変換され、非調和周波数演算回路９１で高調波番号データｎとともに演算される；高調波番号データｎには高調波番号修正データαが乗算され修正される；高調波番号修正データαはテーブル１０２でキーナンバデータＫＮから変換される；高調波番号ｎの値は、高調波番号修正データαによって修正されているので、非調和の高調波周波数値は若干修正される；求められた高調波周波数の速度で楽音波形メモリ４３から各高調波の楽音波形データＭＷが時分割に読み出され、累算器４６で累算合成される。【選択図】図５
2004212566.tif 000002
【特許請求の範囲】
【請求項１】
発生する楽音の基本周波数ｆ１の信号を発生する手段と、
この基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは自然数の高調波番号、ルートは続く括弧内の平方根）の関係にある周波数の高調波信号を発生する手段と、
上記自然数の高調波番号ｎの値を上記基本周波数ｆ１の値に応じて若干修正し、これにより上記高調波信号の周波数を若干修正する手段と、
上記基本周波数ｆ１の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力する手段とを備えたことを特徴とする非調和音発生装置。
【請求項２】
発生する楽音の基本周波数ｆ１の信号を発生させる工程と、
この基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは自然数の高調波番号、ルートは続く括弧内の平方根）の関係にある周波数の高調波信号を発生させる工程と、
上記自然数の高調波番号ｎの値を上記基本周波数ｆ１の値に応じて若干修正させ、これにより上記高調波信号の周波数を若干修正させる工程と、
上記基本周波数ｆ１の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力させる工程とを備えたことを特徴とする非調和音発生方法。
【請求項３】
発生する楽音の基本周波数ｆ１の信号を発生させる処理と、
この基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは自然数の高調波番号、ルートは続く括弧内の平方根）の関係にある周波数の高調波信号を発生させる処理と、
上記自然数の高調波番号ｎの値を上記基本周波数ｆ１の値に応じて若干修正させ、これにより上記高調波信号の周波数を若干修正させる処理と、
上記基本周波数ｆ１の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力させる処理とをコンピュータに実行させることを特徴とする非調和音発生のためのコンピュータプログラム。
【請求項４】
発生する楽音の基本周波数の信号を発生する手段と、
この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目（ｎは自然数）の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれを（Ａ×ｎ３）にほぼ比例するようにして、これらの周波数の高調波信号を発生する手段と、
上記自然数のｎの値を上記基本周波数の値に応じて若干修正し、これにより上記高調波信号の周波数を若干修正する手段と、
上記基本周波数の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力する手段とを備えたことを特徴とする非調和音発生装置。
【請求項５】
発生する楽音の基本周波数の信号を発生させる工程と、
この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目（ｎは自然数）の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらせるようにし、このずれを（Ａ×ｎ３）にほぼ比例するようにさせて、これらの周波数の高調波信号を発生させる工程と、
上記自然数の高調波番号ｎの値を上記基本周波数の値に応じて若干修正させ、これにより上記高調波信号の周波数を若干修正させる工程と、
上記基本周波数の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力させる工程とを備えたことを特徴とする非調和音発生方法。
【請求項６】
発生する楽音の基本周波数の信号を発生させる処理と、
この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目（ｎは自然数）の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらせるようにし、このずれを（Ａ×ｎ３）にほぼ比例するようにさせて、これらの周波数の高調波信号を発生させる処理と、
上記自然数の高調波番号ｎの値を上記基本周波数の値に応じて若干修正させ、これにより上記高調波信号の周波数を若干修正させる処理と、
上記基本周波数の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力させる処理とをコンピュータに実行させることを特徴とする非調和音発生のためのコンピュータプログラム。
【請求項７】
発生する楽音の基本周波数の信号を発生する手段と、
この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目（ｎは自然数）の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ）または（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）として、これらの周波数の高調波信号を発生する手段と、
上記自然数のｎの値を上記基本周波数の値に応じて若干修正し、これにより上記高調波信号の周波数を若干修正する手段と、
上記基本周波数の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力する手段とを備えたことを特徴とする非調和音発生装置。
【請求項８】
発生する楽音の基本周波数の信号を発生させる工程と、
この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目（ｎは自然数）の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらせるようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ）または（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）とさせて、これらの周波数の高調波信号を発生させる工程と、
上記自然数の高調波番号ｎの値を上記基本周波数の値に応じて若干修正させ、これにより上記高調波信号の周波数を若干修正させる工程と、
上記基本周波数の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力させる工程とを備えたことを特徴とする非調和音発生方法。
【請求項９】
発生する楽音の基本周波数の信号を発生させる処理と、
この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目（ｎは自然数）の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらせるようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ）または（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）とさせて、これらの周波数の高調波信号を発生させる処理と、
上記自然数の高調波番号ｎの値を上記基本周波数の値に応じて若干修正させ、これにより上記高調波信号の周波数を若干修正させる処理と、
上記基本周波数の信号とこの周波数が若干修正された高調波信号とを合成して１つの楽音として出力させる処理とをコンピュータに実行させることを特徴とする非調和音発生のためのコンピュータプログラム。
【請求項１０】
上記若干修正された高調波信号の周波数の値を、上記基本周波数の値に応じてさらに若干修正させ、
上記基本周波数は上記楽音の音高またはキーナンバであることを特徴とする請求項１、４または７記載の非調和音発生装置。
【請求項１１】
上記定数Ｃは上記楽音の音色または楽器の種類に応じて決定され、同じ音色または楽器の種類においては上記定数Ｃは変化せず、
上記基本周波数の値の変化に応じて上記自然数の高調波番号ｎの値を若干修正させ、または上記基本周波数の値の変化に応じて高調波信号の周波数の値を若干修正させることを特徴とする請求項１、４、７または１０記載の非調和音発生装置。
【請求項１２】
上記自然数の高調波番号ｎの値の修正の特性と、上記高調波信号の周波数の値の修正の特性とは、互いに逆の特性であり、互いにほぼ、
自然数の高調波番号ｎの値の修正値：ルート（Ｃｘ／Ｃ）
高調波信号の周波数の値の修正値：ルート（Ｃ／Ｃｘ）・ルート（１＋Ｃ）／ルート（１＋Ｃｘ）
（Ｃは上記定数、ルートは続く括弧内の平方根）
の関係にあり、両修正値を乗算すると、常にルート（１＋Ｃ）／ルート（１＋Ｃｘ）となることを特徴とする請求項１０または１１記載の非調和音発生装置。
【請求項１３】
上記高調波番号ｎの値の修正量は、自然数の高調波番号ｎの値に対して、小数点以下の量であり、小数点以下１桁、２桁、３桁、４桁、５桁、６桁、７桁若しくは８桁値、または１／１０、１／１００、１／１０００、１／１万、１／１０万、１／１００万、１／１０００万、１／１億の値をもつことを特徴とする請求項１、４、７、１０、１１または１２記載の非調和音発生装置。
【請求項１４】
上記定数Ｃは上記楽音の音色、楽器の種類、タッチ、音高、発音時間、同時発音数、共鳴度の音楽的ファクタまたは操作者の選択によって決定され、
上記基本波信号及び高調波信号の大きさは音楽的ファクタに基づいてそれぞれ個別に設定されることを特徴とする請求項１、４、７、１０、１１、１２または１３記載の非調和音発生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非調和音発生装置及び非調和音発生方法などに関し、特に発生される楽音に非調和音を合成する装置及び方法に関する。
【０００２】
【発明の背景】
本件出願人は、非調和音発生の技術に関して、特願平１０−３７７４１５号（特開２０００−２０００８７）を出願済みである。本件特許出願に係る発明は、この出願済みの発明をさらに改良しようというものである。この改良によって、非調和定数Ｃが一定でも、人間の耳に心地よく聞こえる高調波合成音を発生させようというものである。
【０００３】
【課題を解決するための手段】
この目的を達成するために、本発明は、自然数である高調波番号を基本周波数の値に応じて若干修正したり、この若干修正された高調波信号の周波数の値を、上記基本周波数の値に応じてさらに若干修正したりする。高調波番号は、「番号」と言うとおり、自然数であるとの考え方が一般的であり、これを小数点以下で修正するという考え方はなかった。
【０００４】
この高調波信号の周波数は、基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは自然数の高調波番号、ルートは続く括弧内の平方根を示す）の関係にある。
【０００５】
また、基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目（ｎは自然数）の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれを（Ａ×ｎ３）にほぼ比例するようにして、これらの周波数の高調波信号を発生する。
【０００６】
さらに、基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目（ｎは自然数）の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ）または（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）として、これらの周波数の高調波信号を発生する。
【０００７】
これにより、人間の耳に心地よく聞こえる高調波合成音を発生することができる。なお、高調波番号ｎ＝１の高調波は基本波を示し、狭義の高調波からは除外され、通常１番目の高調波は高調波番号ｎ＝２の２倍音となる。
【０００８】
【発明の実施の形態】
１．全体回路
図１は電子音響装置または電子楽器の全体回路を示す。キーボード１１の各キーは、楽音の発音及び消音を指示するもので、キースキャン回路１２によってスキャンされ、キーオン、キーオフを示すデータが検出され、コントローラ２によってプログラム／データ記憶部４に書き込まれる。そして、それまでプログラム／データ記憶部４に記憶されていた各キーのオン、オフの状態を示すデータと比較され、各キーのオンイベント、オフイベントの判別が、コントローラ２によって行われる。
【０００９】
このキーボード１１の各キーには段差タッチスイッチが設けられ、各段差スイッチごとに上記スキャンが行われ、各段差スイッチの先頭のオン／オフごとにオンイベント／オフイベントの検出が行われる。この段差スイッチによってタッチの速さと強さを示す上記タッチ情報つまりイニシャルタッチデータとアフタタッチデータとが発生される。
【００１０】
このキーボード１１は、ローアキーボード、アッパーキーボード、ペダルキーボード等から成っており、それぞれにつき異なる音色の楽音、つまりエンベロープ波形の異なる楽音が発音される。そして、アッパーキーボードについては、１つのキーオンで２音色の楽音を同時に鳴らすことも可能である。なお、キーボード１１は、電子弦楽器、電子吹奏（管）楽器、電子打楽器（パッド等）、コンピュータのキーボード等で代用される。
【００１１】
パネルスイッチ群１３の各スイッチは、パネルスキャン回路１４によって、スキャンされる。このスキャンにより、各スイッチのオン、オフを示すデータが検出され、コントローラ２によってプログラム／データ記憶部４に書き込まれる。そして、それまでプログラム／データ記憶部４に記憶されていた各スイッチのオン、オフの状態を示すデータと比較され、各スイッチのオンイベント、オフイベントの判別が、コントローラ２によって行われる。この発音される楽音は上記キーボード１１による手動演奏の楽音または自動演奏情報から再生された自動演奏の楽音である。この手動演奏または自動演奏の各楽音はミディインターフェース１５からも送られてくる。
【００１２】
ミディインターフェース１５は、外部接続された電子楽器との間で楽音データの送受を行うためのインタフェースである。この楽音データはＭＩＤＩ（ミュージカルインスツルメントデジタルインタフェース）規格のもので、この楽音データに基づいた発音も行われる。
【００１３】
上記キーボード１１またはミディインターフェース１５には、自動演奏装置も含まれる。これらキーボード１１、パネルスイッチ群１３及びミディインターフェース１５から発生された演奏情報（楽音発生情報）は、楽音を発生させるための情報である。キーボード１１の手動演奏情報は自動演奏情報としてプログラム／データ記憶部４に書き込まれ記憶される。このミディインターフェース１５を通じて、他の機器から自動演奏情報が送られてきたり、プログラム／データ記憶部４内の自動演奏情報が他の機器へ送られたりする。
【００１４】
上記演奏情報（楽音発生情報）は、音楽的ファクタ（因子）情報であり、音高（音域）情報（音高決定因子）、発音時間情報、演奏分野情報、発音数情報、共鳴度情報などである。発音時間情報は楽音の発音開始からの経過時間を示す。演奏分野情報は、演奏パート情報、楽音パート情報、楽器パート情報等を示し、例えばメロディ、伴奏、コード、ベース、リズム、ＭＩＤＩ等に対応したり、または上鍵盤、下鍵盤、足鍵盤、ソロ鍵盤、ＭＩＤＩ等に対応している。
【００１５】
上記音高情報はキーナンバデータＫＮとして取り込まれる。このキーナンバデータＫＮはオクターブデータ（音域データ）と音名データとからなる。演奏分野情報は、パートナンバデータＰＮとして取り込まれ、このパートナンバデータＰＮは各演奏エリアを識別するデータであって、発音操作された楽音がどの演奏エリアからのものかによって設定される。
【００１６】
発音時間情報は、トーンタイムデータＴＭとして取り込まれ、後述のフローチャートによって求められたり、キーオンイベントからのタイムカウントデータに基づいたり、またはエンベロープフェーズで代用される。この発音時間情報は特願平６−２１９３２４号明細書及び図面に発音開始からの経過時間情報として詳しく示される。
【００１７】
発音数情報（同時発音数データＳＳ）は同時に発音している楽音の数を示し、例えばアサインメントメモリ６０のオン／オフデータが「１」の楽音の数に基づき、後述するフローチャートの処理によって求められる。
【００１８】
共鳴度情報（共鳴度データＫＤ）は、同時に発音している１つの楽音と他の楽音との共鳴度を示す。この１つの楽音の音高周波数と他の楽音の音高周波数とが小さい整数数倍比であれば共鳴度情報の値は大きく、大きい整数数倍比であれば共鳴度情報の値は小さくなり、後述するフローチャートの処理によって求められる。この共鳴度情報は、同時に発音している各楽音同志の音高・周波数の協和度・調和度・協和音関係または同時に発音している各楽音の共振関係・共振内容も含むものである。
【００１９】
さらに、上記パネルスイッチ群１３には各種スイッチが設けられ、この各種スイッチは音色タブレット、エフェクトスイッチ、リズムスイッチ、ペダル、ホイール、レバー、ダイヤル、ハンドル、タッチスイッチ等であって楽器用のものである。このペダルはダンパーペダル、サスティンペダル、ミュートペダル、ソフトペダル等である。
【００２０】
この各種スイッチより、楽音制御情報が発生され、この楽音制御情報は発生された楽音を制御する情報であって音楽的ファクタ（因子）情報であり、音色情報（音色決定因子）、タッチ情報（発音指示操作の速さ／強さ）、発音数情報、共鳴度情報、エフェクト情報、リズム情報、音像（ステレオ）情報、クオンタイズ情報、変調情報、テンポ情報、ラウドネス（音量）情報、エンベロープ情報等である。これら音楽的ファクタ情報も上記演奏情報（楽音情報）に合体され、上記各種スイッチより入力されるほか、上記自動演奏情報に合体されたり、上記インターフェイスで送受される演奏情報に合体される。
【００２１】
上記音色情報は、鍵盤楽器（ピアノ等）、管楽器（フルート等）、弦楽器（バイオリン等）、打楽器（ドラム等）の楽器（発音媒体／発音手段）の種類等に対応しており、トーンナンバデータＴＮとして取り込まれる。上記エンベロープ情報は、上述のエンベロープスピードＥＳ、エンベロープレベルＥＬ、エンベロープタイムＥＴ、エンベロープフェーズＥＦなどである。
【００２２】
上記ラウドネス（音量）情報はラウドネスデータＬＮとして取り込まれ、各楽音の大きさを表す。このラウドネスデータＬＮは、上記タッチデータＴＣ、音量データ等に基づいて決定され、場合によって発音数、共鳴度情報などによっても決定される。
【００２３】
このような音楽的ファクタ情報は、コントローラ２へ送られ、後述の各種信号、データ、パラメータの切り換えが行われ、楽音の内容が決定される。上記演奏情報（楽音発生情報）及び楽音制御情報はコントローラ２で処理され、各種データが楽音信号発生部５へ送られ、楽音波形信号ＭＷが発生される。コントローラ２はＣＰＵ、ＲＯＭ及びＲＡＭなどからなっている。
【００２４】
プログラム／データ記憶部４（内部記憶媒体／手段）には、自動演奏情報が記憶されている。この自動演奏情報の中には発音開始タイミング情報とエンベロープ種類情報とが記憶されている。このエンベロープ種類情報に基づいて発音開始タイミング情報が変更制御される。
【００２５】
プログラム／データ記憶部４（内部記憶媒体／手段）はＲＯＭまたは書き込み可能なＲＡＭ、フラッシュメモリまたはＥＥＰＲＯＭ等の記憶装置からなり、光ディスクまたは磁気ディスク等の情報記憶部７（外部記憶媒体／手段）に記憶されるコンピュータのプログラムが書き写され記憶される（インストール／転送される）。またプログラム／データ記憶部４には外部の電子楽器またはコンピュータから上記ミディインターフェース１５または送受信装置を介して送信されるプログラムも記憶される（インストール／転送される）。このプログラムの記憶媒体は通信媒体も含む。
【００２６】
このインストール（転送／複写）は、情報記憶部７が本楽音生成装置にセットされたとき、または本楽音生成装置の電源が投入されたとき自動的に実行され、または操作者による操作によってインストールされる。上記プログラムは、コントローラ（ＣＰＵ）２が各種処理を行うための後述する各フローチャート（図１０、図１１、図１４、図１５）に応じたプログラムである。
【００２７】
なお、本装置に予め別のオペレーティングシステム、システムプログラム（ＯＳ）、その他のプログラムが記憶され、上記プログラムはこれらのＯＳ、その他のプログラムとともに実行されてもよい。このプログラムは本装置（コンピュータ本体）にインストールされ実行されたときに、別のプログラムとともにまたは単独で請求項（クレーム）に記載された処理・機能を実行させることができればよい。
【００２８】
また、このプログラムの一部又は全部が本装置以外の１つ以上の別装置に記憶されて実行され、本装置と別装置との間には通信手段を介して、これから処理するデータ／既に処理されたデータ／プログラムが送受され、本装置及び別装置全体として、本発明が実行されてもよい。
【００２９】
このプログラム／データ記憶部４には、上述した音楽的ファクタ情報、上述した各種データ及びその他の各種データも記憶される。この各種データには時分割処理に必要なデータや時分割チャンネルへの割当のためデータ等も含まれる。
【００３０】
楽音信号発生部５では、各部分音ごとに楽音波形信号ＭＷが繰り返し発生されサウンドシステム６から発音出力される。上記音高情報に応じて、この繰り返し発生される楽音波形信号ＭＷの発生速度は変化される。また上記音色情報などの音楽的ファクタ情報に応じて、この繰り返し発生される楽音波形信号ＭＷの波形形状は切り換えられる。この楽音信号発生部５は時分割処理によって複数の楽音信号が同時に生成されポリフォニックに発音される。
【００３１】
タイミング発生部３からは、楽音生成装置の全回路の同期を取るためのタイミングコントロール信号が各回路に出力される。このタイミングコントロール信号は、各周期のクロック信号のほか、これらのクロック信号を論理積または論理和した信号、時分割処理のチャンネル分割時間の周期を持つチャンネルクロック信号ＣＨφ、この４倍の周波数を持つチャンネルクロック信号４ＣＨφ、チャンネルナンバデータＣＨＮｏ、この４倍インクリメント速度を持つチャンネルナンバデータ４ＣＨＮｏ、タイムカウントデータＴＩなどを含む。このタイムカウントデータＴＩは、絶対時間つまり時間の経過を示し、このタイムカウントデータＴＩのオーバフローリセットから次のオバーフローリセットまでの周期は、各楽音のうち最も長い発音時間より長く、場合によって数倍に設定される。
【００３２】
２．楽音信号発生部５
図２は上記楽音信号発生部５を示す。周波数ナンバ累算器４２には、アサインメントメモリ６０から読み出された各チャンネルのキーナンバデータＫＮ及びトーンナンバデータＴＮ等の音楽的ファクタが送られ、キーナンバデータＫＮに応じた周波数ナンバデータＦＮが時分割に累算され、この累算された累算周波数ナンバデータＦＮＡは楽音波形メモリ４３へ読み出しアドレスデータとして時分割に供給される。
【００３３】
上記楽音波形メモリ４３には、複数の楽音波形データＭＷが記憶されており、各楽音波形データＭＷは上記累算周波数ナンバデータＦＮＡに基づいて時分割に読み出される。各楽音波形データＭＷの選択は、上記トーンナンバデータＴＮ等の音楽的ファクタまたはパネルスイッチ群１３での操作者による選択操作に基づいて行われる。
【００３４】
このトーンナンバデータＴＮ等の音楽的ファクタは、アサインメントメモリ６０から読み出され、上記周波数ナンバ累算器４２へ送られ、バンクデータＢＫに変換され、上記楽音波形メモリ４３へ上位読み出しアドレスデータとして供給される。下位読み出しアドレスデータは、上記累算周波数ナンバデータＦＮＡである。
【００３５】
この楽音波形データＭＷは、ピアノ、バイオリン、フルート、シンバル等の楽器音の波形のサンプリングデータである。この楽音波形データＭＷは、サイン波、三角波、短形波等の波形に対応したり、高調波成分の含有率やノイズ音成分の含有率等、特定成分の含有率の大きさに対応したり、特定フォルマントに応じたスペクトル成分グループに対応したり、発音開始から発音終了までの全波形の種類に対応したり、タッチデータＴＣまたは／及びキースケーリングデータＫＳに対応したりしてもよい。
【００３６】
上記アサインメントメモリ６０からパラレルに読み出された各部分音の４つのラウドネスデータＬＮは、セレクタ４１でシリアルにされ、乗算器４７へ送られ、各部分音の楽音波形データＭＷに乗算される。これにより、各部分音の大きさつまり各部分音の合成比率が決定される。このセレクタ４１には、上記４倍インクリメント速度を持つチャンネルナンバデータ４ＣＨＮｏの下位２ビットが選択信号として供給される。この４つの部分音の各レベルつまり各ラウドネスデータＬＮを変えて合成割合を変えれば、合成音の楽音波形の形状が変化し音色も変化する。
【００３７】
上記サイン波、三角波、短形波などの単純形状の楽音波形データＭＷについては、高速演算処理によって発生させる事も可能である。むろん複雑な波形についても、高速演算処理によって発生させる事も可能である。
【００３８】
エンベロープジェネレータ４４には、アサインメントメモリ６０から読み出された各チャンネルの上記トーンナンバデータＴＮなどの音楽的ファクタが送られ、このトーンナンバデータＴＮなどに応じたエンベロープ波形データＥＮが時分割に発生される。このエンベロープ波形データＥＮは、乗算器４５で上記楽音波形メモリ４３から読み出された楽音波形データＭＷに乗算され、累算器４６で全チャンネルにわたって累算され、上記サウンドシステム６へ送られて発音出力される。なお、この累算器４６は２つに分けられ、先の累算器４６では４つの部分音ごとに累算され、後の累算器４６では、全楽音について累算されてもよい。
【００３９】
３．各部分音テーブル１０
図３は、プログラム／データ記憶部４内の部分音テーブル１０を示す。この部分音テーブル１０には、各部分音の音楽的ファクタが記憶されている。上記各楽音のトーンナンバデータＴＮは、この部分音テーブル１０で各部分音ごとの高調波番号データｎに変換される。この各部分音ごとの高調波番号データｎに基づいて、各部分音つまり各高調波の周波数が求められる。
【００４０】
この各部分音は基本波及び高調波からなり、高調波合成された楽音が発生される。この高調波番号データｎは、通常は２、３、４、５、６、…の整数であり、高調波次数つまり高調波番号を表す。高調波番号データｎ＝１の高調波は基本波を示し、狭義の高調波からは除外され、１番目の高調波は高調波番号ｎ＝２となる。この高調波番号データｎは、通常は、２、４、８であるが、場合によって、２、８、３２のように飛び越されたり、３、５、９のように奇数次のこともあるし、希に１．５、３．３、７．１、１６．８のように非整数のこともある。基本波の高調波番号データＨＮは常に「１」であるから省略される。
【００４１】
さらに、上記各楽音のトーンナンバデータＴＮは、この部分音テーブル１０で各部分音ごとのレベル比データＬＲに変換される。この各部分音ごとの４つのレベル比データＬＲは、上記合成楽音全体のラウドネスデータＬＮに乗算され、各部分音のラウドネスデータＬＮが求められる。この各部分音ごとのラウドネスデータＬＮは、上記アサインメントメモリ６０の各チャンネルエリアに書き込まれる。この各部分音ごとのラウドネスデータＬＮに基づいて、各部分音の大きさつまりレベルが決定される。この合成楽音全体ののラウドネスデータＬＮは、上記タッチデータＴＣ、音量データ等に基づいて決定される。上記レベル比データＬＲは基本波についても記憶される。
【００４２】
さらに、上記各楽音のトーンナンバデータＴＮは、この部分音テーブル１０で各部分音ごとのエンベロープデータに変換される。この各部分音ごとのエンベロープデータに基づいて、各部分音ごとのエンベロープ波形が決定される。この各部分音ごとのエンベロープデータは、上記アサインメントメモリ６０の各チャンネルエリアに書き込まれる。なお、このエンベロープデータは、上述したように各エンベロープフェーズごとのエンベロープスピードデータＥＳ及びエンベロープレベルデータＥＬからなっている。
【００４３】
なお、この各部分音ごとのエンベロープデータは省略され、合成音全体で１つのエンベロープデータが設定されてもよい。また、これら各部分音ごとのトーンナンバデータＴＮ、高調波番号データｎ、エンベロープデータは、楽音のトーンナンバデータＴＮからではなく、楽音の他の音楽的ファクタから変換されてもよい。また、これらの部分音の音楽的ファクタの選択は、パネルスイッチ群１３での操作者の選択操作によっても、切り換え選択される。
【００４４】
さらに、各部分音の他の音楽的ファクタについては、各部分音ごとに異なるものではない。しかし、異なるようにすることも可能である。例えば、タッチデータＴＣは各部分音ごとに異なっていてもよい。これにより、タッチ特性が各部分音ごとに異なるようになる。さらに、共鳴度データＫＤは各部分音ごとに異なっていてもよい。これにより、共鳴特性が各部分音ごとに異なるようになる。
【００４５】
なお、各合成楽音全体のトーンナンバデータＴＮは、この部分音テーブル１０で各部分音ごとに互いに異なるトーンナンバデータＴＮに変換されてもよい。これにより、各部分音の楽音波形データＭＷの形状が異なり、異なる楽音波形の高調波合成が可能となる。この各部分音ごとのトーンナンバデータＴＮは、上記アサインメントメモリ６０の各チャンネルエリアに書き込まれる。
【００４６】
４．アサインメントメモリ６０
図４は、楽音信号発生部５のアサインメントメモリ６０を示す。アサインメントメモリ６０には、複数（１６、３２または６４等）のチャンネルメモリエリアが形成されており、上記楽音信号発生部５に形成された複数の楽音生成チャンネルに割り当てられた合成楽音に関するデータが記憶される。
【００４７】
これら各チャンネルメモリエリアには、チャンネルが割当られた各合成楽音の周波数ナンバデータＦＮ、キーナンバデータＫＮ、エンベロープデータなどが記憶される。なお、トーンナンバデータＴＮ、タッチデータＴＣ、トーンタイムデータＴＭ、ラウドネスデータＬＮ、高調波番号データｎ、パートナンバデータＰＮ、上記共鳴度データＫＤ、オン／オフデータ等も記憶される。
【００４８】
オン／オフデータは割り当られ発音する楽音（部分音）がキーオン中または発音中（“１”）かキーオフ中または消音中（“０”）かを示す。周波数ナンバデータＦＮは割り当られ発音する楽音の周波数値を示し、上記キーナンバデータＫＮから変換される。上記プログラム／データ記憶部４には、この変換のためのテーブル（デコーダ）が設けられている。
【００４９】
上記エンベロープデータは、各エンベロープフェーズごとのエンベロープスピードデータＥＳ及びエンベロープレベルデータＥＬからなっている。エンベロープスピードデータＥＳはエンベロープのデジタル演算１周期当たりの演算のステップ値を示す。エンベロープレベルデータＥＬは各フェーズごとのエンベロープ演算の到達目標値を示す。後述するフェーズカウンタ５０からのカウント値はエンベロープフェーズデータＥＦとしてこのアサインメントメモリ６０に記憶される。これらエンベロープデータは上記トーンナンバデータＴＮなどの音楽的ファクタまたはパネルスイッチ群１３の操作者による選択操作に基づいてプログラム／データ記憶部４から読み出される。
【００５０】
キーナンバデータＫＮは割り当られ発音する楽音の音高（周波数）を示し、上記音高情報に応じて決定される。このキーナンバデータＫＮは、オンイベントがあって当該部分音がチャンネル割り当てされ合成されるたびに、キーナンバデータＫＮがアサインメントメモリ６０の該当チャンネルメモリエリアに記憶され、オフイベントのたびに対応するキーナンバデータＫＮは消去される。キーナンバデータＫＮの上位データは音域またはオクターブを示し、下位データは音名を示す。このキーナンバデータＫＮは省略可能である。
【００５１】
トーンナンバデータＴＮは、割り当てられ発音する楽音の音色を示し、上記音色情報に応じて決定される。このトーンナンバデータＴＮが異なれば音色も異なり、この楽音の楽音波形も異なる。タッチデータＴＣは、発音操作の速さまたは強さを示し、上記タッチ情報に応じて決定される。パートナンバデータＰＮは、上述したように各演奏エリアを示し、発音操作された楽音がどの演奏エリアからのものかによって設定される。トーンタイムデータＴＭは、キーオンイベントからの経過時間を示す。
【００５２】
４つのラウドネスデータＬＮは、各部分音の大きさを表す。この４つのラウドネスデータＬＮの大きさによって、各高調波の高調波合成の割合が決定され、合成楽音の音色も決定される。この各部分音のラウドネスデータＬＮは、合成楽音全体のラウドネスデータＬＮに対して上記部分音テーブル１０からの各部分音のレベル比データＬＲが乗算されて求められストアされる。
【００５３】
高調波番号データｎは、高調波合成される各部分音の高調波の次数を示す。このアサインメントメモリ６０では、３つの高調波の高調波番号データｎのほか、基本波の高調波番号データｎ「１」も記憶される。
【００５４】
上記トーンナンバデータＴＮは、合成楽音全体として設定されるので、この合成楽音を構成する４つの部分音は通常は同じトーンナンバデータＴＮとなり、同じ楽音波形データＭＷが読み出される。しかし、上述したようにこの４つの部分音は異なるトーンナンバデータＴＮであってもよい。この場合、各部分音として異なる波形形状の楽音波形データＭＷが読み出される。
【００５５】
この読み出される楽音波形データＭＷがサイン波のときは、４つの部分音は周波数の異なる４つのサイン波となるから、いわゆるサイン合成つまり高調波合成が実行される。この４つの部分音の各レベルつまり各ラウドネスデータＬＮを変えて合成割合を変えれば、合成音の楽音波形の形状が変化し音色も変化する。
【００５６】
上記４つの部分音は、通常は、基本波、第１高調波、第２高調波、第３高調波からなる。基本波は設定された音高に対応した基本周波数ｆ１を持ち、第１高調波、第２高調波、第３高調波はそれぞれ設定音高の２倍、３倍、４倍、５倍、６倍、７倍、８倍、…、１６倍、…の整数倍の周波数を持つ。ただし、この整数倍は、正確には後述するように、基本周波数ｆ１に対して、ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは高調波番号、ルートは続く括弧内の平方根）の関係にあり、多少のずれがある。この４つの部分音は合成されて１つの楽音として出力される。このように各高調波の周波数は正確に整数倍比ないために互いに非調和な関係にある。
【００５７】
これら各チャンネルメモリエリアの各データは、オンタイミング及び／又はオフタイミングに書き込まれ、各チャンネルタイミングごとに書き換えられたり、読み出されたりして、上記楽音信号発生部５で処理される。このアサインメントメモリ６０は、楽音信号発生部５の中ではなく、プログラム／データ記憶部４またはコントローラ２の中に設けてもよい。
【００５８】
上記時分割処理によって形成されるチャンネル、すなわち複数の楽音（部分音）を並行して発生するための複数の楽音発生システムへの各楽音の割り当て方法またはトランケート方法は、例えば特願平１−４２２９８号、特願平１−３０５８１８号、特願平１−３１２１７５号、特願平２−２０８９１７号、特願平２−４０９５７７号、特願平２−４０９５７８号に示された方法が使われる。
【００５９】
５．周波数ナンバ累算器４２（第１実施例）
図５は、上記周波数ナンバ累算器４２を示すものである。上記アサインメントメモリ６０から時分割に読み出される周波数ナンバデータＦＮ（キーナンバデータＫＮ）及びトーンナンバデータＴＮは、ラッチ８０を介して、非調和定数テーブル８５で非調和定数Ｃに変換される。この非調和定数Ｃは、非調和周波数を求めるためのｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の中の定数「Ｃ」を指す。ここで、ｆ１は基本周波数つまり上記周波数ナンバデータＦＮを表し、Ｃは定数を表し、ｎは高調波番号を表し、ルートは続く括弧内の値の平方根を求めることを表す。
【００６０】
この非調和定数Ｃは、乗算器９０で、非調和度調整データＨＭが乗算され、非調和周波数演算回路９１で演算される。この非調和周波数演算回路９１には、上記アサインメントメモリ６０からの高調波番号データｎもシリアルに供給され、上記ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の演算が実行される。高調波番号ｎの値は、高調波番号修正データαによって修正されているので、この演算値は若干修正されることになる。
【００６１】
さらに乗算器９２で上記基本周波数の周波数ナンバデータＦＮ（ｆ１）及び高調波周波数修正データβ＝ルート（Ｃ／Ｃｘ）・ルート（１＋Ｃ）／ルート（１＋Ｃｘ）が乗算され、ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の演算が実行される。これにより、各部分音つまり各高調波の各周波数ナンバデータｆｎが算出される。この各部分音の周波数ナンバデータｆｎは、サンプリング変換テーブル９３で、実際の上記楽音波形データＭＷのサンプリングステップに対応したアドレス値に変換される。
【００６２】
上記演算式は、高調波番号修正データα及び高調波周波数修正データβによって修正されているので、実際にはｆｎ＝ｆ１・β・α・ｎ・ルート（１＋Ｃ・α２・ｎ２）／ルート（１＋Ｃ）となる。この修正がなければ、この演算は上記ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）となる。そして、高調波番号ｎの値は、高調波番号修正データαによって修正されているので、各高調波の各周波数ナンバデータｆｎの値つまり高調波周波数値は若干修正されることになる。また、この若干修正された各高調波の各周波数ナンバデータｆｎの値つまり高調波周波数値が、上記高調波周波数修正データβの値に応じてさらに若干修正されることになる。
【００６３】
このような高調波番号修正データαまたは高調波周波数修正データβは、高調波番号修正テーブル１０２または高調波周波数修正テーブル１０４で、ラッチ８９からのキーナンバデータＫＮ（基本周波数の周波数ナンバデータＦＮ／音高データ）から変換されるので、このような修正は各チャンネルに割り当てられた楽音の音高つまり基本周波数ｆ１に基づいて行われ、当該音高つまり基本周波数ｆ１が変化すれば、高調波番号修正データαまたは高調波周波数修正データβも変化して、各高調波の各周波数ナンバデータｆｎの値つまり高調波周波数値も変化する。
【００６４】
上記アサインメントメモリ６０の各チャンネルの周波数ナンバデータＦＮ（キーナンバデータＫＮ）、トーンナンバデータＴＮ、タッチデータＴＣ、キーナンバデータＫＮ（上位）、トーンタイムデータＴＭ、ラウドネスデータＬＮ、高調波番号データｎ、共鳴度データＫＤ、パートナンバデータＰＮ及びラッチ２８からの同時発音数データＳＳ、などの音楽的ファクタまたは操作者の選択指定データ等は、ラッチ８９を介して周波数リピートＲＯＭ８８で、これらの各データＴＮ（ＫＮ）、ＴＣ、ＫＮ、ＴＭ、ＳＳ、ＫＤ、ＰＮに応じたバンクデータＢＫ、イニシャル周波数ナンバデータＩＦ、リピートトップデータＲＴ、リピートエンドデータＲＥに変換される。バンクデータＢＫは楽音波形メモリ４３へ送られる。
【００６５】
上記イニシャル周波数ナンバデータＩＦは、オンイベント時にセレクタ８１を介して加算器８２で上記周波数ナンバデータｆｎが加算され、セレクタ８３を介し、周波数ナンバレジスタ８４にセットされる。この周波数ナンバレジスタ８４には、複数チャンネル分の周波数ナンバデータｆｎが記憶され、上記チャンネルクロック信号ＣＨφによって順次シフトされる。従って、１６（３２、６４）チャンネル分の分割タイムごとに、周波数ナンバデータｆｎはイニシャル周波数ナンバデータＩＦを初期値として順次累算されていく。
【００６６】
上記リピートエンドデータＲＥは、コンパレータ８６に与えられる。このコンパレータ８６には、上記加算器８２からの累算周波数ナンバデータＦＮＡも与えられており、累算周波数ナンバデータＦＮＡがリピートエンドデータＲＥを越えると、比較検出信号が上記セレクタ８３に与えられる。これにより、累算周波数ナンバデータＦＮＡはリピートエンドデータＲＥからリピートトップデータＲＴまで戻って順次累算されていく。
【００６７】
この累算された各部分音の累算周波数ナンバデータＦＮＡは、上記楽音波形メモリ４３へ送られ、各部分音が時分割に読み出され、上記乗算器４７でラウドネスデータＬＮが乗算されて、それぞれがレベル制御され、上記累算器４６で１つの楽音に合成される。これにより、高調波合成が達成される。
【００６８】
上記アサインメントメモリ６０から読み出された各チャンネルの上記高調波番号データｎは、ラッチ８９を経て、セレクタ９４でシリアルにされ、乗算器１０３で高調波番号修正データα＝ルート（Ｃｘ／Ｃ）が乗算され、上記非調和周波数演算回路９１へ送られる。これにより、高調波番号ｎの値が若干修正される。このセレクタ９４には、上記４倍のインクリメント速度を持つチャンネルナンバデータ４ＣＨＮｏの下位２ビットが選択信号として供給される。
【００６９】
この高調波番号ｎの値の修正量は、自然数の高調波番号ｎの値に対して、小数点以下の量である。この高調波番号ｎの修正量は、小数点以下１桁、２桁、３桁、４桁、５桁、６桁、７桁若しくは８桁、または１／１０、１／１００、１／１０００、１／１万、１／１０万、１／１００万、１／１０００万若しくは１／１億の値をもつ。したがって、高調波番号修正データαの値は、「１」を越え「２」を越えない。
【００７０】
上記アサインメントメモリ６０から時分割に読み出されラッチ８９にストアされた各チャンネルのキーナンバデータＫＮ（周波数ナンバデータＦＮ／音高データ）は、高調波番号修正テーブル１０２で高調波番号修正データαに変換され、上記乗算器１０３へ送られる。
【００７１】
上記アサインメントメモリ６０から時分割に読み出されラッチ８９にストアされた各チャンネルのキーナンバデータＫＮ（周波数ナンバデータＦＮ／音高データ）は、高調波周波数修正テーブル１０４で高調波周波数修正データβ＝ルート（Ｃ／Ｃｘ）・ルート（１＋Ｃ）／ルート（１＋Ｃｘ）に変換され、上記乗算器９２へ送られる。これにより、上述のように若干修正された各高調波の各周波数ナンバデータｆｎの値つまり高調波周波数値が、上記高調波周波数修正データβの値に応じてさらに若干修正される。
【００７２】
パネルスイッチ群１３で操作者によって入力された上記非調和度調整データＨＭは、コントローラ２によってラッチ９５にストアされ、上記乗算器９０に供給される。この非調和度調整データＨＭによって、高調波合成される各部分音の非調和度が変更される。この非調和度調整データＨＭの値が大きくなると、上記非調和定数Ｃの値が大きくなり、高調波合成される各部分音の調和度が小さくなる。
【００７３】
なお、この非調和度調整データＨＭは、上記アサインメントメモリ６０から読み出される各チャンネルごとの周波数ナンバデータＦＮ、トーンナンバデータＴＮ、タッチデータＴＣ、キーナンバデータＫＮ、トーンタイムデータＴＭ、ラウドネスデータＬＮ、高調波番号データｎ、共鳴度データＫＤ、パートナンバデータＰＮ及びラッチ２８からの同時発音数データＳＳなどの音楽的ファクタから変換されてもよい。
【００７４】
また、この部分音合成つまり高調波合成は、時分割チャンネルへの楽音割当と各部分音ごとの時分割読み出しによって達成されていた。しかし、これが複数のサイン波発生演算回路によって実現されてもよい。このサイン波発生演算回路では上記各部分音ごとの周波数ナンバデータｆｎに応じた速度でサイン波が演算され、各周波数のサイン波が演算出力され、レベル制御されて加算合成されて出力される。さらにこのようなサイン波発生演算が時分割に実行されてもよい。
【００７５】
また、非調和周波数演算回路９１からの演算値α・ｎ・ルート（１＋Ｃ・α・ｎ２）／ルート（１＋Ｃ）に高調波周波数修正データβを乗算した演算値β・α・ｎ・ルート（１＋Ｃ・α・ｎ２）／ルート（１＋Ｃ）は、セレクタ８１からの累算周波数ナンバデータＦＮＡに乗算されてもよい。これでも同様の非調和音を発生させることができる。
【００７６】
６．周波数ナンバ累算器４２（第２実施例）
図６は上記周波数ナンバ累算器４２の第２実施例を示す。この第２実施例では、非調和ずれテーブル９７及び非調和ずれ演算回路９８などは、以下のように構成される。上記アサインメントメモリ６０から時分割に読み出される周波数ナンバデータＦＮ（キーナンバデータＫＮ）及びトーンナンバデータＴＮは、ラッチ８０を介して、非調和ずれテーブル９７で、第２倍音つまり２番目の高調波の周波数ナンバのずれデータＡに変換される。このずれデータＡは、基本周波数の２倍の周波数値に対して、高調波番号データｎ＝２の実際の周波数値のずれを示す。
【００７７】
このずれデータＡは、乗算器９０で、非調和度調整データＨＭが乗算され、非調和ずれ演算回路９８で演算される。この非調和ずれ演算回路９８には、上記アサインメントメモリ６０からの高調波番号データｎもシリアルに供給され、ｎ＋（Ａ／６）×（ｎ３）、ｎ＋（Ａ／６）×（ｎ３−ｎ）またはｎ＋（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）の演算が実行される。これにより、各部分音つまりｎ番目の各高調波（倍音）ごとの周波数比が求められる。
【００７８】
この周波数比には上記非調和のためのずれが盛り込まれている。このずれた周波数比では、基本周波数のｎ倍の周波数に対して、ｎ番目の高調波周波数のずれが、上記求められた（Ａ／６）×（ｎ３）、（Ａ／６）×（ｎ３−ｎ）または（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）となる。高調波番号ｎの値は、高調波番号修正データαによって修正されているので、上記周波数比の値は若干修正されることになる。
【００７９】
この求められたずれ周波数比は、乗算器９２で、上記基本周波数の周波数ナンバデータＦＮ（ｆ１）及び高調波周波数修正データβ＝ルート（Ｃ／Ｃｘ）・ルート（１＋Ｃ）／ルート（１＋Ｃｘ）が乗算される。これにより、各部分音つまり各高調波の各周波数ナンバデータｆｎが算出される。この各部分音の周波数ナンバデータｆｎは、サンプリング変換テーブル９３で、実際の上記楽音波形データＭＷのサンプリングステップに対応したアドレス値に変換される。
【００８０】
上記演算式は、高調波番号修正データα及び高調波周波数修正データβによって修正されるので、実際にはｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３）］の演算、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３−α・ｎ）］の演算、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３−α２・ｎ２＋α・ｎ−１）］となる。この場合、［］内の先頭の「α・ｎ」のみを「ｎ」としてもよい。
【００８１】
この修正がなければ、この演算はｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３）］、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ）］、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）］となる。
【００８２】
そして、高調波番号ｎの値は、高調波番号修正データαによって修正されているので、上記各高調波の各周波数ナンバデータｆｎの値つまり高調波周波数値は若干修正されることになる。また、この若干修正された高調波信号の周波数の値ｆｎつまり高調波周波数値は、上記高調波周波数修正データβの値に応じてさらに若干修正されることになる。
【００８３】
このような高調波番号修正データαまたは高調波周波数修正データβは、高調波番号修正テーブル１０２または高調波周波数修正テーブル１０４で、ラッチ８９からのキーナンバデータＫＮ（基本周波数の周波数ナンバデータＦＮ／音高データ）から変換されるので、このような修正は各チャンネルに割り当てられた楽音の音高つまり基本周波数ｆ１に基づいて行われ、当該音高つまり基本周波数ｆ１が変化すれば、高調波番号修正データαまたは高調波周波数修正データβも変化して、各高調波の各周波数ナンバデータｆｎの値つまり高調波周波数値も変化する。
【００８４】
上記ずれデータＡの具体的数値は、図９の２倍音のところに示される数値の小数点以下の数値である。例えば、ピアノの非調和定数Ｃ＝１．００×１０−３であれば、「０．００２９９４７６１」であり、ハープシコードまたはピアノの非調和定数Ｃ＝１．００×１０−４であれば、「０．０００２９９９４８」であり、ギターの非調和定数Ｃ＝１．００×１０−５であれば、「０．００００２９９９９」である。
【００８５】
上記ずれデータＡは、非調和度調整データＨＭが乗算されるので、操作者の操作によって設定されることができるともいえる。このずれデータＡは、上記音色のほか、タッチデータＴＣ、トーンタイムデータＴＭ、ラウドネスデータＬＮ、高調波番号データｎ、共鳴度データＫＤ及び同時発音数データＳＳの音楽的ファクタによって決定されるようにしてもよい。この場合、タッチデータＴＣ、トーンタイムデータＴＭ、ラウドネスデータＬＮ、高調波番号データｎ、共鳴度データＫＤまたは同時発音数データＳＳによって上記非調和ずれテーブル９７の各値が読み出される。
【００８６】
上記アサインメントメモリ６０から読み出された各チャンネルの上記高調波番号データｎは、ラッチ８９を経て、セレクタ９４でシリアルにされ、乗算器１０３で高調波番号修正データα＝ルート（Ｃｘ／Ｃ）が乗算され、上記非調和ずれ演算回路９８へ送られる。これにより、高調波番号ｎの値が若干修正される。このセレクタ９４には、上記４倍のインクリメント速度を持つチャンネルナンバデータ４ＣＨＮｏの下位２ビットが選択信号として供給される。
【００８７】
上記アサインメントメモリ６０から時分割に読み出されラッチ８９にストアされた各チャンネルのキーナンバデータＫＮ（周波数ナンバデータＦＮ／音高データ）は、高調波番号修正テーブル１０２で高調波番号修正データαに変換され、上記乗算器１０３へ送られる。
【００８８】
上記アサインメントメモリ６０から時分割に読み出されラッチ８９にストアされた各チャンネルのキーナンバデータＫＮ（周波数ナンバデータＦＮ／音高データ）は、高調波周波数修正テーブル１０４で高調波周波数修正データβ＝ルート（Ｃ／Ｃｘ）・ルート（１＋Ｃ）／ルート（１＋Ｃｘ）に変換され、上記乗算器９２へ送られる。これにより、上述のように若干修正された各高調波の各周波数ナンバデータｆｎの値つまり高調波周波数値が、上記高調波周波数修正データβの値に応じてさらに若干修正される。
【００８９】
なお、非調和ずれ演算回路９８からの演算値に高調波周波数修正データβを乗算した演算値β・［α・ｎ＋（Ａ／６）×（α・ｎ３）］、β・［α・ｎ＋（Ａ／６）×（α・ｎ３−ｎ）］、β・［α・ｎ＋（Ａ／６）×（α・ｎ３−α・ｎ２＋α・ｎ−１）］は、セレクタ８１からの累算周波数ナンバデータＦＮＡに乗算されてもよい。これでも同様の非調和音を発生させることができる。他の構成・動作は上記図５の第１実施例の周波数ナンバ累算器４２と同じである。
【００９０】
また、上述したｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の演算、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３）］の演算、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ）］の演算、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）］の演算は、プログラム処理によって、コントローラ２（ＣＰＵ）で実行されてもよい。
【００９１】
７．非調和演算テーブル１１０（第３実施例）
図１２は上記非調和周波数演算回路９１の中の非調和演算テーブル１１０を示す。ただし、上記第１実施例の非調和周波数演算回路９１では上記ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）がすべて演算によってが行われるが、この非調和周波数演算回路９１の非調和演算テーブル１１０には、予定の非調和定数Ｃに応じた上記ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）のデータ、すなわちｆｎ／ｆ１が各アドレスに記憶されている。ｆｎ／ｆ１は基本周波数値に対する高調波周波数値の比率を示す。各アドレスは上記高調波番号ｎに対応している。
【００９２】
図１２の非調和演算テーブル１１０のアドレスは「０」から「２５６」まであり、このアドレス値の１０の桁以上が整数アドレスデータであり、１の桁以下が小数アドレスデータである。上記高調波番号修正データαによって修正された高調波番号ｎが読み出しアドレスデータとして供給される。読み出される比率データｆｎ／ｆの１０の桁以上が整数アドレスデータであり、１の桁以下が小数アドレスデータである。
【００９３】
修正高調波番号ｎが「２」であれば、図１２の「２０」のアドレスが読み出され、「２０」（２倍）より若干大きい比率データｆｎ／ｆ１が読み出される。修正高調波番号ｎが「３」であれば、図１２の「３０」のアドレスが読み出され、「３０」（３倍）より若干大きい比率データｆｎ／ｆ１が読み出される。修正高調波番号ｎが「４」であれば、図１２の「４０」のアドレスが読み出され、「４０」（４倍）より若干大きい比率データｆｎ／ｆ１が読み出される。………。
【００９４】
修正高調波番号ｎが「１６」であれば、図１２の「１６０」のアドレスが読み出され、「１６０」（１６倍）より比較的大きい比率データｆｎ／ｆ１が読み出される。………。他の高調波の比率データｆｎ／ｆ１も同様に読み出される。なお、非調和演算テーブル１１０の各アドレスの記憶内容は１／１０に圧縮されてもよい。これにより、修正高調波番号ｎが「２」「３」「４」「５」…「８」「９」…「１６」「１７」…「２５６」…であれば、図１２の「２」「３」「４」「５」…「８」「９」…「１６」「１７」…「２５６」…のアドレスが読み出される。
【００９５】
この読み出された比率データｆｎ／ｆ１は、乗算器９２で基本周波数の周波数ナンバデータＦＮ（ｆ１）及び高調波周波数修正データβが乗算され、各高調波の周波数ナンバデータＦＮ（ｆｎ）が修正されて算出される。図１２の破線Ｓは、非調和にならない高調波の比率データｆｎ／ｆ１、正確に整数倍の関係にある比率データｆｎ／ｆ１を示す。図１２の曲線Ｐは、非調和定数Ｃが「０．０００１０２」の場合の特性である。非調和定数Ｃの値を小さくすると特性Ｒのように非調和度が小さくなり、高調波周波数が整数倍に近くなる。非調和定数Ｃの値を大きくすると特性Ｑのように非調和度が大きくなり、高調波周波数が整数倍からより遠ざかる。
【００９６】
上記非調和定数Ｃは上記トーンナンバデータＴＮ（楽音の音色または楽器の種類）に応じて決定され、同じトーンナンバデータＴＮ（同じ音色または楽器の種類）においては上記非調和定数Ｃは変化しないようにすることができる。これにより、上記図１２の特性Ｐ、Ｑ、Ｒを、トーンナンバデータＴＮに応じて選択できる。なお、この非調和定数Ｃの値を極端に大きくすることも可能である。上記図９では非調和定数Ｃは３／１０万〜３／１０００ほどであったが、これをさらに１０倍、１００倍等に大きくすることも可能である。
【００９７】
そして、上述のように乗算器１０３で、高調波番号修正データαによって、上記自然数の高調波番号ｎの値１、２、３、４、…、８、…、１６、…が若干修正させるので、整数値ごとのアドレスではなく若干ずれたアドレスから、比率データｆｎ／ｆ１が読み出され、これにより、各高調波の周波数ナンバデータＦＮ（ｆｎ）が修正される。したがって、高調波番号修正データαは、図１２の非調和演算テーブル１１０の読み出しアドレスの間隔（横軸スケール）を修正して、横軸方向の伸縮率の役目をもつ。
【００９８】
上記高調波番号修正データαは、高調波番号修正テーブル１０２で、キーナンバデータＫＮ（基本周波数の周波数ナンバデータＦＮ（ｆ１）／音高データ）から変換されるので、キーナンバデータＫＮ（基本周波数の周波数ナンバデータＦＮ（ｆ１）／音高データ）の値の変化に応じて高調波信号の周波数ｆｎの値を若干修正させることになる。
【００９９】
また、上述のように乗算器９２で、高調波周波数修正データβによって、読み出された各比率データｆｎ／ｆ１が若干修正され、これにより、各高調波の周波数ナンバデータＦＮ（ｆｎ）が修正される。したがって、高調波周波数修正データβは、図１２の非調和演算テーブル１１０の読み出された比率データｆｎ／ｆ１の値（縦軸スケール）を修正して、縦軸方向の伸縮率の役目をもつ。
【０１００】
上記高調波周波数修正データβは、高調波周波数修正テーブル１０４で、キーナンバデータＫＮ（基本周波数の周波数ナンバデータＦＮ（ｆ１）／音高データ）から変換されるので、キーナンバデータＫＮ（基本周波数の周波数ナンバデータＦＮ（ｆ１）／音高データ）の値の変化に応じて高調波信号の周波数ｆｎの値を若干修正させることになる。他の構成・動作は上記図５の第１実施例または図６の第２実施例の周波数ナンバ累算器４２と同じである。
【０１０１】
８．高調波番号修正テーブル１０２／高調波周波数修正テーブル１０４
図１３は、上記高調波番号修正テーブル１０２に記憶された上記高調波番号修正データα、及び上記高調波周波数修正テーブル１０４に記憶された上記高調波周波数修正データβを示す。図１３の横軸はキーナンバデータＫＮであり、縦軸は高調波番号修正データαまたは高調波周波数修正データβの値を示す。図１３の中央水平線はαまたはβが「１」に相当し、下へ下がると「１」より小さくなり、上へ上がると「１」より大きくなる。
【０１０２】
アサインメントメモリ６０からラッチ８９を経たキーナンバデータＫＮ（基本周波数の周波数ナンバデータＦＮ／音高データ）が読み出しアドレスデータとして、高調波番号修正テーブル１０２／高調波周波数修正テーブル１０４に供給され、高調波番号修正データα／高調波周波数修正データβが読み出される。
【０１０３】
キーナンバＫＮが「１」〜「１３」付近までは、高調波番号修正データαは減少し、キーナンバＫＮが「１４」以降は、高調波番号修正データαは増加している。また、キーナンバＫＮが「１」〜「１３」付近までは、高調波周波数修正データβは増加し、キーナンバＫＮが「１４」以降は、高調波周波数修正データβが減少している。この高調波番号修正データαと高調波周波数修正データβとは図１３に示すように逆特性となっている。
【０１０４】
このようなキーナンバＫＮに対する高調波番号修正データα／高調波周波数修正データβの変化特性によって、図８の「ピアノ」のような高調波周波数ｆｎの変化特性を得ることができる。このような高調波番号修正テーブル１０２／高調波周波数修正テーブル１０４は、キーナンバデータＫＮに対してではなく、周波数ナンバデータＦ（音高データ）に対して高調波番号修正データαまたは高調波周波数修正データβが記憶されてもよい。
【０１０５】
このように、トーンナンバＴＮ（音色／楽器）が決まって、非調和定数Ｃを一定にして、高調波番号修正データαまたは高調波周波数修正データβだけで、各高調波信号の周波数ｆｎを変更すれば、図７乃至図９のように非調和定数Ｃを変更しなくて済むので、高調波信号の制御が容易になり、高調波信号の生成も迅速になる。
【０１０６】
９．高調波番号修正データα／高調波周波数修正データβの原理
上記高調波番号修正データα／高調波周波数修正データβの原理を以下に示す。上述したように、高調波周波数ｆｎは、以下の「数１」で求められる。
【０１０７】
【数１】
2004212566.tif 000003
【０１０８】
これを変形すると、上記比率データｆｎ／ｆ１（非調和特性）が以下の「数２」で求められる。この比率データｆｎ／ｆ１（非調和特性）は、図１２に示すように、高調波番号ｎによって求められる。
【０１０９】
【数２】
2004212566.tif 000004
【０１１０】
任意の非調和特性（非調和カーブ／比率データｆｎ／ｆ１）を得るために、非調和定数Ｃとして、「Ｃｘ」の値を選ぶと、上記「数２」は、以下の「数３」のようになる。
【０１１１】
【数３】
2004212566.tif 000005
【０１１２】
上記図１２の比率データｆｎ／ｆ１（非調和特性）において横軸をαだけ伸縮すると、つまり読み出しアドレスを高調波番号「ｎ」置きではではなく、修正高調波番号「α・ｎ」置きで読み出すと、上記「数２」は、以下の「数４」のように変形される。
【０１１３】
【数４】
2004212566.tif 000006
【０１１４】
この「数４」において縦軸をβだけ伸縮すると、つまり比率データｆｎ／ｆ１（非調和特性）をβ倍すると、上記「数４」は以下の「数５」のように変形される。
【０１１５】
【数５】
2004212566.tif 000007
【０１１６】
ここで、高調波番号修正データα及び高調波周波数修正データβを、以下の「数６」「数７」ように置き換えてみる。
【０１１７】
【数６】
2004212566.tif 000008
【０１１８】
【数７】
2004212566.tif 000009
【０１１９】
そうすると、上記「数５」は以下の「数８」のようになる。
【０１２０】
【数８】
2004212566.tif 000010
【０１２１】
この「数８」は、上記「数３」と同じになる。このことから、ある１つの非調和特性（非調和カーブ／比率データｆｎ／ｆ１）を、上記「数６」「数７」の規則に従えば、横軸をαだけ伸縮／読み出しアドレスを修正高調波番号「α・ｎ」置きで読み出したり、縦軸をβだけ伸縮／比率データｆｎ／ｆ１（非調和特性）をβ倍したりすれば、任意の非調和特性（非調和カーブ／比率データｆｎ／ｆ１）が得られることになる。
【０１２２】
したがって、上記「数６」「数７」に示すように、高調波番号修正データα及び高調波周波数修正データβは、互いに逆の特性であり、両周波数データを互いに乗算すると常に以下の「数９」の関係が成り立つ。
【０１２３】
【数９】
2004212566.tif 000011
【０１２４】
９．非調和定数テーブル８５
図７は、上記周波数累算器４２内の非調和定数テーブル８５を示す。この非調和定数テーブル８５にはトーンナンバデータＴＮ及び周波数ナンバデータＦＮが供給され、上記非調和周波数を求めるための上記ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の中の非調和定数「Ｃ」が求められる。ここで、ｆ１は基本周波数（周波数ナンバデータＦＮ）を表し、Ｃは定数（非調和定数）を表し、ｎは高調波番号を表し、ルートは続く括弧内の値の平方根を求めることを表す。
【０１２５】
上記非調和定数Ｃの値は、ピアノで１０−５乃至１０−１であり、ハープシコードで１０−５乃至１０−３であり、ギターで１０−５乃至１０−４であり、全体として定数Ｃの値はＣ＝１０−５〜１０−１である。この非調和定数Ｃの値は、音高つまりキーナンバデータＫＮに応じて変化する。またこの非調和定数Ｃの値は、楽器音つまり音色すなわちトーンナンバデータＴＮに応じて変化する。
【０１２６】
この図７の非調和定数Ｃは、実際に種々の非調和の高調波合成音を人間の耳に聞かせて心地よく聞こえる非調和高調波周波数値から求めたものである。実際に求めた周波数比は図９に示される。この周波数比から上述したｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の法則性が導きだされる。このとき同時に、この非調和定数Ｃも導き出される。
【０１２７】
図８は図７の非調和定数Ｃをグラフに表したものである。このように実験から得られた理想的な非調和定数Ｃは、音高つまりキーナンバデータＫＮ（周波数ナンバデータＦＮ）に応じて変化することがわかる。ここで「…Ｅｎ」は「…×１０ｎ」を表し、例えば「３．０Ｅ−０３」は「３．０×１０−３」を表し、「１．１Ｅ−５」は「１．１×１０−５」を表す。
【０１２８】
なお、この非調和定数Ｃは、音色のほか、タッチデータＴＣ、トーンタイムデータＴＭ、ラウドネスデータＬＮ、高調波番号データｎ、共鳴度データＫＤ及び同時発音数データＳＳの音楽的ファクタによって決定されるようにしてもよい。この場合、図７の縦の楽器の種類（トーンナンバデータＴＮ）の代わりに、タッチデータＴＣ、トーンタイムデータＴＭ、ラウドネスデータＬＮ、高調波番号データｎ、共鳴度データＫＤまたは同時発音数データＳＳの各値が設定される。
【０１２９】
１０．非調和周波数の具体例
図９は、上記非調和周波数演算回路９１及び乗算器９２で演算されるｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の具体的数値を示す。非高調波定数Ｃ＝１．０×１０−４のとき、高調波番号データｎ＝２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４、１５、１６、３２、６４、１２８で、基本周波数ｆ１に対する非調和周波数ｆｎの比率（周波数比）＝２．０００２９９９４８、３．００１１９９６４０、４．００２９９８５７６、５．００５９９５８０５、６．０１０４８９７８０、７．０１６７７８２１２、８．０２５１５７９２３、９．０３５９２４７０１、１０．０４９３７３１６５、１１．０６５７９６６１９、１２．０８５４８６９２０、１３．１０８７３４３４４、１４．１３５８２７４５５、１５．１６７０５２９７８、１６．２０２６９５６７９、…、３３．５９６７９６３５８、…、７５．９８１２１００８２、…、２０７．９０１９５５９２６となる。他の周波数比についても図９に示す。
【０１３０】
これらの周波数比は実際の実験及び計測に基づき、いちばん心地よい非調和高調波周波数値から得られたものである。この計測値から上記非調和周波数演算式ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）及び非調和定数Ｃが導かれた。
【０１３１】
この比率の各数値のうち、小数点以下の数値が非調和の比率を示し、整数倍比率からのずれを示す。このような非調和比率で高調波合成を行うと、人間の耳に心地よい合成音を生成することができる。
【０１３２】
また、上記計測値からは、以下のような式も導きだすことができた。すなわち、基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）とした場合、この式である。つまりｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）］である。
【０１３３】
この式によっても、上記非調和高調波周波数値を導き出すことができる。ただし、上記ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の非調和周波数演算式の演算結果とは若干差があるが、ほとんど無視できる。
【０１３４】
さらに、上記計測値からは、以下のような式も導きだすことができた。すなわち、基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ）として場合、この式である。つまりｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ）］である。
【０１３５】
この式によっても、上記非調和高調波周波数値を導き出すことができる。ただし、上記ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の非調和周波数演算式の演算結果とは多少差があるが、ほぼ無視できる。
【０１３６】
またさらに、上記計測値からは、以下のような式も導きだすことができた。すなわち、基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれをほぼ（Ａ／６）×（ｎ３）として場合、この式である。つまりｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３）］である。
【０１３７】
この式によっても、上記非調和高調波周波数値を導き出すことができる。ただし、上記ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の非調和周波数演算式の演算結果とは少々差があるが、一部の高調波番号データｎについては使用でき、この場合にはほとんど差がない。
【０１３８】
具体的には、図９の一番右に示される。ずれデータＡ＝０．００００２９９９９の場合、他の高調波（倍音）についての（Ａ／６）×（ｎ３）の値が示される。これによると、３倍音については、実測値と（Ａ／６）×（ｎ３）との誤差は１２．５％あまりあるが、他の４倍音以上では、６．６％以下まで縮小する。したがって、３倍音のみ、別の計算式または記憶値を用い、４倍音以降については（Ａ／６）×（ｎ３）の演算式を用いてもそれほど問題はない。
【０１３９】
これにより、人間の耳に心地よく聞こえる高調波合成音を発生することができる。なお、高調波番号ｎ＝１の高調波は基本波を示し、狭義の高調波からは除外され、通常１番目の高調波は高調波番号ｎ＝２の２倍音となる。
【０１４０】
１１．処理全体
図１０はコントローラ（ＣＰＵ）２によって実行される処理全体のフローチャートを示す。この処理全体は本楽音生成装置の電源オンによって開始され、電源オフまで繰り返し実行される。まず、プログラム／データ記憶部３の初期化など種々のイニシャライズ処理が行われ（ステップ０１）、上記演奏情報発生部１での手動演奏または自動演奏に基づき、発音処理が行われる（ステップ０３）。
【０１４１】
この発音処理では、空きチャンネルがサーチされ、サーチされた空きチャンネルにオンイベントに係る楽音が割り当てられる。この楽音の内容は、上記演奏情報発生部１からの上記演奏情報（楽音発生情報）、楽音制御情報の音楽的ファクタ情報及びこのときプログラム／データ記憶部３に既に記憶されている音楽的ファクタ情報によって決定される。
【０１４２】
この場合、サーチされた空きチャンネルのアサインメントメモリ６０のエリアに「１」のオン／オフデータ、周波数ナンバデータＦＮ、エンベロープスピードデータＥＳ、エンベロープタイムデータＥＬ、「０」のエンベロープフェーズデータＥＦなどが書き込まれる。
【０１４３】
また、上記部分音テーブル１０が使用されて、上記トーンナンバデータＴＮに応じた各部分音の４つのラウドネスデータＬＮ、４つの高調波番号データｎも求められ、サーチされた空きチャンネルのアサインメントメモリ６０のエリアに書き込まれる。さらに、トーンナンバデータＴＮ、タッチデータＴＣ、パートナンバデータＰＮ、「０」のトーンタイムデータＴＭも書き込まれる。
【０１４４】
次いで、上記演奏情報発生部１／キーボード１１／パネルスイッチ群１３での手動演奏または自動演奏に基づき、消音（減衰）処理が行われる（ステップ０５）。この消音（減衰）処理では、オフイベント（キーオフイベント、消音イベント）に係る楽音が割り当てられているチャンネルがサーチされ当該楽音が減衰され消音される。この場合、キーオフイベントに係る楽音のエンベロープフェーズがリリースとなり、エンベロープレベルが次第に「０」になる。
【０１４５】
さらに、上記演奏情報発生部１／パネルスイッチ群１３の各種スイッチの操作があれば、このスイッチに対応する音楽的ファクタ情報が取り込まれ、プログラム／データ記憶部３に記憶され、音楽的ファクタ情報が変更される（ステップ０６）。この後、その他の処理が実行され（ステップ０７）、上記ステップ０２からこのステップ０７までの処理が繰り返される。
【０１４６】
なお、上記ステップ０３の発音処理つまりチャンネル割り当て処理で、ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）の演算が実行され、各部分音の周波数ナンバデータｆｎがプログラム演算で求められ、アサインメントメモリ６０に書き込まれてもよい。この４つの周波数ナンバデータｆｎはセレクタを介してパラレル−シリアル変換され、上記サンプリング変換テーブル９３へ送られる。このセレクタは上記セレクタ９４と同じである。
【０１４７】
１２．発音経過時間、同時発音数及び共鳴度の処理
図１１はコントローラ２によって一定周期ごとに実行されるインタラプト処理のフローチャートを示す。この処理で上記トーンタイムデータＴＭ（発音経過時間）のインクリメント、同時発音数データＳＳのカウント及び共鳴度データの算出が行われる。
【０１４８】
この処理では、上記アサインメントメモリ６０の各チャンネルエリアにつき（ステップ４１、４８、４９）、オン／オフデータが「１」で楽音が発音中のものについて（ステップ４３）、そのトーンタイムデータＴＭが「＋１」される（ステップ４４）。
【０１４９】
また、同じくアサインメントメモリ６０の各チャンネルエリアにつき（ステップ４１、４８、４９）、いったんラッチ２８の同時発音数データＳＳがクリアされた後（ステップ４２）、オン／オフデータが「１」で楽音が発音中のものがカウントされ（ステップ４３）、同時発音数データＳＳが順次「＋１」される（ステップ４５）。このカウントされた同時発音数データＳＳは上記ラッチ２８に記憶される。
【０１５０】
次いで、上記アサインメントメモリ６０の各チャンネルエリアにつき（ステップ４１、４８、４９）、オン／オフデータが「１」で楽音が発音中のものについて（ステップ４３）、そのキーナンバデータＫＮ（周波数ナンバデータＦＮ）と他のチャンネルエリアの発音中のキーナンバデータＫＮ（周波数ナンバデータＦＮ）との差が求められ、この差で当該キーナンバデータＫＮ（周波数ナンバデータＦＮ）が除算され、この除算値の整数部分の逆数値が求められ、上記除算値の小数部分と「０．５」との差が求められ、この差の１／１０または１／１００の値が上記逆数値に加算される（ステップ４６）。
【０１５１】
この算出値はさらに他の各発音中のキーナンバデータＫＮ（周波数ナンバデータＦＮ）の間でも求められ累算される（ステップ４７）。この累算値が当該チャンネルの楽音についての上記共鳴度情報ＫＤとなる。この共鳴度データＫＤは楽音が発音中のものについてすべて求められる（ステップ４１、４８、４９、４３）。
【０１５２】
そして、その他の周期的な処理が行われる（ステップ５０）。こうして、各チャンネルの楽音の発音経過時間がカウントされ記憶され上記発音時間情報として利用され、またそのときどきの全チャンネルの発音中の楽音の数がカウントされ記憶され上記同時発音数情報として利用され、さらにそのときどきの全チャンネルの発音中の楽音の共鳴度が算出され記憶され上記共鳴度データＫＤとして利用される。
【０１５３】
１３．高調波修正合成処理（発音処理）（ステップ０３）（第３実施例）
図１４は、高調波修正合成処理（第３実施例）のフローチャートを示し、この処理はステップ０３の発音処理をも示す。この第３実施例では、図５の非調和定数テーブル８５、高調波番号修正テーブル１０２、高調波周波数修正テーブル１０４は、上記プログラム／データ記憶部４に記憶され、図５の回路２８、８０、８５、９０，９５、９１、９２、９４、１０２、１０３、１０４は省略される。
【０１５４】
そして、１つのオンキーにつき４チャンネルが割り当てられ、基本波の他、３つの高調波が同時生成され、アサインメントメモリ６０はこれら４つの部分音の周波数ナンバＦＮなどがストアされ、同時生成される楽音の４倍のチャンネルメモリエリアを有している。
【０１５５】
まず、キーオンがあれば（ステップ１１）、トーンナンバデータＴＮ（キーナンバデータＫＮ）に基づいて、非調和定数テーブル８５から、非調和定数Ｃが読み出され（ステップ１２）、キーナンバデータＫＮに基づいて、高調波番号修正テーブル１０２、高調波周波数修正テーブル１０４から、高調波番号修正データα及び高調波周波数修正データβが読み出される（ステップ１３）。
【０１５６】
次いで、ｆｎ＝ｆ１・β・α・ｎ・ルート（１＋Ｃ・α・ｎ２）／ルート（１＋Ｃ）が、各高調波番号ｎ＝２、３、４につきそれぞれ演算され（ステップ１４、１５、１６）、高調波の周波数ナンバデータＦＮ（ｆ２）、ＦＮ（ｆ３）、ＦＮ（ｆ４）が求められ、アサインメントメモリ６０に、基本波の周波数ナンバデータＦＮ（ｆ１）とともに書き込まれる（ステップ１７）。
【０１５７】
この場合、図４に示すトーンナンバデータＴＮなどタッチデータＴＣなどのデータも合わせて書き込まれる。これにより、基本波（基本周波数ｆ１）の楽音とともに高調波（周波数ｆ２、ｆ３、ｆ４）が同時生成され合成されて１つの楽音として出力される。なお、上記基本波の周波数ナンバデータＦＮ（ｆ１）は、プログラム／データ記憶部４に記憶された周波数ナンバメモリによって、上記キーナンバデータＫＮから変換される。
【０１５８】
また、合成される高調波は、ｎ＝２、３、４の２倍音、３倍音、４倍音ではなく、例えば２倍音、４倍音、８倍音でもよいし、１１倍音、１６倍音、３５倍音、６０倍音、１２８倍音などを組み合わせてもよく、４つ以上の高調波が生成され合成されてもよいし、高調波番号の組み合わせは及び組み合わせ数は任意である。他の構成及び動作は上記第１実施例または第２実施例と同じである。
【０１５９】
１４．高調波修正合成処理（発音処理）（ステップ０３）（第４実施例）
図１５は、高調波修正合成処理（第４実施例）のフローチャートを示し、この処理はステップ０３の発音処理をも示す。この第４実施例では、図６の非調和ずれテーブル９７、高調波番号修正テーブル１０２、高調波周波数修正テーブル１０４は、上記プログラム／データ記憶部４に記憶され、図６の回路２８、８０、９７、９０，９５、９８、９２、９４、１０２、１０３、１０４は省略される。
【０１６０】
そして、１つのオンキーにつき４チャンネルが割り当てられ、基本波の他、３つの高調波が同時生成され、アサインメントメモリ６０はこれら４つの部分音の周波数ナンバＦＮなどがストアされ、同時生成される楽音の４倍のチャンネルメモリエリアを有している。
【０１６１】
まず、キーオンがあれば（ステップ２１）、トーンナンバデータＴＮ（キーナンバデータＫＮ）に基づいて、非調和ずれテーブル９７から、ずれデータＡが読み出され（ステップ２２）、キーナンバデータＫＮに基づいて、高調波番号修正テーブル１０２、高調波周波数修正テーブル１０４から、高調波番号修正データα及び高調波周波数修正データβが読み出される（ステップ２３）。
【０１６２】
次いで、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３）］の演算、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３−α・ｎ）］の演算、またはｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３−α２・ｎ２＋α・ｎ−１）］の演算が、各高調波番号ｎ＝２、３、４につきそれぞれ演算され（ステップ２４、２５、２６）、高調波の周波数ナンバデータＦＮ（ｆ２）、ＦＮ（ｆ３）、ＦＮ（ｆ４）が求められ、アサインメントメモリ６０に、基本波の周波数ナンバデータＦＮ（ｆ１）とともに書き込まれる（ステップ２７）。
【０１６３】
この場合、図４に示すトーンナンバデータＴＮなどタッチデータＴＣなどのデータも合わせて書き込まれる。これにより、基本波（基本周波数ｆ１）の楽音とともに高調波（周波数ｆ２、ｆ３、ｆ４）が同時生成され合成されて１つの楽音として出力される。なお、上記基本波の周波数ナンバデータＦＮ（ｆ１）は、プログラム／データ記憶部４に記憶された周波数ナンバメモリによって、上記キーナンバデータＫＮから変換される。
【０１６４】
また、合成される高調波は、ｎ＝２、３、４の２倍音、３倍音、４倍音ではなく、例えば２倍音、４倍音、８倍音でもよいし、１１倍音、１６倍音、３５倍音、６０倍音、１２８倍音などを組み合わせてもよく、４つ以上の高調波が生成され合成されてもよいし、高調波番号の組み合わせは及び組み合わせ数は任意である。他の構成及び動作は上記第１実施例、第２実施例または第３実施例と同じである。
【０１６５】
本発明は上記実施例に限定されず、本発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、上記楽音波形データＭＷは、ある波形が周期的に繰り返されるものであったが、複雑な変化をするアタック部分の波形や、アタックからリリースまで必ずしも周期的とはいえないＰＣＭ波形や、ほとんど周期的に変化しないノイズのような音のように、音響信号はもともと周期性がないものであってもよい。
【０１６６】
また、上記ずれデータＡは、２倍音の高調波の周波数に対する、基本周波数の２倍の周波数のズレを表していたが、２倍音以外のＮ倍音（例えば３倍音、…、８倍音、…）の高調波の周波数に対する、基本周波数のＮ倍（３倍、…、８倍、…）の周波数のズレを表していてもよい。これに応じて、上記ズレデータの非調和周波数演算式（Ａ／６）×（ｎ３）、（Ａ／６）×（ｎ３−ｎ）、（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）の演算内容も変化する。
【０１６７】
本明細書における高調波周波数ｆｎ＝ｆ１・β・α・ｎ・ルート（１＋Ｃ・α・ｎ２）／ルート（１＋Ｃ）、ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）、高調波番号修正データα＝ルート（Ｃｘ／Ｃ）、高調波周波数修正データβ＝ルート（Ｃ／Ｃｘ）・ルート（１＋Ｃ）／ルート（１＋Ｃｘ）、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３）］、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３−α・ｎ）］、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３−α２・ｎ２＋α・ｎ−１）］、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３）］、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ）］、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）］、「数１」〜「数９」などの各種演算式に基づいて算出された数値は、必ずしもこの演算式通りの数値になるものではなく、多少の誤差があり、「ほぼ」という意味に解釈される。
【０１６８】
上記図１０、図１１、図１４及び図１５のフローチャートの一部若しくは全部またはｆｎ＝ｆ１・β・α・ｎ・ルート（１＋Ｃ・α・ｎ２）／ルート（１＋Ｃ）、ｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３）］、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３−α・ｎ）］、ｆｎ＝ｆ１・β・［α・ｎ＋（Ａ／６）×（α３・ｎ３−α２・ｎ２＋α・ｎ−１）］、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３）］、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ）］、ｆｎ＝ｆ１・［ｎ＋（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）］、「数１」〜「数９」の各演算の一部若しくは全部は、場合によってコンピュータ（コントローラ／ＣＰＵ２）によって行われず、手作業によっても行われる。
【０１６９】
図１乃至図９及び図１２乃至図１３の回路は、複数の場所に分散され、それぞれインターネットなどの通信システムを介して互いに情報または処理結果が送受されて、上述の処理が行われてもよい。また、上記図１０、図１１、図１４及び図１５のフローチャートまたは上記各演算に応じたプログラムも複数の場所に分散されて実行され、それぞれインターネットなどの通信システムを介して互いに情報または処理結果が送受されて、上述の処理が行われてもよい。本発明はコンピュータプログラム自体、コンピュータプログラムを記憶した記憶媒体、当該コンピュータプログラムの通信媒体／通信方法／通信装置としても成立する。
【０１７０】
本件明細書における他の発明は以下の通りである。
【０１７１】
［１］発生する楽音の基本周波数ｆ１の信号を発生する手段と、    この基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは高調波番号、ルートは続く括弧内の平方根）の関係にある周波数の高調波信号を発生する手段と、    これら基本周波数ｆ１の信号と高調波信号とを合成して１つの楽音として出力する手段とを備えたことを特徴とする非調和音発生装置。
【０１７２】
［２］発生する楽音の基本周波数ｆ１の信号を発生させる工程と、    この基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは高調波番号、ルートは続く括弧内の平方根）の関係にある周波数の高調波信号を発生させる工程と、    これら基本周波数ｆ１の信号と高調波信号とを合成して１つの楽音として出力させる工程とを備えたことを特徴とする非調和音発生方法。
【０１７３】
［３］発生する楽音の基本周波数ｆ１の信号を発生させる処理と、    この基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは高調波番号、ルートは続く括弧内の平方根）の関係にある周波数の高調波信号を発生させる処理と、    これら基本周波数ｆ１の信号と高調波信号とを合成して１つの楽音として出力させる処理とをコンピュータに実行させることを特徴とする非調和音発生のためのコンピュータプログラム。
【０１７４】
［４］発生する楽音の基本周波数の信号を発生する手段と、    この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれを（Ａ×ｎ３）にほぼ比例するようにして、これらの周波数の高調波信号を発生する手段と、    これら基本周波数の信号と高調波信号とを合成して１つの楽音として出力する手段とを備えたことを特徴とする非調和音発生装置。
【０１７５】
［５］発生する楽音の基本周波数の信号を発生させる工程と、    この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらせるようにし、このずれを（Ａ×ｎ３）にほぼ比例するようにさせて、これらの周波数の高調波信号を発生させる工程と、    これら基本周波数の信号と高調波信号とを合成して１つの楽音として出力させる工程とを備えたことを特徴とする非調和音発生方法。
【０１７６】
［６］発生する楽音の基本周波数の信号を発生させる処理と、    この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらせるようにし、このずれを（Ａ×ｎ３）にほぼ比例するようにさせて、これらの周波数の高調波信号を発生させる処理と、    これら基本周波数の信号と高調波信号とを合成して１つの楽音として出力させる処理とをコンピュータに実行させることを特徴とする非調和音発生のためのコンピュータプログラム。
【０１７７】
［７］発生する楽音の基本周波数の信号を発生する手段と、    この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらすようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ）または（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）として、これらの周波数の高調波信号を発生する手段と、    これら基本周波数の信号と高調波信号とを合成して１つの楽音として出力する手段とを備えたことを特徴とする非調和音発生装置。
【０１７８】
［８］発生する楽音の基本周波数の信号を発生させる工程と、    この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらせるようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ）または（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）とさせて、これらの周波数の高調波信号を発生させる工程と、    これら基本周波数の信号と高調波信号とを合成して１つの楽音として出力させる工程とを備えたことを特徴とする非調和音発生方法。
【０１７９】
［９］発生する楽音の基本周波数の信号を発生させる処理と、    この基本周波数に対して、２倍音の高調波の周波数を、基本周波数の２倍の周波数に対して値Ａずらした場合、これ以外のｎ番目の高調波の周波数を、基本周波数のｎ倍の周波数に対して、順次ずらせるようにし、このずれをほぼ（Ａ／６）×（ｎ３−ｎ）または（Ａ／６）×（ｎ３−ｎ２＋ｎ−１）とさせて、これらの周波数の高調波信号を発生させる処理と、    これら基本周波数の信号と高調波信号とを合成して１つの楽音として出力させる処理とをコンピュータに実行させることを特徴とする非調和音発生のためのコンピュータプログラム。
【０１８０】
［１０］上記定数Ｃは上記楽音の音色、楽器の種類、タッチ、音高、発音時間、同時発音数、共鳴度の音楽的ファクタまたは操作者の選択によって決定され、上記定数Ｃの値は、ピアノで１０−５乃至１０−１であり、ハープシコードで１０−５乃至１０−３であり、ギターで１０−５乃至１０−４であり、全体としてＣ＝１０−５〜１０−１であり、    上記基本周波数ｆ１は指定された音高に対応しており、    上記基本波信号及び高調波信号の大きさは音楽的ファクタに基づいてそれぞれ個別に設定されることを特徴とする請求項１、４または７記載の非調和音発生装置。
【０１８１】
従来、楽音の倍音合成では、基本周波数のサイン信号のほか、基本周波数の２倍、４倍、８倍、１６倍、……の周波数の高調波のサイン信号が発生され、これら基本波と高調波とが合成されて出力される。この各高調波のレベルが変化し、各高調波の合成割合が変化すると、合成音の波形及び音色が変化する。
【０１８２】
このような高調波合成音を人間に聞かせて実験してみると、以下のような結果が得られた。各高調波の周波数比が正確に２倍、４倍、８倍、１６倍、……の合成音に対して、各高調波の周波数比が正確に整数倍比にない合成音の方が心地よく聞こえる。そこで、この心地よく聞こえる音の高調波の周波数には法則性があることが発見された。本発明は、人間の耳に心地よく聞こえる合成音の高調波の周波数を設定できるようにすることにある。
【０１８３】
基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは高調波番号、ルートは続く括弧内の平方根を示す）の関係にある周波数の高調波信号を発生し、基本周波数ｆ１の信号と高調波信号とを合成するようにした。したがって、人間の耳に心地よく聞こえる高調波合成音を発生することができる。
【０１８４】
基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは高調波番号、ルートは続く括弧内の平方根を示す）の関係にある周波数の高調波信号を発生し、高調波合成を行い、これにより人間の耳に心地よく聞こえる高調波合成音を発生する。
【０１８５】
アサインメントメモリ６０から時分割に読み出される周波数ナンバデータＦＮ及びトーンナンバデータＴＮは、非調和定数テーブル８５で非調和定数Ｃに変換され、非調和周波数演算回路９１で高調波番号データｎとともに演算される。高調波番号データｎは、４つの部分音（高調波）のものがさらに時分割に非調和周波数演算回路９１に送られる。この演算はｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）であり、４つの部分音（高調波）の周波数が求められ、加算器８２で時分割に累算され、楽音波形メモリ４３から各部分音の楽音波形データＭＷが時分割に読み出され、累算器４６で累算合成される。
【０１８６】
【発明の効果】
以上詳述したように、本発明は、自然数である高調波番号を基本周波数の値に応じて若干修正したり、この若干修正された高調波信号の周波数の値を、上記基本周波数の値に応じてさらに若干修正したりした。この高調波信号の周波数は、基本周波数ｆ１に対して、ほぼｆｎ＝ｆ１・ｎ・ルート（１＋Ｃ・ｎ２）／ルート（１＋Ｃ）（Ｃは定数、ｎは自然数の高調波番号、ルートは続く括弧内の平方根を示す）の関係にある。したがって、定数Ｃが一定でも、人間の耳に心地よく聞こえる高調波合成音を発生させようというものである。高調波番号は、「番号」と言うとおり、自然数であるとの考え方が一般的であり、これを小数点以下で修正するという考え方はなかった。この点でも本発明は斬新といえる。
【図面の簡単な説明】
【図１】非調和音発生装置または電子楽器の全体回路を示す。
【図２】楽音信号発生部５を示す。
【図３】プログラム／データ記憶部４の部分音テーブル１０を示す。
【図４】楽音信号発生部５のアサインメントメモリ６０を示す。
【図５】楽音信号発生部５の周波数ナンバ累算器４２（第１実施例）を示す。
【図６】楽音信号発生部５の周波数ナンバ累算器４２（第２実施例）を示す。
【図７】周波数ナンバ累算器４２の非調和定数テーブル８５に記憶された非調和定数Ｃを示す。
【図８】非調和定数Ｃの音高（キーナンバデータＫＮ）に対する特性を示す。
【図９】非調和周波数比の具体例を示す。
【図１０】処理全体のフローチャートを示す。
【図１１】一定周期ごとに実行されるインタラプト処理のフローチャートを示す。
【図１２】非調和周波数演算回路９１の中の非調和演算テーブル１１０（大３実施例）を示す。
【図１３】高調波番号修正テーブル１０２に記憶された上記高調波番号修正データα、及び上記高調波周波数修正テーブル１０４に記憶された上記高調波周波数修正データβを示す。
【図１４】高調波番号ｎ及び高調波周波数ｆｎを修正して高調波を合成する高調波修正合成処理（発音処理）（ステップ０３）のフローチャート（第３実施例）を示す。
【図１５】高調波番号ｎ及び高調波周波数ｆｎを修正して高調波を合成する高調波修正合成処理（発音処理）（ステップ０３）のフローチャート（第４実施例）を示す。
【符号の説明】
２…コントローラ（ＣＰＵ）、３…タイミング発生部、４…プログラム／データ記憶部、５…楽音信号発生部、６…サウンドシステム、７…情報記憶部、１０…部分音テーブル、１１…キーボード、１３…パネルスイッチ群、１５…ミディインターフェース、２１…ゆらぎデータメモリ、２３…ゆらぎＲＯＭ、２５…アドレスレジスタ、２９…コンパレータ、３０…変換テーブル、３１…ゆらぎレジスタ、３５、３６、３７、３８…乗算器、３９…加算器、４１…セレクタ、４２…周波数ナンバ累算器、４３…楽音波形メモリ、４４…エンベロープジェネレータ、４５…乗算器、４６…累算器、４７…乗算器、５０、１３０…乱数発生器、５１Ａ、５１Ｂ、５１Ｃ、５１Ｄ、……デジタルフィルタ、５４Ａ、５４Ｂ、５４Ｃ、５４Ｄ、５５Ａ、５５Ｂ、５５Ｃ、５５Ｄ…乗算器、５２、５７、１３１、１３４、１３６Ａ、１３６Ｂ、１３６Ｃ、１３６Ｄ…セレクタ、５８…加算器、５９…変換テーブル、６０…アサインメントメモリ、６６…加算器、６７…セレクタ、６８…エンベロープ演算メモリ、６９…コンパレータ、７０…フェーズカウンタ、７１加算器、８４…周波数ナンバレジスタ、８７…周波数ナンバＲＯＭ、８８…周波数リピートＲＯＭ、８５…非調和テーブル、９３…サンプリング変換テーブル、９１…非調和周波数演算回路、９４…セレクタ、９７…非調和ずれテーブル、９８…非調和ずれ演算回路、１０２…高調波番号修正テーブル、１０３…乗算器、１０４…高調波周波数修正テーブル、１１０…非調和演算テーブル。
【図１】
2004212566.tif 000012
【図２】
2004212566.tif 000013
【図３】
2004212566.tif 000014
【図４】
2004212566.tif 000015
【図５】
2004212566.tif 000016
【図６】
2004212566.tif 000017
【図７】
2004212566.tif 000018
【図８】
2004212566.tif 000019
【図９】
2004212566.tif 000020
【図１０】
2004212566.tif 000021
【図１１】
2004212566.tif 000022
【図１２】
2004212566.tif 000023
【図１３】
2004212566.tif 000024
【図１４】
2004212566.tif 000025
【図１５】
2004212566.tif 000026