BOCCO emo APIsの利用
※以下の内容は2023年2月時点の情報のため最新の情報については以下を参考にしてください。
BOCCO emoとは?
まだスマートスピーカーが家庭に普及していなかった2015年に、スマホを持たない子供と親とのコミュニケーションツールとして、前身であるBOCCOが誕生。
その後、2021年にデザインだけでなく、感情表現と機能デザインもアップデートしたBOCCO emoが誕生。
BOCCO emo APIsについて
APIの種類について
-
Platform API
-
「BOCCOチャンネル」と呼ばれるコンテンツや拡張機能を作成するためのAPI。
-
BOCCO emoのセンサ連携やメッセージの送受信などの標準機能に加え、音声コンテンツの配信も可能。
-
-
Custom Kit
-
BOCCO emoの標準機能にとらわれない、より柔軟なカスタマイズを目的としたLocal APIおよび開発キット。
-
BOCCO emoの音声合成やサウンド再生、モーション駆動などアウトプット部分の機能と、内蔵センサや外付けセンサのイベント通知などのインプット部分の機能はそのままに、頭脳にあたる部分のカスタマイズ実装が行える。
-
受付システムや医療現場での専用機器との連携、イベントや展示会での運用など、ご要望に沿ったセミオーダーメイド開発が可能。
-
Platform APIについては法人有償版に先行して開発者向け(非商用)を公開中。今回はお試しということでPlatform APIを利用して、簡単な発話をさせてみました。
https://platform-api.bocco.me/api-docs/#overview
導入方法
REST APIなのでWebアプリの開発で使用されているプログラミング言語であれば利用可能。(例:Python, Java, JavaScript, Ruby)
APIの利用回数制限は1分間あたり10回となっている。
公式ライブラリはPythonで提供されている。
git clone
してきてサンプルコードを実行しても良いが、今回は今後の汎用性も考慮して、外部ライブラリとしてインポートして利用してみる。
- 外部ライブラリとしてインポート(poetryを利用した場合)
poetry add emo-platform-api-sdk
-
.env
ファイルでAPIキーを事前に設定しておく(APIキーはこちらのページから確認できる)- ちなみにアクセストークンは1時間で有効期限切れになるため、本来定期的な取得が必要であるが、こちらのライブラリでは各メソッドの実行時にアクセストークンの有効期限が切れていた場合、自動的に更新される。(その際にAPI呼び出しが1回行われる)
EMO_PLATFORM_API_ACCESS_TOKEN = '***' EMO_PLATFORM_API_REFRESH_TOKEN = '***'
- サンプルコード(Python)を作成、実行する
import os from dotenv import load_dotenv from emo_platform import Client, Tokens load_dotenv(verbose=True) # APIキーを環境変数から取得 EMO_PLATFORM_API_ACCESS_TOKEN = os.environ.get("EMO_PLATFORM_API_ACCESS_TOKEN") EMO_PLATFORM_API_REFRESH_TOKEN = os.environ.get("EMO_PLATFORM_API_REFRESH_TOKEN") # クライアントを初期化 client = Client( tokens=Tokens( access_token=EMO_PLATFORM_API_ACCESS_TOKEN, refresh_token=EMO_PLATFORM_API_REFRESH_TOKEN, ) ) rooms_id_list = client.get_rooms_id() # ルームクライアントを作成 room = client.create_room_client(rooms_id_list[0]) # ルームにメッセージを送信するAPIを呼び出す関数 def send_msg(text): print("\n" + "=" * 20 + " room send msg " + "=" * 20) print(room.send_msg(text)) def main(): text = "こんにちは" send_msg(text) if __name__ == "__main__": main()
これで変数text
に記述した言葉を発話してくれる。
まとめ
BOCCO emo APIsのうちPlatform APIを利用して、BOCCO emoに簡単な発話をさせてみました。APIには他にもほっぺたの色を変えたり、オリジナルのモーションを作成、音声メッセージの送信など様々な機能が用意されているため、色々と触ってみようと思います。