
声をかけると画面に表情が浮かぶ。そんなデジタルペットをバックパックに装着して持ち歩くのが「bopi」だ。ESP32-S3を搭載したSeeed Studio製のデバイス「SenseCAP Watcher」(69ドル、約1万1000円)をベースに、Pham Tuan Binh氏がGitHubで公開した2つのオープンソースプロジェクトだ。
音声会話版の「bopi」は、LiveKitのESP32 SDKを使ってWatcher上でWebRTCによるリアルタイム音声ストリーミングを実現している。画面をタップすると接続が確立され、マイクに向かって話しかけると、クラウド上のLiveKit Agentが音声認識・LLM処理・音声合成を行い、スピーカーから返答が流れる。
表情の仕組みが工夫されている点が面白い。エージェントが発話した音声のトランスクリプション(文字起こし)を単語単位でGIFファイル名と照合し、一致するアニメーションをその場で再生する。たとえばエージェントが「happy」と言えば「happy.gif」が流れ、「rain」と言えば雨のアニメーションが表示される。SDカードに63種のアニメーションが含まれており、自分で追加することも可能だ。なおGIFアニメーションはDasai(ダサい)の著作物で、個人利用目的での提供となっている。
インターネット不要のオフライン版「watcher-mochi」も別リポジトリで公開されている。画面タップでランダムなアニメーションが再生される。30秒で自動再生、5分間操作なしでディープスリープに移行し、バックパックに入れたまま数日間の電池持ちを確保できる。
どちらのバージョンもESP-IDF v5.4以上とmicroSDカードがあればビルド可能。FAT32でフォーマットしたSDカードにGIFを入れてフラッシュするだけで動作する。

