(57)【要約】【課題】  耳障りな楽音を発生することなく、音楽的に自然なオシレータシンクロナイズ効果を得る波形発生装置を実現する。【解決手段】  発生すべき音高に対応した周期のマスター波形を発生させておき、デューティ比Ｄｕｔｙで指定される波形Ａ区間においてはマスター波形と同様に発生すべき音高に対応した周期のスレーブ波形を発生させ、波形Ａ区間を過ぎて波形Ｂ区間に移行した時点で、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるように、スレーブ波形の周期（波形読み出し速度）を変化させる。これにより、マスター波形とスレーブ波形とが波形不連続にならずに同期するから、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが出来る。【選択図】  図３
2006084611.tif 000002
【特許請求の範囲】
【請求項１】
発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生手段と、
波形一周期を第１および第２の波形区間に区分けしておき、第１の波形区間では発生すべき音高に対応した周期の第１のスレーブ波形を発生し、第２の波形区間では当該第１のスレーブ波形の周期を変化させて前記マスター波形と一致するゼロクロス点を有する第２のスレーブ波形を発生するスレーブ波形発生手段と、
前記第１又は第２のスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段と
を具備することを特徴とする波形発生装置。
【請求項２】
発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生手段と、
前記マスター波形の一周期の期間内に、発生すべき音高に対応した読み出し速度を変化させて前記マスター波形と一致するゼロクロス点を有するスレーブ波形を発生するスレーブ波形発生手段と、
前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段と
を具備することを特徴とする波形発生装置。
【請求項３】
発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生手段と、
発生すべき音高に対応した周期のスレーブ波形を発生するスレーブ波形発生手段と、
前記マスター波形の周期に同期したエンベロープ波形を前記スレーブ波形に乗算し、前記マスター波形のゼロクロス点に前記スレーブ波形のゼロクロス点を一致させるエンベロープ制御を行うエンベロープ制御手段と、
このエンベロープ制御手段によりエンベロープ制御された前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段と
を具備することを特徴とする波形発生装置。
【請求項４】
発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生手段と、
前記マスター波形の一周期の期間内に、発生すべき音高に対応した周期を有する複数のスレーブ波形を順番に発生させ、それらの内、前記マスター波形と一致するゼロクロス点を有するスレーブ波形を出力するスレーブ波形発生手段と、
前記スレーブ波形発生手段が出力するスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段と
を具備することを特徴とする波形発生装置。
【請求項５】
発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生処理と、
波形一周期を第１および第２の波形区間に区分けしておき、第１の波形区間では発生すべき音高に対応した周期の第１のスレーブ波形を発生し、第２の波形区間では当該第１のスレーブ波形の周期を変化させて前記マスター波形と一致するゼロクロス点を有する第２のスレーブ波形を発生するスレーブ波形発生処理と、
前記第１又は第２のスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理と
をコンピュータで実行させることを特徴とする波形発生処理プログラム。
【請求項６】
発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生処理と、
前記マスター波形の一周期の期間内に、発生すべき音高に対応した読み出し速度を変化させて前記マスター波形と一致するゼロクロス点を有するスレーブ波形を発生するスレーブ波形発生処理と、
前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理と
をコンピュータで実行させることを特徴とする波形発生処理プログラム。
【請求項７】
発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生処理と、
発生すべき音高に対応した周期のスレーブ波形を発生するスレーブ波形発生処理と、
前記マスター波形の周期に同期したエンベロープ波形を前記スレーブ波形に乗算し、前記マスター波形のゼロクロス点に前記スレーブ波形のゼロクロス点を一致させるエンベロープ制御を行うエンベロープ制御処理と、
このエンベロープ制御処理にてエンベロープ制御された前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理と
をコンピュータで実行させることを特徴とする波形発生処理プログラム。
【請求項８】
発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生処理と、
前記マスター波形の一周期の期間内に、発生すべき音高に対応した周期を有する複数のスレーブ波形を順番に発生させ、それらの内、前記マスター波形と一致するゼロクロス点を有するスレーブ波形を出力するスレーブ波形発生処理と、
前記スレーブ波形発生処理にて出力されるスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理と
をコンピュータで実行させることを特徴とする波形発生処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器の音源に用いて好適な波形発生装置および波形発生処理プログラムに関する。
【背景技術】
【０００２】
マスター側およびスレーブ側の２系統のオシレータを備え、スレーブオシレータの波形発生開始タイミングを、マスターオシレータの波形発生開始タイミングに強制的に同期させる、いわゆるオシレータ同期型の波形発生装置では、例えばスレーブ波形出力のピッチを一定にして、マスター波形出力のピッチのみを変化させると、スレーブ波形出力の波形形状が変形され、これによりピッチ変化と音色変化とが同時に得られる独特な音響効果（オシレータシンクロナイズ効果）を備えた波形を生成し得るようになっており、この種の装置については例えば特許文献１に開示されている。
【０００３】
【特許文献１】特開平１０−１９８３７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、オシレータ同期型の波形発生装置では、スレーブ波形出力をマスター波形出力に強制的に同期させるため、例えば図２６（ａ）に図示するマスター波形出力のゼロクロス点で強制的にスレーブ波形出力を同期させてゼロリセットすると、同図（ｂ）に図示する通り、波形不連続に起因するノイズ発生を招致し、これが耳障りな楽音となって音楽的に不自然なオシレータシンクロナイズ効果をもたらすという問題がある。
そこで本発明は、このような事情に鑑みてなされたもので、耳障りな楽音を発生することなく、音楽的に自然なオシレータシンクロナイズ効果を得ることができる波形発生装置および波形発生処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、請求項１に記載の発明では、発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生手段と、波形一周期を第１および第２の波形区間に区分けしておき、第１の波形区間では発生すべき音高に対応した周期の第１のスレーブ波形を発生し、第２の波形区間では当該第１のスレーブ波形の周期を変化させて前記マスター波形と一致するゼロクロス点を有する第２のスレーブ波形を発生するスレーブ波形発生手段と、  前記第１又は第２のスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段とを具備することを特徴とする。
【０００６】
請求項２に記載の発明では、発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生手段と、前記マスター波形の一周期の期間内に、発生すべき音高に対応した読み出し速度を変化させて前記マスター波形と一致するゼロクロス点を有するスレーブ波形を発生するスレーブ波形発生手段と、前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段とを具備することを特徴とする。
【０００７】
請求項３に記載の発明では、発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生手段と、発生すべき音高に対応した周期のスレーブ波形を発生するスレーブ波形発生手段と、前記マスター波形の周期に同期したエンベロープ波形を前記スレーブ波形に乗算し、前記マスター波形のゼロクロス点に前記スレーブ波形のゼロクロス点を一致させるエンベロープ制御を行うエンベロープ制御手段と、このエンベロープ制御手段によりエンベロープ制御された前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段とを具備することを特徴とする。
【０００８】
請求項４に記載の発明では、発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生手段と、前記マスター波形の一周期の期間内に、発生すべき音高に対応した周期を有する複数のスレーブ波形を順番に発生させ、それらの内、前記マスター波形と一致するゼロクロス点を有するスレーブ波形を出力するスレーブ波形発生手段と、前記スレーブ波形発生手段が出力するスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段とを具備することを特徴とする。
【０００９】
請求項５に記載の発明では、発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生処理と、波形一周期を第１および第２の波形区間に区分けしておき、第１の波形区間では発生すべき音高に対応した周期の第１のスレーブ波形を発生し、第２の波形区間では当該第１のスレーブ波形の周期を変化させて前記マスター波形と一致するゼロクロス点を有する第２のスレーブ波形を発生するスレーブ波形発生処理と、前記第１又は第２のスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理とをコンピュータで実行させることを特徴とする。
【００１０】
請求項６に記載の発明では、発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生処理と、前記マスター波形の一周期の期間内に、発生すべき音高に対応した読み出し速度を変化させて前記マスター波形と一致するゼロクロス点を有するスレーブ波形を発生するスレーブ波形発生処理と、前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理とをコンピュータで実行させることを特徴とする。
【００１１】
請求項７に記載の発明では、発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生処理と、発生すべき音高に対応した周期のスレーブ波形を発生するスレーブ波形発生処理と、前記マスター波形の周期に同期したエンベロープ波形を前記スレーブ波形に乗算し、前記マスター波形のゼロクロス点に前記スレーブ波形のゼロクロス点を一致させるエンベロープ制御を行うエンベロープ制御処理と、このエンベロープ制御処理にてエンベロープ制御された前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理とをコンピュータで実行させることを特徴とする。
【００１２】
請求項８に記載の発明では、発生すべき音高に対応した周期のマスター波形を発生するマスター波形発生処理と、前記マスター波形の一周期の期間内に、発生すべき音高に対応した周期を有する複数のスレーブ波形を順番に発生させ、それらの内、前記マスター波形と一致するゼロクロス点を有するスレーブ波形を出力するスレーブ波形発生処理と、前記スレーブ波形発生処理にて出力されるスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理とをコンピュータで実行させることを特徴とする。
【発明の効果】
【００１３】
請求項１、５に記載の発明によれば、第１の波形区間から第２の波形区間に移行すると、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるように、当該スレーブ波形の周期を変化させるので、マスター波形とスレーブ波形とが波形不連続にならずに同期する結果、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが出来る。
【００１４】
請求項２、６に記載の発明によれば、マスター波形一周期の期間内に、スレーブ波形の読み出し速度を変化させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるため、マスター波形とスレーブ波形とが波形不連続にならずに同期する結果、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが出来る。
【００１５】
請求項３、７に記載の発明によれば、マスター波形周期に同期したエンベロープ波形をスレーブ波形に乗算することによって、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるエンベロープ制御が行われるので、マスター波形とスレーブ波形とが波形不連続にならずに同期する結果、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが出来る。
【００１６】
請求項４、８に記載の発明によれば、マスター波形一周期の期間内に複数のスレーブ波形を順番に発生させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるため、マスター波形とスレーブ波形とが波形不連続にならずに同期する結果、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが出来る。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．第１実施形態  
（１）全体構成  
図１は、本発明の第１実施形態による電子楽器１００の全体構成を示すブロック図である。電子楽器１００は、鍵盤１、スイッチ部２、ベンダホイール３、ＣＰＵ４、表示部５、ＲＯＭ６、ＲＡＭ７、音源８、Ｄ／Ａ変換器９およびサウンドシステム１０を備える。鍵盤１は、押離鍵操作（演奏操作）に応じたキーオン／キーオフ信号、鍵番号およびベロシティ等からなる演奏情報を発生する。スイッチ部２は、楽器パネルに配設される各種スイッチを備え、操作されるスイッチ種に応じたスイッチイベントを発生する。スイッチ部２に配設される主要なスイッチとして、マスター波形選択スイッチ、スレーブ波形選択スイッチおよびＤｕｔｙ設定スイッチ等が有り、これらスイッチ操作に対応した処理動作については追って詳述する。
【００１８】
ベンダホイール３は、ユーザのホイール回動操作に応じたベンダ操作値を発生してＣＰＵ４に供給する。ベンダ操作値は、後述するように、鍵盤１の演奏情報（鍵番号）で指定されるピッチ（音高）を可変制御するために用いられる。ＣＰＵ４は、スイッチ部２のスイッチ操作に応じて発生するスイッチイベントに基づき楽器各部の動作状態を設定したり、鍵盤１から供給される演奏情報に応じたコマンド（例えば発音指示コマンドや消音指示コマンド等）を生成し、これを後述するＲＡＭ７に記憶されるパラメータと共に音源８に送出して楽音形成させる。また、ＣＰＵ４はベンダホイール３から供給されるベンダ操作値に応じてピッチ制御を音源８に指示する。本発明の要旨に係わるＣＰＵ４の特徴的な処理動作の詳細については追って述べる。
【００１９】
表示部５は、液晶表示パネルおよび駆動回路から構成され、ＣＰＵ４から供給される表示制御信号に応じて、例えばパラメータ設定状態や動作状態などを表示する。ＲＯＭ６は、上記ＣＰＵ４にロードされる各種制御プログラムや制御データ等を記憶する。ここで言う各種制御プログラムとは、後述するメインルーチン、スイッチ処理、鍵盤処理およびベンダ処理を含む。ＲＡＭ７は、ＣＰＵ４のワークエリアとして用いられ、各種レジスタ・フラグデータを一時記憶する。
【００２０】
ここで、図２を参照してＲＡＭ７に一時記憶される主要レジスタの内容を説明する。この図において、レジスタＰｉｔｃｈには、押鍵に応じて鍵盤１が発生するピッチ（具体的には鍵番号）が格納される。レジスタＢｅｎｄｅｒには、ベンダホイール３の回動操作に応じて発生するベンダ操作値（「−１」〜「１」の範囲で変化）が格納される。レジスタＢＲ＿Ｍには、ベンダ操作値に対応するマスター波形のピッチ変化幅が格納される。レジスタＣＴ＿Ｍには、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値が格納される。
【００２１】
レジスタＦＴ＿Ｍには、マスター波形のピッチをセント単位でチューニングする精チューニング値が格納される。レジスタＬｅｖｅｌ＿Ｍには、マスター波形レベルが格納される。レジスタＷＦ＿Ｍには、マスター波形の形状を指定する波形番号が格納される。波形番号とは、後述する波形発生器２０３（図３参照）が備える各種波形形状の波形テーブルを指定する値であり、「０」の場合に三角波を、「１」の場合に鋸波上りを、「２」の場合に鋸波下りを、「３」の場合に矩形波をそれぞれ指定する。
【００２２】
レジスタＢＲ＿Ｓには、ベンダ操作値に対応するスレーブ波形のピッチ変化幅が格納される。レジスタＣＴ＿Ｓには、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値が格納される。レジスタＦＴ＿Ｓには、スレーブ波形のピッチをセント単位でチューニングする精チューニング値が格納される。レジスタＬｅｖｅｌ＿Ｓには、スレーブ波形レベルＬｅｖｅｌ＿Ｓが格納される。レジスタＷＦ＿Ｓには、スレーブ波形の形状を指定する波形番号が格納される。波形番号とは、後述する波形発生器２０９（図３参照）が備える各種波形形状の波形テーブルを指定する値であり、「０」の場合に三角波を、「１」の場合に鋸波上りを、「２」の場合に鋸波下りを、「３」の場合に矩形波をそれぞれ指定する。レジスタＤｕｔｙには、周期波形を前後のＡ，Ｂ区間（アドレス区間）に区分けした時の波形全体に占めるＡ区間の比率を表すデューティ比が格納される。以上説明したレジスタＰｉｔｃｈ〜レジスタＤｕｔｙの各内容は、後述するスイッチ処理にてユーザ設定される。
【００２３】
レジスタＷＴ＿Ｍには、上記レジスタＷＦ＿Ｍに格納される波形番号で指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスが格納される。レジスタＷＴＳ＿Ｍには、上記レジスタＷＦ＿Ｍに格納される波形番号で指定される形状のマスター波形を発生させる波形テーブルのテーブルサイズが格納される。レジスタＷＴ＿Ｓには、上記レジスタＷＦ＿Ｓに格納される波形番号で指定される形状のスレーブ波形を発生させる波形テーブルの先頭アドレスが格納される。レジスタＷＴＳ＿Ｓには、上記レジスタＷＦ＿Ｓに格納される波形番号で指定される形状のスレーブ波形を発生させる波形テーブルのテーブルサイズが格納される。
【００２４】
次に、再び図１を参照して実施形態の構成について説明を進める。図１において、音源８は、ＣＰＵ４から供給される演奏情報に応じた楽音波形データを発生する。音源８の構成については追って詳述する。Ｄ／Ａ変換器９は、音源８から出力される楽音波形データをアナログ形式の楽音信号に変換して出力する。サウンドシステム１０は、Ｄ／Ａ変換器９が出力する楽音信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカから発音させる。
【００２５】
（２）音源８の構成
次に、図３を参照して音源８の構成について説明する。音源８は周知のＤＳＰから構成される。したがって、図３はそのＤＳＰにおいて実行されるマイクロプログラムの各機能をハードウェアイメージとして捉らえた機能ブロックを図示している。図３に図示する音源８は、マスター波形発生部、スレーブ波形発生部および波形合成部に大別される。以下、これら各部の構成について述べる。
【００２６】
＜マスター波形発生部の構成＞  
マスター波形発生部は、マスター発振器２００、アドレス発生器２０１、アドレス比較器２０２および波形発生器２０３から構成される。マスター発振器２００は、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周波数のマスタークロックＭＣを発生する。アドレス発生器２０１は、ＣＰＵ４から供給される波形テーブル先頭アドレスＷＴ＿Ｍ（後述する）から、マスタークロックＭＣに従って歩進される読み出しアドレスを発生する。アドレス比較器２０２は、アドレス発生器２０１が波形一周期分の読み出しアドレスを発生し終えて先頭アドレスに復帰した時点でスレーブ波形発生部側のアドレス発生器２０７にリセット信号を送出して同期指示を与える。
【００２７】
波形発生器２０３は、各種波形形状の波形データを記憶した複数の波形テーブルを備える。具体的には、図４（ａ）に図示する三角波、同図（ｂ）に図示する鋸波（上り）、同図（ｃ）に図示する鋸波（下り）および同図（ｄ）に図示する矩形波をそれぞれ形成する波形データを記憶した波形テーブルを具備する。波形発生器２０３では、これら波形テーブルの内、ＣＰＵ４から供給される波形番号ＷＦ＿Ｍで指定される波形テーブルから、アドレス発生器２０１が発生する読み出しアドレスに応じて波形データを読み出してマスター波形を発生する。上述の波形テーブル先頭アドレスＷＴ＿Ｍは、波形番号ＷＦ＿Ｍにて指定される波形形状の波形テーブルの先頭アドレスを指す。このように、マスター波形発生部では、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周期（読み出し速度）で指定形状のマスター波形を発生する。
【００２８】
＜スレーブ波形発生部の構成＞
スレーブ波形発生部は、スレーブ発振器Ａ２０５，Ｂ２０６、セレクタＳＥＬ、アドレス発生器２０７、アドレス比較器２０８および波形発生器２０９から構成される。スレーブ発振器Ａ２０５は、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周波数の、第１のスレーブクロックＳＣ１を発生する。スレーブ発振器Ｂ２０６は、ＣＰＵ４が設定する周波数の第２のスレーブクロックＳＣ２を発生する。セレクタＳＥＬは、後述するアドレス比較器２０８が発生するセレクト信号に応じて、第１のスレーブクロックＳＣ１又は第２のスレーブクロックＳＣ２のいずれかを選択して次段のアドレス発生器２０７に供給する。
【００２９】
アドレス発生器２０７は、セレクタＳＥＬにて選択される第１のスレーブクロックＳＣ１又は第２のスレーブクロックＳＣ２のいずれかに従い、ＣＰＵ４から供給される波形テーブル先頭アドレスＷＴ＿Ｓから歩進させる読み出しアドレスを発生する。また、アドレス発生器２０７は、マスター波形発生部側のアドレス比較器２０２からリセット信号を受信すると、読み出しアドレスを波形テーブル先頭アドレスＷＴ＿Ｓにリセットする。
【００３０】
アドレス比較器２０８は、アドレス発生器２０７が発生する読み出しアドレスが、ＣＰＵ４から供給されるデューティ比Ｄｕｔｙに対応した波形区間を過ぎた時に第２のスレーブクロックＳＣ２を選択し、それ以外は第１のスレーブクロックＳＣ１を選択するセレクト信号を発生してセレクタＳＥＬに供給する。なお、ここで言うデューティ比Ｄｕｔｙとは、スレーブ波形一周期に相当する波形区間をＡ，Ｂ区間（アドレス区間）に区分けしたとき、その波形区間全体に占めるＡ区間の比率を表す。例えば、図５に図示する三角波において、デューティ比Ｄｕｔｙが「０．４」の場合、Ａ区間が波形一周期の４割、残りの６割がＢ区間と定義される。
【００３１】
波形発生器２０９は、マスター波形発生部の波形発生器２０３と同様、図４（ａ）〜（ｄ）に図示した各形状の波形データを記憶した波形テーブルを具備し、ＣＰＵ４から供給される波形番号ＷＦ＿Ｓにて指定される波形テーブルから、アドレス発生器２０７が発生する読み出しアドレスに応じて波形データを読み出してスレーブ波形を発生する。
スレーブ波形発生部では、上述したように、デューティ比Ｄｕｔｙで指定される波形Ａ区間では第１のスレーブクロックＳＣ１に応じて歩進される読み出しアドレスに応じてスレーブ波形を発生し、波形Ａ区間を過ぎて波形Ｂ区間に移行すると、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるように、スレーブ波形の波形読み出し速度を変化させる。
【００３２】
例えば、スレーブ波形のデューティ比Ｄｕｔｙを「０．７」とした場合に、図６（ａ）に図示する矩形波状のマスター波形に対して同図（ｂ）に図示する三角波のスレーブ波形を発生させるには、波形Ｂ区間においてマスター波形のゼロクロス点とスレーブ波形側のゼロクロス点とを同期させるように、第２のスレーブクロックＳＣ２の周波数を上げてスレーブ波形の波形読み出し速度を上げる。
また、例えば、スレーブ波形のデューティ比Ｄｕｔｙを「０．２」とした場合に、図７（ａ）に図示する矩形波状のマスター波形に対して同図（ｂ）に図示する三角波のスレーブ波形を発生させるには、波形Ｂ区間においてマスター波形のゼロクロス点とスレーブ波形側のゼロクロス点とを同期させるように、第２のスレーブクロックＳＣ２の周波数を下げてスレーブ波形の波形読み出し速度を下げる。
【００３３】
このように、スレーブ波形発生部では、デューティ比Ｄｕｔｙで指定される波形Ａ区間を過ぎて波形Ｂ区間に移行する時点で、第２のスレーブクロックＳＣ２に応じてスレーブ波形の波形読み出し速度を変化させる。波形読み出し速度は、ＣＰＵ４がスレーブ発振器Ｂに設定する周波数で決る。後述するようにＣＰＵ４では、第１のスレーブクロックＳＣ１の周波数が決定されると同時に第２のスレーブクロックＳＣ２の周波数を設定する。
すなわち、ｒ＝スレーブ波形Ｂ区間の読み出し速度／スレーブ波形Ａ区間の読み出し速度とした場合、第２のスレーブクロックＳＣ２＝ｒ×第１のスレーブクロックＳＣ１の周波数となる。ここで、マスタークロックＭＣの周期Ｍ、第１のスレーブクロックＳＣ１の周期Ｓ、デューティ比Ｄｕｔｙの値Ｄから、ｒ＝（１−Ｄ）／［（Ｍ／Ｓ）−Ｄ］として算出し得る。
【００３４】
＜波形合成部の構成＞
波形合成部は、係数乗算器２０４，２１０およびミキサ２１１から構成される。係数乗算器２０４は、波形発生器２０３が出力するマスター波形に、ＣＰＵ４から供給されるマスター波形レベルＬｅｖｅｌ＿Ｍを乗算して出力する。係数乗算器２１０は、波形発生器２０９が出力するスレーブ波形に、ＣＰＵ４から供給されるスレーブ波形レベルＬｅｖｅｌ＿Ｓを乗算して出力する。ミキサ２１１は、係数乗算器２０４から出力されるマスター波形と、係数乗算器２１０から出力されるスレーブ波形とを混合して出力する。
【００３５】
（３）動作
次に、上記構成による第１実施形態の動作を説明する。以下では、図８〜図１２を参照してＣＰＵ４が実行するメインルーチン、スイッチ処理、鍵盤処理、オシレータ設定処理およびベンダ処理の各動作について述べる。
【００３６】
＜メインルーチンの動作＞  
上記構成による電子楽器１００をパワーオンすると、ＣＰＵ４は図８に示すメインルーチンを実行し、ステップＳＡ１に処理を進め、ＲＡＭ７に格納される各種レジスタ／フラグ類をリセットしたり初期値セットする他、音源８に対して各種レジスタ・フラグを初期化するよう指示するイニシャライズを実行する。そして、イニシャライズが完了すると、ステップＳＡ２に処理を進め、スイッチ部２のスイッチ操作に対応したスイッチ処理を行う。後述するように、スイッチ処理では、音源８に与えるマスター波形属性、スレーブ波形属性およびデューティ比Ｄｕｔｙを発生する。これらは、マスター波形選択スイッチ、スレーブ波形選択スイッチおよびＤｕｔｙ設定スイッチの操作に応じて設定される。
【００３７】
なお、マスター波形属性とは、音源８のマスター波形発生部に供給するパラメータであり、マスター波形の形状を指定する波形番号ＷＦ＿Ｍ、波形番号ＷＦ＿Ｍで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスＷＴ＿Ｍおよび波形番号ＷＦ＿Ｍで指定される波形テーブルのテーブルサイズＷＴＳ＿Ｍからなる。スレーブ波形属性とは、音源８のスレーブ波形発生部に供給するパラメータであり、スレーブ波形の形状を指定する波形番号ＷＦ＿Ｓ、波形番号ＷＦ＿Ｓで指定される形状のスレーブ波形を発生させる波形テーブルの先頭アドレスＷＴ＿Ｓおよび波形番号ＷＦ＿Ｓで指定される波形テーブルのテーブルサイズＷＴＳ＿Ｓからなる。デューティ比Ｄｕｔｙとは、音源８のスレーブ波形発生部に供給するパラメータであり、スレーブ波形を前後のＡ，Ｂ区間（アドレス区間）に区分けした時の波形全体に占めるＡ区間の比率を表す。
【００３８】
次いで、ステップＳＡ３では、鍵盤１の押離鍵操作に応じて音源８に発音／消音を指示する鍵盤処理を実行する。続いて、ステップＳＡ４では、ベンダホイール３の回動操作に応じたベンダ操作値を発生するベンダ処理を実行する。そして、ステップＳＡ５では、例えばユーザ設定された動作状態を表示部５に表示する等の、その他の処理を実行した後、上記ステップＳＡ２に処理を戻す。以後、電子楽器１００がパワーオフされる迄、ステップＳＡ２〜ＳＡ５を繰り返す。
【００３９】
＜スイッチ処理の動作＞
次に、図９を参照してスイッチ処理の動作について説明する。上述したメインルーチンのステップＳＡ２を介して本処理が実行されると、ＣＰＵ４は操作されるスイッチ種に対応した処理を実行する。以下では、音源８の波形発生に必要なパラメータを設定する「マスター波形選択スイッチ」、「スレーブ波形選択スイッチ」および「Ｄｕｔｙ設定スイッチ」が操作された場合の各動作を述べる。
【００４０】
ａ．マスター波形選択スイッチ操作
マスター波形選択スイッチ操作が行われると、ステップＳＢ１の判断結果が「ＹＥＳ」になり、ステップＳＢ２に進む。ステップＳＢ２では、当該スイッチ操作で選択されたマスター波形の形状を指定する波形番号をレジスタＷＦ＿Ｍにストアする。また、ステップＳＢ２では、波形番号ＷＦ＿Ｍで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスをレジスタＷＴ＿Ｍにストアする。さらに、ステップＳＢ２では、波形番号ＷＦ＿Ｍで指定される波形テーブルのテーブルサイズをレジスタＷＴＳ＿Ｍにストアする。加えて、ステップＳＢ２では、音源８のアドレス比較器２０２（図３参照）に波形テーブル先頭アドレスＷＴ＿Ｍをセットした後、後述のステップＳＢ８に処理を進める。
【００４１】
なお、音源８のアドレス比較器２０２は、ＣＰＵ４によりセットされた波形テーブル先頭アドレスＷＴ＿Ｍを参照し、アドレス発生器２０１がマスター波形一周期分の読み出しアドレスを発生し終えて当該先頭アドレスＷＴ＿Ｍに復帰した時点でスレーブ波形発生部側のアドレス発生器２０７にリセット信号を送出して同期指示を与えるようになっている。
【００４２】
ｂ．スレーブ波形選択スイッチ操作
スレーブ波形選択スイッチ操作が行われると、ステップＳＢ３の判断結果が「ＹＥＳ」になり、ステップＳＢ４に進む。ステップＳＢ４では、当該スイッチ操作で選択されたスレーブ波形の形状を指定する波形番号をレジスタＷＦ＿Ｓにストアする。また、ステップＳＢ４では、波形番号ＷＦ＿Ｓで指定される形状のスレーブ波形を発生させる波形テーブルの先頭アドレスをレジスタＷＴ＿Ｓにストアする。さらに、ステップＳＢ４では、波形番号ＷＦ＿Ｓで指定される波形テーブルのテーブルサイズをレジスタＷＴＳ＿Ｓにストアする。加えて、ステップＳＢ４では、音源８のアドレス発生器２０７（図３参照）に波形テーブル先頭アドレスＷＴ＿Ｓをセットする。
【００４３】
次に、ステップＳＢ５では、波形テーブルサイズＷＴＳ＿Ｓにデューティ比Ｄｕｔｙを乗じた値を波形テーブル先頭アドレスＷＴ＿Ｓに加算したアドレス値（ＷＴ＿Ｓ＋ＷＴＳ＿Ｓ×Ｄｕｔｙ）を音源８のアドレス比較器２０８（図３参照）にセットした後、後述のステップＳＢ８に処理を進める。
なお、アドレス比較器２０８では、アドレス発生器２０７から供給される読み出しアドレスが、上記アドレス値（ＷＴ＿Ｓ＋ＷＴＳ＿Ｓ×Ｄｕｔｙ）に達した場合に第２のスレーブクロックＳＣ２を選択し、それ以外は第１のスレーブクロックＳＣ１を選択するセレクト信号を発生してセレクタＳＥＬに供給する。
【００４４】
ｃ．Ｄｕｔｙ設定スイッチ操作
Ｄｕｔｙ設定スイッチ操作が行われると、ステップＳＢ６の判断結果が「ＹＥＳ」になり、ステップＳＢ７に進み、ユーザにより数値入力されるデューティ比をレジスタＤｕｔｙにストアする。この後、上記ステップＳＢ５に進み、アドレス値（ＷＴ＿Ｓ＋ＷＴＳ＿Ｓ×Ｄｕｔｙ）をアドレス比較器２０８にセットする。
【００４５】
次いで、ステップＳＢ８では、例えば音源８の係数乗算器２０４，２１０（図３参照）に付与するマスター波形レベルＬｅｖｅｌ＿Ｍやスレーブ波形レベルＬｅｖｅｌ＿Ｓの他、ベンダ操作値に対応するマスター波形のピッチ変化幅ＢＲ＿Ｍ、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｍ、マスター波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｍ、ベンダ操作値に対応するスレーブ波形のピッチ変化幅ＢＲ＿Ｓ、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｓおよびスレーブ波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｓを設定する、その他のスイッチ処理を実行して本処理を完了させる。
【００４６】
＜鍵盤処理の動作＞
次に、図１０を参照して鍵盤処理の動作を説明する。上述したメインルーチンのステップＳＡ３（図８参照）を介して本処理が実行されると、ＣＰＵ４は図１０に図示するステップＳＣ１に進み、鍵イベントを判別する。押離鍵操作が行われず、鍵イベントが発生しなければ、何も行わずに本処理を完了させる。押鍵操作に応じたキーンオンイベントが発生すると、ステップＳＣ２に進み、一方、離鍵操作に応じたキーオフイベントが発生すれば、ステップＳＣ６に進む。以下、押鍵時の動作と離鍵時の動作とに分けて説明を進める。なお、ここでは説明の簡略化を図る為、モノフォニック発音を前提としている。
【００４７】
ａ．押鍵時の動作
押鍵操作に応じたキーオンイベントが発生すると、ステップＳＣ２に進み、レジスタＰｉｔｃｈの値が「−１」、つまり押鍵された鍵の音が消音済みであるかどうかを判断する。発音中であると、判断結果は「ＮＯ」となり、何も行わずに本処理を完了させるが、消音済みならば、判断結果が「ＹＥＳ」になり、ステップＳＣ３に進む。ステップＳＣ３では、音源８のアドレス発生器２０１に波形テーブル先頭アドレスＷＴ＿Ｍをセットする一方、レジスタＰｉｔｃｈに押鍵された鍵のピッチ（鍵番号）をストアする。
【００４８】
次いで、ステップＳＣ４を介してオシレータ設定処理を実行する。オシレータ設定処理では、後述するように、音源８のマスター発振器２００、スレーブ発振器Ａ２０５およびスレーブ発振器Ｂ２０６に対し、マスタークロックＭＣ、第１のスレーブクロックＳＣ１および第２のスレーブクロックＳＣ２の各周波数を決めるピッチ情報（後述の修正ピッチＰ＿Ｍ、ピッチＰ＿Ｓ１、ピッチＰ＿Ｓ２）を設定する。そして、ステップＳＣ５では、音源８に発音を指示する。これにより、音源８は、上記ステップＳＣ４のオシレータ設定処理に基づき発生するマスター波形とスレーブ波形とを合成した楽音波形を出力する。
【００４９】
ｂ．離鍵時の動作
離鍵操作に応じたキーオフイベントが発生すると、ステップＳＣ６に進み、レジスタＰｉｔｃｈに消音済みを表す値として「−１」をストアすると共に、音源８に消音を指示して本処理を終える。
【００５０】
＜オシレータ設定処理の動作＞
次に、図１１を参照してオシレータ設定処理の動作を説明する。上述した鍵盤処理のステップＳＣ４（図１０参照）を介して本処理が実行されると、ＣＰＵ４は図１１に示すステップＳＤ１に処理を進め、ベンダホイール３の回動操作に応じて発生するベンダ操作値等に基づきレジスタＰｉｔｃｈの値を修正して修正ピッチＰ＿Ｍを発生する。具体的には、レジスタＢｅｎｄｅｒに格納されるベンダ操作値を、当該ベンダ操作値に対応するマスター波形のピッチ変化幅ＢＲ＿Ｍ、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｍ、マスター波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｍにて補正し、補正されたベンダ操作値をレジスタＰｉｔｃｈに加算して修正ピッチＰ＿Ｍを発生する。
そして、ステップＳＤ２では、上記ステップＳＤ１にて発生した修正ピッチＰ＿Ｍを音源８のマスター発振器２００に設定する。これにより、マスター発振器２００は、ＣＰＵ４から供給される修正ピッチＰ＿Ｍに応じた周波数のマスタークロックＭＣを発生する。
【００５１】
続いて、ステップＳＤ３では、スレーブ発振器Ａ２０５に設定するピッチＰ＿Ｓ１を発生する。すなわち、上記ステップＳＤ１と同様、レジスタＢｅｎｄｅｒに格納されるベンダ操作値を、当該ベンダ操作値に対応するスレーブ波形のピッチ変化幅ＢＲ＿Ｓ、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｓおよびスレーブ波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｓにて補正し、補正されたベンダ操作値をレジスタＰｉｔｃｈに加算してピッチＰ＿Ｓ１を発生する。
そして、ステップＳＤ４では、上記ステップＳＤ３にて発生したピッチＰ＿Ｓ１をスレーブ発振器Ａ２０５に設定する。これにより、スレーブ発振器Ａ２０５は、ＣＰＵ４から供給されるピッチＰ＿Ｓ１に応じた周波数の第１のスレーブクロックＳＣ１を発生する。
【００５２】
次に、ステップＳＤ５では、スレーブ発振器Ｂ２０６に設定するピッチＰ＿Ｓ２を発生する。ピッチＰ＿Ｓ２は次式で算出される。すなわち、Ｐ＿Ｓ２＝（１−Ｄｕｔｙ）×ＷＴＳ＿Ｓ×Ｐ＿Ｍ×Ｐ＿Ｓ１／（ＷＴＳ＿Ｍ×Ｐ＿Ｓ１−ＷＴＳ＿Ｓ×Ｐ＿Ｍ×Ｄｕｔｙ）
ここで、Ｄｕｔｙはデューティ比、ＷＴＳ＿Ｓは波形番号ＷＦ＿Ｓで指定されるスレーブ波形テーブルのテーブルサイズ、Ｐ＿Ｍはマスター発振器２００に設定する修正ピッチ、Ｐ＿Ｓ１はスレーブ発振器Ａ２０５に設定するピッチ、ＷＴＳ＿Ｍは波形番号ＷＦ＿Ｍで指定されるマスター波形テーブル先頭アドレスである。  そして、ステップＳＤ６では、上記ステップＳＤ５にて発生したピッチＰ＿Ｓ２をスレーブ発振器Ｂ２０６に設定する。これにより、スレーブ発振器Ｂ２０６は、ピッチＰ＿Ｓ２に応じた周波数の第２のスレーブクロックＳＣ２を発生する。
【００５３】
このように、オシレータ設定処理では、音源８のマスター発振器２００、スレーブ発振器Ａ２０５およびスレーブ発振器Ｂ２０６に対し、マスタークロックＭＣ、第１のスレーブクロックＳＣ１および第２のスレーブクロックＳＣ２の各周波数を決めるピッチ情報（修正ピッチＰ＿Ｍ、ピッチＰ＿Ｓ１、ピッチＰ＿Ｓ２）を設定する。
こうしたオシレータ設定が行われると、音源８ではマスター波形とスレーブ波形とを混合して楽音波形を形成する。すなわち、音源８のマスター波形発生部では、ＣＰＵ４により設定された修正ピッチＰ＿Ｍに対応した周期で波形番号ＷＦ＿Ｍにて指定される波形形状のマスター波形を発生する。
【００５４】
一方、スレーブ波形発生部では、デューティ比Ｄｕｔｙで指定される波形Ａ区間にある時には、ＣＰＵ４により設定されたピッチＰ＿Ｓ１に対応した周期で波形番号ＷＦ＿Ｓにて指定される波形形状のスレーブ波形を発生し、波形Ａ区間を過ぎて波形Ｂ区間に移行すると、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるように、スレーブ波形の波形読み出し速度を変化させる。つまり、ＣＰＵ４により設定されたピッチＰ＿Ｓ２に対応した周期でスレーブ波形を発生させる。この結果、マスター波形とスレーブ波形とが波形不連続にならずに同期する為、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが可能になっている。
【００５５】
＜ベンダ処理の動作＞
次に、図１２を参照してベンダ処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図８参照）を介して本処理が実行されると、ＣＰＵ４は図１２に示すステップＳＥ１に処理を進め、レジスタＰｉｔｃｈの値が「−１」、つまり消音済みであるかどうかを判断する。消音済みならば、判断結果は「ＹＥＳ」になり、本処理を完了させてベンダホイール３の回動操作を無効にする。一方、発音中であると、判断結果が「ＮＯ」となり、ステップＳＥ２に進み、ベンダホイール３の回動操作に応じて発生するＡ／Ｄ変換値をレジスタＡにストアする。
【００５６】
次いで、ステップＳＥ３では、レジスタＢｅｎｄｅｒに格納される前回のベンダ操作値と現在のベンダ操作値（レジスタＡの値）とが一致するかどうかを判断する。一致する場合には、判断結果が「ＹＥＳ」になり、何も行わずに本処理を完了させる。一方、一致しない場合には、判断結果が「ＮＯ」となり、現在のベンダ操作値（レジスタＡの値）をレジスタＢｅｎｄｅｒにストアし、レジスタＢｅｎｄｅｒの値を更新する。そして、ステップＳＥ５を介して前述したオシレータ設定処理（図１１参照）を実行する。この場合、更新されたレジスタＢｅｎｄｅｒの値に基づき、音源８のマスター発振器２００、スレーブ発振器Ａ２０５およびスレーブ発振器Ｂ２０６に対し、マスタークロックＭＣ、第１のスレーブクロックＳＣ１および第２のスレーブクロックＳＣ２の各周波数を決めるピッチ情報（修正ピッチＰ＿Ｍ、ピッチＰ＿Ｓ１、ピッチＰ＿Ｓ２）を設定し直してから本処理を終える。
【００５７】
以上のように、第１実施形態では、発生すべき音高に対応した周期のマスター波形を発生させておき、デューティ比Ｄｕｔｙで指定される波形Ａ区間においてはマスター波形と同様に発生すべき音高に対応した周期のスレーブ波形を発生させ、波形Ａ区間を過ぎて波形Ｂ区間に移行した時点で、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるように、スレーブ波形の周期（波形読み出し速度）を変化させるので、マスター波形とスレーブ波形とが波形不連続にならずに同期する。この結果、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが出来る。
【００５８】
Ｂ．第２実施形態
次に、図１３〜図１６を参照して第２実施形態について説明する。第２実施形態の全体構成は前述の第１実施形態と同一なので、その説明については省略する。前述の第１実施形態では、デューティ比Ｄｕｔｙで指定される波形Ａ区間を過ぎて波形Ｂ区間に移行した時点で、スレーブ波形の波形読み出し速度を変化させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるのに対し、第２実施形態ではマスター波形一周期の期間内に、スレーブ波形の波形読み出し速度を加速させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるようにした点で相違する。以下、こうした第２実施形態による音源８の構成について図１３を参照して説明する。
【００５９】
（１）音源８の構成
第２実施形態による音源８は、マスター波形発生部、スレーブ波形発生部および波形合成部に大別される。マスター波形発生部は、マスター発振器２００、アドレス発生器２０１、アドレス比較器２０２および波形発生器２０３から構成される。マスター発振器２００は、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周波数のマスタークロックＭＣを発生する。アドレス発生器２０１は、ＣＰＵ４から供給される波形テーブル先頭アドレスＷＴ＿Ｍから、マスタークロックＭＣに従って歩進される読み出しアドレスを発生する。アドレス比較器２０２は、アドレス発生器２０１が波形一周期分の読み出しアドレスを発生し終えて先頭アドレスに復帰した時点でスレーブ波形発生部側のアドレス発生器２０７と発振加速器２１２とにリセット信号を送出して同期指示を与える。
【００６０】
波形発生器２０３は、第１実施形態と同様、図４（ａ）〜（ｄ）に図示した波形形状の波形データを記憶した各波形テーブルを備え、これら波形テーブルの内、ＣＰＵ４から供給される波形番号ＷＦ＿Ｍで指定される波形テーブルから、アドレス発生器２０１が発生する読み出しアドレスに応じて波形データを読み出してマスター波形を発生する。上述の波形テーブル先頭アドレスＷＴ＿Ｍは、波形番号ＷＦ＿Ｍにて指定される波形形状の波形テーブルの先頭アドレスを指す。このように、マスター波形発生部では、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周期で指定形状のマスター波形を発生する。
【００６１】
スレーブ波形発生部は、スレーブ発振器２０５、発振加速器２１２、アドレス発生器２０７および波形発生器２０９から構成される。スレーブ発振器２０５は、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周波数のスレーブクロックＳＣを発生させた後、そのスレーブクロックＳＣの周波数を発振加速器２１２から供給される周波数加算値に従って増加させる。つまり、スレーブ発振器２０５は、ＣＰＵ４から供給される加速値ＡＣＣに応じて読み出し速度を加速させるスレーブクロックＳＣを発生する。発振加速器２１２は、ＣＰＵ４から供給される加速値ＡＣＣに対応した周波数加算値を発生してスレーブ発振器２０５に供給する。発振加速器２１２では、マスター波形発生部側のアドレス比較器２０２からリセット信号を受領した場合、周波数加算値をゼロリセットする。
【００６２】
アドレス発生器２０７は、スレーブ発振器２０５が発生するスレーブクロックＳＣに従って、ＣＰＵ４から供給される波形テーブル先頭アドレスＷＴ＿Ｓから歩進させる読み出しアドレスを発生する。アドレス発生器２０７では、マスター波形発生部側のアドレス比較器２０２からリセット信号を受領した場合、読み出しアドレスをゼロリセットする。波形発生器２０９は、マスター波形発生部の波形発生器２０３と同様、図４（ａ）〜（ｄ）に図示した各形状の波形データからなる波形テーブルを具備し、ＣＰＵ４から供給される波形番号ＷＦ＿Ｓにて指定される波形テーブルから、アドレス発生器２０７が発生する読み出しアドレスに応じて波形データを読み出してスレーブ波形を発生する。
【００６３】
このように、スレーブ波形発生部では、マスター波形一周期の期間内に、スレーブ波形の波形読み出し速度を加速させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させる。スレーブ波形の波形読み出し速度を加速させる加速値ＡＣＣは、２（ｒ−１）で表現できる。ここで、ｒはスレーブ波形テーブルのテーブルサイズＷＴＳ＿Ｓ／マスター波形テーブルのテーブルサイズＷＴＳ＿Ｍである。この式は、マスター波形一周期の期間およびスレーブ波形の読み出し速度の初期値をそれぞれ「１」としたとき、時間変数をｔとして、（ＡＣＣ×ｔ＋１）をｔで０から１まで積分した結果がｒになることから導かれる。したがって、ｒが「３」の場合には、加速値ＡＣＣは２（３−１）より「４」となる。
【００６４】
つまり、図１４（ａ）に図示するように、マスター周期（マスター波形一周期）の期間で「０」〜「４」にリニア変化する加速値ＡＣＣを発生すると、同図（ｂ）に図示するスレーブクロックＳＣ（スレーブ発振出力）が生成され、こうしたスレーブクロックＳＣにて波形読み出しを行うと、マスター波形一周期の期間内に、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるようにスレーブ波形の波形読み出し速度を加速させる為、同図（ｃ）に図示するように、本来一点鎖線で示されるスレーブ波形が変形され、実線で図示されたスレーブ波形出力となる。
【００６５】
波形合成部は、係数乗算器２０４，２１０およびミキサ２１１から構成される。係数乗算器２０４は、波形発生器２０３が出力するマスター波形に、ＣＰＵ４から供給されるマスター波形レベルＬｅｖｅｌ＿Ｍを乗算して出力する。係数乗算器２１０は、波形発生器２０９が出力するスレーブ波形に、ＣＰＵ４から供給されるスレーブ波形レベルＬｅｖｅｌ＿Ｓを乗算して出力する。ミキサ２１１は、係数乗算器２０４から出力されるマスター波形と、係数乗算器２１０から出力されるスレーブ波形とを混合して出力する。
【００６６】
（２）動作
次に、図１５〜図１６を参照して第２実施形態の動作について説明する。以下では、前述の第１実施形態と相違する第２実施形態によるスイッチ処理およびオシレータ設定処理の各動作について述べる。
【００６７】
＜スイッチ処理の動作＞
前述した第１実施形態と同様にメインルーチンのステップＳＡ２を介して第２実施形態によるスイッチ処理が実行されると、ステップＳＦ１に進み、マスター波形選択スイッチ操作の有無を判断する。マスター波形選択スイッチ操作が行われると、判断結果が「ＹＥＳ」になり、ステップＳＦ２に進む。ステップＳＦ２では、当該スイッチ操作で選択されたマスター波形の形状を指定する波形番号をレジスタＷＦ＿Ｍにストアする。また、ステップＳＦ２では、波形番号ＷＦ＿Ｍで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスをレジスタＷＴ＿Ｍにストアする。さらに、ステップＳＦ２では、波形番号ＷＦ＿Ｍで指定される波形テーブルのテーブルサイズをレジスタＷＴＳ＿Ｍにストアする。加えて、ステップＳＦ２では、アドレス比較器２０２（図１３参照）に波形テーブル先頭アドレスＷＴ＿Ｍをセットした後、後述のステップＳＦ５に処理を進める。
【００６８】
なお、アドレス比較器２０２は、ＣＰＵ４によりセットされた波形テーブル先頭アドレスＷＴ＿Ｍを参照し、アドレス発生器２０１が波形一周期分の読み出しアドレスを発生し終えて当該先頭アドレスＷＴ＿Ｍに復帰した時点でスレーブ波形発生部側のアドレス発生器２０７および発振加速器２１２にリセット信号を送出して同期指示を与えるようになっている。
【００６９】
一方、マスター波形選択スイッチ操作が行われない場合には、上記ステップＳＦ１の判断結果が「ＮＯ」になり、ステップＳＦ３に進み、スレーブ波形選択スイッチ操作の有無を判断する。スレーブ波形選択スイッチ操作が行われなければ、判断結果は「ＮＯ」になり、後述のステップＳＦ５に進むが、スレーブ波形選択スイッチ操作が行われると、判断結果が「ＹＥＳ」になり、ステップＳＦ４に進む。
【００７０】
ステップＳＦ４では、当該スイッチ操作で選択されたスレーブ波形の形状を指定する波形番号をレジスタＷＦ＿Ｓにストアする。また、ステップＳＦ４では、波形番号ＷＦ＿Ｓで指定される形状のスレーブ波形を発生させる波形テーブルの先頭アドレスをレジスタＷＴ＿Ｓにストアする。さらに、ステップＳＦ４では、波形番号ＷＦ＿Ｓで指定される波形テーブルのテーブルサイズをレジスタＷＴＳ＿Ｓにストアする。加えて、ステップＳＦ４では、アドレス発生器２０７（図１３参照）に波形テーブル先頭アドレスＷＴ＿Ｓをセットする。
【００７１】
この後、ステップＳＦ５に進み、例えば係数乗算器２０４，２１０（図１３参照）に付与するマスター波形レベルＬｅｖｅｌ＿Ｍやスレーブ波形レベルＬｅｖｅｌ＿Ｓの他、ベンダ操作値に対応するマスター波形のピッチ変化幅ＢＲ＿Ｍ、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｍ、マスター波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｍ、ベンダ操作値に対応するスレーブ波形のピッチ変化幅ＢＲ＿Ｓ、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｓおよびスレーブ波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｓを設定する、その他のスイッチ処理を実行して本処理を完了させる。
【００７２】
＜オシレータ設定処理の動作＞
次に、図１６を参照してオシレータ設定処理の動作を説明する。前述の第１実施形態と同様、鍵盤処理のステップＳＣ４（図１０参照）又はベンダ処理のステップＳＥ５（図１２参照）を介して第２実施形態によるオシレータ設定処理が実行されると、ＣＰＵ４は図１６に示すステップＳＧ１に処理を進め、ベンダホイール３の回動操作で発生するベンダ操作値等に基づきレジスタＰｉｔｃｈの値を修正して修正ピッチＰ＿Ｍを発生する。
具体的には、レジスタＢｅｎｄｅｒに格納されるベンダ操作値を、当該ベンダ操作値に対応するマスター波形のピッチ変化幅ＢＲ＿Ｍ、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｍ、マスター波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｍにて補正し、補正されたベンダ操作値をレジスタＰｉｔｃｈに加算して修正ピッチＰ＿Ｍを発生する。
【００７３】
続いて、ステップＳＧ２では、上記ステップＳＧ１にて発生した修正ピッチＰ＿Ｍを音源８のマスター発振器２００（図１３参照）に設定する。これにより、マスター発振器２００は、ＣＰＵ４から供給される修正ピッチＰ＿Ｍに対応した周波数のマスタークロックＭＣを発生する。
次に、ステップＳＧ３では、スレーブ発振器２０５（図１３参照）に設定するピッチＰ＿Ｓを発生する。すなわち、上記ステップＳＧ１と同様、レジスタＢｅｎｄｅｒに格納されるベンダ操作値を、ベンダ操作値に対応するスレーブ波形のピッチ変化幅ＢＲ＿Ｓ、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｓおよびスレーブ波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｓにて補正し、補正されたベンダ操作値をレジスタＰｉｔｃｈに加算してピッチＰ＿Ｓを発生する。
【００７４】
次いで、ステップＳＧ４では、上記ステップＳＧ３にて発生したピッチＰ＿Ｓをスレーブ発振器２０５に設定する。これにより、スレーブ発振器２０５は、ＣＰＵ４から供給されるピッチＰ＿Ｓに対応した周波数のスレーブクロックＳＣを発生する。
ステップＳＧ５では、ＡＣＣ＝（２×Ｐ＿Ｍ／ＷＴＳ＿Ｍ）×（（ＷＴＳ＿Ｓ×Ｐ＿Ｍ／ＷＴＳ＿Ｍ）−Ｐ＿Ｓ）なる算出式に基づき加速値ＡＣＣを発生する。ここで、Ｐ＿Ｍはマスター発振器２００に設定する修正ピッチ、ＷＴＳ＿Ｍは波形番号ＷＦ＿Ｍで指定されるマスター波形テーブル先頭アドレス、ＷＴＳ＿Ｓは波形番号ＷＦ＿Ｓで指定されるスレーブ波形テーブルのテーブルサイズ、Ｐ＿Ｓはスレーブ発振器２０５に設定するピッチである。この式は、時間変数をｔとして、（ＡＣＣ×ｔ＋Ｐ＿Ｓ）を、ｔで０から（ＷＴＳ＿Ｍ／Ｐ＿Ｍ）まで積分した結果がＷＴＳ＿Ｓになることから導かれる。次いで、ステップＳＧ６では、上記ステップＳＧ５において発生した加速値ＡＣＣを発振加速器２１２（図１３参照）に設定して本処理を終える。
【００７５】
以上のように、第２実施形態では、発振加速器２１２が加速値ＡＣＣに対応した周波数加算値をスレーブ発振器２０５に供給し、これに応じてスレーブ発振器２０５がマスター波形一周期の期間内に、スレーブ波形の波形読み出し速度を加速させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるため、マスター波形とスレーブ波形とが波形不連続にならずに同期し、この結果、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが可能になる。
【００７６】
Ｃ．第３実施形態
次に、図１７〜図２０を参照して第３実施形態について説明する。
（１）音源８の構成
図１７は、第３実施形態による音源８の構成を示すブロック図である。この図に示す音源８において、上述した第２実施形態の音源８と共通する構成要素には同一の番号を付し、その説明を省略する。第３実施形態の音源８が上述の第２実施形態と相違する点は、波形発生器２０９と係数乗算器２１０との間に、エンベロープ発生器２１３の出力に応じてスレーブ波形レベルを制御する係数乗算器２１４を設け、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるように当該スレーブ波形をエンベロープ制御することにある。
【００７７】
エンベロープ発生器２１３は、各種形状のエンベロープ波形（ＥＧカーブ）を記憶したＥＧカーブテーブルを備え、後述するＥＧカーブ設定スイッチ操作に応じてＣＰＵ４が指定するＥＧカーブ（指定形状のエンベロープ波形）を、マスター波形周期に同期した読み出し速度で読み出す。そうしてエンベロープ発生器２１３から出力されるエンベロープ波形は、係数乗算器２１４の乗算係数として与えられ、これによりマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるようにエンベロープ制御する。
例えば、図１８（ａ）に図示するように、エンベロープ発生器２１３がマスター周期（マスター波形一周期）に対応したエンベロープ出力を発生させた場合には、同図（ｂ）に図示するように、本来一点鎖線で示されるスレーブ波形が変形されて実線で図示されるスレーブ波形出力が生成される。
【００７８】
（２）動作
次に、図１９〜図２０を参照して第３実施形態の動作について説明する。以下では、前述の第１実施形態と相違する第３実施形態によるスイッチ処理およびオシレータ設定処理の各動作について述べる。
【００７９】
＜スイッチ処理の動作＞
前述した第１実施形態と同様にメインルーチンのステップＳＡ２を介して第３実施形態によるスイッチ処理が実行されると、ステップＳＨ１に進み、マスター波形選択スイッチ操作の有無を判断する。マスター波形選択スイッチ操作が行われると、判断結果が「ＹＥＳ」になり、ステップＳＨ２に進む。ステップＳＨ２では、当該スイッチ操作で選択されたマスター波形の形状を指定する波形番号をレジスタＷＦ＿Ｍにストアする。また、ステップＳＨ２では、波形番号ＷＦ＿Ｍで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスをレジスタＷＴ＿Ｍにストアする。さらに、ステップＳＨ２では、波形番号ＷＦ＿Ｍで指定される波形テーブルのテーブルサイズをレジスタＷＴＳ＿Ｍにストアする。加えて、ステップＳＨ２では、アドレス比較器２０２（図１７参照）に波形テーブル先頭アドレスＷＴ＿Ｍをセットした後、後述のステップＳＨ７に処理を進める。
【００８０】
なお、アドレス比較器２０２は、ＣＰＵ４によりセットされた波形テーブル先頭アドレスＷＴ＿Ｍを参照し、アドレス発生器２０１が波形一周期分の読み出しアドレスを発生し終えて当該先頭アドレスＷＴ＿Ｍに復帰した時点でスレーブ波形発生部側のアドレス発生器２０７にリセット信号を送出して同期指示を与えるようになっている。
【００８１】
一方、マスター波形選択スイッチ操作が行われない場合には、上記ステップＳＨ１の判断結果が「ＮＯ」になり、ステップＳＨ３に進み、スレーブ波形選択スイッチ操作の有無を判断する。スレーブ波形選択スイッチ操作が行われなければ、判断結果は「ＮＯ」になり、後述のステップＳＨ５に進むが、スレーブ波形選択スイッチ操作が行われると、判断結果が「ＹＥＳ」になり、ステップＳＨ４に進む。
【００８２】
ステップＳＨ４では、当該スイッチ操作で選択されたスレーブ波形の形状を指定する波形番号をレジスタＷＦ＿Ｓにストアする。また、ステップＳＨ４では、波形番号ＷＦ＿Ｓで指定される形状のスレーブ波形を発生させる波形テーブルの先頭アドレスをレジスタＷＴ＿Ｓにストアする。さらに、ステップＳＨ４では、波形番号ＷＦ＿Ｓで指定される波形テーブルのテーブルサイズをレジスタＷＴＳ＿Ｓにストアする。加えて、ステップＳＨ４では、アドレス発生器２０７（図１７参照）に波形テーブル先頭アドレスＷＴ＿Ｓをセットする。
【００８３】
次いで、ステップＳＨ５では、ＥＧカーブ設定スイッチ操作の有無を判断する。ＥＧカーブ設定スイッチ操作が行われなければ、判断結果は「ＮＯ」になり、後述のステップＳＨ７に進むが、ＥＧカーブ設定スイッチ操作が行われると、判断結果が「ＹＥＳ」になり、ステップＳＨ６に進む。ステップＳＨ６では、ＥＧカーブ設定スイッチ操作で選択されたＥＧカーブを設定するようエンベロープ発生器２１３（図１７参照）に指示する。
【００８４】
この後、ステップＳＨ７に進み、例えば係数乗算器２０４，２１０（図１７参照）に付与するマスター波形レベルＬｅｖｅｌ＿Ｍやスレーブ波形レベルＬｅｖｅｌ＿Ｓの他、ベンダ操作値に対応するマスター波形のピッチ変化幅ＢＲ＿Ｍ、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｍ、マスター波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｍ、ベンダ操作値に対応するスレーブ波形のピッチ変化幅ＢＲ＿Ｓ、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｓおよびスレーブ波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｓを設定する、その他のスイッチ処理を実行して本処理を完了させる。
【００８５】
＜オシレータ設定処理の動作＞
次に、図２０を参照してオシレータ設定処理の動作を説明する。前述の第１実施形態と同様、鍵盤処理のステップＳＣ４（図１０参照）又はベンダ処理のステップＳＥ５（図１２参照）を介して第３実施形態によるオシレータ設定処理が実行されると、ＣＰＵ４は図２０に示すステップＳＪ１に処理を進め、ベンダホイール３の回動操作で発生するベンダ操作値等に基づきレジスタＰｉｔｃｈの値を修正して修正ピッチＰ＿Ｍを発生する。
具体的には、レジスタＢｅｎｄｅｒに格納されるベンダ操作値を、当該ベンダ操作値に対応するマスター波形のピッチ変化幅ＢＲ＿Ｍ、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｍ、マスター波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｍにて補正し、補正されたベンダ操作値をレジスタＰｉｔｃｈに加算して修正ピッチＰ＿Ｍを発生する。
【００８６】
続いて、ステップＳＪ２では、上記ステップＳＪ１にて発生した修正ピッチＰ＿Ｍをマスター発振器２００（図１７参照）に設定する。これにより、マスター発振器２００は、ＣＰＵ４から供給される修正ピッチＰ＿Ｍに対応した周波数のマスタークロックＭＣを発生する。
次に、ステップＳＪ３では、スレーブ発振器２０５（図１７参照）に設定するピッチＰ＿Ｓを発生する。すなわち、上記ステップＳＪ１と同様、レジスタＢｅｎｄｅｒに格納されるベンダ操作値を、ベンダ操作値に対応するスレーブ波形のピッチ変化幅ＢＲ＿Ｓ、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｓおよびスレーブ波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｓにて補正し、補正されたベンダ操作値をレジスタＰｉｔｃｈに加算してピッチＰ＿Ｓを発生する。
【００８７】
次いで、ステップＳＪ４では、上記ステップＳＪ３にて発生したピッチＰ＿Ｓをスレーブ発振器２０５に設定する。これにより、スレーブ発振器２０５は、ＣＰＵ４から供給されるピッチＰ＿Ｓに対応した周波数のスレーブクロックＳＣを発生する。ステップＳＪ５では、修正ピッチＰ＿Ｍで定まるマスター波形周期をレジスタＴにストアし、続くステップＳＪ６では、そのレジスタＴの値（マスター波形周期）をエンベロープ発生器２１３（図１７参照）に設定して本処理を終える。
【００８８】
このように、第３実施形態では、マスター波形周期に同期した読み出し速度でエンベロープ波形を生成し、そのエンベロープ波形をスレーブ波形に乗算することによって、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるエンベロープ制御が行われるので、マスター波形とスレーブ波形とが波形不連続にならずに同期し、この結果、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが可能になる。
【００８９】
Ｃ．第４実施形態
次に、図２１〜図２５を参照して第４実施形態について説明する。第４実施形態の全体構成は前述の第１実施形態と同一なので、その説明については省略する。前述の第１実施形態では、デューティ比Ｄｕｔｙで指定される波形Ａ区間を過ぎて波形Ｂ区間に移行した時点で、スレーブ波形の波形読み出し速度を変化させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるのに対し、第４実施形態では、少なくとも２系統のスレーブ波形発生部を設け、マスター波形一周期の期間内に、２系統のスレーブ波形発生部からそれぞれ交互にスレーブ波形を発生させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させる点で相違する。以下、こうした処理を具現する音源８の構成について図２１を参照して説明する。
【００９０】
（１）音源８の構成
第４実施形態による音源８は、マスター波形発生部、スレーブ波形発生部および波形合成部に大別される。マスター波形発生部は、マスター発振器２００、アドレス発生器２０１、アドレス比較器２０２および波形発生器２０３から構成される。マスター発振器２００は、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周波数のマスタークロックＭＣを発生する。アドレス発生器２０１は、ＣＰＵ４から供給される波形テーブル先頭アドレスＷＴ＿Ｍから、マスタークロックＭＣに従って歩進される読み出しアドレスを発生する。アドレス比較器２０２は、アドレス発生器２０１が波形一周期分の読み出しアドレスを発生し終えて先頭アドレスに復帰する毎に、第１スレーブ波形発生部のアドレス発生器２０７および第２スレーブ波形発生部のアドレス発生器２１６を交互に選択し、選択した側のアドレス発生器にリセット信号を送出して同期指示を与える。
【００９１】
波形発生器２０３は、第１実施形態と同様、図４（ａ）〜（ｄ）に図示した波形形状の波形データを記憶した各波形テーブルを備え、これら波形テーブルの内、ＣＰＵ４から供給される波形番号ＷＦ＿Ｍで指定される波形テーブルから、アドレス発生器２０１が発生する読み出しアドレスに応じて波形データを読み出してマスター波形を発生する。上述の波形テーブル先頭アドレスＷＴ＿Ｍは、波形番号ＷＦ＿Ｍにて指定される波形形状の波形テーブルの先頭アドレスを指す。このように、マスター波形発生部では、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周期で指定形状のマスター波形を発生する。
【００９２】
スレーブ波形発生部は、スレーブ発振器２０５およびアドレス発生器２０７からなる第１スレーブ波形発生部と、スレーブ発振器２１５およびアドレス発生器２１６からなる第２スレーブ波形発生部とから構成される。スレーブ発振器２０５，２１５は、ＣＰＵ４から供給されるピッチＰｉｔｃｈに対応した周波数のスレーブクロックＳＣを発生する。アドレス発生器２０７，２１６は、アドレス比較器２０２により交互に起動される。起動されたアドレス発生器２０７，２１６は、スレーブクロックＳＣに従って、ＣＰＵ４から供給される波形テーブル先頭アドレスＷＴ＿Ｓから歩進させる読み出しアドレスを発生する。波形発生器２０９，２１７は、マスター波形発生部の波形発生器２０３と同様、図４（ａ）〜（ｄ）に図示した各形状の波形データからなる波形テーブルを具備し、ＣＰＵ４から供給される波形番号ＷＦ＿Ｓにて指定される波形テーブルから、アドレス発生器２０７，２１６が発生する読み出しアドレスに応じて波形データを読み出してスレーブ波形を発生する。
このように、スレーブ波形発生部では、図２２（ａ）に図示するように、マスター波形周期毎に、スレーブ１波形出力（同図（ｂ））およびスレーブ２波形出力（同図（ｃ））を交互に発生させることによって、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるようにしている。
【００９３】
波形合成部は、係数乗算器２０４，２１０，２１８およびミキサ２１１から構成される。係数乗算器２０４は、波形発生器２０３が出力するマスター波形に、ＣＰＵ４から供給されるマスター波形レベルＬｅｖｅｌ＿Ｍを乗算して出力する。係数乗算器２１０，２１８は、波形発生器２０９，２１７が出力する各スレーブ波形に、ＣＰＵ４から供給されるスレーブ波形レベルＬｅｖｅｌ＿Ｓを乗算して出力する。ミキサ２１１は、係数乗算器２０４から出力されるマスター波形と、係数乗算器２１０，２１８から出力されるスレーブ波形とを混合して出力する。
【００９４】
（２）動作
説明の簡略化を図る為、上述した音源８では、２系統のスレーブ波形発生部を具備するものとして説明したが、以下に述べるＣＰＵ４の動作は、音源８がＮ系統（Ｎは２以上）のスレーブ波形発生部を備えたものを想定している。したがって、本実施形態では、ＲＡＭ７が図２３に図示する主要レジスタ構成を具備する。
図２３に示すＲＡＭ７の主要レジスタ構成が前述した第１実施形態（図２参照）と相違する点は、ピッチ変化幅ＢＲ＿Ｓ、粗チューニング値ＣＴ＿Ｓ、精チューニング値ＦＴ＿Ｓ、スレーブ波形レベルＬｅｖｅｌ＿Ｓ、スレーブ波形番号ＷＦ＿Ｓおよびスレーブ波形テーブル先頭アドレスＷＴ＿Ｓが、それぞれＮ系統のスレーブ波形発生部に対応した［１］〜［Ｎ］の配列要素を備えると共に、Ｎ系統のスレーブ波形発生部の起動順序を指定する起動順序ＯＲＤ［１］〜［Ｎ］を備えることにある。以下、こうした第４実施形態のスイッチ処理およびオシレータ設定処理の各動作について図２４〜図２５を参照して説明する。
【００９５】
＜スイッチ処理の動作＞
前述した第１実施形態と同様にメインルーチンのステップＳＡ２を介して第２実施形態によるスイッチ処理が実行されると、ＣＰＵ４は操作されるスイッチ種に対応した処理を実行する。以下では、マスター波形選択スイッチ操作、スレーブ波形選択スイッチ操作およびスレーブ起動順序設定スイッチ操作が行われた場合の各動作を述べる。
【００９６】
ａ．マスター波形選択スイッチ操作
マスター波形選択スイッチ操作が行われると、ステップＳＫ１の判断結果が「ＹＥＳ」になり、ステップＳＫ２に進む。ステップＳＫ２では、マスター波形選択スイッチ操作で選択されたマスター波形の形状を指定する波形番号をレジスタＷＦ＿Ｍにストアする。また、ステップＳＫ２では、波形番号ＷＦ＿Ｍで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスをレジスタＷＴ＿Ｍにストアする。さらに、ステップＳＫ２では、波形番号ＷＦ＿Ｍで指定される波形テーブルのテーブルサイズをレジスタＷＴＳ＿Ｍにストアする。加えて、ステップＳＫ２では、アドレス比較器２０２（図２１参照）に波形テーブル先頭アドレスＷＴ＿Ｍをセットした後、後述のステップＳＫ７に処理を進める。
【００９７】
なお、アドレス比較器２０２は、ＣＰＵ４によりセットされた波形テーブル先頭アドレスＷＴ＿Ｍを参照し、アドレス発生器２０１が波形一周期分の読み出しアドレスを発生し終えて当該先頭アドレスＷＴ＿Ｍに復帰する毎に、起動順序ＯＲＤ［１］〜［Ｎ］で指定される順序に従ってＮ系統のスレーブ波形発生部［１］〜［Ｎ］を順番に選択するようになっている。
【００９８】
ｂ．スレーブ波形選択スイッチ操作
スレーブ波形選択スイッチ操作が行われると、ステップＳＫ３の判断結果が「ＹＥＳ」になり、ステップＳＫ４に進む。ここで、ｎ番目（１≦ｎ≦Ｎ）のスレーブ波形発生部が選択されているものとする。ステップＳＫ４では、起動順序ＯＲＤ［１］〜［Ｎ］に従って起動された各スレーブ波形発生部のパラメータとして、スレーブ波形選択スイッチ操作で選択されたスレーブ波形の形状を指定する波形番号をレジスタＷＦ＿Ｓ［ｎ］にストアする。また、ステップＳＫ４では、波形番号ＷＦ＿Ｓ［ｎ］で指定される形状のスレーブ波形を発生させる波形テーブルの先頭アドレスをレジスタＷＴ＿Ｓ［ｎ］にストアする。さらに、ステップＳＫ４では、起動順序ＯＲＤ［１］〜［Ｎ］に従って起動されたスレーブ波形発生部のアドレス発生器に波形テーブル先頭アドレスＷＴ＿Ｓ［ｎ］をセットした後、後述のステップＳＫ７に処理を進める。
【００９９】
ｃ．スレーブ起動順序設定スイッチ操作
スレーブ起動順序設定スイッチ操作が行われると、ステップＳＫ５の判断結果が「ＹＥＳ」になり、ステップＳＫ６に進み、当該スイッチ操作で設定されるスレーブ波形発生部［１］〜［Ｎ］の起動順序をレジスタＯＲＤ［１］〜［Ｎ］に登録すると共に、レジスタＯＲＤ［１］〜［Ｎ］に登録された起動順序をアドレス比較器２０２にセットする。これにより、アドレス比較器２０２は、アドレス発生器２０１が波形一周期分の読み出しアドレスを発生し終えて先頭アドレスに復帰する毎に、Ｎ系統のスレーブ波形発生部［１］〜［Ｎ］を順番に選択する。
【０１００】
この後、ステップＳＫ７に進み、例えばマスター波形レベルＬｅｖｅｌ＿Ｍやスレーブ波形レベルＬｅｖｅｌ＿Ｓ［１］〜［Ｎ］の他、ベンダ操作値に対応するマスター波形のピッチ変化幅ＢＲ＿Ｍ、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｍ、マスター波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｍ、ベンダ操作値に対応するスレーブ波形のピッチ変化幅ＢＲ＿Ｓ［１］〜［Ｎ］、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｓ［１］〜［Ｎ］およびスレーブ波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｓ［１］〜［Ｎ］を設定する、その他のスイッチ処理を実行して本処理を完了させる。
【０１０１】
＜オシレータ設定処理の動作＞
次に、図２５を参照して第４実施形態によるオシレータ設定処理の動作を説明する。前述の第１実施形態と同様、鍵盤処理のステップＳＣ４（図１０参照）又はベンダ処理のステップＳＥ５（図１２参照）を介して第４実施形態によるオシレータ設定処理が実行されると、ＣＰＵ４は図２５に示すステップＳＬ１に処理を進め、ベンダホイール３の回動操作で発生するベンダ装置等に基づきレジスタＰｉｔｃｈの値を修正して修正ピッチＰ＿Ｍを発生する。
具体的には、レジスタＢｅｎｄｅｒに格納されるベンダ操作値を、ベンダ操作値に対応するマスター波形のピッチ変化幅ＢＲ＿Ｍ、マスター波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｍ、マスター波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｍにて補正し、補正されたベンダ操作値をレジスタＰｉｔｃｈに加算して修正ピッチＰ＿Ｍを発生する。
【０１０２】
続いて、ステップＳＬ２では、上記ステップＳＬ１にて発生した修正ピッチＰ＿Ｍをマスター発振器２００（図２１参照）に設定する。これにより、マスター発振器２００は、ＣＰＵ４から供給される修正ピッチＰ＿Ｍに応じた周波数のマスタークロックＭＣを発生する。次に、ステップＳＬ３では、Ｎ系統のスレーブ波形発生部［１］〜［Ｎ］がそれぞれ備える各スレーブ発振器に設定するピッチＰ＿Ｓ［ｎ］（ｎ＝１〜Ｎ）を発生する。
すなわち、上記ステップＳＬ１と同様、レジスタＢｅｎｄｅｒに格納されるベンダ操作値を、ベンダ操作値に対応するスレーブ波形のピッチ変化幅ＢＲ＿Ｓ［ｎ］、スレーブ波形のピッチを半音（１００セント）単位でチューニングする粗チューニング値ＣＴ＿Ｓ［ｎ］およびスレーブ波形のピッチをセント単位でチューニングする精チューニング値ＦＴ＿Ｓ［ｎ］にて補正し、補正されたベンダ操作値をレジスタＰｉｔｃｈに加算してピッチＰ＿Ｓ［ｎ］を発生する。
次いで、ステップＳＬ４では、上記ステップＳＬ３にて発生したピッチＰ＿Ｓ［ｎ］を、対応するスレーブ発振器に設定して本処理を終える。これにより、Ｎ系統のスレーブ波形発生部［１］〜［Ｎ］がそれぞれ備える各スレーブ発振器は、ＣＰＵ４から供給されるピッチＰ＿Ｓ［ｎ］に応じた周波数のスレーブクロックＳＣを発生する。
【０１０３】
以上のように、第４実施形態では、少なくとも２系統のスレーブ波形発生部を設けておき、マスター波形一周期の期間内に、２系統のスレーブ波形発生部からそれぞれ交互にスレーブ波形を発生させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるため、マスター波形とスレーブ波形とが波形不連続にならずに同期し、この結果、耳障りな楽音波形にならず、音楽的に自然なオシレータシンクロナイズ効果を得ることが可能になる。
なお、第４実施形態の動作では、Ｎ系統のスレーブ波形発生部［１］〜［Ｎ］を同時に起動させるようにしたが、これに限らず、発生する楽音のピッチＰｉｔｃｈに応じて、起動させるスレーブ波形発生部の系統数を可変させる態様としても構わない。
【図面の簡単な説明】
【０１０４】
【図１】本発明による第１実施形態の全体構成を示すブロック図である。
【図２】ＲＡＭ７に格納される主要レジスタ・フラグデータの構成を示す図である。
【図３】音源８の構成を示すブロック図である。
【図４】波形発生器２０３，２０９が発生する波形の形状を説明するための波形図である。
【図５】デューティ比Ｄｕｔｙの定義を説明するための波形図である。
【図６】スレーブ波形発生部の動作例を説明するための波形図である。
【図７】スレーブ波形発生部の動作例を説明するための波形図である。
【図８】メインルーチンの動作を示すフローチャートである。
【図９】スイッチ処理の動作を示すフローチャートである。
【図１０】鍵盤処理の動作を示すフローチャートである。
【図１１】オシレータ設定処理の動作を示すフローチャートである。
【図１２】ベンダ処理の動作を示すフローチャートである。
【図１３】第２実施形態による音源８の構成を示すブロック図である。
【図１４】第２実施形態によるスレーブ波形発生部の動作例を説明するための波形図である。
【図１５】第２実施形態によるスイッチ処理の動作を示すフローチャートである。
【図１６】第２実施形態によるオシレータ設定処理の動作を示すフローチャートである。
【図１７】第３実施形態による音源８の構成を示すブロック図である。
【図１８】第３実施形態によるスレーブ波形発生部の動作例を説明するための波形図である。
【図１９】第３実施形態によるスイッチ処理の動作を示すフローチャートである。
【図２０】第３実施形態によるオシレータ設定処理の動作を示すフローチャートである。
【図２１】第４実施形態による音源８の一構成例を示すブロック図である。
【図２２】第４実施形態によるスレーブ波形発生部の動作例を説明するための波形図である。
【図２３】第４実施形態によるＲＡＭ７に格納される主要レジスタ・フラグデータの構成を示す図である。
【図２４】第４実施形態によるスイッチ処理の動作を示すフローチャートである。
【図２５】第４実施形態によるオシレータ設定処理の動作を示すフローチャートである。
【図２６】従来技術の課題を説明するための図である。
【符号の説明】
【０１０５】
１  鍵盤
２  スイッチ部
３  ベンダホイール
４  ＣＰＵ
５  表示部
６  ＲＯＭ
７  ＲＡＭ
８  音源
９  Ｄ／Ａ変換器
１０  サウンドシステム
１００  電子楽器
【図１】
2006084611.tif 000003
【図２】
2006084611.tif 000004
【図３】
2006084611.tif 000005
【図４】
2006084611.tif 000006
【図５】
2006084611.tif 000007
【図６】
2006084611.tif 000008
【図７】
2006084611.tif 000009
【図８】
2006084611.tif 000010
【図９】
2006084611.tif 000011
【図１０】
2006084611.tif 000012
【図１１】
2006084611.tif 000013
【図１２】
2006084611.tif 000014
【図１３】
2006084611.tif 000015
【図１４】
2006084611.tif 000016
【図１５】
2006084611.tif 000017
【図１６】
2006084611.tif 000018
【図１７】
2006084611.tif 000019
【図１８】
2006084611.tif 000020
【図１９】
2006084611.tif 000021
【図２０】
2006084611.tif 000022
【図２１】
2006084611.tif 000023
【図２２】
2006084611.tif 000024
【図２３】
2006084611.tif 000025
【図２４】
2006084611.tif 000026
【図２５】
2006084611.tif 000027
【図２６】
2006084611.tif 000028