MIDI データに基づく自動人形の動作生成

計測自動制御学会東北支部
第 199 回研究集会(2001.12.15)
資料番号 199-5
MIDI データに基づく自動人形の動作生成
Generation of dancing motion for the CCA based on MIDI data
○ 伊藤真二*,猪岡光*
○ Shinji Ito*,Hikaru Inooka*
*東北大学大学院情報科学研究科
*Graduate School of Information Science, Tohoku University
キーワード:自動人形(Automata),舞踊動作(Dancing Motion),MIDI(MIDI),自動生成(Automatic Generation)
連絡先:〒980-8579 仙台市青葉区荒巻字青葉 01 東北大学工学部機械系 2 号館 猪岡研究室
伊藤真二,Tel.:(022)217-7021,Fax.:(022)217-7019,E-mail:[email protected]
1.
緒言
示されておらず,動作教示方法の簡略化や動作の
自動生成法が望まれる.
人を楽しませることを目的としたアミューズメ
音楽に合わせて動作をすることが「踊る」とい
ントロボットの一つに,音楽に合わせて踊りを踊
うことであるから,音楽と舞踊動作の間には密接
る自動人形がある.従来の自動人形は 1 種類の踊
りを繰り返すのみであったが,池浦らによりコン
ピュータ制御による自動人形(CCA:Computer
Controlled Automata)1)が開発され,ハードウェア
の交換なしに複数の踊りを躍らせることが可能と
なっている.
CCA のような見る人を「楽しませる」ことを目
的としたアミューズメントロボットでは,ロボッ
トが多種多様な動きをすることが望ましい.この
要求は,CCA においては多種多様な踊りを踊れる
ということに相当する.しかし,その動作教示に
おいて教示者は舞踊およびハードウェアの知識や
多大な作業時間を必要とするため,現在 CCA の舞
踊動作は曲にして 6 曲分という少数のものしか教
−1−
Fig.1
Overview of the CCA
な関係がある.そこで,与えられた楽曲の情報を
MIDI File
利用してコンピュータが自動的に舞踊動作を生成
することができれば,教示者,教示作業を必要と
Note On Message を探索
せず多種多様の舞踊動作が得られることになり,
未発見
終了
CCA に対する要求を満たすと考えられる.本研究
発見
では,音楽情報として MIDI データを用い,そこ
Time Position 取得
から得られる情報を利用して自動的に舞踊動作を
生成する手法を提案する.
2.
別ファイルに格納
Note Off Message を探索
音楽情報の利用
音の鳴るタイミングとして記憶
音の長さとして記憶
Time Position 取得
楽曲中の重要な要素としてはメロディー,ハー
Time Position(Note Off)−Time Position(Note On)
モニー,リズムなどが挙げられる.これらの楽曲
Fig.2
の情報を動作生成法に利用するために,まずその
Algorithm of getting MIDI information
楽曲を解析する必要がある.音楽情報は様々なも
のがあるが,コンピュータ上で使用される代表的
分,滑らかで自然な動作,情緒のある踊りを生成
なものとして WAVE ファイルや MIDI ファイルが
することが求められる.これまでに MIDI データ
ある.WAVE ファイルは実際の波形データをディ
から得られた情報を利用した動作生成法として,
ジタルサンプリングしたファイルで,MIDI ファイ
一定区間毎にエネルギを考え,ばねのモデルに当
ルは,楽器同士を接続しその音楽情報をデジタル
てはめる手法 3),予め演奏情報と対応したポーズの
信号によって伝達するためのインターフェースで
マッピングを作り,それを選択して動作を作る手
ある MIDI(Musical Instrument Digital Interface)
法 4)などが開発されているが,自動人形のような多
の標準フォーマットで作られたファイルである.
自由度のモデルへの適用し,踊りとして面白い動
WAVE ファイルから情報を取得する手法 2)では,
作を生成することは困難である.
楽曲中の簡単なリズム,テンポの情報を得ること
本研究では自動人形の可動限界や舞踊動作から
ができたが,メロディーや曲調などの情報は得る
得られる特徴をルールとして設定し,そのルール
ことが困難であった.一方,MIDI ファイルはバイ
に従って動作生成を行うことで自然な動作,面白
ナリデータを解析することで,音の鳴るタイミン
さの感じられる舞踊動作を生成することを目指す.
グ,鳴っている長さ,音程,音量の情報を取得す
ることができる.そこで,本研究では情報取得ま
3.1
MIDI ファイルからの情報取得
MIDI データの中で重要なのはノートオンメッ
での処理が比較的容易な MIDI ファイルを利用す
セージとノートオフメッセージで,それぞれ音を
ることとした.
鳴らす,音を止めるという命令である.またメッ
3.
MIDI データに基づく動作生成
セージの前には,1 つ前のメッセージからの経過時
間が必ず入る.このメッセージから各チャンネル
動作生成は一度 MIDI データを解析した後,オ
フラインで行うものとする.時間的な制約がない
での音程,音量の情報が得られる 5).本手法では音
の鳴るタイミングと長さを利用することとし,チ
−2−
ャンネル毎に情報を取得する.そのアルゴリズム
を Fig.2 に示す.
をあらわす.
2)同期率:ある一つの音楽中で二つの関節のうちど
ちらか一方が動いている場合において,
3.2
MIDI データに基づく動作生成法
もう一方の関節の動いている時間がどの
これまでに教示された動作データから得られる
舞踊動作の一つの特徴として,リズムにあわせて
程度を占めるかをあらわす.
3)連鎖率:ある一つの音楽中で一つの関節が動いた
動作が始まる,あるいは止まるというものがある.
とき,その前に動いていた関節の割合を
得られた情報から舞踊動作を生成するために,こ
表す.
の特徴を利用する.つまり,MIDI データを解析し
このような指標を用いて動作データを調べると,
得られた情報から音の鳴るタイミング,音の止ま
・
回転動作が最も多い
るタイミングがわかるので,そのタイミングにあ
・
両腕は同期して動きやすい
わせて人形の各関節も動作させるものとする.一
・
腰と両手は交互に動きやすい
つの音の始まりと終わりが一つの動作の始点,終
などのルールを得ることができる.これらのルー
点に対応することとなる.コンピュータは始点と
ルを,音が鳴ったときに関節が動作するかどうか
終点での人形の各関節の角度を決定しその間の動
の判定に取り入れ動作生成を行う.
音が鳴ったときに関節jの動作状態を,関節 i
作を補完することで一連の動作を生成することが
との組み合わせを考慮して決定する関数 f comb ( j )
可能である.
音が鳴っている間の動作については,三角関数
を作り次式で与える.
を用いて次のように関節角度を与える(Fig.3).
θ (t ) = θ n +
θ n +1 − θ n
2


 t − Tn
