二足歩行ロボットコミュニティサイト

【サイトの使い方】  【サイトマップ】  【お問い合わせ】 
ロボット動画  |   ロボット写真  |   BBS  |   ダウンロード  |   イベント予定  |   スタッフ日記  |   リンク  |  
ログイン パスワード    新規登録   パスワード紛失  

 

番外編 RobovieMakerで音楽演奏のモーションを作る

Robovie-iやRB2000に使用されているロボット用CPUボード「VS-RC003」には、音声出力という大きな特徴があります。
この機能はPCからCPUボードに書き込んだWaveサウンド形式のデータをモーションに同期して再生するというもので、RB2000のロボ&ピース、エア三味線、Robovie-iオルゴールなどは、全てこの機能を使用して音楽を演奏させています。

このように、RobovieMakerからモーションによって音楽演奏する方法を解説したいと思います。
ちなみに、文中にはいくつかの音楽用語が登場しますが詳しい解説は省きますのでご了承ください。

音声ファイルの準備

まずは、演奏する曲にあわせた音声ファイルを準備します。これは、実はモーションを作成することよりも困難かもしれません。
最近では音声ファイルをフリーで公開されているサイトもあるので、音源を準備できない方はそこからダウンロードすると良いかと思います。
音声ファイルを準備したら、モード切替スイッチ・音声ファイルの書き込みダイアログにて演奏に使用する音声ファイルを設定しCPUボードに書き込みます。
このとき音声ファイルのサイズが大きくて容量をオーバーする場合は、Windowsのサウンドレコーダなどを使って音質を落としてください。 詳しい方法は以下で説明しています。

ロボットで使う音声ファイルの形式を変更する方法について (Robovie-iサポートページ)

こだわった音楽を作る場合は、曲中の和音の組み合わせを全て網羅する、同じ音階で奏法の違う複数の音を録音する、重要なところはフレーズごとサンプリングするなどがあります。

テンポの設定

実際のモーションを作成する前に、曲のテンポを決定します。
一般的な音楽では、テンポは「1分間に4分音符を演奏できる回数」で表記しますが、RobovieMakerではこれを遷移時間に変換して考えます。
RobovieMakerの遷移時間の値を実際の時間に変換する方法については「第4回 モーション作成 動きの速さを調整する」にて説明していますが、遷移時間が60の場合、約1秒に相当します。
ということは、遷移時間が60のときは、1分間に再生可能なポーズは60個、つまりテンポが60になります。
これを元に考えると、テンポが120の場合は倍速なので遷移時間が60×0.5の30に、テンポが150の場合は1.5倍速なので遷移時間が60×0.25の15になります。

さて、遷移時間の割り出しが分かったところでモーション作成に取り掛かりたいところですが、実はテンポの設定にはもう一手間必要です。
音楽には4分音符以外にも全音符、2分音符、8分音符、16分音符、32分音符など様々な長さの音が出てきます。
2分音符や全音符は4分音符を単純に2倍、4倍した長さを設定すれば問題ありませんが、8分音符や16分音符などの場合は逆に遷移時間を分割しなければいけません。
RobovieMakerの場合遷移時間は整数のみなので、曲中に登場する全ての種類の音長が割り切れる数値を考える必要があります。
最短の音長が8分音符なら2、16分音符なら4、32分音符なら8で割り切れる数にします。
更に、曲中に三連符が登場する場合は、3で割り切れる数にしなければなりません。
これらを踏まえて、4分音符の遷移時間には12,24,36,48など12の倍数を設定するのが一番楽です。

ちなみに三味線モーションはテンポが150で、もっとも細かい音は32分音符(4分音符の1/8)です。更に三連符も登場するので、15に最も近い数値で3と4の公倍数を考えた結果、8分音符に対して遷移時間を12に決定しました。
この場合、32分音符は遷移時間3、8分音符の三連符は遷移時間4になります。
まあ、簡単な曲ではもっとも細かい音でも16分音符までで三連符を使うケースもそんなに無いかと思われるので、そこまで深く考える必要は無いかと思います。

ベースとなるモーションの作成

