(57)【要約】【課題】複数の同種の部位を有する回転装置が発するノイズを容易に生成する手段を提供する。【解決手段】周期変更部１０３は単発音を示す原波形データを回転数に応じて時間方向に伸縮した波形データを生成し、周波数特性変更部１０４は伸縮された波形データに周波数特性の変更を加え、連続波形生成部１０５は周波数特性の変更が加えられた波形データを複数連結して連続波形データを生成し、重合波形生成部１０６は連続波形データを複数重ね合わせることにより重合波形データを生成する。連続波形生成部１０５は連続波形データの生成において複数の連続波形データ間の相関、単発音間の時間揺らぎおよび振幅揺らぎを調整する。重合波形生成部１０６は重合波形データの生成において複数の連続波形間のオフセット時間を調整する。属性値特定部１０８は重合波形の生成に用いられたパラメータに基づき重合波形を発する装置の物理的属性値を特定する。【選択図】図７
2007256526.tif 000002
【特許請求の範囲】
【請求項１】
パラメータを取得するパラメータ入力手段と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、
前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段と
を備え、
前記連続波形生成手段は、前記連続波形に前記パラメータに応じた揺らぎを有する振幅方向もしくは時間方向の伸縮を付加する
ことを特徴とする波形合成装置。
【請求項２】
前記連続波形生成手段は、前記重合波形生成手段による前記重ね合わせに用いられる複数の連続波形に、異なる揺らぎを有する振幅方向もしくは時間方向の伸縮を付加する
ことを特徴とする請求項１に記載の波形合成装置。
【請求項３】
パラメータを取得するパラメータ入力手段と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、
前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段と
を備え、
前記重合波形生成手段は、前記重ね合わせに用いる複数の連続波形に、前記パラメータに応じた時間方向のオフセットを付加する
ことを特徴とする波形合成装置。
【請求項４】
前記重合波形生成手段は、前記重ね合わせに用いる複数の連続波形の少なくとも１の連続波形に、前記原波形の周期を前記重ね合わせに用いる連続波形の数で除した時間の非整数倍の時間のオフセットを付加する
ことを特徴とする請求項３に記載の波形合成装置。
【請求項５】
パラメータを取得するパラメータ入力手段と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、
前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段と
を備え、
前記連続波形生成手段は、第１の連続波形との間に前記パラメータに応じた相関を有する第２の連続波形を生成し、
前記重合波形生成手段は、前記第１の連続波形と前記第２の連続波形とを含む複数の連続波形を用いて、前記重合波形の生成を行う
ことを特徴とする波形合成装置。
【請求項６】
前記連続波形生成手段は、互いの相関係数が１未満であり、かつ同じ周波数特性を有する前記第１の連続波形と前記第２の連続波形を生成する
ことを特徴とする請求項５に記載の波形合成装置。
【請求項７】
パラメータを取得するパラメータ入力手段と、
音波形合成の元となる音波形である原波形に前記パラメータに応じた周波数特性の変更を加える周波数特性変更手段と、
前記周波数特性変更手段により周波数特性の変更が加えられた原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、
前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段と
を備えることを特徴とする波形合成装置。
【請求項８】
前記連続波形生成手段は、互いに異なる長さを有する原波形を複数連続させることにより周期が変化する連続波形を生成する
ことを特徴とする請求項１乃至７のいずれかに記載の波形合成装置。
【請求項９】
ユーザの操作に応じたパラメータを出力する操作手段と、
パラメータと物理的属性値との対応関係を示す対応関係データを記憶する記憶手段と、
前記対応関係データに基づき、前記パラメータ入力手段により取得されたパラメータに対応する物理的属性値を特定する属性値特定手段と
を備え、
前記パラメータ入力手段は、前記操作手段により出力されたパラメータを取得する
ことを特徴とする請求項１乃至８のいずれかに記載の波形合成装置。
【請求項１０】
ユーザの操作に応じた物理的属性値を出力する操作手段と、
物理的属性値とパラメータとの対応関係を示す対応関係データを記憶する記憶手段と、
前記対応関係データに基づき、前記操作手段により出力された物理的属性値に対応するパラメータを測定するパラメータ特定手段と
を備え、
前記パラメータ入力手段は、前記パラメータ特定手段により特定されたパラメータを取得する
ことを特徴とする請求項１乃至８のいずれかに記載の波形合成装置。
【請求項１１】
コンピュータに、
パラメータを取得する処理と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成するとともに当該連続波形に前記パラメータに応じた揺らぎを有する振幅方向もしくは時間方向の伸縮を付加する処理と、
生成した複数の連続波形を重ね合わせることにより重合波形を生成する処理と
を実行させるプログラム。
【請求項１２】
コンピュータに、
パラメータを取得する処理と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する処理と、
前記連続波形生成手段により生成された複数の連続波形に前記パラメータに応じた時間方向のオフセットを付加して重ね合わせることにより重合波形を生成する処理と
を実行させるプログラム。
【請求項１３】
コンピュータに、
パラメータを取得する処理と、
音波形合成の元となる音波形である原波形を複数連続させることにより、第１の連続波形と、前記第１の連続波形との間に前記パラメータに応じた相関を有する第２の連続波形とを生成する処理と、
前記第１の連続波形および前記第２の連続波形を含む複数の連続波形を重ね合わせることにより重合波形を生成する処理と
を実行させるプログラム。
【請求項１４】
コンピュータに、
パラメータを取得する処理と、
音波形合成の元となる音波形である原波形に前記パラメータに応じた周波数特性の変更を加える処理と、
前記周波数特性の変更が加えられた原波形を複数連続させることにより連続波形を生成する処理と、
生成した複数の連続波形を重ね合わせることにより重合波形を生成する処理と
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音波形、特に回転駆動部位を有する装置が発する音波形を合成する技術に関する。
【背景技術】
【０００２】
カーレーシングのシミュレーションゲーム等において再生する目的で、エンジン音を擬似的に合成する技術が提案されている。例えば、特許文献１および２には、実機のエンジン音の波形を、エンジン回転速度等の運転状態に応じて複数記憶しておき、ユーザの操作に応じて適する波形を読み出して再生する技術が開示されている。
【特許文献１】特開２０００−１０５７６号公報
【特許文献２】特開２００５−１２８２６２号公報
【０００３】
また、エンジンやファンなどの回転駆動部位を有する装置（以下、便宜的に「回転装置」と呼ぶ）が運転に伴い発するノイズは、ユーザや周囲の人々を不快にすることがある。このようなノイズは完全に除去することはできない。また、例えば自家用車のエンジン音の音量や音質は、運転の心地よさを大きく左右する。従って、これらのノイズの音量や音質を設計段階で評価して、ユーザや周囲の人々にとってより快適に感じられるノイズを発生する装置を開発することが求められている。
【０００４】
回転装置のノイズを設計段階で確認するためには、実際に試作機を製造して運転し、そのノイズを確認する、という作業を繰り返す必要があった。それには多くの時間と費用を要する。なお、特許文献１および２に開示の技術は、既存のエンジン音を擬似的に合成することを目的としているため、これらの技術を新たに開発する回転装置が発するノイズの評価に利用することはできない。
【０００５】
これに対し、回転装置の発するノイズを擬似的に合成することにより、試作機の製造を行うことなくノイズの評価を行う方法が、非特許文献１において提案されている。
【非特許文献１】前田  修、「エンジン音質のバーチャル評価技術」、日本音響学会誌、日本音響学会、平成１５年、５９巻、５号、ｐ．ｐ．２８８−２９３
【０００６】
非特許文献１においては、既存の単気筒エンジン音の波形（１サイクル分の単発音）を連続させたものを複数重ね合わせることにより、多気筒エンジンのエンジン音を擬似的に合成する技術が提案されている。この技術によれば、実在しない多気筒エンジンの音を擬似的に生成することにより、開発段階でノイズ確認ができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
非特許文献１には、単気筒エンジンの単発音波形を用いて多気筒エンジン音波形を合成するにあたり、より自然なエンジン音波形を生成するために、ランダムノイズを加えるとともに単発音の音量や波形に揺らぎを与えることが提案されている。
【０００８】
本願発明者は、単気筒エンジンの単発音波形を連続させたものを複数重ね合わせる際に、連続した単発音波形における音量もしくは波形の揺らぎや、複数の連続した単発音波形間の音量もしくは波形の不均質性の程度を調整することにより、合成音の特性を様々に変更することを着想した。また、本願発明者は、単発音波形の周波数特性を調整することにより、擬似的に生成される多気筒エンジン音波形の周波数特性を様々に変更することも着想した。なお、これらのアイデアはエンジン音の合成に限られず、例えば扇風機のように、回転駆動に伴いノイズを発する複数の同種の部位を有するあらゆる装置に適用可能である。
【０００９】
本願発明は、上記着想に基づき、複数の同種の部位を有する回転装置が様々な物理特性や運転環境の条件下において発するノイズを、多くの手間や費用を要することなく仮想的に生成する手段を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を達成するために、本発明は、パラメータを取得するパラメータ入力手段と、音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段とを備え、前記連続波形生成手段は、前記連続波形に前記パラメータに応じた揺らぎを有する振幅方向もしくは時間方向の伸縮を付加することを特徴とする波形合成装置を提供する。
【００１１】
このような波形合成装置によれば、入力されるパラメータに応じて音響特性が様々に変化する合成波形が得られる。
【００１２】
このような波形合成装置の好ましい態様において、前記連続波形生成手段は、前記重合波形生成手段による前記重ね合わせに用いられる複数の連続波形に、異なる揺らぎを有する振幅方向もしくは時間方向の伸縮を付加するようにしてもよい。
【００１３】
また、本発明は、パラメータを取得するパラメータ入力手段と、音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段とを備え、前記重合波形生成手段は、前記重ね合わせに用いる複数の連続波形に、前記パラメータに応じた時間方向のオフセットを付加するようにしてもよい。
【００１４】
このような波形合成装置によっても、入力されるパラメータに応じて音響特性が様々に変化する合成波形が得られる。
【００１５】
このような波形合成装置の好ましい態様において、前記重合波形生成手段は、前記重ね合わせに用いる複数の連続波形の少なくとも１の連続波形に、前記原波形の周期を前記重ね合わせに用いる連続波形の数で除した時間の非整数倍の時間のオフセットを付加するようにしてもよい。
この態様においては、回転装置のノイズの基本周期の非整数倍音成分を多く含む合成音が生成される。
【００１６】
また、本発明は、パラメータを取得するパラメータ入力手段と、音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段とを備え、前記連続波形生成手段は、第１の連続波形との間に前記パラメータに応じた相関を有する第２の連続波形を生成し、前記重合波形生成手段は、前記第１の連続波形と前記第２の連続波形とを含む複数の連続波形を用いて、前記重合波形の生成を行うことを特徴とする波形合成装置を提供する。
【００１７】
このような波形合成装置によっても、入力されるパラメータに応じて音響特性が様々に変化する合成波形が得られる。
【００１８】
このような波形合成装置の好ましい態様において、前記連続波形生成手段は、互いの相関係数が１未満であり、かつ同じ周波数特性を有する前記第１の連続波形と前記第２の連続波形を生成するようにしてもよい。
この態様においては、回転装置の発するノイズの基本周期の非整数倍音成分の量を制御しやすい。
【００１９】
また、本発明は、パラメータを取得するパラメータ入力手段と、音波形合成の元となる音波形である原波形に前記パラメータに応じた周波数特性の変更を加える周波数特性変更手段と、前記周波数特性変更手段により周波数特性の変更が加えられた原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段とを備えることを特徴とする波形合成装置を提供する。
【００２０】
このような波形合成装置によっても、入力されるパラメータに応じて音響特性が様々に変化する合成波形が得られる。
【００２１】
上記の波形合成装置およびそれらの好ましい態様において、前記連続波形生成手段は、互いに異なる長さを有する原波形を複数連続させることにより周期が変化する連続波形を生成するようにしてもよい。
この態様によれば、回転装置の回転部位の回転速度が変化した場合のノイズであっても合成可能である。
【００２２】
上記の波形合成装置およびそれらの好ましい態様において、ユーザの操作に応じたパラメータを出力する操作手段と、パラメータと物理的属性値との対応関係を示す対応関係データを記憶する記憶手段と、前記対応関係データに基づき、前記パラメータ入力手段により取得されたパラメータに対応する物理的属性値を特定する属性値特定手段とを備え、前記パラメータ入力手段は、前記操作手段により出力されたパラメータを取得するようにしてもよい。
【００２３】
この態様によれば、ユーザの操作により入力されたパラメータに基づき合成音の生成がなされるとともに、そのパラメータに応じた物理的属性値が特定される。そのため、ユーザは生成される合成音に応じた回転装置の物理特性を容易に知ることができる。
【００２４】
上記の波形合成装置およびそれらの好ましい態様において、ユーザの操作に応じた物理的属性値を出力する操作手段と、物理的属性値とパラメータとの対応関係を示す対応関係データを記憶する記憶手段と、前記対応関係データに基づき、前記操作手段により出力された物理的属性値に対応するパラメータを測定するパラメータ特定手段とを備え、前記パラメータ入力手段は、前記パラメータ特定手段により特定されたパラメータを取得するようにしてもよい。
【００２５】
この態様によれば、ユーザの操作により入力された回転装置の物理特性に応じた合成音の生成がなされる。そのため、ユーザは回転装置の物理特定に応じて如何なるノイズが発生されるかを容易に知ることができる。
【００２６】
また、本発明は、上記の波形合成装置が行う処理をコンピュータに実行させるプログラムを提供する。その結果、上記の波形合成装置がコンピュータにより実現される。
【発明を実施するための最良の形態】
【００２７】
［１．音波形合成の原理］
以下、本願発明の理解のために、単気筒エンジンの単発音を用いて多気筒エンジンの音を合成する方法（以下、「単発音制御再生法」と呼ぶ）の原理を説明する。なお、例として、４気筒４ストロークエンジンにつき以下に説明する。
【００２８】
単発音制御再生法においては、まず単気筒エンジンの単発音（以下、単に「単発音」と呼ぶ）の波形が準備される。４ストロークエンジンの気筒は、燃料の吸気、燃料の圧縮、燃料の点火による爆発、爆発後の排気、の４工程を繰り返すことによりクランクシャフトを押し回し駆動する。単発音は、エンジンの１気筒がこれらの４工程１サイクルの動作を行う際に発する音である。単発音の波形は、例えば実機を運転させた際の音を録音することにより得られる。
【００２９】
単発音の波形が得られると、単発音の波形を連続させることにより、エンジンの１気筒が継続して運転された場合に発する音（以下、「連続音」と呼ぶ）が合成される。図１は連続音が合成される様子を示した図である。図１の左図は、最大振幅がＡ０、時間がＴ０（秒）である単発音の波形を例示している。連続音の合成においては、この原波形である単発音の波形に振幅方向および時間方向の伸縮を加えたものが順次連結される。なお、連結部の不連続により発生するノイズを低減するために、連結に先んじて両端がゼロの窓関数を乗じる処理が行われる。
【００３０】
連続音の合成に用いられる単発音の生成おいて、より自然な音を生成するために、各原波形に対し加えられる伸縮の程度には所定の揺らぎが加えられる。その結果、連続音を構成する各単発音の振幅および時間はそれぞれ微小に異なるものとなる。図１の右図は８つの単発音を連結して連続音が生成された様子を示しており、連続音に含まれる各単発音の振幅および時間は揺らぎの付加により順にＡ１〜Ａ８およびＴ１〜Ｔ８（秒）と各々異なっている。
【００３１】
上記のように合成される連続音に含まれる単発音の長さは原波形の時間Ｔ０を中心として揺らぐため、連続音の周期はＴ０（秒）であり、その基音はｆ０＝１／Ｔ０（Ｈｚ）である。なお、４ストロークエンジンの場合、吸気、圧縮、爆発、排気の４工程においてクランクシャフトが２回転するため、エンジンの回転数をｒ（ｒｐｍ）とすると、周期Ｔ０＝（２×６０）／ｒ（秒）である。
【００３２】
続いて、４気筒エンジンの音を合成するために、上記のように合成して得られる連続音、すなわち１気筒の発する音を、４つ重ね合わせて重合音を合成する。この重ね合わせの際、各連続音に順次、Ｔ０／４（秒）のオフセット時間を加える。すなわち、第２の連続音の開始時刻はＴ０／４秒だけ第１の連続音の開始時刻より遅れ、第３の連続音の開始時刻はＴ０／４秒だけ第２の連続音の開始時刻より遅れ、第４の連続音の開始時刻はＴ０／４秒だけ第３の連続音の開始時刻より遅れる。図２は連続音の重合により重合音が合成される様子を示した図である。
【００３３】
上記のように合成される重合音においては、時間Ｔ０／４（秒）ごとにほぼ同じ波形が繰り返される。従って、重合音の周期はＴ＝Ｔ０／４（秒）、その基音はｆ＝ｆ０×４（Ｈｚ）となる。このように合成される重合音が、単発音制御再生法により生成される４気筒４ストロークエンジンの音である。
【００３４】
なお、エンジンが自動車に搭載された際の音を模すために、上記のように生成されたエンジン音に対し、さらにロードノイズ、風切り音、ファン騒音等を示すノイズ波形が重合されてもよい。
【００３５】
［２．エンジン音の音響特性の変化に関する実験］
続いて、本願発明者が本願発明に至る過程において、単発音制御再生法を用いて行った実験およびその結果を以下に示す。まず、本願発明者は、連続音の合成において原波形の単発音に加えられる振幅方向および時間方向の伸縮の揺らぎ（以下、それぞれ「振幅揺らぎ」および「時間揺らぎ」と呼ぶ）が、最終的に得られる重合音にどのように影響するかを実験により確認した。図３はその実験の結果を示したグラフである。
【００３６】
図３（Ａ−１）および図３（Ａ−２）は、連続音の合成において、振幅揺らぎおよび時間揺らぎを全く加えない場合、すなわち連続音の合成に原波形をそのまま用いた場合に得られる重合音の波形および周波数特性をそれぞれ示している。また、図３（Ｂ−１）および図３（Ｂ−２）は、連続音の合成において、振幅揺らぎのみを加え、時間揺らぎを全く加えない場合に得られる重合音の波形および周波数特性をそれぞれ示している。さらに、図３（Ｃ−１）および図３（Ｃ−２）は、連続音の合成において、振幅揺らぎおよび時間揺らぎの両方を加えた場合に得られる重合音の波形および周波数特性をそれぞれ示している。
【００３７】
図３より、振幅揺らぎおよび時間揺らぎの付加により、重合音の周波数特性における振幅の山と谷との差が小さくなることが確認される。周波数特性の低周波数領域における振幅の山は基音の整数倍音に対応し、振幅の山と谷との差が大きいほど純音性の高い音、いわゆる輪郭のはっきりした音となる。このことから、連続音の合成において原波形に加える振幅揺らぎおよび時間揺らぎの程度を調整することにより、重合音の純音性を変化させることが可能となることが判明した。
【００３８】
図４は、揺らぎの付加が重合音の音響特性に与える影響を確認するために行った別の実験結果を示すソナグラフである。図４（Ａ）および図４（Ｂ）の縦軸は周波数、横軸は時間を示している。ただし、図４（Ａ）および図４（Ｂ）の作成に用いた重合音においては、回転数ｒが１０００回転／秒の割合で増加する場合のエンジン音を模すように、徐々に増加する縮小率で時間方向に縮小された単発音が連結された連続音が重合されている。従って、図４（Ａ）および図４（Ｂ）の横軸の値に１０００を乗じたものは、エンジンの回転数ｒに相当する。
【００３９】
図４（Ａ）の作成に用いた重合音においては、連続音の合成時に振幅揺らぎおよび時間揺らぎのいずれも付加されていない。一方、図４（Ｂ）の作成に用いた重合音においては、振幅揺らぎは付加されていないが、規則的な時間揺らぎが付加されている。具体的には、重合に用いられた連続音を構成する単発音の原波形に対する時間方向の伸縮率が、先頭から順に０．９、１．０５、０．９５および１（以下、繰り返し）となっている。
【００４０】
図４（Ａ）においては、グラフの左下から右上に向かいほぼ直線上に並んだ周波数成分の山が明確に確認される。ソナグラフに現れるこれらの直線はグラフの下から順次、回転２次、回転４次、回転６次、・・・の成分を示し、図４（Ａ）においてはこれらの直線が明確であることから、回転整数次の周波数成分のピークが鋭いことが見てとれる。これに対し、図４（Ｂ）においては、回転整数次の直線が図４（Ａ）のものと比較して明確でなく、回転整数次の周波数成分のピークが鋭くないことが見てとれる。
【００４１】
なお、経験上、エンジンの気筒数を２で除した次数に対応する直線が明確である程、聞き手にとってエンジンが快調に回っている、という印象を与えることが知られている。この気筒数を２で除した次数は爆発１次とも呼ばれる。例えば４気筒エンジンの場合、爆発１次は回転２次である。
【００４２】
図４（Ａ）および図４（Ｂ）より、単発音に揺らぎを与えた場合は揺らぎを与えない場合と比較し、最終的に合成される重合音の回転整数次の周波数成分が際立っておらず、爆発１次の成分も他の成分と比較し顕著に現れず、聞き手にとってはあまり快調に回っていないエンジンの音と感じられることが分かる。
【００４３】
次に、本願発明者は、連続音の合成において、各気筒に対応する連続音ごとに異なる原波形を用いた場合に、最終的に得られる重合音にどのような影響が生じるかを実験により確認した。図５はその実験の結果を示したソナグラフである。
【００４４】
図５（Ａ）および図５（Ｂ）の縦軸および横軸のスケールは図４におけるものと同様である。また、図５（Ａ）は図４（Ａ）と全く同じグラフであり、図５（Ｂ）との比較のために再掲している。図５（Ｂ）の作成に用いた重合音の合成には、各々の気筒に対応する連続音として、周波数特性は同一だが互いに無相関な原波形を用いて合成された連続音が用いられている。
【００４５】
周波数特性が同一であり、かつ無相関な原波形の作成の方法は様々に考えられるが、図５（Ｂ）の作成においては、所定の周波数特性を有するノイズ波形の異なる区間を切り出したものを各気筒に対応する原波形として用いている。このようなノイズ波形それ自体はエンジンの単発音とは非類似であるが、連続処理および重合処理を経ると、多気筒エンジンの音とある程度類似したものになる。
【００４６】
図５（Ｂ）を図５（Ａ）と比較すると、回転整数次の直線の間に複数の直線が現れ、その結果、いずれの直線が回転整数次のものかの特定が困難である。すなわち、図４（Ｂ）と同様に、図５（Ｂ）の音は図５（Ａ）の音と比較すると回転整数次の周波数成分が際立っていないことが見てとれる。しかしながら、図４（Ｂ）と異なり、図５（Ｂ）における各直線それ自体は図５（Ａ）と同様に鮮明である。このことから、重合音の合成に用いる原波形を気筒毎に変えると、その相関の程度に応じて回転整数次の周波数成分が際立たなくなるが、その音響特性は揺らぎ付加によるものとは異なることが分かる。
【００４７】
次に、本願発明者は、重合音の合成に用いる原波形の周波数特性の変化によって、最終的に得られる重合音の周波数特性にどのような影響が生じるかを実験により確認した。図６はその実験の結果を示したグラフである。図６（Ａ）〜（Ｄ）は、各々、異なる波形の単発音の周波数成分およびその単発音を用いて合成した重合音（エンジン音）の周波数成分を示している。図６より、重合音の振幅の谷はその重合音の生成に用いられた単発音の振幅と強い相関があることが分かる。すなわち、単発音の音響特性により重合音の大まかな音響特性が決定されることが分かる。
【００４８】
［３．第１実施形態］
続いて、本発明の第１実施形態を以下に説明する。本発明の第１実施形態は、ユーザにより入力される時間揺らぎ等に関するパラメータに応じて仮想的なエンジン音を示す重合波形を生成するとともに、生成した重合波形を発生するようなエンジンのクランクシャフト角度等の物理的属性値を出力する波形合成装置である。
【００４９】
［３．１．構成］
図７は、第１実施形態にかかる波形合成装置１０を含む波形合成システム１の構成を示したブロック図である。波形合成システム１は、ユーザの操作に応じた信号を波形合成装置１０に出力するポインタデバイスであるマウス１１と、波形合成装置１０と、波形合成装置１０から出力される音波形を増幅するアンプ１２と、アンプ１２から出力される音波形を音に変換するスピーカ１３と、波形合成装置１０がユーザに対し各種メッセージを通知するために出力する描画データに応じて画像や文字を表示するディスプレイ１４を備えている。
【００５０】
波形合成装置１０は、波形合成に用いられる単発音の原波形の集まりである原波形データ群１００１と、波形合成に用いられるパラメータと生成されるエンジン音を発するエンジンの物理的属性値との対応関係を示すデータベース（以下、「ＤＢ」と呼ぶ）の集まりである対応関係ＤＢ群１００２とを記憶する記憶部１００を備えている。
【００５１】
記憶部１００はさらに、波形合成装置１０の他の構成部が利用する各種データを一時的に記憶するとともに、波形合成装置１０に対しユーザがデータ入力を行うための画面およびユーザに対し処理結果を通知するための画面の構成を定義したデータ（以下、「画面定義データ」と呼ぶ）を記憶している。画面定義データは、画面上に表示されるテキストボックスやコマンドボタン等のオブジェクトの属性を示すデータの集まりであり、ユーザはマウス１１を用いた操作によりオブジェクトに対しデータ入力を行うことができ、入力されたデータもまた、オブジェクトの属性として記憶部１００に記憶される。
【００５２】
図８は、原波形データ群１００１の構成を模式的に示した図である。原波形データ群１００１には、複数のエンジンの各々に関し、エンジンの回転数（ｒｐｍ）に応じて複数の単発音の原波形データが含まれている。図８の例では、４ストロークエンジンのモデル１およびモデル２と、２ストロークエンジンのモデル３の合計３種のエンジンに関し、６００ｒｐｍ、７００ｒｐｍ、・・・と１００ｒｐｍ毎の回転数に応じた単発音の原波形データが原波形データ群１００１に含まれており、例えばモデル１のエンジンが回転数６００ｒｐｍである場合の単発音の原波形データは、Ｍ１＿６００．ｗａｖというファイル名で記憶されている。
【００５３】
なお、原波形データ群１００１に含まれる原波形データは、単気筒エンジン（実機）の運転により発せられる音の録音により得られたものであってもよいし、例えばランダムノイズに対し実際のエンジン音と同様の周波数特性を有するようにイコライザ等によるフィルタ処理を加えたり、実際のエンジン音と同様の振幅の時間的変化を有するように振幅方向の伸縮を行ったりすることにより、仮想的に生成されたものであってもよい。また、実機のエンジン音にフィルタ処理等による音響特性の調整を加えたものであってもよい。
【００５４】
図９は、対応関係ＤＢ群１００２の構成を例示した図である。対応関係ＤＢ群１００２は、エンジンの物理的属性の各々に応じたＤＢを複数含んでいる。エンジンの物理的属性とは、具体的には点火プラグの点火タイミング、クランクシャフトの角度、ピストンのバンク角、バルブの開閉タイミング、吸気管の集合点までの長さ、排気管の集合点までの長さ、燃料噴射量、吸気量などである。対応関係ＤＢ群１００２に含まれる各ＤＢには、物理的属性値に対応付けて、その物理的属性値を有するエンジンに関し、以下の４種類のデータ（以下、これらのデータを「パラメータデータ」と総称する）が記憶されている。
【００５５】
「相関係数」：第１の気筒に対応する単発音と第２の気筒に対応する単発音の波形の相関係数（無単位）。
【００５６】
「時間揺らぎの程度」：所定数の連続する単発音の長さの平均をＴａｖｅ、それらの単発音のうち最大長のものの長さをＴｍａｘとする場合、以下の式１にて求められるｅＴ（％）。
ｅＴ＝（Ｔｍａｘ−Ｔａｖｅ）÷Ｔａｖｅ×１００  ・・・（式１）。
例えば４ストロークエンジンの場合、エンジン回転数が１０００ｒｐｍであれば単発音の長さは１２０ミリ秒となるが、「時間揺らぎの程度」１．０％は、単発音の長さが約１１８．８ミリ秒〜１２１．２ミリ秒の範囲で揺らぐことを示している。
【００５７】
「振幅揺らぎの程度」：所定数の連続する単発音の各々の最大振幅の平均をＡａｖｅ、それらの単発音の最大振幅のうち最大のものをＡｍａｘとする場合、以下の式２にて求められるｅＡ（％）。
ｅＡ＝（Ａｍａｘ−Ａａｖｅ）÷Ａａｖｅ×１００  ・・・（式２）。
例えば連続する単発音の各々の最大振幅が１００であり、「振幅揺らぎの程度」１．０％は、単発音の最大振幅が約９９〜１０１の範囲で揺らぐことを示している。
【００５８】
「オフセットの程度」：２気筒エンジンにおいて、第１気筒の連続する所定数ｎの単発音の開始タイミングをｉ１（１）、ｉ１（２）、ｉ１（３）・・・ｉ１（ｎ）とし、それらに続く第２気筒の単発音の開始タイミングをそれぞれｉ２（１）、ｉ２（２）、ｉ２（３）・・・ｉ２（ｎ）とする場合、以下の式５にて求められるｓ（無単位）。
Ｉｓｔｄ＝（ｉ１（ｎ）−ｉ１（１））÷（ｎ−１）÷２  ・・・（式３）。
Ｉｏｓｔ＝｛（ｉ２（１）−ｉ１（１））＋（ｉ２（２）−ｉ１（２））＋  ・・・  ＋（ｉ２（ｎ）−ｉ１（ｎ））｝÷（ｎ−１）  ・・・（式４）。
ｓ＝Ｉｏｓｔ÷Ｉｓｔｄ  ・・・（式５）。
【００５９】
ここで、式３により求められるＩｓｔｄは、第１気筒の単発音と第２気筒の単発音が交互に等しい時間間隔で開始する通常の場合における第１気筒の単発音と第２気筒の単発音の開始タイミングとの時間間隔を示している。これに対し、式４により求められるＩｏｓｔは実際の第１気筒の単発音の開始タイミングとその後に続く第２気筒の単発音の開始タイミングとの時間間隔の平均値を示している。従って、式５により求められるｓは、第２気筒の単発音の開始タイミングが全体として通常よりも早い場合に１未満となり、第２気筒の単発音の開始タイミングが全体として通常よりも遅い場合に１より大きくなる。例えば「オフセットの程度」１．０１は、第２気筒の単発音の開始タイミングが全体として通常の場合より約１％、遅れていることを示している。
【００６０】
図９には、対応関係ＤＢ群１００２に含まれるＤＢの一例として、点火タイミングに関するＤＢ（以下、「点火タイミングＤＢ」と呼ぶ）の内容が例示されている。点火タイミングＤＢには物理的属性値を示す欄として「点火タイミング」欄が設けられている。「点火タイミング」欄には、２気筒エンジンにおいて第１気筒と第２気筒が交互に等しい時間間隔で点火する通常の場合を基準とし、第２気筒の点火タイミングがどの程度前後しているかを示している。例えば「点火タイミング」１．０１は、第２気筒の点火タイミングが全体として通常の場合より約１％、遅れていることを示している。対応関係ＤＢ群１００２には、クランクシャフトの角度、ピストンのバンク角、バルブの開閉タイミング等の物理的属性に関し、点火タイミングＤＢと同様のＤＢが含まれている。
【００６１】
図７に戻り、波形合成装置１０の構成の説明を続ける。波形合成装置１０は、マウス１１からユーザの操作に応じて出力される信号に基づきユーザが入力したデータ（以下、「入力データ」と呼ぶ）を特定して一時的に記憶部１００に記憶させるパラメータ入力部１０１と、原波形データ群１００１から所望の回転数に最も近い回転数に応じた原波形データを選択する原波形選択部１０２と、原波形選択部１０２により選択された原波形データに対し時間方向の伸縮を行うことにより所望の回転数に応じた波形データを生成する周期変更部１０３と、周期変更部１０３により生成された波形データの周波数特性を調整する周波数特性変更部１０４とを備えている。
【００６２】
また、波形合成装置１０は、周波数特性変更部１０４により生成される波形データを用いて一連の複数の波形データを生成しそれらを連結することにより連続波形データを生成する連続波形生成部１０５と、連続波形生成部１０５により生成された複数の連続波形データを重ね合わせることにより重合波形データを生成する重合波形生成部１０６と、重合波形生成部１０６により生成された重合波形データ（デジタルデータ）をアナログデータに変換した後アンプ１２に出力するＤ／Ａコンバータ１０７とを備えている。
【００６３】
また、波形合成装置１０は、入力信号に応じた物理的属性値を対応関係ＤＢ群１００２に基づき特定し、特定した物理的属性値を一時的に記憶部１００に記憶させる属性値特定部１０８を備えている。さらに、波形合成装置１０は、記憶部１００に記憶されている画面定義データに基づき画面を示す描画データを生成しディスプレイ１４に対し出力する画面生成部１０９を備えている。
【００６４】
連続波形生成部１０５は、ノイズ波形を示すノイズデータを生成し、周波数特性変更部１０４により生成された波形データに対し、生成したノイズデータの異なる区間を切り出したものを加えることにより、互いに１未満の相関を示す異なる波形データを複数生成する相関変更部１０５１を備えている。相関変更部１０５１により生成される複数の波形データの各々は、多気筒エンジンの各気筒に対応する単発音の波形データである。以下、説明のため、４気筒の場合を例に説明する。４気筒の場合、相関変更部１０５１は任意に選択した１組の波形データが所定の相関を持つような、４つの波形データを生成する。
【００６５】
連続波形生成部１０５は、相関変更部１０５１により生成された波形データに時間揺らぎを加える時間揺らぎ付加部１０５２と、時間揺らぎ付加部１０５２により生成された波形データに振幅揺らぎを加える振幅揺らぎ付加部１０５３とを備えている。
【００６６】
時間揺らぎ付加部１０５２は、揺らぎを持った一連の伸縮率を生成し、相関変更部１０５１により生成された４つの波形データのうちの第１の波形データを、生成した一連の伸縮率で順次、時間方向に伸縮する。その結果、第１の気筒に対応する時間揺らぎを持った波形データ群が生成される。時間揺らぎ付加部１０５２は、相関変更部１０５１により生成された第２〜第４の波形データに関しても、第１の波形データと同様の処理を行う。その結果、第２〜第４の気筒の各々に対応する時間揺らぎを持った波形データ群が生成される。
【００６７】
振幅揺らぎ付加部１０５３は、揺らぎを持った一連の伸縮率を生成し、時間揺らぎ付加部１０５２により生成された第１の波形データ群に含まれる一連の波形データの各々を、生成した一連の伸縮率で順次、振幅方向に伸縮する。その結果、第１の気筒に対応する時間揺らぎと振幅揺らぎの両方を持った波形データ群が生成される。振幅揺らぎ付加部１０５３は、時間揺らぎ付加部１０５２により生成された第２〜第４の波形データ群に関しても、第１の波形データ群と同様の処理を行う。その結果、第２〜第４の気筒の各々に対応する時間揺らぎおよび振幅揺らぎを持った波形データ群が生成される。
【００６８】
連続波形生成部１０５は、さらに、振幅揺らぎ付加部１０５３により生成された波形データ群を連結して、連続波形データを生成する連結処理部１０５４を備えている。連結処理部１０５４は振幅揺らぎ付加部１０５３により生成された第１の波形データ群に含まれる一連の波形データの各々に窓関数を乗じた後、それらを順次連結する。その結果、第１の気筒に対応する連続波形データが生成される。なお、この窓関数を乗じる処理は、波形データの連結部の不連続性から生じるノイズを回避するための処理である。連結処理部１０５４は、振幅揺らぎ付加部１０５３により生成された第２〜第４の波形データ群に関しても、第１の波形データ群と同様の処理を行う。その結果、第２〜第４の気筒の各々に対応する連続波形データが生成される。このように生成された４つの連続波形データは、連続波形生成部１０５から重合波形生成部１０６に引き渡される。
【００６９】
重合波形生成部１０６は、連続波形生成部１０５から受け取った４つの連続波形データの各々に時間方向のオフセットを与えるオフセット変更部１０６１と、オフセット変更部１０６１によりオフセットの与えられた４つの連続波形データを重ね合わせることにより重合データを生成する重合処理部１０６２とを備えている。このように生成された重合データは、４気筒エンジンの音を示す波形データである。
【００７０】
［３．２．動作］
続いて、波形合成システム１の動作を説明する。ユーザにより波形合成装置１０の起動操作が行われると、波形合成装置１０の画面生成部１０９は、記憶部１００からデータ入力用の画面定義データを読み出して画面を示す描画データを生成し、ディスプレイ１４に出力する。その結果、ディスプレイ１４にデータ入力用画面が表示される。
【００７１】
図１０は、ディスプレイ１４に表示されるデータ入力用画面を例示した図である。データ入力用画面には、気筒数を選択するためのリストボックス１４１、エンジンのモデルを選択するためのリストボックス１４２、回転数を指定するためのスライダ１４３、グラフィックイコライザを構成するフェーダ群１４４、相関の程度を指定するためのスライダ１４５、時間揺らぎの程度を指定するためのスライダ１４６、振幅揺らぎの程度を指定するためのスライダ１４７、オフセットを指定するためのスライダ群１４８、エンジン音の波形合成の開始を指示するためのコマンドボタン１４９、エンジン音の波形合成の終了を指示するためのコマンドボタン１５０、生成されるエンジン音に応じたエンジンの物理的属性値の表示を指示するためのコマンドボタン１５１が含まれている。
【００７２】
ユーザは、データ入力用画面において、マウス１１を操作して気筒数〜オフセットの各種パラメータの入力を行う。マウス１１はユーザの操作に応じた信号を波形合成装置１０のパラメータ入力部１０１に出力する。パラメータ入力部１０１はマウス１１から受け取った信号および記憶部１００に記憶されているデータ入力用の画面定義データに基づきユーザにより入力された入力データを特定し、特定した入力データを画面定義データに含まれる各オブジェクトの属性値として記憶部１００に記憶させる。
【００７３】
その後、ユーザはコマンドボタン１４９をマウス１１でクリックする。このクリック操作に応じて、波形合成装置１０の原波形選択部１０２〜Ｄ／Ａコンバータ１０７はエンジン音の合成処理およびその出力処理を開始する。
【００７４】
まず、原波形選択部１０２は、原波形データ群１００１（図８参照）の中から、リストボックス１４２の属性値に応じたモデルの原波形データのグループを選択する。続いて、原波形選択部１０２は、選択したグループに含まれる原波形データ群の中から、スライダ１４３の属性値として記憶されている入力データにより示される回転数に最も近い回転数に対応する原波形データを選択する。
【００７５】
周期変更部１０３は、原波形選択部１０２により選択された原波形データを時間方向に伸縮することにより、スライダ１４３の属性値により示される回転数に対応する波形データを生成する。例えばユーザにより指定された回転数が６２０ｒｐｍである場合、原波形選択部１０２により６００ｒｐｍに対応する原波形データが選択され、周期変更部１０３は６００／６２０の伸縮率で原波形データを時間方向に伸縮することにより、６２０ｒｐｍに対応する単発音の波形データを生成する。
【００７６】
周波数特性変更部１０４は、フェーダ群１４４の属性値により示される周波数特性の形状に基づき、周期変更部１０３により生成された波形データの周波数特性を調整する。より具体的には、周波数特性変更部１０４は、例えば複数のバンドパスフィルタの各々で波形データを濾波したものをミキシングすることにより、周波数特性が調整された波形データを生成する。
【００７７】
連続波形生成部１０５の相関変更部１０５１は、まず周波数特性変更部１０４により生成された波形データと同じ長さのランダムノイズの波形データを生成する。具体的には、例えば−１〜＋１の間で変化する乱数列をランダムノイズの波形データとして生成する。
【００７８】
続いて、相関変更部１０５１はランダムノイズの波形データと、周波数特性変更部１０４により生成された波形データとの各々に対し、スライダ１４５の属性値により示される相関の程度に応じた伸縮率で振幅方向の伸縮を加えた後、それらをミキシングする。より具体的には、例えばユーザにより相関の程度として０．８が指定された場合、相関変更部１０５１は周波数特性変更部１０４により生成された波形データの最大振幅をランダムノイズの波形データに乗じた上でさらに（１−０．８）＝０．２を乗じたものと、周波数特性変更部１０４により生成された波形データに０．８を乗じたものとをミキシングする。その結果、周波数特性変更部１０４により生成された波形データと正の相関を持つが異なる波形データが生成される。
【００７９】
相関変更部１０５１は、リストボックス１４１の属性値により示される気筒数だけ、上記の処理を繰り返す。その結果、任意に選択した１組の波形データが互いに正の相関を持つが異なるような波形データ群が生成される。その際、波形データ間の相関は、ユーザにより指定される相関の程度の高いほど高く、低いほど低くなる。なお、ユーザにより指定される相関の程度が０の場合、相関変更部１０５１により生成される波形データはランダムノイズの波形データそのものとなり、それらの波形データ間の相関係数はほぼ０となる。一方、ユーザにより指定される相関の程度が１の場合、相関変更部１０５１により生成される波形データは周波数特性変更部１０４により生成される波形データそのものとなり、それらの波形データ間の相関係数は１となる。
【００８０】
時間揺らぎ付加部１０５２は、相関変更部１０５１により生成された気筒数と同じ数の波形データの各々に関し、時間揺らぎを付加した波形データ群を生成する。より具体的には、時間揺らぎ付加部１０５２はまず、−１〜＋１の間で変化する乱数列を生成する。続いて、時間揺らぎ付加部１０５２は生成した乱数の各々に、スライダ１４６の属性値により示される時間揺らぎの程度を乗じた後、１を加える。その結果、例えばユーザにより指定された時間揺らぎの程度が３％である場合、０．９７〜１．０３の間で変化する乱数列が生成される。
【００８１】
続いて、時間揺らぎ付加部１０５２は相関変更部１０５１により生成された第１の波形データを、生成した乱数列に含まれる乱数の各々に応じた伸縮率で時間方向に伸縮する処理を繰り返す。例えば、乱数列として０．９８２、１．０２１、０．９９７、・・・が生成された場合、時間揺らぎ付加部１０５２は相関変更部１０５１により生成された第１の波形データを時間方向に０．９８２倍、１．０２１倍、０．９９７倍、・・・に伸縮して得られる波形データ群を生成する。このように生成される波形データ群は、第１の気筒の発するエンジン音を構成する単発音群を示す。
【００８２】
時間揺らぎ付加部１０５２は、相関変更部１０５１により生成された第２の波形データ、第３の波形データ、・・・の各々に関しても、第１の波形データに関し用いた倍率と同じ倍率を用いて時間方向の伸縮を順次行うことにより、第２の波形データ群、第３の波形データ群、・・・を生成する。これらの波形データ群は各々、第２の気筒、第３の気筒、・・・に対応する波形データ群である。
【００８３】
振幅揺らぎ付加部１０５３は、時間揺らぎ付加部１０５２により生成された波形データ群に含まれる波形データに振幅揺らぎを付加する。振幅揺らぎ付加部１０５３は時間揺らぎ付加部１０５２が行うものと同様の方法で、波形データを振幅方向に伸縮する際の倍率を示す乱数列を生成する。ただし、乱数列の生成に際し、振幅揺らぎ付加部１０５３はスライダ１４６ではなくスライダ１４７の属性値により示される振幅揺らぎの程度に従い乱数列を生成する。
【００８４】
振幅揺らぎ付加部１０５３は、時間揺らぎ付加部１０５２により生成された第１の波形データ群に含まれる波形データを、乱数列に含まれる乱数の倍率で振幅方向に伸縮する。例えば、乱数列として１．０１２、０．９７３、０．９８５、・・・が生成された場合、振幅揺らぎ付加部１０５３は第１の波形データ群に含まれる第１の波形データを振幅方向に１．０１２倍、第２の波形データを振幅方向に０．９７３倍、第３の波形データを振幅方向に０．９８５倍、・・・と伸縮する。その結果、振幅揺らぎの付加された第１の波形データ群が生成される。
【００８５】
振幅揺らぎ付加部１０５３は、時間揺らぎ付加部１０５２により生成された第２の波形データ群、第３の波形データ群、・・・の各々に関しても、第１の波形データ群に関し用いた倍率と同じ倍率を用いて振幅方向の伸縮を順次行うことにより、振幅揺らぎの付加された第２の波形データ群、第３の波形データ群、・・・を生成する。
【００８６】
連結処理部１０５４は、振幅揺らぎ付加部１０５３により生成された第１の波形データ群に含まれる一連の波形データに窓関数を乗じたものを、順次連結する。その結果、第１の連続波形データが生成される。同様に、連結処理部１０５４は、振幅揺らぎ付加部１０５３により生成された第２の波形データ群、第３の波形データ群、・・・に関しても第１の波形データ群に関し行う処理と同様の処理を行う。その結果、第２の連続波形データ、第３の連続波形データ、・・・が生成される。
【００８７】
重合波形生成部１０６のオフセット変更部１０６１は、連続波形生成部１０５の連結処理部１０５４により上記のように生成された複数の連続波形データの各々に、スライダ群１４８の属性値に応じた時間方向のオフセットを付加する。スライダ群１４８の属性値、すなわちユーザにより指定されるオフセットの値は、例えばリストボックス１４１において４気筒が選択されている場合、（Ｉ１，Ｉ２，Ｉ３）＝（０．９７，１．０５，１．０２）のような形式の値となる。
【００８８】
ここでＩ１は、通常の場合、すなわち各気筒の単発音の開始タイミングが等間隔の場合のその間隔を１とした場合、第１気筒と第２気筒の単発音の開始タイミングの間隔を示している。同様に、Ｉ２は第２気筒と第３気筒の単発音の開始タイミングの間隔を示し、Ｉ３は第３気筒と第４気筒の単発音の開始タイミングの間隔を示している。なお、第４気筒と第１気筒の単発音の開始タイミングの間隔は、４−（０．９７＋１．０５＋１．０２）＝０．９６のように、Ｉ１〜Ｉ３により自動的に定まる。
【００８９】
通常の場合の各気筒の単発音の開始タイミングの間隔は、周期変更部１０３により生成された単発音の波形データの長さを気筒数で除した長さである。以下、この長さをＤとする。オフセット変更部１０６１は、Ｄ×Ｉ１の長さの振幅０のデータを、連結処理部１０５４により生成された第２の連続波形データの先頭に挿入する。その結果、第２の連続波形データによる発音開始タイミングが、第１の連続波形データの発音開始タイミングからＤ×Ｉ１の時間だけ遅れることになる。
【００９０】
同様に、オフセット変更部１０６１は、Ｄ×（Ｉ１＋Ｉ２）の長さの振幅０のデータを、連結処理部１０５４により生成された第３の連続波形データの先頭に挿入する。また、オフセット変更部１０６１は、Ｄ×（Ｉ１＋Ｉ２＋Ｉ３）の長さの振幅０のデータを、連結処理部１０５４により生成された第４の連続波形データの先頭に挿入する。なお、ここではリストボックス１４１において４気筒が選択されている場合につき説明したが、気筒数が４以外の場合も同様である。
【００９１】
重合処理部１０６２は、オフセット変更部１０６１により発音開始タイミングがずらされた第１の連続波形データ、第２の連続波形データ、・・・をミキシングし、重合波形データを生成する。重合処理部１０６２のミキシング処理により生成される重合波形データは、多気筒エンジンの音を示す波形データである。重合処理部１０６２は、生成した重合波形データをＤ／Ａコンバータ１０７に引き渡す。
【００９２】
Ｄ／Ａコンバータ１０７は、重合波形生成部１０６の重合処理部１０６２から重合波形データを受け取ると、受け取った重合波形データをアナログデータに変換し、アンプ１２に出力する。アンプ１２はＤ／Ａコンバータ１０７から入力されたアナログデータを増幅し、スピーカ１３に出力する。スピーカ１３はアンプ１２から入力されたアナログデータを音に変換して発音する。その結果、ユーザには波形合成装置１０により合成された多気筒エンジン音が聞こえる。
【００９３】
なお、ユーザはマウス１１を操作してコマンドボタン１５０をクリックすることにより、波形合成装置１０からアンプ１２へのアナログデータの出力を停止させることができる。
【００９４】
ユーザは、スピーカ１３から発音されるエンジン音が気に入った場合、そのエンジン音に近い音を発生させると思われるエンジンの物理的属性値をディスプレイ１４に表示させることができる。以下、まずリストボックス１４１において２気筒が選択されている場合につき、波形合成装置１０がエンジンの物理的属性値を表示するために行う動作を説明する。
【００９５】
ユーザがマウス１１を操作してコマンドボタン１５１をクリックすると、波形合成装置１０の属性値特定部１０８は、データ入力用の画面定義データの各オブジェクトの属性値として記憶されている入力データ、より具体的にはスライダ１４５の属性値として記憶されている相関の程度を示す値、スライダ１４６の属性値として記憶されている時間揺らぎの程度を示す値、スライダ１４７の属性値として記憶されている振幅揺らぎの程度を示す値、スライダ群１４８の属性値として記憶されているオフセットの程度を示す値を記憶部１００から読み出す。ここでリストボックス１４１においては２気筒が選択されているため、スライダ群１４８の属性値として記憶されているオフセットの程度を示す値は、第２気筒に関する値のみである。以下、このように読み出した入力データを「入力パラメータデータ」と呼ぶ。
【００９６】
続いて、属性値特定部１０８は、例えば（点火タイミング，クランクシャフト角度，ピストン角度，・・・）＝（１．００，２５．０°，１８０°，・・・）のような、エンジンの物理的属性の既定値の組み合わせを記憶部１００から読み出す。属性値特定部１０８は、記憶部１００に記憶されている対応関係ＤＢ群１００２に含まれるＤＢの各々から、読み出した物理的属性の既定値に対応するパラメータデータを検索する。
【００９７】
属性値特定部１０８は、そのように各ＤＢから検索したパラメータデータに含まれる同種のデータを掛け合わせて、点火タイミング、相関係数、時間揺らぎの程度、振幅揺らぎの程度、オフセットの程度に関し、各々１つの値を算出する。そのように算出される値は、上記の物理的属性の組み合わせを有するエンジンが発するエンジン音の特徴を決定するパラメータを示すパラメータデータである。以下、このように算出したパラメータデータを「算出パラメータデータ」と呼ぶ。
【００９８】
属性値特定部１０８は、入力パラメータデータと算出パラメータデータとの間の類似度を算出する。ただし、入力パラメータデータにおける相関の程度と、算出パラメータデータにおける相関係数とは同種の指標ではないため、属性値特定部１０８は入力パラメータデータにおける相関の程度に従った波形データ間の相関係数を算出し、算出パラメータデータとの類似度の算出に用いる。
【００９９】
入力パラメータデータと算出パラメータデータとの間の類似度の算出方法としては様々なものが考えられるが、例えば相関係数、時間揺らぎの程度、・・・といったパラメータの種類毎に、算出パラメータデータの入力パラメータデータに対する比率を算出し、算出した比率と１との差の自乗を加算することにより類似度を算出すればよい。例えば、算出パラメータデータが（０．９３，２．７，１．６，１．０５）であり、入力パラメータデータが（０．９５，２．２，２．４，０．８２）である場合、これらの類似度は、（１−０．９３／０．９５）２＋（１−２．７／２．２）２＋（１−１．６／２．４）２＋（１−１．０５／０．８２）２≒０．２４２となる。このように算出される類似度は常に０以上であり、その値が小さい程、類似性が高いことを示す。属性値特定部１０８はそのように算出した類似度を、その算出に用いた物理的属性値の組み合わせと共に、一時的に記憶部１００に記憶する。
【０１００】
属性値特定部１０８は、続いて、既定値とは異なる物理的属性値の組み合わせ、例えば（点火タイミング，クランクシャフト角度，ピストン角度，・・・）＝（１．０１，２５．０°，１８０°，・・・）につき算出パラメータデータを算出し、新たに算出した算出パラメータデータと入力パラメータデータとの間の類似度を算出する。
【０１０１】
属性値特定部１０８は、新たに算出した類似度と記憶部１００に記憶されている類似度とを比較し、記憶部１００に記憶されている類似度がより小さい場合、すなわち記憶部１００に記憶されている類似度がより高い類似性を示す場合、記憶部１００に記憶されている内容に変更を加えない。一方、記憶部１００に記憶されている類似度よりも新たに算出した類似度の方が小さい場合、すなわち新たに算出した類似度がより高い類似性を示す場合、属性値特定部１０８は、新たに算出した類似度と、その類似度の算出に用いた物理的属性値の組み合わせにより、記憶部１００に記憶されているそれらのデータを更新する。
【０１０２】
属性値特定部１０８は、物理的属性値の組み合わせの内容を所定の変更幅で所定の規則で順次変更しながら、上記の類似度および物理的属性値の組み合わせの更新処理を繰り返す。属性値特定部１０８による更新処理が物理的属性値の様々な組み合わせに関し完了すると、その時点で記憶部１００に記憶されている物理的属性値の組み合わせは、波形合成装置１０により合成されたエンジン音と最も類似する音を発するエンジンの物理的属性を示している。なお、属性値特定部１０８は、上記のように総当たり的な方法でエンジンの物理的属性を特定する代わりに、ニュートン法等の数理計画法を用いてエンジンの物理的属性を特定するようにしてもよい。
【０１０３】
ところで、リストボックス１４１において３気筒以上が選択されている場合、スライダ群１４８の属性値として記憶されているオフセットの程度を示す値は、第３気筒以降に関するものが加わるため、複数となる。そこで、属性値特定部１０８は、それら複数のオフセットの程度を示す値の各々を含む複数組の入力パラメータデータにつき、上記の物理的属性の特定処理を繰り返す。その結果、第３気筒以降に関する物理的属性も特定されることになる。
【０１０４】
属性値特定部１０８は物理的属性の特定処理を完了すると、その時点で記憶部１００に記憶されている物理的属性値の組み合わせを画面生成部１０９に引き渡す。画面生成部１０９は属性値特定部１０８から物理的属性値の組み合わせを受け取ると、記憶部１００から物理的属性値の表示用の画面定義データを読み出し、受け取った物理的属性値の組み合わせと読み出した画面定義データを用いて、物理的属性値の表示画面を示す描画データを生成し、ディスプレイ１４に出力する。その結果、ディスプレイ１４には物理的属性値が表示される。
【０１０５】
図１１は、データ入力用画面において４気筒が選択されている場合にディスプレイ１４に表示される物理的属性値の表示画面を例示した図である。
【０１０６】
以上説明したように、波形合成システム１によれば、ユーザは合成されるエンジン音を特徴づける時間揺らぎの程度等の各種パラメータを入力することにより、様々なエンジン音を波形合成装置１０に合成させて聞くことができるとともに、そのように合成されるエンジン音と類似する音を発するエンジンの物理的属性値を表示させることができる。その結果、実際に様々な物理的属性を有するエンジンを試作することなく、所望のエンジン音を発するエンジンの物理的属性を知ることができる。
【０１０７】
なお、例えばエンジンを試作することなくエンジン音を合成する他の方法として、エンジンの物理モデルをコンピュータ上に仮想的に作成し、その物理モデルのエンジンを運転させることにより発せられる空気の振動をエンジン音として生成することも考えられる。しかしながら、物理モデルを用いる方法は一般的に計算負荷が大きく、例えばリアルタイムに回転速度を変更しつつエンジン音を合成させてその変化を確かめる、といった目的を達するためには高い処理能力のコンピュータが必要となる。それに比べて、本願発明にかかる波形合成装置１０においては、相関の程度、振幅揺らぎの程度、時間揺らぎの程度、オフセットの程度などのエンジン音を大きく特徴づけるパラメータのみが物理的属性の特定に用いられるため、計算負荷が小さく低い処理能力のコンピュータを用いても迅速にエンジン音の合成を行うことができる。
【０１０８】
［４．第２実施形態］
続いて、本発明の第２実施形態を以下に説明する。上述した第１実施形態においては、ユーザにより相関の程度、振幅揺らぎの程度などのエンジン音を特徴づけるパラメータが波形合成装置１０に入力され、その結果としてエンジン音の合成とともに、合成されるエンジン音と類似の音を発するエンジンの物理的属性値が表示される仕組みとなっていた。これに対し、第２実施形態においては、ユーザによりエンジンの物理的属性値が波形合成装置１０に入力され、その結果としてエンジン音の合成が行われる。
【０１０９】
［４．１．構成］
図１２は、第２実施形態にかかる波形合成装置２０を含む波形合成システム２の構成を示したブロック図である。波形合成システム２の構成は、多くの点で波形合成システム１と共通している。従って、図１２においては、波形合成システム１の構成部と同じ構成部については波形合成システム１の構成部に付された記号（図７参照）と同じものが付されている。説明の重複を避けるため、以下、主として波形合成システム２の構成のうち波形合成システム１と異なる部分のみを説明する。
【０１１０】
波形合成システム２は、波形合成システム２はマウス１１、波形合成装置２０、アンプ１２、スピーカ１３およびディスプレイ１４により構成されている。すなわち、波形合成システム２の全体構成は、波形合成装置１０の代わりに波形合成装置２０が備えられている点を除き、波形合成システム１の全体構成と変わるところはない。
【０１１１】
波形合成装置２０は、第１実施形態の波形合成装置１０と比べ、パラメータ入力部１０１および属性値特定部１０８を備えておらず、その一方で属性値入力部２０１と、パラメータ特定部２０２とを備えている。また、波形合成装置２０の記憶部１００は、波形合成装置１０の記憶部１００と比べ、対応関係ＤＢ群１００２の代わりに第１対応関係ＤＢ群１２０１および第２対応関係ＤＢ群１２０２を記憶している。
【０１１２】
属性値入力部２０１は、マウス１１からユーザの操作に応じて出力される信号を受け取り、受け取った信号からユーザが入力したデータ（以下、第１実施形態と同様に「入力データ」と呼ぶ）を特定する。波形合成システム２における入力データは、エンジンの物理的属性値を示すデータである。
【０１１３】
パラメータ特定部２０２は、属性値入力部２０１により特定された入力データに対応するエンジン音を特徴づけるパラメータを、記憶部１００に記憶されている第１対応関係ＤＢ群１２０１および第２対応関係ＤＢ群１２０２に基づき特定する。
【０１１４】
第１対応関係ＤＢ群１２０１は、波形合成装置１０の記憶部１００が記憶する対応関係ＤＢ群１００２（図９参照）と同じものである。すなわち、第１対応関係ＤＢ群１２０１は、点火タイミング等のエンジンの物理的属性に関し、物理的属性値と相関係数、時間揺らぎの程度、振幅揺らぎの程度およびオフセットの程度の対応関係を示すＤＢの集まりである。
【０１１５】
第２対応関係ＤＢ群１２０２は、シリンダサイズ等のエンジンの物理的属性に関し、物理的属性値と周波数特性、より具体的にはグラフィックイコライザの各周波数帯に応じた増幅率の対応関係を示すＤＢの集まりである。
【０１１６】
図１３は、第２対応関係ＤＢ群１２０２の構成を例示した図である。第２対応関係ＤＢ群１２０２には、シリンダサイズ、エンジンカバー厚、サージタンク形状などの、エンジンの種々の物理的属性に関するＤＢが含まれている。これらの物理的属性は、エンジンの単発音の周波数特性に対し影響を与える物理的属性である。図１３に示されるように、各ＤＢの第１欄は物理的属性値を示し、ＤＢの第２欄以降はグラフィックイコライザの各周波数帯の対数スケールによる中心周波数（Ｈｚ）を示している。
【０１１７】
第２対応関係ＤＢ群１２０２に含まれるＤＢが示す増幅率は、原波形データ群１００１に含まれる単発音の原波形データの録音もしくは生成の際に用いたエンジン（または仮想的エンジン）の単発音の周波数成分を基準とし、対象の物理的属性のみを変更したエンジンの単発音の周波数成分が各周波数帯においてどの程度増減しているかを示した値である。
【０１１８】
図１３に例示のデータによれば、基準となるシリンダサイズは直径５０ｍｍであり、例えばシリンダサイズが直径２０ｍｍのエンジンの単発音の周波数成分の振幅は、基準のエンジンの単発音の周波数成分の振幅を１．００とした場合、中心周波数６３Ｈｚの周波数帯において０．８７、中心周波数１２５Ｈｚの周波数帯において０．９３、・・・であることが分かる。
【０１１９】
［４．２．動作］
続いて、波形合成システム２の動作を説明する。ユーザにより波形合成装置２０の起動操作が行われると、波形合成装置２０の画面生成部１０９は、記憶部１００からデータ入力用の画面定義データを読み出して画面を示す描画データを生成し、ディスプレイ１４に出力する。その結果、ディスプレイ１４にデータ入力用画面が表示される。
【０１２０】
図１４は、波形合成システム２においてディスプレイ１４に表示されるデータ入力用画面を例示した図である。波形合成システム２におけるデータ入力用画面には、波形合成システム１における場合と同様に、気筒数を選択するためのリストボックス１４１、エンジンのモデルを選択するためのリストボックス１４２、回転数を指定するためのスライダ１４３、エンジン音の波形合成の開始を指示するためのコマンドボタン１４９、エンジン音の波形合成の終了を指示するためのコマンドボタン１５０が含まれている。
【０１２１】
また、波形合成システム２におけるデータ入力用画面には、ユーザが各種のエンジンの物理的属性値を入力するためのリストボックス群２４１およびリストボックス群２４２が含まれている。リストボックス群２４１においては、多気筒エンジンにおける気筒間の単発音の相関係数、連続する単発音間の時間揺らぎの程度、連続する単発音間の振幅揺らぎの程度、そして気筒間のオフセットの程度に影響を与える物理的属性に関し、ユーザが適当と考える物理的属性値をリストから選択し入力することができる。リストボックス群２４１にリストアップされる物理的属性は、具体的には点火タイミング、クランクシャフト角度、ビストン角度等である。
【０１２２】
一方、リストボックス群２４２においては、単発音の周波数特性に影響を与える物理的属性に関し、ユーザが適当と考える物理的属性値をリストから選択し入力することができる。リストボックス群２４２にリストアップされる物理的属性は、具体的にはシリンダサイズ、エンジンカバー厚、サージタンク形状、シリンダの材料、排気管の長さ、吸気管の長さ、消音器のタイプ等である。
【０１２３】
ユーザは、データ入力用画面において、マウス１１を操作してエンジン音の合成を希望するエンジンの物理的属性値を入力する。マウス１１はユーザの操作に応じた信号を波形合成装置２０の属性値入力部２０１に出力する。属性値入力部２０１はマウス１１から受け取った信号および記憶部１００に記憶されているデータ入力用の画面定義データに基づきユーザにより入力された入力データを特定し、特定した入力データを画面定義データに含まれる各オブジェクトの属性値として記憶部１００に記憶させる。
【０１２４】
その後、ユーザはコマンドボタン１４９をマウス１１でクリックする。このクリック操作に応じて、波形合成装置２０のパラメータ特定部２０２および原波形選択部１０２〜Ｄ／Ａコンバータ１０７はエンジン音の合成処理およびその出力処理を開始する。
【０１２５】
まず、パラメータ特定部２０２は、リストボックス群２４１の属性値として記憶されている入力データの各々を検索キーとして、第１対応関係ＤＢ群１２０１に含まれる対応する物理的属性のＤＢの中から、対応する相関係数等のパラメータを特定する。
【０１２６】
例えば、ユーザがリストボックス１４１において４気筒を選択した場合、リストボックス群２４１には点火タイミングに関する属性値として、「第１気筒−第２気筒」「第２気筒−第３気筒」「第３気筒−第４気筒」の欄が表示され、ユーザは、それぞれの気筒間の点火タイミングを、通常の点火タイミング間隔に対する数値として入力することができる。
【０１２７】
ここで、例えばユーザが、点火タイミングの「第１気筒−第２気筒」の欄に１．０１を入力した場合、パラメータ特定部２０２はまず、その属性値が点火タイミングに関する属性値であることから、第１対応関係ＤＢ群１２０１（図９参照）から点火タイミングのＤＢを選択する。続いて、パラメータ特定部２０２は選択したＤＢから、検索欄を「点火タイミング」、検索キーを「１．０１」として、該当するレコードを検索する。その結果、例えば相関係数：０．９４、時間揺らぎの程度：２．９、振幅揺らぎの程度：１．６、オフセットの程度：１．０１を、第１気筒および第２気筒に関するパラメータとして特定する。パラメータ特定部２０２は、同様のパラメータの特定処理をリストボックス群２４１に含まれる全ての項目に関し行う。
【０１２８】
パラメータ特定部２０２は、上記のように特定した複数のパラメータのうち、同種のパラメータを掛け合わせることにより、エンジン音の合成のためのパラメータを算出する。例えば、点火タイミング、クランクシャフト角度、ピストン角度、・・・の各々に関し、「第１気筒−第２気筒」の欄に入力された属性値に対応する相関係数が、それぞれ０．９４、０．８７、０．９６、・・・であれば、パラメータ特定部２０２は０．９４×０．８７×０．９６・・・なる計算を行う。そのように算出される相関係数が、エンジン音の合成に用いられる相関係数となる。パラメータ特定部２０２は、そのように算出したパラメータを特定パラメータデータとして記憶部１００に記憶する。
【０１２９】
また、パラメータ特定部２０２は、リストボックス群２４２の属性値として記憶されている入力データの各々を検索キーとして、第２対応関係ＤＢ群１２０２に含まれる対応する物理的属性のＤＢの中から、対応するパラメータ、すなわち各周波数帯の増幅率群を特定する。
【０１３０】
例えば、ユーザがリストボックス群２４２においてシリンダサイズの欄に３０（ｍｍ）を入力した場合、パラメータ特定部２０２はまず、その属性値がシリンダサイズに関する属性値であることから、第２対応関係ＤＢ群１２０２（図１３参照）からシリンダサイズのＤＢを選択する。続いて、パラメータ特定部２０２は選択したＤＢから、検索欄を「シリンダサイズ」、検索キーを「３０」として、該当するレコードを検索する。その結果、例えば中心周波数６３Ｈｚの周波数帯の振幅率：０．９２、中心周波数１２５Ｈｚの周波数帯の振幅率：０．９９、・・・を、シリンダサイズに関するパラメータとして特定する。パラメータ特定部２０２は、同様のパラメータの特定処理をリストボックス群２４２に含まれる全ての項目に関し行う。
【０１３１】
パラメータ特定部２０２は、上記のように特定した複数のパラメータのうち、同種のパラメータを掛け合わせることにより、エンジン音の合成のためのパラメータを算出する。例えば、シリンダサイズ、エンジンカバー厚、サージタンク形状、・・・の各々に関し、中心周波数６３Ｈｚの周波数帯の振幅率が、それぞれ０．９２、１．１５、０．８４、・・・であれば、パラメータ特定部２０２は０．９２×１．１５×０．８４・・・なる計算を行う。そのように算出される振幅率が、エンジン音の合成に用いられる振幅率となる。パラメータ特定部２０２は、そのように算出したパラメータを、第１対応関係ＤＢ群１２０１を用いて特定したパラメータと同様に、特定パラメータデータとして記憶部１００に記憶する。
【０１３２】
以上のように、パラメータ特定部２０２による特定パラメータデータの記憶が完了すると、原波形選択部１０２〜Ｄ／Ａコンバータ１０７はエンジン音合成の処理を行う。波形合成装置１０においてはエンジン音合成のパラメータとして、データ入力用画面（図１０参照）に対しユーザにより入力された入力データが用いられたが、波形合成装置２０においてはパラメータ特定部２０２により特定されたパラメータを示す特定パラメータデータが用いられる。原波形選択部１０２〜Ｄ／Ａコンバータ１０７の処理において、その他の点は全て波形合成装置１０における場合と同様であるため、その説明を省略する。
【０１３３】
波形合成装置２０により特定パラメータデータに従ったエンジン音の合成が行われると、波形合成装置２０からアンプ１２へ合成されたエンジン音の波形データが出力され、アンプ１２により増幅された波形データがスピーカ１３により音に変換される。その結果、ユーザは合成されたエンジン音を聞くことができる。このように合成されるエンジン音は、ユーザがデータ入力用画面（図１４参照）において入力した物理的属性値を有するエンジンが発する音と類似したものである。
【０１３４】
以上説明したように、波形合成システム２によれば、ユーザはエンジンの各種物理的属性値を入力することにより、希望する物理的属性値を有するエンジンが発する音と類似の音を波形合成装置２０に合成させて聞くことができる。その結果、実際に様々な物理的属性を有するエンジンを試作することなく、所望の物理的属性を有するエンジンのエンジン音を知ることができる。
【０１３５】
［５．変形例］
上述した第１実施形態および第２実施形態は、本願発明の技術的思想の範囲で様々に変形することができる。以下にそのような変形例を示す。
【０１３６】
［５．１．第１変形例］
上述した実施形態は、エンジン音の合成に関するものであったが、本願発明は同種の発音部位を複数有する他のあらゆる装置の音の合成に適用可能である。例えば、ファン（扇風機）の風切り音の音響特性は、羽根の数、羽根の形状、隣接する羽根の間の角度等により影響を受ける。これらの物理的属性は、ファンの１枚の羽根が１回転する際に発する音、すなわち単発音の周波数特性と、単発音が複数連続する際の時間揺らぎおよび振幅揺らぎの程度と、羽根間の単発音の相関を決定する。また、それらの音響特性を決定するパラメータが与えられた場合、数理計画法等により、そのようなパラメータを与えるファンの物理的属性値を特定することも可能である。
【０１３７】
従って、ファンの１枚の羽根が１回転する際に発する音を単発音とし、ファンの音の合成に関し波形合成装置に上述した実施形態と同様の処理を行わせることにより、ユーザは実際にファンの試作を行うことなくファンの風切り音を合成させることができるとともに、そのような風切り音を発するファンの物理的属性値を確認することができる。
【０１３８】
［５．２．第２変形例］
また、上述した実施形態においては、エンジンの１気筒が吸気、圧縮、爆発、排気という一連の動作（４ストロークエンジンの場合）を行う過程で発する音を単発音とし、単発音を原波形データの一単位として扱うものとして説明したが、それに限られない。
【０１３９】
例えば、原波形データとして、吸気音、圧縮音、爆発音および排気音をそれぞれ異なる単発音として扱ってもよい。その場合、例えば吸気と爆発との間に、異なる時間揺らぎ等を付加することが可能となる。その結果、より柔軟性に富んだエンジン音の合成および物理的属性値の特定が可能となる。
【０１４０】
また、例えば点火タイミングは、点火タイミングの間隔がエンジンの回転数に応じて短くなる結果、点火タイミングのバイアスが爆発タイミングに与える影響は、回転数が上がるとその絶対値が小さくなる。一方、吸気管の長さは、エンジンの回転数の変化にかかわらず常に吸気タイミングに一定のバイアスをもたらす。従って、吸気、圧縮、爆発、排気の各過程を個別に扱うようにすれば、吸気に対しては回転数によらず変化しないオフセット時間を与える一方、爆発においては回転数に応じて変化するオフセット時間を与える、といった処理が可能となる。
【０１４１】
［５．３．第３変形例］
また、上述した実施形態においては、時間揺らぎおよび振幅揺らぎを与えるに際し、単発音を一単位とし、単発音ごとに時間方向もしくは振幅方向の伸縮を行うものとして説明したが、それに限られない。例えば、単発音の長さにかかわらず、所定時間ごとに伸縮率が揺らぎをもって変化するようにしてもよい。
【０１４２】
［５．４．第４変形例］
また、上述した実施形態においては、エンジン音の合成処理において、時間揺らぎの付加の後に振幅揺らぎの付加が行われるものとして説明したが、それに限られない。例えば、振幅揺らぎの付加の後に時間揺らぎの付加を行ってもよいし、多気筒の各気筒に関する単発音に対し時間揺らぎ等を付加した後、連結の前に重合を行い、重合波形を連結することによりエンジン音を合成するようにしてもよい。いずれの場合であっても、結果として同じ合成波形が生成される限り、本願発明の技術範囲に含まれる。
【０１４３】
［５．５．第５変形例］
また、上述した実施形態においては、物理的特性値とパラメータとの関係は、回転数によらず固定であるものとして説明したが、それに限られない。例えば、回転数に応じて同じ点火タイミングであっても、相関係数や時間揺らぎの程度等のパラメータが変更するように、回転数ごとに異なるデータを対応関係ＤＢに格納させておき、回転数の変化に応じて異なるデータを検索して用いるようにしてもよい。
【０１４４】
［５．６．第６変形例］
【０１４５】
また、上述した実施形態においては、原波形データ群１００１には回転数に応じて異なる原波形データが含まれているものとして説明したが、それに限られない。例えば、原波形データ群１００１は回転数とエンジン負荷の組み合わせに応じて異なる原波形データを含むようにし、エンジン負荷の変化に応じて、同じ回転数であっても異なる原波形データを選択し用いるようにしてもよい。
【０１４６】
［５．７．第７変形例］
また、上述した実施形態においては、時間揺らぎ付加部１０５２および振幅揺らぎ付加部１０５３は、多気筒エンジンの各々の気筒に対応する揺らぎを持った波形データ群を生成するにあたり、気筒間で同じ乱数列を用いるものとして説明したが、それに限られず、気筒毎に異なる乱数列を用いてもよい。その場合、ユーザが気筒毎に異なる時間揺らぎの程度、振幅揺らぎの程度を入力可能とし、気筒毎に変化の幅の異なる乱数列を生成し時間揺らぎ、振幅揺らぎの付加に用いるようにしてもよい。
【０１４７】
［５．８．第８変形例］
また、上述した実施形態においては、波形合成装置１０および波形合成装置２０は、各構成部に対応する専用のハードウェア回路の組み合わせにより実現されてもよいが、それに限られない。すなわち、汎用コンピュータにアプリケーションプログラムに従った処理を実行させることにより、波形合成装置１０および波形合成装置２０を実現してもよい。
【０１４８】
［６．備考］
上述した実施形態およびその変形例において示した相関係数、相関の値、時間揺らぎの程度、振幅揺らぎの程度、オフセットの程度などの数値や、それらの数値の算出方法は、本発明を説明するための例示であって、本発明の技術範囲はそれらの数値や算出方法に限らない。
【図面の簡単な説明】
【０１４９】
【図１】本発明にかかる連続音が合成される様子を示した図である。
【図２】本発明にかかる重合音が合成される様子を示した図である。
【図３】本発明にかかる揺らぎの付加が重合音に与える影響を示したグラフである。
【図４】本発明にかかる揺らぎの付加が重合音に与える影響を示したソナグラフである。
【図５】本発明にかかる原波形の変化が重合音に与える影響を示したグラフである。
【図６】本発明にかかる原波形の周波数特性の変化が重合音に与える影響を示したグラフである。
【図７】本発明の第１実施形態にかかる波形合成システムの構成を示したブロック図である。
【図８】本発明の第１実施形態にかかる原波形データ群の構成を示した図である。
【図９】本発明の第１実施形態にかかる対応関係ＤＢ群の構成を示した図である。
【図１０】本発明の第１実施形態にかかるデータ入力用画面を示した図である。
【図１１】本発明の第１実施形態にかかる物理的属性値の表示画面を示した図である。
【図１２】本発明の第２実施形態にかかる波形合成システムの構成を示したブロック図である。
【図１３】本発明の第２実施形態にかかる第２対応関係ＤＢ群の構成を示した図である。
【図１４】本発明の第２実施形態にかかるデータ入力用画面を示した図である。
【符号の説明】
【０１５０】
１・２…波形合成システム、１０・２０…波形合成装置、１１…マウス、１２…アンプ、１３…スピーカ、１４…ディスプレイ、１００…記憶部、１０１…パラメータ入力部、１０２…原波形選択部、１０３…周期変更部、１０４…周波数特性変更部、１０５…連続波形生成部、１０６…重合波形生成部、１０７…Ｄ／Ａコンバータ、１０８…属性値特定部、１０９…画面生成部、２０１…属性値入力部、２０２…パラメータ特定部、１００１…原波形データ群、１００２…対応関係ＤＢ群、１０５１…相関変更部、１０５２…時間揺らぎ付加部、１０５３…振幅揺らぎ付加部、１０５４…連結処理部、１０６１…オフセット変更部、１０６２…重合処理部、１２０１…第１対応関係ＤＢ群、１２０２…第２対応関係ＤＢ群。
【図１】
2007256526.tif 000003
【図２】
2007256526.tif 000004
【図３】
2007256526.tif 000005
【図６】
2007256526.tif 000006
【図７】
2007256526.tif 000007
【図８】
2007256526.tif 000008
【図９】
2007256526.tif 000009
【図１０】
2007256526.tif 000010
【図１１】
2007256526.tif 000011
【図１２】
2007256526.tif 000012
【図１３】
2007256526.tif 000013
【図１４】
2007256526.tif 000014
【図４】
2007256526.tif 000015
【図５】
2007256526.tif 000016