JP2007256526A - 波形合成装置およびプログラム - Google Patents
波形合成装置およびプログラム Download PDFInfo
- Publication number
- JP2007256526A JP2007256526A JP2006079606A JP2006079606A JP2007256526A JP 2007256526 A JP2007256526 A JP 2007256526A JP 2006079606 A JP2006079606 A JP 2006079606A JP 2006079606 A JP2006079606 A JP 2006079606A JP 2007256526 A JP2007256526 A JP 2007256526A
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- continuous
- sound
- waveforms
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
【課題】複数の同種の部位を有する回転装置が発するノイズを容易に生成する手段を提供する。
【解決手段】周期変更部103は単発音を示す原波形データを回転数に応じて時間方向に伸縮した波形データを生成し、周波数特性変更部104は伸縮された波形データに周波数特性の変更を加え、連続波形生成部105は周波数特性の変更が加えられた波形データを複数連結して連続波形データを生成し、重合波形生成部106は連続波形データを複数重ね合わせることにより重合波形データを生成する。連続波形生成部105は連続波形データの生成において複数の連続波形データ間の相関、単発音間の時間揺らぎおよび振幅揺らぎを調整する。重合波形生成部106は重合波形データの生成において複数の連続波形間のオフセット時間を調整する。属性値特定部108は重合波形の生成に用いられたパラメータに基づき重合波形を発する装置の物理的属性値を特定する。
【選択図】図7
【解決手段】周期変更部103は単発音を示す原波形データを回転数に応じて時間方向に伸縮した波形データを生成し、周波数特性変更部104は伸縮された波形データに周波数特性の変更を加え、連続波形生成部105は周波数特性の変更が加えられた波形データを複数連結して連続波形データを生成し、重合波形生成部106は連続波形データを複数重ね合わせることにより重合波形データを生成する。連続波形生成部105は連続波形データの生成において複数の連続波形データ間の相関、単発音間の時間揺らぎおよび振幅揺らぎを調整する。重合波形生成部106は重合波形データの生成において複数の連続波形間のオフセット時間を調整する。属性値特定部108は重合波形の生成に用いられたパラメータに基づき重合波形を発する装置の物理的属性値を特定する。
【選択図】図7
Description
本発明は、音波形、特に回転駆動部位を有する装置が発する音波形を合成する技術に関する。
カーレーシングのシミュレーションゲーム等において再生する目的で、エンジン音を擬似的に合成する技術が提案されている。例えば、特許文献1および2には、実機のエンジン音の波形を、エンジン回転速度等の運転状態に応じて複数記憶しておき、ユーザの操作に応じて適する波形を読み出して再生する技術が開示されている。
特開2000−10576号公報
特開2005−128262号公報
また、エンジンやファンなどの回転駆動部位を有する装置(以下、便宜的に「回転装置」と呼ぶ)が運転に伴い発するノイズは、ユーザや周囲の人々を不快にすることがある。このようなノイズは完全に除去することはできない。また、例えば自家用車のエンジン音の音量や音質は、運転の心地よさを大きく左右する。従って、これらのノイズの音量や音質を設計段階で評価して、ユーザや周囲の人々にとってより快適に感じられるノイズを発生する装置を開発することが求められている。
回転装置のノイズを設計段階で確認するためには、実際に試作機を製造して運転し、そのノイズを確認する、という作業を繰り返す必要があった。それには多くの時間と費用を要する。なお、特許文献1および2に開示の技術は、既存のエンジン音を擬似的に合成することを目的としているため、これらの技術を新たに開発する回転装置が発するノイズの評価に利用することはできない。
これに対し、回転装置の発するノイズを擬似的に合成することにより、試作機の製造を行うことなくノイズの評価を行う方法が、非特許文献1において提案されている。
前田 修、「エンジン音質のバーチャル評価技術」、日本音響学会誌、日本音響学会、平成15年、59巻、5号、p.p.288−293
前田 修、「エンジン音質のバーチャル評価技術」、日本音響学会誌、日本音響学会、平成15年、59巻、5号、p.p.288−293
非特許文献1においては、既存の単気筒エンジン音の波形(1サイクル分の単発音)を連続させたものを複数重ね合わせることにより、多気筒エンジンのエンジン音を擬似的に合成する技術が提案されている。この技術によれば、実在しない多気筒エンジンの音を擬似的に生成することにより、開発段階でノイズ確認ができる。
非特許文献1には、単気筒エンジンの単発音波形を用いて多気筒エンジン音波形を合成するにあたり、より自然なエンジン音波形を生成するために、ランダムノイズを加えるとともに単発音の音量や波形に揺らぎを与えることが提案されている。
本願発明者は、単気筒エンジンの単発音波形を連続させたものを複数重ね合わせる際に、連続した単発音波形における音量もしくは波形の揺らぎや、複数の連続した単発音波形間の音量もしくは波形の不均質性の程度を調整することにより、合成音の特性を様々に変更することを着想した。また、本願発明者は、単発音波形の周波数特性を調整することにより、擬似的に生成される多気筒エンジン音波形の周波数特性を様々に変更することも着想した。なお、これらのアイデアはエンジン音の合成に限られず、例えば扇風機のように、回転駆動に伴いノイズを発する複数の同種の部位を有するあらゆる装置に適用可能である。
本願発明は、上記着想に基づき、複数の同種の部位を有する回転装置が様々な物理特性や運転環境の条件下において発するノイズを、多くの手間や費用を要することなく仮想的に生成する手段を提供することを目的とする。
上記課題を達成するために、本発明は、パラメータを取得するパラメータ入力手段と、音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段とを備え、前記連続波形生成手段は、前記連続波形に前記パラメータに応じた揺らぎを有する振幅方向もしくは時間方向の伸縮を付加することを特徴とする波形合成装置を提供する。
このような波形合成装置によれば、入力されるパラメータに応じて音響特性が様々に変化する合成波形が得られる。
このような波形合成装置の好ましい態様において、前記連続波形生成手段は、前記重合波形生成手段による前記重ね合わせに用いられる複数の連続波形に、異なる揺らぎを有する振幅方向もしくは時間方向の伸縮を付加するようにしてもよい。
また、本発明は、パラメータを取得するパラメータ入力手段と、音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段とを備え、前記重合波形生成手段は、前記重ね合わせに用いる複数の連続波形に、前記パラメータに応じた時間方向のオフセットを付加するようにしてもよい。
このような波形合成装置によっても、入力されるパラメータに応じて音響特性が様々に変化する合成波形が得られる。
このような波形合成装置の好ましい態様において、前記重合波形生成手段は、前記重ね合わせに用いる複数の連続波形の少なくとも1の連続波形に、前記原波形の周期を前記重ね合わせに用いる連続波形の数で除した時間の非整数倍の時間のオフセットを付加するようにしてもよい。
この態様においては、回転装置のノイズの基本周期の非整数倍音成分を多く含む合成音が生成される。
この態様においては、回転装置のノイズの基本周期の非整数倍音成分を多く含む合成音が生成される。
また、本発明は、パラメータを取得するパラメータ入力手段と、音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段とを備え、前記連続波形生成手段は、第1の連続波形との間に前記パラメータに応じた相関を有する第2の連続波形を生成し、前記重合波形生成手段は、前記第1の連続波形と前記第2の連続波形とを含む複数の連続波形を用いて、前記重合波形の生成を行うことを特徴とする波形合成装置を提供する。
このような波形合成装置によっても、入力されるパラメータに応じて音響特性が様々に変化する合成波形が得られる。
このような波形合成装置の好ましい態様において、前記連続波形生成手段は、互いの相関係数が1未満であり、かつ同じ周波数特性を有する前記第1の連続波形と前記第2の連続波形を生成するようにしてもよい。
この態様においては、回転装置の発するノイズの基本周期の非整数倍音成分の量を制御しやすい。
この態様においては、回転装置の発するノイズの基本周期の非整数倍音成分の量を制御しやすい。
また、本発明は、パラメータを取得するパラメータ入力手段と、音波形合成の元となる音波形である原波形に前記パラメータに応じた周波数特性の変更を加える周波数特性変更手段と、前記周波数特性変更手段により周波数特性の変更が加えられた原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段とを備えることを特徴とする波形合成装置を提供する。
このような波形合成装置によっても、入力されるパラメータに応じて音響特性が様々に変化する合成波形が得られる。
上記の波形合成装置およびそれらの好ましい態様において、前記連続波形生成手段は、互いに異なる長さを有する原波形を複数連続させることにより周期が変化する連続波形を生成するようにしてもよい。
この態様によれば、回転装置の回転部位の回転速度が変化した場合のノイズであっても合成可能である。
この態様によれば、回転装置の回転部位の回転速度が変化した場合のノイズであっても合成可能である。
上記の波形合成装置およびそれらの好ましい態様において、ユーザの操作に応じたパラメータを出力する操作手段と、パラメータと物理的属性値との対応関係を示す対応関係データを記憶する記憶手段と、前記対応関係データに基づき、前記パラメータ入力手段により取得されたパラメータに対応する物理的属性値を特定する属性値特定手段とを備え、前記パラメータ入力手段は、前記操作手段により出力されたパラメータを取得するようにしてもよい。
この態様によれば、ユーザの操作により入力されたパラメータに基づき合成音の生成がなされるとともに、そのパラメータに応じた物理的属性値が特定される。そのため、ユーザは生成される合成音に応じた回転装置の物理特性を容易に知ることができる。
上記の波形合成装置およびそれらの好ましい態様において、ユーザの操作に応じた物理的属性値を出力する操作手段と、物理的属性値とパラメータとの対応関係を示す対応関係データを記憶する記憶手段と、前記対応関係データに基づき、前記操作手段により出力された物理的属性値に対応するパラメータを測定するパラメータ特定手段とを備え、前記パラメータ入力手段は、前記パラメータ特定手段により特定されたパラメータを取得するようにしてもよい。
この態様によれば、ユーザの操作により入力された回転装置の物理特性に応じた合成音の生成がなされる。そのため、ユーザは回転装置の物理特定に応じて如何なるノイズが発生されるかを容易に知ることができる。
また、本発明は、上記の波形合成装置が行う処理をコンピュータに実行させるプログラムを提供する。その結果、上記の波形合成装置がコンピュータにより実現される。
[1.音波形合成の原理]
以下、本願発明の理解のために、単気筒エンジンの単発音を用いて多気筒エンジンの音を合成する方法(以下、「単発音制御再生法」と呼ぶ)の原理を説明する。なお、例として、4気筒4ストロークエンジンにつき以下に説明する。
以下、本願発明の理解のために、単気筒エンジンの単発音を用いて多気筒エンジンの音を合成する方法(以下、「単発音制御再生法」と呼ぶ)の原理を説明する。なお、例として、4気筒4ストロークエンジンにつき以下に説明する。
単発音制御再生法においては、まず単気筒エンジンの単発音(以下、単に「単発音」と呼ぶ)の波形が準備される。4ストロークエンジンの気筒は、燃料の吸気、燃料の圧縮、燃料の点火による爆発、爆発後の排気、の4工程を繰り返すことによりクランクシャフトを押し回し駆動する。単発音は、エンジンの1気筒がこれらの4工程1サイクルの動作を行う際に発する音である。単発音の波形は、例えば実機を運転させた際の音を録音することにより得られる。
単発音の波形が得られると、単発音の波形を連続させることにより、エンジンの1気筒が継続して運転された場合に発する音(以下、「連続音」と呼ぶ)が合成される。図1は連続音が合成される様子を示した図である。図1の左図は、最大振幅がA0、時間がT0(秒)である単発音の波形を例示している。連続音の合成においては、この原波形である単発音の波形に振幅方向および時間方向の伸縮を加えたものが順次連結される。なお、連結部の不連続により発生するノイズを低減するために、連結に先んじて両端がゼロの窓関数を乗じる処理が行われる。
連続音の合成に用いられる単発音の生成おいて、より自然な音を生成するために、各原波形に対し加えられる伸縮の程度には所定の揺らぎが加えられる。その結果、連続音を構成する各単発音の振幅および時間はそれぞれ微小に異なるものとなる。図1の右図は8つの単発音を連結して連続音が生成された様子を示しており、連続音に含まれる各単発音の振幅および時間は揺らぎの付加により順にA1〜A8およびT1〜T8(秒)と各々異なっている。
上記のように合成される連続音に含まれる単発音の長さは原波形の時間T0を中心として揺らぐため、連続音の周期はT0(秒)であり、その基音はf0=1/T0(Hz)である。なお、4ストロークエンジンの場合、吸気、圧縮、爆発、排気の4工程においてクランクシャフトが2回転するため、エンジンの回転数をr(rpm)とすると、周期T0=(2×60)/r(秒)である。
続いて、4気筒エンジンの音を合成するために、上記のように合成して得られる連続音、すなわち1気筒の発する音を、4つ重ね合わせて重合音を合成する。この重ね合わせの際、各連続音に順次、T0/4(秒)のオフセット時間を加える。すなわち、第2の連続音の開始時刻はT0/4秒だけ第1の連続音の開始時刻より遅れ、第3の連続音の開始時刻はT0/4秒だけ第2の連続音の開始時刻より遅れ、第4の連続音の開始時刻はT0/4秒だけ第3の連続音の開始時刻より遅れる。図2は連続音の重合により重合音が合成される様子を示した図である。
上記のように合成される重合音においては、時間T0/4(秒)ごとにほぼ同じ波形が繰り返される。従って、重合音の周期はT=T0/4(秒)、その基音はf=f0×4(Hz)となる。このように合成される重合音が、単発音制御再生法により生成される4気筒4ストロークエンジンの音である。
なお、エンジンが自動車に搭載された際の音を模すために、上記のように生成されたエンジン音に対し、さらにロードノイズ、風切り音、ファン騒音等を示すノイズ波形が重合されてもよい。
[2.エンジン音の音響特性の変化に関する実験]
続いて、本願発明者が本願発明に至る過程において、単発音制御再生法を用いて行った実験およびその結果を以下に示す。まず、本願発明者は、連続音の合成において原波形の単発音に加えられる振幅方向および時間方向の伸縮の揺らぎ(以下、それぞれ「振幅揺らぎ」および「時間揺らぎ」と呼ぶ)が、最終的に得られる重合音にどのように影響するかを実験により確認した。図3はその実験の結果を示したグラフである。
続いて、本願発明者が本願発明に至る過程において、単発音制御再生法を用いて行った実験およびその結果を以下に示す。まず、本願発明者は、連続音の合成において原波形の単発音に加えられる振幅方向および時間方向の伸縮の揺らぎ(以下、それぞれ「振幅揺らぎ」および「時間揺らぎ」と呼ぶ)が、最終的に得られる重合音にどのように影響するかを実験により確認した。図3はその実験の結果を示したグラフである。
図3(A−1)および図3(A−2)は、連続音の合成において、振幅揺らぎおよび時間揺らぎを全く加えない場合、すなわち連続音の合成に原波形をそのまま用いた場合に得られる重合音の波形および周波数特性をそれぞれ示している。また、図3(B−1)および図3(B−2)は、連続音の合成において、振幅揺らぎのみを加え、時間揺らぎを全く加えない場合に得られる重合音の波形および周波数特性をそれぞれ示している。さらに、図3(C−1)および図3(C−2)は、連続音の合成において、振幅揺らぎおよび時間揺らぎの両方を加えた場合に得られる重合音の波形および周波数特性をそれぞれ示している。
図3より、振幅揺らぎおよび時間揺らぎの付加により、重合音の周波数特性における振幅の山と谷との差が小さくなることが確認される。周波数特性の低周波数領域における振幅の山は基音の整数倍音に対応し、振幅の山と谷との差が大きいほど純音性の高い音、いわゆる輪郭のはっきりした音となる。このことから、連続音の合成において原波形に加える振幅揺らぎおよび時間揺らぎの程度を調整することにより、重合音の純音性を変化させることが可能となることが判明した。
図4は、揺らぎの付加が重合音の音響特性に与える影響を確認するために行った別の実験結果を示すソナグラフである。図4(A)および図4(B)の縦軸は周波数、横軸は時間を示している。ただし、図4(A)および図4(B)の作成に用いた重合音においては、回転数rが1000回転/秒の割合で増加する場合のエンジン音を模すように、徐々に増加する縮小率で時間方向に縮小された単発音が連結された連続音が重合されている。従って、図4(A)および図4(B)の横軸の値に1000を乗じたものは、エンジンの回転数rに相当する。
図4(A)の作成に用いた重合音においては、連続音の合成時に振幅揺らぎおよび時間揺らぎのいずれも付加されていない。一方、図4(B)の作成に用いた重合音においては、振幅揺らぎは付加されていないが、規則的な時間揺らぎが付加されている。具体的には、重合に用いられた連続音を構成する単発音の原波形に対する時間方向の伸縮率が、先頭から順に0.9、1.05、0.95および1(以下、繰り返し)となっている。
図4(A)においては、グラフの左下から右上に向かいほぼ直線上に並んだ周波数成分の山が明確に確認される。ソナグラフに現れるこれらの直線はグラフの下から順次、回転2次、回転4次、回転6次、・・・の成分を示し、図4(A)においてはこれらの直線が明確であることから、回転整数次の周波数成分のピークが鋭いことが見てとれる。これに対し、図4(B)においては、回転整数次の直線が図4(A)のものと比較して明確でなく、回転整数次の周波数成分のピークが鋭くないことが見てとれる。
なお、経験上、エンジンの気筒数を2で除した次数に対応する直線が明確である程、聞き手にとってエンジンが快調に回っている、という印象を与えることが知られている。この気筒数を2で除した次数は爆発1次とも呼ばれる。例えば4気筒エンジンの場合、爆発1次は回転2次である。
図4(A)および図4(B)より、単発音に揺らぎを与えた場合は揺らぎを与えない場合と比較し、最終的に合成される重合音の回転整数次の周波数成分が際立っておらず、爆発1次の成分も他の成分と比較し顕著に現れず、聞き手にとってはあまり快調に回っていないエンジンの音と感じられることが分かる。
次に、本願発明者は、連続音の合成において、各気筒に対応する連続音ごとに異なる原波形を用いた場合に、最終的に得られる重合音にどのような影響が生じるかを実験により確認した。図5はその実験の結果を示したソナグラフである。
図5(A)および図5(B)の縦軸および横軸のスケールは図4におけるものと同様である。また、図5(A)は図4(A)と全く同じグラフであり、図5(B)との比較のために再掲している。図5(B)の作成に用いた重合音の合成には、各々の気筒に対応する連続音として、周波数特性は同一だが互いに無相関な原波形を用いて合成された連続音が用いられている。
周波数特性が同一であり、かつ無相関な原波形の作成の方法は様々に考えられるが、図5(B)の作成においては、所定の周波数特性を有するノイズ波形の異なる区間を切り出したものを各気筒に対応する原波形として用いている。このようなノイズ波形それ自体はエンジンの単発音とは非類似であるが、連続処理および重合処理を経ると、多気筒エンジンの音とある程度類似したものになる。
図5(B)を図5(A)と比較すると、回転整数次の直線の間に複数の直線が現れ、その結果、いずれの直線が回転整数次のものかの特定が困難である。すなわち、図4(B)と同様に、図5(B)の音は図5(A)の音と比較すると回転整数次の周波数成分が際立っていないことが見てとれる。しかしながら、図4(B)と異なり、図5(B)における各直線それ自体は図5(A)と同様に鮮明である。このことから、重合音の合成に用いる原波形を気筒毎に変えると、その相関の程度に応じて回転整数次の周波数成分が際立たなくなるが、その音響特性は揺らぎ付加によるものとは異なることが分かる。
次に、本願発明者は、重合音の合成に用いる原波形の周波数特性の変化によって、最終的に得られる重合音の周波数特性にどのような影響が生じるかを実験により確認した。図6はその実験の結果を示したグラフである。図6(A)〜(D)は、各々、異なる波形の単発音の周波数成分およびその単発音を用いて合成した重合音(エンジン音)の周波数成分を示している。図6より、重合音の振幅の谷はその重合音の生成に用いられた単発音の振幅と強い相関があることが分かる。すなわち、単発音の音響特性により重合音の大まかな音響特性が決定されることが分かる。
[3.第1実施形態]
続いて、本発明の第1実施形態を以下に説明する。本発明の第1実施形態は、ユーザにより入力される時間揺らぎ等に関するパラメータに応じて仮想的なエンジン音を示す重合波形を生成するとともに、生成した重合波形を発生するようなエンジンのクランクシャフト角度等の物理的属性値を出力する波形合成装置である。
続いて、本発明の第1実施形態を以下に説明する。本発明の第1実施形態は、ユーザにより入力される時間揺らぎ等に関するパラメータに応じて仮想的なエンジン音を示す重合波形を生成するとともに、生成した重合波形を発生するようなエンジンのクランクシャフト角度等の物理的属性値を出力する波形合成装置である。
[3.1.構成]
図7は、第1実施形態にかかる波形合成装置10を含む波形合成システム1の構成を示したブロック図である。波形合成システム1は、ユーザの操作に応じた信号を波形合成装置10に出力するポインタデバイスであるマウス11と、波形合成装置10と、波形合成装置10から出力される音波形を増幅するアンプ12と、アンプ12から出力される音波形を音に変換するスピーカ13と、波形合成装置10がユーザに対し各種メッセージを通知するために出力する描画データに応じて画像や文字を表示するディスプレイ14を備えている。
図7は、第1実施形態にかかる波形合成装置10を含む波形合成システム1の構成を示したブロック図である。波形合成システム1は、ユーザの操作に応じた信号を波形合成装置10に出力するポインタデバイスであるマウス11と、波形合成装置10と、波形合成装置10から出力される音波形を増幅するアンプ12と、アンプ12から出力される音波形を音に変換するスピーカ13と、波形合成装置10がユーザに対し各種メッセージを通知するために出力する描画データに応じて画像や文字を表示するディスプレイ14を備えている。
波形合成装置10は、波形合成に用いられる単発音の原波形の集まりである原波形データ群1001と、波形合成に用いられるパラメータと生成されるエンジン音を発するエンジンの物理的属性値との対応関係を示すデータベース(以下、「DB」と呼ぶ)の集まりである対応関係DB群1002とを記憶する記憶部100を備えている。
記憶部100はさらに、波形合成装置10の他の構成部が利用する各種データを一時的に記憶するとともに、波形合成装置10に対しユーザがデータ入力を行うための画面およびユーザに対し処理結果を通知するための画面の構成を定義したデータ(以下、「画面定義データ」と呼ぶ)を記憶している。画面定義データは、画面上に表示されるテキストボックスやコマンドボタン等のオブジェクトの属性を示すデータの集まりであり、ユーザはマウス11を用いた操作によりオブジェクトに対しデータ入力を行うことができ、入力されたデータもまた、オブジェクトの属性として記憶部100に記憶される。
図8は、原波形データ群1001の構成を模式的に示した図である。原波形データ群1001には、複数のエンジンの各々に関し、エンジンの回転数(rpm)に応じて複数の単発音の原波形データが含まれている。図8の例では、4ストロークエンジンのモデル1およびモデル2と、2ストロークエンジンのモデル3の合計3種のエンジンに関し、600rpm、700rpm、・・・と100rpm毎の回転数に応じた単発音の原波形データが原波形データ群1001に含まれており、例えばモデル1のエンジンが回転数600rpmである場合の単発音の原波形データは、M1_600.wavというファイル名で記憶されている。
なお、原波形データ群1001に含まれる原波形データは、単気筒エンジン(実機)の運転により発せられる音の録音により得られたものであってもよいし、例えばランダムノイズに対し実際のエンジン音と同様の周波数特性を有するようにイコライザ等によるフィルタ処理を加えたり、実際のエンジン音と同様の振幅の時間的変化を有するように振幅方向の伸縮を行ったりすることにより、仮想的に生成されたものであってもよい。また、実機のエンジン音にフィルタ処理等による音響特性の調整を加えたものであってもよい。
図9は、対応関係DB群1002の構成を例示した図である。対応関係DB群1002は、エンジンの物理的属性の各々に応じたDBを複数含んでいる。エンジンの物理的属性とは、具体的には点火プラグの点火タイミング、クランクシャフトの角度、ピストンのバンク角、バルブの開閉タイミング、吸気管の集合点までの長さ、排気管の集合点までの長さ、燃料噴射量、吸気量などである。対応関係DB群1002に含まれる各DBには、物理的属性値に対応付けて、その物理的属性値を有するエンジンに関し、以下の4種類のデータ(以下、これらのデータを「パラメータデータ」と総称する)が記憶されている。
「相関係数」:第1の気筒に対応する単発音と第2の気筒に対応する単発音の波形の相関係数(無単位)。
「時間揺らぎの程度」:所定数の連続する単発音の長さの平均をTave、それらの単発音のうち最大長のものの長さをTmaxとする場合、以下の式1にて求められるeT(%)。
eT=(Tmax−Tave)÷Tave×100 ・・・(式1)。
例えば4ストロークエンジンの場合、エンジン回転数が1000rpmであれば単発音の長さは120ミリ秒となるが、「時間揺らぎの程度」1.0%は、単発音の長さが約118.8ミリ秒〜121.2ミリ秒の範囲で揺らぐことを示している。
eT=(Tmax−Tave)÷Tave×100 ・・・(式1)。
例えば4ストロークエンジンの場合、エンジン回転数が1000rpmであれば単発音の長さは120ミリ秒となるが、「時間揺らぎの程度」1.0%は、単発音の長さが約118.8ミリ秒〜121.2ミリ秒の範囲で揺らぐことを示している。
「振幅揺らぎの程度」:所定数の連続する単発音の各々の最大振幅の平均をAave、それらの単発音の最大振幅のうち最大のものをAmaxとする場合、以下の式2にて求められるeA(%)。
eA=(Amax−Aave)÷Aave×100 ・・・(式2)。
例えば連続する単発音の各々の最大振幅が100であり、「振幅揺らぎの程度」1.0%は、単発音の最大振幅が約99〜101の範囲で揺らぐことを示している。
eA=(Amax−Aave)÷Aave×100 ・・・(式2)。
例えば連続する単発音の各々の最大振幅が100であり、「振幅揺らぎの程度」1.0%は、単発音の最大振幅が約99〜101の範囲で揺らぐことを示している。
「オフセットの程度」:2気筒エンジンにおいて、第1気筒の連続する所定数nの単発音の開始タイミングをi1(1)、i1(2)、i1(3)・・・i1(n)とし、それらに続く第2気筒の単発音の開始タイミングをそれぞれi2(1)、i2(2)、i2(3)・・・i2(n)とする場合、以下の式5にて求められるs(無単位)。
Istd=(i1(n)−i1(1))÷(n−1)÷2 ・・・(式3)。
Iost={(i2(1)−i1(1))+(i2(2)−i1(2))+ ・・・ +(i2(n)−i1(n))}÷(n−1) ・・・(式4)。
s=Iost÷Istd ・・・(式5)。
Istd=(i1(n)−i1(1))÷(n−1)÷2 ・・・(式3)。
Iost={(i2(1)−i1(1))+(i2(2)−i1(2))+ ・・・ +(i2(n)−i1(n))}÷(n−1) ・・・(式4)。
s=Iost÷Istd ・・・(式5)。
ここで、式3により求められるIstdは、第1気筒の単発音と第2気筒の単発音が交互に等しい時間間隔で開始する通常の場合における第1気筒の単発音と第2気筒の単発音の開始タイミングとの時間間隔を示している。これに対し、式4により求められるIostは実際の第1気筒の単発音の開始タイミングとその後に続く第2気筒の単発音の開始タイミングとの時間間隔の平均値を示している。従って、式5により求められるsは、第2気筒の単発音の開始タイミングが全体として通常よりも早い場合に1未満となり、第2気筒の単発音の開始タイミングが全体として通常よりも遅い場合に1より大きくなる。例えば「オフセットの程度」1.01は、第2気筒の単発音の開始タイミングが全体として通常の場合より約1%、遅れていることを示している。
図9には、対応関係DB群1002に含まれるDBの一例として、点火タイミングに関するDB(以下、「点火タイミングDB」と呼ぶ)の内容が例示されている。点火タイミングDBには物理的属性値を示す欄として「点火タイミング」欄が設けられている。「点火タイミング」欄には、2気筒エンジンにおいて第1気筒と第2気筒が交互に等しい時間間隔で点火する通常の場合を基準とし、第2気筒の点火タイミングがどの程度前後しているかを示している。例えば「点火タイミング」1.01は、第2気筒の点火タイミングが全体として通常の場合より約1%、遅れていることを示している。対応関係DB群1002には、クランクシャフトの角度、ピストンのバンク角、バルブの開閉タイミング等の物理的属性に関し、点火タイミングDBと同様のDBが含まれている。
図7に戻り、波形合成装置10の構成の説明を続ける。波形合成装置10は、マウス11からユーザの操作に応じて出力される信号に基づきユーザが入力したデータ(以下、「入力データ」と呼ぶ)を特定して一時的に記憶部100に記憶させるパラメータ入力部101と、原波形データ群1001から所望の回転数に最も近い回転数に応じた原波形データを選択する原波形選択部102と、原波形選択部102により選択された原波形データに対し時間方向の伸縮を行うことにより所望の回転数に応じた波形データを生成する周期変更部103と、周期変更部103により生成された波形データの周波数特性を調整する周波数特性変更部104とを備えている。
また、波形合成装置10は、周波数特性変更部104により生成される波形データを用いて一連の複数の波形データを生成しそれらを連結することにより連続波形データを生成する連続波形生成部105と、連続波形生成部105により生成された複数の連続波形データを重ね合わせることにより重合波形データを生成する重合波形生成部106と、重合波形生成部106により生成された重合波形データ(デジタルデータ)をアナログデータに変換した後アンプ12に出力するD/Aコンバータ107とを備えている。
また、波形合成装置10は、入力信号に応じた物理的属性値を対応関係DB群1002に基づき特定し、特定した物理的属性値を一時的に記憶部100に記憶させる属性値特定部108を備えている。さらに、波形合成装置10は、記憶部100に記憶されている画面定義データに基づき画面を示す描画データを生成しディスプレイ14に対し出力する画面生成部109を備えている。
連続波形生成部105は、ノイズ波形を示すノイズデータを生成し、周波数特性変更部104により生成された波形データに対し、生成したノイズデータの異なる区間を切り出したものを加えることにより、互いに1未満の相関を示す異なる波形データを複数生成する相関変更部1051を備えている。相関変更部1051により生成される複数の波形データの各々は、多気筒エンジンの各気筒に対応する単発音の波形データである。以下、説明のため、4気筒の場合を例に説明する。4気筒の場合、相関変更部1051は任意に選択した1組の波形データが所定の相関を持つような、4つの波形データを生成する。
連続波形生成部105は、相関変更部1051により生成された波形データに時間揺らぎを加える時間揺らぎ付加部1052と、時間揺らぎ付加部1052により生成された波形データに振幅揺らぎを加える振幅揺らぎ付加部1053とを備えている。
時間揺らぎ付加部1052は、揺らぎを持った一連の伸縮率を生成し、相関変更部1051により生成された4つの波形データのうちの第1の波形データを、生成した一連の伸縮率で順次、時間方向に伸縮する。その結果、第1の気筒に対応する時間揺らぎを持った波形データ群が生成される。時間揺らぎ付加部1052は、相関変更部1051により生成された第2〜第4の波形データに関しても、第1の波形データと同様の処理を行う。その結果、第2〜第4の気筒の各々に対応する時間揺らぎを持った波形データ群が生成される。
振幅揺らぎ付加部1053は、揺らぎを持った一連の伸縮率を生成し、時間揺らぎ付加部1052により生成された第1の波形データ群に含まれる一連の波形データの各々を、生成した一連の伸縮率で順次、振幅方向に伸縮する。その結果、第1の気筒に対応する時間揺らぎと振幅揺らぎの両方を持った波形データ群が生成される。振幅揺らぎ付加部1053は、時間揺らぎ付加部1052により生成された第2〜第4の波形データ群に関しても、第1の波形データ群と同様の処理を行う。その結果、第2〜第4の気筒の各々に対応する時間揺らぎおよび振幅揺らぎを持った波形データ群が生成される。
連続波形生成部105は、さらに、振幅揺らぎ付加部1053により生成された波形データ群を連結して、連続波形データを生成する連結処理部1054を備えている。連結処理部1054は振幅揺らぎ付加部1053により生成された第1の波形データ群に含まれる一連の波形データの各々に窓関数を乗じた後、それらを順次連結する。その結果、第1の気筒に対応する連続波形データが生成される。なお、この窓関数を乗じる処理は、波形データの連結部の不連続性から生じるノイズを回避するための処理である。連結処理部1054は、振幅揺らぎ付加部1053により生成された第2〜第4の波形データ群に関しても、第1の波形データ群と同様の処理を行う。その結果、第2〜第4の気筒の各々に対応する連続波形データが生成される。このように生成された4つの連続波形データは、連続波形生成部105から重合波形生成部106に引き渡される。
重合波形生成部106は、連続波形生成部105から受け取った4つの連続波形データの各々に時間方向のオフセットを与えるオフセット変更部1061と、オフセット変更部1061によりオフセットの与えられた4つの連続波形データを重ね合わせることにより重合データを生成する重合処理部1062とを備えている。このように生成された重合データは、4気筒エンジンの音を示す波形データである。
[3.2.動作]
続いて、波形合成システム1の動作を説明する。ユーザにより波形合成装置10の起動操作が行われると、波形合成装置10の画面生成部109は、記憶部100からデータ入力用の画面定義データを読み出して画面を示す描画データを生成し、ディスプレイ14に出力する。その結果、ディスプレイ14にデータ入力用画面が表示される。
続いて、波形合成システム1の動作を説明する。ユーザにより波形合成装置10の起動操作が行われると、波形合成装置10の画面生成部109は、記憶部100からデータ入力用の画面定義データを読み出して画面を示す描画データを生成し、ディスプレイ14に出力する。その結果、ディスプレイ14にデータ入力用画面が表示される。
図10は、ディスプレイ14に表示されるデータ入力用画面を例示した図である。データ入力用画面には、気筒数を選択するためのリストボックス141、エンジンのモデルを選択するためのリストボックス142、回転数を指定するためのスライダ143、グラフィックイコライザを構成するフェーダ群144、相関の程度を指定するためのスライダ145、時間揺らぎの程度を指定するためのスライダ146、振幅揺らぎの程度を指定するためのスライダ147、オフセットを指定するためのスライダ群148、エンジン音の波形合成の開始を指示するためのコマンドボタン149、エンジン音の波形合成の終了を指示するためのコマンドボタン150、生成されるエンジン音に応じたエンジンの物理的属性値の表示を指示するためのコマンドボタン151が含まれている。
ユーザは、データ入力用画面において、マウス11を操作して気筒数〜オフセットの各種パラメータの入力を行う。マウス11はユーザの操作に応じた信号を波形合成装置10のパラメータ入力部101に出力する。パラメータ入力部101はマウス11から受け取った信号および記憶部100に記憶されているデータ入力用の画面定義データに基づきユーザにより入力された入力データを特定し、特定した入力データを画面定義データに含まれる各オブジェクトの属性値として記憶部100に記憶させる。
その後、ユーザはコマンドボタン149をマウス11でクリックする。このクリック操作に応じて、波形合成装置10の原波形選択部102〜D/Aコンバータ107はエンジン音の合成処理およびその出力処理を開始する。
まず、原波形選択部102は、原波形データ群1001(図8参照)の中から、リストボックス142の属性値に応じたモデルの原波形データのグループを選択する。続いて、原波形選択部102は、選択したグループに含まれる原波形データ群の中から、スライダ143の属性値として記憶されている入力データにより示される回転数に最も近い回転数に対応する原波形データを選択する。
周期変更部103は、原波形選択部102により選択された原波形データを時間方向に伸縮することにより、スライダ143の属性値により示される回転数に対応する波形データを生成する。例えばユーザにより指定された回転数が620rpmである場合、原波形選択部102により600rpmに対応する原波形データが選択され、周期変更部103は600/620の伸縮率で原波形データを時間方向に伸縮することにより、620rpmに対応する単発音の波形データを生成する。
周波数特性変更部104は、フェーダ群144の属性値により示される周波数特性の形状に基づき、周期変更部103により生成された波形データの周波数特性を調整する。より具体的には、周波数特性変更部104は、例えば複数のバンドパスフィルタの各々で波形データを濾波したものをミキシングすることにより、周波数特性が調整された波形データを生成する。
連続波形生成部105の相関変更部1051は、まず周波数特性変更部104により生成された波形データと同じ長さのランダムノイズの波形データを生成する。具体的には、例えば−1〜+1の間で変化する乱数列をランダムノイズの波形データとして生成する。
続いて、相関変更部1051はランダムノイズの波形データと、周波数特性変更部104により生成された波形データとの各々に対し、スライダ145の属性値により示される相関の程度に応じた伸縮率で振幅方向の伸縮を加えた後、それらをミキシングする。より具体的には、例えばユーザにより相関の程度として0.8が指定された場合、相関変更部1051は周波数特性変更部104により生成された波形データの最大振幅をランダムノイズの波形データに乗じた上でさらに(1−0.8)=0.2を乗じたものと、周波数特性変更部104により生成された波形データに0.8を乗じたものとをミキシングする。その結果、周波数特性変更部104により生成された波形データと正の相関を持つが異なる波形データが生成される。
相関変更部1051は、リストボックス141の属性値により示される気筒数だけ、上記の処理を繰り返す。その結果、任意に選択した1組の波形データが互いに正の相関を持つが異なるような波形データ群が生成される。その際、波形データ間の相関は、ユーザにより指定される相関の程度の高いほど高く、低いほど低くなる。なお、ユーザにより指定される相関の程度が0の場合、相関変更部1051により生成される波形データはランダムノイズの波形データそのものとなり、それらの波形データ間の相関係数はほぼ0となる。一方、ユーザにより指定される相関の程度が1の場合、相関変更部1051により生成される波形データは周波数特性変更部104により生成される波形データそのものとなり、それらの波形データ間の相関係数は1となる。
時間揺らぎ付加部1052は、相関変更部1051により生成された気筒数と同じ数の波形データの各々に関し、時間揺らぎを付加した波形データ群を生成する。より具体的には、時間揺らぎ付加部1052はまず、−1〜+1の間で変化する乱数列を生成する。続いて、時間揺らぎ付加部1052は生成した乱数の各々に、スライダ146の属性値により示される時間揺らぎの程度を乗じた後、1を加える。その結果、例えばユーザにより指定された時間揺らぎの程度が3%である場合、0.97〜1.03の間で変化する乱数列が生成される。
続いて、時間揺らぎ付加部1052は相関変更部1051により生成された第1の波形データを、生成した乱数列に含まれる乱数の各々に応じた伸縮率で時間方向に伸縮する処理を繰り返す。例えば、乱数列として0.982、1.021、0.997、・・・が生成された場合、時間揺らぎ付加部1052は相関変更部1051により生成された第1の波形データを時間方向に0.982倍、1.021倍、0.997倍、・・・に伸縮して得られる波形データ群を生成する。このように生成される波形データ群は、第1の気筒の発するエンジン音を構成する単発音群を示す。
時間揺らぎ付加部1052は、相関変更部1051により生成された第2の波形データ、第3の波形データ、・・・の各々に関しても、第1の波形データに関し用いた倍率と同じ倍率を用いて時間方向の伸縮を順次行うことにより、第2の波形データ群、第3の波形データ群、・・・を生成する。これらの波形データ群は各々、第2の気筒、第3の気筒、・・・に対応する波形データ群である。
振幅揺らぎ付加部1053は、時間揺らぎ付加部1052により生成された波形データ群に含まれる波形データに振幅揺らぎを付加する。振幅揺らぎ付加部1053は時間揺らぎ付加部1052が行うものと同様の方法で、波形データを振幅方向に伸縮する際の倍率を示す乱数列を生成する。ただし、乱数列の生成に際し、振幅揺らぎ付加部1053はスライダ146ではなくスライダ147の属性値により示される振幅揺らぎの程度に従い乱数列を生成する。
振幅揺らぎ付加部1053は、時間揺らぎ付加部1052により生成された第1の波形データ群に含まれる波形データを、乱数列に含まれる乱数の倍率で振幅方向に伸縮する。例えば、乱数列として1.012、0.973、0.985、・・・が生成された場合、振幅揺らぎ付加部1053は第1の波形データ群に含まれる第1の波形データを振幅方向に1.012倍、第2の波形データを振幅方向に0.973倍、第3の波形データを振幅方向に0.985倍、・・・と伸縮する。その結果、振幅揺らぎの付加された第1の波形データ群が生成される。
振幅揺らぎ付加部1053は、時間揺らぎ付加部1052により生成された第2の波形データ群、第3の波形データ群、・・・の各々に関しても、第1の波形データ群に関し用いた倍率と同じ倍率を用いて振幅方向の伸縮を順次行うことにより、振幅揺らぎの付加された第2の波形データ群、第3の波形データ群、・・・を生成する。
連結処理部1054は、振幅揺らぎ付加部1053により生成された第1の波形データ群に含まれる一連の波形データに窓関数を乗じたものを、順次連結する。その結果、第1の連続波形データが生成される。同様に、連結処理部1054は、振幅揺らぎ付加部1053により生成された第2の波形データ群、第3の波形データ群、・・・に関しても第1の波形データ群に関し行う処理と同様の処理を行う。その結果、第2の連続波形データ、第3の連続波形データ、・・・が生成される。
重合波形生成部106のオフセット変更部1061は、連続波形生成部105の連結処理部1054により上記のように生成された複数の連続波形データの各々に、スライダ群148の属性値に応じた時間方向のオフセットを付加する。スライダ群148の属性値、すなわちユーザにより指定されるオフセットの値は、例えばリストボックス141において4気筒が選択されている場合、(I1,I2,I3)=(0.97,1.05,1.02)のような形式の値となる。
ここでI1は、通常の場合、すなわち各気筒の単発音の開始タイミングが等間隔の場合のその間隔を1とした場合、第1気筒と第2気筒の単発音の開始タイミングの間隔を示している。同様に、I2は第2気筒と第3気筒の単発音の開始タイミングの間隔を示し、I3は第3気筒と第4気筒の単発音の開始タイミングの間隔を示している。なお、第4気筒と第1気筒の単発音の開始タイミングの間隔は、4−(0.97+1.05+1.02)=0.96のように、I1〜I3により自動的に定まる。
通常の場合の各気筒の単発音の開始タイミングの間隔は、周期変更部103により生成された単発音の波形データの長さを気筒数で除した長さである。以下、この長さをDとする。オフセット変更部1061は、D×I1の長さの振幅0のデータを、連結処理部1054により生成された第2の連続波形データの先頭に挿入する。その結果、第2の連続波形データによる発音開始タイミングが、第1の連続波形データの発音開始タイミングからD×I1の時間だけ遅れることになる。
同様に、オフセット変更部1061は、D×(I1+I2)の長さの振幅0のデータを、連結処理部1054により生成された第3の連続波形データの先頭に挿入する。また、オフセット変更部1061は、D×(I1+I2+I3)の長さの振幅0のデータを、連結処理部1054により生成された第4の連続波形データの先頭に挿入する。なお、ここではリストボックス141において4気筒が選択されている場合につき説明したが、気筒数が4以外の場合も同様である。
重合処理部1062は、オフセット変更部1061により発音開始タイミングがずらされた第1の連続波形データ、第2の連続波形データ、・・・をミキシングし、重合波形データを生成する。重合処理部1062のミキシング処理により生成される重合波形データは、多気筒エンジンの音を示す波形データである。重合処理部1062は、生成した重合波形データをD/Aコンバータ107に引き渡す。
D/Aコンバータ107は、重合波形生成部106の重合処理部1062から重合波形データを受け取ると、受け取った重合波形データをアナログデータに変換し、アンプ12に出力する。アンプ12はD/Aコンバータ107から入力されたアナログデータを増幅し、スピーカ13に出力する。スピーカ13はアンプ12から入力されたアナログデータを音に変換して発音する。その結果、ユーザには波形合成装置10により合成された多気筒エンジン音が聞こえる。
なお、ユーザはマウス11を操作してコマンドボタン150をクリックすることにより、波形合成装置10からアンプ12へのアナログデータの出力を停止させることができる。
ユーザは、スピーカ13から発音されるエンジン音が気に入った場合、そのエンジン音に近い音を発生させると思われるエンジンの物理的属性値をディスプレイ14に表示させることができる。以下、まずリストボックス141において2気筒が選択されている場合につき、波形合成装置10がエンジンの物理的属性値を表示するために行う動作を説明する。
ユーザがマウス11を操作してコマンドボタン151をクリックすると、波形合成装置10の属性値特定部108は、データ入力用の画面定義データの各オブジェクトの属性値として記憶されている入力データ、より具体的にはスライダ145の属性値として記憶されている相関の程度を示す値、スライダ146の属性値として記憶されている時間揺らぎの程度を示す値、スライダ147の属性値として記憶されている振幅揺らぎの程度を示す値、スライダ群148の属性値として記憶されているオフセットの程度を示す値を記憶部100から読み出す。ここでリストボックス141においては2気筒が選択されているため、スライダ群148の属性値として記憶されているオフセットの程度を示す値は、第2気筒に関する値のみである。以下、このように読み出した入力データを「入力パラメータデータ」と呼ぶ。
続いて、属性値特定部108は、例えば(点火タイミング,クランクシャフト角度,ピストン角度,・・・)=(1.00,25.0°,180°,・・・)のような、エンジンの物理的属性の既定値の組み合わせを記憶部100から読み出す。属性値特定部108は、記憶部100に記憶されている対応関係DB群1002に含まれるDBの各々から、読み出した物理的属性の既定値に対応するパラメータデータを検索する。
属性値特定部108は、そのように各DBから検索したパラメータデータに含まれる同種のデータを掛け合わせて、点火タイミング、相関係数、時間揺らぎの程度、振幅揺らぎの程度、オフセットの程度に関し、各々1つの値を算出する。そのように算出される値は、上記の物理的属性の組み合わせを有するエンジンが発するエンジン音の特徴を決定するパラメータを示すパラメータデータである。以下、このように算出したパラメータデータを「算出パラメータデータ」と呼ぶ。
属性値特定部108は、入力パラメータデータと算出パラメータデータとの間の類似度を算出する。ただし、入力パラメータデータにおける相関の程度と、算出パラメータデータにおける相関係数とは同種の指標ではないため、属性値特定部108は入力パラメータデータにおける相関の程度に従った波形データ間の相関係数を算出し、算出パラメータデータとの類似度の算出に用いる。
入力パラメータデータと算出パラメータデータとの間の類似度の算出方法としては様々なものが考えられるが、例えば相関係数、時間揺らぎの程度、・・・といったパラメータの種類毎に、算出パラメータデータの入力パラメータデータに対する比率を算出し、算出した比率と1との差の自乗を加算することにより類似度を算出すればよい。例えば、算出パラメータデータが(0.93,2.7,1.6,1.05)であり、入力パラメータデータが(0.95,2.2,2.4,0.82)である場合、これらの類似度は、(1−0.93/0.95)2+(1−2.7/2.2)2+(1−1.6/2.4)2+(1−1.05/0.82)2≒0.242となる。このように算出される類似度は常に0以上であり、その値が小さい程、類似性が高いことを示す。属性値特定部108はそのように算出した類似度を、その算出に用いた物理的属性値の組み合わせと共に、一時的に記憶部100に記憶する。
属性値特定部108は、続いて、既定値とは異なる物理的属性値の組み合わせ、例えば(点火タイミング,クランクシャフト角度,ピストン角度,・・・)=(1.01,25.0°,180°,・・・)につき算出パラメータデータを算出し、新たに算出した算出パラメータデータと入力パラメータデータとの間の類似度を算出する。
属性値特定部108は、新たに算出した類似度と記憶部100に記憶されている類似度とを比較し、記憶部100に記憶されている類似度がより小さい場合、すなわち記憶部100に記憶されている類似度がより高い類似性を示す場合、記憶部100に記憶されている内容に変更を加えない。一方、記憶部100に記憶されている類似度よりも新たに算出した類似度の方が小さい場合、すなわち新たに算出した類似度がより高い類似性を示す場合、属性値特定部108は、新たに算出した類似度と、その類似度の算出に用いた物理的属性値の組み合わせにより、記憶部100に記憶されているそれらのデータを更新する。
属性値特定部108は、物理的属性値の組み合わせの内容を所定の変更幅で所定の規則で順次変更しながら、上記の類似度および物理的属性値の組み合わせの更新処理を繰り返す。属性値特定部108による更新処理が物理的属性値の様々な組み合わせに関し完了すると、その時点で記憶部100に記憶されている物理的属性値の組み合わせは、波形合成装置10により合成されたエンジン音と最も類似する音を発するエンジンの物理的属性を示している。なお、属性値特定部108は、上記のように総当たり的な方法でエンジンの物理的属性を特定する代わりに、ニュートン法等の数理計画法を用いてエンジンの物理的属性を特定するようにしてもよい。
ところで、リストボックス141において3気筒以上が選択されている場合、スライダ群148の属性値として記憶されているオフセットの程度を示す値は、第3気筒以降に関するものが加わるため、複数となる。そこで、属性値特定部108は、それら複数のオフセットの程度を示す値の各々を含む複数組の入力パラメータデータにつき、上記の物理的属性の特定処理を繰り返す。その結果、第3気筒以降に関する物理的属性も特定されることになる。
属性値特定部108は物理的属性の特定処理を完了すると、その時点で記憶部100に記憶されている物理的属性値の組み合わせを画面生成部109に引き渡す。画面生成部109は属性値特定部108から物理的属性値の組み合わせを受け取ると、記憶部100から物理的属性値の表示用の画面定義データを読み出し、受け取った物理的属性値の組み合わせと読み出した画面定義データを用いて、物理的属性値の表示画面を示す描画データを生成し、ディスプレイ14に出力する。その結果、ディスプレイ14には物理的属性値が表示される。
図11は、データ入力用画面において4気筒が選択されている場合にディスプレイ14に表示される物理的属性値の表示画面を例示した図である。
以上説明したように、波形合成システム1によれば、ユーザは合成されるエンジン音を特徴づける時間揺らぎの程度等の各種パラメータを入力することにより、様々なエンジン音を波形合成装置10に合成させて聞くことができるとともに、そのように合成されるエンジン音と類似する音を発するエンジンの物理的属性値を表示させることができる。その結果、実際に様々な物理的属性を有するエンジンを試作することなく、所望のエンジン音を発するエンジンの物理的属性を知ることができる。
なお、例えばエンジンを試作することなくエンジン音を合成する他の方法として、エンジンの物理モデルをコンピュータ上に仮想的に作成し、その物理モデルのエンジンを運転させることにより発せられる空気の振動をエンジン音として生成することも考えられる。しかしながら、物理モデルを用いる方法は一般的に計算負荷が大きく、例えばリアルタイムに回転速度を変更しつつエンジン音を合成させてその変化を確かめる、といった目的を達するためには高い処理能力のコンピュータが必要となる。それに比べて、本願発明にかかる波形合成装置10においては、相関の程度、振幅揺らぎの程度、時間揺らぎの程度、オフセットの程度などのエンジン音を大きく特徴づけるパラメータのみが物理的属性の特定に用いられるため、計算負荷が小さく低い処理能力のコンピュータを用いても迅速にエンジン音の合成を行うことができる。
[4.第2実施形態]
続いて、本発明の第2実施形態を以下に説明する。上述した第1実施形態においては、ユーザにより相関の程度、振幅揺らぎの程度などのエンジン音を特徴づけるパラメータが波形合成装置10に入力され、その結果としてエンジン音の合成とともに、合成されるエンジン音と類似の音を発するエンジンの物理的属性値が表示される仕組みとなっていた。これに対し、第2実施形態においては、ユーザによりエンジンの物理的属性値が波形合成装置10に入力され、その結果としてエンジン音の合成が行われる。
続いて、本発明の第2実施形態を以下に説明する。上述した第1実施形態においては、ユーザにより相関の程度、振幅揺らぎの程度などのエンジン音を特徴づけるパラメータが波形合成装置10に入力され、その結果としてエンジン音の合成とともに、合成されるエンジン音と類似の音を発するエンジンの物理的属性値が表示される仕組みとなっていた。これに対し、第2実施形態においては、ユーザによりエンジンの物理的属性値が波形合成装置10に入力され、その結果としてエンジン音の合成が行われる。
[4.1.構成]
図12は、第2実施形態にかかる波形合成装置20を含む波形合成システム2の構成を示したブロック図である。波形合成システム2の構成は、多くの点で波形合成システム1と共通している。従って、図12においては、波形合成システム1の構成部と同じ構成部については波形合成システム1の構成部に付された記号(図7参照)と同じものが付されている。説明の重複を避けるため、以下、主として波形合成システム2の構成のうち波形合成システム1と異なる部分のみを説明する。
図12は、第2実施形態にかかる波形合成装置20を含む波形合成システム2の構成を示したブロック図である。波形合成システム2の構成は、多くの点で波形合成システム1と共通している。従って、図12においては、波形合成システム1の構成部と同じ構成部については波形合成システム1の構成部に付された記号(図7参照)と同じものが付されている。説明の重複を避けるため、以下、主として波形合成システム2の構成のうち波形合成システム1と異なる部分のみを説明する。
波形合成システム2は、波形合成システム2はマウス11、波形合成装置20、アンプ12、スピーカ13およびディスプレイ14により構成されている。すなわち、波形合成システム2の全体構成は、波形合成装置10の代わりに波形合成装置20が備えられている点を除き、波形合成システム1の全体構成と変わるところはない。
波形合成装置20は、第1実施形態の波形合成装置10と比べ、パラメータ入力部101および属性値特定部108を備えておらず、その一方で属性値入力部201と、パラメータ特定部202とを備えている。また、波形合成装置20の記憶部100は、波形合成装置10の記憶部100と比べ、対応関係DB群1002の代わりに第1対応関係DB群1201および第2対応関係DB群1202を記憶している。
属性値入力部201は、マウス11からユーザの操作に応じて出力される信号を受け取り、受け取った信号からユーザが入力したデータ(以下、第1実施形態と同様に「入力データ」と呼ぶ)を特定する。波形合成システム2における入力データは、エンジンの物理的属性値を示すデータである。
パラメータ特定部202は、属性値入力部201により特定された入力データに対応するエンジン音を特徴づけるパラメータを、記憶部100に記憶されている第1対応関係DB群1201および第2対応関係DB群1202に基づき特定する。
第1対応関係DB群1201は、波形合成装置10の記憶部100が記憶する対応関係DB群1002(図9参照)と同じものである。すなわち、第1対応関係DB群1201は、点火タイミング等のエンジンの物理的属性に関し、物理的属性値と相関係数、時間揺らぎの程度、振幅揺らぎの程度およびオフセットの程度の対応関係を示すDBの集まりである。
第2対応関係DB群1202は、シリンダサイズ等のエンジンの物理的属性に関し、物理的属性値と周波数特性、より具体的にはグラフィックイコライザの各周波数帯に応じた増幅率の対応関係を示すDBの集まりである。
図13は、第2対応関係DB群1202の構成を例示した図である。第2対応関係DB群1202には、シリンダサイズ、エンジンカバー厚、サージタンク形状などの、エンジンの種々の物理的属性に関するDBが含まれている。これらの物理的属性は、エンジンの単発音の周波数特性に対し影響を与える物理的属性である。図13に示されるように、各DBの第1欄は物理的属性値を示し、DBの第2欄以降はグラフィックイコライザの各周波数帯の対数スケールによる中心周波数(Hz)を示している。
第2対応関係DB群1202に含まれるDBが示す増幅率は、原波形データ群1001に含まれる単発音の原波形データの録音もしくは生成の際に用いたエンジン(または仮想的エンジン)の単発音の周波数成分を基準とし、対象の物理的属性のみを変更したエンジンの単発音の周波数成分が各周波数帯においてどの程度増減しているかを示した値である。
図13に例示のデータによれば、基準となるシリンダサイズは直径50mmであり、例えばシリンダサイズが直径20mmのエンジンの単発音の周波数成分の振幅は、基準のエンジンの単発音の周波数成分の振幅を1.00とした場合、中心周波数63Hzの周波数帯において0.87、中心周波数125Hzの周波数帯において0.93、・・・であることが分かる。
[4.2.動作]
続いて、波形合成システム2の動作を説明する。ユーザにより波形合成装置20の起動操作が行われると、波形合成装置20の画面生成部109は、記憶部100からデータ入力用の画面定義データを読み出して画面を示す描画データを生成し、ディスプレイ14に出力する。その結果、ディスプレイ14にデータ入力用画面が表示される。
続いて、波形合成システム2の動作を説明する。ユーザにより波形合成装置20の起動操作が行われると、波形合成装置20の画面生成部109は、記憶部100からデータ入力用の画面定義データを読み出して画面を示す描画データを生成し、ディスプレイ14に出力する。その結果、ディスプレイ14にデータ入力用画面が表示される。
図14は、波形合成システム2においてディスプレイ14に表示されるデータ入力用画面を例示した図である。波形合成システム2におけるデータ入力用画面には、波形合成システム1における場合と同様に、気筒数を選択するためのリストボックス141、エンジンのモデルを選択するためのリストボックス142、回転数を指定するためのスライダ143、エンジン音の波形合成の開始を指示するためのコマンドボタン149、エンジン音の波形合成の終了を指示するためのコマンドボタン150が含まれている。
また、波形合成システム2におけるデータ入力用画面には、ユーザが各種のエンジンの物理的属性値を入力するためのリストボックス群241およびリストボックス群242が含まれている。リストボックス群241においては、多気筒エンジンにおける気筒間の単発音の相関係数、連続する単発音間の時間揺らぎの程度、連続する単発音間の振幅揺らぎの程度、そして気筒間のオフセットの程度に影響を与える物理的属性に関し、ユーザが適当と考える物理的属性値をリストから選択し入力することができる。リストボックス群241にリストアップされる物理的属性は、具体的には点火タイミング、クランクシャフト角度、ビストン角度等である。
一方、リストボックス群242においては、単発音の周波数特性に影響を与える物理的属性に関し、ユーザが適当と考える物理的属性値をリストから選択し入力することができる。リストボックス群242にリストアップされる物理的属性は、具体的にはシリンダサイズ、エンジンカバー厚、サージタンク形状、シリンダの材料、排気管の長さ、吸気管の長さ、消音器のタイプ等である。
ユーザは、データ入力用画面において、マウス11を操作してエンジン音の合成を希望するエンジンの物理的属性値を入力する。マウス11はユーザの操作に応じた信号を波形合成装置20の属性値入力部201に出力する。属性値入力部201はマウス11から受け取った信号および記憶部100に記憶されているデータ入力用の画面定義データに基づきユーザにより入力された入力データを特定し、特定した入力データを画面定義データに含まれる各オブジェクトの属性値として記憶部100に記憶させる。
その後、ユーザはコマンドボタン149をマウス11でクリックする。このクリック操作に応じて、波形合成装置20のパラメータ特定部202および原波形選択部102〜D/Aコンバータ107はエンジン音の合成処理およびその出力処理を開始する。
まず、パラメータ特定部202は、リストボックス群241の属性値として記憶されている入力データの各々を検索キーとして、第1対応関係DB群1201に含まれる対応する物理的属性のDBの中から、対応する相関係数等のパラメータを特定する。
例えば、ユーザがリストボックス141において4気筒を選択した場合、リストボックス群241には点火タイミングに関する属性値として、「第1気筒−第2気筒」「第2気筒−第3気筒」「第3気筒−第4気筒」の欄が表示され、ユーザは、それぞれの気筒間の点火タイミングを、通常の点火タイミング間隔に対する数値として入力することができる。
ここで、例えばユーザが、点火タイミングの「第1気筒−第2気筒」の欄に1.01を入力した場合、パラメータ特定部202はまず、その属性値が点火タイミングに関する属性値であることから、第1対応関係DB群1201(図9参照)から点火タイミングのDBを選択する。続いて、パラメータ特定部202は選択したDBから、検索欄を「点火タイミング」、検索キーを「1.01」として、該当するレコードを検索する。その結果、例えば相関係数:0.94、時間揺らぎの程度:2.9、振幅揺らぎの程度:1.6、オフセットの程度:1.01を、第1気筒および第2気筒に関するパラメータとして特定する。パラメータ特定部202は、同様のパラメータの特定処理をリストボックス群241に含まれる全ての項目に関し行う。
パラメータ特定部202は、上記のように特定した複数のパラメータのうち、同種のパラメータを掛け合わせることにより、エンジン音の合成のためのパラメータを算出する。例えば、点火タイミング、クランクシャフト角度、ピストン角度、・・・の各々に関し、「第1気筒−第2気筒」の欄に入力された属性値に対応する相関係数が、それぞれ0.94、0.87、0.96、・・・であれば、パラメータ特定部202は0.94×0.87×0.96・・・なる計算を行う。そのように算出される相関係数が、エンジン音の合成に用いられる相関係数となる。パラメータ特定部202は、そのように算出したパラメータを特定パラメータデータとして記憶部100に記憶する。
また、パラメータ特定部202は、リストボックス群242の属性値として記憶されている入力データの各々を検索キーとして、第2対応関係DB群1202に含まれる対応する物理的属性のDBの中から、対応するパラメータ、すなわち各周波数帯の増幅率群を特定する。
例えば、ユーザがリストボックス群242においてシリンダサイズの欄に30(mm)を入力した場合、パラメータ特定部202はまず、その属性値がシリンダサイズに関する属性値であることから、第2対応関係DB群1202(図13参照)からシリンダサイズのDBを選択する。続いて、パラメータ特定部202は選択したDBから、検索欄を「シリンダサイズ」、検索キーを「30」として、該当するレコードを検索する。その結果、例えば中心周波数63Hzの周波数帯の振幅率:0.92、中心周波数125Hzの周波数帯の振幅率:0.99、・・・を、シリンダサイズに関するパラメータとして特定する。パラメータ特定部202は、同様のパラメータの特定処理をリストボックス群242に含まれる全ての項目に関し行う。
パラメータ特定部202は、上記のように特定した複数のパラメータのうち、同種のパラメータを掛け合わせることにより、エンジン音の合成のためのパラメータを算出する。例えば、シリンダサイズ、エンジンカバー厚、サージタンク形状、・・・の各々に関し、中心周波数63Hzの周波数帯の振幅率が、それぞれ0.92、1.15、0.84、・・・であれば、パラメータ特定部202は0.92×1.15×0.84・・・なる計算を行う。そのように算出される振幅率が、エンジン音の合成に用いられる振幅率となる。パラメータ特定部202は、そのように算出したパラメータを、第1対応関係DB群1201を用いて特定したパラメータと同様に、特定パラメータデータとして記憶部100に記憶する。
以上のように、パラメータ特定部202による特定パラメータデータの記憶が完了すると、原波形選択部102〜D/Aコンバータ107はエンジン音合成の処理を行う。波形合成装置10においてはエンジン音合成のパラメータとして、データ入力用画面(図10参照)に対しユーザにより入力された入力データが用いられたが、波形合成装置20においてはパラメータ特定部202により特定されたパラメータを示す特定パラメータデータが用いられる。原波形選択部102〜D/Aコンバータ107の処理において、その他の点は全て波形合成装置10における場合と同様であるため、その説明を省略する。
波形合成装置20により特定パラメータデータに従ったエンジン音の合成が行われると、波形合成装置20からアンプ12へ合成されたエンジン音の波形データが出力され、アンプ12により増幅された波形データがスピーカ13により音に変換される。その結果、ユーザは合成されたエンジン音を聞くことができる。このように合成されるエンジン音は、ユーザがデータ入力用画面(図14参照)において入力した物理的属性値を有するエンジンが発する音と類似したものである。
以上説明したように、波形合成システム2によれば、ユーザはエンジンの各種物理的属性値を入力することにより、希望する物理的属性値を有するエンジンが発する音と類似の音を波形合成装置20に合成させて聞くことができる。その結果、実際に様々な物理的属性を有するエンジンを試作することなく、所望の物理的属性を有するエンジンのエンジン音を知ることができる。
[5.変形例]
上述した第1実施形態および第2実施形態は、本願発明の技術的思想の範囲で様々に変形することができる。以下にそのような変形例を示す。
上述した第1実施形態および第2実施形態は、本願発明の技術的思想の範囲で様々に変形することができる。以下にそのような変形例を示す。
[5.1.第1変形例]
上述した実施形態は、エンジン音の合成に関するものであったが、本願発明は同種の発音部位を複数有する他のあらゆる装置の音の合成に適用可能である。例えば、ファン(扇風機)の風切り音の音響特性は、羽根の数、羽根の形状、隣接する羽根の間の角度等により影響を受ける。これらの物理的属性は、ファンの1枚の羽根が1回転する際に発する音、すなわち単発音の周波数特性と、単発音が複数連続する際の時間揺らぎおよび振幅揺らぎの程度と、羽根間の単発音の相関を決定する。また、それらの音響特性を決定するパラメータが与えられた場合、数理計画法等により、そのようなパラメータを与えるファンの物理的属性値を特定することも可能である。
上述した実施形態は、エンジン音の合成に関するものであったが、本願発明は同種の発音部位を複数有する他のあらゆる装置の音の合成に適用可能である。例えば、ファン(扇風機)の風切り音の音響特性は、羽根の数、羽根の形状、隣接する羽根の間の角度等により影響を受ける。これらの物理的属性は、ファンの1枚の羽根が1回転する際に発する音、すなわち単発音の周波数特性と、単発音が複数連続する際の時間揺らぎおよび振幅揺らぎの程度と、羽根間の単発音の相関を決定する。また、それらの音響特性を決定するパラメータが与えられた場合、数理計画法等により、そのようなパラメータを与えるファンの物理的属性値を特定することも可能である。
従って、ファンの1枚の羽根が1回転する際に発する音を単発音とし、ファンの音の合成に関し波形合成装置に上述した実施形態と同様の処理を行わせることにより、ユーザは実際にファンの試作を行うことなくファンの風切り音を合成させることができるとともに、そのような風切り音を発するファンの物理的属性値を確認することができる。
[5.2.第2変形例]
また、上述した実施形態においては、エンジンの1気筒が吸気、圧縮、爆発、排気という一連の動作(4ストロークエンジンの場合)を行う過程で発する音を単発音とし、単発音を原波形データの一単位として扱うものとして説明したが、それに限られない。
また、上述した実施形態においては、エンジンの1気筒が吸気、圧縮、爆発、排気という一連の動作(4ストロークエンジンの場合)を行う過程で発する音を単発音とし、単発音を原波形データの一単位として扱うものとして説明したが、それに限られない。
例えば、原波形データとして、吸気音、圧縮音、爆発音および排気音をそれぞれ異なる単発音として扱ってもよい。その場合、例えば吸気と爆発との間に、異なる時間揺らぎ等を付加することが可能となる。その結果、より柔軟性に富んだエンジン音の合成および物理的属性値の特定が可能となる。
また、例えば点火タイミングは、点火タイミングの間隔がエンジンの回転数に応じて短くなる結果、点火タイミングのバイアスが爆発タイミングに与える影響は、回転数が上がるとその絶対値が小さくなる。一方、吸気管の長さは、エンジンの回転数の変化にかかわらず常に吸気タイミングに一定のバイアスをもたらす。従って、吸気、圧縮、爆発、排気の各過程を個別に扱うようにすれば、吸気に対しては回転数によらず変化しないオフセット時間を与える一方、爆発においては回転数に応じて変化するオフセット時間を与える、といった処理が可能となる。
[5.3.第3変形例]
また、上述した実施形態においては、時間揺らぎおよび振幅揺らぎを与えるに際し、単発音を一単位とし、単発音ごとに時間方向もしくは振幅方向の伸縮を行うものとして説明したが、それに限られない。例えば、単発音の長さにかかわらず、所定時間ごとに伸縮率が揺らぎをもって変化するようにしてもよい。
また、上述した実施形態においては、時間揺らぎおよび振幅揺らぎを与えるに際し、単発音を一単位とし、単発音ごとに時間方向もしくは振幅方向の伸縮を行うものとして説明したが、それに限られない。例えば、単発音の長さにかかわらず、所定時間ごとに伸縮率が揺らぎをもって変化するようにしてもよい。
[5.4.第4変形例]
また、上述した実施形態においては、エンジン音の合成処理において、時間揺らぎの付加の後に振幅揺らぎの付加が行われるものとして説明したが、それに限られない。例えば、振幅揺らぎの付加の後に時間揺らぎの付加を行ってもよいし、多気筒の各気筒に関する単発音に対し時間揺らぎ等を付加した後、連結の前に重合を行い、重合波形を連結することによりエンジン音を合成するようにしてもよい。いずれの場合であっても、結果として同じ合成波形が生成される限り、本願発明の技術範囲に含まれる。
また、上述した実施形態においては、エンジン音の合成処理において、時間揺らぎの付加の後に振幅揺らぎの付加が行われるものとして説明したが、それに限られない。例えば、振幅揺らぎの付加の後に時間揺らぎの付加を行ってもよいし、多気筒の各気筒に関する単発音に対し時間揺らぎ等を付加した後、連結の前に重合を行い、重合波形を連結することによりエンジン音を合成するようにしてもよい。いずれの場合であっても、結果として同じ合成波形が生成される限り、本願発明の技術範囲に含まれる。
[5.5.第5変形例]
また、上述した実施形態においては、物理的特性値とパラメータとの関係は、回転数によらず固定であるものとして説明したが、それに限られない。例えば、回転数に応じて同じ点火タイミングであっても、相関係数や時間揺らぎの程度等のパラメータが変更するように、回転数ごとに異なるデータを対応関係DBに格納させておき、回転数の変化に応じて異なるデータを検索して用いるようにしてもよい。
また、上述した実施形態においては、物理的特性値とパラメータとの関係は、回転数によらず固定であるものとして説明したが、それに限られない。例えば、回転数に応じて同じ点火タイミングであっても、相関係数や時間揺らぎの程度等のパラメータが変更するように、回転数ごとに異なるデータを対応関係DBに格納させておき、回転数の変化に応じて異なるデータを検索して用いるようにしてもよい。
[5.6.第6変形例]
また、上述した実施形態においては、原波形データ群1001には回転数に応じて異なる原波形データが含まれているものとして説明したが、それに限られない。例えば、原波形データ群1001は回転数とエンジン負荷の組み合わせに応じて異なる原波形データを含むようにし、エンジン負荷の変化に応じて、同じ回転数であっても異なる原波形データを選択し用いるようにしてもよい。
[5.7.第7変形例]
また、上述した実施形態においては、時間揺らぎ付加部1052および振幅揺らぎ付加部1053は、多気筒エンジンの各々の気筒に対応する揺らぎを持った波形データ群を生成するにあたり、気筒間で同じ乱数列を用いるものとして説明したが、それに限られず、気筒毎に異なる乱数列を用いてもよい。その場合、ユーザが気筒毎に異なる時間揺らぎの程度、振幅揺らぎの程度を入力可能とし、気筒毎に変化の幅の異なる乱数列を生成し時間揺らぎ、振幅揺らぎの付加に用いるようにしてもよい。
また、上述した実施形態においては、時間揺らぎ付加部1052および振幅揺らぎ付加部1053は、多気筒エンジンの各々の気筒に対応する揺らぎを持った波形データ群を生成するにあたり、気筒間で同じ乱数列を用いるものとして説明したが、それに限られず、気筒毎に異なる乱数列を用いてもよい。その場合、ユーザが気筒毎に異なる時間揺らぎの程度、振幅揺らぎの程度を入力可能とし、気筒毎に変化の幅の異なる乱数列を生成し時間揺らぎ、振幅揺らぎの付加に用いるようにしてもよい。
[5.8.第8変形例]
また、上述した実施形態においては、波形合成装置10および波形合成装置20は、各構成部に対応する専用のハードウェア回路の組み合わせにより実現されてもよいが、それに限られない。すなわち、汎用コンピュータにアプリケーションプログラムに従った処理を実行させることにより、波形合成装置10および波形合成装置20を実現してもよい。
また、上述した実施形態においては、波形合成装置10および波形合成装置20は、各構成部に対応する専用のハードウェア回路の組み合わせにより実現されてもよいが、それに限られない。すなわち、汎用コンピュータにアプリケーションプログラムに従った処理を実行させることにより、波形合成装置10および波形合成装置20を実現してもよい。
[6.備考]
上述した実施形態およびその変形例において示した相関係数、相関の値、時間揺らぎの程度、振幅揺らぎの程度、オフセットの程度などの数値や、それらの数値の算出方法は、本発明を説明するための例示であって、本発明の技術範囲はそれらの数値や算出方法に限らない。
上述した実施形態およびその変形例において示した相関係数、相関の値、時間揺らぎの程度、振幅揺らぎの程度、オフセットの程度などの数値や、それらの数値の算出方法は、本発明を説明するための例示であって、本発明の技術範囲はそれらの数値や算出方法に限らない。
1・2…波形合成システム、10・20…波形合成装置、11…マウス、12…アンプ、13…スピーカ、14…ディスプレイ、100…記憶部、101…パラメータ入力部、102…原波形選択部、103…周期変更部、104…周波数特性変更部、105…連続波形生成部、106…重合波形生成部、107…D/Aコンバータ、108…属性値特定部、109…画面生成部、201…属性値入力部、202…パラメータ特定部、1001…原波形データ群、1002…対応関係DB群、1051…相関変更部、1052…時間揺らぎ付加部、1053…振幅揺らぎ付加部、1054…連結処理部、1061…オフセット変更部、1062…重合処理部、1201…第1対応関係DB群、1202…第2対応関係DB群。
Claims (14)
- パラメータを取得するパラメータ入力手段と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、
前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段と
を備え、
前記連続波形生成手段は、前記連続波形に前記パラメータに応じた揺らぎを有する振幅方向もしくは時間方向の伸縮を付加する
ことを特徴とする波形合成装置。 - 前記連続波形生成手段は、前記重合波形生成手段による前記重ね合わせに用いられる複数の連続波形に、異なる揺らぎを有する振幅方向もしくは時間方向の伸縮を付加する
ことを特徴とする請求項1に記載の波形合成装置。 - パラメータを取得するパラメータ入力手段と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、
前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段と
を備え、
前記重合波形生成手段は、前記重ね合わせに用いる複数の連続波形に、前記パラメータに応じた時間方向のオフセットを付加する
ことを特徴とする波形合成装置。 - 前記重合波形生成手段は、前記重ね合わせに用いる複数の連続波形の少なくとも1の連続波形に、前記原波形の周期を前記重ね合わせに用いる連続波形の数で除した時間の非整数倍の時間のオフセットを付加する
ことを特徴とする請求項3に記載の波形合成装置。 - パラメータを取得するパラメータ入力手段と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、
前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段と
を備え、
前記連続波形生成手段は、第1の連続波形との間に前記パラメータに応じた相関を有する第2の連続波形を生成し、
前記重合波形生成手段は、前記第1の連続波形と前記第2の連続波形とを含む複数の連続波形を用いて、前記重合波形の生成を行う
ことを特徴とする波形合成装置。 - 前記連続波形生成手段は、互いの相関係数が1未満であり、かつ同じ周波数特性を有する前記第1の連続波形と前記第2の連続波形を生成する
ことを特徴とする請求項5に記載の波形合成装置。 - パラメータを取得するパラメータ入力手段と、
音波形合成の元となる音波形である原波形に前記パラメータに応じた周波数特性の変更を加える周波数特性変更手段と、
前記周波数特性変更手段により周波数特性の変更が加えられた原波形を複数連続させることにより連続波形を生成する連続波形生成手段と、
前記連続波形生成手段により生成された複数の連続波形を重ね合わせることにより重合波形を生成する重合波形生成手段と
を備えることを特徴とする波形合成装置。 - 前記連続波形生成手段は、互いに異なる長さを有する原波形を複数連続させることにより周期が変化する連続波形を生成する
ことを特徴とする請求項1乃至7のいずれかに記載の波形合成装置。 - ユーザの操作に応じたパラメータを出力する操作手段と、
パラメータと物理的属性値との対応関係を示す対応関係データを記憶する記憶手段と、
前記対応関係データに基づき、前記パラメータ入力手段により取得されたパラメータに対応する物理的属性値を特定する属性値特定手段と
を備え、
前記パラメータ入力手段は、前記操作手段により出力されたパラメータを取得する
ことを特徴とする請求項1乃至8のいずれかに記載の波形合成装置。 - ユーザの操作に応じた物理的属性値を出力する操作手段と、
物理的属性値とパラメータとの対応関係を示す対応関係データを記憶する記憶手段と、
前記対応関係データに基づき、前記操作手段により出力された物理的属性値に対応するパラメータを測定するパラメータ特定手段と
を備え、
前記パラメータ入力手段は、前記パラメータ特定手段により特定されたパラメータを取得する
ことを特徴とする請求項1乃至8のいずれかに記載の波形合成装置。 - コンピュータに、
パラメータを取得する処理と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成するとともに当該連続波形に前記パラメータに応じた揺らぎを有する振幅方向もしくは時間方向の伸縮を付加する処理と、
生成した複数の連続波形を重ね合わせることにより重合波形を生成する処理と
を実行させるプログラム。 - コンピュータに、
パラメータを取得する処理と、
音波形合成の元となる音波形である原波形を複数連続させることにより連続波形を生成する処理と、
前記連続波形生成手段により生成された複数の連続波形に前記パラメータに応じた時間方向のオフセットを付加して重ね合わせることにより重合波形を生成する処理と
を実行させるプログラム。 - コンピュータに、
パラメータを取得する処理と、
音波形合成の元となる音波形である原波形を複数連続させることにより、第1の連続波形と、前記第1の連続波形との間に前記パラメータに応じた相関を有する第2の連続波形とを生成する処理と、
前記第1の連続波形および前記第2の連続波形を含む複数の連続波形を重ね合わせることにより重合波形を生成する処理と
を実行させるプログラム。 - コンピュータに、
パラメータを取得する処理と、
音波形合成の元となる音波形である原波形に前記パラメータに応じた周波数特性の変更を加える処理と、
前記周波数特性の変更が加えられた原波形を複数連続させることにより連続波形を生成する処理と、
生成した複数の連続波形を重ね合わせることにより重合波形を生成する処理と
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006079606A JP2007256526A (ja) | 2006-03-22 | 2006-03-22 | 波形合成装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006079606A JP2007256526A (ja) | 2006-03-22 | 2006-03-22 | 波形合成装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007256526A true JP2007256526A (ja) | 2007-10-04 |
Family
ID=38630839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006079606A Pending JP2007256526A (ja) | 2006-03-22 | 2006-03-22 | 波形合成装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007256526A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2233373A1 (en) | 2009-03-26 | 2010-09-29 | Yamaha Corporation | automobile equipped with speaker unit |
JP2011084109A (ja) * | 2009-10-13 | 2011-04-28 | Yamaha Corp | エンジン音生成装置 |
CN112286969A (zh) * | 2020-10-29 | 2021-01-29 | 广州汽车集团股份有限公司 | 低频数据连续性确定方法和装置 |
-
2006
- 2006-03-22 JP JP2006079606A patent/JP2007256526A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2233373A1 (en) | 2009-03-26 | 2010-09-29 | Yamaha Corporation | automobile equipped with speaker unit |
JP2011084109A (ja) * | 2009-10-13 | 2011-04-28 | Yamaha Corp | エンジン音生成装置 |
CN112286969A (zh) * | 2020-10-29 | 2021-01-29 | 广州汽车集团股份有限公司 | 低频数据连续性确定方法和装置 |
CN112286969B (zh) * | 2020-10-29 | 2024-03-15 | 广州汽车集团股份有限公司 | 低频数据连续性确定方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6791258B2 (ja) | 音声合成方法、音声合成装置およびプログラム | |
JP6024191B2 (ja) | 音声合成装置および音声合成方法 | |
Reboursière et al. | Multimodal Guitar: A Toolbox For Augmented Guitar Performances. | |
JP4946117B2 (ja) | 波形合成装置およびそのプログラム | |
US6721711B1 (en) | Audio waveform reproduction apparatus | |
JP2008506150A (ja) | 音楽生成システム | |
DE102007055477A1 (de) | Verfahren zur synthetischen Erzeugung von Motorgeräuschen, insbesondere einer Brennkraftmaschine | |
JP2007256526A (ja) | 波形合成装置およびプログラム | |
KR20070100334A (ko) | 오디오 파형처리장치, 방식 및 프로그램 | |
Moffat et al. | Sound effect synthesis | |
JP2007256527A (ja) | 波形合成装置およびプログラム | |
US8492639B2 (en) | Audio processing apparatus and method | |
JP4214842B2 (ja) | 音声合成装置及び音声合成方法 | |
Chafe | Case studies of physical models in music composition | |
JP4606362B2 (ja) | エンジン模擬音発生装置および方法 | |
JP6940901B2 (ja) | 音圧信号出力装置、音圧信号出力方法及び音圧信号出力用プログラム | |
JP5552794B2 (ja) | 音響信号の符号化方法および装置 | |
JP3468337B2 (ja) | 補間音色合成方法 | |
JP6834370B2 (ja) | 音声合成方法 | |
Siebert et al. | Investigating the vibration behavior and sound of church bells considering ornaments and reliefs using LS-DYNA | |
JP3105721B2 (ja) | 音響変換装置 | |
US20240071348A1 (en) | Sound synthesizer and method | |
JP2004093438A (ja) | エンジンの吸気音解析 | |
TWI801870B (zh) | 汽車聲響警示系統及方法 | |
JP4635931B2 (ja) | 波形生成装置およびプログラム |