おしゃべりロボットを作る

この記事は日記形式で順に追記していきます。構想から物が出来上がるまでの流れを残すのが目的です。サマリー部分が最新投稿なので、製作過程全体を見たい場合は「続きを読む」からご覧ください。
部品探しとソフト関連に壁が予想されるので、完成までに数ヶ月の空白が幾度も入ると思います。
続編の希望が見えてきたので、製作期間もそれに合わせて3〜5年を予定しています。
robot_front_ emit_thum


2022年2月22日〜
エイリアン: アイソレーションの隠れたマスコット「
おしゃべりロボット」の実動品を作る。
単純なモックアップなら木材やクレイを削り出し、色を塗るだけで完成だが、作品世界と現実を繋ぐ接点として製作するので、質感や発光・お喋り機能も再現したい。
Gamescom_Cinematic_Trailer
機能再現は発光とおしゃべりを優先し、二足歩行のギミックは省く予定。素材は金属+樹脂製で、金属部分はブリキではなく亜鉛かアルミ鋳物で大まかに作り、一部削り出しで製作する。量産するならしっかりとした木型から作るべきだが、一点モノならワックスを直接造形するロストワックス(使い捨ての石膏鋳型)で十分。
talkingrobot_reoperation_thum
おしゃべり機能を実現するための電子部品はAliExpressAmazonおよびモノタロウで全て揃うと見込んでいる。音声はSDカード内のMP3ファイルを再生可能なモジュール基板を利用し、乾電池で動作するLEDセンサーライトを組み合わせて音声のトリガーおよび発光をさせるのが最も簡単安値な構成だと思う。
robot_dark_01_thum
胸の発光部はロッカースイッチ等で赤色/電球色を切り替えられるようにすれば、玄関や階段の安全照明・防犯チャイムとして普段使いもできる。造形に価値のあるマスコットであっても、身近に置いて実生活に役立つ機能がなければ、いずれ死蔵することになる。


2022年2月23日
下はAmazonですぐに見つかった
MP3再生モジュール3個セット。個々に部品を集めるより安く纏まっているが、故障のリスクや将来の修理の容易さを考えると、もっと簡素で汎用性のあるモジュールを組み合わせた方が良さそう。同じ機能を備えたモジュールは沢山あるので、いくつか注文してみる。機能上は音楽鑑賞用mp3プレーヤーとして使うことが想定されているが、ジオラマ模型に効果音やBGMを流す用途で使う人も多いらしい。
amazon_mp3module_01
今回は既存の音声ファイルを使うため/音声の入れ替えを可能にするためにSDカードスロットのある基板を採用するが、ぬいぐるみに単純なおしゃべりをさせるだけならマイクとスピーカーを内蔵したボイスレコーダーモジュールの方が使いやすいと思う。いずれもAmazonとAliExpressで揃う。

2022年2月24日
ゲームのシステムファイルからロボットの音声を再捜索する。
Macのappファイルはそれ自体がフォルダなので、右クリックで「パッケージの内容を表示」すると開くことができる。
AIapp_Rclick
Alien: Isolationのゲーム内で使われる音声ファイルは拡張子「.wem」らしく、appのパッケージから抜き出したそのままではMacの標準ソフトで再生できない。
そもそもおしゃべりの音声ファイルがSoundフォルダのBGM効果音ファイル(拡張子.wem)なのか、キャラクターボイスと同じファイルなのかすら不明。以前探した際は変換の手間と数の多さから途中で諦めたが、制限がなく一括変換できるMacのフリーソフト(Pine Player)を見つけたので、他の作業をしながら通して聞いて見つけようと思う。容量の大きい.wemファイルは相応に再生時間の長いBGMだと推測できる。サイズの小さいファイルは咳や開閉音等の効果音。


BGM効果音のあるsoundフォルダはMac版の場合だと下の画像のディレクトリにある。
.wemファイルの数は2289個
sound_folder_place_thum
パスは、Alien: Isolationの.app/Contents/Resources/Data/data/sound/数字.wem

今回wemにあると仮定して先に探すが、もしキャラクターボイスと同じファイルなら同じsoundフォルダ内にある台詞のパッケージファイル(ファイル名にdialogueを含む.bnk .pck)を展開して中身を出す必要がある。.wemファイルの変換・再生で参考になったサイトは以下。

