(57)【特許請求の範囲】
【請求項１】
アクセル開度の値を所定の初期値から順次更新可能に記憶する記憶手段と、
実車両の速度情報を取得する速度情報取得手段と、
前記速度情報取得手段が取得した速度情報から車速の変化傾向を求める変化傾向特定手段と、
車速の変化傾向とアクセル開度の補正値との関係を記憶する補正値記憶手段と、
前記変化傾向特定手段が求めた変化傾向に対応する前記補正値記憶手段内の補正値を用いて、前記記憶手段内のアクセル開度の値を更新し、更新後の値を前記記憶手段に再度記憶させるアクセル開度更新手段と、
前記アクセル開度更新手段によって更新されたアクセル開度の値に基づいて合成エンジン音データを生成する生成手段と
を具備することを特徴とするエンジン音生成装置。
【請求項２】
前記実車両が有する原動機の動作に応じて回転する部分の回転数に基づいてエンジン回転数を示すエンジン回転数情報を取得するエンジン回転数情報取得手段と
をさらに具備し、
前記生成手段は、前記アクセル開度更新手段によって更新されたアクセル開度の値と前記エンジン回転数情報取得手段が取得したエンジン回転数情報とに基づいて合成エンジン音データを生成する
ことを特徴とする請求項１記載のエンジン音生成装置。
【請求項３】
前記生成手段は、あらかじめ想定したモデル車両のエンジン回転数とアクセル開度に応じたエンジン音データを記憶したエンジン音データ記憶部を有し、前記エンジン音データ記憶部内のエンジン音データを用いて、前記アクセル開度更新手段によって更新されたアクセル開度の値と前記エンジン回転数情報取得手段が取得したエンジン回転数情報とに基づいて合成エンジン音データを生成する
ことを特徴とする請求項２記載のエンジン音生成装置。
【請求項４】
前記補正値記憶手段が記憶する車速の変化傾向とアクセル開度の補正値との関係は、前記エンジン音データ記憶部が記憶するエンジン音データに応じて設定されている
ことを特徴とする請求項３記載のエンジン音生成装置。
【請求項５】
前記変化傾向特定手段は、あらかじめ定められた期間毎に前記変化傾向を求めるとともに、前記期間を複数に分割した小区間を設定し、前記各小区間において求められた変化傾向に基づいて前記期間の変化傾向を求める
ことを特徴とする請求項１乃至４いずれかに記載のエンジン音生成装置。
【請求項６】
定速走行時のアクセル開度と車速との関係を記憶した定速アクセル開度記憶手段と、
前記変化傾向があらかじめ定められた範囲内にあるときは、前記実車両が定速走行していると判断して、前記定速アクセル開度記憶手段が記憶している関係と速度情報取得手段が取得した車速情報とに基づいて、アクセル開度を求める定速アクセル開度取得手段と、
を有し、
前記補正値記憶手段は、前記定速アクセル開度取得手段が求めたアクセル開度の値と前記記憶手段が記憶するアクセル開度の値とに基づいたアクセル開度の補正値の関係をさらに記憶し、
前記アクセル開度更新手段は、前記定速アクセル開度取得手段がアクセル開度を求めたときは、その求められた値に対応する前記補正値記憶手段内の補正値を用いて、前記記憶手段内のアクセル開度の値を更新する
ことを特徴とする請求項１乃至５いずれかに記載のエンジン音生成装置。
【請求項７】
シフトチェンジの有無を判断する判断手段を設け、
前記アクセル開度更新手段は、前記判断手段がシフトチェンジがあったことを判断した場合は、あらかじめ定められた値となるように更新を行う
ことを特徴とする請求項１乃至６いずれかに記載のエンジン音生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン音生成装置に関する。
【背景技術】
【０００２】
車両において、検出したアクセル開度およびエンジン回転速度等のパラメータを用いてエンジン音などを生成する装置が開示されている。例えば、特許文献１に記載の装置においては、スロットル開度データおよびエンジン回転速度データに基づいてエンジン音の合成音データを生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−０１０５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、エンジン音のデータとして、その車両とは異なるタイプの車両を想定したデータを用いると、速度領域、エンジン回転数の領域や変化特性、アクセル開度の変化特性などが必ずしもその車両と対応しない場合があるが、どのようにすれば望ましいエンジン音が合成されるかについては考慮されていない。
本発明の目的は、車両が走行する速度の情報に基づいて生成するアクセル開度の情報を用いてエンジン音を生成するエンジン音生成装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、アクセル開度の値を所定の初期値から順次更新可能に記憶する記憶手段と、実車両の速度情報を取得する速度情報取得手段と、前記速度情報取得手段が取得した速度情報から車速の変化傾向を求める変化傾向特定手段と、車速の変化傾向とアクセル開度の補正値との関係を記憶する補正値記憶手段と、前記変化傾向特定手段が求めた変化傾向に対応する前記補正値記憶手段内の補正値を用いて、前記記憶手段内のアクセル開度の値を更新し、更新後の値を前記記憶手段に再度記憶させるアクセル開度更新手段と、前記アクセル開度更新手段によって更新されたアクセル開度の値に基づいて合成エンジン音データを生成する生成手段とを具備することを特徴とするエンジン音生成装置を提供する。
【０００６】
本発明の好ましい態様において、前記実車両が有する原動機の動作に応じて回転する部分の回転数に基づいてエンジン回転数を示すエンジン回転数情報を取得するエンジン回転数情報取得手段とをさらに具備し、前記生成手段は、前記アクセル開度更新手段によって更新されたアクセル開度の値と前記エンジン回転数情報取得手段が取得したエンジン回転数情報とに基づいて合成エンジン音データを生成してもよい。
【０００７】
本発明の好ましい態様において、前記生成手段は、あらかじめ想定したモデル車両のエンジン回転数とアクセル開度に応じたエンジン音データを記憶したエンジン音データ記憶部を有し、前記エンジン音データ記憶部内のエンジン音データを用いて、前記アクセル開度更新手段によって更新されたアクセル開度の値と前記エンジン回転数取得手段が取得したエンジン回転数情報とに基づいて合成エンジン音データを生成してもよい。
【０００８】
本発明の好ましい態様において、前記補正値記憶手段が記憶する車速の変化傾向とアクセル開度の補正値との関係は、前記エンジン音データ記憶部が記憶するエンジン音データに応じて設定されていてもよい。
【０００９】
本発明の好ましい態様において、前記変化傾向特定手段は、あらかじめ定められた期間毎に前記変化傾向を求めるとともに、前記期間を複数に分割した小区間を設定し、前記各小区間において求められた変化傾向に基づいて前記期間の変化傾向を求めてもよい。
【００１０】
本発明の好ましい態様において、定速走行時のアクセル開度と車速との関係を記憶した定速アクセル開度記憶手段と、前記変化傾向があらかじめ定められた範囲内にあるときは、前記実車両が定速走行していると判断して、前記定速アクセル開度記憶手段が記憶している関係と速度情報取得手段が取得した車速情報とに基づいて、アクセル開度を求める定速アクセル開度取得手段と、を有し、前記補正値記憶手段は、前記定速アクセル開度取得手段が求めたアクセル開度の値と前記記憶手段が記憶するアクセル開度の値とに基づいたアクセル開度の補正値の関係をさらに記憶し、前記アクセル開度更新手段は、前記定速アクセル開度取得手段がアクセル開度を求めたときは、その求められた値に対応する前記補正値記憶手段内の補正値を用いて、前記記憶手段内のアクセル開度の値を更新してもよい。
【００１１】
本発明の好ましい態様において、シフトチェンジの有無を判断する判断手段を設け、アクセル開度更新手段は、前記判断手段がシフトチェンジがあったことを判断した場合は、あらかじめ定められた値となるように更新を行ってもよい。
【発明の効果】
【００１２】
本発明によれば、車速の変化傾向とアクセル開度の補正値との関係を任意に設定することができ、車両が走行する速度の情報に基づいて所望のモデル車両に対応したアクセル開度を生成して、そのアクセル開度からエンジン音を生成することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係るエンジン音生成装置の構成を示すブロック図である。
【図２】実車両とモデル車両との車速域を説明するグラフである。
【図３】ギア別車速域設定情報を説明するグラフである。
【図４】ギア別車速域設定情報を説明するグラフである。
【図５】エンジン回転数生成動作のフローチャートである。
【図６】実車両の車速と検出される車速を比較するグラフである。
【図７】車速変化傾向を説明するグラフである。
【図８】アクセル開度の補正を説明する図である。
【図９】アクセル開度補正値を説明する図である。
【図１０】車速、エンジン回転数およびアクセル開度の時間変化の一例を示す図である。
【図１１】車速、エンジン回転数およびアクセル開度の時間変化の一例を示す図である。
【図１２】アクセル開度生成動作のフローチャートである。
【図１３】エンジン音データの生成を説明する図である。
【図１４】変形例１に係るエンジン音生成装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜実施形態＞
図１は、本実施形態に係るエンジン音生成装置１０の構成を示すブロック図である。エンジン音生成装置１０は、検出部２０、記憶部３０、処理部４０、エンジン音生成部５０および操作部６０を備え、エンジン音を生成する。検出部２０は、車両が走行する速度（以下、「車速」という。）を検出する車速検出部２１０と、車両の加速度を検出する加速度検出部２２０とで構成される。車速検出部２１０は、例えば、車両が有する原動機の動作に応じて車輪を回転させるシャフトに取り付けられて、このシャフトの回転数を検出するセンサを有している。車速検出部２１０は、このセンサが検出した回転数に基づいて、車速を検出する。車速検出部２１０は、検出した車速の値を示す情報（以下、「車速情報」という。）を生成し、処理部４０へ出力する。加速度検出部２２０は、加速度を検出するセンサを有する。加速度検出部２２０は、車両に取り付けられて、車両の加速度を検出する。加速度検出部２２０は、この検出した加速度のうち、車両が走行する方向に対する加速度の値を示す情報（以下、「加速度情報」という。）を処理部４０へ出力する。なお、加速度検出部２２０は車速情報に微分等の演算を施すことによって加速度を求めるように構成してもよい。
【００１５】
記憶部３０は、エンジン音生成装置１０を搭載して実際に走行する車両（以下、「実車両Ｒ」という。）およびエンジン音生成装置１０が生成するエンジン音のモデルとしてあらかじめ想定した車両（以下、「モデル車両Ｍ」という。）の特性を表わす情報を記憶する。車両設定情報３１０は、モデル車両Ｍにおけるタイヤ外周の長さおよび変速ギア比等の値を設定した情報である。車速域設定情報３２０は、実車両Ｒおよびモデル車両Ｍの車速の範囲を設定した情報である。速度・回転数対応関係設定情報３３０は、モデル車両Ｍにおいて、変速機が有する複数のギア（以下、単に「ギア」という。）のそれぞれに応じて前記モデル車両の走行速度とエンジン回転数との対応関係を設定した情報である。ギア固定時アクセル開度設定情報３４０は、後述する動作によって実車両Ｒの車速情報からアクセル開度を生成する際に用いる設定情報である。シフトチェンジ時アクセル開度設定情報３５０は、後述する動作によって実車両Ｒのシフトチェンジ時にアクセル開度を生成する際に用いる設定情報である。なお、本実施形態においては、この実車両Ｒが本発明における「車両」に相当する。また、変速機が有する複数のギアの組合せによる複数の回転数比が本発明における「変速段度」に相当する。
【００１６】
処理部４０は、ＣＰＵ（Central Processing Unit）４１０と、このＣＰＵ４１０で用いられるプログラム等が記憶されたＲＯＭ（Read Only Memory）４２０と、ＣＰＵ４１０のワークエリアとして用いられるＲＡＭ（Random Access Memory）４３０とを有しており、これらは一般的なコンピュータを構成している。処理部４０は、実車両Ｒから車速検出部２１０および加速度検出部２２０が検出して出力した情報を、記憶部３０に記憶されている各種情報に基づいて処理する。処理部４０は、この処理によって、エンジン音を生成するためのエンジン回転数の値およびアクセル開度の値を示す情報を生成する。処理部４０は、生成したこれらの情報を、エンジン音生成部５０へ出力する。
【００１７】
エンジン音生成部５０は、モデル車両Ｍのエンジン音の波形を示すエンジン音データを記憶するエンジン音データ記憶部５１０を備える。エンジン音生成部５０は、このエンジン音データの情報と処理部４０から入力されたエンジン回転数およびアクセル開度の情報とを用いて、実車両Ｒが運転されている状況に応じたエンジン音データを生成する。エンジン音生成部５０は、生成したエンジン音データを示す信号を図示せぬ外部のアンプおよびスピーカ等の出力装置に出力し、エンジン音を放音させる。操作部６０は、複数のボタンまたはタッチパネルなどの入力機能を有し、利用者がエンジン音生成装置１０に対して選択、確認、取り消しなどの指示を行うための操作を行う操作手段であって、操作内容を示す情報を処理部４０に出力する。なお、モデル車両Ｍは、実車両Ｒとはタイプ（セダン、スポーツタイプ、クーペ、トラック、バスなど）や走行性能が異なるものであってもよい。例えば、普通車である実車両Ｒに対して、モデル車両Ｍとしてレーシングカーのエンジン音を生成するようにしてもよい。また、映画やアニメに登場する架空の車両をモデル車両Ｍとしてもよい。
【００１８】
エンジン音生成装置１０は、モデル車両Ｍのエンジン音を再現するため、実車両Ｒから取得する情報に基づき、モデル車両Ｍにおける仮想の運転状況を作り出す。この運転状況のひとつが、エンジン回転数である。エンジン音生成装置１０は、モデル車両Ｍのギアを示す情報および車速を示す情報からエンジン回転数を生成する。このとき、上述したレーシングカーのように、モデル車両Ｍと実車両Ｒとの速度範囲（以下、「車速域」という）が大きく異なると、実車両Ｒのエンジン回転数をそのまま用いてもモデル車両Ｒのエンジン回転範囲の一部にしか対応しないため、モデル車両Ｒを想定した際の望ましいエンジン回転数が得られない。
【００１９】
図２は、実車両Ｒとモデル車両Ｍとの車速域を説明するグラフである。図２は、縦軸が回転数（ｒｐｍ）を、横軸が車速（ｋｍ／ｈ）を示す。車速域ＲＢは、実車両Ｒの車速域を示している。速度ｒｂは、車速域ＲＢにおいて特定される実車両Ｒの最高速度またはそれに近い速度を示している。車速域ＭＢは、モデル車両Ｍの車速域を示している。速度ｍｂは、車速域ＭＢにおいて特定されるモデル車両Ｍの走行性能上の最高速度またはそれに近い速度を示している。なお、速度ｍｂは、モデル車両Ｍが仮想の車両である場合は、仮想的に設定される特定の速度であってもよい。また、速度ｒｂが本発明における「第１の特定速度」に相当し、速度ｍｂが本発明における「第２の特定速度」に相当する。
【００２０】
破線で示したギアＭＧ１，ＭＧ２，ＭＧ３，ＭＧ４は、モデル車両Ｍのギアがそれぞれ１速、２速、３速および４速の場合における、エンジン回転数と車速の対応関係を示している。モデル車両Ｍにおける車速とエンジン回転数とは、本実施形態においては、ギアごとに傾きの異なる線形の対応関係を有する。エンジン回転数ＭＲｍａｘは、モデル車両Ｍが備えるエンジンの性能上の最高回転数を示している。以下、図２に示す走行特性を有するモデル車両Ｍを用いて説明する。なお、ここではモデル車両Ｍのギアは４段としたが、これは一例であり、これとは異なる段数のモデル車両であってもよい。また、エンジン回転数と車速とは、図２に示すように直線的な対応関係を示すことが望ましいが、これに限らず、曲線的または特異点を有するような対応関係であってもよい。例えば、低速域ではゆるやかにエンジン回転数が上がり、高速域になると急速にエンジン回転数が上がるような対応関係であってもよい。
【００２１】
エンジン音生成装置１０は、上述したとおりモデル車両Ｍにおけるギアおよび車速の情報からエンジン回転数を生成する。ここで、実車両Ｒと走行性能が異なるモデル車両Ｍとでは、図２に示すように双方の車速域が異なるため、実車両Ｒの車速をそのまま用いてモデル車両Ｍにおけるエンジン回転数を求めると、望ましいエンジン回転数が得られない。つまり、実車両Ｒの速度ｒｂであってもＭＧ３とＭＧ４での回転数は高くないので、車速域ＲＢの中で４段全てで高回転のエンジン音を出すことはできない。そこで、エンジン音生成装置１０は、車速検出部２１０によって検出される実車両Ｒの車速を、上述した速度ｒｂと速度ｍｂとの比率に基づき、以下の式１によってモデル車両Ｍにおける仮想的な車両の速度（以下、「仮想車速」という。）に変換する。
［式１］仮想車速（ｍｍ／ｍｉｎ）＝実車両Ｒの車速（ｍｍ／ｍｉｎ）×モデル車両Ｍの最高速度（ｋｍ／ｈ）÷実車両Ｒの最高速度（ｋｍ／ｈ）
この変換によって、エンジン音生成装置１０は、実車両Ｒの運転状況に対応したモデル車両Ｍの運転状況における仮想車速を取得する。エンジン音生成装置１０は、取得した仮想車速と速度・回転数対応関係設定情報３３０とに基づいて、上述した運転状況におけるモデル車両Ｍのギアを判断する。速度・回転数対応関係設定情報３３０は、実車両Ｒが加速または減速をしているときのギア判断の基準となる設定情報と一定の速度で走行しているときのギア判断の基準となる設定情報とを有する。なお、ここで言う最高速度とは、車両の性能限界を示すものではなく（であってもよい）、その車両が走行する際に想定される最高の速度である。例えば、法定制限速度であってもよい。
【００２２】
図３は、実車両Ｒが加速または減速をするときの速度・回転数対応関係設定情報３３０を説明するグラフである。図３の縦軸と横軸および各ギアＭＧ１，ＭＧ２，ＭＧ３，ＭＧ４の傾きは図２と共通である。図３は、モデル車両Ｍの仮想車速に対して、各ギアＭＧ１，ＭＧ２，ＭＧ３，ＭＧ４を選択する領域ｇａ１，ｇａ２，ｇａ３，ｇａ４（以下、区別しないときは「領域ｇａ」という。）を示している。エンジン音生成装置１０は、仮想車速が領域ｇａ１の範囲にあるときは、ギアＭＧ１に応じた対応関係を用いてエンジン回転数を生成する。ここで、実車両Ｒが加速して仮想車速が上がると、生成されるエンジン回転数がシフトアップエンジン回転数ＳＵａ１に達し、ついには領域ｇａ１を外れてしまう。このとき、エンジン音生成装置１０は、エンジン回転数の生成に用いるギアに応じた対応関係を、ギアＭＧ２に切り替える。以下同様に、実車両Ｒが加速している場合は、エンジン音生成装置１０は、シフトアップエンジン回転数ＳＵａ２，ＳＵａ３において、エンジン回転数の生成に用いるギアに応じた対応関係をひとつ上のギアＭＧ３，ＭＧ４に切り替える。なお、本実施形態においては、シフトアップエンジン回転数ＳＵａ１，ＳＵａ２，ＳＵａ３は同じエンジン回転数としているが、これらのエンジン回転数は、それぞれ異なるエンジン回転数を設定してもよい。
【００２３】
一方、エンジン音生成装置１０は、実車両Ｒが減速している場合は、エンジン回転数が下がることでシフトダウンエンジン回転数ＳＤａ２，ＳＤａ３，ＳＤａ４にいたったときに、エンジン回転数の生成に用いる対応関係を、ひとつ下のギアＭＧ１，ＭＧ２，ＭＧ３に各々切り替える。このように、エンジン音生成装置１０は、取得した仮想速度の上昇、下降に伴ってあらかじめ定めた速度においてそれぞれシフトアップ、シフトダウンするようにギアを切り替える。そして、エンジン音生成装置１０は、速度・回転数対応関係設定情報３３０を参照して切り替えられたギアに応じた対応関係を選択する。
【００２４】
このとき、図３に示す仮想車速域Ｂ１においては、領域ｇａ１と領域ｇａ２とが重なりあっている。仮想車速域Ｂ１においては、エンジン音生成装置１０は、実車両Ｒの走行状態によってギアＭＧ１またはＭＧ２を用いてエンジン回転数を生成する。仮想車速域Ｂ２，Ｂ３も同様である。これらの領域においては、実車両Ｒが加速から減速に変わっても、生成されるエンジン回転数がそれぞれシフトアップエンジン回転数ＳＵａ１，ＳＵａ２，ＳＵａ３を超えない限り、エンジン回転数の生成に用いられるギアがひとつ上のギアＭＧ２，ＭＧ３，ＭＧ４に切り替わらない。また、実車両Ｒが減速から加速に変わっても、生成されるエンジン回転数がそれぞれシフトダウンエンジン回転数ＳＤａ２，ＳＤａ３，ＳＤａ４を下回らない限り、エンジン回転数の生成に用いられるギアがひとつ下のギアＭＧ１，ＭＧ２，ＭＧ３に切り替わらない。このように、エンジン音生成装置１０は、一つのギアにシフトアップを行う速度よりこの一つのギアからシフトダウンを行う速度が小さくなるようにギアを切り替える。これらの速度の間の領域を以下においては「不感車速域」という。この「不感車速域」が設けられているためシフトアップとシフトダウンでは図示のようにエンジン回転数と速度との関係がヒステリシスの特性となる。
【００２５】
図４は、実車両Ｒが一定の速度で走行するときの速度・回転数対応関係設定情報３３０を説明するグラフである。図４の縦軸と横軸および各ギアＭＧ１，ＭＧ２，ＭＧ３，ＭＧ４の傾きは図２と共通である。図４は、モデル車両Ｍの仮想車速に対して、各ギアＭＧ１，ＭＧ２，ＭＧ３，ＭＧ４を選択する領域ｇｂ１，ｇｂ２，ｇｂ３，ｇｂ４（以下、区別しないときは「領域ｇｂ」という。）を示している。エンジン音生成装置１０は、実車両Ｒが一定の速度で走行するときは、加速時および減速時に比べて高いギアを用いてエンジン回転数を生成する。このため、領域ｇｂは、領域ｇａに比べてシフトアップを行う速度またはシフトダウンを行う速度を下げるように設定されている。また、領域ｇｂは、生成されるエンジン回転数があらかじめ設定した範囲を下回らない範囲となるように設定されている。すなわち、実車両Ｒの加速時および減速時に比べると、同じ仮想車速であっても、生成されるエンジン回転数が小さくなる。エンジン音生成装置１０は、加速度検出部２２０で検出した加速度情報に基づいて、実車両Ｒが一定の速度で走行しているかどうかを判断する。
【００２６】
一般に、エンジンは、爆発間隔が変動しながら回転する（以下、この爆発間隔の変動を「揺らぎ」という。）。この揺らぎを再現するため、エンジン音生成装置１０においては、モデル車両Ｍのエンジン特性に応じてあらかじめ定めた一定の範囲内で発生させた乱数を用いる。本実施形態においては、この一定の範囲は、０から揺らぎの幅となる値（以下、「揺らぎ値」という。）までとする。処理部４０は、０から揺らぎ値まで範囲内での乱数を発生し、この発生した乱数の値に基づいてエンジン回転数に揺らぎを与える処理を行う。例えば、発生した乱数をエンジン回転数に加えてもよいし、あらかじめ決められた関数にエンジン回転数と乱数とを代入してエンジン回転数を算出してもよい。
【００２７】
図５は、エンジン音生成装置１０がエンジン回転数を生成する動作のフローチャートである。まず、エンジン音生成装置１０は、実車両Ｒの車速を検出する（ステップＳ１１０）。エンジン音生成装置１０は、検出した車速の情報を、記憶部３０に記憶されている車速域設定情報３２０に基づき、仮想車速に変換する（ステップＳ１２０）。続いて、エンジン音生成装置１０は、実車両Ｒの加速度を検出する（ステップＳ１３０）。エンジン音生成装置１０は、検出した加速度の絶対値が、あらかじめ設定した値ａよりも小さいかどうかを判断する（ステップＳ１４０）。加速度の絶対値があらかじめ決められた値よりも大きい場合（ステップＳ１４０：Ｎｏ）は、エンジン音生成装置１０は、記憶部３０から、実車両Ｒが加速または減速をするときの速度・回転数対応関係設定情報３３０を読み出す（ステップＳ１５０）。なお、ステップＳ１１０，Ｓ１２０とステップＳ１３０とは、実行する順序が逆であってもよい。
【００２８】
加速度の絶対値があらかじめ決められた値以下の場合（ステップＳ１４０：Ｙｅｓ）は、エンジン音生成装置１０は、記憶部３０から、実車両Ｒが一定の速度で走行するときの速度・回転数対応関係設定情報３３０を読み出す（ステップＳ１６０）。エンジン音生成装置１０は、これらの設定情報および仮想車速に基づき、エンジン回転数の生成に用いるギアの情報を更新する（ステップＳ１７０）。エンジン音生成装置１０は、この更新されたギアの情報および仮想車速に基づいて、速度・回転数対応関係設定情報３３０から、モデル車両Ｍのエンジン回転数を示すモデル車両エンジン回転数を生成する（ステップＳ１８０）。エンジン音生成装置１０は、上述した揺らぎ値を生成して、この揺らぎ値を生成されたエンジン回転数に加える揺らぎ処理を行う（ステップＳ１９０）。
【００２９】
次に、実車両Ｒの車速から、アクセル開度を取得する動作について説明する。実車両Ｒを運転する運転者は、アクセル開度を操作するアクセル操作子（図示略）を踏み込んであらかじめ決められた範囲を移動させることでアクセル開度を調整する。アクセル開度は、このアクセル操作子が操作されていない状態では０％、あらかじめ決められた範囲の限界位置まで移動された状態では１００％開いた状態となる。処理部４０は、このアクセル操作子が何も操作されていない状態の開度を初期値０（％）としてＲＡＭ４３０に記憶している。なお、この初期値は、他の所定の値が設定されてもよい。このＲＡＭ４３０に記憶されているアクセル開度の値を以下にアクセル開度Ａとして表す。アクセル開度Ａは、処理部４０によって順次更新可能な値であり、その時点におけるアクセル開度の値を示している。なお、アクセル開度Ａは、ＲＡＭ４３０に限らず、記憶部３０など処理部４０によって更新可能な場所に記憶されていればよい。そして、車両が走行を開始すると、処理部４０は、ギアと車速の変化傾向に基づいてアクセル開度Ａを算出する。この車速の変化は、車速検出部２１０が検出する車速に基づき取得する。ここで、車速検出部２１０が検出する車速について説明する。
【００３０】
図６は、実車両Ｒの車速と検出される車速を比較するグラフである。図６に示す周期Ｃ１は、車速検出部２１０が実車両Ｒの車速を検出して処理部４０へ出力する周期を示す。周期Ｃ１の長さは、モデル車両Ｍのエンジンの特性または車速検出部２１０を構成するセンサの性能などからあらかじめ決められる。例えば、本実施形態においては、２０ミリ秒（ｍｓｅｃ）であるとする。図６（ａ）は、車速検出部２１０が検出する車速の一例として、実車両Ｒが加速している状態で周期Ｃ１毎に検出される車速ｒｓおよびこのときの実際の車速ＲＳを示している。
【００３１】
本実施形態における車速検出部２１０は、１ｋｍ／ｈ単位で車速を検出する。この単位は、車速検出部２１０が速度を分解できる能力を示し、この能力を速度分解能という。車速検出部２１０が検出する車速ｒｓは、時刻ｔａ１，ｔａ２では車速ｒｓ１、時刻ｔａ３，ｔａ４では車速ｒｓ２である。車速ｒｓ２は、車速ｒｓ１よりも１ｋｍ／ｈ大きい車速となっている。このように、実車両Ｒの車速が、周期Ｃ１の間に車速検出部２１０の速度分解能よりも小さな変化をしても、この変化が検出されない。
【００３２】
図６（ｂ）は、実車両Ｒが一定の車速で走行している状態のときに検出される車速ｒｓおよびこのときの実際の車速ＲＳを示している。実車両Ｒの実際の車速ＲＳは、時刻ｔｂ１からｔｂ４にかけて車速ＲＳ５で一定となっている。一方、車速検出部２１０が検出する車速ｒｓは、時刻ｔｂ１，ｔｂ３では車速ｒｓ３、時刻ｔｂ２，ｔｂ４では車速ｒｓ４である。車速ｒｓ３は、車速ｒｓ４よりも１ｋｍ／ｈ大きい車速となっている。このように、車速検出部２１０が検出できる車速ｒｓ３とｒｓ４との間の車速ＲＳ５で実車両Ｒが走行すると、車速検出部２１０は、車速ｒｓ３とｒｓ４とを繰り返し検出する。このため、実車両Ｒが一定の車速で走行していることが判断できない。車速分解能が原因で検出できないこれらの車速の状態を検出するため、エンジン音生成装置１０では、実車両Ｒの車速が変化する傾向（以下、「車速変化傾向」という。）を検出し、これに基づいて判断している。
【００３３】
図７は、車速変化傾向を説明するグラフである。上述の通り、車速検出部２１０は、周期Ｃ１の間隔で検出した車速を処理部４０へ出力する。処理部４０は、入力された車速の情報を、ＲＡＭ４３０に記憶する。処理部４０は、時刻ｔ（ｎ）に検出された車速と、ＲＡＭ４３０に記憶されている時刻ｔ（ｎ）より周期Ｃ１前の時刻である時刻ｔ（ｎ−１）に検出された車速とを比較する。比較した結果、処理部４０は、時刻ｔ（ｎ）に検出された車速のほうが大きければ＋１、小さければ−１、同じであれば０の値を、時刻ｔ（ｎ）における時刻ｔ（ｎ−１）の車速との差分から求めた値としてＲＡＭ４３０に記憶する。以下、時刻ｔ（ｎ）におけるこの車速の差分から取得した値を、「車速差分Ｄ（ｎ）」という。なお、特に時刻を特定しない場合は、車速差分Ｄという。このようにして、処理部４０は、周期Ｃ１における車速の変化の傾向である車速差分Ｄを求める。
【００３４】
処理部４０は、車速差分Ｄ（ｎ）を、周期Ｃ１ごとに取得し、ＲＡＭ４３０へ記憶して蓄積する。周期Ｃ１は、あらかじめ定められた期間である周期Ｃ２を複数に分割した小区間として設定されている。処理部４０は、車速差分Ｄ（ｎ）が周期Ｃ２の分だけ蓄積されると、この蓄積された車速差分Ｄ（ｎ）の値を合計する。この合計値は、周期Ｃ２の間に実車両Ｒの車速がどのような変化をするかという傾向を示す。すなわち、処理部４０は、周期Ｃ１において求められた変化傾向に基づいて周期Ｃ２の変化傾向を求める。周期Ｃ２の長さは、モデル車両Ｍのエンジンの特性などに応じて決められる。以下、時刻ｔ（ｎ）までの周期Ｃ２において取得されたこの合計値を、「車速変化傾向Ｌ（ｎ）」という。特に時刻を特定しない場合は、車速変化傾向Ｌという。周期Ｃ２の長さは、エンジン音生成を行う周期および周期Ｃ１との関係によって決められ、例えば、本実施形態においては、３２０ミリ秒とする。なお、本実施形態においては、この車速変化傾向Ｌが本発明における「車速の変化傾向」に相当する。
【００３５】
図７に示す車速ｒｓ４，ｒｓ５，ｒｓ６は、時刻ｔ（ｎ）までの周期Ｃ２の間に車速検出部２１０が検出した実車両Ｒの車速の変化を示した例である。図７（ａ）において、車速ｒｓ４は、実車両Ｒが一定の車速で走行しているときに検出された車速を示している。車速ｒｓ４においては、周期Ｃ２の間、車速差分Ｄが＋１された分だけ−１する動きを繰り返す。車速ｒｓ４においては、処理部４０は、車速変化傾向Ｌ（ｎ）として＋１を取得する。図７（ｂ）において、車速ｒｓ５は、実車両Ｒが減速しているときに検出された車速を示している。車速ｒｓ５においては、周期Ｃ２の間、車速差分Ｄが−１である周期Ｃ１が多い。車速ｒｓ５においては、処理部４０は、車速変化傾向Ｌ（ｎ）として−７を取得する。図７（ｃ）において、車速ｒｓ６は、実車両Ｒが加速しているときに検出された車速を示している。車速ｒｓ６においては、周期Ｃ２の間、車速差分Ｄが＋１である周期Ｃ１が多い。車速ｒｓ６においては、処理部４０は、車速変化傾向Ｌ（ｎ）として＋８を取得する。処理部４０は、車速変化傾向Ｌ（ｎ）に基づいて、アクセル開度Ａを補正する値を取得する。
【００３６】
図８は、アクセル開度補正値によるアクセル開度の補正を説明する図である。図８（ａ）は、車速変化傾向Ｌの値とアクセル開度補正値ＣＲとの関係を対応付けたテーブルＴ１である。テーブルＴ１は、ギア固定時アクセル開度設定情報３４０のひとつとして記憶部３０に記憶されている。車速変化傾向Ｌが３以上、２，−２，−２以下の場合に、アクセル開度補正値ＣＲは＋２，＋１，−１，−２の値となるように対応している。車速変化傾向Ｌが１，０，−１の場合については、図９を用いて後ほど説明する。図８（ｂ）は、テーブルＴ１によってアクセル開度Ａが変動する様子を示した図である。時刻ｔｃ０〜ｔｃ８は、時刻ｔｃ０から周期Ｃ２ごとに連続した時刻である。アクセル開度Ａは、時刻ｔｃ０から時刻ｔｃ３にかけて、アクセル開度補正値ＣＲとして＋２を加えられ、時刻ｔｃ３においては６％の値となっている。以降、アクセル開度Ａにアクセル開度補正値ＣＲが＋１，−１，−２，−１，＋１と順番に加えられ、アクセル開度Ａは７％，６％，４％，３％，４％と変動している。
【００３７】
図９は、車速変化傾向Ｌが１，０，−１の場合のアクセル開度補正値を説明する図である。車速変化傾向Ｌが１，０，−１の場合は、実車両Ｒが概ね一定の車速で走行（以下、「定速走行」という。）している状態を示している。この場合、アクセル開度は概ね一定の状態となる。以下、この実車両Ｒが定速走行をしているときに一定の状態で維持されているアクセル開度を、基準アクセル開度ＢＡという。なお、この１，０，−１の値は、実車両Ｒの走行特性に応じてあらかじめ定められた範囲を示す値であり、異なる範囲を定めてもよい。図９（ａ）は、実車両Ｒの一定の車速と基準アクセル開度ＢＡとを対応付けたテーブルＴ２である。テーブルＴ２は、ギア固定時アクセル開度設定情報３４０のひとつとして記憶部３０に記憶されている。テーブルＴ２は、一定の車速と基準アクセル開度ＢＡとの対応の一例であり、実車両Ｒの性能およびエンジン音を提供するモデル車両Ｍの性能に応じて設定される。
【００３８】
処理部４０は、時刻ｔ（ｎ）における車速変化傾向Ｌ（ｎ）が１，０，−１であった場合、実車両Ｒが概ね定速走行をしていると判断する。すると、処理部４０は、テーブルＴ２を参照し、時刻ｔ（ｎ）における車速と時刻ｔ（ｎ）に検出されている車速ｒｓ（ｎ）とに基づいて基準アクセル開度ＢＡ（ｎ）を求める。処理部４０は、取得した基準アクセル開度ＢＡ（ｎ）に基づき、テーブルＴ１とは異なるテーブルＴ３を用いてアクセル開度補正値を取得する。図９（ｂ）は、テーブルＴ３を説明する図である。テーブルＴ３は、基準アクセル開度ＢＡ（ｎ）と時刻ｔ（ｎ）よりも周期Ｃ２前の時刻ｔ（ｎ−１）におけるアクセル開度Ａ（ｎ−１）とを比較した結果およびアクセル開度補正値ＣＲを関係付けたテーブルである。テーブルＴ３は、ギア固定時アクセル開度設定情報３４０のひとつとして記憶部３０に記憶されている。テーブルＴ３においては、アクセル開度補正値ＣＲは、基準アクセル開度ＢＡ（ｎ）がアクセル開度Ａ（ｎ−１）と比較して大きい場合、等しい場合、小さい場合において、それぞれ＋１，０，−１の値が対応付けられている。このように、テーブルＴ３は、基準アクセル開度ＢＡ（ｎ）の値とＲＡＭ４３０に記憶されているアクセル開度Ａ（ｎ−１）の値とに基づいたアクセル開度の補正値の関係を示している。
【００３９】
図９（ｃ）は、テーブルＴ２およびＴ３によってアクセル開度Ａが変動する様子を示した図である。時刻ｔｄ０〜ｔｄ４および時刻ｔｄ１０〜ｔｄ１４は、それぞれ周期Ｃ２ごとに連続した時刻である。図９（ｃ）は、実車両Ｒが時刻ｔｄ０からｔｄ４の間と時刻ｔｄ１０からｔｄ１４の間とにおいて、一定の車速で走行している場合を示している。まず、時刻ｔｄ０におけるアクセル開度が１（％）であるとする。実車両Ｒが時刻ｔｄ０からｔｄ３にかけて３５（ｋｍ／ｈ）で走行したとすると、時刻ｔｄ１において、処理部４０は、テーブルＴ２を参照して基準アクセル開度ＢＡの値として２（％）を取得する。処理部４０は、取得した時刻ｔｄ１における基準アクセル開度ＢＡの値２（％）と時刻ｔｄ０におけるアクセル開度Ａの値１（％）とを比較する。この比較した結果に基づいて、処理部４０はテーブルＴ３を参照して、アクセル開度補正値ＣＲの値として＋１の値を取得する。アクセル開度補正値ＣＲを取得すると、処理部４０は、アクセル開度Ａの値にアクセル開度補正値ＣＲを加え、時刻ｔｄ１におけるアクセル開度Ａの値を算出する。この場合、時刻ｔｄ１におけるアクセル開度Ａの値は２（％）となる。時刻ｔｄ２からｔｄ４においては、アクセル開度Ａと基準アクセル開度ＢＡとが２（％）で等しくなるため、アクセル開度補正値ＣＲが０となり、アクセル開度Ａの値は２（％）のままとなる。
【００４０】
時刻ｔｄ１０からｔｄ１４にかけては、実車両Ｒは５０（ｋｍ／ｈ）で走行したとする。時刻ｔｄ１０におけるアクセル開度Ａが３（％）とすると、時刻ｔｄ１１において、処理部４０は、テーブルＴ２およびＴ３を参照してアクセル開度補正値ＣＲとして＋１を取得し、アクセル開度Ａを４（％）と算出する。時刻ｔｄ１２においては、処理部４０は、テーブルＴ２およびＴ３を参照してアクセル開度補正値ＣＲとして−１を取得し、アクセル開度Ａを３（％）と算出する。本実施形態においては、アクセル開度補正値ＣＲを１（％）単位で設定しているため、このように基準アクセル開度ＢＡが小数点以下の値を含む場合に、アクセル開度Ａが基準アクセル開度ＢＡの値と最も近い２つの値を繰り返すように算出される。以上のように、エンジン音生成装置１０は、基準アクセル開度ＢＡを求めたときは、その求められた値に対応するアクセル開度補正値ＣＲを用いて、ＲＡＭ４３０に記憶されたアクセル開度の値を更新する。なお、アクセル開度補正値ＣＲは、１（％）よりも小さな値または大きな値を単位として設定してもよい。
【００４１】
続いて、運転者が一般的な車両においてシフトダウンおよびシフトアップによってギアを変更するときのアクセル開度について説明する。運転者は、ギアを変更する際、一度エンジンの回転と車軸の回転とを切り離し、変更したギアのギア比に合わせるようにエンジン回転数を調整してから再び接続するように制御する。以下、マニュアルミッション車における動作を説明するが、オートマチック車においては、運転者の替わりに自動変速機がこれらの制御を行う。
【００４２】
図１０は、変速機をシフトダウンをするときの車速Ｓ、エンジン回転数Ｒおよびアクセル開度Ａの時間変化の一例を示す図である。図１０は、車速Ｓが示すとおり、車両が減速している状況を示している。運転者は、ギアを変更する前に、移動させた操作子をアクセル開度が０（％）になるまで戻す。この場合、時刻ｔｅ１にアクセル開度が０（％）となっている。運転者は、時刻ｔｅ２より、変速機を低いギアに変更する操作を開始する。まず、運転者は、変速機の接続を切り離した後に、アクセル開度Ａがあらかじめ定められたアクセル開度Ａ１（以下、「シフトダウンアクセル開度Ａ１」という。）となるまで操作子を操作する。アクセル開度Ａが大きくなったことで、エンジン回転数Ｒがエンジン回転数Ｒ１からＲ２へと大きくなる。運転者は、時刻ｔｅ３に変速機を再び接続し、移動させた操作子を再びアクセル開度が０（％）になるまで戻す。運転者がこのように車両を制御することで、車両はより低いギアで大きなエンジンブレーキを効かせながら減速していく。シフトダウンアクセル開度Ａ１は、シフトチェンジ時アクセル開度設定情報３５０のひとつとして記憶部３０に記憶されている。
【００４３】
図１１は、変速機をシフトアップをするときの車速Ｓ、エンジン回転数Ｒおよびアクセル開度Ａの時間変化の一例を示す図である。図１１において、アクセル開度Ａ０，Ａ２，Ａ３は、アクセル開度の値を、エンジン回転数Ｒ３，Ｒ４は、エンジン回転数の値を示している。図１１は、車速Ｓが示すとおり、車両が加速している状況を示している。運転者は、アクセル開度がアクセル開度Ａ３になるまで操作子を操作して、車両を加速させている。ここで、アクセル開度Ａ３は、この車両の最大のアクセル開度（以下、「最大アクセル開度Ａ３」という。）を示している。運転者は、時刻ｔｆ２からシフトアップを開始する。まず、運転者は、移動させた操作子をアクセル開度が０（％）になるまで戻す。この場合、時刻ｔｆ２に運転者がこの操作を行い、アクセル開度Ａがアクセル開度Ａ０となっている。アクセル開度Ａ０は、アクセル開度が０（％）であることを示している。
【００４４】
運転者は、アクセル開度がアクセル開度Ａ０となった後に、変速機の接続を切り離す。そして、運転者は、アクセル開度Ａがあらかじめ定められたアクセル開度Ａ２（以下、「シフトアップアクセル開度Ａ２」という。）となるまで操作子を操作する。ここで、シフトアップアクセル開度Ａ２は、最大アクセル開度Ａ３の半分の値をとるものとする。運転者は、アクセル開度Ａがシフトアップアクセル開度Ａ２となったところで、変速機を再び接続する。運転者は、変速機を接続した後、アクセル開度Ａが最大アクセル開度Ａ３となるまで操作子を操作する。エンジン回転数Ｒは、アクセル開度Ａの操作量とともに、時刻ｔｆ２まで増加し、そこから時刻ｔｆ３までは一旦減少して、時刻ｔｆ３からは再び増加する。なお、エンジン音生成装置１０の場合、シフトアップアクセル開度Ａ２は、最大アクセル開度Ａ３の半分の値以外の値をとってもよい。この場合、モデル車両Ｍの運転特性に合わせてシフトアップアクセル開度Ａ２を設定すればよい。シフトアップアクセル開度Ａ２は、シフトチェンジ時アクセル開度設定情報３５０のひとつとして記憶部３０に記憶されている。
【００４５】
エンジン音生成装置１０は、上記に示した動作に従って、シフトダウン時はアクセル開度Ａをシフトダウンアクセル開度Ａ１に更新し、シフトアップ時はアクセル開度Ａをシフトアップアクセル開度Ａ２に更新する。このようにして、エンジン音生成装置１０は、シフトチェンジを検出した場合は、アクセル開度Ａをあらかじめ定められた値となるように更新を行う。これらのシフトダウンアクセル開度Ａ１およびシフトアップアクセル開度Ａ２を区別しないときは、「シフトチェンジアクセル開度」という。
【００４６】
図１２は、エンジン音生成装置１０がアクセル開度を生成する動作のフローチャートである。まず、処理部４０は、上述したエンジン回転数を生成する動作において、図５に示したフローチャートの（ステップＳ１７０）で更新されたギアの情報および更新される前のギアの情報を取得する（ステップＳ２００）。処理部４０は、更新されたギアが、更新される前のギアと異なるかどうかを確認する（ステップＳ２１０）。処理部４０は、これらのギアが異なった場合、ギアの切り替えがあったと判断して（ステップＳ２１０；Ｙｅｓ）、記憶部３０からシフトチェンジ時アクセル開度情報３５０を取得する（ステップＳ２２０）。このように、エンジン音生成装置１０は、実車両Ｒの車速情報からシフトチェンジの有無を判断する。なお、本実施形態においては、このように検出部２０と記憶部３０と処理部４０とが動作してシフトチェンジの有無を判断する。これが本発明における「シフトチェンジの有無を判断する判断手段」に相当する。処理部４０は、ギアが下がっていればシフトダウンアクセル開度Ａ１をアクセル開度として生成し、ギアが上がっていればシフトアップアクセル開度Ａ２をアクセル開度として生成する（ステップＳ３００）。
【００４７】
ステップＳ２１０で、ギアが等しかった場合は、処理部４０は、シフトチェンジはなかったと判断し（ステップＳ２１０；Ｎｏ）、車速変化傾向値からアクセル開度を生成する動作を行う（ステップＳ２３０〜Ｓ３００）。まず、車速検出部２１０が検出した実車両Ｒの車速情報を取得する（ステップＳ２３０）。処理部４０は、上述した周期Ｃ２の間、取得した車速情報をＲＡＭ４３０へ蓄積する（ステップＳ２４０）。処理部４０は、この蓄積した車速情報から、車速差分値を算出する（ステップＳ２５０）。処理部４０は、この車速差分値から、車速変化傾向値を算出する（ステップＳ２６０）。処理部４０は、この車速変化傾向値が１，０，−１のいずれかであるかどうかを判断する（ステップＳ２７０）。
【００４８】
車速変化傾向が１，０，−１のいずれかであった場合（ステップＳ２７０；Ｙｅｓ）、処理部４０は、記憶部３０に記憶されたテーブルＴ２を参照して、ステップＳ２４０で最後に蓄積した車速情報に対応した基準アクセル開度を取得する（ステップＳ２８０）。処理部４０は、取得した基準アクセル開度と周期Ｃ２前のアクセル開度とを比較し、記憶部３０に記憶されたテーブルＴ３を参照してアクセル開度補正値を取得する（ステップＳ２９０）。処理部４０は、取得したアクセル開度補正値を、周期Ｃ２前のアクセル開度に加えて、アクセル開度を生成する。処理部４０は、こうして生成したアクセル開度の値を用いてＲＡＭ４３０に記憶されるアクセル開度Ａの値を更新し、更新後の値をＲＡＭ４３０に再度記憶させる。（ステップＳ３００）。
【００４９】
車速変化傾向が１，０，−１のいずれでもなかった場合（ステップＳ２７０；Ｎｏ）、処理部４０は、記憶部３０に記憶されたテーブルＴ１を参照して、取得した車速変化傾向値に対応するアクセル開度補正値を取得する（ステップＳ２９０）。処理部４０は、取得したアクセル開度補正値を用いて、周期Ｃ２前のアクセル開度に加えて、アクセル開度を生成する。処理部４０は、こうして生成したアクセル開度の値を用いてＲＡＭ４３０に記憶されるアクセル開度Ａの値を更新し、更新後の値をＲＡＭ４３０に再度記憶させる（ステップＳ３００）。
【００５０】
以上のとおり、エンジン音生成装置１０は、車速情報から、エンジン回転数およびアクセル開度を生成する。次に、生成されたこれらのエンジン回転数およびアクセル開度を用いて、エンジン音生成部５０が、モデル車両Ｍのエンジン音データを生成し、実車両Ｒの車速の状態に対応したエンジン音を生成する動作について説明する。
【００５１】
図１３は、エンジン音生成部５０によるエンジン音データの生成を説明する図である。エンジン音生成部５０は、実車両Ｒの運転状態を示すテーブルＴ４を運転状態設定記憶部５２０に記憶させている。テーブルＴ４では、実車両Ｒの運転状態を、エンジン回転数とアクセル開度とをパラメータとして区分された範囲１から２５で示している。エンジン音生成部５０は、処理部４０からエンジン回転数およびアクセル開度が入力されると、テーブルＴ４を参照して、入力されたエンジン回転数およびアクセル開度に対応した実車両Ｒの運転状態を判断する。なお、運転状態を示す範囲は、２５通りに限らず、これよりも多くのパターンを設定してもよいし、少ないパターンを設定してもよい。
【００５２】
エンジン音データ記憶部５１０には、モデル車両Ｍの特定した車速範囲における運転状態ごとに、これらの運転状態を代表するエンジン回転数とアクセル開度とに応じたエンジン音データが記憶されている。記憶されているエンジン音データは、例えば、１燃焼サイクル中における爆発区間のエンジン音データである。より具体的には、１気筒の１回の爆発に対応するエンジン音データである。本実施形態においては、エンジン音データ記憶部５１０には、運転状態１，５，１３，２１，２５におけるエンジン音データＷ１，Ｗ５，Ｗ１３，Ｗ２１，Ｗ２５が記憶されている。エンジン音生成部５０は、これらのエンジン音データを用いて、更新されたアクセル開度の値と取得したエンジン回転数情報とに基づいて合成エンジン音データを生成する。なお、エンジン音データは、本実施形態とは異なる一部の運転状態におけるエンジン音データを記憶してもよいし、全ての運転状態におけるエンジン音データを記憶してもよい。
【００５３】
エンジン音生成部５０は、これらのエンジン音データを重み付けして重ね合わせることで合成エンジン音データを生成する。例えば、運転状態３の場合は、エンジン音データＷ１，Ｗ５には「０．５」の重みを、エンジン音データＷ１３，Ｗ２１，Ｗ２５には「０」の重みを設定する。エンジン音生成部５０は、０．５の重みを付与されたエンジン音データＷ１とＷ５とを重ね合わせることで、運転状態３における合成エンジン音データを生成する。また、エンジン音データが記憶されている運転状態の場合は、この運転状態に対応したエンジン音データの重みを「１」とし、他のエンジン音データの重みを「０」とすればよい。各運転状態における重みの設定は、モデル車両Ｍの特性に応じて決められればよい。
【００５４】
このようにして、エンジン音生成部５０が生成したエンジン音のデータが、図示せぬアンプによって増幅された後、外部のスピーカ等に出力されることにより、エンジン音が放音される。このスピーカ等は、実車両Ｒの内部で運転者が放音されたエンジン音を聞き取りやすい位置に設置される。または、実車両Ｒの外部に設置され、車外に放音される。
【００５５】
＜変形例１＞
以上、本発明の実施形態について説明したが、本発明は他の形態でも実施可能である。
上述した実施形態においては、エンジン回転数、アクセル開度およびシフトチェンジの有無を実車両Ｒの車速情報から生成または取得したが、実車両Ｒに取り付けたセンサからこれらの情報を取得してもよい。この場合、各センサは、エンジン音を生成する周期Ｃ２以下の短い周期で検出した情報を処理部４０へ出力することが望ましい。
【００５６】
図１４は、変形例１に係るエンジン音生成装置１０ａの構成を示すブロック図である。エンジン音生成装置１０ａは、検出部２０ａに回転数検出部２３０ａ、開度検出部２４０ａおよびシフトチェンジ検出部２５０ａを備える。回転数検出部２３０ａは、回転数を検出するセンサを有し、このセンサは実車両Ｒが有する原動機の動作に応じて回転する部分に取り付けられている。回転数検出部２３０ａは、このセンサが検出する回転数に応じて、エンジン回転数を示すエンジン回転数情報を取得する。回転数検出部２３０ａは、取得した原動機の回転数を、処理部４０へ出力する。開度検出部２４０ａは、アクセル開度を検出するセンサを有し、このセンサを運転者がアクセル開度を操作する操作子に取り付けてアクセル開度を検出する。開度検出部２４０ａは、検出したアクセル開度を、処理部４０へ出力する。なお、このセンサは、原動機のアクセル弁に取り付けてもよい。
【００５７】
シフトチェンジ検出部２５０ａは、運転者もしくは自動制御により変速機のシフトチェンジが行われたことを検出するセンサを有する。シフトチェンジが行われると、シフトチェンジ検出部２５０ａは、シフトチェンジがあったことを示す信号を処理部４０へ出力する。処理部４０は、この信号が入力されると、上述したシフトチェンジがあった場合のアクセル開度取得の動作（図１２のステップＳ２２０，Ｓ３００）を行う。
【００５８】
＜変形例２＞
上述した実施形態においては、エンジン音生成装置１０は、シフトアップが行われたと判断した場合にシフトアップアクセル開度をアクセル開度として生成するように動作したが、シフトチェンジがない場合のアクセル開度生成の動作をしてもよい。例えば、レーシングカーは、シフトアップ時にアクセルを戻さずに開いたままシフトアップをする。このため、モデル車両Ｍがレーシングカーだった場合、シフトチェンジがあった場合でもこのシフトチェンジがシフトアップであれば、エンジン音生成装置１０は、車速変化傾向値からアクセル開度を生成するように動作させればよい。
【００５９】
＜変形例３＞
上述した実施形態においては、エンジン音生成装置１０は、エンジン回転数を生成するときに揺らぎを再現したが、エンジン音を生成するときに揺らぎを再現してもよい。この場合、エンジン音生成部５０は、生成したエンジン音データを再生する時刻を、乱数を用いて変動させればよい。例えば、時刻ｔ（ｎ）に検出された車速情報を元に生成されたエンジン回転数Ｒ（ｎ）およびアクセル開度Ａ（ｎ）から生成されたエンジン音データに基づくエンジン音を、時刻ｔ（ｎ＋α）にスピーカ等から放音する場合で説明する。このαは、エンジン音生成部５０がエンジン音データを出力してから、外部のスピーカ等が放音するまでにかかる時間である。この場合、エンジン音生成部５０は、０から揺らぎ幅までの乱数の値（以下、「揺らぎ値Ｆ」という。）を生成し、この揺らぎ値Ｆだけ遅らせた時刻ｔ（ｎ＋Ｆ）にエンジン音データを出力すればよい。
【００６０】
＜変形例４＞
上述した実施形態においては、基準アクセル開度ＢＡをテーブルＴ２を用いて取得したが、次の式で求めてもよい。
基準アクセル開度ＢＡ＝車速×β＋γ
この定数β，γは、モデル車両Ｍの車両特性により決められる値であり、あらかじめ調査してギア固定時アクセル開度設定情報３４０に記憶させておく。この場合、処理部４０は、図１２のステップＳ２７０でＹｅｓと判断すると、ステップＳ２４０で最後に蓄積した車速情報とこれらの定数β，γを用いて基準アクセル開度ＢＡを算出する。
【００６１】
＜変形例５＞
上述した実施形態においては、処理部４０は、ギアの情報によってシフトチェンジを判断したが、エンジン回転数の情報を蓄積し、この蓄積されたエンジン回転数の変化の度合いによってシフトチェンジを判断してもよい。この場合、例えば、処理部４０は次のようにシフトチェンジを判断する。図１２のステップＳ２００において、処理部４０はエンジン回転数を取得し、ＲＡＭ４３０に記憶する。図１２の動作を何度か繰り返すと、ＲＡＭ４３０にエンジン回転数が蓄積される。処理部４０は、この蓄積されたエンジン回転数の変化の度合いを数値化する。
【００６２】
一般に、シフトダウンを行うときは、図１０に示すように、変更したギアに接続したときに減少していたエンジン回転数が急激に増加に転じる。また、シフトアップを行うときは、図１１に示すように、運転者は変速機の接続を切る前にアクセルを戻すため増加していたエンジン回転数が急激に減少に転じる。処理部４０は、蓄積されたエンジン回転数の情報から、この急激なエンジン回転数の傾きの変化を検出する。例えば、処理部４０は、最後に取得したエンジン回転数と１回前のエンジン回転数との差分および１回前のエンジン回転数と２回前のエンジン回転数との差分を比較する。処理部４０は、これらの差分同士の差分の絶対値を算出し、この絶対値があらかじめ決められた値を超える差であった場合に、シフトチェンジがされたものと判断する。
【００６３】
＜変形例６＞
上述した実施形態においては、仮想車速の算出に用いた実車両Ｒの最高速度を操作者が設定して仮想車速を算出してもよい。この場合、操作者は、操作部６０を操作して、車速域設定情報３２０の実車両Ｒの最高速度の設定値に、運転状況に応じた速度の値を入力する。例えば、制限速度が１００（ｋｍ／ｈ）の高速道路を走行するときに、１００（ｋｍ／ｈ）の値を最高速度として入力して設定する。この設定により、操作者は、１００（ｋｍ／ｈ）で走行することで、モデル車両Ｍの最高速度におけるエンジン音を体感することができる。
【００６４】
＜変形例７＞
上述した実施形態においては、車速変化傾向とアクセル開度の補正値との関係は、上述したテーブルＴ１のように設定したが、エンジン音データ記憶部５１０が記憶するエンジン音データに応じて設定してもよい。例えば、ある車速変化傾向の値に対して、より大きなアクセルの操作量が必要なモデル車両Ｍのエンジン音データがエンジン音データ記憶部５１０に記憶されているとする。この場合、アクセル開度補正値の絶対値を、テーブルＴ１より大きくすればよい。
【００６５】
＜変形例８＞
実車両Ｒは、マニュアルトランスミッションもしくはオートマチックトランスミッションを有するエンジン車、電気自動車もしくはハイブリッド車またはバイク等の原動機を有する車両であればよい。実車両Ｒがバイクの場合、上述した外部のスピーカ等は、例えばヘルメットの内部に設けられて運転者に聞き取れるようにエンジン音を放音する。エンジン音生成装置１０は、モデル車両Ｍのエンジン音を生成するため、実車両Ｒの車速情報および加速度情報から、エンジン回転数およびアクセル開度の値を示す情報を生成する。実車両Ｒは、例えば電気自動車の場合、実際にはエンジンを回転させたり、アクセルを開いて燃料の供給量を調整したりはしない。しかし、この場合でも、エンジン音生成装置１０は、モデル車両Ｍのエンジン音を生成するため、実車両Ｒの車速情報および加速度情報から、エンジン回転数およびアクセル開度の値を示す情報を生成する。また、電気自動車においても、運転者は、アクセルペダル等の操作子を用いて原動機であるモータの回転を調節して実車両Ｒを走行させる。エンジン音生成装置１０は、このモータの回転数またはモータを操作する操作子の操作量を検出して、エンジン音を生成するための情報として用いてもよい。このように、実車両Ｒは、電気自動車であっても、運転者の運転状況に応じた走行をする。このため、仮想のエンジン回転数およびアクセル開度に基づいたエンジン音であっても、運転者の運転状況に応じたものであれば、運転者は運転によるエンジン音として感じられる。
【００６６】
＜変形例９＞
上述した実施形態においては、エンジン音生成装置１０は、エンジン音データ記憶部５１０に記憶されているエンジン音データを用いて合成エンジン音データを生成したが、更新されたアクセル開度の値と生成または取得したエンジン回転数情報とに基づいて合成エンジン音データを生成してもよい。この場合、例えば、ＦＭ（Frequency Modulation）音源またはアナログモデリング音源等の音源方式を用いて元となるエンジン音データをあらかじめ作成する。エンジン音生成装置１０は、このエンジン音データを、アクセル開度およびエンジン回転数の情報をパラメータに用いて加工し、モデル車両Ｍのエンジン音データを生成する。
【００６７】
＜変形例１０＞
上述した実施形態においては、エンジン音生成装置１０は、エンジン回転数とアクセル開度とに応じたエンジン音データを用いたが、取得したエンジン回転数のみに応じたエンジン音データを用いてもよい。この場合、エンジン音生成装置１０は、エンジン音データ記憶部５１０内のエンジン音データを用いて、取得したエンジン回転数情報に基づいて合成エンジン音データを生成する。また、エンジン音生成装置１０は、更新されたアクセル開度のみに応じたエンジン音データを用いてもよい。この場合、エンジン音生成装置１０は、エンジン音データ記憶部内のエンジン音データを用いて、更新されたアクセル開度の値に基づいて合成エンジン音データを生成する。
【符号の説明】
【００６８】
１０，１０ａ…エンジン音生成装置、２０，２０ａ…検出部、３０…記憶部、４０…処理部、５０…エンジン音生成部、６０…操作部、２１０…車速検出部、２２０…加速度検出部、２３０ａ…回転数検出部、２４０ａ…開度検出部、２５０ａ…シフトチェンジ検出部、３１０…車両設定情報、３２０…車速域設定情報、３３０…速度・回転数対応関係設定情報、３４０…ギア固定時アクセル開度設定情報、３５０…シフトチェンジ時アクセル開度設定情報、４１０…ＣＰＵ、４２０…ＲＯＭ、４３０…ＲＡＭ、５１０…エンジン音データ記憶部、５２０…運転状態設定記憶部
【図１】
0005440087.tif 000002
【図２】
0005440087.tif 000003
【図３】
0005440087.tif 000004
【図４】
0005440087.tif 000005
【図５】
0005440087.tif 000006
【図６】
0005440087.tif 000007
【図７】
0005440087.tif 000008
【図８】
0005440087.tif 000009
【図９】
0005440087.tif 000010
【図１０】
0005440087.tif 000011
【図１１】
0005440087.tif 000012
【図１２】
0005440087.tif 000013
【図１３】
0005440087.tif 000014
【図１４】
0005440087.tif 000015