(57)【特許請求の範囲】
【請求項１】
可聴帯域のうちの第１の周波数帯域における仮想発音体の伝達関数の周波数軸上における関数値を表す第１のデータ列、および下限周波数が前記第１の周波数帯域の下限周波数と等しくかつ上限周波数が前記第１の周波数帯域の上限周波数よりも高い第２の周波数帯域における前記仮想発音体の伝達関数の周波数軸上における関数値を表す第２のデータ列を取得する取得手段と、
前記第１のデータ列の表す伝達関数と前記第２のデータ列の表す伝達関数とが周波数軸上において滑らかに繋がるように、前記第１および第２のデータ列の少なくとも一方に加工を施し、同一の周波数に対応するデータ同士を重み付けしつつ結合し、前記第１の周波数帯域の下限周波数から前記第２の周波数帯域の上限周波数までの周波数帯域における前記仮想発音体の伝達関数を表すデータ列として出力する伝達関数結合手段と、を有し、
前記第１のデータ列は前記仮想発音体についての数値シミュレーションにより演算されるデータ列である一方、前記第２のデータ列は前記仮想発音体と近似した発音特性を有する参照発音体を稼動させて実測されたインパルス応答から演算されるデータ列であり、
前記各伝達関数は複素関数であり、
前記伝達関数結合手段は、
前記第１のデータ列の表す伝達関数の振幅特性のグラフ曲線と前記第２のデータ列の表す伝達関数の振幅特性のグラフ曲線とが滑らかに繋がり、かつ、前記第１のデータ列の表す伝達関数の位相特性のグラフ曲線と前記第２のデータ列の表す伝達関数の位相特性のグラフ曲線とが滑らかに繋がるように、前記仮想発音体についての数値シミュレーションと同一の数値シミュレーションを前記参照発音体について行うことにより求めた参照伝達関数の前記第１の周波数帯域における振幅の平均値と前記加工を施すデータ列の表す伝達関数の前記第１の周波数帯域における振幅の平均値とが一致するように当該データ列に加工を施し、さらに、前記参照伝達関数の位相特性のグラフ曲線の勾配が一定であり、かつ前記加工を施すデータ列の表す伝達関数の位相特性のグラフ曲線の勾配も一定となっている周波数帯域における両グラフ曲線の平均勾配が一致するように当該データ列に加工を施す
ことを特徴とする伝達関数演算装置。
【請求項２】
前記第１のデータ列は、前記第１の周波数帯域のうちの予め定められた第１の周波数よりも低い周波数帯域について前記仮想発音体の振動に伴う周囲からの反作用を加味した連成解析型の数値シミュレーションにより演算されるデータ列と、前記第１の周波数よりも低い第２の周波数から前記第１の周波数帯域の上限周波数までの周波数帯域について前記反作用を加味しない非連成解析型の数値シミュレーションにより演算されるデータ列と、を前記第２の周波数から前記第１の周波数までの周波数帯域において両データ列の現す伝達関数が滑らかに繋がるように少なくとも一方のデータ列に加工を施した後に、同一の周波数に対応するデータ同士を重み付けしつつ結合して得られるデータ列であることを特徴とする請求項１に記載の伝達関数演算装置。
【請求項３】
可聴帯域のうちの第１の周波数帯域における仮想発音体の伝達関数の周波数軸上における関数値を表す第１のデータ列、および下限周波数が前記第１の周波数帯域の下限周波数よりも高くかつ上限周波数が前記第１の周波数帯域の上限周波数よりも高い第２の周波数帯域における前記仮想発音体の伝達関数の周波数軸上における関数値を表す第２のデータ列を取得する取得手段と、
前記第１のデータ列の表す伝達関数と前記第２のデータ列の表す伝達関数とが周波数軸上において滑らかに繋がるように、前記第１および第２のデータ列の少なくとも一方に加工を施し、同一の周波数に対応するデータ同士を重み付けしつつ結合し、前記第１の周波数帯域の下限周波数から前記第２の周波数帯域の上限周波数までの周波数帯域における前記仮想発音体の伝達関数を表すデータ列として出力する伝達関数結合手段と、を有し、
前記第１のデータ列は、前記仮想発音体の振動に伴う周囲からの反作用を加味した連成解析型の数値シミュレーションにより演算されるデータ列である一方、前記第２のデータ列は前記反作用を加味しない非連成解析型の数値シミュレーションにより演算されるデータ列であり、
前記各伝達関数は複素関数であり、
前記伝達関数結合手段は、
前記第１のデータ列の表す伝達関数の振幅特性のグラフ曲線と前記第２のデータ列の表す伝達関数の振幅特性のグラフ曲線とが滑らかに繋がり、かつ、前記第１のデータ列の表す伝達関数の位相特性のグラフ曲線と前記第２のデータ列の表す伝達関数の位相特性のグラフ曲線とが滑らかに繋がるように、互いに重なり合う周波数帯域における前記第１のデータ列の表す伝達関数の振幅の平均値と同周波数帯域における前記第２のデータ列の表す伝達関数の振幅の平均値とが一致するよう前記第１および第２のデータ列の少なくとも一方に加工を施す
ことを特徴とする伝達関数演算装置。
【請求項４】
コンピュータを、
可聴帯域のうちの第１の周波数帯域における仮想発音体の複素関数の伝達関数の周波数軸上における関数値を表す第１のデータ列であって、前記仮想発音体についての数値シミュレーションにより演算される第１のデータ列、および下限周波数が前記第１の周波数帯域の下限周波数と等しくかつ上限周波数が前記第１の周波数帯域の上限周波数よりも高い第２の周波数帯域における前記仮想発音体の複素関数の伝達関数の周波数軸上における関数値を表す第２のデータ列であって、前記仮想発音体と近似した発音特性を有する参照発音体を稼動させて実測されたインパルス応答から演算される第２のデータ列を取得する取得手段と、
前記第１のデータ列の表す伝達関数と前記第２のデータ列の表す伝達関数とが周波数軸上において滑らかに繋がるように、前記第１および第２のデータ列の少なくとも一方に加工を施し、同一の周波数に対応するデータ同士を重み付けしつつ結合し、前記第１の周波数帯域の下限周波数から前記第２の周波数帯域の上限周波数までの周波数帯域における前記仮想発音体の伝達関数を表すデータ列として出力する手段であって、前記第１のデータ列の表す伝達関数の振幅特性のグラフ曲線と前記第２のデータ列の表す伝達関数の振幅特性のグラフ曲線とが滑らかに繋がり、かつ、前記第１のデータ列の表す伝達関数の位相特性のグラフ曲線と前記第２のデータ列の表す伝達関数の位相特性のグラフ曲線とが滑らかに繋がるように、前記仮想発音体についての数値シミュレーションと同一の数値シミュレーションを前記参照発音体について行うことにより求めた参照伝達関数の前記第１の周波数帯域における振幅の平均値と前記加工を施すデータ列の表す伝達関数の前記第１の周波数帯域における振幅の平均値とが一致するように当該データ列に加工を施し、さらに、前記参照伝達関数の位相特性のグラフ曲線の勾配が一定であり、かつ前記加工を施すデータ列の表す伝達関数の位相特性のグラフ曲線の勾配も一定となっている周波数帯域における両グラフ曲線の平均勾配が一致するように当該データ列に加工を施す伝達関数結合手段と
して機能させることを特徴とするプログラム。
【請求項５】
コンピュータを、
可聴帯域のうちの第１の周波数帯域における仮想発音体の複素関数の伝達関数の周波数軸上における関数値を表す第１のデータ列であって、前記仮想発音体の振動に伴う周囲からの反作用を加味した連成解析型の数値シミュレーションにより演算される第１のデータ列、および下限周波数が前記第１の周波数帯域の下限周波数より高くかつ上限周波数が前記第１の周波数帯域の上限周波数よりも高い第２の周波数帯域における前記仮想発音体の複素関数の伝達関数の周波数軸上における関数値を表す第２のデータ列であって、前記反作用を加味しない非連成解析型の数値シミュレーションにより演算される第２のデータ列を取得する取得手段と、
前記第１のデータ列の表す伝達関数と前記第２のデータ列の表す伝達関数とが周波数軸上において滑らかに繋がるように、前記第１および第２のデータ列の少なくとも一方に加工を施し、同一の周波数に対応するデータ同士を重み付けしつつ結合し、前記第１の周波数帯域の下限周波数から前記第２の周波数帯域の上限周波数までの周波数帯域における前記仮想発音体の伝達関数を表すデータ列として出力する手段であって、前記第１のデータ列の表す伝達関数の振幅特性のグラフ曲線と前記第２のデータ列の表す伝達関数の振幅特性のグラフ曲線とが滑らかに繋がり、かつ、前記第１のデータ列の表す伝達関数の位相特性のグラフ曲線と前記第２のデータ列の表す伝達関数の位相特性のグラフ曲線とが滑らかに繋がるように、互いに重なり合う周波数帯域における前記第１のデータ列の表す伝達関数の振幅の平均値と同周波数帯域における前記第２のデータ列の表す伝達関数の振幅の平均値とが一致するよう前記第１および第２のデータ列の少なくとも一方に加工を施す伝達関数結合手段と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、仮想発音体の発音特性の評価を支援する技術に関する。
【背景技術】
【０００２】
例えば電子楽器やスピーカの新製品を開発する際には、それら楽器やスピーカの設計データにより表される仮想発音体についての数値シミュレーションによってその仮想発音体の伝達関数を演算することが一般に行われる（例えば、特許文献１など）。このようにして算出された伝達関数に逆フーリエ変換を施してインパルス応答を求め、そのインパルス応答を音として再生することで、未だ実機のない発音体の発音特性の評価（例えば、低域と高域の発音バランスの評価など）を行うことが可能になり、意図した発音特性が得られるか否かを事前に把握することが可能になるからである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−０９０７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、広い周波数帯域に亘って仮想発音体を正確にモデリングする伝達関数を数値シミュレーションにより演算することは難しく、一般的には高域ほど実機の伝達関数との誤差が大きくなる。このため、インパルス応答の算出を行う際には、伝達関数の演算誤差の小さい周波数帯域内の周波数に限定して逆フーリエ変換を行うことが一般的である。しかし、このような算出方法により算出されるインパルス応答には、本来含まれているはずの高域の周波数成分が含まれておらず、発音特性の評価（特に、高域と低域の発音バランスの評価）に支障を来たす場合がある。
本発明は上記課題に鑑みて為されたものであり、可聴帯域の全体に亘る仮想発音体の伝達関数を精度良く作成することを可能にし、可聴帯域の全体に亘る発音特性の評価に支障を来たさないようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために本発明は、可聴帯域のうちの第１の周波数帯域における仮想発音体の伝達関数の周波数軸上における関数値を表す第１のデータ列、および下限周波数が前記第１の周波数帯域の下限周波数以上でありかつ上限周波数が前記第１の周波数帯域の上限周波数よりも高い第２の周波数帯域における前記仮想発音体の伝達関数の周波数軸上における関数値を表す第２のデータ列を取得する取得手段と、前記第１のデータ列の表す伝達関数と前記第２のデータ列の表す伝達関数とが周波数軸上において滑らかに繋がるように、前記第１および第２のデータ列の少なくとも一方に加工を施し、同一の周波数に対応するデータ同士を重み付けしつつ結合し、前記第１の周波数帯域の下限周波数から前記第２の周波数帯域の上限周波数までの周波数帯域における前記仮想発音体の伝達関数を表すデータ列として出力する伝達関数結合手段と、を有することを特徴とする伝達関数演算装置、を提供する。なお、２つの伝達関数が周波数軸上において滑らかに繋がるとは、各々の伝達関数の振幅特性のグラフ曲線が周波数軸上において滑らかに繋がり、かつ各々の伝達関数の位相特性のグラフ曲線が周波数軸上において滑らかに繋がることをいう。
【０００６】
例えば、第１のデータ列として数値シミュレーションにより演算されるデータを用いる一方、第２のデータ列として仮想発音体に近似した発音特性を有する参照発音体を稼動させて観測されたインパルス応答から演算されるデータ列を用いるようにし、さらに第１の周波数帯域の上限周波数を数値シミュレーションにより伝達関数を精度良く演算可能な周波数の上限と定めておけば、第１の周波数帯域の下限周波数から第２の周波数帯域の上限に亘る周波数帯域において仮想発音体の伝達関数を精度良く算出することが可能になる。そして、第１の周波数帯域の下限周波数を可聴帯域の下限周波数とし、かつ第２の周波数帯域の上限周波数を可聴帯域の上限周波数としておけば、可聴帯域の全体に亘って当該仮想発音体の伝達関数を精度良く演算することが可能になる。
【０００７】
より好ましい態様においては、前記第１のデータ列は、前記第１の周波数帯域のうちの予め定められた第１の周波数よりも低い周波数帯域について前記仮想発音体の振動に伴う周囲からの反作用を加味した連成解析型の数値シミュレーションにより演算されるデータ列と、前記第１の周波数よりも低い第２の周波数から前記第１の周波数帯域の上限周波数までの周波数帯域について前記反作用を加味しない非連成解析型の数値シミュレーションにより演算されるデータ列と、を前記第２の周波数から前記第１の周波数までの周波数帯域において両データ列の現す伝達関数が滑らかに繋がるように少なくとも一方のデータ列に加工を施した後に結合して得られるデータ列であることを特徴とする。詳細については後述するが連成解析型の数値シミュレーションと非連成解析型の数値シミュレーションとを併用することでより精度の高い数値シミュレーションを行うことが可能になる。
【０００８】
ここで、連成解析型の数値シミュレーションにより演算される伝達関数と非連成解析型の数値シミュレーションにより演算される伝達関数とを滑らかに繋ぐ際には、互いに重なり合う周波数帯域における前者の振幅の平均値と後者の振幅の平均値とが一致するように算出したオフセットを後者の伝達関数を表すデータ列に加算した後に前者の伝達関数を表すデータ列と結合するようにすれば良い。連成解析型および非連成解析型の各数値シミュレーションを実行する際には、仮想発音体から受聴点までの距離を同一にして両シミュレーションを実行することができ、この場合、両伝達関数の位相特性は、数値演算における演算誤差を除けば同一の値または２πの整数倍だけずれた値になるからである。
【０００９】
また、上記課題を解決するために本発明は、コンピュータを、可聴帯域のうちの第１の周波数帯域における仮想発音体の伝達関数の周波数軸上における関数値を表す第１のデータ列、および下限周波数が前記第１の周波数帯域の下限周波数以上でありかつ上限周波数が前記第１の周波数帯域の上限周波数よりも高い第２の周波数帯域における前記仮想発音体の伝達関数の周波数軸上における関数値を表す第２のデータ列を取得する取得手段と、前記第１のデータ列の表す伝達関数と前記第２のデータ列の表す伝達関数とが周波数軸上において滑らかに繋がるように、前記第１および第２のデータ列の少なくとも一方に加工を施し、同一の周波数に対応するデータ同士を重み付けしつつ結合し、前記第１の周波数帯域の下限周波数から前記第２の周波数帯域の上限周波数までの周波数帯域における前記仮想発音体の伝達関数を表すデータ列として出力する伝達関数結合手段として機能させることを特徴とするプログラム、を提供する。
【図面の簡単な説明】
【００１０】
【図１】この発明の一実施形態の伝達関数演算装置１０の構成例を示す図である。
【図２】同伝達関数演算装置１０の制御部１１０が実行する伝達関数結合処理ＳＡ１３０の概要を示す図である。
【図３】同伝達関数結合処理ＳＡ１３０における結合処理を説明するための図である。
【図４】同伝達関数結合処理ＳＡ１３０における結合処理を説明するための図である。
【図５】本実施形態の効果を説明するための図である。
【発明を実施するための形態】
【００１１】
（Ａ：実施形態）
以下、図面を参照しつつ本発明の実施形態について説明する。
図１は、本発明の一実施形態である伝達関数演算装置１０の構成例を示すブロック図である。この伝達関数演算装置１０は、例えば電子鍵盤楽器などの新製品の設計過程において、その設計データにより表される仮想発音体についての数値シミュレーションと、その新製品に近似した発音特性を有する既存品についての実測データとに基づいて、当該新製品についての可聴帯域全体に亘る伝達関数を演算する装置である。図１に示すように、この伝達関数演算装置１０は、制御部１１０、ユーザインタフェース部１２０、外部機器インタフェース部１３０、音信号生成部１４０、記憶部１５０、およびこれら各構成要素間のデータ授受を仲介するバス１６０を含んでいる。
【００１２】
制御部１１０は、例えばＣＰＵ（Central Processing Unit）である。制御部１１０は、記憶部１５０（より正確には不揮発性記憶部１５４）に記憶されている伝達関数演算プログラムを実行し、伝達関数演算装置１０の制御中枢として機能する。この伝達関数演算プログラムにしたがって制御部１１０が実行する処理の詳細については後に明らかにする。ユーザインタフェース部１２０は、キーボードやマウスなどの操作部と、液晶ディスプレイなどの表示部と、を含んでいる（図１では何れも図示略）。ユーザインタフェース部１２０の操作部は、仮想発音体の伝達関数の演算の開始指示などの各種指示をユーザに入力させるためのものである。操作部に設けられている操作子に対して何らかの操作が為されると、ユーザインタフェース部１２０はその操作内容に応じたデータを制御部１１０に与える。これにより、ユーザの操作内容が制御部１１０に伝達される。ユーザインタフェース部１２０の表示部は、制御部１１０による制御の下、各種指示の入力を促す画面や、演算結果を表す画像（例えば、仮想発音体の振幅特性を表すグラフ曲線や位相特性を表すグラフ曲線の画像など）を表示する。
【００１３】
外部機器インタフェース部１３０は、ＵＳＢ（Universal Serial Bus）インタフェースやアナログオーディオ端子などの各種入出力インタフェースの集合体であり、各種外部機器はそれら入出力インタフェースのうちの好適なものに接続される。例えば、伝達関数演算装置１０に接続される外部機器がＵＳＢメモリであれば当該ＵＳＢメモリはＵＳＢインタフェースに接続され、スピーカであればアナログオーディオ出力端子に接続される、といった具合である。音信号生成部１４０は、音の時間波形を表すサンプル列である波形データを制御部１１０から受け取り、その音波形を表すアナログオーディオ信号に変換しさらにスピーカ駆動に適した信号レベルに増幅した後に、外部機器インタフェース部１３０に接続されているスピーカへ出力する。
【００１４】
記憶部１５０は、揮発性記憶部１５２と不揮発性記憶部１５４を含んでいる。揮発性記憶部１５２は、例えばＲＡＭ（Random Access Memory）などの揮発性メモリである。この揮発性記憶部１５２は、仮想発音体の伝達関数を演算する際のワークエリアとして制御部１１０によって使用される。不揮発性記憶部１５４は、例えばハードディスクやＲＯＭ（Read Only Memory）などの不揮発性メモリである。図１に示すように、不揮発性記憶部１５４には、仮想発音体の伝達関数を演算する処理を制御部１１０に実行させる伝達関数演算プログラムが予め格納されている。この伝達関数演算プログラムにしたがって作動している制御部１１０は、データ入力支援処理ＳＡ１００、連成解析処理ＳＡ１１０、非連成解析処理ＳＡ１２０、および伝達関数結合処理ＳＡ１３０の各処理をこの順に実行する。これらの処理の処理内容は以下の通りである。
【００１５】
データ入力支援処理ＳＡ１００は、仮想発音体の伝達関数を演算する際に必要となるデータの入力をユーザに促し、これらデータを制御部１１０に取得させる処理である。仮想発音体の伝達関数を演算する際に必要となるデータとしては、仮想発音体の設計データ、シミュレーション条件を表すデータ、および仮想発音体と近似した発音特性を有する既存の発音体（以下、参照発音体）の伝達関数の周波数軸上における関数値を表すデータ列が挙げられる。これら各種データについては、ユーザインタフェース部１２０の操作部を介して手動でユーザに入力させ、ユーザインタフェース部１２０を介して制御部１１０に取得させても良く、また、これらデータを格納したＵＳＢメモリ等の記録媒体を外部機器インタフェース部１３０に接続させ、その記録媒体からの読み出しによりそれらデータを制御部１１０に取得させても良い。
【００１６】
前述したように、本実施形態における仮想発音体は電子鍵盤楽器であり、その設計データとしては、仮想発音体の筐体に関するＣＡＤ（Computer Aided Design）データと、当該筐体に内蔵される放音手段たるスピーカユニットのデータシート（すなわち、印加電圧に応じた振動特性を表すデータ）が挙げられる。シミュレーション条件を表すデータとしては、数値シミュレーションにおいて使用する音速や仮想発音体から受聴点までの距離および方向を表すデータが挙げられる。また、参照発音体の伝達関数を表すデータ列には、当該参照発音体を稼動させて計測したインパルス応答にフーリエ変換を施して（或いはアップサンプリングの後にフーリエ変換を施して）得られる実測伝達関数の周波数軸上における関数値を表すデータ列と、可聴帯域の低域から中域までの周波数帯域を対象として当該参照発音体について本実施形態と同一の数値シミュレーション（後述する連成解析処理ＳＡ１１０および非連成解析処理、さらにそれらシミュレーション結果を結合する処理）を行って算出した伝達関数（以下、参照伝達関数）の関数値を表すデータ列の２種類がある。なお、参照伝達関数の関数値を表すデータ列の算出対象を可聴帯域の低域から中域までに限定するのは、高域に関して精度良く関数値を演算することが難しいからである。
【００１７】
連成解析処理ＳＡ１１０は、可聴帯域のうちの低域（図２に示すように、周波数ｆＬＤからｆＬＵまでの周波数帯域：ただし、周波数ｆＬＤは可聴帯域の下限周波数、または当該下限周波数よりも若干高い周波数）における仮想発音体の伝達関数の周波数軸上における関数値を表すデータ列をその仮想発音体の設計データと上記シミュレーション条件とに基づく連成分解析型の数値シミュレーションにより算出する処理である。ここで、連成解析型の数値シミュレーションとは、ある電圧を発音体のスピーカユニットに印加して音を放音させたことに起因する発音体周囲の流体（一般的には、空気）からの反作用、すなわち、発音体の周囲の空気の振動によって当該発音体の筐体に生じる振動を加味して当該発音体の伝達関数を計算することをいう。このように、低域に関して伝達関数を表すデータ列を連成解析型の数値シミュレーションにより算出するのは、低域では発音体の周囲の空気の振動によって当該発音体の筐体に生じる振動を無視することができないからである。
【００１８】
非連成解析処理ＳＡ１２０は、可聴帯域のうちの中域（図２に示すように、周波数ｆＭＤから周波数ｆＭＵまでの周波数帯域：ただし、ｆＭＤ＜ｆＬＵ＜ｆＭＵ＜可聴帯域の上限周波数）における仮想発音体の伝達関数の周波数軸上における関数値を表すデータ列をその仮想発音体の設計データと上記シミュレーション条件とに基づく非連成分解析型の数値シミュレーションにより算出する処理である。ここで、非連成解析型の数値シミュレーションとは、ある周波数の音を発音体に放音させときの伝達関数を、上記反作用を加味せずに計算することをいう。中域では、放音させた音の周波数に応じて発音体の筐体が分割振動し、この分割振動のほうが周囲の空気の振動によって当該筐体に生じる振動よりも優勢になる。このため、中域に関しては、発音体の周囲の空気の振動によって当該筐体に生じる振動を無視し、筐体の分割振動を考慮した非連成解析型の数値シミュレーションにより仮想発音体の伝達関数を表すデータ列を算出するのである。
【００１９】
伝達関数結合処理ＳＡ１３０は、図２に示すように、連成解析処理ＳＡ１１０により算出したデータ列の表す伝達関数（すなわち、低域の伝達関数）と、非連成解析処理ＳＡ１２０により算出したデータ列の表す伝達関数（すなわち、中域の伝達関数）とを周波数軸上において滑らかに繋ぎ、さらに、参照発音体の実測伝達関数の高域部分（周波数ｆＭＵから可聴帯域の上限周波数までの周波数帯域）を周波数軸上において滑らかに繋いで低域から高域までの周波数帯域に亘る一つの伝達関数にする処理である。本実施形態の特徴は、各周波数帯域の伝達関数を周波数軸上において滑らかに繋ぐ際の繋ぎ方にある。以下、伝達関数結合処理ＳＡ１３０における各伝達関数の繋ぎ方について詳細に説明する。
【００２０】
（Ａ−１：低域の伝達関数と中域の伝達関数の繋ぎ方）
まず、連成解析処理ＳＡ１１０により算出されたデータ列の表す伝達関数と、非連成解析処理ＳＡ１２０により算出されたデータ列の表す伝達関数の繋ぎ方について図３を参照しつつ説明する。連成解析処理ＳＡ１１０および非連成解析処理ＳＡ１２０では、低域および中域の各伝達関数を表すデータ列として複素関数値を表すデータ列（伝達関数の実部の値を表すデータ列と同虚部の値を表すデータ列の２種類のデータ列、或いは複素数値を配列したデータ列：本実施形態では前者）が算出される。同様に参照伝達関数或いは実測伝達関数を表すデータ列も各々の実部の値および虚部の値を表すデータ列である。周知のように、振幅特性は、伝達関数の実部の２乗値と同虚部の２乗値の加算値の平方根であり、振幅−周波数応答を表す。位相特性は、伝達関数の実部と虚部の偏角を計算した値で、位相−周波数応答を表す。本実施形態の伝達関数結合処理ＳＡ１３０では、各周波数帯域の伝達関数の振幅特性（振幅−周波数応答）同士を周波数軸上において滑らかに繋ぎ、かつ同位相特性（位相−周波数応答）同士を周波数軸上において滑らかに繋ぐ処理が実行される。
【００２１】
振幅特性同士を周波数軸上において滑らかに繋ぐ処理は以下の通りである。図３（ａ）にて実線でプロットされたグラフ曲線は、連成解析処理ＳＡ１１０により算出される伝達関数の振幅特性（すなわち、低域の振幅−周波数応答）を表す。なお、図３（ａ）に示す座標平面の縦軸は振幅の対数値を表し、同横軸は周波数を表す（図３（ｂ）〜図３（ｄ）、および後述の図４（ａ）〜（ｄ）においても同様）。一方、図３（ｂ）にて破線でプロットされたグラフ曲線は非連成解析処理ＳＡ１２０により算出される伝達関数の振幅特性（すなわち、中域の振幅−周波数応答）を表す。前述したように、連成解析処理ＳＡ１１０による伝達関数の算出対象となる周波数帯域（周波数ｆＬＤから周波数ｆＬＵまでの周波数帯域）と非連成解析処理ＳＡ１２０による伝達関数の算出対象となる周波数帯域（周波数ｆＭＤから周波数ｆＭＵまでの周波数帯域）は一部が重複している。以下では当該重複する周波数帯域（すなわち、周波数ｆＭＤから周波数ｆＬＵまでの周波数帯域）のことを境界帯域と呼ぶ。制御部１１０は、まず、低域および中域の各伝達関数について境界帯域における振幅の平均値を算出する。
【００２２】
次いで、制御部１１０は、境界帯域において低域の振幅特性を表すグラフ曲線（連成解析処理ＳＡ１１０により算出された伝達関数の振幅特性を表すグラフ曲線：図３（ｃ）では実線でプロット）と重なり合うように、中域の振幅特性を表すグラフ曲線（非連成解析処理ＳＡ１２０により算出された伝達関数の振幅特性を表すグラフ曲線：図３（ｃ）では破線でプロット）を振幅軸方向に平行移動（図３（ｃ）参照）させるオフセットを上記各平均値の差に応じて算出し、中域の振幅特性を表すデータ列を構成する各データに当該オフセットを加算する。
【００２３】
そして、制御部１１０は、低域の振幅特性を表すデータ列と、上記オフセットを加算したデータ列とを同一の周波数に対応するデータ同士を重み付けしつつ結合する。これにより、周波数軸上において低域から中域まで滑らかに繋がった振幅特性を表すデータ列が生成される。ここで、重み付けの方法としては種々の態様が考えられる。例えば、予め定められた境界周波数（境界帯域内の周波数）ｆｃ以下の周波数については、低域の振幅特性を表すデータの重みを１、オフセット加算後の中域の振幅特性を表すデータの重みを０とする一方、境界周波数ｆｃより高い周波数については前者の重みを０、後者の重みを１とする態様が考えられる（図３（ｄ）参照）。また、境界帯域内において境界周波数ｆｃを境に両者がクロスフェードするように重み付けしても良い。
【００２４】
次いで、位相特性同士の繋ぎ方について説明する。連成解析処理ＳＡ１１０と非連成解析処理ＳＡ１２０は、何れも数値シミュレーションであり、本実施形態では、位相特性に影響を与えるシミュレーション条件（仮想発音体と受聴点との間の距離）は両シミュレーションにおいて同一である。このため、連成解析処理ＳＡ１１０により算出されるデータ列の表す伝達関数の位相特性のグラフ曲線（図３（ｅ）にて実線でプロットされたグラフ曲線）と、非連成解析処理ＳＡ１２０により算出されるデータ列の表す伝達関数の位相特性のグラフ曲線（図３（ｅ）にて破線でプロットされたグラフ曲線）とのずれは極めて小さくなるはずである。また、仮に両者のずれが大きい場合であっても、当該ずれは複素数の偏角における２πの任意性に起因していると考えられる（図３（ｅ）参照）。そこで、本実施形態では、連成解析処理ＳＡ１１０により算出されたデータ列の表す伝達関数の位相特性のグラフ曲線の境界周波数ｆｃにおける値と、非連成解析処理ＳＡ１２０により算出されるデータ列の表す伝達関数の位相特性のグラフ曲線の同周波数ｆｃにおける値が略同一であるとみなして同周波数ｆｃで単純に結合する処理を制御部１１０に実行させる。これにより、低域から中域まで滑らかに繋がった位相特性（図３（ｆ）参照）を表すデータ列が生成される。図３（ｆ）においても、連成解析処理ＳＡ１１０により得られた低域の位相特性を表すグラフ曲線は実線でプロットされており、非連成解析処理ＳＡ１２０により得られた中域の位相特性を表すグラフ曲線は破線でプロットされている。なお、重み付けおよび結合の具体的な方法は、振幅特性同士を繋ぐ場合と同様であるため詳細な説明を省略する。
【００２５】
以上の処理によって、低域および中域の伝達関数の各々の振幅特性同士および位相特性同士が周波数軸上において滑らかに結合され、両伝達関数が周波数軸上において滑らかに結合される。
【００２６】
（Ａ−２：高域の伝達関数の繋ぎ方）
次いで、低域から中域まで滑らかに繋がった伝達関数に実測伝達関数の高域部分を周波数軸上において繋ぐ方法を説明する。この場合も低域の伝達関数と中域の伝達関数を繋ぐ場合と同様に、振幅特性と位相特性とで繋ぎ方が異なる。
【００２７】
まず、振幅特性の繋ぎ方について説明する。低域から中域まで滑らかに繋がった伝達関数の振幅特性に実測伝達関数の振幅特性の高域部分を繋ぐ場合も、低域の伝達関数と中域の伝達関数を繋ぐ場合と同様に、まず、後者の平行移動（振幅軸方向の平行移動）を行う。ただし、この移動量を定めるオフセットの算出の仕方が低域の伝達関数と中域の伝達関数を繋ぐ場合と異なる。より詳細に説明すると、制御部１１０は、低域から中域までの周波数帯域における参照伝達関数の振幅（図４（ａ）参照）の平均値と当該周波数帯域における実測伝達関数の振幅の（図４（ｂ）参照）の平均値とを求め、両平均値の差に応じて上記平行移動（図４（ｃ）参照）の移動量（すなわち、オフセット）を算出する。そして、制御部１１０は、実測伝達関数の振幅特性を表すデータ列を構成する各データに上記オフセットを加算し、同一の周波数に対応するデータ同士を重み付けしつつ仮想発音体の低域および中域における振幅特性を表すデータ列と結合する。なお、図４（ｄ）では、仮想発音体の低域および中域における振幅特性（上記（Ａ−１）の処理により得られた低域から中域まで滑らかに繋がった振幅特性）を表すグラフ曲線が破線でプロットされており、オフセットを加算した実測伝達関数の振幅特性を表すグラフ曲線が実線でプロットされている。そして、制御部１１０は、当該結合結果であるデータ列を、低域から高域までの可聴帯域全体に亘る仮想発音体の振幅特性を表すデータ列として揮発性記憶部１５２に書き込む。これにより、低域から高域までの可聴帯域全体に亘って周波数軸上において滑らかに繋がった振幅特性（図４（ｄ）参照）を表すデータ列が揮発性記憶部１５２に格納される。
【００２８】
次いで、位相特性の繋ぎ方について説明する。制御部１１０は、まず、低域から中域までの仮想発音体の位相特性（図４（ｅ）では当該位相特性を表すグラフ曲線が破線でプロットされている）が安定しており、かつ、参照発音体について実測された位相特性（図４（ｅ）では当該位相特性を表すグラフ曲線が実線でプロットされている）も安定している周波数帯域を特定する。ここで、位相特性が安定しているとは、その位相特性を表すグラフ曲線の勾配が略一定となっていることをいう。次いで、制御部１１０は、当該周波数帯域における仮想発音体の位相特性のグラフ曲線の平均勾配（以下、第１の平均勾配）と参照発音体について実測された位相特性のグラフ曲線の平均勾配（以下、第２の平均勾配）とを算出する。次いで、制御部１１０は、参照発音体の位相特性を表すデータ列を構成する各データから第２の平均勾配を表す値を減算し、その減算結果に第１の平均勾配を表す値を加算する（図４（ｅ）参照）。
【００２９】
ここで、位相特性を表すグラフ曲線の各周波数における勾配の値（より正確には、当該勾配の値を符号反転した値）は、当該周波数成分の群遅延量に対応し、同平均勾配の値（同様に、当該平均勾配の値を符号反転した値）は平均群遅延量に対応する。一般に数値シミュレーションにより算出された位相特性と実測された位相特性とでは、測定座標位置と数値シミュレーションにて設定した受聴点の位置のずれ（測定誤差等に起因したずれ）によって群遅延特性が異なる場合がある。参照発音体の位相特性を表すデータ列を構成する各データから第２の平均勾配を表す値を減算し第１の平均勾配を表す値を加算するのは、上記測定誤差等に基づく群遅延特性のずれを補正するためである。
【００３０】
次いで、制御部１１０は、第１の平均勾配を表す値の加算および第２の平均勾配を表す値の減算を施したデータ列と低域から中域までの仮想発音体の位相特性を表すデータ列とを、同一の周波数に対応するデータ同士を重み付けしつつ結合する。そして、制御部１１０は、当該結合結果であるデータ列を、低域から高域までの可聴帯域全体に亘る仮想発音体の位相特性を表すデータ列として揮発性記憶部１５２に書き込む。これにより、低域から高域までの可聴帯域全体に亘って滑らかに繋がった位相特性（図４（ｆ）参照）を表すデータ列が揮発性記憶部１５２に格納される。
【００３１】
伝達関数演算装置１０のユーザは、上記のようにして揮発性記憶部１５２に格納された各データ列の表す振幅特性のグラフ曲線や位相特性のグラフ曲線、或いは両データに逆フーリエ変換を施して得られるデータ列の表すインパルス応答のグラフ曲線をユーザインタフェース部１２０の表示部に表示させることで、可聴帯域全体に亘る仮想発音体の振幅特性や位相特性、インパルス応答を視覚的に把握することができる。また、上記インパルス応答を音として放音させることで、仮想発音体の発音特性の評価を行うこともできる。
以上が伝達関数演算装置１０の構成である。
【００３２】
図５（ａ）は、本実施形態の効果を検証するために既存の発音体について伝達関数演算装置１０により算出した可聴帯域全体の振幅特性のグラフ曲線と、同発音体について実測した振幅特性のグラフ曲線とを重ねてプロットした図である。なお、このシミュレーションにおいては、ｆＬＤ＝１１．７１８７５Ｈｚ、ｆＬＵ＝１００７．８１２５Ｈｚ、ｆＭＤ＝５０３．９０６２５Ｈｚ、ｆＭＵ＝５００３．９０６２５Ｈｚとし、さらに連成解析処理および非連成解析処理における周波数間隔（すなわち、伝達関数の関数値を算出する周波数の間隔）を１１．７１８７５Ｈｚとした。図５（ａ）を参照すれば明らかように、低域から高域までの可聴帯域の全体に亘って当該発音体の振幅−周波数応答が精度良く算出されていることが判る。そして、図５（ｂ）は実測されたインパルス応答のグラフ曲線を表しており、図５（ｃ）は上記シミュレーションにより算出された伝達関数から算出されたインパルス応答のグラフ曲線である。図５（ｂ）および図５（ｃ）を比較すれば明らかように、上記発音体のインパルス応答が精度良く算出されていることが判る。
【００３３】
以上説明したように、仮想発音体の伝達関数を可聴帯域の全体に亘って精度良く作成することを可能になる。このようにして算出された伝達関数からインパルス応答を算出する逆フーリエ変換を行う際には、従来のように高域の周波数を除外する必要はない。このため、当該インパルス応答を音として再生し、意図した聴感を得られるか否かの評価（例えば、高域と低域の発音バランスの評価など）に支障が生じることはない。
【００３４】
（Ｂ：変形）
以上本発明の実施形態について説明したが、かかる実施形態に以下に述べる変形を加えても勿論良い。
（１）上記実施形態では、伝達関数の演算対象の仮想発音体が電子鍵盤楽器である場合について説明した。しかし、エレキギターなどのその他の電子楽器やスピーカ、または携帯型或いは据え置き型の家庭用ゲーム機を伝達関数の演算対象としても良い。要は、スピーカユニットなどの放音手段とその放音手段を内蔵する筐体とを有する電子機器であり、かつ近似した発音特性を有する既存品のある電子機器であれば、上記実施形態と同様に仮想発音体を想定しその伝達関数を精度良く演算することができる。
【００３５】
（２）上記実施形態では、仮想発音体の低域における伝達関数を算出するための連成解析処理ＳＡ１１０と同仮想発音体の中域における伝達関数を算出するための非連成解析処理ＳＡ１２０とを制御部１１０に実行させた。しかし、連成解析処理ＳＡ１１０および非連成解析処理ＳＡ１２０の何れか一方、或いは両方を他のコンピュータ装置に実行させ、そのシミュレーション結果を表すデータ列（すなわち、仮想発音体の低域の伝達関数と中域の伝達関数の何れか一方、或いは、両方の周波数軸上の関数値を表すデータ列）を当該コンピュータ装置から伝達関数演算装置１０に与えるようにしても良い。この場合は、制御部１１０による連成解析処理ＳＡ１１０または非連成解析処理ＳＡ１２０の何れか一方（或いは両方）の実行を省略することができる。ここで、他のコンピュータ装置により実行されたシミュレーションの結果の伝達関数演算装置１０への受け渡しは以下の要領で行えば良い。すなわち、上記他のコンピュータ装置の外部機器インタフェース部と伝達関数演算装置１０の外部機器インタフェース部１３０とをＬＡＮ（Local Area Network）ケーブルなどの通信線により接続し、当該通信線を介したデータ通信により上記シミュレーション結果を伝達関数演算装置１０に受け渡すようにすれば良い。
【００３６】
（３）上記実施形態では、可聴帯域のうちの低域について連成解析型の数値シミュレーションにより求めた伝達関数と、中域について非連成解析型の数値シミュレーションにより求めた伝達関数と、参照発音体の実測伝達関数の高域部分とを結合して、可聴帯域全体に亘る仮想発音体の伝達関数を算出した。しかし、可聴帯域のうちの中域から高域までの伝達関数を算出できれば充分な場合には、中域について非連成解析型の数値シミュレーションにより求めた伝達関数と、実測伝達関数の高域部分とを結合して、中域から高域までの伝達関数を作成すれば良い。同様に、可聴帯域のうちの低域から中域までの伝達関数を算出できれば充分な場合には、低域について連成解析型の数値シミュレーションにより求めた伝達関数と中域について非連成解析により求めた伝達関数とを結合して、低域から中域までの伝達関数を作成すれば良い。
【００３７】
（４）上記実施形態では、一部が重複する２つの周波数帯域における振幅特性を滑らかに繋ぐ際に、周波数の高い側の周波数帯域の振幅特性を振幅軸方向に平行移動させたが、周波数の低い側の周波数帯域の振幅特性を振幅軸方向に平行移動させても良く、また、周波数の低い側と高い側の両者を上記実施形態にて算出したオフセットの半分ずつ平行移動させても良い。要は、周波数の低い側の周波数帯域の振幅特性と同高い側の周波数帯域の振幅特性の少なくとも一方を振幅軸方向に平行移動させる態様であれば良い。同様に、位相特性についても、周波数の低い側のデータ列を加工するようにしても良く、周波数の低い側のデータ列と同高い側のデータ列の両方を加工するようにしても良い。また、一部が重複する２つの周波数帯域における振幅特性を滑らかに繋ぐ際に、振幅軸方向の平行移動のみでは不十分な場合（平行移動させても対応する周波数における振幅特性の挙動が一致しない（例えば、一方ではピークとなっており他方ではピークとなっていないなど））場合には、両者の挙動が一致するように周波数軸方向の平行移動をさらに行うようにしても良い。
【００３８】
（５）上記実施形態では、本発明の特徴を顕著に示す伝達関数結合処理ＳＡ１３０を制御部１１０に実行させる伝達関数演算プログラムが不揮発性記憶部１５４に予め記憶されていた。しかし、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）やＤＶＤなどのコンピュータ読み取り可能な記録媒体に当該プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより配布しても良い。このようにして配布される伝達関数演算プログラムにしたがって一般的なコンピュータ装置（例えば、パーソナルコンピュータなど）の制御部を作動させることで、当該コンピュータ装置を本発明の伝達関数演算装置として動作させることが可能になるからである。
【符号の説明】
【００３９】
１０…伝達関数演算装置、１１０…制御部、１２０…ユーザインタフェース部、１３０…外部機器インタフェース部、１４０…音信号生成部、１５０…記憶部、１６０…バス。
【図１】
0005987365.tif 000002
【図２】
0005987365.tif 000003
【図３】
0005987365.tif 000004
【図４】
0005987365.tif 000005
【図５】
0005987365.tif 000006