音楽情報を用いたロボットのダンスモーションのリアルタイム制御システム
中原 直人†
中津 良平‡

宮崎藤澤光二†隆史†

坂本元†
長田 典子†

Real-Time Dance Motion Control of Robot using Music Information
NAOTO NAKAHARA†
RYOHEI NAKATSU‡
1.

KOJI MIYAZAKI†TAKASHI X. FUJISAWA†

はじめにHAJIME SAKAMOTO†NORIKO NAGATA†

2.1.1 音の立ち上がり成分の抽出
音響信号に FFT を行ない，式(1)を満たす時刻 t に現在までに，音楽音響からのビート抽出や，それらおける周波数 f のパワーp(t, f)を音の立ち上がり成分とをダンス等の動作に関連付ける研究がなされてきた

し，そのパワーの値 d(t, f)を式(2)によって定めて条件[1][2]．しかし，システムが情報を提示するだけではを満たさない値は 0 と定める．

ユーザーは，コミュニケーションにおいて重要な双方を与えられることがよりインタラクティブ性の高いシ(1)min( p(t , f ), p(t  1, f ))  prevPd (t , f )  max( p(t , f ), p(t  1, f ))  prevP (2)(3)
prevP  max( p(t  1, f ), p(t  1, f  1))

ステムを実現する上で重要であると考えた．

d(t,f)の合計値を時刻 t における全体の立ち上がり成分向のやりとりを行うことができない．そこでユーザー側からもリアルタイムにシステムに情報を与え，変化

本研究では，ユーザーが入力した，キーボードもし
くは音楽ファイルの音楽音響信号からビートの情報をのパワーD(t)とする．その合計値のピーク抽出をしたパワーの系列を発音時刻ベクトル O(t)とする．

抽出し，さらにキーボードの音の強弱の情報を用いて2.1.2 次のビート時刻の予測

ロボットのダンスモーションのテンポと緩急をリアル

発音時刻ベクトルの自己相関からビートの時間間隔タイムに変化させ，制御できるシステムを開発した．

I を算出する．その際に入力曲の対象範囲である曲の2.

システムの実現技術

2.1

音楽情報抽出ビートの時間間隔である約 350～1000msec に該当す
る自己相関の最大値を与えるずれ(τ)をビートの時間間隔であると定める．また，過去に算出された時間間本研究では，Wav 形式の音楽音響信号から，次の隔の中で最も多く出現したものを自己相関結果としてビートの時刻，テンポ等のビート情報をリアルタイム出力することによって一時的な検出の誤差を抑えるこに予測し出力する後藤らの手法[1]をもとに，ビートとができる．

抽出モデルの実装を行った．この手法の場合，入力曲自己相関の結果から暫定的なビート系列を作り，0はテンポがある程度一定である必要がある．本システ～I の範囲で発音時刻ベクトルとの相互相関を計算す

ムではユーザーからの入力も対象とするためテンポ変る．その範囲で最大値を与えるτを現在時刻から次の化により早く対応できる機能を実装した．

ビートの時刻までの時間間隔とし，次のビートの時刻

ユーザーによるキーボードの入力に対しては MIDIを定める(詳細は(1)参照)．のノート番号の情報は用いず，ヘッドフォン出力端子

2.1.3 テンポ変化の追跡をラインで入力端子と直接繋ぐか，出力された音をマユーザーがキーボードによって音を入力する場合，イクから取り込んで，音響信号の解析を行う．

途中でテンポが変化することも想定される．しかし，前述したモデルは誤差によるテンポの変動を抑える為† 関西学院大学
Kwansei Gakuin University‡ シンガポール国立大学
National University of Singaporeに過去に算出された自己相関結果の履歴を残すため，テンポが変化した時にそれが出力として反映されるま情報処理学会 インタラクション 2009

でに時間がかかってしまう場合がある。
そこで，自己相関で連続して 5 回誤差の少ない(約50msec 以内)数値が算出され，その時間間隔τが前回出力されたτと約 70msec 以上違う場合は入力のテンポが変化した判断し，過去の履歴を消去し，新たに履歴を取り直すようにする．以上の手続きによって，小さなテンポの変化に対しては感度を下げて誤差を抑え，大きなテンポの変化に対しては感度を上げ，より早く対応することが可能となった．

図2 モーションの選択と遷移

2.1.4 キー入力の強弱情報の保存
キーボードの入力と音の強弱の情報としては MIDIのベロシティの数値を用いる．入力されたキーのベロシティの平均値を 2 秒ごとに算出し，得られた 0～127 の値を 0～2 の 3 段階にスケールし直し強弱情報として保持する．
2.2

ロボットのダンスモーション制御

ロボットは株式会社ニルバーナテクノロジーの Taichi(太極)を用いた．
2.2.1 ダンスモーションの格納と再生
ダンスの一連の動作はキーフレームの 22 個の関節の角度をテキストファイル形式で格納しておく．キーポーズから次のキーポーズまでの移行時間として，ビート抽出で算出された時間間隔を次のビートの時刻のタイミングで与え，その間の関節の角度を補間して再生することによってビートとの同期を取る(図 1)3.

システムの 2 つのモード

 インタラクティブモード:
ユーザーによってキーボードから入力された音響信号のビート抽出を行い，その情報を用いてロボッ
トのダンスモーションを制御し同期を取る．さらにユーザーの打鍵の強弱に応じて，3 段階にダンスの激しさが変化する．ユーザーはダンスの速度と激しさの２つの要素をコントロールできる．
 鑑賞モード:
ユーザーが選択した音楽のビートに合わせてロボットがダンスを踊る．ユーザーは音楽を聞くだけでなく，それに合わせてダンスを踊るロボットを見ることによって，目と耳の両方で楽しむことができる．

4.

おわりに

本稿では，音楽ファイルからビートを抽出し，リアルタイムにロボットのダンスモーションを制御するシステムを開発した．また，ユーザーによる入力音から抽出したビート情報と，キーボードの音の強弱の情報を用いてロボットのダンスモーションのテンポと緩急をリアルタイムに変化させ制御できるシステムを開発
図1 モーションの再生

2.2.2 モーションの選択
今回の実装ではダンスの 4 つのキーポーズを 1 モーションとして、動きの大きさに応じて小，中，大に分類しそれぞれ 5 モーションずつデータベースとして用意した(4 ポーズ目はニュートラルな立ち状態する)．
なお今回はモーターの角度変化などを基準に主観的に分類を行った．1 つのモーションを再生し終わったらシステムは強弱情報に基づいて次に呼び出すモーションの種類(小(0)，中(1)，大(2))を選択する．その種類の中でどのモーションを呼び出すかはランダムで選択される．こうすることによって毎回，強弱の情報を考慮した違うパターンのモーションが再生される．

した．今後の検討課題としては，より複雑なモーションの結合方法，音楽音響信号からの盛り上がり情報のリアルタイム抽出などがある．

参考文献

1) Masataka Goto: An Audio-based Real-time Beat
Tracking System for Music With or Without Drumsounds, Journal of New Music Research（2001）．
2) 中澤篤志，白鳥貴亮，池内克史: 観察に基づく音楽およびモーションキャプチャデータからの舞踊動作生成手法，MIRU(2005)．
3) Kazuyoshi Yoshii, Kazuhiro Nakadai, Toyotaka Torii:
A Biped Robot that Keeps Steps in Time withMusical Beats while Listening to Music with Its Own
Ears, RSJ International Conference on Intelligent
Robots and Systems(2007).