制作方法/音声/wem, bnkファイルの再生 - World of Warships MOD制作 Wiki*
https://wikiwiki.jp/wowsmods/制作方法/音声/wem%2C%20bnkファイルの再生
.bnkパッケージの展開の参考は同じデベロッパーのゲーム「Total war」の掲示板が詳しい
http://www.twcenter.net/forums/showthread.php?622961-Extracting-bnk-files

2022年2月26日
変換後、地道に再生して捜索中だが未だ見つからず。
ある程度集中力を割かないと聞き逃す速さで次々流れるので、
2289曲・23時間はかなり長い。1日4時間が限度。
wem_22h56m
wemファイルはWindowsのフリーソフト(soundModという展開&変換ソフトのセット)で.oggに一括変換→MacのPine Playerでmp3に一括変換→iTunesに取り込んでプレイリストを作り、再生しながら名前をつけるという手順で探している。エンディングBGMのファイル名は 226003212 で、曲の後半は映画ALIENのメインテーマだった。
ゲーム本編に登場するラジカセ/ラジオの音声もwemに含まれていた。つまり他の言語でプレイしている人も効果音は英語と同じということ。もしロボットの音声がゲーム言語によって異なるなら(追記:他言語でもお喋りは英語でした)、wemではなくセリフ音声を纏めたパッケージファイル(.pck)内にあるので、ファイル名にdialogueを含む.pckファイルを展開して探する事になる。pck と bnkのアンパッカーはgithubで配布されていた。下は入手先と参考になったサイトのURL。

URL:
https://github.com/Vextil/Wwise-Unpacker/
ZIP:https://github.com/Vextil/Wwise-Unpacker/archive/master.zip
.pnk .bnk の展開・変換で参考になった動画
https://www.youtube.com/watch?v=5Lj2gfM30Mw


.wemはファイル名が全て数字なので聞くまで中身は知れないが、
セリフ音声ファイルは字幕textと対照する為に名前がついているので、字幕のあるセリフならNPCでも逆引きで容易にを発見できる(ロボットには無い)。パッケージファイルは他 .bnk もあるが、殆どに名前が付いていて歩行音や武器の効果音だと分かるので今回はスルー。(追記:スルーしたm14の.bnkにありました…)

2022年2月28日
並行して英語のキャラクターボイスも展開・変換して聞くことにした。音声のキャラクターボイスの場所は効果音.wemと同じsoundフォルダ内にある。英語の音声ファイル名は english(us)_dialogue.pck で容量は約316.6MB。
english(us)_dialogue_pck

英語ボイスのパッケージpckの展開とmp3への変換に使ったのは上記のWwise-Unpacker。これはmp3に変換する機能もあるので、.wem の時と違ってエンコードは不要。展開したキャラクターボイスファイルは全部で6531個。iTunesに取込んだところ、総再生時間は5時間6分。VBR 120kbps前後のmp3ファイルで総容量は約383MBだった。これら音声抽出と変換に関する手順は説明すると長くなるので単体記事化した。まだ書きかけだが暇を見てそちらに転載・推敲していこうと思う。
dialogue_6531files_thum
展開・変換したmp3ファイルは、下の画像のように iTunes に取り込んでプレイリストを作成し、聴きながら情報を付加している。プレイリストはパッケージ単位で、アルバム欄にファイル名、アーティスト欄にキャラクター名を入れると後々検索しやすい。ログ音声やアナウンスもdialogue.pckに含まれていた。個人的なお気に入りはシャトル乗り場や病院で流れているアナウンス。港内案内アナウンスは男女合わせて100以上あり、記憶にない物も多かった。スピーカーで流すと部屋が Sevastopol になる。
iTunes_dialogue_list_thum