π 
1 − cos
 Tn +1 − Tn 

このとき角速度は境界時刻( t
i
⋅
ただし, Pi , P1 j , P 4
j
f
(1)
comb
( j) =
P
P1
j
+
P
i
⋅
P
4
j
(2)
は確率変数であり,定めら
れた確率分布に従い 0 か 1 をとる. Pi は関節 i
= Tn , Tn +1 )では
の動作状態, P1 j , P4 j はそれぞれ関節 i が動作を
したとき,しないときの関節jの動作状態を決定
常に 0 となり,動作が止まることになる.
する.また,
・は論理積,+は論理和を表す.ここ
3.3
で関節 i を踊りの中で最も重要な関節とすると,式
舞踊動作のルールによる動作生成
実際の動作では入る音全てに対して動作するわ
(2)は次のように表される.
けではないので,自然な動作を作るためには止ま
f
っている状態も作る必要がある.これには舞踊動
作における各関節の相関 6)を利用することにする.
comb
( j) =
P
imp
⋅ P1 +
j
P
imp
⋅P4
j
(3)
この他に,関節jの動作状態を,一つ前の全関
舞踊動作の特徴は音楽や踊りの種類により無数に
節の動作状態を考慮して決定する関数 f chain ( j ) を
あると考えられる.ここでは CCA に教示されてい
次式で与える.
るバレエ音楽の動作データからそのルールを設定
f chain ( j ) =
する.まず,各関節がどの程度の確率で動作する
5
∑n
i =1
i
⋅ C i, j
(4)
のかを調べるために以下の 3 つの指標を定義する.
ここで,ni は一つ前の時間での関節 i の動作状態
1)支配率:ある一つの楽曲の中で一つの関節が動い
で動作時は 1,非動作時は 0 をとる.Ci , j は確率変
ている時間が全体のどの程度を占めるか
数で,定められた確率分布に従い 0 か 1 をとり,
−3−
一つ前の時間で関節 i が動いたときの関節jの動
作状態を決定する.最終的な動作判定はこの 2 つ
の関数の論理和により行われる.
angle
Fig.3,Fig.4 に本手法により生成した動作波形
を示す.左腕を最重要関節として 25%の確率で動
作するように設定した.これを見ると右腕と左腕
がよく同期していることなど,関節の相関が考慮
された動作が生成されていることがわかる.また,
0.00
Fig.3 と Fig.4 は同一の楽曲に対して生成した動作
10.00
20.00
time (sec)
30.00
40.00
であるが波形は異なっており,生成するたびに新
回転
しいデータを作れている.これは舞踊動作データ
Fig.3
の増加に有用である.
脚
腰
左腕
右腕
Example of generated motion
しかし,角度決定に対してはルールを設定して
いないため踊りとしての表現は低いものとなって
4.
angle
いる.
結言
本研究では CCA の舞踊動作データを生成するた
めに MIDI データを利用する方法を提案した.ま
た,人形の自然な動作を作るために舞踊動作から
0.00
得られるルールに従って動作生成を行う手法を提
10.00
20.00
time (sec)
30.00
40.00
案した.以上の手法により人形の可動範囲内で滑
回転
らかな動作波形を生成することが可能であった.
Fig.4
しかし,踊りとしての表現はまだ乏しい.今後,
脚
腰
左腕
右腕
Example of generated motion
実際に生成した動作をアニメーションにより表示
し,その成功度を評価することが必要である.ま
3)Q.Wang , N.Saiwaki , S.Nishida : Automatic
た,音程,音量など利用する情報を増やして踊り
Motion Synthesis with Music Factors based on
の表現度を高めることが考えられる.
3D Spring Model,
2000 IEEE International Workshop on Robot
参考文献
and Human Communication,184/189,(2000)
1) R.Ikeura,M.Kimura and H.Inooka:Motion
4)後藤 真孝,村岡 洋一:音楽に踊らされる CG ダ
Planning of Computer Controlled Automata,
ンサーによるインタラクティブパフォーマンス,
2nd IEEE International Workshop on Robot
コンピュータソフトウェア,Vol.14,No.3,
and Human Communication(ROMAN’93),
20/29 (May 1997)
5)Y.Nakajima:MIDI Bible I,Ritter Music (1997)
356/360 (Nov.1993)
2)伊藤 真二:音楽のリズムを利用した自動人形の
6)屋代 聡:基本動作を用いる自動人形の舞踊動作
生成,東北大学修士学位論文 (1999)
動作生成,東北大学卒業研修 (2000)
−4−