(57)【要約】【課題】常に同じようにボコーダ演奏を再現でき、しかも多様な楽音発生形態を具現することができる楽音発生装置を実現する。【解決手段】音源１２が人声音の変調波形と楽器音の被変調波形とを発生し、ＤＳＰ１５が人声音の変調波形から抽出したフォルマント成分に応じて楽器音の被変調波形を変調するボコーダ処理を行って、あたかも人の声のような楽器音を形成するので、従来のように、外部から音声信号を入力させてボコーダ処理する構成とは異なり、ボコーダ演奏を常に同じように再現できる。また、こうした構成において波形選択モード値「０」〜「２」および波形リセットモード値「０」〜「３」に応じた各種波形読み出し形態を設定するので、多様な楽音発生形態を具現することが可能になる。【選択図】      図６
2008083716.tif 000002
【特許請求の範囲】
【請求項１】
入力される演奏情報に対応した人声音の変調波形と楽器音の被変調波形とを発生する波形発生手段と、
前記波形発生手段が発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項２】
音高指定される範囲を、少なくとも第１および第２の音域に分割する分割手段と、
前記第１の音域内で音高指定する演奏情報に応じた人声音の変調波形の発生を指示する第１の指示手段と、
前記第２の音域内で音高指定する演奏情報に応じた楽器音の被変調波形の発生を指示する第２の指示手段と、
前記第１の指示手段から指示された人声音の変調波形と前記第２の指示手段から指示された楽器音の被変調波形とを発生する波形発生手段と、
前記波形発生手段が発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項３】
複数パートの内、第１のパートに割り当てられた演奏情報に対応した人声音の変調波形の発生を指示する第１の指示手段と、
複数パートの内、第２のパートに割り当てられた演奏情報に対応した楽器音の被変調波形の発生を指示する第２の指示手段と、
前記第１の指示手段から指示された人声音の変調波形と前記第２の指示手段から指示された楽器音の被変調波形を発生する波形発生手段と、
前記波形発生手段が発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項４】
前記波形発生手段は、
人声を表す波形を個別に複数記憶する波形記憶手段と、
この波形記憶手段に個別に記憶される各波形の再生順序を記憶する順序記憶手段と、
波形発生指示を受ける毎に、前記順序記憶手段に記憶される再生順序を順番に読み出し、その再生順序で指定される波形を前記波形記憶手段から読み出して前記人声音の変調波形を発生する波形読み出し手段と
を具備することを特徴とする請求項１乃至３のいずれかに記載の楽音発生装置。
【請求項５】
前記波形発生手段は、
人声を表す波形を波形番号に対応して記憶する波形記憶手段と、
ノート番号毎の波形番号を記憶する波形番号記憶手段と、
波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して前記人声音の変調波形を発生する波形読み出し手段と
を具備することを特徴とする請求項１乃至３のいずれかに記載の楽音発生装置。
【請求項６】
前記波形発生手段は、
人声を表す波形を波形番号に対応して記憶する波形記憶手段と、
ベロシティ値毎の波形番号を記憶する波形番号記憶手段と、
波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して前記人声音の変調波形を発生する波形読み出し手段と
を具備することを特徴とする請求項１乃至３のいずれかに記載の楽音発生装置。
【請求項７】
人声を表す波形を個別に複数記憶した波形記憶手段を有し、波形発生指示を受ける毎に、予め設定された再生順序に従って当該波形記憶手段から波形を順番に読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作に応じて、予め設定された再生順序の内、先頭の波形から読み出しを再開するように前記第１の波形発生手段に指示するリセット指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項８】
人声を表す波形を波形番号に対応して記憶する波形記憶手段と、
ノート番号毎の波形番号を記憶する波形番号記憶手段と、
波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作に応じて、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示するリセット指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項９】
人声を表す波形を波形番号に対応して記憶する波形記憶手段と、
ベロシティ値毎の波形番号を記憶する波形番号記憶手段と、
波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作に応じて、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示するリセット指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項１０】
人声を表す波形を個別に複数記憶した波形記憶手段を有し、波形発生指示を受ける毎に、予め設定された再生順序に従って当該波形記憶手段から波形を順番に読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作が行われた場合には予め設定された再生順序の内、先頭の波形から読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合にはリセット操作時の指示を無効にし、予め設定された再生順序に従い、次の波形番号で指定される波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項１１】
人声を表す波形を波形番号に対応して記憶する波形記憶手段と、
ノート番号毎の波形番号を記憶する波形番号記憶手段と、
波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作が行われた場合には、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項１２】
人声を表す波形を波形番号に対応して記憶する波形記憶手段と、
ベロシティ値毎の波形番号を記憶する波形番号記憶手段と、
波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作が行われた場合には、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項１３】
与えられた演奏情報が指定する音高を所定のキースケーリング特性に従って音高変換し、それに応じて当初と異なるフォルマント成分を有する人声音の変調波形を発生する第１の波形発生手段と、
前記演奏情報に応じた楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生した人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生した楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項１４】
入力される演奏情報に対応した人声音の変調波形と楽器音の被変調波形とを発生する波形発生処理と、
前記波形発生処理にて発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ処理と
コンピュータで実行させることを特徴とする楽音発生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ボコーダ演奏を常に同じように再現でき、しかも多様な楽音発生形態を具現する楽音発生装置および楽音発生プログラムに関する。
【背景技術】
【０００２】
音源から出力される楽音信号を、外部より入力される音声信号により変調して楽音形成する装置が知られている。この種の技術として、例えば特許文献１には、通過周波数帯域がそれぞれ異なる複数のバンドパスフィルタを用いて、外部より入力される音声信号の各周波数帯域毎のエンベロープレベルを抽出し、これに応じて、自動演奏される楽音の周波数特性を制御する所謂ボコーダ処理を施してあたかも人声のような楽音を発生する装置が開示されている。
【０００３】
【特許文献１】特許第２８０８７２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上述した従来の楽音発生装置では、外部からの入力信号にて音源が発生する楽音を変調する構成である為、ボコーダ演奏を常に同じように再現することができないという問題や、外部からの入力信号を取り込む構成を必須とすることから製品コスト増加を招致する問題もある。
さらに、従来の楽音発生装置では、外部からの入力信号に従ってボコーダ処理するので、即興的なボコーダ演奏に優れるものの、単に内部音源が発生する楽音を外部からの入力信号で変調するだけなので、多様な楽音発生形態を具現することができないという問題もある。
【０００５】
そこで本発明は、このような事情に鑑みてなされたもので、常に同じようにボコーダ演奏を再現でき、しかも多様な楽音発生形態を具現することができる楽音発生装置および楽音発生プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１に記載の発明では、入力される演奏情報に対応した人声音の変調波形と楽器音の被変調波形とを発生する波形発生手段と、前記波形発生手段が発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【０００７】
請求項２に記載の発明では、音高指定される範囲を、少なくとも第１および第２の音域に分割する分割手段と、前記第１の音域内で音高指定する演奏情報に応じた人声音の変調波形の発生を指示する第１の指示手段と、前記第２の音域内で音高指定する演奏情報に応じた楽器音の被変調波形の発生を指示する第２の指示手段と、前記第１の指示手段から指示された人声音の変調波形と前記第２の指示手段から指示された楽器音の被変調波形とを発生する波形発生手段と、前記波形発生手段が発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【０００８】
請求項３に記載の発明では、複数パートの内、第１のパートに割り当てられた演奏情報に対応した人声音の変調波形の発生を指示する第１の指示手段と、複数パートの内、第２のパートに割り当てられた演奏情報に対応した楽器音の被変調波形の発生を指示する第２の指示手段と、前記第１の指示手段から指示された人声音の変調波形と前記第２の指示手段から指示された楽器音の被変調波形を発生する波形発生手段と、前記波形発生手段が発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【０００９】
上記請求項１乃至３のいずれかに従属する請求項４に記載の発明では、前記波形発生手段は人声を表す波形を個別に複数記憶する波形記憶手段と、この波形記憶手段に個別に記憶される各波形の再生順序を記憶する順序記憶手段と、波形発生指示を受ける毎に、前記順序記憶手段に記憶される再生順序を順番に読み出し、その再生順序で指定される波形を前記波形記憶手段から読み出して前記人声音の変調波形を発生する波形読み出し手段とを具備することを特徴とする。
【００１０】
上記請求項１乃至３のいずれかに従属する請求項５に記載の発明では、前記波形発生手段は人声を表す波形を波形番号に対応して記憶する波形記憶手段と、ノート番号毎の波形番号を記憶する波形番号記憶手段と、波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して前記人声音の変調波形を発生する波形読み出し手段とを具備することを特徴とする。
【００１１】
上記請求項１乃至３のいずれかに従属する請求項６に記載の発明では、前記波形発生手段は人声を表す波形を波形番号に対応して記憶する波形記憶手段と、ベロシティ値毎の波形番号を記憶する波形番号記憶手段と、波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して前記人声音の変調波形を発生する波形読み出し手段とを具備する。
【００１２】
請求項７に記載の発明では、人声を表す波形を個別に複数記憶した波形記憶手段を有し、波形発生指示を受ける毎に、予め設定された再生順序に従って当該波形記憶手段から波形を順番に読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作に応じて、予め設定された再生順序の内、先頭の波形から読み出しを再開するように前記第１の波形発生手段に指示するリセット指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【００１３】
請求項８に記載の発明では、人声を表す波形を波形番号に対応して記憶する波形記憶手段と、ノート番号毎の波形番号を記憶する波形番号記憶手段と、波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作に応じて、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示するリセット指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【００１４】
請求項９に記載の発明では、人声を表す波形を波形番号に対応して記憶する波形記憶手段と、ベロシティ値毎の波形番号を記憶する波形番号記憶手段と、波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作に応じて、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示するリセット指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【００１５】
請求項１０に記載の発明では、人声を表す波形を個別に複数記憶した波形記憶手段を有し、波形発生指示を受ける毎に、予め設定された再生順序に従って当該波形記憶手段から波形を順番に読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作が行われた場合には予め設定された再生順序の内、先頭の波形から読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合にはリセット操作時の指示を無効にし、予め設定された再生順序に従い、次の波形番号で指定される波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【００１６】
請求項１１に記載の発明では、人声を表す波形を波形番号に対応して記憶する波形記憶手段と、ノート番号毎の波形番号を記憶する波形番号記憶手段と、波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作が行われた場合には、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【００１７】
請求項１２に記載の発明では、人声を表す波形を波形番号に対応して記憶する波形記憶手段と、ベロシティ値毎の波形番号を記憶する波形番号記憶手段と、波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作が行われた場合には、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【００１８】
請求項１３に記載の発明では、与えられた演奏情報が指定する音高を所定のキースケーリング特性に従って音高変換し、それに応じて当初と異なるフォルマント成分を有する人声音の変調波形を発生する第１の波形発生手段と、前記演奏情報に応じた楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生した人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生した楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【００１９】
請求項１４に記載の発明では、入力される演奏情報に対応した人声音の変調波形と楽器音の被変調波形とを発生する波形発生処理と、前記波形発生処理にて発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ処理とコンピュータで実行させることを特徴とする。
【００２０】
本発明では、入力される演奏情報に対応した人声音の変調波形と楽器音の被変調波形とを発生すると、その人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するので、従来のように、外部から音声信号を入力させてボコーダ処理する構成とは異なり、ボコーダ演奏を常に同じように再現することが可能になる。また、外部からの入力信号を取り込む構成が不要になるので、外部から音声信号を入力させてボコーダ処理するものに比べて製品コスト低減に寄与し得る効果も得られる。
【００２１】
さらに本発明では、例えば請求項２に記載の発明のように、音高指定される範囲を、少なくとも第１および第２の音域に分割しておき、第１の音域内で音高指定する演奏情報に応じた人声音の変調波形を発生させ、第２の音域内で音高指定する演奏情報に応じた楽器音の被変調波形を発生させるようにすると、第１の音域内で音高指定するタイミングを変化させれば、人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調するタイミングが変化するから、ボコーダ演奏音を多様な楽音発生形態で発生させることが可能になる。
【発明の効果】
【００２２】
請求項１，１４に記載の発明によれば、入力される演奏情報に対応した人声音の変調波形と楽器音の被変調波形とを発生すると、その人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するので、従来のように、外部から音声信号を入力させてボコーダ処理する構成とは異なり、ボコーダ演奏を常に同じように再現することが出来る。また、外部からの入力信号を取り込む構成が不要になるので、外部から音声信号を入力させてボコーダ処理するものに比べて製品コスト低減に寄与し得る効果も得られる。
請求項２に記載の発明によれば、音高指定される範囲を、少なくとも第１および第２の音域に分割しておき、第１の音域内で音高指定する演奏情報に応じた人声音の変調波形を発生させ、第２の音域内で音高指定する演奏情報に応じた楽器音の被変調波形を発生させるようにすると、第１の音域内で音高指定するタイミングを変化させれば、人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調するタイミングが変化するから、ボコーダ演奏音を多様な楽音発生形態で発生させることができる。
請求項３に記載の発明によれば、複数パートの内、第１のパートに割り当てられた演奏情報に対応した人声音の変調波形の発生を指示し、第２のパートに割り当てられた演奏情報に対応した楽器音の被変調波形の発生を指示するようにすると、第１のパートで人声音の変調波形を発生させるタイミングを変化させれば、人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調するタイミングが変化するから、ボコーダ演奏音を多様な楽音発生形態で発生させることができる。
請求項４に記載の発明によれば、人声を表す波形を個別に複数記憶しておく一方、それら個別に記憶される各波形の再生順序を記憶しておき、波形発生指示を受ける毎に、記憶された再生順序を順番に読み出し、その再生順序で指定される波形を読み出して人声音の変調波形を発生するようにしたので、例えば曲を構成する各音符に対応させた歌詞を個々の波形として格納しておき、それらの再生順序を決めておけば、演奏操作に応じて曲の歌詞が変調波形として再生され、これに基づきあたかも人が歌っているかのようなボコーダ演奏音を発生することができる。
請求項５に記載の発明によれば、人声を表す波形を波形番号に対応して記憶しておく一方、ノート番号毎の波形番号を記憶しておき、波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を選択し、選択した波形番号に対応した波形を読み出して人声音の変調波形を発生するようにしたので、ノート番号に応じて人声音の変調波形を異ならせることが出来、これ故、多様な楽音発生形態でボコーダ演奏音を発生させることができる。
請求項６に記載の発明によれば、人声を表す波形を波形番号に対応して記憶しておく一方、ベロシティ値毎の波形番号を記憶しておき、波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を選択し、選択した波形番号に対応した波形を読み出して人声音の変調波形を発生するようにしたので、ベロシティ値に応じて人声音の変調波形を異ならせることが出来、これ故、多様な楽音発生形態でボコーダ演奏音を発生させ得る。
請求項７に記載の発明によれば、波形発生指示を受ける毎に、予め設定された再生順序に従って波形を順番に読み出して人声音の変調波形を発生している時に、リセット操作がなされると、予め設定された再生順序の内、先頭の波形から読み出しを再開するので、例えば予め設定された再生順序で文章を表す人声音の変調波形を発生させている場合、リセット操作に応じて文章を最初から読み出す形で人声音の変調波形を発生させることが出来、これ故、多様な楽音発生形態でボコーダ演奏音を発生させ得る。
請求項８に記載の発明によれば、波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を選択し、選択した波形番号に対応した波形を読み出して人声音の変調波形を発生している時に、リセット操作がなされると、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するので、例えばあるノート番号で選択される波形番号に対応した１つの波形で文章を表す人声音の変調波形を発生させている場合、リセット操作に応じてその文章を最初から読み出す形で人声音の変調波形を発生させることが出来、これ故、多様な楽音発生形態でボコーダ演奏音を発生させ得る。
請求項９に記載の発明によれば、波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を選択し、選択した波形番号に対応した波形を読み出して人声音の変調波形を発生している時に、リセット操作がなされると、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するので、例えばあるベロシティ値で選択される波形番号に対応した１つの波形で文章を表す人声音の変調波形を発生させている場合、リセット操作に応じてその文章を最初から読み出す形で人声音の変調波形を発生させることが出来、これ故、多様な楽音発生形態でボコーダ演奏音を発生させ得る。
請求項１０に記載の発明では、波形発生指示を受ける毎に、予め設定された再生順序に従って波形を順番に読み出して人声音の変調波形を発生している時に、リセット操作が行われた場合には予め設定された再生順序の内、先頭の波形から読み出しを再開させ、ホールド操作が行われた場合にはリセット操作時の指示を無効にし、予め設定された再生順序に従い、次の波形番号で指定される波形の先頭アドレスから読み出しを再開するので、多様な楽音発生形態でボコーダ演奏音を発生させることができる。
請求項１１に記載の発明によれば、波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を選択し、選択した波形番号に対応した波形を読み出して人声音の変調波形を発生している時に、リセット操作が行われた場合には現在選択されている波形番号の波形の先頭アドレスから読み出しを再開させ、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するので、多様な楽音発生形態でボコーダ演奏音を発生させることができる。
請求項１２に記載の発明によれば、波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を選択し、選択した波形番号に対応した波形を読み出して人声音の変調波形を発生している時に、リセット操作が行われた場合には現在選択されている波形番号の波形の先頭アドレスから読み出しを再開させ、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するので、多様な楽音発生形態でボコーダ演奏音を発生させることができる。
請求項１３に記載の発明によれば、与えられた演奏情報が指定する音高を所定のキースケーリング特性に従って音高変換し、それに応じて当初と異なるフォルマント成分を有する人声音の変調波形を発生するので、多様な楽音発生形態でボコーダ演奏音を発生させることができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態による楽音発生装置を搭載した電子楽器を実施例とし、これについて図面を参照して説明する。
【００２４】
Ａ．実施例の構成
（１）全体構成
図１は、本発明による電子楽器の全体構成を示すブロック図である。この図において、１は押離鍵操作（演奏操作）に応じたキーオン／キーオフイベントおよびノート番号、ベロシティ等からなる演奏情報を発生する鍵盤である。２はユーザによって踏まれてオン操作された状態で波形リセット禁止を指示するホールド信号を発生するホールドフットスイッチである。３はユーザによって踏まれてオン操作された状態で波形リセットを指示する波形リセット信号を発生するリセットフットスイッチである。
【００２５】
４は楽器パネルに配設される各種スイッチから構成され、操作されたスイッチに対応したスイッチイベントを発生するパネルスイッチである。パネルスイッチ４には、楽音発生形態を指定する設定モードスイッチや、この設定モードスイッチと共に併用される数値入力用のテンキーなど各種操作スイッチが配設されている。５はスイッチスキャナであり、上述した鍵盤１〜パネルスイッチ４を走査してオンオフ状態を取得し、これにて検出されるスイッチイベントもしくは鍵盤１が発生する演奏情報をＣＰＵ９に送出する。
【００２６】
６はプログラムエリアおよびデータエリアを備えるＲＯＭである。ＲＯＭ６のプログラムエリアにはＣＰＵ９が実行する各種制御プログラムが記憶される。各種制御プログラムとは、後述するメインルーチンを構成する各種処理プログラムを含む。ＲＯＭ６のデータエリアには、音高変換用のキースケーリングテーブルＫＳＴ等の各種パラメータテーブルが格納される。キースケーリングテーブルＫＳＴは、鍵盤１の押鍵に応じて発生するキーオンイベントに含まれるノート番号を、音高を表す波形ピッチ（セント値）に変換するテーブルである。
【００２７】
図２にキースケーリングテーブルＫＳＴの一例を図示する。この図に示すキースケーリングテーブルＫＳＴは、キースケーリング値「１．０」、「−１．０」および「０．０」にて選択される３種のキースケーリング特性を備える。キースケーリング値「１．０」ではノート番号の増加に応じてリニアにピッチ上昇するキースケーリング特性が選択される。キースケーリング値「−１．０」ではキースケーリング「１．０」とは逆の音高変化をもたらすキースケーリング特性、キースケーリング値「０．０」では音高変化無しとなるキースケーリング特性がそれぞれ選択される。
【００２８】
７は各種レジスタ・フラグデータを一時記憶するＲＡＭである。ＲＡＭ７の主要レジスタの構成については追って詳述する。８は楽器パネルに配設される表示部であり、後述のＣＰＵ９から供給される表示制御信号に応じて楽器各部の動作状態やパラメータ設定状態などを表示する。ＣＰＵ９はスイッチスキャナ５により取り込まれたイベントに応じて、後述するスイッチ処理、鍵盤処理およびＭＩＤＩ処理を実行して音源１２およびＤＳＰ１５に楽音形成を指示する。本発明の要旨に係わるＣＰＵ９の処理動作については追って詳述する。１０はＣＰＵ９の制御の下に、外部ＭＩＤＩ機器とＭＩＤＩデータ（ＭＩＤＩメッセージ）１１をシリアル形式で入出力するＭＩＤＩインタフェースである。
【００２９】
本実施例では、システム・エクスクルーシブ・メッセージを用いて外部より転送される波形データをＭＩＤＩインタフェース１０を介して取り込む。波形データ転送用のシステム・エクスクルーシブ・メッセージとは、図３に図示するように、システム・エクスクルーシブの開始を表すステータスＦ０、メーカＩＤ（ＭＡＫＥＲＩＤ）、デバイスＩＤ（ＤＥＶＩＣＥＩＤ）、波形データサイズ（ＳＩＺＥ）、ループアドレス（ＬＯＯＰＰＯＩＮＴ）、その他パラメータ（ＯＴＨＥＲ）、波形データ（ＷＡＶＥＤＡＴＡ）、チェックサム（ＣＨＥＣＫＳＵＭ）およびシステム・エクスクルーシブの終了を表すステータスＦ７とから形成される可変長データである。
【００３０】
１２は周知の波形メモリ読み出し方式にて構成される音源である。音源１２は、ＣＰＵ９から供給される波形リセットモード値（後述する）に応じて波形発生形態を変更するようになっており、その構成については追って説明する。１３は各種音色の波形データを記憶する波形ＲＯＭである。波形ＲＯＭ１３は、図４に示すように、アドレスデータエリアＡＤＥおよび波形データエリアＷＤＥを備える。アドレスデータエリアＡＤＥには、波形種別を指定する波形番号毎の読み出し開始アドレスＳｔａｒｔＡｄｄｒｅｓｓ、読み出し終了アドレスＥｎｄＡｄｄｒｅｓｓおよび繰り返し読み出しする際のループ再生開始アドレスＬｏｏｐＡｄｄｒｅｓｓが格納される。波形データエリアＷＤＥには、上記アドレスデータエリアＡＤＥに記憶される波形番号の読み出し開始アドレスＳｔａｒｔＡｄｄｒｅｓｓおよび読み出し終了アドレスＥｎｄＡｄｄｒｅｓｓで指定される波形データが記憶される。
【００３１】
１４は上記波形ＲＯＭ１３と同様にアドレスデータエリアＡＤＥおよび波形データエリアＷＤＥを備える波形ＲＡＭである。波形ＲＡＭ１４では、前述したシステム・エクスクルーシブ・メッセージを用いてＣＰＵ９がＭＩＤＩインタフェース１０を介して取り込んだ波形データを、音源１２の制御の下に格納するようになっている。本実施例では、人声をサンプリングした波形データを波形ＲＡＭ１４に記憶する。
【００３２】
１５はボコーダ処理を行うＤＳＰである。ＤＳＰ１５では、音源１２から人声の変調波形（モジュレータパート出力）と鍵盤音の被変調波形（キャリアパート出力）とが入力されると、鍵盤音の被変調波形を人声のフォルマント成分に応じて変調し、あたかも人の声のような鍵盤音を発生する。ＤＳＰ１５の構成については後述する。１６は音源１２が出力する楽音波形をアナログ形式の波形信号に変換して出力するＤ／Ａ変換器である。１７はＤ／Ａ変換器１６より入力される波形信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカ１８から発音させるサウンドシステムである。
【００３３】
（２）ＲＡＭ７の構成
次に、図５を参照してＲＡＭ７に設けられる主要レジスタの構成について説明する。図５において、レジスタＷａｖｅＳｅｑＯｒｄｅｒ［０］〜［１５］は最大１６ステップまでの波形読み出し順序を指定する一次配列レジスタであり、各ステップ（配列要素）には読み出す波形の種別を指定する波形番号が格納される。波形番号「−１」（ＯＦＦ値）がセットされるステップで波形読み出しの進行が停止する。このレジスタＷａｖｅＳｅｑＯｒｄｅｒ［０］〜［１５］で指定される波形読み出し順序は、後述する波形選択モード値が「０」（シーケンシャルモード下）で参照される。
【００３４】
レジスタＫｅｙＭａｐ［０］〜［１２７］は、読み出す波形の種別を表す波形番号をＭＩＤＩノートナンバ「０」〜「１２７」毎に格納する。ＭＩＤＩ入力されるノートオンイベントあるいは鍵盤１の押鍵に応じて発生するキーオンイベントに含まれるノート番号に応じて、これらレジスタＫｅｙＭａｐ［０］〜［１２７］から該当する波形番号が読み出される。これらレジスタＫｅｙＭａｐ［０］〜［１２７］に格納される波形番号は、後述する波形選択モード値「１」（キーマッピングモード下）で読み出される。
【００３５】
レジスタＶｅｌＭａｐ［０］〜［１２７］は、読み出す波形の種別を表す波形番号をベロシティ値「０」〜「１２７」毎に格納する。ＭＩＤＩ入力されるノートオンイベントあるいは鍵盤１の押鍵に応じて発生するキーオンイベントに含まれるベロシティ値に応じて、これらレジスタＶｅｌＭａｐ［０］〜［１２７］から該当する波形番号が読み出される。これらレジスタＶｅｌＭａｐ［０］〜［１２７］に格納される波形番号は、後述する波形選択モード値「２」（ベロシティマッピングモード下）で読み出される。
【００３６】
レジスタＷａｖｅＳｅｌｅｃｔＭｏｄｅには、波形選択モード値が格納される。波形選択モード値は設定モードスイッチの操作に応じて設定される。波形選択モード値は「０」、「１」および「２」のいずれかに設定される。
波形選択モード値が「０」（シーケンシャルモード下）の場合、上述したレジスタＷａｖｅＳｅｑＯｒｄｅｒ［０］〜［１５］に格納される波形番号の波形を順番に読み出す。
波形選択モード値が「１」（キーマッピングモード下）の場合、ＭＩＤＩ入力されるノートオンイベント（あるいはキーオンイベント）に含まれるノート番号に応じて、上述のレジスタＫｅｙＭａｐ［０］〜［１２７］にて指定される波形番号の波形を読み出す。
波形選択モード値が「２」（ベロシティモード下）の場合、ＭＩＤＩ入力されるノートオンイベント（あるいはキーオンイベント）に含まれるベロシティ値に応じて、上述のレジスタＶｅｌＭａｐ［０］〜［１２７］にて指定される波形番号の波形を読み出す。
【００３７】
レジスタＷａｖｅＲｅｓｔＭｏｄｅには、波形リセットの仕方を指定する波形リセットモード値が格納される。波形リセットモード値は設定モードスイッチの操作に応じて「０」、「１」、「２」および「３」の何れかに設定される。波形リセットモード値は、上述したシーケンシャルモードおよびキーマッピングモード（あるいはベロシティモード）のモード別に定義される。以下、モード別に定義される波形リセットモード値の内容を説明する。
【００３８】
＜シーケンシャルモード下＞
波形リセットモード値「０」：ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットする。
【００３９】
波形リセットモード値「１」：明示的なリセット操作が無い限り、ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットする。明示的なリセット操作とは、リセットフットスイッチ３をオン操作した場合や、波形リセット時間（後述する）が経過するまで新たなノートオンイベントが無い場合を指す。明示的なリセット操作があった場合には先頭波形の先頭アドレスから読み出すように波形リセットする。なお、明示的なリセット操作は、ホールドフットスイッチ２がオン操作され、ホールド信号が発生するホールド状態にあると無効になり、先頭波形の選択が禁止される。
【００４０】
波形リセットモード値「２」：後述のスプリットポイントで鍵盤１を上側鍵域および下側鍵域に鍵域分割する動作を有効にし、下側鍵域の演奏操作に応じて変調波形（後述する）を発生させ、その際の波形リセットの仕方は波形リセットモード値「１」と同様である。
【００４１】
波形リセットモード値「３」：音源１２が備える複数パートの演奏を有効にし、モジュレータパートで変調波形を発生させ、その際の波形リセットの仕方は波形リセットモード値「１」と同様である。
【００４２】
＜キーマッピングモード（あるいはベロシティモード）下＞
波形リセットモード値「０」：ノートオンイベントに応じて、現在選択されている波形の先頭アドレスから読み出すように波形リセットする。
【００４３】
波形リセットモード値「１」：読み出す変調波形が替わる場合や、読み出す変調波形が替わらなくとも明示的なリセット操作が有る場合には現ノートオンイベントに応じて選択される変調波形の先頭アドレスから読み出すように波形リセットし、読み出す変調波形が替わらない場合にホールド状態や明示的なリセット操作が行われない状態であると、前ノートオンイベントの発音で最後に読み出した波形読み出しアドレスから再び読み出すようにする。
【００４４】
波形リセットモード値「２」：後述のスプリットポイントで鍵盤１を上側鍵域および下側鍵域に鍵域分割する動作を有効にし、下側鍵域の演奏操作に応じて変調波形（後述する）を発生させ、その際の波形リセットの仕方は波形リセットモード値「１」と同様である。
【００４５】
波形リセットモード値「３」：音源１２が備える複数パートの演奏を有効にし、モジュレータパートで変調波形を発生させ、その際の波形リセットの仕方は波形リセットモード値「１」と同様である。
【００４６】
レジスタＷａｖｅＲｅｓｅｔＴｉｍｅには、全鍵離鍵から波形リセットを開始するまでの波形リセット時間が格納される。波形リセット時間は設定モードスイッチの操作に応じて設定される。レジスタＳｐｌｉｔＰｏｉｎｔには、鍵盤１を上側鍵域および下側鍵域に鍵域分割する鍵の鍵番号がスプリットポイントとして格納される。
なお、上述した波形リセットモード値「２」の場合に鍵域分割が有効になり、下側鍵域の演奏操作に応じて変調波形が発生し、スプリットポイントを含む上側鍵域の演奏操作に応じて被変調波形が発生する。
【００４７】
レジスタＭｏｄｕｌａｔｏｒＰａｒｔには、音源１２が備える複数パートの内、ボコーダ処理を行うＤＳＰ１５のモジュレータ入力（後述する）に割り当てられたパートを表すモジュレータパート番号が格納される。モジュレータパート番号は設定モードスイッチの操作に応じて設定される。
レジスタＣａｒｒｉｅｒＰａｒｔには、音源１２が備える複数パートの内、ボコーダ処理を行うＤＳＰ１５のキャリア入力（後述する）に割り当てられたパートを表すキャリアパート番号が格納される。キャリアパート番号は設定モードスイッチの操作に応じて設定される。
レジスタＫｅｙＳｃａｌｉｎｇには、キースケーリング値が格納される。このキースケーリング値によりＲＯＭ６に記憶されるキースケーリングテーブルＫＳＴのキースケーリング特性が選択される。キースケーリング値は設定モードスイッチの操作に応じて設定される。
【００４８】
レジスタＷａｖｅＮｕｍには現在選択されている変調波形（後述する）の波形番号が一時記憶される。レジスタＮｅｗＷａｖｅＮｕｍには新たに選択される変調波形の番号が一時記憶される。レジスタＷａｖｅＡｄｄｒｅｓｓには、レジスタＷａｖｅＮｕｍに格納される波形番号により指定される波形データの読み出しアドレスが一時記憶される。レジスタＷａｖｅＩｄｘには、上記レジスタＷａｖｅＳｅｑＯｒｄｅｒ［０］〜［１５］のステップ（配列要素）を指定するインデックス値が一時記憶される。
【００４９】
レジスタＲｅｓｅｔＣｎｔは、一定周期毎に割込み実行される後述のタイマ処理によって波形リセット時間（レジスタＷａｖｅＲｅｓｅｔＴｉｍｅ）を計時するリセットカウンタである。レジスタＮｏｔｅＣｎｔは、キャリアパートにおけるノートオンイベント数（あるいは押鍵数）を計数するカウンタである。リセットフラグＲｅｓｅｔはリセットフットスイッチ３が波形リセット信号を発生した場合あるいは全鍵離鍵から波形リセット時間が経過するまで新たなノートオンイベントが無い場合に「１」、それ以外は「０」となるフラグである。ホールドフラグＨｏｌｄはホールドフットスイッチ２が波形リセット禁止を指示するホールド信号を発生した場合に「１」、それ以外は「０」となるフラグである。
【００５０】
（３）音源１２の構成
次に、図６および図７を参照して音源１２の構成について説明する。前述したように、音源１２はＣＰＵ９から供給される波形リセットモード値に応じて波形発生形態を変更する。具体的には、波形リセットモード値が「０」、「１」および「２」であると、図６に示す第１の構成によって楽音波形を発生する。波形リセットモード値が「３」であれば、図７に示す第２の構成によって楽音波形を発生する。以下、第１および第２の構成を説明する。
【００５１】
（ａ）音源１２の第１の構成
図６において、１２ａ−１〜１２ａ−ｎは発音チャンネル毎に設けられる波形発生器であり、それぞれＣＰＵ９から供給されるパラメータに従って波形ＲＯＭ１３（あるいは波形ＲＡＭ１４）から波形データを読み出して波形発生する。波形リセットモード値が「０」、「１」および「２」の場合、波形発生器１２ａ−１がモジュレータパートに割り当てられ、それ以外の波形発生器１２ａ−２〜１２ａ−ｎがキャリアパートに割り当てられる。１２ｂはキャリアパートに割り当てられた波形発生器１２ａ−２〜１２ａ−ｎの各出力を加算して出力する加算器である。 
モジュレータパートに割り当てられた波形発生器１２ａ−１の出力は変調波形としてＤＳＰ１５のモジュレータ入力に供給される。一方、加算器１２ｂの出力は被変調波形としてＤＳＰ１５のキャリア入力に供給される。第１の構成による音源１２では、後述するように、ＤＳＰ１５の出力をそのまま楽音波形として次段のＤ／Ａ変換器１６へ出力する。
【００５２】
（ｂ）音源１２の第２の構成
次に、図７を参照して音源１２の第２の構成を説明する。波形リセットモード値が「３」の場合、音源１２はＭＩＤＩチャンネルに対応したパートＰ１〜Ｐ１６を具備する。これらパートＰ１〜Ｐ１６のいずれかがモジュレータパートとキャリアパートとに設定される。モジュレータパートは前述のレジスタＭｏｄｕｌａｔｏｒＰａｒｔに格納されるモジュレータパート番号で指定される。同様に、キャリアパートは前述のレジスタＣａｒｒｉｅｒＰａｒｔに格納されるキャリアパート番号で指定される。図７に図示する一例の場合、パートＰ１がモジュレータパートに、パートＰ２がキャリアパートに設定されている。
【００５３】
各パートＰ１〜Ｐ１６には、図示されていないアサイナによって動的に波形発生１２ａおよび加算器１２ｂが割り当てられる。図７に示す一例の場合、モジュレータパートとなるパートＰ１には波形発生器１２ａ−Ｐ１が割り当てられ、キャリアパートとなるパートＰ２には複数の波形発生器１２ａ−Ｐ２およびこれら波形発生器１２ａ−Ｐ２の各出力を加算出力する加算器１２ｂ−Ｐ２が割り当てられる。
１２ｃは各パートＰ１〜Ｐ１６の出力経路を切替えるスイッチである。このスイッチ１２ｃは、上記レジスタＭｏｄｕｌａｔｏｒＰａｒｔ、ＣａｒｒｉｅｒＰａｒｔに各々格納されるモジュレータパート番号およびキャリアパート番号に基づきＣＰＵ９が発生するスイッチング制御信号に従い、モジュレータパートからの出力される変調波形を端子ＭＯＤＵＬＡＴＯＲに、キャリアパートから出力される被変調波形を端子ＣＡＲＲＩＥＲに、それ以外のパートの波形出力を次段のミキサ１２ｄに供給するよう経路切替えする。
【００５４】
図７の図示する一例では、パートＰ１が発生する変調波形を端子ＭＯＤＵＬＡＴＯＲに、パートＰ２が発生する被変調波形を端子ＣＡＲＲＩＥＲに、パートＰ３〜Ｐ１６の各波形出力をミキサ１２ｄに供給するようスイッチングする。キミサ１２ｄは、スイッチ１２ｃを介して供給される波形出力と、ＤＳＰ１５の出力とを混合して得た楽音波形を次段のＤ／Ａ変換器１６へ出力する。
【００５５】
（４）ＤＳＰ１５の構成
次に、図８を参照してＤＳＰ１５の構成を説明する。ＤＳＰ１５は分析部１５０、合成部１５１および加算器１５２から構成される。分析部１５０は、バンドパスフィルタ（以下、ＢＰＦと記す）１５０ａ−１〜１５０ａ−ｎとエンベロープ検出器（以下、ＥＮＶと記す）１５０ｂ−１〜１５０ｂ−ｎとを備える。ＢＰＦ１５０ａ−１〜１５０ａ−ｎは、それぞれ人声のフォルマント周波数に対応させた通過周波数帯域を有し、音源１２から供給される変調波形（モジュレータパート出力）のフォルマント成分を抽出する。ＥＮＶ１５０ｂ−１〜１５０ｂ−ｎは、整流器を含む絶対値回路およびＬＰＦを含む平滑回路から構成され、上記ＢＰＦ１５０ａ−１〜１５０ａ−ｎにて抽出されるフォルマント成分のエンベロープレベルを検出する。
【００５６】
合成部１５１は、ＢＰＦ１５１ａ−１〜１５１ａ−ｎと乗算器１５１ｂ−１〜１５１ｂ−ｎとを備える。ＢＰＦ１５１ａ−１〜１５１ａ−ｎは、分析部１５０ＢＰＦ１５０ａ−１〜１５０ａ−ｎと同一の通過周波数帯域を有し、音源１２から供給される被変調波形（キャリアパート出力）をｎ個の通過周波数帯域に分割濾波する。乗算器１５１ｂ−１〜１５１ｂ−ｎは、ＥＮＶ１５０ｂ−１〜１５０ｂ−ｎによって検出された各フォルマント成分毎のエンベロープレベルを、ＢＰＦ１５１ａ−１〜１５１ａ−ｎの各出力に乗算する。加算器１５２は乗算器１５１ｂ−１〜１５１ｂ−ｎの各出力を加算合成して音源１２側へ出力する。
【００５７】
波形リセットモード値が「０」、「１」および「２」の場合、前述したように、音源１２は図６に図示した第１の構成となるから、加算器１５２の出力はそのまま音源１２を通過して次段のＤ／Ａ変換器１６に入力される。一方、波形リセットモード値が「３」であると、音源１２は図７に図示した第２の構成となるから、加算器１５２の出力は音源１２のキミサ１２ｄに入力される。
このような構成によれば、音源１２から人声音の変調波形（モジュレータパート出力）と楽器音の被変調波形（キャリアパート出力）とが入力されると、被変調波形が変調波形のフォルマント成分に応じて変調される結果、あたかも人の声のような楽器音が生成されるようになっている。
【００５８】
Ｂ．実施例の動作
次に、図９〜図１９を参照して上記構成による実施例の動作を説明する。以下では、最初にメインルーチンの動作を説明し、続いてメインルーチンを構成する各種処理の動作について述べる。
【００５９】
（１）メインルーチンの動作
実施例に電源が投入されると、ＣＰＵ９はＲＯＭ６から所定の制御プログラムを読み出して自身にロードし、図９に示すメインルーチンを実行する。メインルーチンが実行されると、ＣＰＵ９は先ずステップＳＡ１に処理を進め、ＲＡＭ７に格納される各種レジスタやフラグ類をリセットしたり初期値をセットする他、音源１２およびＤＳＰ１５にイニシャライズを指示する初期化処理を行う。そして、イニシャライズ完了後、ステップＳＡ２に進み、パネルスイッチ４に設けられる設定モードスイッチの操作に応じてモード設定したり、ホールドフットスイッチ２のオンオフ状態に対応したホールドフラグＨｏｌｄおよびリセットフットスイッチ３のオンオフ状態に対応したリセットフラグＲｅｓｅｔをセットするスイッチ処理を実行する。
【００６０】
続いて、ステップＳＡ３に進み、鍵盤１の押離鍵操作に応じた楽音を発生するよう音源１２を制御する鍵盤処理を実行する。そして、ステップＳＡ４では、システム・エクスクルーシブ・メッセージを用いて外部より転送される波形データをＭＩＤＩインタフェース１０を介して取り込んだり、ノートオン／ノートオフイベント等の通常のＭＩＤＩメッセージを受信して楽音を発生するＭＩＤＩ処理を実行する。この後、ステップＳＡ５に進み、例えば上記ステップＳＡ２のスイッチ処理にて設定されたモードの内容を表示部８に表示する等の、その他の処理を実行する。以後、電源がオフされるまで上述のステップＳＡ２〜ＳＡ５を繰り返し実行する。
【００６１】
（２）タイマ処理の動作
次に、図１０を参照してタイマ処理の動作を説明する。ＣＰＵ９は、上述したメインルーチンを実行している過程で一定周期毎にタイマ処理を割込み実行する。割込み実行タイミングになると、タイマ処理を起動して図１０のステップＳＢ１に処理を進め、レジスタＲｅｓｅｔＣｎｔの値が「０」、つまり波形リセット時間を計時する状態であるか否かを判断する。レジスタＲｅｓｅｔＣｎｔの値が「０」であれば、波形リセット時間を計時する状態でないので、判断結果は「ＹＥＳ」になり、何も行わずに本処理を完了させる。
一方、レジスタＲｅｓｅｔＣｎｔの値が「０」でなければ、波形リセット時間を計時する状態なので、判断結果が「ＮＯ」になり、次のステップＳＢ２に進む。
【００６２】
ステップＳＢ２では、レジスタＲｅｓｅｔＣｎｔの値をインクリメントして歩進させ、続くステップＳＢ３では歩進されたレジスタＲｅｓｅｔＣｎｔの値が、レジスタＷａｖｅＲｅｓｅｔＴｉｍｅに格納される波形リセット時間に達したか否かを判断する。波形リセット時間に達していないと、判断結果は「ＮＯ」となり、本処理を完了させる。
これに対し、波形リセット時間に達すると、判断結果が「ＹＥＳ」になり、ステップＳＢ４に進み、リセットフラグＲｅｓｅｔに「１」をセットして波形リセットを指示する状態にある旨を表す一方、レジスタＲｅｓｅｔＣｎｔをゼロリセットして本処理を終える。
【００６３】
このように、タイマ処理では、一定周期毎に波形リセット時間を計時する状態であるどうかを判断し、その状態にあればレジスタＲｅｓｅｔＣｎｔの値を歩進させて波形リセット時間に達したか否かを判断する。そして、波形リセット時間に達したときには、リセットフラグＲｅｓｅｔに「１」をセットして波形リセットを指示する状態に設定する。
【００６４】
（３）スイッチ処理の動作
次に、図１１を参照してスイッチ処理の動作を説明する。前述したメインルーチンのステップＳＡ２（図９参照）を介して本処理が実行されると、ＣＰＵ９は図１１のステップＳＣ１に進み、パネルスイッチ４に配設される設定モードスイッチがオン操作されたかどうかを判断する。以下、設定モードスイッチ以外のスイッチ操作が行われた場合と、設定モードスイッチがオン操作された場合とに分けて動作説明を進める。
【００６５】
（ａ）設定モードスイッチ以外のスイッチ操作が行われた場合
この場合、ステップＳＣ１の判断結果が「ＮＯ」となり、ステップＳＣ２に進み、リセットフットスイッチ３のオンオフ状態に対応したリセットフラグＲｅｓｅｔをセットする。次いで、ステップＳＣ３では、ホールドフットスイッチ２のオンオフ状態に対応したホールドフラグＨｏｌｄをセットする。そして、ステップＳＣ４では、例えばＲＯＭ６に複数種のキースケーリングテーブルＫＳＴが記憶されている場合に、テーブル選択スイッチの操作に応じて、それらの内から所望のテーブル種を選択する等の、その他のスイッチ処理を実行した後、本処理を完了させる。
【００６６】
（ｂ）設定モードスイッチがオン操作された場合
この場合、ステップＳＣ１の判断結果が「ＹＥＳ」となり、ステップＳＣ５に進む。ステップＳＣ５では、設定モードスイッチと併用される数値入力用のテンキー「０」〜「９」の押下操作の有無を判断する。以下、数値入力用のテンキー「０」〜「９」が押下された場合の処理を説明する。
【００６７】
＜テンキー「０」の押下＞
テンキー「０」が押下されると、ステップＳＣ６に進む。ステップＳＣ６では、ＲＯＭ６のデータエリアに記憶されるキースケーリングテーブルＫＳＴのキースケーリング特性を選択するキースケーリング値を、ＲＡＭ７のレジスタＫｅｙＳｃａｌｉｎｇに設定して本処理を完了させる。
【００６８】
＜テンキー「１」の押下＞
テンキー「１」が押下されると、ステップＳＣ７に進む。ステップＳＣ７では、読み出す波形の種別を指定する波形番号を読み出す順序でレジスタＷａｖｅＳｅｑＯｒｄｅｒ［０］〜［１５］に設定して本処理を完了させる。
なお、このステップＳＣ７では、最大１６ステップまでの読み出し順序を指定できる。波形読み出しを止めるステップには波形番号「−１」（ＯＦＦ値）を設定する。設定された読み出し順序は、波形選択モード値「０」のシーケンシャルモード下で参照される。
【００６９】
＜テンキー「２」の押下＞
テンキー「２」が押下されると、ステップＳＣ８に進む。ステップＳＣ８では、ＭＩＤＩノートナンバ「０」〜「１２７」毎の波形番号をレジスタＫｅｙＭａｐ［０］〜［１２７］に設定して本処理を完了させる。レジスタＫｅｙＭａｐ［０］〜［１２７］に設定された波形番号は、波形選択モード値「１」のキーマッピングモード下で参照される。
【００７０】
＜テンキー「３」の押下＞
テンキー「３」が押下されると、ステップＳＣ９に進む。ステップＳＣ９では、ベロシティ値「０」〜「１２７」毎の波形番号をレジスタＶｅｌＭａｐ［０］〜［１２７］に設定して本処理を完了させる。レジスタＶｅｌＭａｐ［０］〜［１２７］に設定された波形番号は、波形選択モード値「２」のベロシティモード下で参照される。
【００７１】
＜テンキー「４」の押下＞
テンキー「４」が押下されると、ステップＳＣ１０に進む。ステップＳＣ１０では、読み出すべき波形を選択する波形選択モード値（「０」、「１」および「２」）をレジスタＷａｖｅＳｅｌｅｃｔＭｏｄｅに設定して本処理を完了させる。
【００７２】
＜テンキー「５」の押下＞
テンキー「５」が押下されると、ステップＳＣ１１に進む。ステップＳＣ１１では、波形リセットの仕方を指定する波形リセットモード値（「０」、「１」、「２」および「３」）をレジスタＷａｖｅＲｅｓｔＭｏｄｅに設定して本処理を完了させる。波形リセットモード値「０」〜「３」の各内容については前述した通りである。
【００７３】
＜テンキー「６」の押下＞
テンキー「６」が押下されると、ステップＳＣ１２に進む。ステップＳＣ１２では、全鍵離鍵から波形リセットを開始するまでの波形リセット時間をレジスタＷａｖｅＲｅｓｅｔＴｉｍｅに設定して本処理を完了させる。
【００７４】
＜テンキー「７」の押下＞
テンキー「７」が押下されると、ステップＳＣ１３に進む。ステップＳＣ１３では、鍵盤１を上側鍵域および下側鍵域に鍵域分割する鍵の鍵番号をレジスタＳｐｌｉｔＰｏｉｎｔに設定して本処理を完了させる。
【００７５】
＜テンキー「８」の押下＞
テンキー「８」が押下されると、ステップＳＣ１４に進む。ステップＳＣ１４では、音源１２が備える複数パートの内、ＤＳＰ１５のモジュレータ入力に割り当てるパートを表すモジュレータパート番号をレジスタＭｏｄｕｌａｔｏｒＰａｒｔに設定して本処理を完了させる。
【００７６】
＜テンキー「９」の押下＞
テンキー「９」が押下されると、ステップＳＣ１５に進む。ステップＳＣ１５では、音源１２が備える複数パートの内、ＤＳＰ１５のキャリア入力に割り当てるパートを表すキャリアパート番号をレジスタＣａｒｒｉｅｒＰａｒｔに設定して本処理を完了させる。
【００７７】
（４）鍵盤処理の動作
次に、図１２を参照して鍵盤処理の動作を説明する。前述したメインルーチンのステップＳＡ３（図９参照）を介して本処理が実行されると、ＣＰＵ９は図１２のステップＳＤ１に処理を進め、鍵盤１の押離鍵操作に応じて発生するキーオン／キーオフイベントの有無を判断する。鍵操作されず、キーオン／キーオフイベントがスイッチスキャナ５にて検出されなければ、判断結果は「ＮＯ」となり、一旦本処理を完了させる。一方、キーオン／キーオフイベントが検出されると、上記ステップＳＤ１の判断結果が「ＹＥＳ」になり、ステップＳＤ２に進み、ノートオンオフ処理を実行する。
【００７８】
（５）ノートオンオフ処理の動作
次に、図１３を参照してノートオンオフ処理の動作を説明する。上記鍵盤処理のステップＳＤ２（図１２参照）もしくは後述するＭＩＤＩ処理のステップＳＭ５（図１９参照）を介して本処理が実行されると、ＣＰＵ９は図１３のステップＳＥ１に進み、パートチェック処理を行う。
パートチェック処理では、後述するように、設定された波形リセットモード値に従い、モジュレータパートでの変調波形の発生の有無およびキャリアパートでの被変調波形の発生の有無を表すフラグＭｏｄＮｏｔｅ、ＣａｒＮｏｔｅをセットし、そのフラグ設定に基づきキャリアパートが被変調波形を発生させる場合には、入力されるノートオンイベントに応じてオンイベント数を計数したり、入力されるノートオフイベントに応じてオンイベント数をデクリメントし、オールノートオフになった時に前述のタイマ処理に波形リセット時間の計時開始を指示する。
【００７９】
こうしたパートチェック処理が完了すると、ＣＰＵ９はステップＳＥ２に進み、入力されたイベントがノートオンイベントであるか否かを判断する。ノートオフイベントであると、判断結果は「ＮＯ」になり、ステップＳＥ１３に進み、ノートオフイベントに含まれるノート番号に対応した音高の楽音を消音するよう音源１２に指示する消音処理を実行した後、後述のステップＳＥ８に進む。
【００８０】
一方、入力されたイベントがノートオンイベントであれば、上記ステップＳＥ２の判断結果が「ＹＥＳ」となり、ステップＳＥ３に進む。ステップＳＥ３〜ＳＥ７では、ユーザ設定にてレジスタＷａｖｅＳｅｌｅｃｔＭｏｄｅに格納される波形選択モード値に応じた波形読み出し形態を指示する。
以下、波形選択モード値「０」〜「２」によって選択される「シーケンシャルモード」、「キーマッピングモード」および「ベロシティモード」毎に指示される波形読み出し形態を説明する。
【００８１】
（ａ）シーケンシャルモード（波形選択モード値「０」）の場合
シーケンシャルモードに設定されている場合には、ステップＳＥ４に進み、波形リセットモード値「０」〜「３」に応じた波形読み出し形態を設定するシーケンシャルモード処理を実行する。このシーケンシャルモード処理の具体的な処理動作については追って詳述するが、その内容を要約すると、以下の通りである。
【００８２】
波形リセットモード値「０」の場合、ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットする。
波形リセットモード値「１」の場合、ホールド状態であれば、ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットし、一方、明示的なリセット操作（リセットフットスイッチ３をオン操作した場合や、オールノートオフから波形リセット時間が経過するまで新たなノートオンイベントが無い場合を指す）があると、先頭波形の先頭アドレスから読み出すように波形リセットする。
波形リセットモード値「２」の場合、下側鍵域の演奏操作に応じて変調波形を発生させるようにし、その際の波形リセットの仕方は波形リセットモード値「１」と同様になる。
形リセットモード値「３」の場合、音源１２が備える複数パートの内、モジュレータパートで変調波形を発生させるようにし、その際の波形リセットの仕方は波形リセットモード値「１」と同様になる。
【００８３】
（ｂ）キーマッピングモード（波形選択モード値「１」）の場合
キーマッピングモードに設定されている場合には、ステップＳＥ５に進む。ステップＳＥ５では、ノートオンイベントに含まれるノート番号に応じて、レジスタＫｅｙＭａｐ［０］〜［１２７］から該当する波形番号を読み出してレジスタＮｅｗＷａｖｅＮｕｍにストアする。そして、ステップＳＥ６に進み、波形リセットモード値「０」〜「３」に応じた波形読み出し形態を設定するマップモード処理を実行する。このマップモード処理の具体的な処理動作については追って詳述するが、その内容を要約すると、以下の通りである。
【００８４】
波形リセットモード値「０」の場合には、ノートオンイベントに応じて、現在選択されている波形の先頭アドレスから読み出すように波形リセットする。
波形リセットモード値「１」の場合には、読み出す変調波形が替わったり、読み出す変調波形が替わらずとも明示的なリセット操作があると、現ノートオンイベントに応じて選択される変調波形の先頭アドレスから読み出すように波形リセットし、読み出す変調波形が替わらなかったり、ホールド状態や明示的なリセット操作が行われない状態ならば、前ノートオンイベントの発音で最後に読み出した波形読み出しアドレスから再び読み出すようにする。
また、波形リセットモード値「２」の場合には、下側鍵域の演奏操作に応じて変調波形を発生させるようにし、その際の波形リセットの仕方は波形リセットモード値「１」と同様になる。
さらに波形リセットモード値「３」の場合には、音源１２が備える複数パートの内、モジュレータパートで変調波形を発生させるようにし、その際の波形リセットの仕方は波形リセットモード値「１」と同様になる。
【００８５】
（ｃ）ベロシティモード（波形選択モード値「２」）の場合
ベロシティモードに設定されている場合には、ステップＳＥ７に進む。ステップＳＥ７では、ノートオンイベントに含まれるベロシティ値に応じて、レジスタＶｅｌＭａｐ［０］〜［１２７］から該当する波形番号を読み出してレジスタＮｅｗＷａｖｅＮｕｍにストアする。そして、上記（ｂ）キーマッピングモード時と同様に、波形リセットモード値「０」〜「３」に応じた波形読み出し形態を設定するマップモード処理を実行する。
【００８６】
以上のようにして、波形選択モード値「０」〜「２」および波形リセットモード値「０」〜「３」に応じた波形読み出し形態を設定し終えると、ＣＰＵ９はステップＳＥ８〜ＳＥ１０にてモジュレータパートに関する発音処理を、ステップＳＥ１１〜ＳＥ１２にてキャリアパートに関する発音処理を行う。
すなわち、ステップＳＥ８では、ステップＳＥ１のパートチェック処理によってセットされたフラグＭｏｄＮｏｔｅが「１」、つまりノートオンイベントに従ってモジュレータパートから変調波形を発生させる状態であるか否かを判断する。モジュレータパートから変調波形を発生させる状態でなければ、判断結果は「ＮＯ」になり、後述のステップＳＥ１１に進む。
【００８７】
一方、モジュレータパートから変調波形を発生させる状態であると、上記ステップＳＥ８の判断結果が「ＹＥＳ」になり、ステップＳＥ９に進む。ステップＳＥ９では、ＲＯＭ６に記憶されるキースケーリングテーブルＫＳＴからレジスタＫｅｙＳｃａｌｉｎｇに格納されるキースケーリング値に対応したキースケーリング特性を選択し、選択したキースケーリング特性に従ってノートオンイベントに含まれるノート番号を、発生すべき楽音の音高を表す波形ピッチ（セント値）に変換する。
続いて、ステップＳＥ１０では、波形選択モード値と波形リセットモード値とに基づきシーケンシャルモード処理（ステップＳＥ４）あるいはマップモード処理（ステップＳＥ６）が設定した波形読み出し形態で変調波形を読み出すよう音源１２に指示すると共に、その変調波形をステップＳＥ９で得た波形ピッチの音高で発音するよう音源１２に指示するモジュレータパート発音処理を実行する。
【００８８】
次いで、ステップＳＥ１１では、ステップＳＥ１のパートチェック処理によってセットされたフラグＣａｒＮｏｔｅが「１」、つまりノートオンイベントに従ってキャリアパートから被変調波形を発生させる状態であるか否かを判断する。キャリアパートから被変調波形を発生させる状態でなければ、判断結果は「ＮＯ」となり、本処理を完了させる。
一方、キャリアパートから被変調波形を発生させる状態であると、判断結果が「ＹＥＳ」になり、ステップＳＥ１２に進む。ステップＳＥ１２では、波形選択モード値と波形リセットモード値とに基づきシーケンシャルモード処理（ステップＳＥ４）あるいはマップモード処理（ステップＳＥ６）が設定した波形読み出し形態で被変調波形を読み出すよう音源１２に指示すると共に、その被変調波形をノートオンイベントに含まれるノート番号に対応した音高で発音するよう音源１２に指示するキャリアパート発音処理を実行してから本処理を終える。
【００８９】
（６）パートチェック処理の動作
次に、図１４を参照してパートチェック処理の動作を説明する。ノートオンオフ処理のステップＳＥ１を介して本処理が実行されると、ＣＰＵ９は図１４のステップＳＦ１に進み、レジスタＷａｖｅＲｅｓｅｔＭｏｄｅに格納される波形リセットモード値を判定する。そして、ステップＳＦ２〜ＳＦ１０では、判定した波形リセットモード値に応じてフラグＭｏｄＮｏｔｅおよびフラグＣａｒＮｏｔｅをセットする。
ここで、フラグＭｏｄＮｏｔｅはモジュレータパートが変調波形を発生するか否かを表すフラグであり、その値が「０」の場合に発生しない旨を表し、「１」の場合に発生する旨を表す。また、フラグＣａｒＮｏｔｅはキャリアパートが被変調波形を発生するか否かを表すフラグであり、その値が「０」の場合に発生しない旨を表し、「１」の場合に発生する旨を表す。以下、波形リセットモード値が「０」又は「１」の場合、「２」の場合および「３」の場合に分けてステップＳＦ２〜ＳＦ１０にて行われるフラグセット動作を説明する。
【００９０】
（ａ）波形リセットモード値が「０」又は「１」の場合
波形リセットモード値が「０」又は「１」であると、ステップＳＦ２に進み、フラグＭｏｄＮｏｔｅに「１」をセットしてモジュレータパートが変調波形を発生する旨を表すと共に、フラグＣａｒＮｏｔｅに「１」をセットしてキャリアパートが被変調波形を発生する旨を表す。
【００９１】
（ｂ）波形リセットモード値が「２」の場合
波形リセットモード値が「２」であると、ステップＳＦ３に進み、入力イベント（鍵操作に応じたオンオフイベントもしくはＭＩＤＩ入力イベント）に含まれるノート番号がレジスタＳｐｌｉｔＰｏｉｎｔに格納されるスプリットポイントより小さいか、つまり下側鍵域に対応する入力イベントであるかどうかを判断する。下側鍵域に対応する入力イベントであると、判断結果は「ＹＥＳ」になり、ステップＳＦ４に進み、フラグＭｏｄＮｏｔｅに「１」をセットしてモジュレータパートが変調波形を発生する旨を表すと共に、フラグＣａｒＮｏｔｅに「０」をセットしてキャリアパートが被変調波形を発生しない旨を表す。
一方、上側鍵域に対応する入力イベントであると、上記ステップＳＦ３の判断結果が「ＮＯ」になり、ステップＳＦ５に進み、フラグＭｏｄＮｏｔｅに「０」をセットしてモジュレータパートが変調波形を発生しない旨を表すと共に、フラグＣａｒＮｏｔｅに「１」をセットしてキャリアパートが被変調波形を発生する旨を表す。
【００９２】
（ｃ）波形リセットモード値が「３」の場合
波形リセットモード値が「３」であると、ステップＳＦ６に進み、入力イベントがアサインされるチャンネル番号と、レジスタＭｏｄｕｌａｔｏｒＰａｒｔに格納されるモジュレータパート番号とが一致するかを判断する。一致すると、判断結果は「ＹＥＳ」になり、ステップＳＦ７に進み、フラグＭｏｄＮｏｔｅに「１」をセットしてモジュレータパートが変調波形を発生する旨を表すと共に、フラグＣａｒＮｏｔｅに「０」をセットしてキャリアパートが被変調波形を発生しない旨を表す。
【００９３】
一方、一致しなければ、上記ステップＳＦ６の判断結果が「ＮＯ」となり、ステップＳＦ８に進む。ステップＳＦ８では、入力イベントをアサインしたチャンネルがキャリアパートであるかどうかを判断する。キャリアパートであったならば、判断結果は「ＹＥＳ」になり、ステップＳＦ９に進み、フラグＭｏｄＮｏｔｅに「０」をセットしてモジュレータパートが変調波形を発生しない旨を表すと共に、フラグＣａｒＮｏｔｅに「１」をセットしてキャリアパートが被変調波形を発生する旨を表す。
これに対し、入力イベントをアサインしたチャンネルがモジュレータパートおよびキャリアパート以外のその他のパートであると、上記ステップＳＦ８の判断結果が「ＮＯ」になり、ステップＳＦ１０に進み、フラグＭｏｄＮｏｔｅ、ＣａｒＮｏｔｅ共に「０」をセットする。
【００９４】
以上のようにして、波形リセットモード値に応じてフラグＭｏｄＮｏｔｅおよびフラグＣａｒＮｏｔｅがセットされると、ＣＰＵ９はステップＳＦ１１に処理を進め、フラグＣａｒＮｏｔｅが「１」であるか否かを判断する。フラグＣａｒＮｏｔｅが「０」に設定され、キャリアパートが被変調波形を発生しない状態であると、判断結果は「ＮＯ」になり、本処理を完了させる。
一方、フラグＣａｒＮｏｔｅが「１」に設定され、キャリアパートが被変調波形を発生する状態であれば、判断結果は「ＹＥＳ」となり、次のステップＳＦ１２に進む。そして、ステップＳＦ１２では、入力されたイベントがノートオンイベントであるか否かを判断する。
【００９５】
入力されたノートオンイベントであると、判断結果は「ＹＥＳ」になり、ステップＳＦ１３に進み、キャリアパートにおける押鍵数を計数するカウンタＮｏｔｅＣｎｔをインクリメントして歩進させると共に、波形リセット時間を計時するカウンタＲｅｓｅｔＣｎｔの値をゼロリセットして本処理を完了させる。
一方、入力されたイベントがノートオフイベントであった場合には、上記ステップＳＦ１２の判断結果が「ＮＯ」になり、ステップＳＦ１４に進む。ステップＳＦ１４では、カウンタＮｏｔｅＣｎｔをデクリメントし、続くステップＳＦ１５ではデクリメントされたカウンタＮｏｔｅＣｎｔの値が「０」、つまり全鍵離鍵状態であるか否かを判断する。
【００９６】
全鍵離鍵状態でなければ、判断結果は「ＮＯ」となり、本処理を完了させるが、全鍵離鍵状態になると、判断結果が「ＹＥＳ」となり、ステップＳＦ１６に進み、カウンタＲｅｓｅｔＣｎｔに「１」をセットして本処理を終える。なお、全鍵離鍵状態によりカウンタＲｅｓｅｔＣｎｔに「１」がセットされると、前述したタイマ処理（図１０参照）が波形リセット時間を計時し始める。
【００９７】
このように、パートチェック処理では、ユーザ設定される波形リセットモード値に応じて、モジュレータパートから変調波形を発生させるか否かや、キャリアパートから被変調波形を発生させるか否かを表すフラグＭｏｄＮｏｔｅ、ＣａｒＮｏｔｅをセットし、キャリアパートから被変調波形を発生させる状態であると、ノートオンイベント（もしくはキーオンイベント）に応じてカウンタＮｏｔｅＣｎｔを歩進させ、一方、ノートオフイベント（もしくはキーオフイベント）に応じてカウンタＮｏｔｅＣｎｔをデクリメントし、これにてオールノートオフ（全鍵離鍵）になれば、前述したタイマ処理に波形リセット時間の計時開始を指示するようになっている。
【００９８】
（７）シーケンシャルモード処理の動作
次に、図１５を参照してシーケンシャルモード処理の動作を説明する。ノートオンオフ処理のステップＳＥ４（図１３参照）を介して本処理が実行されると、ＣＰＵ９は図１５のステップＳＧ１に進み、レジスタＷａｖｅＲｅｓｅｔＭｏｄｅに格納される波形リセットモード値を判定する。次いで、ステップＳＧ２〜ＳＧ５では、判定した波形リセットモード値に応じた波形読み出し属性を設定する。以下、波形読み出し属性を設定する動作について波形リセットモード値「０」〜「３」別に説明する。
【００９９】
（ａ）波形リセットモード値「０」の場合
この場合、ステップＳＧ２に進み、レジスタＷａｖｅＩｄｘに格納されるインデックス値を歩進させて更新する一方、更新されたインデックス値に応じて、レジスタＷａｖｅＳｅｑＯｒｄｅｒ［ＷａｖｅＩｄｘ］から波形番号を読み出してレジスタＷａｖｅＮｕｍにストアする。また、このステップＳＧ２では、レジスタＷａｖｅＮｕｍに格納された波形番号の波形データを先頭から読み出すべくレジスタＷａｖｅＡｄｄｒｅｓｓに「０」をストアして本処理を完了させる。
このように、波形リセットモード値「０」では、ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットするようになっている。
【０１００】
（ｂ）波形リセットモード値「１」の場合
この場合、ステップＳＧ３を介してシーケンシャルモード波形設定処理を実行して図１６のステップＳＨ１に処理を進める。ステップＳＨ１では、ホールドフラグＨｏｌｄが「０」、すなわちホールドフットスイッチ２がオン操作されていない状態であるかどうかを判断する。ホールドフットスイッチ２のオン操作によりホールド状態（ホールドフラグＨｏｌｄが「１」の状態）下にあると、判断結果は「ＮＯ」になり、ステップＳＨ４に進み、レジスタＷａｖｅＩｄｘに格納されるインデックス値を歩進させて更新する。
【０１０１】
この後、ステップＳＨ５に進み、更新されたインデックス値に応じて、レジスタＷａｖｅＳｅｑＯｒｄｅｒ［ＷａｖｅＩｄｘ］から波形番号を読み出してレジスタＷａｖｅＮｕｍにストアすると共に、レジスタＷａｖｅＮｕｍに格納された波形番号の波形データを先頭から読み出すべくレジスタＷａｖｅＡｄｄｒｅｓｓに「０」をストアして本処理を完了させる。
このように、波形リセットモード値「１」では、ホールド状態に設定されていると、ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットする。
【０１０２】
これに対し、ホールドフットスイッチ２がオン操作されていなければ、上記ステップＳＨ１の判断結果は「ＹＥＳ」となり、ステップＳＨ２に進む。ステップＳＨ２では、リセットフラグＲｅｓｅｔが「１」、すなわちリセットフットスイッチ３をオン操作した状態、あるいはオールノートオフから波形リセット時間が経過するまで新たなノートオンイベントが無い状態であるかどうかを判断する。いずれの状態にも該当しなければ、判断結果は「ＮＯ」となり、この場合、上述したホールド状態と同様、ステップＳＨ４〜ＳＨ５を実行し、ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットする。
【０１０３】
一方、リセットフットスイッチ３をオン操作した状態、あるいはオールノートオフから波形リセット時間が経過するまで新たなノートオンイベントが無い状態であると、ステップＳＨ２の判断結果が「ＹＥＳ」になり、ステップＳＨ３に進み、リセットフラグＲｅｓｅｔを「０」にセットすると共に、レジスタＷａｖｅＩｄｘに格納されるインデックス値をゼロリセットした後、ステップＳＨ５に進み、先頭波形の先頭アドレスから読み出すように読み出し属性を設定する。
このように、波形リセットモード値「１」では、明示的なリセット操作（リセットフットスイッチ３をオン操作した場合や、オールノートオフから波形リセット時間が経過するまで新たなノートオンイベントが無い場合を指す）があると、先頭波形の先頭アドレスから読み出すように波形リセットする。
【０１０４】
（ｃ）波形リセットモード値「２」の場合
この場合、図１５のステップＳＧ４に進み、ノートオンイベントに含まれるノート番号がレジスタＳｐｌｉｔＰｏｉｎｔに格納されるスプリットポイントより小さいか、つまり下側鍵域に対応するノートオンイベントであるかどうかを判断する。下側鍵域に対応するノートオンイベントであると、判断結果は「ＹＥＳ」になり、ステップＳＧ３に進み、上述したシーケンシャルモード波形設定処理（図１６参照）を実行してから本処理を完了させる。
【０１０５】
一方、上側鍵域に対応するノートオンイベントであると、上記ステップＳＧ４の判断結果が「ＮＯ」になり、上側鍵域での演奏である為、レジスタＷａｖｅＮｕｍおよびレジスタＷａｖｅＡｄｄｒｅｓｓは変更せずに本処理を終える。
このように、波形リセットモード値「２」では、下側鍵域の演奏操作に応じて変調波形を発生させるようにし、その際の波形リセットの仕方は上記（ｂ）項の波形リセットモード値「１」と同様になる。
【０１０６】
（ｄ）波形リセットモード値「３」の場合
この場合、ステップＳＧ５に進み、ノートオンイベントがアサインされたチャンネル番号と、レジスタＭｏｄｕｌａｔｏｒＰａｒｔに格納されるモジュレータパート番号とが一致するかを判断する。一致すると、判断結果は「ＹＥＳ」になり、ステップＳＧ３を介してシーケンシャルモード波形設定処理（図１６参照）を実行してから本処理を完了させる。
一方、一致しなければ、上記ステップＳＧ５の判断結果が「ＮＯ」となり、モジュレータパート以外での演奏である為、レジスタＷａｖｅＮｕｍおよびレジスタＷａｖｅＡｄｄｒｅｓｓは変更せずに本処理を終える。
このように、波形リセットモード値「３」では、音源１２が備える複数パートの内、モジュレータパートで変調波形を発生させるようにし、その際の波形リセットの仕方は上記（ｂ）項の波形リセットモード値「１」と同様になる。
【０１０７】
以上のように、シーケンシャルモード処理によれば、波形リセットモード値「０」の場合には、ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットする。
波形リセットモード値「１」の場合には、ホールド状態であると、ノートオンイベントに応じて次の波形番号で指定される波形の先頭アドレスから読み出すように波形リセットし、一方、明示的なリセット操作（リセットフットスイッチ３をオン操作した場合や、オールノートオフから波形リセット時間が経過するまで新たなノートオンイベントが無い場合を指す）があると、先頭波形の先頭アドレスから読み出すように波形リセットする。
また、波形リセットモード値「２」の場合には、下側鍵域の演奏操作に応じて変調波形を発生させるようにし、その際の波形リセットの仕方は波形リセットモード値「１」と同様になる。
さらに波形リセットモード値「３」の場合には、音源１２が備える複数パートの内、モジュレータパートで変調波形を発生させるようにし、その際の波形リセットの仕方は波形リセットモード値「１」と同様になる。
【０１０８】
（８）マップモード処理の動作
次に、図１７を参照してマップモード処理の動作を説明する。ノートオンオフ処理のステップＳＥ６（図１３参照）を介して本処理が実行されると、ＣＰＵ９は図１７のステップＳＫ１に進み、レジスタＷａｖｅＲｅｓｅｔＭｏｄｅに格納される波形リセットモード値を判定する。次いで、ステップＳＫ２〜ＳＫ５では、判定した波形リセットモード値に応じた波形読み出し属性を設定する。以下、波形読み出し属性を設定する動作について波形リセットモード値「０」〜「３」別に説明する。
【０１０９】
（ａ）波形リセットモード値「０」の場合
この場合、ステップＳＫ２に進み、レジスタＮｅｗＷａｖｅＮｕｍに格納される波形番号をレジスタＷａｖｅＮｕｍにストアする。レジスタＮｅｗＷａｖｅＮｕｍに格納される波形番号とは、図１３に図示したノートオンオフ処理のステップＳＥ５（あるいはステップＳＥ７）においてレジスタＫｅｙＭａｐ［ノートナンバ］（あるいはレジスタＶｅｌＭａｐ［ベロシティ値］）から読み出され、新たに選択される変調波形を表す番号である。また、ステップＳＫ２では、レジスタＷａｖｅＮｕｍに格納された波形番号の波形データを先頭から読み出すべくレジスタＷａｖｅＡｄｄｒｅｓｓに「０」をストアして本処理を完了させる。
このように、波形リセットモード値「０」では、ノートオンイベントに応じて、現在選択されている波形の先頭アドレスから読み出すように波形リセットするようになっている。
【０１１０】
（ｂ）波形リセットモード値「１」の場合
この場合、ステップＳＫ３を介してマップモード波形設定処理を実行して図１８のステップＳＬ１に処理を進める。ステップＳＬ１では、レジスタＮｅｗＷａｖｅＮｕｍに格納される波形番号とレジスタＷａｖｅＮｕｍに格納される波形番号とが一致するか否か、つまり読み出し波形が替わるかどうかを判断する。
読み出し波形が替わると、判断結果は「ＮＯ」になり、ステップＳＬ２に進み、レジスタＮｅｗＷａｖｅＮｕｍに格納される波形番号をレジスタＷａｖｅＮｕｍにストアすると共に、レジスタＷａｖｅＮｕｍに格納された波形番号の波形データを先頭から読み出すべくレジスタＷａｖｅＡｄｄｒｅｓｓに「０」をストアして本処理を完了させる。これにより、読み出し波形が替わる場合には、現ノートオンイベントに応じて選択される変調波形の先頭アドレスから読み出すように波形リセットする。
【０１１１】
これに対し、現ノートオンイベントに対応して選択される変調波形が前ノートオンイベントに対応して選択された変調波形と替わらない場合には、上記ステップＳＬ１の判断結果が「ＹＥＳ」になり、ステップＳＬ３に進む。ステップＳＬ３では、ホールドフラグＨｏｌｄが「０」、すなわちホールドフットスイッチ２がオン操作されていない状態であるかどうかを判断する。ホールド状態（ホールドフラグＨｏｌｄが「１」の状態）にあれば、判断結果は「ＮＯ」になり、本処理を完了させる。
したがって、ホールド状態下で読み出し波形が替わらなければ、前ノートオンイベントの発音で最後に読み出した波形読み出しアドレスから再び読み出すようにする。
【０１１２】
一方、ホールド状態でなければ、上記ステップＳＬ３の判断結果は「ＹＥＳ」となり、ステップＳＬ４に進む。ステップＳＬ４では、リセットフラグＲｅｓｅｔが「１」、すなわち明示的なリセット操作（リセットフットスイッチ３をオン操作した状態、あるいはオールノートオフから波形リセット時間が経過するまで新たなノートオンイベントが無い状態）が行われたかどうかを判断する。明示的なリセット操作が無ければ、判断結果は「ＮＯ」となり、本処理を完了させる。したがって、明示的なリセット操作が行われず、しかも読み出し波形が替わらなければ、前ノートオンイベントの発音で最後に読み出した波形読み出しアドレスから再び読み出すようにする。
【０１１３】
これに対し、明示的なリセット操作が行われると、上記ステップＳＬ４の判断結果が「ＹＥＳ」になり、ステップＳＬ５に進み、リセットフラグＲｅｓｅｔを「０」にセットすると共に、レジスタＷａｖｅＡｄｄｒｅｓｓに「０」をストアして本処理を完了させる。したがって、変調波形が替わらない状態で明示的なリセット操作が有ると、現ノートオンイベントに応じて選択される変調波形の先頭アドレスから読み出すように波形リセットする。
【０１１４】
このように、波形リセットモード値「１」では、読み出す変調波形が替わる場合や、読み出す変調波形が替わらなくとも明示的なリセット操作が有る場合には、現ノートオンイベントに応じて選択される変調波形の先頭アドレスから読み出すように波形リセットする。一方、読み出す変調波形が替わらない場合にホールド状態や明示的なリセット操作が行われない状態であると、前ノートオンイベントの発音で最後に読み出した波形読み出しアドレスから再び読み出すようにする。
【０１１５】
（ｃ）波形リセットモード値「２」の場合
この場合、図１７のステップＳＫ４に進み、ノートオンイベントに含まれるノート番号がレジスタＳｐｌｉｔＰｏｉｎｔに格納されるスプリットポイントより小さいか、つまり下側鍵域に対応するオンイベントであるかどうかを判断する。下側鍵域に対応するノートオンイベントであると、判断結果は「ＹＥＳ」になり、ステップＳＫ３に進み、上述したマップモード波形設定処理（図１８参照）を実行してから本処理を完了させる。
一方、上側鍵域に対応するノートオンイベントであると、上記ステップＳＫ４の判断結果が「ＮＯ」になり、上側鍵域での演奏である為、レジスタＷａｖｅＮｕｍおよびレジスタＷａｖｅＡｄｄｒｅｓｓは変更せずに本処理を終える。
このように、波形リセットモード値「２」では、下側鍵域の演奏操作に応じて変調波形を発生させるようにし、その際の波形リセットの仕方は上記（ｂ）項の波形リセットモード値「１」と同様になる。
【０１１６】
（ｄ）波形リセットモード値「３」の場合
この場合、ステップＳＫ５に進み、ノートオンイベントがアサインされたチャンネル番号と、レジスタＭｏｄｕｌａｔｏｒＰａｒｔに格納されるモジュレータパート番号とが一致するかを判断する。一致すると、判断結果は「ＹＥＳ」になり、ステップＳＫ３を介して前述のマップモード波形設定処理（図１８参照）を実行してから本処理を完了させる。
一方、一致しなければ、上記ステップＳＫ５の判断結果が「ＮＯ」となり、モジュレータパート以外での演奏である為、レジスタＷａｖｅＮｕｍおよびレジスタＷａｖｅＡｄｄｒｅｓｓは変更せずに本処理を終える。
このように、波形リセットモード値「３」では、音源１２が備える複数パートの内、モジュレータパートで変調波形を発生させるようにし、その際の波形リセットの仕方は上記（ｂ）項の波形リセットモード値「１」と同様になる。
【０１１７】
以上のように、マップモード処理によれば、波形リセットモード値「０」の場合には、ノートオンイベントに応じて、現在選択されている波形の先頭アドレスから読み出すように波形リセットする。
波形リセットモード値「１」の場合には、読み出す変調波形が替わったり、読み出す変調波形が替わらずとも明示的なリセット操作があると、現ノートオンイベント（もしくはキーオンイベント）に応じて選択される変調波形の先頭アドレスから読み出すように波形リセットする。また、読み出す変調波形が替わらなかったり、ホールド状態や明示的なリセット操作が行われない状態ならば、前ノートオンイベントの発音で最後に読み出した波形読み出しアドレスから再び読み出すようにする。
また、波形リセットモード値「２」の場合には、下側鍵域の演奏操作に応じて変調波形を発生させるようにし、その際の波形リセットの仕方は波形リセットモード値「１」と同様になる。
さらに波形リセットモード値「３」の場合には、音源１２が備える複数パートの内、モジュレータパートで変調波形を発生させるようにし、その際の波形リセットの仕方は波形リセットモード値「１」と同様になる。
【０１１８】
（９）ＭＩＤＩ処理の動作
次に、図１９を参照してＭＩＤＩ処理の動作を説明する。前述したメインルーチンのステップＳＡ４（図９参照）を介して本処理が実行されると、ＣＰＵ９は図１９のステップＳＭ１に処理を進め、先ずＭＩＤＩ入力の有無を判断する。ＭＩＤＩ入力が無ければ、一旦本処理を完了させてメインルーチンに処理を戻す。ＭＩＤＩ入力がある場合にはそのイベントが波形データ転送用のシステム・エクスクルーシブ・メッセージ（図３参照）、ノートオン／ノートオフイベントおよびその他イベントのいずれであるかを判定する。その他イベントが入力された場合には、ステップＳＭ６に進み、その他イベント処理を行った後、ステップＳＭ１に処理を戻す。
【０１１９】
前述したシステム・エクスクルーシブ・メッセージ（図３参照）が入力された場合には、ステップＳＭ２に進み、当該システム・エクスクルーシブ・メッセージを受信バッファ（不図示）に取り込み、取り込んだメッセージ中から波形データ（ＷＡＶＥＤＡＴＡ）を抽出して波形ＲＡＭ１４に格納する。
ノートオン／ノートオフイベントが入力された場合には、ステップＳＭ３に進み、波形リセットモード値が「０」、「１」および「２」のいずれかに設定されているか否かを判断する。
【０１２０】
波形リセットモード値が「３」であると、判断結果は「ＮＯ」になり、後述のステップＳＭ５に進む。波形リセットモード値が「０」、「１」および「２」のいずれかに設定されていれば、判断結果は「ＹＥＳ」となり、次のステップＳＭ４に進み、ノートオン／ノートオフイベントのＭＩＤＩチャンネル番号と、レジスタＣａｒｒｉｅｒＰａｒｔに格納されるキャリアパート番号とが一致するかを判断する。一致すると、判断結果は「ＹＥＳ」になり、ステップＳＭ５を介して前述のノートオンオフ処理（図１３参照）を実行した後、ステップＳＭ１に戻る。一方、一致しなければ、判断結果が「ＮＯ」になり、ステップＳＭ１に処理を戻す。
【０１２１】
このように、ＭＩＤＩ処理では、システム・エクスクルーシブ・メッセージにて波形データが転送入力されると、そのメッセージに含まれる波形データ（ＷＡＶＥＤＡＴＡ）を抽出して波形ＲＡＭ１４に格納する。
波形リセットモード値が「０」、「１」および「２」のいずれかに設定されていると、入力されるノートオン／ノートオフイベントのＭＩＤＩチャンネル番号がキャリアパートに対応する場合のみノートオンオフ処理（図１３参照）を実行させ、波形リセットモード値が「３」に設定されていると、入力されるノートオン／ノートオフイベントのＭＩＤＩチャンネル番号に対応するパートについてノートオンオフ処理を実行させるようになっている。
【０１２２】
以上説明したように、本実施例では、音源１２が人声音の変調波形と楽器音の被変調波形とを発生し、ＤＳＰ１５が人声音の変調波形から抽出したフォルマント成分に応じて楽器音の被変調波形を変調するボコーダ処理を行って、あたかも人の声のような楽器音を形成するので、従来のように、外部から音声信号を入力させてボコーダ処理する構成とは異なり、ボコーダ演奏を常に同じように再現できるようになる。
つまり、人声をサンプリングしてなる波形データを波形ＲＡＭ１４に記憶しておき、音源１２がその波形データを再生して人声音の変調波形を発生するから、再現可能なボコーダ演奏になる訳である。また、そうした構成では、外部からの入力信号を取り込む手段が不必要になるので、外部から音声信号を入力させてボコーダ処理する構成に比べて製品コスト低減に寄与できる効果も得られる。
【０１２３】
また、本実施例では、前述したように、波形選択モード値「０」〜「２」および波形リセットモード値「０」〜「３」に応じた各種波形読み出し形態を設定するので、多様な楽音発生形態を具現することが可能になっている。
一例としてシーケンシャルモード（波形選択モード値「０」）下で波形リセットモード値「０」に設定した場合に、例えば波形ＲＡＭ１４に曲を構成する各音符に対応させた歌詞を個々の波形データとして格納しておき、それらの読み出し順序をレジスタＷａｖｅＳｅｑＯｒｄｅｒに登録すると、演奏操作に応じて曲の歌詞が変調波形として再生され、これに基づきボコーダ処理される結果、人が歌っているかのような楽音を発生させることができる。
【０１２４】
加えて、キーマッピングモード（波形選択モード値「１」）下や、ベロシティモード（波形選択モード値「２」）下では、押鍵された鍵のノート番号やベロシティ値に応じて変調波形を異ならせたり、楽器音の被変調波形を人声音の変調波形で変調させるタイミングをユーザが指定できるようにする他、ホールドフットスイッチ２およびリセットフットスイッチ３の操作に応じて変調波形のリセットの仕方を指定する等、バリエーションに富んだ変調波形を発生可能にしており、これ故、多様な楽音発生形態を具現できる訳である。
【０１２５】
なお、上述した実施例では、音源１２が演奏情報に対応した人声音の変調波形と楽器音の被変調波形とを発生し、ＤＳＰ１５が人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するようにしたが、これに限らず、音源１２およびＤＳＰ１５の処理をＣＰＵ９が実行する形態であっても構わない。その場合、ＣＰＵ９は入力される演奏情報に対応した人声音の変調波形と楽器音の被変調波形とを発生する波形発生処理プログラムと、前記波形発生処理にて発生した人声音の変調波形のフォルマント成分に応じて楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ処理プログラムとを実行することになる。
【図面の簡単な説明】
【０１２６】
【図１】本発明による一実施例の全体構成を示すブロック図である。
【図２】ＲＯＭ６に格納されるキースケーリングテーブルＫＳＴの一例を示す図である。
【図３】波形データ転送に用いるシステム・エクスクルーシブ・メッセージの構成を示す図である。
【図４】波形ＲＯＭ１３および波形ＲＡＭ１４のメモリ構成を示すメモリマップである。
【図５】ＲＡＭ７の主要レジスタ構成を示すメモリマップである。
【図６】音源１２の第１の構成を示すブロック図である。
【図７】音源１２の第２の構成を示すブロック図である。
【図８】ＤＳＰ１５の構成を示すブロック図である。
【図９】メインルーチンの動作を示すフローチャートである。
【図１０】タイマ処理の動作を示すフローチャートである。
【図１１】スイッチ処理の動作を示すフローチャートである。
【図１２】鍵盤処理の動作を示すフローチャートである。
【図１３】ノートオンオフ処理の動作を示すフローチャートである。
【図１４】パートチェック処理の動作を示すフローチャートである。
【図１５】シーケンシャルモード処理の動作を示すフローチャートである。
【図１６】シーケンシャルモード波形設定処理の動作を示すフローチャートである。
【図１７】マップモード処理の動作を示すフローチャートである。
【図１８】マップモード波形設定処理の動作を示すフローチャートである。
【図１９】ＭＩＤＩ処理の動作を示すフローチャートである。
【符号の説明】
【０１２７】
１  鍵盤
２  ホールドフットスイッチ
３  リセットフットスイッチ
４  パネルスイッチ
５  スイッチスキャナ
６  ＲＯＭ
７  ＲＡＭ
８  表示部
９  ＣＰＵ
１０  ＭＩＤＩインタフェース
１１  ＭＩＤＩメッセージデータ
１２  音源
１３  波形ＲＯＭ
１４  波形ＲＡＭ
１５  ＤＳＰ
１６  Ｄ／Ａ変換器
１７  サウンドシステム
１８  スピーカ
【図１】
2008083716.tif 000003
【図２】
2008083716.tif 000004
【図３】
2008083716.tif 000005
【図４】
2008083716.tif 000006
【図５】
2008083716.tif 000007
【図６】
2008083716.tif 000008
【図７】
2008083716.tif 000009
【図８】
2008083716.tif 000010
【図９】
2008083716.tif 000011
【図１０】
2008083716.tif 000012
【図１１】
2008083716.tif 000013
【図１２】
2008083716.tif 000014
【図１３】
2008083716.tif 000015
【図１４】
2008083716.tif 000016
【図１５】
2008083716.tif 000017
【図１６】
2008083716.tif 000018
【図１７】
2008083716.tif 000019
【図１８】
2008083716.tif 000020
【図１９】
2008083716.tif 000021
【手続補正書】
【提出日】平成19年11月26日(2007.11.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
人声を表す波形を個別に複数記憶した波形記憶手段を有し、波形発生指示を受ける毎に、予め設定された再生順序に従って当該波形記憶手段から波形を順番に読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作が行われた場合には予め設定された再生順序の内、先頭の波形から読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合にはリセット操作時の指示を無効にし、予め設定された再生順序に従い、次の波形番号で指定される波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項２】
人声を表す波形を波形番号に対応して記憶する波形記憶手段と、
ノート番号毎の波形番号を記憶する波形番号記憶手段と、
波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作が行われた場合には、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【請求項３】
人声を表す波形を波形番号に対応して記憶する波形記憶手段と、
ベロシティ値毎の波形番号を記憶する波形番号記憶手段と、
波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、
リセット操作が行われた場合には、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、
波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、
前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段と
を具備することを特徴とする楽音発生装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、ボコーダ演奏を常に同じように再現でき、しかも多様な楽音発生形態を具現する楽音発生装置に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
そこで本発明は、このような事情に鑑みてなされたもので、常に同じようにボコーダ演奏を再現でき、しかも多様な楽音発生形態を具現することができる楽音発生装置を提供することを目的としている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
請求項１に記載の発明では、人声を表す波形を個別に複数記憶した波形記憶手段を有し、波形発生指示を受ける毎に、予め設定された再生順序に従って当該波形記憶手段から波形を順番に読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作が行われた場合には予め設定された再生順序の内、先頭の波形から読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合にはリセット操作時の指示を無効にし、予め設定された再生順序に従い、次の波形番号で指定される波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
請求項２に記載の発明では、人声を表す波形を波形番号に対応して記憶する波形記憶手段と、ノート番号毎の波形番号を記憶する波形番号記憶手段と、波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作が行われた場合には、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
請求項３に記載の発明では、人声を表す波形を波形番号に対応して記憶する波形記憶手段と、ベロシティ値毎の波形番号を記憶する波形番号記憶手段と、波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を前記波形番号記憶手段から選択し、選択した波形番号に対応した波形を前記波形記憶手段から読み出して人声音の変調波形を発生する第１の波形発生手段と、リセット操作が行われた場合には、現在選択されている波形番号の波形の先頭アドレスから読み出しを再開するように前記第１の波形発生手段に指示し、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するように前記第１の波形発生手段に指示する指示手段と、波形発生指示に従って楽器音の被変調波形を発生する第２の波形発生手段と、前記第１の波形発生手段が発生する人声音の変調波形のフォルマント成分に応じて、前記第２の波形発生手段が発生する楽器音の被変調波形を変調してボコーダ演奏音を発生するボコーダ手段とを具備することを特徴とする。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
請求項１に記載の発明では、波形発生指示を受ける毎に、予め設定された再生順序に従って波形を順番に読み出して人声音の変調波形を発生している時に、リセット操作が行われた場合には予め設定された再生順序の内、先頭の波形から読み出しを再開させ、ホールド操作が行われた場合にはリセット操作時の指示を無効にし、予め設定された再生順序に従い、次の波形番号で指定される波形の先頭アドレスから読み出しを再開するので、多様な楽音発生形態でボコーダ演奏音を発生させることができる。
請求項２に記載の発明によれば、波形発生指示を受ける毎に、その波形発生指示に含まれるノート番号に対応した波形番号を選択し、選択した波形番号に対応した波形を読み出して人声音の変調波形を発生している時に、リセット操作が行われた場合には現在選択されている波形番号の波形の先頭アドレスから読み出しを再開させ、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するので、多様な楽音発生形態でボコーダ演奏音を発生させることができる。
請求項３に記載の発明によれば、波形発生指示を受ける毎に、その波形発生指示に含まれるベロシティ値に対応した波形番号を選択し、選択した波形番号に対応した波形を読み出して人声音の変調波形を発生している時に、リセット操作が行われた場合には現在選択されている波形番号の波形の先頭アドレスから読み出しを再開させ、ホールド操作が行われた場合には先の波形発生指示に従って読み出し終えた波形読み出しアドレスから読み出しを再開するので、多様な楽音発生形態でボコーダ演奏音を発生させることができる。