可視化対話シミュレータとANSYSを併用する ピアノ弦振動シミュレーション

計算工学講演会論文集 Vol.9(2004 年5 月)
計算工学会
可視化対話シミュレータと ANSYS を併用する
ピアノ弦振動シミュレーション
A PIANO SIMULATOR COMBINING INTERACTIVE FRONTEND
WITH COMMERCIAL STRUCTURE ANALYSYS PACKAGE ANSYS
窪田篤司1)、梅谷征雄2)
Atsushi Kubota and Yukio Umetani
1)静岡大学 情報学研究科情報学専攻 (〒432-8011 浜松市城北3-5-1,[email protected])
2)工博 静岡大学教授 情報学部情報科学科
(〒432-8011 浜松市城北3-5-1,[email protected])
High precision is required for the analysis of the piano soundboard. We combined the commercial
structural analysis software package ANSYS with the visual / interactive piano string simulator, and we
built an efficient string-soundboard simulator. In this paper, we describe the method for coordinating
two simulators with its effects.
Key Words : Piano Simulation, ANSYS
1.
はじめに
ピアノ弦はハンマによ り 響板に対して垂直に打弦され
るが、 時間の経過と と もに水平方向の振動が発生し 、水
ース関数( 関数群) を持たせてあり 、それぞれの物理コ
ンポーネン ト にアクセスする時にはそのインタフェース
を通してアクセスを行う こ とになっている 。
平振動は垂直振動に比べわずかに周波数が高く なるこ と
が実測によ り 示されている[1] 。垂直方向の振動エネルギ
ーが駒・ 響板を垂直方向に振動させたと き 、駒・ 響板は
その材料特性によ り 水平方向の運動もおこ り 、 このエネ
ルギーが弦に伝わるこ とで弦の水平振動を起こしている
と考えられる 。垂直・ 水平振動は駒・ 響板を通じてカッ
プリ ングされて相互作用によ り 、 ピアノ独特の音色と音
のノビを生み出す。 ピアノの水平振動に大きな影響を与
えるピアノ響板の特性解析には高精度なシミ ュレーショ
ンが要求されるため、市販の構造解析パッケージソフ ト
ANSYS を用い、その結果を自作した可視化対話型シミ ュ
レーショ ン[2] と組み合わせるこ とによ り 、弦と響板の相
互作用を効率よ く 解析するシミ ュレータを構築した。
2.
コンポーネント指向可視化対話型シミュレータ
(1) シミ ュレータの概要
ピアノの発音の機構をそれぞれ1つのコンポーネン ト
と して作成して用意し 、それらのインスタンスであるオ
図1
コンポーネント指向可視化対話型シミ ュレータ
(2) 差分法ピアノ弦コンポーネント
剛性を持つ弦の一次元振動の方程式には次式 (1) の振
動体方程式を与え、中央差分近似で離散化し 、解法には
陽公式を用いる 。
ブジェク ト 同士をつなぎ合わせるこ とでシミ ュレータを
作成できるよ う にしたシミ ュレーショ ン環境がコンポー
ネン ト 指向シミ ュレータである 。
図1はコンポーネン ト 指向可視化対話型シミ ュレータ
を使用して弦・ 駒・ 響板コンポーネン ト をそれぞれ接続
して実行している様子である 。
それぞれの物理コンポーネン ト には共通のインタフェ
Ε2 y
Εt 2
T Ε2 y Ε 2 ES 4 y
Ε
Ε x2
Εx 4
3y
Εy
2b1
Ε 2b3 3
t
Εt
(1)
f ( x, x0 , t )
こ こで、 y は弦振動の変位、σは線密度、 T は張力、
(2) シミ ュレーショ ンの実行結果
E はヤング率、 S は弦の断面積、κはジャイレーショ ン
ANSYS リ スタート 機能は、最大1000 回の制限があるた
半径、b1 、b3は減衰係数、 f は打弦による外力を示して
め1000 時間ステップまでのシミ ュレーショ ンとなる 。 ま
いる 。
た、 1 ステップごとに結果ファイルや次ステップ解析の
ための各節点ごとのデータをすべて出力するために、 結
3.
ANSYSとの直接接続
(1) 接続方法
果ファイルは1 ステップごとに蓄積され、今回使用した
響板モデルでは1000 ステップシミ ュレーショ ン後の結果
ANSYSを導入した Solaris8 マシンにSocket通信による
ファイルのサイズは約20GBとなった。そのため、 ステッ
インタフェースサーバを設置する 。次に、弦コンポーネ
プ数の増加に伴いディ スクアクセスへの時間が増加し 、
ン ト のある 、可視化対話型シミ ュレータにSocket クライ
平均して1 ステップに1∼2 分という 膨大なシミ ュレー
アン ト をコンポーネン ト化して組み込み、ANSYSのリ ス
ショ ン時間がかかった。
タート機能を用いて直接的に接続を行った [ 図2] 。
弦シミ ュレータは440KHzサンプリ ングで計算を行って
おり 、 1000 ステップという 制限では評価に必要な精度と
データ数を確保できない。 またステップ数制限問題が解
消されたと しても 、シミ ュレーショ ン時間を考慮すると
現実的ではない。
そこで、シミ ュレーショ ン時間と評価に必要なデータ
数を確保するための別の方法を検討した。
4.
外力インパル応答と弦振動の合成積による接続
(1) 概要
図2
直接接続モデル
ANSYS との直接接続で問題となったシミ ュレーショ ン
時間とデータ数を解消するための方法と して、 あらかじ
弦コンポーネン ト で響板への力データを算出し 、接続
めANSYS側で外力インパルスに対する時系列変位応答を
インタフェースを通してANSYSへ送る 。ANSYSで解析を
求めておき 、必要なデータを準備し 、弦コンポーネン ト
行い、得た変位データを弦コンポーネン トへ送り シミ ュ
よ り出力される力データ とのコンボリ ューショ ンによ り
レーショ ンを行う 。弦と駒は接続点で変位を共有する 。
次時間ステップの弦変位データを計算するこ とでANSYS
主要な機構の詳細は以下の通りである 。
との接続方法を行った [ 図3] 。
a)
Socket通信サーバ
Socket通信サーバプログラムで、ANSYS起動に必要な
バッチファイルの自動生成とシステムバイザーコールで
ANSYSの起動を行う 。ANSYSによる解析が終わると 、結
果ファイルから必要なデータを抽出し 、 Windows 側の可
視化対話シミ ュレータのインタフェースコンポーネン ト
へデータを送信する 。送信に際してはエンディアンの調
整等も行っている 。
b)
接続インタフェースSocket通信クライアント
可視化対話型シミ ュレータに駒と見立てたコンポーネ
ン ト と して組み込む。共通インタフェースによ り 、垂直
振動弦コンポーネン ト の入力と出力、水平振動弦コンポ
ーネン ト との入力と出力を行っている 。 Socket通信クラ
イアン ト と しての機能も持たせ、垂直、水平弦コンポー
ネン ト で計算された力データをサーバへと送信し 、響板
の変位データをそれぞれの弦コンポーネン トへ渡す役割
図3
インパルス応答での接続モデル
を担っている 。
c)
ANSYS実形状駒・ 響板モデル
ANSYS で解析を行う モデル形状は、 グランドピアノの
(2) 方法
ANSYS 側で響板の垂直、 水平それぞれの外力インパル
響板形状を元に作成されたモデルを利用し[3] 、 リ スター
ス応答解析を行った結果をファイル形式で準備してお
ト 機能を用いて解析を行った。 ANSYS のリ スタート 機能
く 。可視化対話シミ ュレータでは、結果ファイルから計
は1 ステップごとに起動、 解析、 終了を行い、 1 ステッ
算に必要なデータ と外力シーケンスとの合成積によ り 、
プごとに外力の入力と結果ファイルの出力を行える 。
次時間ステップの変位を計算して弦に伝える 。外力系列
を Fv(t) 、 Fu(t) 、垂直入力に対する垂直・ 水平方向の変位
インパルス応答を Sv(t) 、 Su(t) 、水平入力に対する垂直・
水平方向の変位インパルス応答を Ru(t) 、 Rv(t) とする時の
垂直、 水平変位u(t)、v(t)は次式(2) 、 (3)で計算できる 。
100
10
1
0.1
t
u (t ) Ε ΕFu ( x) Ru (t
x)dx
(2)
0
t
Ε Fv ( x) Su (t
0.01
0.001
x)dx
0
0.0001
0
t
v(t ) Ε ΕFu ( x) Rv (t
200
400
600
800
1000
x)dx
(3)
0
図5
t
Ε Fv ( x) Sv (t
垂直振動のスペク トル分布
x)dx
0
6.0E-12
響板はu(t) 、 v(t) 変位を弦に伝えて、次時間ステップの
4.0E-12
外力 Fu(t+dt) 、 Fv(t+dt) を弦から得る 。
可視化対話型シミ ュレータでは、駒と して見立てたイ
2.0E-12
ンパルス応答結果と 、弦コンポーネン ト よ り受け取った
0.0E+00
外力とをコンボリ ューショ ンするコンポーネン ト を組み
込み、弦コンポーネン ト との接続を行った。
-2.0E-12
-4.0E-12
(2) シミ ュレーショ ン結果
C4 弦と C4 駒位置でのインパルス応答で弦振動1秒
-6.0E-12
0
分のシミ ュレーショ ンを行った結果は以下の通りであ
5000
10000
15000
20000
る 。変位の単位はm 、サンプリ ングは 440KHz でシミ ュ
レーショ ンを行い、それを22KHzに変換し 、データ点数
16384(窓長0.74秒間 )
図6
水平振動の様子
Welch 窓をかけてFFTを行っ
た。
100
10
2.0E-04
1
1.5E-04
1.0E-04
0.1
5.0E-05
0.01
0.0E+00
-5.0E-05
0.001
-1.0E-04
0.0001
0
-1.5E-04
200
400
600
800
1000
-2.0E-04
0
5000
図4
10000
15000
垂直振動の様子
20000
図7
水平振動のスペク トル分布
(3) シミ ュレーショ ン時間
ANSYS響板の外力インパルス応答解析には垂直。水平
それぞれに3時間程度かかるものの、一度応答結果を得
るこ とができれば、十分可視化に耐えう る計算時間であ
った。 また、弦モデルを調整し 、再度同じ響板シミ ュレ
ーショ ンを行う際にはあらかじめ準備されたインパルス
応答データを再利用するこ とで、大幅な計算時間の削減
効果が得られた。
5.
考察と今後の課題
インパルス応答をあらかじめ求めておく という 方法に
よ り 、 ANSYS との効率の良い接続を実現できたと思う 。
参考文献
[1]G.Weinreich, “The Coupled Motion of piano strings”,
Scientific American, 240, No.1(1979)
本来の目的である音のノビの再現にはまだ至っていない
が、弦モデル、響板モデル、連成モデルそれぞれにおい
[2] 吹原教弘 , 梅谷征雄,”相互接続可能な可視化対話シ
て妥当性の評価実験を行う 必要があり 、 現在現象の再現
ミ ュレータの試作”,第3 回問題解決環境ワークショ ップ
にむけて解析を進めている 。
論文集、 pp.80-85 (2000)
ANSYS は、外部のソフ ト ウェアであるため、 精度の信
頼性は高いが、今回のよ う に別のシミ ュレータ との接続
[3] 柘植敦司 , 梅谷征雄,”ピアノ響板における弦圧とム
を試みた場合に抱える問題は多い。 ANSYS 側にも外部シ
ク リ形状効果の解析”,日本音響学会音楽音響研究会資
ステムとの接続機能の充実を望みたい。
料,MA2003-42, pp.13-18, (2004)