下は.wemファイルのプレイリスト。セリフ音声と違ってファイル名がただの数字なのと、無音部が長い効果音も多いので通して聴くには忍耐が必要。ロボットの音声はフレーズ単位と予想できるので、10秒前後の物が複数ファイルになっているはず。2秒以上20秒未満を重点的に探す。(追記:見つけたファイルにインターバルの無音部は含まれず、各再生時間は2〜3秒だった)
iTunes_wem_2289files_thum
わざわざiTunesに取り込む理由は強力で自由度の高いファイラー機能、タグ編集、ソート機能。未チェックの部分をiPhoneと同期して空いた時間に聴く、みたいな使い方がやりやすい。最後に再生した日を見れば重複チェックも避けられる。単に再生プレーヤーとしてならもっと軽くて音質の良いソフトは沢山ある。
iTunes_sort_lastplayeddate


202231
全体の8割程度確認し、セリフの.pckには入っていないと判断。 .wemも同じような音ばかりで精神的に辛くなってきたので、同じsoundフォルダ内にある.bnkファイルの中からロボットの音声が入っていそうな名前を探す。bnkファイルもパッケージファイルだが、全てに名前が付いているので中身はある程度推測できる。

soundフォルダ内で拡張子.bnk のファイルは全部で252個、849MB。その内200KB以上のパッケージは189個程。.bnkファイルは複数個の関連のある効果音が一つに纏まっているパッケージらしい。例えば「cutting_tool.bnk」なら切断トーチのガスコックを捻る音やビリビリ音のファイルが動作ごとに細かいセグメントに別れて一つのパッケージに収まっている。それらの中で「もしや」と思ったのが、名前にProject KG348 とラボ関連の単語が入っているものと、訪れるミッションの番号が入ったもの。結果から言うと直感で選んだ2つ目でビンゴだった。今までの苦労はなんだったのだ…
ロボットの音声が入っていたファイルは「m14_hzd_lab.bnk」これはミッション14 ハザードラボの略に違いない。
m14_hzd_lab
.bnk の展開・変換は.pckと同じ Wwise-Unpacker が利用できる。

2022年3月3日
ロボットの音声ファイル8種類16個。半数はファイル名の表記が異なるだけで内容と容量は同じ。重複するファイルは異なるOSやハードに対応するための予備だと予想している。ハイフンやアンダーバーの解釈、アルファベットの大文字小文字を区別するしない等はOSのファイルシステムに依存するため。
Mac版のアプリケーションのサイズは31.35GBもあるが、2021年12月に発売されたモバイル版は画質が殆ど変わらない(一部はPC版より綺麗)のに10GB未満なので、PC/Mac版は使われないファイルが大量に含まれているのだと思う。

下はiTunesに取り込んだロボット音声のリスト。実プレイでロボットの前に立ち続けた場合、各発話の間隔は約5秒。インターバルは再生する基板の仕様に合わせてmp3ファイルに無音部分を付け足す事で再現する。
rotot_talk_liist
各ファイルとしゃべる内容は以下の通り。リスニングは正直自信がないので間違っている可能性がある。

・m14_hzd_lab_36:When I grow up. I want to be a SEEGSON Android.
 (大人になったらシーグソンのアンドロイドになりたい)
・m14_hzd_lab_37:SEEGSON Androids are designed to help.
 (シーグソンのアンドロイドは役立つよう設計されています)
・m14_hzd_lab_38:Can we be friends?
 (お友達になりませんか?)
・m14_hzd_lab_39:What shall we play now.
 (何をして遊びましょうか?)
・m14_hzd_lab_40:Shall we sing a song?
 (お歌を歌いませんか?)
・m14_hzd_lab_41:Shall we play a game.
 (ゲームをしましょう) 
・m14_hzd_lab_42:Shall we draw a picture.
 (お絵かきをしましょう)
・m14_hzd_lab_43:Have you tried using SEEGSON crayons.
 (シーグソンクレヨンを使ってみましたか?)

喋るロボットは本編M10の他にDLC「Trauma 」の Reoperation(PS4:再診)にも登場するが、胸は光らず、接近とは関係なく常時しゃべり続けている。ファイルのロードを考えるとDLCの効果音は別に用意していると考えるのが妥当。検証のため、m14_hzd_lab.bnk を一旦システムから抜き出してから再診をプレイしたところ、予想通りしゃべり続けていたので、発見した16ファイル以外にも繋がった長い音声ファイルが存在すると分かる。

