ごえもん・シナモンのピグマリオン計画
プログラムB セリフファイル組み込み

2001年12月29日
アイボはMIDとWAVEの音を再生できます。アイボはイヌをモチーフにしてるのでしゃべらないんだけど、ソニーが考えた「アイボ語」ってのもよくわからんです。
ロボットなんだから姿がイヌでもしゃべってもいいんじゃないかと思うんですよね。でも、録音した音を再生ってのはどうも。。。ERS-210は音声認識テーブルを使ってMID再生とか出来るので、人語に近いけど再生じゃない音を発せられるけどERS-111には難しくって面倒です。とりあえずはWAVEファイルの再生ができるので不本意だけど人語のセリフファイルを組み込んでみることにしました。
1.セリフファイルを作る。  
アイボが再生できるWAVEファイルはサンプリング周波数:8kHz データ:8ビット チャンネル:1チャンネルのPCM音源です。
再生するファイルを作ったらこの形式に変換します。変換にはWindows付属の「サウンドレコーダー」も使えますが、使い勝手のいいフリーソフトもあるので適当に良いものを使う。普通に録音した音声を使うとレベルが低くなってしまうので音声ファイルを加工し、レベルを上げておくと良い。

2.ODAファイルに組み込む。  
ERS-111のパフォーマンスエディターで任意のWAVEファイルを組み込むこともできますが、それでは数が限られているし、面白くないので、「AUDIO.ODA」ファイルに追加することにしましょう。ODAファイルの操作にはアイボペットさんの「DUMPODA」と「MAKEODA」が使えます。これはERS-210用のツールのようですが、ERS-111のODAファイルもほぼ同じフォーマットのようで、少なくともAUDIO.ODAファイルに対しては使えるようです。以下に簡単な手順を示します。
  1. 「AUDIO.ODA」をばらす
    dumpoda audio.oda audio
    これで、audioディレクトリにはaudio.odaに含まれていた、MIDファイル・WAVファイルが展開される。
  2. 追加するセリフファイルをaudioディレクトリにコピーする
    すでにあるファイルとファイル名が重複しないように注意。今回追加したファイルは以下のもの。

    ファイル名 せりふ
    1 goe_are.wav 「あれ?」
    2 goe_asonde.wav 「遊んで」
    3 goe_ball.wav 「ボール」
    4 goe_findball.wav 「ボール見つけた」
    5 goe_bikkuri.wav 「びっくりした」
    6 goe_e.wav 「え?」
    7 goe_myname.wav 「ごえもん」
    8 goe_iyada.wav 「いやだぁ」
    9 goe_konnitiwa.wav 「こんにちわ」
    10 goe_kowai.wav 「こわいよぉ」
    11 goe_kudasai.wav 「ください」
    12 goe_nazete.wav 「なぜて」
    13 goe_onakasuita.wav 「おなかすいた」
    14 goe_oyasumi.wav 「おやすみ」
    15 goe_sayonara.wav 「さよなら」
    16 goe_taikutu.wav 「たいくつだなぁ」
    17 goe_tanosii.wav 「たのしいよ」
    18 goe_tigau.wav 「ちがうよ」
    19 goe_un.wav 「うん」
    20 goe_yatta.wav 「やったぁ」

  3. 「AUDIO.ODA」を再構築
    makeoda audio audio.oda
    これでaudioディレクトリのファイルがまとめてaudio.odaになる。

  4. ESC.CFGファイルに追加
    サウンドやモーションは「ESC.CFG」ファイルに登録し、アクション名をつけて初めて使えます。
    以下のように追加しました。
    GOE_ARE sound goe_are 100
    GOE_ASONDE sound goe_asonde 100
    GOE_BALL sound goe_ball 100
    GOE_FINDBALL sound goe_findball 100
    GOE_BIKKURI sound goe_bikkuri 100
    GOE_E sound goe_e 100
    GOE_MYNAME sound goe_goemon 100
    GOE_IYADA sound goe_iyada 100
    GOE_KONNITIWA sound goe_konnitiwa 100
    GOE_KOWAI sound goe_kowai 100
    GOE_KUDASAI sound goe_kudasai 100
    GOE_NAZETE sound goe_nazete 100
    GOE_ONAKASUITA sound goe_onakasuita 100
    GOE_OYASUMI sound goe_oyasumi 100
    GOE_SAYONARA sound goe_sayonara 100
    GOE_TAIKUTU sound goe_taikutu 100
    GOE_TANOSII sound goe_tanosii 100
    GOE_TIGAU sound goe_tigau 100
    GOE_UN sound goe_un 100
    GOE_YATTA sound goe_yatta 100
    「ESC.CFG」の一行目に登録アクション数があるのでそこも修正する。

3.ODAファイルを編集する  
いきなり自律行動ビヘイビアに組み込むのは危険なのでゲームモードビヘイビア「B_GAME」を作り、再生の確認を行う。B_GAMEの構築はFMさんの「Tedit」を使った。
  • 上記修正を加えたアクション定義ファイル:ESC.CFG
  • 音声再生テスト用ゲームビヘイビア:B_GAME
アイボを立ち上げ、ゲームモードにすると動作します。頭のスイッチをPATすると次の音声・CLICKすると前の音声を再生します。
4.最後に  
ここまでではまだ何もやってません。ERS-111のビヘイビア記述が余りにも動物的で、「本能」と「感情」でしか行動を決定できないのでちょっと悲しくなったのでここまでで一旦まとめることにしました。
音声ファイルをただ再生するだけだと余りにも能が無いのでせめて口パクくらいはさせたいと考えています。口パクまでできてこの章は締めくくろうかと思います。