先日、モバイル型ロボット電話 RoBoHoN が発売一周年を迎えて、英語・中国語対応をふくむ新SDKが リリース されました。

一方、私ごとですが、先日、こどもの習い事の英語のレベルがめでたく上がりました。
ともない、
「スピーキングのセクション、おうちでも 3回 くりかえして読んできてくださいね!(先生の笑顔)」
という、親子どもどもに ”回数をこなすだけでおざなり” の未来がみえる感じになりました。

そこで、今回は、英語が判る・話せるようになった、家族の一員(「長男(公式設定・5歳男児)」)の RoBoHoN にも宿題を手伝ってもらうことにしました。
「オウム返し実装」をベースに、利用イメージは下記の図のとおりです。

ロボットと会話するために必要な**「明瞭に」「ある程度ゆっくりしたスピードで」「正確に」**発語することで、英語学習の習熟を狙います。
環境です
Windows 7 SP1 64bit
Android Studio 2.3.1
RoBoHoN_SDK 1.2.0
RoBoHon端末ビルド番号 01.08.00
ロボホンアプリのアイディア出しについて
先日から、『RoBoHoNの出力を受け止める人間側の五感』を軸に下の検討や実装をしています。
感覚 | ロボホン実装 |
---|---|
触覚 | RoBoHoNと一緒におおきなかぶを抜く |
視覚 | RoBoHoNで 『手旗信号版 嵐が丘』 もどきの実装 |
今回は(新SDKの評価と同時に)RoBoHoNと「聴覚」というお題でアプリ実装を考えました。
「聴覚」とロボホン
「聴覚」単独 において、「動く人型ロボット」ロボホンが スマホ / タブレット に優るアドバンテージは原則ありません。
(あり得るとしたら、関節等サーボのモーター音など…?)

どうしても「視覚」(”人型ロボット”が話すからこそというコンテキスト)とのセットで、アイディアを検討する必要があります。
今回は、
発話内容に伴って、自動的に(手振り身振り)モーションをつけてくれる機能
が 英語発話対応に伴い、どう変化したか も、確認したいと思います。
モーション
ロボホンのモーション機能の実装方法は、おおきく下記三種類1です。
- 公開されているモーションID(例:behavior id="0x060001"(バンザイ!))を任意指定
- 汎用モーション自動割当て
- 発話内容(特定のワード2・30文字未満(読み)ごと)に対して自動的にモーション割当て
実装…?(公式サンプル)
よーし実装するぞ!と思いきや、今回の要件は、新SDKのサンプル3「音声認識した結果をオウム返しする」に、そのまま全部満たされてました。
うれしい!
- オウム返し発話(および自動モーション割当て)
<action index="1">
<speech>${Lvcsr:Basic}</speech>
<behavior id="assign" type="normal"/>
<control function="recog_talk" target="jp.co.sharp.sample.multilingual">
<data key="Lvcsr_Basic" value="${Lvcsr:Basic}"/>
</control>
</action>
2.Recognition内容を背面画面に表示
@Override
public void onExecCommand(String command, List<VoiceUIVariable> variables) {
Log.v(TAG, "onExecCommand() : " + command);
switch (command) {
case ScenarioDefinitions.FUNC_RECOG_TALK:
final String lvcsr = VoiceUIVariableUtil.getVariableData(variables, ScenarioDefinitions.KEY_LVCSR_BASIC);
mHandler.post(new Runnable() {
@Override
public void run() {
if(!isFinishing()) {
((TextView) findViewById(R.id.recog_text)).setText("Lvcsr:"+lvcsr);
}
}
});
break;
default:
break;
}
}
ただし、SDKを利用した自作アプリは音声認識の回数制限があるので、注意が必要です。
RoBoHoN SDKを利用して開発いただくアプリでは、1か月にお使いいただける音声認識の利用回数の上限が合計で1000回となっております。利用回数が上限に達した場合に備えて、音声認識ではなくテキストを利用して、音声入力をエミュレートする手段も用意しておりますのでご利用ください。(ロボホン開発者用サービス(一般向け)提供ページより)
(うまく動作しなくなったら、本体背面画面 > 設定 > その他 > 音声認識アクセス回数 の状況を確認するなど)
動作の様子
ロボホンが、スマホからの発話( Microsoft の TTS (TextToSpeach) デモ)を聞き取り、
"GoodMorning"
と、オウム返しで発話し、日本語の「おはよう」発話と同様に、片手を上げるモーションを自動実行しています。
実際の子供の発話に対しては、期待したとおり、
- 宿題の英語例文の思わぬところでモーションが自動実行されるところが飽きないアクセント
- 明瞭に発語しないと認識しない仕様が、こども本人の英語の発音上達に対して、なかなか良い感じに作用
している状態です。しばらく様子をみてみたいとおもいます!