(57)【要約】【課題】少ないメモリ容量で、バリエーションに富んだコーラス効果を付加できる音響効果装置を提供する。【解決手段】音響波形が示された入力データを記憶する入力バッファ（１１）と、入力バッファ１１に記憶された音響波形データを変調アドレスを用いて読み出して変調波形データを生成する変調手段（１２，１３）と、変調波形データを記憶する出力バッファ（１４）と、入力データと前記出力バッファ（１４）から逐次出力される変調波形データとを合成する合成手段（１５）とを備え、変調アドレスを複数パターンに切り換えることでコーラス効果の種類を切り換えるように構成する。【選択図】図１
2009175337.tif 000002
【特許請求の範囲】
【請求項１】
音響波形が示された入力データを記憶する入力バッファと、
入力バッファに記憶された音響波形データを変調されたアドレス値を用いて読み出して変調波形データを生成する変調手段と、
前記変調波形データを記憶する出力バッファと、
前記入力データと前記出力バッファから逐次出力される変調波形データとを合成する合成手段と、
を備えていることを特徴とする音響効果装置。
【請求項２】
前記入力バッファには所定のアドレス順で前記入力データが記憶され、
前記変調手段は、
前記所定のアドレス順から各アドレス値を変調させた変調アドレスを逐次生成するアドレス生成手段と、
前記アドレス生成手段により生成された変調アドレスで前記入力バッファからデータを読み出し、このデータに基づき変調波形データを生成して前記出力バッファに所定のアドレス順で書き込む変調波形生成手段と、
を備えていることを特徴とする請求項１記載の音響効果装置。
【請求項３】
前記変調波形生成手段は、
前記変調アドレスが半端な値である場合に、該変調アドレスの前後のアドレスを用いて前記入力バッファからデータをそれぞれ読み出し、当該データを補間して前記変調波形データを生成することを特徴とする請求項２記載の音響効果装置。
【請求項４】
前記アドレス生成手段は、
前記入力バッファの始端アドレスから終端アドレスにかけて連続的に変化する変調量を各アドレス値に加算して前記変調アドレスとすることを特徴とする請求項２記載の音響効果装置。
【請求項５】
前記アドレス生成手段は、
前記入力バッファの始端アドレスから終端アドレスにかけて波状に変化する変調量を各アドレス値に加算して前記変調アドレスとするとともに、
前記波状に変化する変調量の波数を切り換え可能にされていることを特徴とする請求項４記載の音響効果装置。
【請求項６】
前記アドレス生成手段は、
前記始端アドレスと前記終端アドレスとを固定とし、中間の各アドレス値に前記変調量を加算して前記変調アドレスとすることを特徴とする請求項４記載の音響効果装置。
【請求項７】
前記アドレス生成手段は、
前記入力バッファへ前記入力データが一通り書き込まれて前記変調波形生成手段により一通り読み出されるフレーム周期ごとに、各アドレス値に加算される前記変調量の符号を切り換え可能に構成されていることを特徴とする請求項４記載の音響効果装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力された音響波形データに音響効果を付加して出力する音響効果装置に関する。
【背景技術】
【０００２】
以前より、音響信号に対して周波数変調をかけるとともに、変調後の信号と元の信号とをたし合わせることでコーラス効果を発生させる音響効果装置がある。周波数変調は、通常、信号に遅延を与える可変遅延手段と、遅延量を制御する遅延制御手段とから構成され、例えば、可変遅延手段の遅延量を１Ｈｚ〜５Ｈｚ程度の周期で変化させて周波数変調を実現する（例えば特許文献１）。
【０００３】
また、原音信号を所定の周波数で変調させる変調回路と、変調された原音信号を異なる遅延量で遅延させる複数の遅延回路とを設け、これら複数の遅延回路の出力をそれぞれ原音信号に加算して深いコーラス効果を発生させる音響効果装置も提案されている（例えば特許文献２）。
【特許文献１】特開平６−３０１３７９号公報
【特許文献２】特開平６−１２０６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の音響効果装置は、可変遅延手段や遅延手段の作用や組み合わせを切り換えることによって音響効果のバリエーションを増やすように構成されている。音響信号をデジタルデータとして扱う場合、遅延を及ぼす構成として遅延量に応じた容量のメモリが必要となるため、遅延手段の作用によって音響効果の作用を切り換える構成とした場合、その分、容量の大きなメモリが必要となる。
【０００５】
近年、例えば電子辞書などの音声出力機能を有する小型の電子機器において、ユーザの好みに応じて出力音声に様々な厚みを持たせて出力させたいという要求がある。しかしながら、このような小型の電子機器において音響効果のためにメモリの容量を大きくしたのではコストの増大につながるし、音響効果のためにメモリの使用容量の割合を増やしたのでは、他の機能の阻害につながるという課題があった。
【０００６】
この発明の目的は、少ないメモリ容量で、バリエーションに富んだコーラス効果を付加できる音響効果装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１記載の発明は、
音響波形が示された入力データを記憶する入力バッファと、
入力バッファに記憶された音響波形データを変調されたアドレス値を用いて読み出して変調波形データを生成する変調手段と、
前記変調波形データを記憶する出力バッファと、
前記入力データと前記出力バッファから逐次出力される変調波形データとを合成する合成手段と、
を備えていることを特徴としている。
【０００８】
請求項２記載の発明は、請求項１記載の音響効果装置において、
前記入力バッファには所定のアドレス順で前記入力データが記憶され、
前記変調手段は、
前記所定のアドレス順から各アドレス値を変調させた変調アドレスを逐次生成するアドレス生成手段と、
前記アドレス生成手段により生成された変調アドレスで前記入力バッファからデータを読み出し、このデータに基づき変調波形データを生成して前記出力バッファに所定のアドレス順で書き込む変調波形生成手段と、
を備えていることを特徴としている。
【０００９】
請求項３記載の発明は、請求項２記載の音響効果装置において、
前記変調波形生成手段は、
前記変調アドレスが半端な値である場合に、該変調アドレスの前後のアドレスを用いて前記入力バッファからデータをそれぞれ読み出し、当該データを補間して前記変調波形データを生成することを特徴としている。
【００１０】
請求項４記載の発明は、請求項２記載の音響効果装置において、
前記アドレス生成手段は、
前記入力バッファの始端アドレスから終端アドレスにかけて連続的に変化する変調量を各アドレス値に加算して前記変調アドレスとすることを特徴としている。
【００１１】
請求項５記載の発明は、請求項４記載の音響効果装置において、
前記アドレス生成手段は、
前記入力バッファの始端アドレスから終端アドレスにかけて波状に変化する変調量を各アドレス値に加算して前記変調アドレスとするとともに、
前記波状に変化する変調量の波数を切り換え可能にされていることを特徴としている。
【００１２】
請求項６記載の発明は、請求項４記載の音響効果装置において、
前記アドレス生成手段は、
前記始端アドレスと前記終端アドレスとを固定とし、中間の各アドレス値に前記変調量を加算して前記変調アドレスとすることを特徴としている。
【００１３】
請求項７記載の発明は、請求項４記載の音響効果装置において、
前記アドレス生成手段は、
前記入力バッファへ前記入力データが一通り書き込まれて前記変調波形生成手段により一通り読み出されるフレーム周期ごとに、各アドレス値に加算される前記変調量の符号を切り換え可能に構成されていることを特徴としている。
【発明の効果】
【００１４】
本発明に従うと、入力バッファから変調アドレスを用いて音響波形データを読み出し、それを出力バッファに書き込むことで変調波形データを生成する構成なので、変調アドレスを多数パターン用意しておくことで、メモリ容量によらずにバリエーションに富んだコーラス効果を発生させることができる。また、遅延手段の作用によって音響効果の種類を切り換える構成と比較して、使用するメモリ容量を顕著に少なくできるという効果がある。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１６】
図１は、本発明の実施の形態のコーラス効果付加装置１の機能構成を示すブロック図、図２は、このコーラス効果付加装置１を実現するハードウェア構成の一例を示すブロック図である。
【００１７】
この実施形態のコーラス効果付加装置１は、例えば、電子辞書などの音声出力機能付きの小型電子機器に搭載され、原音音声に複数種類のコーラス効果を選択的に切り換えて付加することのできる機能モジュールである。
【００１８】
このコーラス効果付加装置１は、図１に示すように、音声波形が示される入力データを一時的に記憶する入力波形データバッファ１１と、変調アドレスを生成するアドレス情報生成部１２と、入力波形データバッファ１１から変調アドレスを用いてデータを読み出すことで変調波形データを生成する出力波形生成部１３と、変調波形データを出力用に一時的に記憶する出力波形データバッファ１４と、入力データと変調波形データとを波形の振幅を加算するように合成する合成部１５等を備えている。
【００１９】
また、このコーラス効果付加装置１を実現するハードウェア構成は、図２に示すように、データの読み書きや各種演算処理を行うＣＰＵ（中央演算処理装置）２０と、コーラス効果を付加する前の原音データとなる音声データ２１ａおよび制御プログラム等を格納したＲＯＭ（Read Only Memory）２１と、ＣＰＵ２０に作業用のメモリ領域を提供するＲＡＭ２２と、音声出力するためのＤＡコンバータ２３、アンプ２４およびスピーカ２５と、ユーザ操作等により操作信号を入力する操作部２７と、各部の間でデータを伝送するバス２９等を備えている。
【００２０】
ＲＯＭ２１に格納された音声データ２１ａは、例えば、ＰＣＭ（Pulse Code Modulation）形式やＡＤＰＣＭ（Adaptive Differential ＰＣＭ）形式など、音声波形を所定周波数でサンプリングしてなるデータ形式のほか、各種の圧縮データなどを適用しても良い。ただし、ＣＰＵ２０が、音声データ２１ａを読み出して入力波形データバッファ１１へ書き出す際には、音声波形を示すデータのみが一定のデータレートで時系列に並んだデータ形式にして処理する。
【００２１】
入力波形データバッファ１１と出力波形データバッファ１４は、例えば、ＲＡＭ２２の所定領域に構成されるものである。この実施形態では、例えば、入力波形データバッファ１１は、偶数フレームの音声データが書き込まれる第１入力バッファ１１ａと、奇数フレームの音声データが書き込まれる第２入力バッファ１１ｂと、からなるダブルバッファ構成を採用している。また、出力波形データバッファ１４も、同様に、偶数フレームの変調波形データが書き込まれる第１出力バッファ１４ａと、奇数フレームの変調波形データが書き込まれる第２出力バッファ１４ｂと、からなるダブルバッファ構成を採用している。これらの第１および第２入力バッファ１１ａ，１１ｂと第１および第２出力バッファ１４ａ，１４ｂの４個のバッファは、それぞれ同容量に設定される。
【００２２】
ここで、上記フレームとは、第１入力バッファ１１ａ或いは第２入力バッファ１１ｂに、その先頭アドレスから終了アドレスにかけて一通り格納される音声波形データの１区間を示したものである。つまり、音声波形データをこの１区間ごとに区切ったものを１フレームと称している。
【００２３】
アドレス情報生成部１２は、ＣＰＵ２０のソフトウェア処理により実現されるもので、入力波形データバッファ１１の先頭アドレスから終了アドレスにかけて連続的に変化するオフセット値を各アドレス値に加算することで、変調アドレスを生成するものである。アドレス情報生成部１２は、複数種類の変換関数に従って複数種類の変調アドレスを選択的に生成することが可能にされている。また、このような変調アドレスのデータ列をデータテーブルにして蓄積しておき、それを読み出して変調アドレスを生成するような構成としても良い。なお、ここで扱われるアドレスは、データバッファ１１，１４のアドレスを仮想的に表わした仮想アドレスであり、これが実アドレスに変換されてＣＰＵ２０からＲＡＭ２２にアクセスが行われるように構成される。
【００２４】
出力波形生成部１３は、ＣＰＵ２０のソフトウェア処理により実現されるもので、上記のアドレス情報生成部１２により生成された変調アドレスで入力波形データバッファ１１から音声波形データを読み出し、これを出力波形データバッファ１４へ通常のアドレス順に書き込んでいくものである。読み出す音声波形データは、例えば１サンプリング期間の音声波形の振幅値を表わす１ブロックのデータである。変調アドレスが半端なアドレス値である場合には、このアドレス値の前後のアドレスに格納された２ブロックの音声波形データをそれぞれ読み出し、例えば、線形一次補間などの処理を行って、半端なアドレス値に対応した１ブロックの波形データを生成して、これを出力波形データバッファ１４へ書き込むように構成される。
【００２５】
合成部１５は、ＣＰＵ２０のソフトウェア処理により実現されるもので、例えば、入力データの１サンプリング期間の波形データと、出力波形データバッファ１４から読み出された１サンプリング期間の波形データとを、波形の振幅値が加算される形式で合成し、所定の出力周波数でＤＡコンバータ２３に出力していくように構成される。なお、ＤＡコンバータ２３の前段にＦＩＦＯ（First In First Out）メモリを設け、ＤＡコンバータ２３への出力タイミングの同期処理はＦＩＦＯメモリに行わせるように構成しても良い。
【００２６】
次に、上記構成のコーラス効果付加装置１の動作について説明する。
【００２７】
図３は、ＣＰＵ２０により実行される設定処理の内容を示すフローチャートである。
【００２８】
この実施形態のコーラス効果付加装置１は、例えばユーザが操作部２７を操作することで原音に付加するコーラス効果の種類を設定変更できるようになっている。例えば、設定モードに移行する操作が行われることで、ＣＰＵ２０により図３の設定処理が開始され、ここでコーラス効果を変更する操作入力がなされると（ステップＳ１）、コーラス効果の種別を示すフラグ値が「２」にセットされ（ステップＳ３）、そうでなければこのフラグ値が「１」にセットされる（ステップＳ２）。そして、設定処理を終了し、装置は設定モードから通常モードへと戻る。
【００２９】
このような設定処理により、ユーザは２種類のコーラス効果を選択的に付加するように設定することができる。なお、ここではコーラス効果の選択数を２種類としているが、同様にもっと多数の選択が可能なようにしても良い。また、コーラス効果の種類の切り換えはユーザにより行われるのでなく、装置により自動的に切り換えられるように構成しても良い。
【００３０】
図４には、ＣＰＵ２０により実行される音声出力処理のフローチャートを示す。
【００３１】
音声出力処理は、例えば、装置の他の機能によって音声出力の要請がなされた場合にＣＰＵ２０により実行されるものである。音声出力処理が開始されると、先ず、ＣＰＵ２０は、音声データ２１ａの中から音声出力の対象となるデータをセットしたり、ＲＡＭ２２の記憶領域に入力波形データバッファ１１ａ，１１ｂや出力波形データバッファ１４ａ，１４ｂを確保するなどの初期化処理を行う（ステップＳ１１）。
【００３２】
続いて、ステップＳ１２〜Ｓ１８のループ処理により、音声データ２１ａ中の出力対象データに対して、そのデータの先頭から終端にかけて同様のデータ処理を繰り返し行っていく。すなわち、先ず、出力対象データのデータ終端に達したか否かを判別し（ステップＳ１２）、終端に達していればループ処理を抜けてこの音声出力処理を終了するが、終端に達してなければ次に進む。
【００３３】
次に進んだら、ＲＯＭ２１の音声データ２１ａの中から出力対象のデータを先頭から終端にかけて順に読み出し、さらにこのデータを入力波形データバッファ１１にアドレス順に書き込んでいく（ステップＳ１３）。続いて、ＣＰＵ２０は合成部１５として動作し、出力波形データバッファ１４に書き込まれている変調波形データを先頭から順に読み出すとともに、前ステップでＲＯＭ２１から読み出した音声波形データと加算してＤＡコンバータ２３に出力する（ステップＳ１４）。なお、ループ処理を開始したばかりで、出力波形データバッファ１４にまだ波形データが書き込まれていないときには、データの加算処理は省略される。
【００３４】
ＤＡコンバータ２３へのデータ出力処理がなされたら、次いで、変調波形データを生成するための書込みタイミングか否かを判別し（ステップＳ１５）、書込みタイミングでなければこのままステップＳ１２に戻って、ステップＳ１２〜Ｓ１５のループ処理を実行する。
【００３５】
このステップＳ１２〜Ｓ１５のループ処理が繰り返し実行されることで、ＲＯＭ２１から出力対象の音声波形データが１ブロックずつ順次読み出され、これが入力波形データバッファ１１に書き込まれていくとともに、出力波形データバッファ１４から読み出された変調波形データと合成されて音声出力されていく。
【００３６】
一方、ステップＳ１５の判別処理で書込みタイミングであると判別された場合には、ステップＳ１６に進む。ここで、書込みタイミングとは、例えば、入力波形データバッファ１１に１フレーム分の音声波形データが蓄積されたタイミングなど、変調アドレスを用いて変調波形データの生成が可能になったタイミングのことである。
【００３７】
書込みタイミングとなってステップＳ１６に移行したら、先ず、コーラス効果の種類を示すフラグ値を判別し（ステップＳ１６）、フラグ値が「１」であれば第１割込み処理の禁止を解除し（ステップＳ１７）、フラグ値が「２」であれば第２割込み処理の禁止を解除する（ステップＳ１８）。これらの割込み禁止の解除によって、ＣＰＵ２０の制御が第１又は第２割込み処理に移されて、変調波形データの生成処理が行われる。そして、割込み処理が終了したら、再び、音声出力処理にＣＰＵ２０の制御が戻されて、ループ処理の最初のステップＳ１２に戻る。または、割込み禁止の解除によって、割込み処理と音声出力処理とが並列的に実行されるようにしても良い。
【００３８】
第１割込み処理と第２割込み処理は、詳細は後述するが、互いに異なる変調アドレスを用いて入力波形データバッファ１１から音声波形データを読み出し、これを出力波形データバッファ１４へアドレス順に書き込んでいく処理である。第１割込み処理と第２割込み処理とで互いに異なる変調アドレスが用いられることで、出力波形データバッファ１４に生成される変調波形データの変調パターンが異なることとなる。そして、これにより出力音声に付加されるコーラス効果の種類が切り換わるようになっている。
【００３９】
図５には、この音声出力処理中に実行される第１割込み処理のフローチャートを示す。
【００４０】
割り込み禁止の解除となって第１割込み処理が開始されると、先ず、入力波形データバッファ１１や出力波形データバッファ１４のアドレス値を先頭から終端までカウントするための変数ｎの値をゼロに初期化する（ステップＳ２１）。
【００４１】
初期化が済んだら、次のステップＳ２２〜Ｓ２６のループ処理に移行する。ループ処理では、先ず、アドレス値をカウントするｎ値が、データバッファ１１，１４のフレーム値（＝Ｆｒａｍｅ）以上になったか否か判別し（ステップＳ２２）、フレーム値以上になっていればループ処理を抜けて第１割込み処理を終了し、ＣＰＵ２０の制御を元に戻すが、フレーム値に達していなければループ処理内の次に進む。
【００４２】
ループ処理内で次に進んだら、アドレス値をカウントする変数「ｎ」の値に連続的な変調量を加算して変調アドレス「ａｄｒ」を生成する（ステップＳ２３）。変調量は、例えば次式のようにｎ値を変数とした正弦関数を採用することができる。
変調量：ｌｅｖｅｌ×ｓｉｎ［２π×ｎ／Ｆｒａｍｅ］
ここで、ｌｅｖｅｌは、変調の程度を決める係数であり適宜な固定値に設定される。
Ｆｒａｍｅは、入力波形データバッファ１１（第１や第２入力バッファ１１ａ，１１ｂの各々）に音声波形データが格納される先頭アドレスから終了アドレスまでのアドレス幅を示す固定値である。
【００４３】
図７には、第１割込み処理で生成される変調アドレスを説明するグラフを示す。同図（ａ）は変調量が付加されない場合の元のアドレス値「ｎ」と変換後のアドレス値「ａｄｒ」との関係を示す関数グラフ、（ｂ）は上記ステップＳ２３の変調量が付加される場合の元のアドレス値「ｎ」と変換後の変調アドレス値「ａｄｒ」との関係を示す関数グラフである。なお、図７においては、入力波形データバッファの先頭アドレスを「０」、終了アドレスを「１００」として表わしている。この場合、フレーム値「Ｆｒａｍｅ」は「１００」となる。
【００４４】
図７（ａ）に示すように、変調量の加算がなければ変換後のアドレス値「ａｄｒ」は元のアドレス値「ｎ」と同値となって、両者は直線状の関数関係とされるが、上記のように正弦波の変調量が加算されることで、図７（ｂ）に実線で示すように、変換後のアドレス値「ａｄｒ」と元のアドレス値「ｎ」とは、上記の直線状の関数関係に対して先端と終端を固定してその中間が波状に変化した関数関係となる。
【００４５】
また、ステップＳ２３の変換式では、変数「ｎ」をフレーム値「Ｆｒａｍｅ」で除算していることから、１フレームで１周期となる正弦波を付加した関数関係となっている。
【００４６】
図５のステップＳ２３において、変調アドレス「ａｄｒ」が生成されたら、続いて、この変調アドレスを用いて入力波形データバッファ１１から音声波形データの読み出しを行う（ステップＳ２４）。ここで読み出す音声波形データは、音声波形の１サンプリング期間の振幅値を表わす１ブロックのデータである。変調アドレス「ａｄｒ」が、この１ブロックのデータを指し示すアドレス値からずれて半端な値となっている場合には、その前後のサンプリングデータを読み出して、それらの値から例えば一次線形補間処理を行って、半端な値の変調アドレス「ａｄｒ」に対応した音声波形の１ブロック分のデータを生成する。
【００４７】
次いで、ステップＳ２４で読み出した音声波形データを、出力波形データバッファ１４のアドレス値「ｎ」の示す領域へ書き込み（ステップＳ２５）、アドレス値「ｎ」を１ブロック分インクリメントして（ステップＳ２６）、ステップＳ２２に戻る。
【００４８】
そして、このようなステップＳ２２〜Ｓ２６のループ処理を繰り返し行うことで、入力波形データバッファ１１に書き込まれている１フレーム分の音声波形データが、波形の変調された変調波形データに変換されて出力波形データバッファ１４に書き込まれた状態となる。この第１割込み処理で生成される変調波形データは、１フレームの先端と終端が固定され、その中間の波形が時間軸方向に正弦波状に歪められた音声波形データとなる。また、その正弦波は１周期が１フレームの期間と同値のものである。
【００４９】
そして、このような変調波形データが１フレーム分生成されたら、ステップＳ２２の判別処理でループ処理を抜けて、割り込みが禁止されることで、この第１割込み処理が再び停止される。そして、ＣＰＵ２０の制御が音声出力処理に戻される。そして、前述したように、音声出力処理において、上記の変調波形データが入力データと合成出力されて、コーラス効果の付加が実現される。
【００５０】
図６には、音声出力処理中に実行される第２割込み処理のフローチャートを示す。
【００５１】
設定処理でフラグ値が「２」に設定されている場合、図４の音声出力処理で禁止が解除される割込み処理は、図６の第２割込み処理となる。第２割込み処理は、図５の第１割込み処理とほぼ同様のもので、変調アドレス「ａｄｒ」の変換式を異ならせたのと、変調量の符号をフレーム毎に切り換える処理（ステップＳ３２）を追加したのみである。同一の処理ステップには同一記号を付して説明は省略する。
【００５２】
第２割込み処理では、そのステップＳ３３に示すように、変調アドレス「ａｄｒ」を生成するのに、次式のような変調量が元のアドレス値「ｎ」に加算されるようになっている。
変調量：ｓｉｇｎ×ｌｅｖｅｌ×ｓｉｎ［２π×ｎ／（２×Ｆｒａｍｅ）］
ここで、ｓｉｇｎは、正負の符号を示すもので、「＋１」又は「−１」の値をとる。
ｌｅｖｅｌは、変調の程度を決める係数であり適宜な固定値に設定される。
Ｆｒａｍｅは、入力波形データバッファ１１の音声波形データが格納される先頭アドレスから終了アドレスまでのアドレス幅を示す固定値である。
【００５３】
また、第２割込み処理では、１フレーム分の音声波形データの処理を行うループ処理（ステップＳ２２〜Ｓ２６）の前段において、ｓｉｇｎの符号を正負逆にする演算処理を行っている（ステップＳ３２）。
【００５４】
図８には、第２割込み処理で生成される変調アドレスを説明するグラフを示す。同図（ａ）は偶数フレームのデータ処理時における元のアドレス値「ｎ」と変調アドレス値「ａｄｒ」との関係を示す関数グラフ、（ｂ）は奇数フレームのデータ処理時における元のアドレス値「ｎ」と変調アドレス値「ａｄｒ」との関係を示す関数グラフである。図８中、入力波形データバッファ１１の先頭アドレスを「０」、終了アドレスを「１００」、Ｆｒａｍｅ値「１００」として表わしている。
【００５５】
第２割込み処理では、上記のような符号値「ｓｉｇｎ」の切り換えと、上記の変調量の加算とによって、偶数フレームの処理時には、図８（ａ）に示すように、元のアドレス値「ｎ」に対して先頭アドレスと終了アドレスとを固定とし、その中間のアドレスを正弦波の半周期分で正方向にずらしたような変調アドレス「ａｄｒ」が生成される。また、奇数フレームの処理時には、図８（ｂ）に示すように、元のアドレス値「ｎ」に対して先頭アドレスと終了アドレスとを固定とし、その中間のアドレスを正弦波の半周期分で負の方向にずらしたような変調アドレス「ａｄｒ」が生成されるようになっている。
【００５６】
つまり、この第２割込み処理においては、アドレスの変換式としてサイン関数の引数で変数「ｎ」が２倍のフレーム値「２×Ｆｒａｍｅ」で除算されたものを採用し、さらに、１フレームごとに符号値「ｓｉｇｎ」の正負を切り換えていることで、２フレームで１周期となる正弦波を元のアドレス値「ｎ」に付加して変調アドレス値「ａｄｒ」とした関数関係となっている。
【００５７】
そして、このような第２割込み処理によって、時間軸方向に２フレーム期間が１周期となる正弦波状に歪められた変調波形データが生成され、これが前述の音声出力処理において入力データと合成されて出力されることで、２倍の変調周期を有する変調波形と合成したコーラス効果が発生されることとなる。
【００５８】
なお、図４〜図６のフローチャートでは説明を省略したが、この実施形態のコーラス効果付加装置１では、ダブルバッファ構成を適用することで、ＲＯＭ２１から読み出した音声波形データを入力波形データバッファ１１へ書き込む処理および出力波形データバッファ１４に生成されている変調波形データを読み出す処理と、入力波形データバッファ１１から音声波形データを読み出して出力波形データバッファ１４へ書き込む処理とを、複雑な同期処理を必要とせずに単純な制御処理で連続的に実行することが可能になっている。
【００５９】
図９には、ダブルバッファ構成を利用した音声出力処理の動作内容を説明する図を示す。同図（ａ）は偶数フレームの音声波形データを処理するときのもの、（ｂ）は奇数フレームの音声波形データを処理するときのものである。
【００６０】
すなわち、この実施形態では、ＲＯＭ２１から１フレーム分の音声波形データを読み出すごとに、図９（ａ）に示す偶数フレームの動作形式と、図９（ｂ）に示す奇数フレームの動作形式とを切り換えて実行するようになっている。
【００６１】
具体的には、偶数フレームの音声波形データを読み出す期間では、図９（ａ）に示すように、ＲＯＭ２１から読み出した音声波形データを第１入力バッファ１１ａに書込み、また、合成する変調波形データを第１出力バッファ１４ａから読み出す。また、この期間においては、先のフレーム期間で第２入力バッファ１１ｂに書き込まれている１フレーム分の音声波形データを変調アドレスを用いて第２出力バッファ１４ｂに読み出すことで１フレーム分の変調波形データを生成する。
【００６２】
逆に奇数フレームの音声波形データを読み出す期間では、図９（ｂ）に示すように、ＲＯＭ２１から読み出した音声波形データを第２入力バッファ１１ｂに書込み、また、合成する変調波形データを第２出力バッファ１４ｂから読み出す。また、この期間においては、先のフレーム期間で第１入力バッファ１１ａに書き込まれた１フレーム分の音声波形データを変調アドレスを用いて第１出力バッファ１４ａに読み出すことで１フレーム分の変調波形データを生成する。
【００６３】
このような構成により、図１に示すような機能動作を、複雑な同期処理を必要とせずにＣＰＵ２０の制御処理によって簡単に実現することが可能になっている。なお、図１に示す機能動作を実現するのに必ずしもダブルバッファ構成を要することはなく、例えば、入力波形データバッファ１１へ入力データを順次書き込んでいく処理や、出力波形データバッファ１４から変調波形データを読み出して合成部１５に出力する処理と同期させて、出力波形生成部１３が入力波形データバッファ１１から変調アドレスを用いて音声波形データを順次読み出し、且つ、出力波形生成部１３に書き込んで変調波形データを生成していくように構成することで、ダブルバッファ構成を用いずに図１の機能動作を実現することができる。
【００６４】
また、このようにデータ入力やデータ出力と同期させて、連続的に変調波形データを生成していく構成であれば、入力波形データバッファ１１から変調アドレスを用いて音声波形データを読み出す際に、その先頭アドレスと終了アドレスを固定とさせる必要もなくなる。そのため、変調波形データの変調量の周期を、例えば、フレーム期間の２倍より大きな値にすることも可能となる。
【００６５】
以上のように、この実施形態のコーラス効果付加装置１によれば、変調アドレスの生成パターンを切り換えることで、複数種類のコーラス効果を発生させる構成なので、遅延手段の作用を切り換えることで複数種類のコーラス効果を発生させる構成と比較して、少ないメモリ量でバリエーションに富んだコーラス効果を得ることができる。
【００６６】
また、入力波形データバッファ１１に原音の音声波形データを書き込み、これを変調アドレスを用いて読み出して、出力波形データバッファ１４に順に書き込んでいくことで、変調波形データを生成する構成なので、負荷の少ないデータ処理で変調波形データの生成が可能である。
【００６７】
また、変調アドレスが半端な値である場合に補間処理を行って変調波形データを生成するので、変調波形データとして自然な波形を得ることができ、自然な音感のコーラス効果を付加することが出来る。
【００６８】
また、変調アドレスを連続的に変化するものや波状に変化するものとすることで、同様に自然な音感のコーラス効果を付加することが出来るし、変調アドレスを先頭アドレスと終了アドレスとを固定として生成することで、入力波形データバッファ１１や出力波形データバッファ１４へのバッファリング処理や変調波形生成処理とを複雑な同期処理を図ることなく容易に行うことが可能となる。
【００６９】
また、第２割込み処理において、アドレスに加算する変調量の符号を１フレームごとに切り換える処理によって、変調波形データの変調周期を長くするような効果を得ることもできる。
【００７０】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。例えば、上記実施形態では、アドレス情報生成部１２、出力波形生成部１３、合成部１５を、ＣＰＵ２０のソフトウェア処理により実現した例を示したが、ＤＳＰ（Digital Signal Processor）など、ハードウェア構成を用いて同様のデータ処理を行うように構成することも出来る。また、入力波形データバッファ１１と出力波形データバッファ１４とを、データバスに接続されたＲＡＭ２２内に設けた例を示したが、入力バッファと出力バッファとを独立した構成として設けても良い。
【００７１】
また、上記実施の形態では、変調アドレスの生成パターンを２種類のみ示したが、例えば、上記変換式のｌｅｖｅｌ値を可変にして変調の深さをコントロールするようにしたり、サイン関数の引数において「ｎ／Ｆｒａｍｅ」というのを、「ｎ／（Ｆｒａｍｅ／ｓ）」（ｓは２以上の整数）とすることで、変調周波数を高く設定するようにすることもできる。また、上述したように、ダブルバッファ構成を採用しない場合には、変調の周期をフレーム期間の４倍や８倍など長くすることも可能である。
【００７２】
さらに、上記実施の形態では、変調アドレスを生成するのにサイン関数を用いて正弦波状にアドレス値が変化するような構成としたが、例えば、のこぎり波状に変化させたり、三角波状に変化させるなど、様々なパターンに変更可能である。
【００７３】
また、上記実施の形態では、変調周期を２倍にするために、１フレームごとにアドレス値に加算する変調量の符号「ｓｉｇｎ」を切り換える例を示したが、複数フレームごとに符号を切り換えたり、ランダムに符号を切り換えることで、コーラス効果のバリエーションを増やすようにすることも出来る。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施の形態のコーラス効果付加装置の機能構成を示すブロック図である。
【図２】図１のコーラス効果付加装置を実現するハードウェア構成の一例を示すブロック図である。
【図３】ＣＰＵにより実行される設定処理の内容を示すフローチャートである。
【図４】ＣＰＵにより実行される音声出力処理のメイン制御処理の手順を示すフローチャートである。
【図５】音声出力処理中にインターラプトして実行される第１割込み処理の処理手順を示すフローチャートである。
【図６】音声出力処理中にインターラプトして実行される第２割込み処理の処理手順を示すフローチャートである。
【図７】第１割込み処理で生成される変調アドレスを説明するもので、（ａ）は変調なしの場合のアドレス変換関係を示すグラフ、（ｂ）は変調ありの場合のアドレス変換関係を示すグラフである。
【図８】第２割込み処理で生成される変調アドレスを説明するもので、（ａ）は偶数フレームに対するアドレス変換関係を示すグラフ、（ｂ）は奇数フレームに対するアドレス変換関係を示すグラフである。
【図９】音声出力処理中のデータの流れを示す説明図で、（ａ）は偶数フレームのデータ読出し時のもの、（ｂ）は奇数フレームのデータ読出し時のものである。
【符号の説明】
【００７５】
１    コーラス効果付加装置（音響効果装置）
１１  入力波形データバッファ（入力バッファ）
１２  アドレス情報生成部（アドレス生成手段）
１３  出力波形生成部（変調波形生成手段）
１４  出力波形データバッファ（出力バッファ）
１５  合成部
２０  ＣＰＵ
２１  ＲＯＭ
２１ａ  音声データ
２２  ＲＡＭ
２３  ＤＡコンバータ
２４  アンプ
２５  スピーカ
２７  操作部
２９  バス
【図１】
2009175337.tif 000003
【図２】
2009175337.tif 000004
【図３】
2009175337.tif 000005
【図４】
2009175337.tif 000006
【図５】
2009175337.tif 000007
【図６】
2009175337.tif 000008
【図７】
2009175337.tif 000009
【図８】
2009175337.tif 000010
【図９】
2009175337.tif 000011