2022年3月5日
音声が手に入ったので、次はボディの仕様の決定と再生機器の構築。基板が決まれば電源電圧が決まり、必要な電力から電池の体積が決まり、基板とバッテリーの寸法から自ずとロボットのサイズが決まる。周囲にある書類がA4だと仮定すると、作中のロボットの身長は28cm程(ツノを含まず)。
robot_size_compare
比較検証のためのスクショは、視差や歪曲を最小にするため、離れたところから撮る必要がある。
robot_height_28cm

造形のモチーフになった堀川玩具製スーパーテレビロボットも全高約30cmらしい。
下の動画は実物のテレビロボットがすり足で歩く様子。
https://www.youtube.com/embed/tYOv-TY2Wh4


全高30cmは机やサイドボードに飾るには少々大き過ぎるように思う。ブリキ(板金)ではなく鋳物で作る都合上、中空構造にしてもかなりの重さになり、石膏鋳型が大きくなれば費用も嵩むので、モジュール基板と電池がギリギリ収まるサイズに縮小したい。しかし造形作品として作るなら原寸大で重量感もあったほうが良いのでバランスを考える。

電源は将来的にも入手が容易で発火のリスクが小さい単3形のニッケル水素充電池(eneloop等)とアルカリ電池の両方に対応させる。既製の電池ボックスの寸法から、単三電池4本を背中に収納する場合、胴体の箱の内部寸法は最低でも6.5x6.5cm、外寸は8cm角となる。縮小するにしても全高は20cmを越えそうだ。
流通しているオーディオモジュール基板は大概USB給電の5VとLi-ionセル3.7Vの両方の電源に対応するため、3.2〜5.5Vの範囲で動作するものが多い。
sensorlamp_thum
発光と人体センサーに流用する予定のセンサーライトは1.2V〜1.5Vの乾電池 3本(3.6〜4.5V)で動作する物なので、電源の共用は容易。必要な電圧は三端子レギュレーターで作るオーソドックスな仕様にする。

2022年3月8日
基板と電子部品は多くは中国本土から発送されるので、揃うまで1〜2ヶ月は掛かる。組んでみて中身が確定するのは更に先。その間にゲーム画面から各部の比率を採寸し、3DCADでボディを造形する。CADで外殻さえ作っておけば、内部や縮尺は後から簡単に変更できる。
本編KG348やTrauma Reoperation(再診)のロボットは照明と位置の問題で満足に見られず、エイリアンも邪魔なので、ランサムが主人公のDLC Severance(PS4:契約解除)のラウンジにあるロボットで詳細を観察する。しゃがんだ状態でリーン(Macの場合キーボードのV)を押して視点を回すと顔面目前までロボットに迫ることができる。
今後何度も参考にするので、自分用に4K画質で動画をアップロードした。

この動画は周りにある邪魔な物を火炎放射器で吹き飛ばした後です。

2022年3月23日
プロポーションを読み取るためには、視差が最小になるよう、遠くから画像を撮る必要がある。少しでもエッジが綺麗に見えるよう、ディティールを最大(ULTRA)にして遠くからスクリーンショットする。
下の画像は遠近の比較。遠くから撮った左は視差や歪みが小さい事がわかる。
ransomt_robot_thum
細い水平線は各部の比率を読み取るために引いたもの。画像ビューアー上でピクセルを数え、CADで実寸法を与える。

robot_modeling_01
一からモデリングするのではなく、ゲーム内からロボットの3Dデータ(たぶん拡張子.hkx)を探し出して利用する方法もある。3Dプリントするならその方が良い。しかし今回は捜索から展開・変換まで乗り越えるハードルが多いのと、ロボットの様な簡素な形状ならモデリングも大して手間ではないと判断。手作業で作ることにした。過去の経験から、使用されているゲームエンジン(多分unreal engine)を特定し、パッケージを展開してBlenderで開いても、普段使っている3DCADソフトに対応するファイルへは無料でコンバートできないので、結局2Dにしてから起こす事になる。
robot_modeling_02
アバウトに造形しているので、まだ各要素のバランスはおかしいが、最終的にスクリーンショットとぴったり重なるように数値を調整する。まず形を作るのが先。全体を1ピースで作った後、各素材各パーツごとに分解し、接合部分や加工の工程を考えながら再設計する。
robot_modeling_03



【PR】
inserted by FC2 system