(57)【特許請求の範囲】
【請求項１】
複数周期からなるオーディオ信号を記憶するメモリと、
前記オーディオ信号のピッチを検出するピッチ検出手段と、
再生ピッチを設定する再生ピッチ情報を記憶する再生ピッチ情報記憶手段と、
前記ピッチ検出手段によって検出されたピッチの周期に従って、前記メモリに記憶された前記オーディオ信号の所定の２周期分の区間を、前記再生ピッチ情報とは独立して設定された読み出し速度で読み出すことで音素片の切り出しを行う音素片切り出し手段と、
その切り出された音素片に、その音素片の読み出しに要する時間と等しい長さで、最小値から最大値を経て最小値へと漸次移行するエンベロープを付与し、前記再生ピッチ情報記憶手段に記憶された再生ピッチ情報に基づいた２周期単位で合成して、再生オーディオ信号を生成する再生オーディオ信号合成手段とを、
備えたピッチ変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声信号や楽音信号のピッチを変換するピッチ変換装置に関する。
【０００２】
【従来の技術】
従来、ピッチ変換装置としては、種々のものが提案されている。例えば特開昭６２−６５０９８号公報には、入力された音声信号を切り出して、鍵盤によって選択されたピッチで音声信号を再生するように構成した音楽用ボコーダについて開示されている。このボコーダでは、再生される音声信号の音程を入力音声信号と異ならせていても、再生される音声信号のフォルマントは、入力音声信号のフォルマントをほぼ維持できるように構成されている。
【０００３】
【発明が解決しようとする課題】
上記ボコーダでは、もとの音声の１周期を切り出して、所望のピッチに対応する時間間隔で再生して合成している。この方法では、矩形波の窓を掛けていることになり、結果的に余分な高調波が発生する。本発明は、極力余分な高調波が発生しないピッチ変換装置を提供することを目的とする。
【０００４】
【課題を解決するための手段】
本発明は、複数周期からなるオーディオ信号を記憶するメモリと、前記オーディオ信号のピッチを検出するピッチ検出手段と、再生ピッチを設定する再生ピッチ情報を記憶する再生ピッチ情報記憶手段と、前記ピッチ検出手段によって検出されたピッチの周期に従って、前記メモリに記憶された前記オーディオ信号の所定の２周期分の区間を、前記再生ピッチ情報とは独立して設定された読み出し速度で読み出すことで音素片の切り出しを行う音素片切り出し手段と、その切り出された音素片に、その音素片の読み出しに要する時間と等しい長さで、最小値から最大値を経て最小値へと漸次移行するエンベロープを付与し、前記再生ピッチ情報記憶手段に記憶された前記再生ピッチ情報に基づいた２周期単位で合成して、再生オーディオ信号を生成する再生オーディオ信号合成手段とを、備えたものである。
【０００５】
本発明によれば、オーディオ信号から複数周期の音素片を切り出して、所定のエンベロープを付与した後、再生ピッチに対応した周期で合成するため、不要な高調波の発生が少なく、元のオーディオ信号のフォルマントが維持されたまま、ピッチ変換が行われる。
【０００６】
【発明の実施の形態】
本発明の第１の実施形態は、図１（ａ）に示すように、アナログの楽音信号または音声信号等の可聴周波数信号が入力される入力端子２を有し、この入力端子２に供給された可聴周波数信号が、Ａ／Ｄ変換器４によってディジタル可聴周波数信号（サンプリングデータ）に変換される。このＡ／Ｄ変換器４と入力端子２との間には、可聴周波数信号をＡ／Ｄ変換器４におけるサンプリング周波数の１／２以下の周波数に制限して、エイリアシングの発生を防止するために、ローパスフィルタ６が設けられている。
【０００７】
Ａ／Ｄ変換器４からのサンプリングデータは、ＤＳＰ（ディジタル信号処理装置）８に供給され、これからＲＡＭ１２に供給される。このＲＡＭ１２は、入力されたサンプリングデータを順次記憶するリングメモリとして使用されている。
【０００８】
ＤＳＰ８は、このリングメモリからサンプリングデータを読出して、処理を行い、Ｄ／Ａ変換器１４に供給する。Ｄ／Ａ変換器１４は、ＤＳＰ８で処理されたサンプリングデータをアナログの可聴周波数信号に変換し、ローパスフィルタ１６に供給し、不要な信号成分を除去した後、出力端子１８に供給する。
【０００９】
ＤＳＰ８は、予め設定されているプログラムに従ってサンプリングデータを処理する。その処理には、例えば使用者が操作する操作子２０によって設定されたフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲやピッチ変更係数ＰＩＴＣＨ−ＶＲ等のパラメータが使用される。これらフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲやピッチ変更係数ＰＩＴＣＨ−ＶＲは、ＣＰＵ２２によって検出され、ＤＳＰ８に供給される。ＣＰＵ２２は、この他にＤＳＰ８の制御も行う。
【００１０】
図１（ｂ）及び（ｃ）は、ＤＳＰ８が実行する機能を機能ブロック図で示したもので、同図（ｂ）は、本発明の基本となる実施形態を、同図（ｃ）は、本発明のその他の実施形態を示したものである。なお、これらの図面では、入力端子２３に入力されるサンプリングデータをＲＡＭ１２のリングメモリに順次記憶する機能ブロックを有しているが、説明を容易にするため、その機能ブロックを省略している。
【００１１】
同図（ｂ）の基本実施形態では、入力手段、例えば入力端子２３と、ピッチ変換手段２４と、ピッチ検出手段２６と、制御手段２８と、出力端子２９とが、設けられている。制御手段２８は、ピッチ検出手段２６からのピッチ検出信号や、ＣＰＵ２２を介して操作子２０の操作によって設定されたフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲやピッチ変更係数ＰＩＴＣＨ−ＶＲ等のパラメータを用いて、ＲＡＭ１２に記憶されているサンプリングデータを、ピッチ変換手段２４に処理させるものである。
【００１２】
ピッチ変換手段２４、ピッチ検出手段２６及び制御手段２８が行う処理は、概略的に説明すると、リングメモリに記憶されているサンプリングデータから所望の区間を音素として、時間経過に従って、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲに応じた読み出し速度で順次切り出して、フォルマント特性を適宜変更すると共に、その切り出した音素を、ピッチ検出手段２６で検出したピッチと、ピッチ変更係数ＰＩＴＣＨ−ＶＲとに対応した周期で再生し、入力時とは異なるピッチ及びフォルマントで再生可能にするものである。
【００１３】
なお、本願実施形態では、上記音素の再生を、第１の波形を再生するための処理経路と、第２の波形を再生するための処理経路とを使用し、それぞれの処理経路では、再生しようとする周期の２倍の周期で音素を再生し、これらを合成するようにしている。
【００１４】
この効果付加の動作を、図２及び図３に示すフローチャートに基づいて説明する。ＤＳＰ８は、サンプリングデータの検出ピッチを記憶するレジスタＰＩＴＣＨ、リングメモリからサンプリングデータを切り出す（読出）アドレスを記憶するレジスタＳＡＤＲＳを備えている。更に、後述する再生ピッチ周期長に達したかをカウントするためのカウンタＰＨＡＳＥ、第１の波形の位相をカウントするためのカウンタＰＨ１、第２の波形の位相をカウントするためのカウンタＰＨ２も設けられている。
【００１５】
また、ピッチ検出手段２６によって検出したピッチをピッチ変更係数ＰＩＴＣＨ−ＶＲによって変更した再生ピッチ情報（再生ピッチ周期長）を記憶するためのレジスタＷＩＤＴＨ、検出したピッチとフォルマント係数ＦＯＲＭＡＮＴ−ＶＲとから定めたエンベロープの長さを記憶するレジスタＬＥＮＧＴＨ、第１の波形のエンベロープを記憶するためのレジスタＥＮＶ１、及び第２の波形のエンベロープを記憶するためのレジスタＥＮＶ２が、設けられている。
【００１６】
更に、第１の波形のエンベロープの形状を決定するためのレジスタＷＩＮＤＯＷ１、第２の波形のエンベロープの形状を決定するためのレジスタＷＩＮＤＯＷ２、ＬＥＮＧＴＨの値に基づいて定めたＷＩＮＤＯＷ１、ＷＩＮＤＯＷ２の歩進率を記憶するレジスタＷ−ＲＡＴＥ、第１の波形の切り出し開始アドレスを記憶するレジスタＳＡＤＲＳ１、第２の波形の切り出し開始アドレスを記憶するレジスタＳＡＤＲＳ２、第１及び第２の波形の切り出しの開始位置等の決定のために使用するフラグＦ等も設けられている。
【００１７】
これらは、電源の投入の際に、初期化が行われる。即ち、フラグＦは１に、他のものは０に、それぞれ設定される。なお、以下の説明では、既に各レジスタや各カウンタには、既に適当な値が記憶されているとして説明する。また、図２及び図３に示すフローチャートの各ステップは、ＤＳＰ８にＡ／Ｄ変換器４からサンプリングデータが入力されるごとに実行される。
【００１８】
図２において、サンプリングデータがＡ／Ｄ変換器４から供給されると、これをリングメモリに書き込む（ステップＳ２）。次に、この入力されたサンプリングデータに基づいてピッチ検出処理を行う（ステップＳ４）。このステップＳ４がピッチ検出手段２６に相当する。このピッチ検出処理は、ピッチを検出したときにゼロクロス位置のアドレスと検出したピッチとを出力するものである。
【００１９】
このピッチ検出処理は、例えば隣接するゼロクロス間の時間間隔を順次比較するものである。例えば、図４（ａ）において、入力信号のゼロクロス間の時間間隔がａ０、ｂ０、ｃ０、ｄ０、ａ１、ｂ１、ｃ１、ｄ１であるとする。最初のゼロクロス間の時間間隔ａ０と次のゼロクロス間の時間間隔ｂ０とを比較し、両者が異なると、次にそれらを加算した時間間隔（ａ０＋ｂ０）と隣接する時間間隔（ｃ０＋ｄ０）とを比較する。この比較においても両者が異なると、時間間隔（ａ０＋ｂ０＋ｃ０）と隣接する時間間隔（ｄ０＋ａ１＋ｂ１）とを比較する。やはり両者が異なると、時間間隔（ａ０＋ｂ０＋ｃ０＋ｄ０）と隣接する時間間隔（ａ１＋ｂ１＋ｃ１＋ｄ１）とを比較する。この比較で両者がほぼ一致すると、時間間隔（ａ１＋ｂ１＋ｃ１＋ｄ１）をピッチ、Ｚ１をゼロクロス位置のアドレスとして出力する。
【００２０】
その他、例えば特開平３−２８８２００号公報に開示されているように、サンプリングデータのゼロクロス位置と、波形信号のピーク位置とを検出し、これらゼロクロス位置とピーク位置との時間間隔を、以前に検出したゼロクロス位置との時間間隔と比較することによって、ピッチを検出するものも使用することができる。
【００２１】
ステップＳ４においてピッチ検出が行われた否かを判断し（ステップＳ６）、ピッチ検出された場合、ステップＳ４で検出されたゼロクロス位置を切り出しアドレスとし、これによってレジスタＳＡＤＲＳの値を更新し、かつ検出ピッチを１周期長として、これでＰＩＴＣＨの値を更新する（ステップＳ８）。このようにピッチ検出手段２６は、切り出し手段の一部を構成する。
【００２２】
ピッチ検出が行われなかった場合、またはピッチ検出が行われ、上記の両レジスタの更新が行われた場合、レジスタＰＨＡＳＥ、ＰＨ１、ＰＨ２の値をそれぞれ１歩進させる（ステップＳ１０）。
【００２３】
次にレジスタＰＨＡＳＥ、ＷＩＤＴＨの値を比較する（ステップＳ１２）。ＷＩＤＴＨは、後述するようにレジスタＰＩＴＣＨの値とピッチ変更係数ＰＩＴＣＨ−ＶＲとを乗算して求めた１周期長を記憶しており、ＰＨＡＳＥの値がこのＷＩＤＴＨの値に達しているか否かを判断している。即ち、所定の再生ピッチにＰＨＡＳＥの値が達しているか否かを判断している。このＷＩＤＴＨの値が再生ピッチ情報に相当する。
【００２４】
ＰＨＡＳＥの値がＷＩＤＴＨの値に達していないと、後述するステップＳ３２の波形処理へ進む。ＰＨＡＳＥの値がＷＩＤＴＨの値に達していると、レジスタＰＨＡＳＥの値を０とし（ステップＳ１４）、操作子２０によって設定されたピッチ変更係数ＰＩＴＣＨ−ＶＲ及びフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲをＣＰＵ２２を介して読み込む（ステップＳ１６）。
【００２５】
そして新たなＷＩＤＴＨの値を決定するために、ＰＩＴＣＨの値とピッチ変更係数ＰＩＴＣＨ−ＶＲとを乗算し、これをレジスタＷＩＤＴＨに記憶させると共に、第１の波形のエンベロープ、第２の波形のエンベロープの周期を決定するために、ＰＩＴＣＨの値をフォルマント係数ＦＯＲＭＡＮＴ−ＶＲで除算し、レジスタＬＥＮＧＴＨに記憶させる（ステップＳ１８）。
【００２６】
次にレジスタＬＥＮＧＴＨの値とレジスタＷＩＤＴＨとの値を比較し（ステップＳ２０）、ＬＥＮＧＴＨの値がＷＩＤＴＨの値よりも大きいと、ＬＥＮＧＴＨの値をＷＩＤＴＨの値とする（ステップＳ２２）。これは、ＬＥＮＧＴＨの値がＷＩＤＴＨの値を超えないようにするためである。即ち、後述するステップＳ３２の波形読み出し処理において波形を加算するための処理経路が２つしか用意していないため、２つ以上の波形が重ならないようにするためである。
【００２７】
なお、ＬＥＮＧＴＨの値がＷＩＤＴＨの値以下であると、ステップＳ２２のような処理を行わずに、ステップＳ２４の処理を行う。また、ステップＳ２２に続いて、ステップＳ２４の処理も行われる。ステップＳ２４では、ＬＥＮＧＴＨの値の逆数を求め、レジスタＷ−ＲＡＴＥに記憶させる。このＷ−ＲＡＴＥの値は、後述するようにＷＩＮＤＯＷ１、ＷＩＮＤＯＷ２の値を歩進させるために使用する。また、ステップＳ２４では、フラグＦの値を今までの値と反転させることも行う。
【００２８】
次に、ステップＳ２４で反転させたフラグＦの値が１であるか、−１であるかを判断する（ステップＳ２６）。フラグＦが１であると、第１の波形の読出開始のため、レジスタＰＨ１、ＷＩＮＤＯＷ１をそれぞれ０とし、ステップＳ８で決定したＳＡＤＲＳの値（切り出しアドレス）を切り出し開始アドレスレジスタＳＡＤＲＳ１に記憶させる（ステップＳ２８）。
【００２９】
またステップＳ２４で反転させたＦの値が−１であると、第２の波形の読出開始のため、レジスタＰＨ２、ＷＩＮＤＯＷ２をそれぞれ０とし、ステップＳ８で決定したレジスタＳＡＤＲＳの値（切り出しアドレス）を切り出し開始アドレスレジスタＳＡＤＲＳ２に記憶させる（ステップＳ３０）。
【００３０】
このようなステップＳ１２、Ｓ１４、Ｓ１６、Ｓ１８、Ｓ２０、Ｓ２２、Ｓ２４、Ｓ２６、Ｓ２８、Ｓ３０によって、２再生ピッチの周期長に相当する時間（ＷＩＤＴＨの値の２倍）経過ごとに、第１及び第２の波形データの切り出し開始アドレスが更新され、ＰＨＡＳＥの値がＷＩＤＴＨの値に達するごとにフラグＦの値が反転されることになる。
【００３１】
ステップＳ２８またはＳ３０に続いて、またはステップＳ１２においてレジスタＰＨＡＳＥの値がレジスタＷＩＤＴＨの値に達していないと判断された場合、波形読出処理を行う（ステップＳ３２）。このように波形読みだし処理は、ＰＨＡＳＥの値がＷＩＤＴＨに達するまでは、ＷＩＤＴＨの値、ＬＥＮＧＴＨの値（ひいてはＷ−ＲＡＴＥの値）を変更せずに行われる。
【００３２】
後述する波形読み出し処理では、Ｗ−ＲＡＴＥの値で、第１及び第２の波形のエンベロープＥＮＶ１、ＥＮＶ２の値が制御される。
【００３３】
そして、Ｗ−ＲＡＴＥ、ひいてはＬＥＮＧＴＨの値は、ステップＳ１８において検出ピッチをフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲによって変更したものであるので、波形読出処理される波形のピッチは、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲに応じたものとなる。
【００３４】
この波形読出処理では、図３に示すように、まずカウンタＷＩＮＤＯＷ１の値をＷ−ＲＡＴＥの値だけ歩進させる（ステップＳ３４）。そして、歩進させたＷＩＮＤＯＷ１の値が１より小さいか、１以上であって２より小さいか、２以上であるかを判定する（ステップＳ３６）。
【００３５】
１より小さい場合、ＷＩＮＤＯＷ１の値をレジスタＥＮＶ１に記憶させ（ステップＳ３８）、１以上であって２より小さいとき、２からＷＩＮＤＯＷ１の値を減算した値をレジスタＥＮＶ１に記憶させ（ステップＳ４０）、２以上のとき、ＥＮＶ１の値を０とする（ステップＳ４２）。
【００３６】
ステップＳ３４乃至Ｓ４０は、Ｗ−ＲＡＴＥの値ずつ値が増加する鋸歯状波を作成し、これの値を１で折り返すことによって、ＥＮＶ１を作成している。但し、ＷＩＮＤＯＷ１の値が２を超えた場合には、ステップＳ４２によってＥＮＶ１を０としている。即ち、フォルマント係数ＦＯＲＭＡＮＴ−ＶＲと検出ピッチとに基づいて定めたＬＥＮＧＴＨの値の逆数であるＷ−ＲＡＴＥずつ１まで増加し、その後、Ｗ−ＲＡＴＥずつ０まで減少する三角波を第１の波形のエンベロープとして作成している。
【００３７】
また、ステップＳ３８、Ｓ４０またはＳ４２に続いて、レジスタＰＨ１の値（切り出しアドレスの歩進値）にフォルマント係数ＦＯＲＭＡＮＴ−ＶＲを乗算した値を、第１の波形の切り出し開始アドレスを記憶しているレジスタＳＡＤＲＳ１の値と加算して、第１の波形の切り出しアドレスを記憶するレジスタＡＤＲＳ１に記憶させる（ステップＳ４４）。これに続いて、リングメモリから切り出しアドレスＡＤＲＳ１で第１の波形の波形データＤＡＴＡ１を読出す（ステップＳ４６）。
【００３８】
このように読出アドレスはフォルマント係数ＦＯＲＭＡＮＴ−ＶＲによって変更されているので、結果的には波形データＤＡＴＡ１の読出速度が、フォルマント係数ＦＯＲＭＡＮＴ−ＶＲによって変更されている。
【００３９】
これに続いて、ＷＩＮＤＯＷ２の値をＷ−ＲＡＴＥだけ歩進させる（ステップＳ４８）。歩進させたＷＩＮＤＯＷ２の値が１より小さいか、１以上で２未満であるか、または２以上であるか判断する（ステップＳ５０）。そして、ＷＩＮＤＯＷ２の値が１より小さいと、ＷＩＮＤＯＷ２の値をレジスタＥＮＶ２に記憶させ（ステップＳ５２）、ＷＩＮＤＯＷ２の値が１以上で２未満であると、２からＷＩＮＤＯＷ２の値を減算した値をレジスタＥＮＶ２の記憶させ（ステップＳ５４）、ＷＩＮＤＯＷ２の値が２以上であると、ＥＮＶ２の値を０とする（ステップＳ５６）。このようにして、第２の波形のエンベロープを準備する。
【００４０】
ステップＳ５２、Ｓ５４またはＳ５６に続いて、レジスタＰＨ２の値にフォルマント係数ＦＯＲＭＡＮＴ−ＶＲを乗算した値と第２の波形データ用の切り出し開始アドレスＳＡＤＲＳ２の値とを加算した値を、第２の波形データ用の切り出しアドレス用のレジスタＡＤＲＳ２に記憶させる（ステップＳ５８）。そして、リングメモリからアドレスＡＤＲＳ２で第２の波形の波形データ（ＤＡＴＡ２）を読出す（ステップＳ６０）。
【００４１】
このようにして読出されたＤＡＴＡ１にＥＮＶ１の値を乗算したものと、ＤＡＴＡ２にＥＮＶ２の値を乗算したものとを、加算したものを出力ＯＵＴとする（ステップＳ６２）。このような波形読出処理が行われた後、図２に示すように出力ＯＵＴを送出する（ステップＳ６４）。
【００４２】
図２及び図３において、ステップＳ２、Ｓ４、Ｓ６、Ｓ８、Ｓ２６、Ｓ２８、Ｓ３０、Ｓ４６及びＳ６０が切り出し手段に相当する。また、図１に示す操作子２０、図２のステップＳ１６及びＳ１８でＷＩＤＴＨを生成する手段が再生ピッチ情報生成手段に、同様に図１に示す操作子２０、図２のステップＳ１６でＦＯＲＭＡＮＴ−ＶＲを生成する手段がフォルマント変更情報生成手段に相当する。図２及び図３の上述した以外のステップが再生オーディオ信号合成手段に相当する。
【００４３】
図４は、ピッチ変更係数ＰＩＴＣＨ−ＶＲ及びフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲを共に１とした場合の各部の波形を示し、図５はピッチ変更係数ＰＩＴＣＨ−ＶＲを１より大きくし、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲを１とした場合の各部の波形を示し、図６はピッチ変更係数ＰＩＴＣＨ−ＶＲを１、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲを１より大きくした場合の各部の波形を示す。
【００４４】
これら波形から明らかなように、この実施例では、出力される信号のピッチは、ピッチ変更係数ＰＩＴＣＨ−ＶＲと検出ピッチとを乗算したＷＩＤＴＨの値、即ちピッチ再生情報によって定められ、出力される信号の読出速度は、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲによって定められる。そして、これらピッチ変更係数とフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲとは、操作子２０の操作によって互いに独立して変更可能である。
【００４５】
次に、同じ図１（ｂ）のような構成において、フォルマント変更情報を時変する場合の実施形態を説明する。この場合のピッチ変換手段２４、ピッチ検出手段２６及び制御手段２８が行う効果付加の処理は、図２と、その図２の波形読出処理Ｓ３２の詳細な処理である図８及び図９とで表されている。この実施例において変調波形選択パラメータ（ＭＳＴＡＲＴ、ＭＬＥＮＧ）等の操作子２０からの操作子設定も、更に入力されることになる。
【００４６】
ピッチ変換手段２４内には、例えばＲＯＭで構成した変調波形メモリが、設けられている。この変調波形メモリには、例えば図７に示すような、１から始まり１で終わる、それぞれ異なる波形の変調波形が、複数、例えば３つ記憶されている。図７に示すＳＡ１、ＳＡ２、ＳＡ３は、これら各変調波形のスタートアドレスを表し、ＬＥＮＧ１、ＬＥＮＧ２、ＬＥＮＧ３は、各変調波形の長さを表している。
【００４７】
これら各変調波形のうち１つが、操作子２０の操作によって選択され、選択された波形のスタートアドレスは、ピッチ変換手段２４内に設けたレジスタＭＳＴＡＲＴに、選択された波形の長さは、同レジスタＭＬＥＮＧに、それぞれ記憶される。
【００４８】
他のレジスタやカウンタは、前述の実施形態と同様に使用され、さらに、レジスタＷＩＮＤＯＷ１、ＷＩＮＤＯＷ２の値を１／２にした値を記憶するレジスタＭＡＤ１、ＭＡＤ２と、ＭＡＤ１、ＭＡＤ２の値とＭＬＥＮＧの値とＭＳＴＡＲＴの値とを用いて、変調メモリからの波形データを読出すアドレスを記憶するレジスタＭＯＤＡＤ１、ＭＯＤＡＤ２が設けられている。
【００４９】
この実施形態において、図２は前述の実施形態と同じであるため、前述の実施形態と異なる図８及び図９のフローチャートについて説明する。よって波形読出処理では、図８に示すように、ステップＳ３４において、現在のＷＩＮＤＯＷ１の値をＷ−ＲＡＴＥの値だけ更新させ、その更新後のＷＩＮＤＯＷ１の値の１／２をレジスタＭＡＤ１に記憶させる（ステップＳ６４）。次に、このレジスタＭＡＤ１の値を１と比較する（ステップＳ６６）。ＭＡＤ１の値が１より大きい場合には、ＭＡＤ１の値を１とする（ステップＳ６８）。
【００５０】
ステップＳ６６において、レジスタＭＡＤ１の値が１より小さい場合、またはステップＳ６８に続いて、レジスタＭＡＤ１の値とＭＬＥＮＧの値とを乗算した値とＭＳＴＡＲＴの値とを加算した値を、第１の波形データの読出速度の変調データのアドレスとして、レジスタＭＯＤＡＤ１に記憶させる（ステップＳ７０）。これに続いて、変調波形メモリにおけるＭＯＤＡＤ１の値に対応するアドレスからデータＭＯＤＤＡＴＡ１を読出す（ステップＳ７２）。
【００５１】
なお、ステップＳ６４において、ＷＩＮＤＯＷ１の値を１／２としているのは、ステップＳ７０におけるＭＯＤＡＤ１の値が選択された変調波形メモリの最終アドレスを超えないようにするためである。
【００５２】
これに続いて、ステップＳ３６、Ｓ３８、Ｓ４０、Ｓ４２を実行して、第１の波形用のエンベロープを、レジスタＥＮＶ１に記憶させる。
【００５３】
次に、ステップＳ１０で歩進させたカウンタＰＨ１の値と、フォルマント係数ＦＯＲＭＡＮＴ−ＶＲとステップＳ７２で求めたＭＯＤＤＡＴＡ１とを乗算し、この乗算値に、ステップＳ２８で定めた切り出し開始アドレス用レジスタＳＡＤＲＳ１の値を加算した値を、レジスタＡＤＲＳ１に記憶させる（ステップＳ４４ａ）。これを第１の波形の波形データの読出アドレスとし、リングメモリにおける、この波形データの読出アドレスから、第１の波形の波形データＤＡＴＡ１を読出す（ステップＳ４６ａ）。この「その他の実施例」では、ステップＳ３４、Ｓ６４、Ｓ６６、Ｓ６８、Ｓ７０、Ｓ７２とフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲを生成する手段がフォルマント変更情報生成手段に相当する。
【００５４】
次に、図８のフローチャートに続く図９に示すように、カウンタＷＩＮＤＯＷ２の値をＷ−ＲＡＴＥの値だけ歩進させる（ステップＳ４８）。そして、このＷＩＮＤＯＷ２の値を１／２として、レジスタＭＡＤ２に記憶させる（ステップＳ７４）。そして、このＭＡＤ２の値を１と比較する（ステップＳ７６）。
【００５５】
ＭＡＤ２の値は１より大きいと、ＭＡＤ２の値は１に修正される（ステップＳ７８）。ステップＳ７６において、ＭＡＤ２の値が１以下の場合、またはステップＳ７６に続いて、ＭＡＤ２の値とＭＬＥＮＧの値との乗算値にＭＳＴＡＲＴの値を加算した値を、レジスタＭＯＤＡＤ２に記憶させる（ステップＳ８０）。変調波形メモリにおけるＭＯＤＡＤ２の値に対応するアドレスから、第２の波形データ用の変調データＭＯＤＤＡＴＡ２を読出す（ステップＳ８２）。
【００５６】
ステップＳ７４において、ＷＩＮＤＯＷ２の値を１／２としているのは、ステップＳ６４においてＷＩＮＤＯＷ１の値を１／２としているのと同一の理由である。
【００５７】
これに続いて、ステップＳ５０、Ｓ５２、Ｓ５４、Ｓ５６を実行して、第２の波形用のエンベロープを、レジスタＥＮＶ２に記憶させる。
【００５８】
次に、ステップＳ１０で歩進させたカウンタＰＨ２の値と、フォルマント係数ＦＯＲＭＡＮＴ−ＶＲとステップＳ８２で求めたＭＯＤＤＡＴＡ２とを乗算し、この乗算値に、ステップＳ３０で定めた切り出し開始アドレス用レジスタＳＡＤＲＳ２の値を加算した値を、レジスタＡＤＲＳ２に記憶させ、第２の波形の波形データの読出アドレスとする（ステップＳ５８ａ）。前述と同様に、ステップＳ４８、Ｓ７４、Ｓ７６、Ｓ７８、Ｓ８０、Ｓ８２とフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲを生成する手段がフォルマント変更情報生成手段に相当する。リングメモリにおける、この波形データの読出アドレスから、第２の波形データＤＡＴＡ２を読出す（ステップＳ６０ａ）。
【００５９】
そして、第１の波形データＤＡＴＡ１とＥＮＶ１の第１のエンベロープとを乗算した値と、第２の波形データＤＡＴＡ２とＥＮＶ２の第２のエンベロープとを乗算した値とを加算したものを、出力ＯＵＴとする（ステップＳ６２ａ）。以下、図２に示すステップＳ６４を実行する。
【００６０】
このように、この実施形態では、変調波形メモリに記憶されている変調波形を使用して、第１及び第２の波形データの読出アドレスを変調している。従って、従来にない独特な効果を入力可聴周波数信号に付加することができる。しかも、この変調をかけるために使用する変調波形データは、複数準備されており、そのうちの任意のものを使用できるので、様々な効果を付加することができる。またフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲの値を操作子２０の操作によって変更することによって、変調の程度を変更することができるので、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲの値を変更することによって、同じ変調波形データを使用しても、異なった効果を付加することができる。
【００６１】
次に前述の２つの実施形態いずれかを実施した、図１（ｂ）の構成の代わりに、図１（ｃ）に示す構成において本発明を実施した場合について説明する。図１（ｃ）に示す実施例では、図１（ｂ）の構成におけるピッチ変換手段２４と入力端子２３との間に、波形変換手段３０とフィルタ手段３２とを縦続接続したものが更に付加されている。また、制御手段２８には、ＣＰＵ２２を介して、ピッチ変更係数ＰＩＴＣＨ−ＶＲ、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲの他に、波形変換手段３０の設定パラメータ、フィルタ手段３２の設定パラメータ等の操作子２０からの操作子設定も入力される。
【００６２】
波形変換手段３０は、入力された波形の所定レベル以上をクリップさせる所謂ディストーション回路であり、その詳細は公知であるので、説明は省略する。
【００６３】
フィルタ手段３２としては、公知の櫛型フィルタ、ローパスフィルタ、ハイパスフィルタ等、或いはこれらを組み合わせたものを使用することもできるが、この実施形態では、例えば特開平６−４０７６号公報に開示されているような、入力楽音信号のピッチに応じてその特性が変化するものを使用している。
【００６４】
即ち、特開平６−４０７６号公報に開示されているフィルタ手段では、入力楽音信号のピッチに対応して、フィルタの特性を制御して、入力楽音信号の倍音に対して適切な周波数特性を得ている。
【００６５】
従って、この実施形態では、波形変換手段３０で入力端子２３に供給された可聴周波数信号を歪ませた後、フィルタ手段３２によって倍音に対して適切な周波数特性を持たせた上で、上述したようにフォルマントの読出速度に変調をかけ、この変調状態をフォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲによって調整し、その上に出力ピッチもピッチ変更係数ＰＩＴＣＨ−ＶＲによって調整しているので、前述の２つの実施形態の効果に加え、さらに従来にない独特の効果を付加することができる。
【００６６】
上記の両実施形態では、音素である第１及び第２の波形データを発生する、２つの処理経路を備え、それぞれの処理経路では再生ピッチの２倍の周期で音素を再生するようにし、それらを合成するようになされていたが、３つ以上の処理経路を備え、合成するようにしてもよい。さらに、上記の実施形態では、ピッチ検出手段を用いたが、これに代えて、例えば入力可聴周波数信号の倍音の周波数の検出手段を用いてもよい。
【００６７】
本発明の第２の実施形態について説明する。この実施形態では、図１０に示すように、例えばカラオケ演奏部４０からのカラオケ演奏に従って歌った歌声を図１に示したのと同様にディジタル化したディジタル音声信号が、音声入力端子４２からコーラス付加部４４に入力され、ここでコーラス効果を付加して出力することが可能である。この場合、コーラス付加部４４では、音声入力のピッチ及びフォルマントを変更したものと元の音声入力とを合成することによってコーラス効果を付加している。
【００６８】
このピッチの変更及びフォルマントの変更に、本発明を利用している。このピッチの変更及びフォルマントの変更のための情報は、操作子４６の操作によってコーラス付加部４４に与えられる。また、カラオケ演奏部４０からピッチ情報やレベル情報がＭＩＤＩ信号としてコーラス付加部４４に供給される。また、これらピッチ情報やレベル情報は、カラオケ演奏部４０からではなく、外部に設けられた別の機器、例えば演奏可能なキーボードからの外部入力ＭＩＤＩ信号としてコーラス付加部４４に供給されることもある。
【００６９】
また、コーラス付加部４４によって付加されるコーラスには、予め記憶している演奏情報に従ってコーラスを付加するカラオケモードと、大人数でコーラスしているようなクワイヤモードとの２つがある。この実施形態では、カラオケモードの場合には、ピッチ情報やレベル情報は、カラオケ演奏部４０からコーラス付加部４４に供給され、クワイヤモードの場合に、上記外部機器から供給される。
【００７０】
カラオケ演奏部４０は、自動演奏手段４８と楽音発生手段５０とを有し、これらを制御するカラオケ制御手段５２も有している。自動演奏手段４８は、従来公知の自動演奏装置に相当するもので、複数曲の自動演奏情報を記憶している。また、楽音発生手段５０は、従来公知の音源装置に相当するものである。
【００７１】
操作子４６の操作に応じて後述する操作子制御手段５４がカラオケ制御手段５２に供給した情報に従って、カラオケ制御手段５２が発生した指令に応じて、自動演奏手段４８は、自動演奏情報から演奏曲情報を選択し、その情報に従って、楽音発生手段５０の自動演奏を行い、伴奏（カラオケ）の演奏を行う。自動演奏情報には、コーラスパートの演奏情報も記憶されており、これに上述したピッチ情報やレベル情報が含まれ、コーラス付加部４４にＭＩＤＩ信号の形態で供給される。
【００７２】
コーラス付加部４４は、コーラス効果付加手段５６と、コーラス制御手段５８とを含んでいる。コーラス効果付加手段５６は、図１１に示すように音声入力端子４２から供給されたディジタル音声信号がそれぞれ供給される主チャンネル６０Ｍと、複数の例えば４つのコーラスチャンネル６０Ｃ１乃至６０Ｃ４を有している。
【００７３】
主チャンネル６０Ｍは、ディジタル音声信号のレベルを調整する乗算器６２Ｍと、レベル調整されたディジタル音声信号に、例えば残響効果等の効果を付加する効果付加手段６４Ｍとを有している。
【００７４】
コーラスチャンネル６０Ｃ１乃至６０Ｃ４は、入力されたディジタル音声信号のピッチとフォルマントとを変更し、さらに、残響効果等の効果を付加するピッチ変換手段６６Ｃ１乃至６６Ｃ４と、これらピッチ変換手段６６Ｃ１乃至６６Ｃ４の出力をそれぞれ遅延させる遅延手段６８Ｃ１乃至６８Ｃ４と、これら遅延手段６８Ｃ１乃至６８Ｃ４の出力のレベルをそれぞれ調整する乗算器６２Ｃ１乃至６２Ｃ４を有している。
【００７５】
ピッチ変換手段６６Ｃ１乃至６６Ｃ４は、例えば図１（ｃ）に示す構成において、ピッチ検出手段を除いたものに対応し、波形変換手段３０、フィルタ手段３２が、ここでいう効果付加手段に相当する。なお、この効果付加手段としては、例えば公知の残響付加装置や、図１２に示すように遅延手段７６の遅延時間を低周波発振器７８によって変更させて、疑似的に合奏しているような効果を付加する疑似コーラス効果付加装置でもよい。各ピッチ変換手段６６Ｃ１乃至６６Ｃ４において使用するために、ディジタル音声信号のピッチを検出するピッチ検出手段７４が設けられている。また、各ピッチ変換手段６６Ｃ１乃至６６Ｃ４に効果付加手段を設ける必要がない場合もある。
【００７６】
これら各コーラスチャンネル６０Ｃ１乃至６０Ｃ４の出力は、加算器７０で合成された後、効果付加手段６４Ｃによって、例えば残響効果等の効果が付加される。なお、この効果付加手段６４Ｃは、後述するように効果パラメータの設定によって、図１２の擬似コーラス効果付加装置としても機能する。この効果付加手段６４Ｃの出力は、効果付加手段６４Ｍの出力と加算器７２によって合成されて、出力される。
【００７７】
また、各ピッチ変換手段６６Ｃ１乃至６６Ｃ４には、フォルマント変更情報、例えばフォルマント変更係数Ｆ１乃至Ｆ４、ピッチ変更情報、例えばピッチ変更係数Ｐ１乃至Ｐ４、コーラス音のピッチ情報ＳＰ１乃至ＳＰ４、ピッチ変換手段６６Ｃ１乃至６６Ｃ４内の効果付加手段の効果付加情報ｅ１乃至ｅ４が、コーラス制御手段５８からそれぞれ供給されている。
【００７８】
また、各遅延手段６８Ｃ１乃至６８Ｃ４に遅延情報Ｄ１乃至Ｄ４がコーラス制御手段５８から供給されている。さらに、各乗算器６２Ｍ、６２Ｃ１乃至６２Ｃ４に、レベル情報Ｌ０乃至Ｌ４が、コーラス制御手段５８から供給されている。同様に、効果付加手段６４Ｍ、６４Ｃに、効果付加パラメータＥＭ及びＥＣがそれぞれコーラス制御手段５８から供給されている。なお、効果付加パラメータは、それぞれ複数の効果パラメータから構成されている。
【００７９】
コーラス制御手段５８は、後述するが、操作子制御手段５４からの情報と、カラオケ演奏部４０または外部機器からのＭＩＤＩ信号とに基づいてこれら各情報を生成する。
【００８０】
コーラス付加部４４は、例えば図１（ａ）に示したＤＳＰとＲＡＭとによって構成することができ、カラオケ制御手段５２、自動演奏手段４８及び操作子制御手段５４は、図１に示したＣＰＵによって構成することができる。
【００８１】
ピッチ変換手段６６Ｃ１乃至６６Ｃ４は、図１（ｃ）に示すピッチ変換手段２４をそのまま使用してもよいが、この実施形態では、ピッチ変換手段２４よりもつながりのよい自然な音声信号を得られるように、ピッチ変換手段６６Ｃ１乃至６６Ｃ４は、改良されている。
【００８２】
図１３（ａ）は、例えば音声入力端子４２に供給されるディジタル音声信号の原波形を示したもので、高調波が含まれ、その高調波が変化するものである。この波形の零クロス点、例えばｓ１、ｓ２、ｓ３・・・を基準としてピッチを測定し、ピッチ検出手段７４がピッチデータを検出する。通常、音声信号では急激で一時的なピッチの変化は生じないので、ピッチ検出時に、そのような急激な変化があった場合には、ピッチ検出に失敗したと判断して、ピッチ検出手段７４は、検出データを出力しないように処理している。具体的には、図１３（ａ）のピッチｃは、同ｂに比較して差が大きすぎるので、ピッチデータとして出力されない。同様に、同ｄも同ｃに比較して差が大きすぎるので、ピッチデータとして出力されない。結局、ピッチ検出手段７４は、ピッチデータとしてａ、ｂ、ｅ・・を出力する。
【００８３】
図１３（ｂ）は、図１３（ａ）の波形の基本波を示したもので、以下、この基本波を用いて説明する。ピッチの変更やフォルマントを変更するために、ＲＡＭに構成したリングメモリから波形を読出す（切り出す）が、例えば同図（ｃ）に示すように零クロス点ｓ１からピッチデータａに相当する期間の波形を切り出し、次に零クロス点ｓ２からピッチデータｂに相当する期間の波形を切り出し、ピッチデータｃの検出に失敗しているので、再び零クロス点ｓ２からピッチデータｂを読出すことを、ピッチの検出に成功するまで繰り返し、ピッチ検出に成功したとき、その零クロス点ｓ５からピッチデータｅに相当する波形を切りだすと、基本波形については波形の不連続が発生する。
【００８４】
図１３（ｄ）に示すように、まず零クロス点ｓ１を基準としてピッチデータａに相当する期間の波形を切り出す。この切り出し後、ｓ１＋ａの演算を行い、その結果ｓ２を基準としてピッチデータｂに相当する期間の波形を切り出す。次に、ｓ２＋ｂの演算を行い、その結果ｓ３を基準として、ピッチｃの検出に失敗しているので、ピッチデータｂに相当する期間の波形を切り出す。次に、ｓ３＋ｂの演算を行い、その結果ｓｓ４を基準としてピッチｄの検出に失敗しているので、ピッチデータｂに相当する期間の波形を切り出す。次に、ｓｓ４＋ｂの演算を行い、その結果ｓｓ５を基準とし、ピッチデータｅの検出に成功しているので、ピッチデータｅに相当する期間の波形を切り出す。次にｓｓ５＋ｅの演算を行い、その結果ｓｓ６を基準としてピッチデータｆに相当する期間の波形を切り出す。このように検出ピッチに従って、切り出しの基準を更新しているので、基本波成分の不連続が発生することがない。
【００８５】
この実施形態では、このようにして波形を切り出した後に、ピッチの変更やフォルマントの変更を行っている。以下、図１４乃至図１７を参照しながら、上記の切り出し、ピッチ及びフォルマントの変更について説明する。なお、説明を簡略化するため、１コーラスチャンネルにおけるピッチ変換手段についてのみ説明する。なお、今までは各ピッチ変換手段に供給されるピッチ変更係数をＰ１乃至Ｐ４として説明したが、以下の説明ではＰＩＴＣＨ−ＶＲとして表し、同様にフォルマント変更係数をＦ１乃至Ｆ４と表したが、以下の説明ではＦＯＲＭＡＮＴ−ＶＲと表す。
【００８６】
なお、第１の実施形態と同様に、レジスタＰＩＴＩＣＨ、ＳＡＤＲＳ、カウンタＰＨＡＳＥ、ＰＨ１、ＰＨ２、レジスタＷＩＤＴＨ、ＬＥＮＧＴＨ、ＥＮＶ１、ＥＮＶ２、Ｗ−ＲＡＴＥ、ＳＡＤＲＳ１、ＳＡＤＲＳ２、ＡＤＲＳ１、ＡＤＲＳ２、フラグＦを用いている。
【００８７】
サンプリングデータ（ディジタル音声信号）が入力端子４２に供給されると、図２のステップＳ２と同様に、図示していないＲＡＭに構成されたリングメモリの書き込みアドレスＩＢＵＦ−ＰＴＲにサンプリングデータが書き込まれる（ステップＳ２ａ）。但し、書き込みアドレスＩＢＵＦ−ＰＴＲは、サンプリングデータが入力端子４２に供給されるごとに、１づつ歩進している。次に、ステップＳ４と同様にピッチ検出処理が行われ（ステップＳ４ａ）、ステップＳ６と同様に、ピッチ検出が行われたか判断し（ステップＳ６ａ）、検出結果でピッチ情報ＰＩＴＣＨを更新する（ステップＳ８ａ）。ステップＳ８では、ピッチ情報ＰＩＴＣＨの更新の他に、切り出しアドレスＳＡＤＲＳも、ピッチ検出で求められた零クロス位置に更新していたが、ステップＳ８ａでは、ＳＡＤＲＳの更新は、行わず、別途にステップＳ１００によって行われる。このステップＳ１００での切り出しアドレスの更新は、図１３に関連して説明したように、検出ピッチに従って、切り出しの基準を更新するもので、詳細は後述する。また、ステップＳ４ａにおいて、ピッチの検出が行われなかった場合にも、ステップＳ１００が実行される。
【００８８】
ステップＳ１００に続いて、ステップＳ１０と同様にレジスタＰＨＡＳＥ、ＰＨ１、ＰＨ２の値をそれぞれ１歩進させる（ステップＳ１０ａ）。次に、ステップＳ１２と同様に、レジスタＰＨＡＳＥ及びＷＩＤＴＨの値を比較する（ステップＳ１２ａ）。ＰＨＡＳＥの値がＷＩＤＴＨの値に達していないと、後述するステップＳ３２ａの波形読み出し処理へ進む。ＰＨＡＳＥの値がＷＩＤＴＨの値に達していると、ステップＳ１４と同様に、レジスタＰＨＡＳＥの値を０とする（ステップＳ１４ａ）。
【００８９】
次に、コーラス制御手段５８からのピッチ変更係数ＰＩＴＣＨ−ＶＲ、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲ及び再生ピッチ情報ＳＰＩＴＣＨを入力する（ステップＳ１６ａ）。ステップＳ１６では、操作子によって設定されたピッチ変更係数ＰＩＴＣＨ−ＶＲ、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲのみを入力していたのに対し、ステップＳ１６ａでは、操作子４６の操作に応じて設定されたピッチ変更係数ＰＩＴＣＨ−ＶＲ、フォルマント変更係数ＦＯＲＭＡＮＴ−ＶＲの他に、カラオケ演奏部４０または外部機器からのＭＩＤＩ信号に基づく再生ピッチ情報ＳＰＩＴＣＨが入力されている。
【００９０】
そして新たなＷＩＤＴＨの値（特許請求の範囲に記載の再生ピッチ情報に相当）を決定するために、再生ピッチ情報ＳＰＩＴＣＨとピッチ変更係数ＰＩＴＣＨ−ＶＲとを乗算し、これをレジスタＷＩＤＴＨに記憶させると共に、第１の波形のエンベロープ、第２の波形のエンベロープの周期を決定するために、ＰＩＴＣＨの値をフォルマント係数ＦＯＲＭＡＮＴ−ＶＲで除算し、レジスタＬＥＮＧＴＨに記憶させる（ステップＳ１８ａ）。ステップＳ１８では、検出したピッチ情報ＰＩＴＣＨにＰＩＴＣＨ−ＶＲを乗算していたのに対し、ステップＳ１８ａではＳＰＩＴＣＨとＰＩＴＣＨ−ＶＲとを乗算している点が相違する。
【００９１】
次に、図１５に示すように、レジスタＬＥＮＧＴＨの値を、例えば１００Ｈｚの周期Ｐと比較する（ステップＳ１０２）。ＬＥＮＧＴＨの値がＰよりも大きければ、ＬＥＮＧＴＨの値をＰに変更する（ステップＳ１０４）。これらステップＳ１０２、１０４は、ディジタル音声信号として低い周波数のものが入力されても、大きな遅延が付加されないようにするためである。具体的には、１００Ｈｚよりも低い周波数のディジタル音声信号が入力された場合でも、遅延を１００Ｈｚの遅延時間１０ｍ秒に制限するためのものである。
【００９２】
ステップＳ１０４に続いて、またはステップＳ１０２においてＬＥＮＧＴＨの値がＰよりも小さい場合、ステップＳ２０と同様にＬＥＮＧＴＨの値とＷＩＤＴＨの値とを比較し（ステップＳ２０ａ）、ＬＥＮＧＴＨの値がＷＩＤＴＨの値よりも大きいと、ステップＳ２２と同様に、ＬＥＮＧＴＨの値をＷＩＤＴＨの値とする（ステップＳ２２ａ）。
【００９３】
なお、ＬＥＮＧＴＨの値がＷＩＤＴＨの値以下であると、ステップＳ２２ａの処理を行わずに、ステップＳ２４ａの処理を行う。またステップＳ２２ａに続いてもステップＳ２４ａの処理を行う。ステップＳ２４ａの処理は、ステップＳ２４と同様に、ＬＥＮＧＴＨの値の逆数を求め、レジスタＷ−ＲＡＴＥに記憶させる。このＷ−ＲＡＴＥの値は、レジスタＷＩＮＤＯＷ１、ＷＩＮＤＯＷ２の値を歩進させるために使用する。また、ステップＳ２４ａでは、フラグＦの値を反転させる。ステップＳ２４ａは、ステップＳ１２ａにおいてＰＨＡＳＥの値がＷＩＤＴＨの値以上になったときに行われているので、フラグＦの反転も、ＰＨＡＳＥの値がＷＩＤＴＨの値以上になったときに行われる。
【００９４】
次に、ステップＳ２６と同様にフラグＦの値を０と比較し（ステップＳ２６ａ）、フラグＦが１であるか、−１であるかを判断している。フラグＦの値が１であると、ステップＳ２８と同様にレジスタＰＨ１、ＷＩＮＤＯＷ１をそれぞれ０とし、ステップＳ１００で決定したＳＡＤＲＳの値を切り出し開始アドレスレジスタＳＡＤＲＳ１に記憶させる（ステップＳ２８ａ）。
【００９５】
また、フラグＦの値が−１であると、ステップＳ３０と同様に、レジスタＰＨ２、ＷＩＮＤＯＷ２をそれぞれ０とし、ステップＳ１００で決定したレジスタＳＡＤＲＳの値を切り出し開始アドレスレジスタＳＡＤＲＳ２に記憶させる（ステップＳ３０ａ）。
【００９６】
ステップＳ２８ａまたは３０ａに続いて、またはステップＳ１２ａにおいてレジスタＰＨＡＳＥの値がＷＩＤＴＨの値に達していないと判断されたとき、ステップＳ３６と同様な波形読み出し処理を行う（ステップＳ３２ａ）。この波形読み出し処理は、図３に示したものと同様なものであるので、詳細な説明を省略する。そして、波形読み出し処理が行われた波形が、ステップＳ６４と同様に送出される（ステップＳ６４ａ）。
【００９７】
例えばＳＰＩＴＣＨ＝ＰＩＴＣＨとし、ＰＩＴＣＨ−ＶＲ及びＦＯＲＭＡＮＴ−ＶＲをそれぞれ１とした場合、図４と同様な出力波形が得られる。また、ＳＰＩＴＣＨ＝ＰＩＴＣＨ、ＰＩＴＣＨ＞１、ＦＯＲＭＡＮＴ−ＶＲ＝１の場合、図５と同様な出力波形が得られる。また、ＳＰＩＴＣＨ＝ＰＩＴＣＨ、ＰＩＴＣＨ−ＶＲ＝１、ＦＯＲＭＡＮＴ−ＶＲ＞１の場合、図６と同様な波形が得られる。
【００９８】
なお、ＰＩＴＣＨ＝ＳＰＩＴＣＨ、ＰＩＴＣＨ−ＶＲ＜１、ＦＯＲＭＡＮＴ−ＶＲ＝１とした場合、図５において、２＊ＷＩＤＴＨとＥＮＶ１、ＥＮＶ２の周期が等しくなり、同図（ｈ）、（ｉ）のレベル０の部分がなくなる。同様に、ＰＩＴＣＨ＝ＳＰＩＴＣＨ、ＰＩＴＣＨ−ＶＲ＝１、ＦＯＲＭＡＮＴ−ＶＲ＜１とした場合、図５において、２＊ＷＩＤＴＨとＥＮＶ１、ＥＮＶ２の周期が等しくなり、同図（ｈ）、（ｉ）のレベル０の部分がなくなる。
【００９９】
次に、図１６及び図１７を参照して、ステップＳ１００の切り出しアドレスの更新処理について説明する。ステップＳ２ａにおいて、サンプリングデータが書き込まれているリングメモリは、アドレス０からＦＦＦ（ｈｅｘ）を有し、書き込みアドレスＩＢＵＦ−ＰＴＲは、図１７に実線で示すように鋸歯状波のように変化する。即ち、アドレスＦＦＦ（ｈｅｘ）まで到達すると、次のアドレスは０となる。
【０１００】
この切り出しアドレスの更新処理は、波形読み出し処理においてサンプリングデータを切り出す際の基準となる読み出しアドレスＡＤＲＳ１、ＡＤＲＳ２を設定するための前提となるもので、これらアドレスＡＤＲＳ１、ＡＤＲＳ２が書き込みアドレスＩＢＵＦ−ＰＴＲを追い越さないようにしてある。そのため、まず、現在の書き込みアドレスＩＢＵＦ−ＰＴＲを読み出しアドレスが追い越すことがない距離（アドレス差）ＤＥＬＡＹを、現在の書き込みアドレスＩＢＵＦ−ＰＴＲから減算し、これと（１０００（ｈｅｘ）−１）のアンドを取った結果を基準読み出しアドレスＡＤＲＳとして記憶している（ステップＳ１０６）。このアンドを取っているのは、上記の減算値がリングメモリのアドレス範囲０からＦＦＦ（ｈｅｘ）内になるようにするためである。なお、このＤＥＬＡＹは、図１５のステップＳ１０２で用いたＰの値と等しく設定してある。
【０１０１】
次に、このＡＤＲＳと現在の切り出しアドレスＳＡＤＲＳとを比較し（ステップＳ１０８）、ＳＡＤＲＳがＡＤＲＳよりも大きければ、ＡＤＲＳに１０００（ｈｅｘ）を加算する（ステップＳ１１０）。これは、例えば図１７に示すようにＡＤＲＳが一時的にＳＡＤＲＳよりも小さくなることがあり、そのままでは以後の処理に不都合な影響を与えるため、これを補正するためである。
【０１０２】
ステップＳ１１０に続いて、或いはステップＳ１０８においてＡＤＲＳがＳＡＤＲＳよりも大きいと判断されたとき、ＡＤＲＳと（ＳＡＤＲＳ＋ＰＩＴＣＨ）を比較する（ステップＳ１１２）。このＰＩＴＣＨはステップＳ８ａにおいて更新されたものである。ＡＤＲＳ≧（ＳＡＤＲＳ＋ＰＩＴＣＨ）であると、即ち、ＡＤＲＳとＳＡＤＲＳとの間にＰＩＴＣＨ以上の差が生じたとき、（ＳＡＤＲＳ＋ＰＩＴＣＨ）＆（１０００（ｈｅｘ）−１）の演算を行い、この演算結果にＳＡＤＲＳの値を更新する（ステップＳ１１４）。また、ステップＳ１１２において、ＡＤＲＳ＜（ＳＡＤＲＳ＋ＰＩＴＣＨ）であると判断されると、ステップＳ１１４は実行されない。この結果、図１３（ｄ）に示したように検出ピッチＰＩＴＣＨに従って、切り出しの基準ＳＡＤＲＳが更新され、ＳＡＤＲＳは図１７に階段状に示す実線のようにＰＩＴＣＨずつ変化する。
【０１０３】
次に図１８を参照して、操作子４６について説明する。操作子４６は、ＭＯＤＥスイッチ８０を含み、これは、カラオケ演奏においてコーラスを付加するカラオケモードと、外部機器からのＭＩＤＩ信号によってコーラスを付加するクワイアモードとを設定するためのものである。このスイッチ８０は、オン／オフの２状態を切り換えるスイッチで、オンのときにクワイアモードに設定され、オフのときにコーラスモードに設定される。なお、オンのとき、このスイッチ８０に設けられている表示手段、例えばＬＥＤ８２が点灯し、オフのときのＬＥＤ８２が消灯する。
【０１０４】
操作子４６には、ＰＩＴＣＨスイッチ８４、ＦＯＲＭＡＮＴスイッチ８８、ＥＦＦＥＣＴスイッチ９２及びレベル操作子９６が設けられている。これらは、コーラス効果付加手段５６の各コーラスチャンネル６０Ｃ１乃至６０Ｃ４のピッチ変換手段６６Ｃ１乃至６６Ｃ４、遅延手段６８Ｃ１乃至６８Ｃ４、乗算器６２Ｃ１乃至６２Ｃ４に各種パラメータを設定するためのものである。なお、いずれのコーラスチャンネルに上記各種パラメータを設定するかは、ＣＨ−ＳＥＬＥＣＴスイッチ１００の操作によって決定される。ＣＨ−ＳＥＬＥＣＴスイッチ１００は、各コーラスチャンネル６０Ｃ１乃至６０Ｃ４に対応する４つのスイッチ１００ａ乃至１００ｄを有し、これらスイッチ１００ａ乃至１００ｄには、それぞれＬＥＤ１０１ａ乃至１０１ｄが設けられている。
【０１０５】
ＰＩＴＣＨスイッチ８４は、−１ＯＣＴスイッチ８４ａ、ＮＯＲＭＡＬスイッチ８４ｂ、＋１ＯＣＴスイッチ８４ｃを含んでいる。ＰＩＴＣＨスイッチ８４は、付加するコーラスの音声信号の音質（音色）を、ピッチ変換することによって変更するためのもので、より詳しく言えば、コーラス音声信号のピッチを、カラオケ演奏部４０または外部機器からのＭＩＤＩ信号で指定された音高のままで出力するか、オクターブ単位で音高を上げるか下げるかすることを指令するためのものである。
【０１０６】
−１ＯＣＴスイッチ８４ａは、コーラス音声信号をＭＩＤＩ信号で指定された音高よりも１オクターブ低く再生するためのモードで、例えば女性の音声が入力される場合に、男性のコーラスを付加したい場合に操作する。ＮＯＲＭＡＬスイッチ８４ｃは、ＭＩＤＩ信号で表されている音高のままでコーラスを付加する場合に操作する。＋１ＯＣＴスイッチ８４ｃは、再生されるコーラス音声信号をＭＩＤＩ信号で指定された音高よりも１オクターブ高くする場合に操作され、例えば男性の音声が入力される場合に、女性のコーラスを付加する場合に操作される。
【０１０７】
なお、これら３つのスイッチ８４ａ乃至８４ｃには、ＬＥＤ８６ａ乃至８６ｃがそれぞれ設けられており、これらＬＥＤ８６ａ乃至８６ｃのうち、操作されたスイッチに設けられているＬＥＤが点灯する。これら３つのスイッチ８４ａ乃至８４ｃは、例えばスイッチ８４ａが既に操作されている状態で、スイッチ８４ｂが操作されると、スイッチ８４ｂによる操作が有効となる。このように後になされた操作が優先になるように構成されている。なお、ＣＨ−ＳＥＬＥＣＴスイッチ１００も同様に後操作優先に構成されている。
【０１０８】
ＦＯＲＭＡＮＴスイッチ８８は、入力音声信号のフォルマントを変更して、コーラス音声信号の音質を変更するためのもので、ＬＯＷスイッチ８８ａ、ＮＯＲＡＭＡＬスイッチ８８ｂ、ＨＩＧＨスイッチ８８ｃを有している。ＬＯＷスイッチ８８ａは、コーラス音声信号のフォルマントを入力音声信号よりも下げて太い声質に変える場合に操作される。ＮＯＲＭＡＬスイッチ８８ｂは、コーラス音声信号のフォルマントを入力音声信号のフォルマントと同一にする場合に操作される。ＨＩＧＨスイッチ８８ｃは、フォルマントを上げて細い声質にする場合に操作される。これらスイッチ８８ａ乃至８８ｃにも、ＬＥＤ９０ａ乃至９０ｃがそれぞれ設けられており、スイッチ８８ａ乃至８８ｃのうち操作されたものに設けられているＬＥＤが点灯する。これら３つのスイッチ８６ａ乃至８６ｃも、後になされた操作が有効になるように構成されている。
【０１０９】
ＰＩＴＣＨスイッチ８４とＦＯＲＭＡＮＴスイッチ８８との操作例としては、例えば次のようなものがある。入力音声信号が男性で、ＭＩＤＩ信号によって指定されたコーラスピッチ情報が男性の音域の範囲にあるとすると、ＰＩＴＣＨスイッチ８４中の＋１ＯＣＴスイッチ８４ｃを操作して、コーラス音声信号を１オクターブ上げて、ＦＯＲＭＡＮＴスイッチ８８中のＨＩＧＨスイッチ８８ｃを操作して、コーラス音声信号のフォルマントを上げる。この場合、男性の音声信号が入力されても、コーラス音声信号は女性の音域で、女性のフォルマントで合成されるようになる。
【０１１０】
各ピッチ変換手段６６ｃ１乃至６６ｃ４及び遅延手段６８ｃ１乃至６８ｃ４にそれぞれ供給する効果パラメータｅ１乃至ｅ４、遅延情報Ｄ１乃至Ｄ４を、例えばそれぞれ内容の異なる４種類ずつ、カラオケ用とクワイア用にそれぞれ、予め図示していないプリセットメモリに記憶してあり、ＥＦＦＥＣＴスイッチ９２は、それらのうちいずれを使用するかを指定するためのもので、各種類に対応して設けられた４つのスイッチ９２ａ乃至９２ｄを有している。これらスイッチ９２ａ乃至９２ｄにもＬＥＤ９４ａ乃至９４ｄがそれぞれ設けられており、操作されたスイッチに対応するＬＥＤが点灯する。これらスイッチ９２ａ乃至９２ｄも後操作優先に構成されている。
【０１１１】
レベル操作子９６は、アップ操作子１０２、ダウン操作子１０４及び８セグメント表示部１０６を有し、表示部１０６を有し、アップ操作子１０２及びダウン操作子１０４の操作に応じて表示部１０６に表示される数値をアップまたはダウンさせて、乗算器６２ｃ１乃至６２ｃ４のうちＣＨ−ＳＥＬＥＣＴスイッチ１００によって指定されたチャンネルの乗算器のレベルを適当な値に設定するものである。
【０１１２】
また、操作子４６には、各コーラスチャンネル６０ｃ１乃至６０ｃ４に共通に遅延手段６８ｃ１乃至６８ｃ４をオンとするかオフとするかを指定するためにＤＥＬＡＹスイッチ９８が設けられている。このＤＥＬＡＹスイッチ９８は、オンのとき１を、オフのとき０を設定し、オンのときＬＥＤ１０８が点灯する。
【０１１３】
さらに、効果付加手段６４Ｍに対するそれぞれ内容の異なる例えば４種類の効果パラメータが、それぞれカラオケ用及びクワイア用プリセットメモリ（図示せず）に記憶されており、これらのうちいずれを使用するかを選択するために、操作子４６にはＥＦＦＥＣＴ  Ｍスイッチ１１０が設けられている。このＥＦＦＥＣＴ  Ｍスイッチ１１０は、上記４種類に対応して４つのスイッチ１１０ａ乃至１１０ｄを有し、使用しようとする種類に対応するスイッチを操作することによって、後述するようにして効果付加手段６４Ｍに設定される。なお、カラオケ用とクワイア用のいずれを使用するかは、ＭＯＤＥスイッチ８０の操作に従う。これらスイッチ１１０ａ乃至１１０ｄにも、ＬＥＤ１１２ａ乃至１１２ｄが設けられ、操作されたスイッチに設けられているものが点灯する。これらスイッチも、後操作優先に構成されている。
【０１１４】
同様に、効果付加手段６４Ｃに対するそれぞれ内容の異なる例えば４種類の効果パラメータがカラオケ用及びクワイア用プリセットメモリ（図示せず）に記憶されており、これらのうちいずれを使用するかを選択するために、操作子４６にはＥＦＦＥＣＴ  Ｃスイッチ１１４が設けられている。このＥＦＦＥＣＴ  Ｃスイッチ１１４は、上記４種類に対応して４つのスイッチ１１４ａ乃至１１４ｄを有し、使用しようとする種類に対応するスイッチを操作することによって、後述するようにして効果付加手段６４Ｃに指定された種類のパラメータを設定できる。カラオケ用及びクワイア用プリセットメモリのいずれを使用するかは、ＭＯＤＥスイッチ８０の操作に従う。これらスイッチ１１４ａ乃至１１４ｄにも、ＬＥＤ１１６ａ乃至１１６ｄが設けられ、操作されたスイッチに設けられているものが点灯する。これらスイッチも、後操作優先に構成されている。
【０１１５】
また、ＤＩＲＥＣＴ  ＬＥＶＥＬ操作子１１８も、操作子４６には設けられている。これは、主チャンネル６０Ｍの乗算器６２Ｍのレベル情報を設定するためのもので、アップ操作子１２０、ダウン操作子１２２及び８セグメント表示部１２４を有し、アップ操作子１２０及びダウン操作子１２２の操作に応じて表示部１２４に表示される数値をアップまたはダウンさせて、乗算器６２Ｍのレベルを適当な値に設定するものである。
【０１１６】
次に、図１９を参照しながら、コーラス制御手段５８が行う処理について説明する。まず、操作子制御手段５４から入力されるＭＯＤＥスイッチ８０の設定状態を判定する（ステップＳ１１６）。なお、後述するように操作子制御手段５４が、操作子４６を所定の周期で操作して、どの操作子が操作されているかを検出するごとに、コーラス制御手段５８は、後述する操作子処理を行い、その結果としてＭＯＤＥスイッチ８０の設定状態が入力される。
【０１１７】
ここでカラオケモードと判定されると、ＭＩＤＩ入力信号をカラオケ演奏部４０から入力するように設定し、プリセットメモリをカラオケ用に設定し、後述するチャンネルメモリをカラオケ用に設定する（ステップＳ１１８）。これに続いて、後述するカラオケモード用パラメータ処理を行う（ステップＳ１２０）。また、モード変更が変更されたかを判定する（ステップＳ１２２）。これも操作子処理の結果として得られたＭＯＤＥスイッチ８０の状態に応じて行う。モードが変更されていなければ、ステップＳ１２２を繰り返し、モードが変更されていると、ステップＳ１１６に戻る。
【０１１８】
ステップＳ１１６において、モードがクワイアモードであると判断されると、ＭＩＤＩ信号を外部機器から入力するように設定し、プリセットメモリをクワイヤ用に設定し、後述するチャンネルメモリをクワイア用に設定する（ステップＳ１２４）。次に、後述するクワイアモード用パラメータ処理を行う（ステップＳ１２６）。そして、モード変更が変更されたかを判定する（ステップＳ１２８）。これも操作子処理の結果として得られたＭＯＤＥスイッチ８０の状態に応じて行う。モードが変更されていなければ、ステップＳ１２８を繰り返し、モードが変更されていると、ステップＳ１１６に戻る。
【０１１９】
次に、図２０及び図２１を参照しながら、コーラス制御手段５８が行う操作子処理について説明する。操作子制御手段５４は、公知のように所定周期ごとに操作子４６を走査して、いずれの操作子が操作されているかの情報を、コーラス制御手段５８に供給する。コーラス制御手段５８は、この情報が入力されるごとに、操作子処理を行う。なお、操作子制御手段５４は、図２１に示すようにレジスタ群１２６と、カラオケモード用のチャンネルメモリ１２８と、クワイアモード用にチャンネルメモリ１３０とを有している。
【０１２０】
レジスタ群１２６は、各コーラスチャンネル６０Ｃ１乃至６０Ｃ４に対応させて、ＰＩＴＣＨスイッチ８４の操作によって設定されたピッチ変更係数Ｐ１乃至Ｐ４（ＰＩＴＣＨ−ＶＲに相当）、ＦＯＲＭＡＮＴスイッチ８８の操作によって設定されたフォルマント変更係数Ｆ１乃至Ｆ４（ＦＯＲＭＡＮＴ−ＶＲに相当）、レベル操作子９６の操作によって設定された乗算器６２ｃ１乃至６２ｃ４へのレベル情報Ｌ１乃至Ｌ４、ＥＦＦＥＣＴスイッチ９２の操作によってそれぞれ設定された効果パラメータｅ１乃至ｅ４及び遅延情報Ｄ１乃至Ｄ４をそれぞれ記憶するレジスタを有している。また、ＤＥＬＡＹスイッチ９８の操作によって設定されたオンまたはオフの情報を記憶するレジスタを有している。さらに、ＥＦＦＥＣＴ  Ｍスイッチ１１０の操作によって設定された効果パラメータＥＭ（＝ＥＭ１乃至ＥＭｍ）を記憶するためのレジスタ、ＥＦＦＥＣＴスイッチ  Ｃの操作によって設定された効果パラメータＥＣ（＝ＥＣ１乃至ＥＣｍ）を記憶するレジスタ、主チャンネルの乗算器６２Ｍに対するレベル情報Ｌ０を記憶するためのレジスタを有している。
【０１２１】
カラオケ用チャンネルメモリ１２８は、カラオケモード用にレジスタ群１２６に設定されたピッチ変更係数Ｐ１乃至Ｐ４、フォルマント変更係数Ｆ１乃至Ｆ４、レベル情報Ｌ１乃至Ｌ４、効果情報ｅ１乃至ｅ４、遅延情報Ｄ１乃至Ｄ４を、記憶するためのものである。またクワイア用チャンネルメモリ１３０は、クワイアモード用にレジスタ群１２６に設定されたピッチ変更係数Ｐ１乃至Ｐ４、フォルマント変更係数Ｆ１乃至Ｆ４、レベル情報Ｌ１乃至Ｌ４、効果情報ｅ１乃至ｅ４、遅延情報Ｄ１乃至Ｄ４を、記憶するためのものである。
【０１２２】
なお、カラオケ用チャンネルメモリ１２８を使用するか、クワイア用チャンネルメモリ１３０を使用するかは、ステップＳ１１８またはＳ１２４によって決定されている。また、上述したプリセットメモリも使用するが、コーラス用またはクワイア用いずれのメモリを使用するかも、ステップＳ１１８またはＳ１２４によって決定されている。また、この処理では、ＣＨ−ＳＥＬＥＣＴスイッチ１００の前回の操作状態を記憶するためのフラグＦｌｇ  ＯＮと、チャンネルメモリへの書き込みが終了したかを判断するためのＦｌｇ  Ｍと、ＣＨ−ＳＥＬＥＣＴスイッチ１００の操作されている時間をカウントするためのＴカウンタとを使用する。
【０１２３】
まず、操作子制御手段５４から供給された各操作子４６の操作状態を検出し、レジスタ群１２６の対応するものにセットし、操作されている操作子に対応する表示手段を表示する（ステップＳ１３０）。但し、ＰＩＴＣＨスイッチ８４、ＦＯＲＭＡＮＴスイッチ８８、ＥＦＦＥＣＴスイッチ９２、ＬＥＶＥＬ操作子９６の操作状態は、ＣＨ−ＳＥＬＥＣＴスイッチ１００によって選択されたチャンネルに対応するレジスタに記憶される。また、ＰＩＴＣＨスイッチ８４では、−１ＯＣＴスイッチ８４ａが操作された場合には０．５を、ＮＯＲＭＡＬスイッチ８４ｂが操作された場合には１を、＋１ＯＣＴスイッチ８４ｃが操作された場合には２．０を、選択されたチャンネルのピッチ変更係数のレジスタＰに記憶させる。同様にＦＯＲＭＡＮＴスイッチ８８では、ＬＯＷスイッチ８８ａが操作された場合には０．５を、ＮＯＲＡＭＡＬスイッチ８８ｂが操作された場合には１を、ＨＩＧＨスイッチ８８ｃが操作された場合には２．０が、選択されたチャンネルのレジスタＦに記憶される。
【０１２４】
同様に、レベル操作子９６の場合、アップ操作子１０２、ダウン操作子１０４の操作によって設定された数値が、選択されたチャンネルのレジスタＬに記憶される。また、ＥＦＦＥＣＴスイッチ９２の場合、操作されたスイッチに対応する効果パラメータと遅延情報とが、選択されたチャンネルのパラメータレジスタｅと遅延レジスタＤとにそれぞれ記憶される。なお、図２１において、各チャンネルのパラメータレジスタｅの内容ｅ１乃至ｅ４がそれぞれｅ11、ｅ12のように複数記載されているのは、実際には、これらパラメータｅ１乃至ｅ４がそれぞれ複数のパラメータから構成されていることを示している。
【０１２５】
また、ＤＥＬＡＹレジスタには、ＤＥＬＡＹスイッチ９８の操作結果が記憶される。またＥＦＦＥＣＴ  Ｍレジスタ、ＥＦＦＥＣＴ  Ｃレジスタには、ＥＦＦＥＣＴ  Ｍスイッチ１１０及びＥＦＦＥＣＴ  Ｃスイッチ１１４のうち操作されたものに対応する効果パラメータが、それぞれ記憶される。
【０１２６】
さらに、ＤＩＲＥＣＴ  ＬＥＶＥＬレジスタには、ＤＩＲＥＣＴ  ＬＥＶＥＬ操作子１１８によって設定された数値が記憶される。
【０１２７】
次に、ステップＳ１３０で検出されたＣＨ−ＳＥＬＥＣＴスイッチ１００がオンであるか判断する（ステップＳ１３２）。オンであると、Ｆｌｇ  ＯＮフラグが０であるか判断する（ステップＳ１３４）。Ｆｌｇ  ＯＮフラグが０であると、Ｆｌｇ  ＯＮフラグを１とし、かつＦｌｇ  Ｍフラグを１とする（ステップＳ１３６）。そして、Ｔカウンタをリセットし（ステップＳ１３８）、この処理を終了する。
【０１２８】
ステップＳ１３４において、Ｆｌｇ  ＯＮフラグが０でないと判断されると、Ｆｌｇ  Ｍフラグが０であるか判断する（ステップＳ１４０）。Ｆｌｇ  Ｍフラグが０であると、この処理を終了する。Ｆｌｇ  ＯＮフラグが０でないと、Ｔカウンタの計数値を１進める（ステップＳ１４２）。そして、この計数値が４秒以上に相当するものであるか判断し（ステップＳ１４４）、４秒以上でなければ、この処理を終了する。４秒以上であれば、ＣＨ−ＳＥＬＥＣＴスイッチで選択されたチャンネルの各レジスタの内容を、チャンネルメモリの対応するチャンネルの領域に記憶させ（ステップＳ１４６）、Ｆｌｇ  Ｍフラグを０として（ステップＳ１４８）、この処理を終了する。
【０１２９】
例えば、カラオケモードにおいて、チャンネル１に対応してピッチ変更係数、フォルマント変更係数、効果パラメータ、レベル情報、遅延情報が設定され、ＣＨ−ＳＥＬＥＣＴスイッチ１００のチャンネル１に対応するスイッチ９４ａが４秒以上操作されていると、カラオケ用チャンネルメモリ１２８のチャンネル１のピッチ変更係数、フォルマント変更係数、効果パラメータ、レベル情報、遅延情報の記憶領域に、上記の各値が記憶される。
【０１３０】
ステップＳ１３２において、ＣＨ−ＳＥＬＥＣＴスイッチ１００がオンでないと判断されると、Ｆｌｇ  ＯＮフラグが１であるか判断し（ステップＳ１５０）、１でなければ、この処理を終了する。１であれば、Ｆｌｇ  ＯＮフラグを０とし（ステップＳ１５２）、Ｆｌｇ  Ｍフラグが１であるか判断する（ステップＳ１５４）。Ｆｌｇ  Ｍフラグが１でなければ、この処理を終了する。
【０１３１】
Ｆｌｇ  Ｍが１であれば、チャンネルメモリのうち、操作されているＣＨ−ＳＥＬＥＣＴスイッチ１００に対応するチャンネルの内容を、レジスタ群１２６にそれぞれ記憶させ、操作子４６に表示させる（ステップＳ１５６）。例えば、クワイアモードにおいて、チャンネル１が選択されている状態で、ＣＨ−ＳＥＬＥＣＴスイッチ１００のチャンネル１のスイッチ１０１ａが４秒より短い時間しか操作されていないと、クワイア用チャンネルメモリ１３０のチャンネル１に記憶されている内容がレジスタ群１２６の対応するレジスタにそれぞれ記憶され、これらレジスタに対応する操作子に設けられているＬＥＤが点灯する。これに続いて、Ｆｌｇ  Ｍフラグが０とされ（ステップＳ１５８）、この処理を終了する。
【０１３２】
次に図２２及び図２３を参照して、コーラス制御手段５８が、カラオケ演奏部４０または外部機器からＭＩＤＩ信号を受けるごとに行う処理について説明する。なお、コーラス制御手段５８は、図２３に示すようにＭＩＤＩレジスタを有し、これは、テンポを記憶するテンポレジスタ１３２を有し、さらに各チャンネルごとに、コーラス音のピッチ情報ＳＰＩＴＣＨを記憶するレジスタ１３４ａ乃至１３４ｄと、コーラス音のレベル情報Ｌｍｉｄｉを記憶するレジスタ１３６ａ乃至１３６ｄとを有している。
【０１３３】
入力されたＭＩＤＩ信号が演奏のテンポを表すタイミング・クロックであるか判断し（ステップＳ１６０）、タイミング・クロックであると、タイミング・クロックからテンポを測定し、ＭＩＤＩレジスタのＴＥＭＰＯレジスタ１３２に記憶させ（ステップＳ１６２）、この処理を終了する。なお、記憶させるのは、例えば測定結果に所定の係数を乗算し、４分音符の長さのテンポ情報に変換したものである。なお、タイミング・クロックの周期を測定しているため、最初のタイミング・クロック入力のときは、測定不能となって、この処理を終わる。また、タイミング・クロックではなく、テンポ情報を数値データとして伝送することもあり、この場合には、ステップＳ１６０はテンポ情報かの判断に変更され、テンポ情報の場合、そのテンポ情報をそのままＴＥＭＰＯレジスタ１３２に記憶させる。
【０１３４】
ステップＳ１６０において、タイミングクロックでなければ、入力されたＭＩＤＩ信号が、コーラス音の発音を指示するノートオン信号であるか判断する（ステップＳ１６４）。ノートオン信号であれば、これに続いて再生音の音高を表すキー番号と、その再生音の発生レベルを表すベロシティと、再生チャンネルを表すチャンネル情報とを有しているので、図示していない変換テーブルによって、キー番号をコーラス音の再生ピッチ情報ＳＰＩＴＣＨに変換して、チャンネル情報によって指定されたチャンネルの再生ピッチ情報レジスタに記憶させる（ステップＳ１６６）。
【０１３５】
次に、ベロシティをレベル情報Ｌｍｉｄｉとして、ＭＩＤＩレジスタのレベル情報レジスタ中のチャンネル情報によって指定されたチャンネルのものに記憶させ（ステップＳ１６８）、処理を終了する。
【０１３６】
ステップＳ１６４において、ノートオン信号でないと判断されると、ノートオフ信号であるか判断する（ステップＳ１７０）。ノートオフ信号であれば、これに続いてノートオフするチャンネルを表すチャンネル情報を有しているので、チャンネル情報で指定されたチャンネルのレベル情報レジスタの値を０とし（ステップＳ１７２）、この処理を終了する。
【０１３７】
次に図２４を参照しながら、図１９に示すステップＳ１２０のカラオケモードパラメータ供給処理の詳細について説明する。このカラオケモードパラメータ供給処理は、操作子４７の操作等によるパラメータ変化が効果の変化として不自然でない程度の所定の時間が経過するごとに実行する。そのため図示していないが、この処理が実行されると、予め準備したカウンタの値が１進められ、その値が所定の値になっていないと、ステップＳ１２２の実行に移り、その値が所定の値になると、カウンタの値を０として、以下の処理を実行する。なお、上記所定の時間が長いと操作子４７の操作に対して反応が遅れ、不自然になり、また所定時間が短いと、効果の変化が人には感知できないので、無駄な処理を行うことになる。
【０１３８】
この処理では、図２１に示したレジスタ群からＥＦＦＥＣＴ  ＭとＥＦＦＥＣＴ  Ｃとのパラメータ群と、ＤＩＲＥＣＴレベルとを読み出し、図１１に示す効果付加手段６４Ｍ、６４Ｃ、乗算器６２Ｍにそれぞれ供給する（ステップＳ１７４）。
【０１３９】
次に各コーラスチャンネルの機器にパラメータを指定するため、チャンネル指定用のカウンタｎの値を１とする（ステップＳ１７６）。次に、図２３に示すＭＩＤＩレジスタのうちカウンタｎによって指定されたチャンネルのレベル情報Ｌｍｉｄｉｎと、図２１に示すカラオケ用チャンネルメモリにおけるカウンタｎによって指定されたチャンネルのレベル情報Ｌｎとを乗算して、その乗算結果を乗算器６２ｃ１乃至６２ｃ４のうちカウンタｎによって指定されたものにレベル情報として供給し、さらにＭＩＤＩレジスタのテンポ情報とレジスタ群１２６のＤＥＬＡＹと、カラオケ用チャンネルメモリ１２８のうちカウンタｎによって指定されたチャンネルの遅延情報Ｄｎとを読み出し、これらを乗算して、遅延手段６８ｃ１乃至６８ｃ４のうちカウンタによって指定されたものに遅延時間として供給する（ステップＳ１７８）。遅延情報Ｄｎは、４分音符に換算して何個分に相当する遅延時間であるかを表す値であるので、これとＴＥＭＰＯとを乗算することによって実際の遅延時間を決定できる。また、ＤＥＬＡＹは、遅延させる場合には１、遅延させない場合には０であるので、遅延させる場合には、実際の遅延時間が遅延手段に設定され、遅延させない場合には０が遅延手段に設定される。
【０１４０】
次に、チャンネルメモリ１２８のうちカウンタｎによって指定されたチャンネルからピッチ変更係数Ｐｎ、フォルマント変更係数Ｆｎ、効果パラメータｅｎが読出され、ピッチ変換手段６６ｃ１乃至６６ｃ４のうちカウンタｎによって指定されたものに設定する（ステップＳ１８０）。そして、ＭＩＤＩレジスタのコーラスピッチ情報のうちカウンタｎによって指定されたものが、ピッチ変換手段６６ｃ１乃至６６ｃ４のうちカウンタｎによって指定されたものに設定される（ステップＳ１８２）。そして、カウンタｎの値が４以上であるか判断し（ステップＳ１８４）、４以上であれば、この処理を終了し、４以上でなければ、カウンタｎの値を１進め（ステップＳ１８６）、ステップＳ１７８に戻る。
【０１４１】
なお、ステップＳ１２６のクワイアモードパラメータ供給処理も、使用されるチャンネルメモリが、クワイア用のチャンネルメモリ１３０となるだけであるので詳細な説明は省略する。
【０１４２】
次に図２５を参照しながらカラオケモードにおけるコーラス効果が付加される状態を説明する。なお、説明を簡易化するため、コーラスチャンネル６０ｃ１のみが使用され、他のチャンネルには、レベル情報０と遅延情報０とがそれぞれ供給されているとする。また、遅延手段６８ｃ１には４分音符１つ分の遅延時間が設定され、乗算器６２ｃ１には０でないレベル情報が設定されているとする。また、ピッチ変換手段６６ｃ１には、入力されるＭＩＤＩ信号に対応した再生ピッチ情報ＳＰ１として音高Ｅのピッチ情報が入力されるものとする。そして、同図（ｃ）のように音高Ｃの「ＣＡＭＥ  ＯＮ」という音高信号がピッチ変換手段６６ｃ１に入力されると前記再生ピッチ情報ＳＰ１に対応した音高Ｅの「ＣＡＭＥＯＮ」という音声信号が出力される。この出力は、ピッチ変換手段６６ｃ１から同図（ｄ）に示すように出力される。そして、遅延手段６８ｃ１によって上記の遅延時間だけ遅延され、効果付加手段６４ｃによって効果が付加される。一方、入力音声信号も、効果付加手段６４Ｍによって効果が付加され、加算器７２によって加算され、同図（ｆ）に示すようにコーラス出力信号として出力され、同図（ａ）、（ｂ）に示す楽譜のような音が発生する。
【０１４３】
遅延手段６８ｃ１乃至６８ｃ４には、ＤＥＬＡＹスイッチ９８によって、遅延させないときには０を入力するものを使用したが、遅延させない場合には、図２６に示すように遅延手段６８ｎを遅延スイッチ６９ｎによってバイパスする構成のものを遅延手段として使用する場合には、レベル情報Ｌｎを制御するのではなく、ＤＥＬＡＹスイッチ９８に代えて、各チャンネルごとに設けた遅延スイッチによって遅延のオン、オフを制御するようにしてもよい。
【０１４４】
次に、クワイアモードにおけるコーラス効果が付加される状態を説明する。このクワイアモードは、大人数でコーラスをしているような効果を付加するもので、クワイアモードでは、図１１に示す効果付加手段６４ｃが、図１２に示す疑似コーラス効果付加装置として機能するようにパラメータが設定されている。また、各ピッチ変換手段６６ｃ１乃至６６ｃ４に設けた効果付加手段が図１２に示すコーラス効果付加装置として機能するようにパラメータを設定してもよい。
【０１４５】
そして、ＦＯＲＭＡＮＴスイッチ８８の操作によって、例えばコーラスチャンネル１、２の声質を男性とし、コーラスチャンネル３、４の声質を女性とすることによって、大人数で合唱しているような効果を得られる。なお、各遅延手段６８ｃ１乃至６８ｃ４に設定する遅延情報を少しずつずらせて設定しておくと、各コーラスチャンネルの歌い出しのタイミングがわずかにずれて、人間が歌っているような自然なものとなる。また、図１２に示す疑似コーラス効果装置として、効果付加手段６４ｃまたは各ピッチ変換手段６６ｃ１乃至６６ｃ４の効果付加手段を使用した場合、これによっても遅延が得られるので、積極的に各遅延手段６８ｃ１乃至６８ｃ４で遅延を生じさせる必要がない場合もある。
【０１４６】
上述した実施形態では、操作子４６のＰＩＴＣＨスイッチ８４、ＦＯＲＭＡＮＴスイッチ８８の操作によって、パラメータＰＩＴＣＨ−ＶＲとＦＯＲＭＡＮＴ−ＶＲとを設定したが、１つのスイッチの操作によって両者を設定することもできる。
【０１４７】
例えば図２７に示すように、ＢＩＧＭＡＮスイッチ１２４ａと、ＮＯＲＭＡＬスイッチ１２４ｂと、ＰＲＥＴＴＹＧＩＲＬスイッチ１２４ｃとからなるＣＨＡＲＡＣＴＥＲスイッチ１２４を、操作子４６におけるＰＩＴＣＨスイッチ８４、ＦＯＲＭＡＮＴスイッチ８８に代えて設け、これらスイッチのいずれがか操作されると、ＰＩＴＣＨ−ＶＲとＦＯＲＭＡＮＴ−ＶＲとが設定されるようにしてもよい。
【０１４８】
この場合、図２０に示したステップＳ１３０において、ＢＩＧＭＡＮスイッチ１２４ａが操作されると、ＰＩＴＣＨ−ＶＲとして０．５が、ＦＯＲＭＡＮＴ−ＶＲとして０．７が、レジスタ群１２６のＣＨ−ＳＥＬＥＣＴスイッチ１００によって指定されたチャンネルのＰ、Ｆ領域にそれぞれ記憶される。同様に、ＮＯＲＭＡＬスイッチ１２４ｂが操作された場合には、ＰＩＴＣＨ−ＶＲとして１が、ＦＯＲＭＡＮＴ−ＶＲとして１が、レジスタ群１２６のＣＨ−ＳＥＬＥＣＴスイッチ１００によって指定されたチャンネルのＰ、Ｆ領域にそれぞれ記憶される。ＰＲＥＴＴＹＧＩＲＬスイッチ１２４ｃが操作された場合には、ＰＩＴＣＨ−ＶＲとして２．０が、ＦＯＲＭＡＮＴ−ＶＲとして１．５が、レジスタ群１２６のＣＨ−ＳＥＬＥＣＴスイッチ１００によって指定されたチャンネルのＰ、Ｆ領域にそれぞれ記憶される。
【０１４９】
これらスイッチ１２４ａ乃至１２４ｃにもＬＥＤ１２６ａ乃至１２６ｃがそれぞれ設けられており、操作されたスイッチに対応するものが点灯する。また、これらスイッチ１２４ａ乃至１２４ｃも後操作優先に構成されている。
【０１５０】
第２の実施形態では、ＰＩＴＣＨ−ＶＲやＦＯＲＭＡＮＴ−ＶＲは、スイッチ８４、８８の操作によって予め定めた値の中から選択したもの設定したが、これらスイッチに代えて、ポテンショメータを設け、これらポテンショメータの操作によって任意の値を設定するようにしてもよい。また、各遅延手段６８Ｃ１乃至６８Ｃ４に設定する遅延時間を定めるための遅延情報は、ＥＦＦＥＣＴスイッチ９２の設定によって定めたが、例えばカラオケ演奏部４０または外部機器からのＭＩＤＩ信号によって設定するようにしてもよく、この場合には時間の経過と共に遅延情報を変化させることができるので、遅延時間も時間と共に変化させることができ、効果的な演奏が行える。同様に、ピッチ変換手段６６Ｃ１乃至６６Ｃ４に含まれる効果付加手段や、効果付加手段６４Ｍ、６４Ｃにそれぞれ設定する効果パラメータも、ＭＩＤＩ信号によって設定するようにしてもよい。この場合にも時間の経過と共に、これら効果付加手段によって付加される効果が時間の経過と共に変化する。
【０１５１】
【発明の効果】
以上のように本発明によれば、オーディオ信号から複数周期の音素片を切り出し、所定のエンベロープを付与した後、再生ピッチに対応した周期で合成するため、不要な高調波の発生が少なく、元のオーディオ信号のフォルマントが維持されたまま、ピッチ変換が行われる。
【図面の簡単な説明】
【図１】（ａ）は本発明による効果付加装置の第１の実施形態を示すブロック図、（ｂ）は同ブロック図におけるＤＳＰの実施形態を示すブロック図、（ｃ）はＤＳＰのその他の実施形態を示すブロック図である。
【図２】同実施形態においてＤＳＰが実行する機能の一部を示すフローチャートである。
【図３】図２のフローチャートにおける波形読み出し処理の詳細な内容を示すフローチャートである。
【図４】同実施形態においてピッチ変更係数及びフォルマント変更係数を共に１とした場合の動作説明図である。
【図５】同実施形態においてピッチ変更係数を１より大きくし、フォルマント変更係数を１とした場合の動作説明図である。
【図６】同実施形態においてピッチ変更係数を１とし、フォルマント変更係数を１より大きくした場合の動作説明図である。
【図７】同実施形態の変形例において使用する変調波形メモリに記憶させる変調波形を示す図である。
【図８】同実施形態の変形例における波形読み出し処理の一部の詳細な内容を示すフローチャートである。
【図９】同実施形態の変形例における波形読み出し処理の残り部分の詳細な内容を示すフローチャートである。
【図１０】本発明の第２の実施形態のブロック図である。
【図１１】同第２の実施形態のコーラス効果付加手段のブロック図である。
【図１２】図１１の効果付加手段内で使用する擬似コーラス付加装置のブロック図である。
【図１３】同第２の実施形態における波形の切り出しの説明図である。
【図１４】図１１のコーラス効果付加手段の動作の一部を説明するフローチャートである。
【図１５】図１１のコーラス効果付加手段の動作の他の部分を説明するフローチャートである。
【図１６】図１１のコーラス効果付加手段における波形の切り出しに関連する動作を説明するフローチャートである。
【図１７】図１１のコーラス効果付加手段における波形の切り出しに使用するリングメモリのアドレスの変化状態を示す図である。
【図１８】第２の実施形態において使用する操作子を示す図である。
【図１９】図１０に示すコーラス制御手段の動作を説明するフローチャートである。
【図２０】図１０に示すコーラス制御手段が操作子の操作状態に応じて行う動作を説明するフローチャートである。
【図２１】コーラス制御手段が備えるレジスタ及びチャンネルメモリを示す図である。
【図２２】コーラス制御手段がＭＩＤＩ信号の入力に応じて行う処理を説明するフローチャートである。
【図２３】コーラス制御手段が備えるＭＩＤＩレジスタを示す図である。
【図２４】図１９に示すカラオケモードパラメータ供給処理を説明するフローチャートである。
【図２５】第２の実施形態におけるコーラス効果が付加される状態を説明する図である。
【図２６】第２の実施形態で使用する遅延手段の他の例を示す図である。
【図２７】第２の実施形態で使用する操作子の他の例を示す図である。
【符号の説明】
８  ＤＳＰ
１２  ＲＡＭ
２０  ４６  操作子
２２  ＣＰＵ
２６  ７４  ピッチ検出手段
６６Ｃ１乃至６６Ｃ４  ピッチ変換手段
【図１】
0003693981.tif 000002
【図２】
0003693981.tif 000003
【図３】
0003693981.tif 000004
【図４】
0003693981.tif 000005
【図５】
0003693981.tif 000006
【図６】
0003693981.tif 000007
【図７】
0003693981.tif 000008
【図８】
0003693981.tif 000009
【図９】
0003693981.tif 000010
【図１０】
0003693981.tif 000011
【図１１】
0003693981.tif 000012
【図１２】
0003693981.tif 000013
【図１３】
0003693981.tif 000014
【図１４】
0003693981.tif 000015
【図１５】
0003693981.tif 000016
【図１６】
0003693981.tif 000017
【図１７】
0003693981.tif 000018
【図１８】
0003693981.tif 000019
【図１９】
0003693981.tif 000020
【図２０】
0003693981.tif 000021
【図２１】
0003693981.tif 000022
【図２２】
0003693981.tif 000023
【図２３】
0003693981.tif 000024
【図２４】
0003693981.tif 000025
【図２５】
0003693981.tif 000026
【図２６】
0003693981.tif 000027
【図２７】
0003693981.tif 000028