(57)【特許請求の範囲】
【請求項１】
ランダムノイズの波形を示すノイズ波形信号を出力する音源と、
車両のエンジンの回転数を検出する回転数センサと、
エンジン音の合成対象として仮想されたエンジンの前記回転数における１気筒分のエンジン音のエンベロープを模した振幅変調波形による振幅変調処理と、前記回転数に応じた基本周波数およびその整数倍の倍音周波数のスペクトルを強調する櫛形フィルタ処理とを、前記ノイズ波形信号に施して合成エンジン音信号を生成するエンジン音合成手段と、
前記合成エンジン音信号を音として出力するエンジン音出力手段と、
を備え、
前記エンジン音合成手段は、
前記振幅変調波形に振幅方向および時間軸方向のランダムな揺らぎを付与する処理、または、前記振幅変調処理および前記櫛形フィルタ処理を施したノイズ波形信号に振幅方向および時間軸方向のランダムな揺らぎを付与する処理の何れか一方をさらに行う
ことを特徴とするエンジン音合成装置。
【請求項２】
前記車両のアクセル開度を検出するアクセル開度センサと、
前記合成エンジン音信号の周波数帯域を複数のサブバンドに分割し、サブバンド毎の前記合成エンジン音信号のスペクトル強度を前記アクセル開度に応じて調整するイコライザと
を具備することを特徴とする請求項１に記載のエンジン音合成装置。
【請求項３】
前記車両の車速を検出する車速センサと、
前記合成エンジン音信号に前記車速に応じた周波数特性の歪みを付与する歪み付与手段と
を具備することを特徴とする請求項１または２に記載のエンジン音合成装置。
【請求項４】
前記エンジン音合成手段は、Ｎ気筒のエンジンのエンジン音を示すＮ相の合成エンジン音信号を各々生成するＮ個のエンジン音合成部を有し、
前記エンジン音合成装置は、
Ｎ個のエンジン音合成部がＮ相の合成エンジン音信号を生成するのに用いるＮ種類のノイズ波形信号間の相関を調整する相関調整手段を具備することを特徴とする請求項１〜３のいずれか１の請求項に記載のエンジン音合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両のエンジン音を合成する技術に関する。
【背景技術】
【０００２】
近年、騒音防止の観点からエンジン音の外部への放射の少ない車両が求められているが、その一方、車両内において加速感や迫力に富んだエンジン音を楽しみたいという要求もある。そこで、このような要求に応えるための技術手段として、擬似的に合成したエンジン音を車両内に出力するエンジン音合成装置が各種提案されている（例えば、特許文献１および２）。これら先行技術文献には、実車のエンジンの１気筒における１回の爆発に伴って発生する音（以下、「単発音」）の波形データを単位時間当たりのエンジン回転数等の運転状態に応じて複数記憶した記憶部を有し、運転者の操作に応じた単発音の波形データを該記憶部から読み出しその波形データの表す波形を連続させたものを複数重ね合わせてエンジン音を合成する技術が開示されている。また、この種のエンジン音合成技術をカーレーシングなどのシミュレーションゲームに組み込むことによって、ゲームの臨場感を高めることも提案されている。
【特許文献１】特開２００５−１２８２６２号公報
【特許文献２】特開２００６−３２３１９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、実車の単発音をその運転状態毎に収録しその波形を表す波形データを生成しておくことには多大な手間を要する。また、単発音の波形を連続させ、さらにそれらを複数重ね合わせてエンジン音を合成する処理は演算量が極めて多く、その実行には高性能なＤＳＰが必要になるといった問題がある。さらに、実車の単発音を音源としてエンジン音を合成する態様では、ランブル感の調整や次数成分の調整などの微調整が難しくエンジン音合成の自由度が低いといった問題点もある。
本発明は、上記課題に鑑みて為されたものであり、音源の用意に特段の手間を要せず、かつ、少ない演算量でエンジン音を合成することを可能にする技術を提供することを目的としている。
【課題を解決するための手段】
【０００４】
上記課題を解決するため、本発明は、ランダムノイズの波形を示すノイズ波形信号を出力する音源と、車両のエンジンの回転数を検出する回転数センサと、エンジン音の合成対象として仮想されたエンジンの前記回転数における１気筒分のエンジン音のエンベロープを模した振幅変調波形による振幅変調処理と、前記回転数に応じた基本周波数およびその整数倍の倍音周波数のスペクトルを強調する櫛形フィルタ処理とを、前記ノイズ波形信号に施して合成エンジン音信号を生成するエンジン音合成手段と、前記合成エンジン音信号を音として出力するエンジン音出力手段と、を備え、前記エンジン音合成手段は、前記振幅変調波形に振幅方向および時間軸方向のランダムな揺らぎを付与する処理、または、前記振幅変調処理および前記櫛形フィルタ処理を施したノイズ波形信号に振幅方向および時間軸方向のランダムな揺らぎを付与する処理の何れか一方をさらに行うことを特徴とするエンジン音合成装置を提供する。このようなエンジン音合成装置によれば、合成エンジン音の音源としてランダムノイズを用いるため、実車の単発音を音源とする従来技術に比較して音源の用意に特段の手間を要しない。また、ノイズ波形信号から合成エンジン音を生成する際に行う振幅変調処理および櫛形フィルタ処理は、単発音をエンジン回転数に応じた周期で並べる処理に比較して演算量が少なく、従来に比較して少ない演算量でエンジン音を合成することが可能になる。
【０００５】
より好ましい態様において、上記エンジン音合成装置は、前記車両のアクセル開度を検出するアクセル開度センサと、前記合成エンジン音信号の周波数帯域を複数のサブバンドに分割し、サブバンド毎の前記合成エンジン音信号のスペクトル強度を前記アクセル開度に応じて調整するイコライザとを具備することを特徴とする。このような態様によれば、アクセル開度に応じた臨場感を演出することが可能になる。
【０００６】
また、別の好ましい態様においては、上記エンジン音合成装置は、前記車両の車速を検出する車速センサと、前記合成エンジン音信号に前記車速に応じた周波数特性の歪みを付与する歪み付与手段とを具備することを特徴とする。このような態様によれば、車速に応じてリアルなエンジン音を再現することが可能になる。
【０００７】
また、別の好ましい態様において、前記エンジン音合成手段は、Ｎ気筒のエンジンのエンジン音を示すＮ相の合成エンジン音信号を各々生成するＮ個のエンジン音合成部を有し、前記エンジン音合成装置は、Ｎ個のエンジン音合成部がＮ相の合成エンジン音信号を生成するのに用いるＮ種類のノイズ波形信号間の相関を調整する相関調整手段を具備することを特徴とする。このような態様によれば、Ｎ気筒エンジンのエンジン音を、音源の用意に特段の手間を要することなく、かつ、単発音を利用する従来の技術に比較して少ない演算量で再現することが可能になる。
【発明の効果】
【０００８】
以上のように、本発明によれば、音源の用意に特段の手間を要せず、かつ、少ない演算量でエンジン音を合成することが可能になる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しつつ、本発明を実施するための最良の形態について説明する。
（Ａ：第１実施形態）
（Ａ−１：構成）
図１は、本発明の実施形態の一つであるエンジン音合成装置１Ａの構成を示すブロック図である。エンジン音合成装置１Ａは、車両に搭載され、その車両の単位時間当たりのエンジン回転数などの運転状態に応じたエンジン音を合成し、その車両の車室内に出力するものである。本実施形態のエンジン音合成装置１Ａによるエンジン音の合成対象は、所謂４ストローク単気筒エンジンである。ここで、４ストロークエンジンとは、エンジンに設けられている気筒が燃料の吸気、燃料の圧縮、燃料の点火による爆発および爆発後の排気の４つの行程かなるサイクルを繰り返すことにより１サイクルあたりクランクシャフトを２回押し回して駆動力を得るエンジンのことである。図１に示すように、エンジン音合成装置１Ａは、音源１０、エンジン音合成部２０、記憶部３０、伝達特性模擬フィルタ４０、イコライザ５０、アンプ６０、スピーカ７０およびユーザインタフェース（以下、ＵＩ）部８０を有している。
【００１０】
音源１０は所謂ランダムノイズ発生回路である。具体的には、音源１０は、ホワイトノイズ発生回路であり、ホワイトノイズの波形を表わすサンプリングデータ列であるノイズ波形信号Ｘを出力する。ここで、ホワイトノイズとは、各周波数成分の信号強度が略等しい音のことである。ホワイトノイズ発生手法の一例としては、正規乱数を利用する手法やツェナーダイオードのなだれ電流を利用する手法が挙げられる。音源１０は、上記サンプリングデータを上記の如き周知の手法により所定のサンプリングクロックにしたがって順次発生させ、ノイズ波形信号Ｘとしてエンジン音合成部２０へ出力する。なお、本実施形態では音源１０としてホワイトノイズ発生回路を用いたが、ピンクノイズ発生回路やガウスノイズ発生回路を用いても勿論良い。このように、エンジン音合成装置１Ａは、実車のエンジンの単発音を表す波形データを音源とするのではなく、ランダムノイズのノイズ波形信号を音源としたため、従来のエンジン音合成装置に比較して音源の用意に特段の手間を要しないといった特徴を有する。
【００１１】
エンジン音合成部２０は、音源１０から供給されるノイズ波形信号Ｘに各種信号処理を施して合成エンジン音信号Ｙを生成し、その合成エンジン音信号Ｙを伝達特性模擬フィルタ４０へ出力する。エンジン音合成部２０が実行する信号処理の一例としては、振幅変調処理、櫛形フィルタ処理およびイコライザ処理が挙げられる。なお、これら各処理の詳細については後に明らかにするが、これらの各処理は前述したサンプリングクロックに同期して実行される。エンジン音合成部２０は、例えばＤＳＰであり、記憶部３０に格納されている信号処理プログラムにしたがって上記各信号処理を実行する。このエンジン音合成部２０には、運転者のアクセル操作などの運転操作に応じてエンジンの駆動制御を行うＥＣＵ２が接続されている。ＥＣＵ２は、その駆動制御の対象であるエンジンの単位時間当たりの回転数（前述したクランクシャフトの単位時間当たりの回転数）を検出するエンジン回転数検出センサや車速を検出する車速センサ、アクセルペダルの踏み込み量であるアクセル開度を検出するアクセル開度センサなどの各種センサ（何れも図示省略）からの信号を受け取り、これら各センサによる検出結果を示す運転状態データを例えば１０ミリ秒間隔などの所定の時間間隔でエンジン音合成部２０等に供給する。一方、エンジン音合成部２０は、ＥＣＵ２から供給される運転状態データの表すエンジン回転数ＥＣに応じた振幅変調処理および櫛形フィルタ処理をノイズ波形信号Ｘに施すことにより合成エンジン音信号Ｙを生成する。
【００１２】
記憶部３０は、例えばＦｌａｓｈＲＯＭなどの不揮発性メモリである。記憶部３０には、上述した信号処理プログラムと振幅変調処理にて使用される振幅変調波の波形の波形データ（その振幅変調波を上記サンプリングクロックでサンプリングして得られるサンプリングデータ列）とが格納されている。より詳細に説明すると、記憶部３０には、エンジン音の合成対象として仮想されたエンジン（以下、仮想エンジン：本実施形態では、４ストローク単気筒エンジン）の１つの気筒の１サイクルの時間長として取り得る値の各々に対応付けて、その仮想エンジンの１気筒分のエンジン音の１サイクルの振幅エンベロープを模して作成された波形の波形データが上記振幅変調波の波形データとして格納されている。なお、本実施形態では、振幅変調波として、仮想エンジンの１気筒分のエンジン音の１サイクルのエンベロープを模した波形を用いたが、複数サイクル分のエンベロープを模した波形を用いても勿論良い。
【００１３】
伝達特性模擬フィルタ４０は、エンジン音合成部２０から出力される合成エンジン音信号Ｙを所定の伝達関数へ入力することにより、エンジンルーム内で発生したエンジン音が車両の車体等を伝播して運転者の耳に到達するまでに生じる周波数特性の変化をシミュレートするものである。具体的には、伝達特性模擬フィルタ４０は、エンジンルーム内の中央位置において発したインパルス信号に対する運転者の頭位置におけるインパルス応答に基づいて算出される伝達関数の係数列の各々を、合成エンジン音信号Ｙとして入力される各サンプリングデータに順次乗算してイコライザ５０へ出力する。
【００１４】
イコライザ５０は、アクセル開度ＡＯを示す運転状態データをＥＣＵ２から受け取り、伝達特性模擬フィルタ４０から受け取った合成エンジン音信号Ｙに対してアクセル開度ＡＯに応じたフィルタ処理を施し、アンプ６０へ出力する。具体的には、イコライザ５０は、合成エンジン音信号Ｙの周波数帯域を複数のサブバンドに分割し、各サブバンドのスペクトル強度をアクセル開度ＡＯに応じて調整する処理を行う。なお、イコライザ５０が実行するフィルタ処理における各サブバンドのスペクトル強度の調整量とアクセル開度ＡＯとの関係については、予め実験等により定めておけば良い。このイコライザ５０は、運転者のアクセル操作に応じて周波数特性を変化させる処理を合成エンジン音信号Ｙに施すことによってそのアクセル操作に則した臨場感を演出するためのものである。
【００１５】
イコライザ５０から出力される合成エンジン音信号Ｙは、図示せぬＤ／Ａ変換器によってアナログ形式の合成エンジン音信号に変換され、アンプ６０へ供給される。アンプ６０は、イコライザ５０から供給される合成エンジン音信号に対してスピーカ駆動に適したレベルまで信号レベルを増幅する処理を施してスピーカ７０へ与えるものである。スピーカ７０は、エンジン音合成装置１が搭載される車両の車室内に配置されており、アンプ６０から供給される合成エンジン音信号を音として上記車室内に再生するものである。
【００１６】
ＵＩ部８０は、エンジン音合成装置１Ａを使用するためのＵＩを実現するためのものである。ＵＩ部８０は、ＵＩ画面を表示するための液晶ディスプレイとその液晶ディスプレイの駆動制御を行うための駆動回路と、各種指示を入力するためのタッチパネルとを含んでおり（何れも図示省略）、エンジン音合成装置１が搭載される車両のインストルメントパネル等に設置されている。図２は、ＵＩ部８０の液晶パネルに表示されるＵＩ画面の一例を示す図である。図２に示すＵＩ画面においてグラフィックイコライザを構成するフェーダ群ＧＥは、エンジン音合成装置１により合成される合成エンジン音に対して音響特性に変化を与える周波数帯域とその変化の程度を指定させるためのものである。図２に示すＵＩ画面のスライダＳ０１は、合成エンジン音信号Ｙに与える時間軸方向の揺らぎの程度を指定させるためのものである。図２のＵＩ画面のスライダＳ０２は、合成エンジン音信号Ｙに与える振幅方向の揺らぎの程度を指定させるためのものである。そして、図２のＵＩ画面のＯＮ／ＯＦＦボタンＢ０１は、エンジン音合成装置１Ａによるエンジン音合成を行うか否かをトグル切り替えするためのものである。
以上がエンジン音合成装置１Ａの構成である。
【００１７】
（Ａ−２：動作）
次いで、エンジン音合成装置１Ａが実行する動作について説明する。
エンジン音合成装置１Ａが搭載されている車両において、運転者がイグニッションキーを操作してエンジンを始動させると、エンジンの始動に連動させてエンジン音合成装置１Ａの電源（図示省略）が投入される。エンジン音合成装置１Ａは、電源を投入され、その動作を開始すると、まず、図２に示すＵＩ画面をＵＩ部８０の液晶パネルに表示させる。このＵＩ画面を視認した運転者は、スライダＳ０１やＳ０２を操作して前述した時間揺らぎの程度や振幅揺らぎの程度を指定したり、フェーダ群ＧＥを操作して各周波数帯域の信号強度を指定したりすることができる。そして、上記運転者は、図２に示すＵＩ画面のＯＮ／ＯＦＦボタンＢ０１を押下することによって、上記スライダＳ０１やＳ０２、フェーダ群ＧＥの操作内容に応じた合成エンジン音の再生をエンジン音合成装置１Ａに指示することができる。一方、エンジン音合成装置１Ａは、ＵＩ部８０を介して合成エンジン音の再生開始を指示されたことを検出すると、ノイズ波形信号Ｘの出力を音源１０に開始させる。以降、ホワイトノイズの波形を表わすサンプリングデータがノイズ波形信号Ｘとしてサンプリングクロックに応じた時間間隔で順次音源１０からエンジン音合成部２０に供給される。
【００１８】
図３は、エンジン音合成部２０が実行する処理を示す図である。図３に示す各処理は、ノイズ波形信号Ｘのサンプリングクロックに同期して実行される。つまり、本実施形態では、ノイズ波形信号Ｘがエンジン音合成部２０へ入力される毎に、そのノイズ波形信号Ｘに対して振幅変調処理２１０、櫛形フィルタ処理２２０およびイコライザ処理２３０が順次施され、合成エンジン音信号Ｙがサンプル単位で生成される。図３に示す周期算出処理２４０、時間揺らぎ算出処理２５０および振幅揺らぎ算出処理２６０は、合成エンジン音信号Ｙの生成過程で利用される各種パラメータを生成する処理である。具体的には、周期算出処理２４０は、ＥＣＵ２から直近に引き渡された運転状態データの表わすエンジン回転数がＥＣ回／秒である場合には、仮想エンジンの１サイクルの時間長を表わすパラメータＴを以下の式（１）にしたがって算出し、振幅変調処理２１０および櫛形フィルタ処理２２０に与える処理である。
Ｔ＝２×６０／ＥＣ・・・（１）
【００１９】
時間揺らぎ算出処理２５０は、振幅変調処理２１０にて付与する時間揺らぎを表わすパラメータβを生成する処理である。例えば、ＵＩ画面（図２参照）のスライダＳ０１の操作により、時間揺らぎの程度として４．３％が指定された場合には、この時間揺らぎ算出処理２５０においては、−０．０４３から＋０．０４３の範囲の乱数値が生成され、その乱数値が上記パラメータβとして振幅変調処理２１０へ与えられる。図３の振幅揺らぎ算出処理２６０は、振幅変調処理２１０にて付与する振幅揺らぎを表わすパラメータαを生成する処理である。例えば、ＵＩ画面（図２参照）のスライダＳ０２の操作により、時間揺らぎの程度として６．９％が指定された場合には、この振幅揺らぎ算出処理２６０においては、−０．０６９から＋０．０６９の範囲の乱数値が生成され、その乱数値が上記パラメータαとして振幅変調処理２１０へ与えられる。
【００２０】
振幅変調処理２１０は、音源１０から１サンプル分ずつ引き渡されるノイズ波形信号Ｘに対して、仮想エンジンの１気筒分のエンジン音のエンベロープを模した振幅変調波形により振幅変調を施す処理である。上記仮想エンジンが４ストロークエンジンである場合、その気筒の１サイクルは、燃料の吸気、燃料の圧縮、燃料の点火による爆発および爆発後の排気の４つの行程で構成されているから、１サイクル分のエンジン音のエンベロープは概ね図４に示す波形となる。振幅変調処理２１０においては、ノイズ波形信号Ｘを音源１０から受け取る毎に、周期算出処理２４０から引き渡されるパラメータＴに対応する波形データの各サンプリングデータをその先頭から順に読み出してノイズ波形信号Ｘに乗算することにより、上記振幅変調が実現される。本実施形態では、このような振幅変調波形を予め作成し記憶部３０にその波形データを格納しておいたが、図４を参照すれば明らかなように、上記振幅変調波形は、燃料の吸気、圧縮、爆発および排気の各コントロールポイントにおける振幅値を直線で結んで得られるものであるからから、実車のエンジン音をエンジン回転数毎に収録し、その各々から単発音を切り出す作業に比べれば充分に少ない作業量でその振幅変調波形を作成することができる。また、振幅変調処理２１０の実行過程で、該当する振幅変調波のサンプリングデータを全て読み出した後は、再度、その先頭のものから読み出すようにすれば良いことは言うまでもない。
【００２１】
加えて、振幅変調処理２１０においては、上記波形データを記憶部３０から読み出す速度を、時間揺らぎ算出処理２５０にて算出されたパラメータβに応じて調整することで、そのパラメータβに応じた時間揺らぎの付与が実現される。このような読出し速度の調整は、以下のようにして行われる。例えば、時間揺らぎを付与せずに（すなわち、読出し速度の調整を行うことなく）記憶部３０から読み出すべきサンプリングデータが、先頭からｎ番目のサンプリングデータである場合には、以下の式（２）にしたがって算出される補間サンプリングデータを上記ｎ番目のサンプリングデータの代わりに用いて、ノイズ波形信号Ｘに乗算する処理が行われる。
（１−β）×（先頭からｎ番目のサンプリングデータ）＋β×（先頭からｎ＋１番目のサンプリングデータ）…（２）
さらに、式（２）にしたがって算出される補間サンプリングデータに（１＋α）を乗算した後に、ノイズ波形信号Ｘに乗算することにより、振幅揺らぎ算出処理２６０にて算出されたパラメータαに応じた振幅揺らぎの付与が実現される。この振幅変調処理２１０によって、ノイズ波形信号Ｘのエンベロープは、エンジン回転数ＥＣで駆動している４ストローク単気筒エンジンのエンジン音のエンベロープにランダムな振幅揺らぎやランダムな時間揺らぎを付加したものと略同様なものに変換される。このような振幅揺らぎおよび時間揺らぎの付与を行うことにより、ランブル感に富んだリアルな合成エンジン音を再生することが可能になるのである。上記パラメータαおよびβを生成する振幅揺らぎ算出処理２６０および時間揺らぎ算出処理２５０は、ノイズ波形信号Ｘを示すサンプリングデータがエンジン音合成部２０に引き渡される度に実行されるのであるから、本実施形態では、１サンプル単位で時間揺らぎおよび振幅揺らぎの付与が行われる。しかし、複数サンプルおきに時間揺らぎおよび振幅揺らぎの付与を行っても勿論良い。また、４サイクルエンジンの各コントロールポイント（すなわち、吸気、圧縮、爆発および排気）の時間軸上の位置および振幅を、ＵＩ画面（図２参照）を介して指定された時間揺らぎの程度および振幅揺らぎの程度に応じて調整した波形データを用いて振幅変調処理を行うことで１サイクルの波形単位で時間揺らぎおよび振幅揺らぎの付与を行っても勿論良い。
【００２２】
次いで、エンジン音合成部２０は、振幅変調処理２１０が施されたノイズ波形信号Ｘに対してエンジン回転数ＥＣに応じた遅延時間ΔＴの櫛形フィルタ処理２２０を施す。図５は、タップ数Ｎｔの櫛形フィルタ処理２２０の処理内容を示す図である。図５に示すように、櫛形フィルタ処理２２０は、振幅変調処理２１０が施されたノイズ波形信号Ｘをｊ・ΔＴ（ｊ＝０〜Ｎｔ−１）ずつ遅延させ、Ｎｔ個の遅延ノイズ波形信号を生成する遅延処理２２０ａと、Ｎｔ個の遅延ノイズ波形信号の各々に所定の係数を乗算する係数乗算処理２２０ｂと、係数乗算処理２２０ｂにより得られるＮｔ個の乗算結果を加算して出力する加算処理２２０ｃを含んでいる。なお、本実施形態においては、振幅変処理２１０が施されたノイズ波形信号Ｘを記憶部３０にバッファリングしておき、後続のノイズ波形信号Ｘについての櫛形フィルタ処理２２０を実行する際に読み出すことで遅延処理２２０ａが実現される。また、本実施形態では、櫛形フィルタ処理２２０の遅延時間ΔＴとして、前述した周期算出処理２４０で算出されたパラメータＴの表す値が用いられる。
【００２３】
前述した振幅変調処理２１０により、ノイズ波形信号Ｘは、４ストローク単気筒エンジンのエンジン音と略同一のエンベロープ（すなわち、図４に示す波形が周期Ｔで繰り返す波形）を有する信号に変換されている。このため、振幅変調処理２１０が施されたノイズ波形信号Ｘの表わす波形のスペクトル分布は、概ね基本周波数Ｆ０＝１／Ｔおよびその整数倍の倍音周波数において強度がピークを有するものになる。一方、櫛形フィルタ処理２２０の周波数特性は、遅延時間ΔＴとして周期算出処理２４０で算出されたパラメータＴの表す値が用いられるため、上記基本周波数Ｆ０とその倍音周波数に利得の山を持ち、基本周波数およびその倍音周波数の各間に利得の谷を持ったものになる。したがって、櫛形フィルタ処理２２０を施すことにより、上記合成エンジン音は元のスペクトル分布よりも山の幅が狭められ、谷の幅が広がり、かつ、谷が深くなったスペクトル分布を持ったものになる。つまり、櫛形フィルタ処理２２０によって、エンジン回転数ＥＣに応じた周波数成分の強調が行われるのである。
【００２４】
なお、エンジン音合成装置１Ａにより合成されるエンジン音にランブル感を付与するため、櫛形フィルタ処理２２０のタップ位置に揺らぎを付与しても良い。具体的には、各々が所定範囲内の値を取り得る乱数値からなる乱数列を発生させ、それら乱数値を基本周波数Ｆ０およびその倍音周波数の各々に加算して遅延処理２２０ａにおけるタップ位置を定めるようにすれば良い。同様に、櫛形フィルタ処理２２０のかかり具合によって上記ランブル感を付与することも可能である。具体的には、櫛形フィルタ処理２２０の各タップの高さ（すなわち、係数乗算処理２２０ｂにて使用する乗算係数）に上記乱数値を用いた揺らぎを付与すれば良い。また、本実施形態では、音源１０から出力されるノイズ波形信号Ｘに対して振幅変調処理２１０を施した後に櫛形フィルタ処理２２０を施したが、両処理の順番を入れ替えても勿論良い。
【００２５】
イコライザ処理２３０は、櫛形フィルタ処理２２０によりエンジン回転数ＥＣに応じた周波数成分の強調が施された合成エンジン音信号に対し、図２のＵＩ画面のフェーダ群ＧＥの操作により指定された内容で各周波数帯域の信号強度を調整する処理（すなわち、周波数特性を歪ませる処理）である。なお、本実施形態のイコライザ処理２３０においては、ＵＩ画面（図２参照）に設けられているフェーダ群ＧＥに対する操作内容に応じて合成エンジン音の周波数特性を歪ませたが、車両の走行速度である車速に応じて上記周波数特性を歪ませても良い。このように、車速に応じた周波数特性の歪みを付与することで、加速感等を演出しリアルさを向上させることができる。また、エンジン音の周波数特性の歪みと車速との関係は、車両の車種によって異なっていることが一般的であるため、様々な車種についての上記周波数特性の歪みと車速との対応を表すデータを記憶部３０に予め書き込んでおき、運転者により指定された車種に対応するデータにしたがって上記周波数特性の歪みを合成エンジン音に付与するイコライザ処理を実行させるようにすれば、エンジン音合成装置１Ａが搭載されている車両の車室内にその車両とは異なる車種のエンジン音を合成して出力することが可能になる。また、かかる周波数特性の歪みを付与しない態様においては、イコライザ処理２３０を行う必要はないから、イコライザ処理２３０を実行するか否かを運転者に指定させるようにしても勿論良い。
【００２６】
このように、ノイズ波形信号Ｘに対して振幅変調処理２１０、櫛形フィルタ処理２２０およびイコライザ処理２３０を施すことにより生成された合成エンジン音信号Ｙは、エンジン音合成部２０からその後段の伝達特性模擬フィルタ４０へ出力される。以降、合成エンジン音信号Ｙは、伝達特性模擬フィルタ４０、イコライザ５０の各々により処理され、さらに、図示せぬＤ／Ａ変換器によってアナログ形式の合成エンジン音信号に変換されてアンプ６０へ入力される。この合成エンジン音信号はアンプ６０によって出力レベルの調整が行われた後にスピーカ７０に供給され、スピーカ７０から音として出力される。その結果、スピーカ７０からは仮想的な４ストローク単気筒エンジンのエンジン音が出力されるのである。
【００２７】
以上説明したように、本実施形態に係るエンジン音合成装置１Ａによれば、エンジン音合成のための音源としてランダムノイズのノイズ波形信号を用いるため、実車のエンジン音を運転状態毎に用意することが必要な従来技術に比較して音源の用意に特段の手間を要しないといった特徴がある。また、ノイズ波形信号から合成エンジン音信号を生成する際にエンジン音合成装置１Ａが実行する振幅変調処理や櫛形フィルタ処理は、従来のエンジン音合成装置で行われていた信号処理に比較して演算量の少ない処理であるため、従来よりも少ない演算量でエンジン音を合成することが可能になる。
【００２８】
（Ｂ：第２実施形態）
図６は、本発明の第２実施形態に係るエンジン音合成装置１Ｂの構成例を示す図である。
本第２実施形態における仮想エンジンは、４ストローク４気筒エンジンである。図６に示すように、エンジン音合成装置１Ｂは、音源１０およびエンジン音合成部２０に換えて、上記仮想エンジンの各気筒のエンジン音を各々独立に合成する４つのエンジン音合成系１００−ｎ（ｎ＝１〜４）と、これら４つのエンジン音合成系１００−ｎの各々により合成された４相のエンジン音をミキシングして伝達特性模擬フィルタ４０に出力するミキサ部９０を有している点が、前述したエンジン音合成装置１Ａと異なっている。
【００２９】
図６に示すように、エンジン音合成系１００−ｎの各々は、音源１０−ｎとエンジン音合成部２０−ｎとを含んでいる。音源１０−ｎは前述した音源１０と同様ランダムノイズ発生回路である。音源１０−ｎの各々によるノイズ波形信号の発生のさせ方としては、各々独立にノイズ波形信号を発生せる態様と、互いに何らかの相関を持つノイズ波形信号を発生させる態様とがある。例えば、爆発一次成分とその倍音成分のみが際立つスペクトルを有する合成エンジン音が要求される場合には、各音源１０−ｎに互いに相関が高いノイズ波形信号を時間揺らぎの少ない状態（すなわち、各ノイズ波形信号の位相が略揃った状態）で発生させれば良く、逆に、ハーフ次成分が際立つスペクトルを有する合成エンジン音が要求される場合には、各音源１０−ｎに互いに相関が低いノイズ波形信号を発生させたり、周期的な時間揺らぎを付与した状態で発生させたりしても良い。また、運転者の所望に応じて上記２つの態様を切替えることを可能にするため、各音源１０−ｎが出力するノイズ波形信号間の相関を調整する相関調整手段を音源１０−ｎからエンジン音合成部２０−ｎへ至る経路に設けても良い。なお、本実施形態では、エンジン音合成系１００−ｎの各々が別個の音源１０−ｎを有していたが、１つの音源を各エンジン音合成系１００−ｎに共有させても勿論良い。このように１つの音源を各エンジン音合成系１００−ｎに共有させる態様で、各エンジン音合成系１００−ｎに相関の低いノイズ波形信号を処理させる必要がある場合には、音源から出力されるノイズ波形信号をメモリなどの記憶装置に順次蓄積し、各エンジン音合成系１００−ｎには、互いに異なる時間におけるノイズ波形信号を上記記憶装置から読み出して与えれば良い。
【００３０】
図６のエンジン音合成部２０−ｎの各々は、前述したエンジン音合成部２０と同様の処理（図３参照）を実行するＤＳＰであるが、各エンジン音合成部２０−ｎにおける一連の処理（すなわち、振幅変調処理および櫛形フィルタ処理）の実行開始タイミングが各々異なっている。より詳細に説明すると、エンジン音合成部２０−２、２０−３および２０−４においては、エンジン音合成部２０−１における上記一連の処理の実行開始タイミングから、Ｔ（１サイクル分の時間長）／仮想エンジンの気筒数（すなわち、４）で算出される時間ずつ遅延させたタイミングで上記一連の信号処理の実行が開始される。このため、エンジン音合成系１００−２から出力されるエンジン音信号は、エンジン音合成系１００−１から出力されるエンジン音信号に対して略Ｔ／４（振幅変調処理２１０で付与される時間揺らぎの分だけＴ／４からずれが生じる）だけの遅延したものに、エンジン音合成系１００−３から出力されるエンジン音信号は、エンジン音合成系１００−２から出力されるエンジン音信号に対して略Ｔ／４だけの遅延したものに、エンジン音合成系１００−４から出力されるエンジン音信号は、エンジン音合成系１００−３から出力されるエンジン音信号に対して略Ｔ／４だけの遅延したものになる。このように、仮想エンジンの気筒数に応じた時間ずつ遅延した複数のエンジン音信号をミキサ部９０でミキシングすることにより、各気筒の駆動タイミングのずれを再現した仮想多気筒エンジンのエンジン音が合成されるのである。なお、上記のようにして生成される合成エンジン音においてランブル感を強調するため、例えば、エンジン音合成系１００−２から１００−４の各々から出力されるエンジン音信号に対し、エンジン音合成系１００−１から出力されるエンジン音信号との相関を弱める処理を施してミキサ部９０へ入力するようにしても良い。このようなことは、例えば、エンジン音合成系１００−ｋから出力されるエンジン音信号の各サンプリングデータに、所定範囲内の値として発生させた乱数値を乗算してミキサ部９０へ入力する相関調整手段をエンジン音合成系１００−ｋ（ｋ＝２から４）からミキサ部９０へ至る経路の各々に設けることで実現される。
【００３１】
以上説明したように、本第２実施形態においても、前述した第１実施形態と同様、実車の単発音を音源とする従来のエンジン音合成装置に比較して音源の用意に特段の手間を要することはなく、また、振幅変調処理および櫛形フィルタ処理といった比較的演算量の少ない信号処理でエンジン音の合成が行えるのであるから、本第２実施形態によれば、多気筒エンジンのエンジン音を、音源の用意に特段の手間を要することなく、かつ、従来よりも少ない演算量で合成することが可能になる。なお、本第２実施形態の仮想エンジンは、４ストローク４気筒エンジンであったが、その仮想エンジンの気筒数を１〜４の範囲内で運転者に指定させ、その指定内容に応じてエンジン音合成装置１Ｂを駆動させても良い。例えば、上記気筒数として１が指定された場合には、エンジン音合成系１００−１のみを駆動させ、上記気筒数として２が指定された場合には、エンジン音合成系１００−１と１００−２を駆動させ、上記気筒数として３が指定された場合には、エンジン音合成系１００−１、１００−２および１００−３を駆動させれば良い。また、本第２実施形態のエンジン音合成装置１Ｂは４つのエンジン音合成系を有していたが、本発明に係るエンジン音合成装置１Ｂが有するエンジン音合成系の数は２または３であっても良く、５以上であっても良い。
【００３２】
（Ｃ：その他の実施形態）
以上、本発明の１実施形態について説明したが、かかる実施形態に以下に述べる変形を加えても勿論良い。
（１）上述した実施形態では、ホワイトノイズのノイズ波形信号Ｘから４ストロークエンジンのエンジン音を表す合成エンジン音信号Ｙを生成した。しかし、エンジン音は、気筒の駆動音（吸気音や爆発音、排気音など）の他に、カムチェーン音やファンベルト音などのメカノイズ音を構成成分として含んでいることが一般的であるため、エンジン音の各構成成分の波形信号をノイズ波形信号に振幅変調処理および櫛形フィルタ処理を施して合成し、それら構成成分の波形信号をミキシングして合成エンジン音を生成しても勿論良い。
【００３３】
（２）上述した実施形態では、エンジン音合成部２０やエンジン音合成部２０−ｎをＤＳＰで構成し、本発明に係るエンジン音合成処理に特徴的な処理をソフトウェアモジュールで実現したが、図３に示す各処理を実行する電子回路を組み合わせてエンジン音合成部２０やエンジン音合成部２０−ｎを構成しても勿論良い。
【００３４】
（３）上述した実施形態では、車速やアクセル開度に応じて合成エンジン音の周波数特性に調整を加える態様について説明したが、例えば車速が速いほど、または、アクセル開度が大きいほど合成エンジン音の音圧が高くなるよう、車速やアクセル開度に応じた音圧調整を施して勿論良い。
【００３５】
（４）上述した各実施形態では、１サンプル単位で合成エンジン音を生成したが、複数サンプルからなるフレーム単位で合成エンジン音を生成しても勿論良い。また、１サイクル分などの波形単位で合成エンジン音を生成することもできる。具体的には、図７に示すように、ＥＣＵ２から運転状態データを受け取ったことを契機として、１サイクルの時間長分ずつ波形データをノイズ波形信号Ｘから切り出す音波形切出処理をエンジン音合成部２０に実行させる。そして、図７に示すように、これら１サイクル分の波形データの各々に対して前述した振幅変調処理および櫛形フィルタ処理を施して単発音の波形データを合成し、この波形データを連ねることにより合成エンジン音の波形データを生成するのである。なお、上記波形データを連ねて合成エンジン音信号を生成する具体的な手法としては、上記のようにして生成される波形データ（単発音の波形データ）を記憶部３０へ書き込み、記憶部３０に書き込まれた波形データを、エンジンの回転に同期した読出しタイミングで順次読出し、伝達特性模擬フィルタ４０へ出力することが挙げられる。
【００３６】
また、図７に示すように、記憶部３０から波形データを読み出す際に、ＵＩ画面のスライダＳ０２の操作により入力された値に基づいて、振幅揺らぎを付与することも可能である。具体的は、運転者により入力された振幅揺らぎの程度が「６．９（％）」である場合、−０．０６９〜０．０６９範囲の何れかの値をとる乱数値Ｅを算出し、記憶部３０から読み出した波形データの振幅を（１＋Ｅ）倍に伸張することにより、上記振幅揺らぎの付与が実現される。同様に、記憶部３０からの波形データの読出しタイミングに、ＵＩ画面（図２参照）のスライダＳ０１に対する操作により入力された値に応じた揺らぎを付与し、かつ、各読出しタイミングの時間間隔に応じて、波形データを時間軸方向に圧伸することにより時間揺らぎの付与も可能である。なお、時間揺らぎを付与する態様にあっては、各波形データのつなぎ目で振幅にジャンプが発生しないようにするため、例えば、時間軸方向の両端の振幅が０である窓関数を波形データに乗算する窓関数処理を施した後に伝達特性模擬フィルタ４０へ出力することが望ましい。さらに、前述した第２実施形態と同様に４つのエンジン音合成系を設け、その各々における音波形切出処理の実行タイミングを図８に示すようにＴ／４（Ｔは、１つの気筒の１サイクルの時間長）ずつ遅延させることで、４気筒エンジンのエンジン音を合成することが可能になる。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１実施形態に係るエンジン音合成装置１Ａの構成例を示す図である。
【図２】同エンジン音合成装置１ＡのＵＩ部８０が表示するＵＩ画面の一例を示す図である。
【図３】同エンジン音合成装置１Ａのエンジン音合成部２０が実行する処理の一例を示すブロック図である。
【図４】同エンジン音合成部２０で実行される振幅変調処理２１０にて使用される振幅変調波の一例を示す図である。
【図５】同エンジン音合成部２０で実行される櫛形フィルタ処理２２０の処理内容を示す図である。
【図６】本発明の第２実施形態に係るエンジン音合成装置１Ｂの構成例を示す図である。
【図７】変形例（４）に係るエンジン音合成部が実行する各処理の処理内容を説明するための図である。
【図８】同変形例（４）にて、複数のエンジン音合成系を有する場合の各エンジン音合成系における音波形切出処理の実行タイミングを示す図である。
【符号の説明】
【００３８】
１Ａ、１Ｂ…エンジン音合成装置、１０…音源、２０…エンジン音合成部、３０…記憶部、４０…伝達特性模擬フィルタ、５０…イコライザ、６０…アンプ、７０…スピーカ、８０…ＵＩ部、２…ＥＣＵ、２１０…振幅変調処理、２２０…櫛形フィルタ処理、２３０…イコライザ処理、２４０…周期算出処理、２５０…時間揺らぎ算出処理、２６０…振幅揺らぎ算出処理。
【図１】
0005040541.tif 000002
【図２】
0005040541.tif 000003
【図３】
0005040541.tif 000004
【図４】
0005040541.tif 000005
【図５】
0005040541.tif 000006
【図６】
0005040541.tif 000007
【図７】
0005040541.tif 000008
【図８】
0005040541.tif 000009