ロボホンを知っていますか?
目の付け所がシャープな企業であるSHARPから発売されているロボットです
私が所属している研究室にもロボホンが在籍しています
ロボホン用のアプリも開発ができるのですが、喋らせるのがちょっとめんどくさいので簡単に喋らせ身振りもすることができるサンプル的なアプリケーションを作ってみました
デモ
動作しているところをYouTubeにあげました
プログラム
プログラムはGitHubにあげました
プログラムの実行方法
本プログラムをCloneしても実行することはできません
appディレクトリ下に”jar”というディレクトリを作成後,ロボホンの喋らせるSDK(jp.co.sharp.android.voiceui.framework.jar)を置く必要があります
このSDKはSHARPが提供しているロボホン開発サイトにてダウンロードして入手してください(マイページからダウンロードできます)
※ココロプランの加入が必須です
SDKを入手後、appディレクトリ下に”jar”というディレクトリを作成し、SDKをいれリビルドしてください
その後、ロボホンへ本プログラムをインストールしてください
プログラムの概要
本アプリケーションは、assetsディレクトリに入っているCSVファイル(myVoice.csv)を読み込み、読み込んだ文章をListViewにて表示しています
そして、ListView内に発話してほしい文章を押下するとロボホンがしゃべるようになっています
便宜上ListViewにCSVファイルの内容を全表示していますが、ロボホンをソケット通信させあるソケットを受け取ったら特定のフレーズを喋らせる等ができます
喋らせたい文章の編集
assets内にあるmyVoice.csv(assets/myVoice.csv)を編集することで喋らせたい文章を増やしたり減らしたりすることができます
注意としてMicrosoft Excelで編集すると文字化けがおきます
そのため,エディタで変更を推奨します
myVoice.csvを開くと以下のようになっています
列名の概要は以下のとおりになっています
ID:1フレーズを識別するためのユニークな番号
NAME:喋らせたい文章の概要
PHRASE:ロボホンが喋る文章
列の追加及び削除も可能であり、列名の名前も変更しても問題はないです
しかし、ListViewにて一覧表示する場合はMainActivity.javaを一部変更する必要があります
//ここを編集 private String NameTag = "NAME"; private String SentenceTag = "PHRASE";
なぜこのアプリを作ったか
このアプリを作った理由として、ロボホンを簡単に身振り手振りしながら喋らせたかったからです
しかし、ドキュメントみるとかなーり複雑という状況でした
個人的に一番やっかいだと思ったのがHVMLというSHARP独自のロボホンを喋らせるためのマークアップ言語です
ロボホンはHVMLに喋らせたい文章とそれに合わせた振り付けを記述し、これをサーバーへ送信後、ロボホンがそれに合わせて喋ったり踊ったりしています
本記事では詳しく解説はしませんが、本アプリケーションでは以下のようにつくっています
喋らせるフレーズを変数化(speechタグ)させることで上記のHVMLを使いまわしています
ドキュメントを一通り読み、実際に作ってみるとSHARPはやはり目の付け所がシャープだなと思いました
作り方が特殊というかなんというか・・・
ロボホンはプロジェクタや電話もすることができますが、やはりいちばんは可愛く喋ったり踊ったりするところではないでしょうか
次の記事あたりでRobohonの開発メモを残しておきます
コメント