顔認識で呼ぶ名前のカスタマイズ方法
2020年6月3日


 ロビ2が顔認識で呼んでくれる名前は2353ありロビ2のココロに収録されています。
 これはロビ2の発売前にネットで収録する名前を受け付けていました。
 ただ文字数が限定されていたりしていたので私は申し込んでいませんでした。
 私自身の名前もありきたりなので当然入っていると思っていましたが収録されてしませんでした。
 今回はそんな方のために好きな音声を顔認識で呼んでくれるようカスタマイズする方法を解説します。


ロビ2が名前を呼ぶ仕組み

 まずロビ2が登録された名前を呼ぶ仕組みを説明しておきます。



 顔認識してくれるためにはユーザ登録を行います。
 ロビ2では最大10人分のデータが登録できます。
 登録するデータはユーザの顔と名前と誕生日です。
 顔のデータは画像ではなく顔の特徴点(目とか鼻の位置関係)のデータで画像処理ボードに保存されます。
 名前は予め決められた名前を番号で登録します。
 この登録可能な名前はNAMETBL.BINという辞書ファイルで持っていてユーザ登録時にロビ2が番号に変換します。(辞書にないとエラーになります)
 名前の音声ファイルは音声ファイル名で紐付けられています。
 上の図は「ともくん」という名前の例ですがユーザ1番のデータファイル(user/user00.log)には771番という名前番号が入っています。
 voice/nameフォルダーに入っているUN_771.wavというファイルが実際の名前の音声です。


音声ファイルの作成

 置き替える音声はロビのココロ2で収録された名前の音声ファイル(voice/personalize/username.wav)の音声ファイルや他のロビの音声をそのまま書き変えても構いません。
 また声を録音したり音声合成ソフトを使って任意の音声で音声ファイルを作成する事も可能です。
 ここでは既存のロビの音声を使ってロビの声の音声ファイルを作成する方法を紹介します。

 ロビの音声ファイルは音楽CDと同じPCMという形式で音の波形を単純に時間軸でサンプリングしたものでMP3のように圧縮されていないので非常に扱いやすいです。
 詳細サンプリングレートは周波数44100Hz、16ビット、1チャンネル(モノラル)です。
 上記以外のサンプリングレートでも再生する事はできますがなるべくこれに合わせて作成します。
 は音声ファイルの作成はSound Engine Freeというフリーソフトが便利です。
 Sound Engine Freeは簡単な操作で音声ファイルを合成したり余分な部分をカットすることができます。

 まずベースなる音声ファイルを探します。
 ロビの音声ならそのまま使えますが今回は名前の音声の中から探します。
 name.csv
 ロビ2の登録音声の辞書(NAMETBL.BIN)をcsvファイルにしたものです。
 name.csvをExcelまたはメモ帳で開いて作成したい音声になるべく近い物を文字検索で選びます。
 名前番号は3列目の数字で音声ファイルはvoice/nameフォルダーにUN_[名前番号].wavというファイル名で入っています。
 作成したい音声になるべく近い物を選びます。

 今回は「まさはるさん」(名前部分が4文字なので未収録)という音声を作成してみます。
 ベースは「まさるさん」(UN_1058.wav)の音声を使って「ははさん」(UN_1919.wav)の一部を挿入して作成します。



 Sound Engine Freeで表示される波形と読みを重ね合わせたものです。
 Sound Engine Freeをふたつ開いておいてそれぞれの音声ファイルを読み込みます。



 UN_1919.wavの2音目の「は」の部分をマウスでドラッグして選択してコピーします。
 UN_1058.wavの「さ」と「る」の間をクリックして間にコピーした音声を貼り付けます。
 UN_1058.wavの「さ」と「る」が間に挿入されます。
 ベースに要らない音があればその部分をドラッグで範囲を指定して削除してください。

 再生してみて間が開いていたらその部分を選択して削除してください。
 逆に間を空けたければ最初に戻って(元に戻すアイコン)選択する範囲を調整してください。
 置き換えた部分の音量を調整する場合はその部分を選択して音量メニューのボリュームコマンドで音量を調整してください。
 編集が終わったら任意のファイル名で保存しておいてください。
 masaharu.wav
 作成した音声ファイルです。(リンクをクリックすると再生されます)


音声ファイルの置き換え

 ロビ2の名前の任意の音声ファイルをさきほど作成した音声ファイルに置き換えます。
 どの音声ファイルに置き換えても構いませんが今回は分かりやすいように名前番号1番のものを置き変えます。
 名前番号1番には「あーちゃん」という名前が割付けられています。
 この名前はUN_01.wavというファイル名なので上で作成した音声ファイルに置き換えます。
 「あーちゃん」という名前でユーザ登録すれば顔認識で作成した音声ファイルが再生されます。

 ユーザ登録をし直す場合は現在登録されている登録画像と登録データを消す必要ががあります。
 削除と再登録はQ-boとロビブックを使って行いますがロビレジ for Androidというアプリを使えばスマホだけで登録や削除が行えます。

 既にユーザ登録してある音声だけ変えても構わなければ登録した名前の音声ファイルを置き替える事もできます。
 csvファイルで登録した名前を見つけてその番号の音声ファイルを置き変えるとそのまま音声だけ替える事事ができます。

 ロビ設定ファイルエディタ2を使ってユーザ番号を変更する事ができます。
 まずロビ2のSDカードのSTARTUP.BINを読み込んでユーザデーター変更ボタンを押して変更したい登録番号の編集ボタンを押します。



 名前を音声ファイルを置き替えた名前に変更すれば名前番号を変更する事ができます。


 実際に動かした動画です。

   

 ロビレジ for Androidを使ったユーザ登録の動画です。

   

 ロビのプログラム変更やSDカードの書き換えは、ロビ本体への影響を伴うのであくまでも自己責任という事でお願いします。
 ロビのオリジナルプログラムは必ずバックアップを取っておいて問題があればオリジナルのプログラムに戻してください。

目次に戻る