次に、先ほど決めたテンポに基づき、一定のテンポで「楽器を弾く」「踊る」など目的の動作の原型となるモーションを作成します。
このときの遷移時間は、曲中にもっとも頻繁に登場する音長、もしくは目的の動作に見合う細かさから考えます。
例えば三味線モーションでは、基本となる音長は8分音符ですが、楽器を弾く動作は16分になるので基本の遷移時間を6に設定し、楽器を二小節分弾く動作を作成しました。
また、Roovie-iオルゴールでは、4つのポーズで歩行動作を作成し、それを16分音符刻みで一曲丸ごと分の長さまでコピーしたモーションを作りました。

なお、演奏中のモーションは、モーション間の隙間がないように0番のポーズからいきなり演奏が始まるようにします。
またモーションの最後も次のモーションへの隙間が開かないように余計なポーズを入れずに終了させます。
そのため、土台となるポーズはいきなり開始・終了に余計なポーズを入れず、演奏中の動作だけを作成してください。
この方法ではモータロックなどが発生する危険性が高まるので、モーション作成時には充分注意してください。
それでは、このモーションを土台に、音声を割り付けてモーションを作成して行きます。

音と動作の割付

それでは実際にモーションを作成します。
それぞれの発音タイミングで正しい音声ファイルをポーズスライダから指定してください。
なお、音声ファイルの指定について注意ですが、同じ音の番号を連続して指定すると指定した音は一回しか音は鳴らず、二回音を鳴らしたい場合は一度ポーズの音声を0番の「-------------」に合わせてリセットする必要があります。
三味線モーションの場合は見た目の動きを統一させるため、同じ音が連続する場合は、通常のポーズの遷移時間を一つ減らして、真下にDUPボタンで遷移時間1のポーズを挿入し、挿入したポーズの音声を0番の「-------------」に合わせてリセットしました。

音声ファイルの指定とともに音長の指定も行ないます。
土台モーションのポーズより細かい音長が出てきた場合はポーズの複製(DUPボタン)及びポーズの挿入(INSボタン)を使用して新しいポーズを追加します。

一通りモーションを作り終えたら再生し、間違った音を割り当てていないか、遷移時間の指定が正しくテンポずれしないか等を確認してください。

演奏前後のモーション作成

先ほど作成した演奏モーションでは、演奏以外の余計なモーションが入っていません。
そのため、オートデモでこれらのモーションを再生するといきなり演奏を開始してモータがロックしたりロボットが転倒する場合があります。
その場合は、最初に演奏に移行するモーションと演奏後元に戻るモーションを作る必要があります。
また、演奏モーションの内容によっては、体の揺れを抑えるなどのため、演奏開始直前に多少待ち時間を設けておくと良いです。

オートデモ作成

演奏中と演奏前後のモーションが完成したらオートデモを作成して再生してみます。
起動モーション、及び演奏前後のモーションを設定したら、演奏前後のモーションの間に演奏中のモーションを順番に設定します。
オートデモを作成したらCPUボードに書き込み、実際に再生してみます。

モーション間のつなぎ目調整

作成したモーションをオートデモで再生させると、途中でテンポがずれる瞬間があるかと思います。
これはVS-RC003のクセの問題で、オートデモではモーションの切替の時に若干間が開きます。
そのため、作成したモーションを連結してオートデモを再生すると、モーションの合間に一瞬空白が生じます。
ここで音楽のテンポがずれてしまうと非常に気持ち悪いので、各モーションの最後のポーズを少し短くして対処します。
この空白は遷移時間に換算すると大体2〜3程度なので、各モーションの最後のポーズより遷移時間を2〜3短くします。
遷移時間を短くしたら改めてオートデモを再生し、空白が感じられなくなったか確認します。

最後に

以上で演奏モーションの作成は一通り終わりです。ロボットにいろいろな音楽を演奏させてみてください。
ただ、著作権には充分注意してください。基本的に個人で楽しむ範囲においては問題なさそうですが、某音楽著作権団体に目をつけられるとたまったものではありません。


前のページ
第22回 新しく関節を追加する
コンテンツのトップ 次のページ
番外編その2 ショートカットキーを活用する


検索
Loading
メインメニュー