# SympathyCore
橋本 粋人 酒井汰矩磨
[TOC]
## 1.概要
「SympathyCore」は、ユーザーの感情に繊細に寄り添い、光で表現するインタラクティブなデバイスです。音声からLLMを用いて感情を解析し、その感情に合わせてLEDの光の色や点滅速度を変化させます。解析した感情を元に統計を作成し、感情の傾向を知ることができます。
<!-- 画蔵? -->
## 2.プロジェクトの背景
<!-- たくま -->
### 2.1背景となる社会問題
<center>
<img src="https://hackmd.io/_uploads/S1mau743eg.png" width= "70%" >
</center>
<center>
図1:「心の病」の増加傾向
</center>
<center>
<img src="https://hackmd.io/_uploads/SkbUiTXhex.png" width= "70%" >
</center>
<center>
図2:「心の病」の最も多い年齢層
</center>
<center>
<img src="https://hackmd.io/_uploads/Syi5kVN3gx.png" width= "70%" >
</center>
<center>図3:「推し活」をしている</center>
現代社会において、過大なストレスの影響により「心の病」を持つ人口が増加しています。図1、2は日本生産性本部による第11回「メンタルヘルスの取り組み」に関する企業アンケート調査結果を示したものであり、「心の病」の増減傾向と年齢別の状況を示しています[^1]。図1から「心の病」が「増加傾向」にあると回答した割合が45.0%と、過去最低であった前回調査から急増していることが分かります。また、図2からは「心の病」が最も多い年齢層は2023年に10~20代が43.9%に急増し、初めて30代を上回って最多の世代となっていることが示されています。
このように、メンタルヘルス危機は若年層の間でが深刻化しています。
図3では、推し活総研による2025年推し活実態アンケート調査における「推し活」をしている男女年齢別の割合です[^2]。図3によって若年層において「推し活」を行っている人が多数存在することが分かります。この点に着目し、推し活のグッズに取り付けられる小型軽量デバイスを使用することで、若年層をターゲットにしたメンタルヘルスを自己判断するためのシステムを実装を目指しました。
### 2.2既存のシステムとその課題
現在、感情推定を用いたメンタルヘルスケアを行うシステムには、個人向けの対話型AIによるセルフケア支援システムと、組織向けリスク管理システムのようなタイプが存在します。前者にはAwarefy、muute、emolなどのような、ユーザーのテキスト入力や感情の自己選択に基づきAIが対話や認知行動療法(CBT)的なサポートを提供し、個人的な内省や習慣化を支援します[^3]。一方、後者にはemoiwa、エモコ分析サービスなどのような、録音データ(音声解析)やバイタルセンサー(非接触)などから感情値や集中度を推定し、離職確率やストレス傾向を管理者にデータとして可視化することで、早期介入や職場環境改善を支援します[^4][^5]。
しかし、個人利用を目的とするシステムは、ユーザーに文字入力や感情選択といった感情解析のための特別な行動を求められるため、これが継続的な利用の妨げの一つとなっています。また、組織向けシステムは、音声解析などでユーザーの手間はかからないものの、その多くが業務上のデータ収集と管理者向けのアラートを目的としており、労働者全般を主要ターゲットとした、個人を支援するシステムとなっていません。
### 2.3目標とするシステム及び設計
これらを踏まえ、私たちは「特別な行動を必要としない直感的な自己理解ツール」である「SympathyCore」を目標とします。Leafonyの採用により小型・軽量を実現し、デバイスをぬいぐるみなどにアクセサリーのように付けたり、インテリアとして部屋の飾りの一部として置いたりできる点で、心の病が最多世代となった若年層を強く意識した設計としています。この設計により、日常生活に溶け込んだ形で利用が可能です。ユーザーの音声からLLMを用いて感情推定を行い、その結果を光の色や点滅速度という非言語的な手段でフィードバックします。感情を数値ではなく光として捉えることで、自身の心の状態を直感的に把握することが可能です。
### 2.4Leafonyの活用による利点
「SympathyCore」におけるLeafonyの利点として以下の点が挙げられます.
- 小型、軽量である
小型をデバイスすることで容易に持ち運びできます。デバイスの外観を変更することで、若年層が求める推し活グッズ(アクリルスタンド、ぬいぐるみなど)や、職場の小物などに付加・組み込みが可能です。
- 拡張性が高い
リーフを追加することによって、感情推定に使用する情報を増やすことが可能です。
## 3.システム構成
<!--橋本 -->
### 3.1実装の全体構成
---
<!--資料作り終わったら図に番号等をつける -->
<center>
<img src="https://hackmd.io/_uploads/H14OskH3xl.png" width= "90%" >
</center>
<center>
図4:SympathyCoreの全体構成
</center>
<center>
<img src="https://hackmd.io/_uploads/H14YHLF2ge.png" width= "90%" >
</center>
<center>
図5:LEDの色
</center>
図4の通り、SympathyCoreはスマホアプリで取得した音声を解析し、感情に合わせたLEDの制御を行います。本アプリケーションでは、感情をhappy,sad,angry,fear,loveの5つに分類します。感情と色の関係を、図5に示します。
#### 3.1.1アプリ構成
<center>
<img src="https://hackmd.io/_uploads/BkPqsJH3le.png" width= "70%" >
</center>
<center>
図6:スマホアプリの構成
<center>
<img src="https://hackmd.io/_uploads/rylFE5r3gx.png" width= "70%" >
</center>
<center>
図7:スマホ画面の構成
</center>
</center>
<center>
<img src="https://hackmd.io/_uploads/ByJSiKBhgl.png" width= "90%" >
</center>
<center>
図8:キャラ反応モードの全体構成
</center>
<!--スマホアプリの構成 -->
図6のように、スマホアプリでは、マイク入力から音声を録音し、その音声ファイルを10秒ごとにPython FastAPIを用いたバックエンドへ送信します。バックエンドから返却されたJSON形式の感情推定結果を受信すると、その情報をBLE通信を通じてLeafonyモジュールへ転送します。
さらに、図7、右画面中央の「モード切替」ボタンによって、「文字起こし」モードと「キャラ反応」モードを切り替えることができます。前者では音声ファイルを基にユーザの感情を推定し、後者では音声ファイルとユーザが入力したキャラクター設定テキストを組み合わせて、キャラクターが受け取った発言に対する感情を推定します。「キャラ反応」モードの場合の全体構成は、図8に示します。感情推定の結果は、マイク画面下部にて最新の結果が表示され、統計情報がホーム画面に集計されます。
#### 3.1.2Leafonyモジュールの構成
<center>
<img src="https://hackmd.io/_uploads/H14aoyB3gl.png" width= "70%" >
</center>
<center>
図9:Leafonyモジュールの構成
</center>
<!-- これはシステム運用か? -->
図9に、Leafonyモジュールの構成図を示します。
Leafonyモジュールは、電源をつけるとスリープ状態となります。この状態のLeafonyモジュールを振ると、AI01 4-Sensors内の加速度センサによる割り込みを行いスリープを解除,20秒間スマートフォンとの接続のためにアドバダイズを行います。この状態でアプリからスキャン、接続を行うことで、接続が確立されます。接続後は、スマートフォンから送信された感情推定結果に基づき、LEDの色や点滅速度を変化させます。さらに、接続待機中は紫色、通信可能状態では消灯といった表示によって、Leafonyとの通信状況が一目で分かるようになっています。
#### 3.1.3バックエンドの構成
<center>
<img src="https://hackmd.io/_uploads/ry4G2kSnxl.png" width= "70%" >
</center>
<center>
図10:「文字起こし」モード時のバックエンドの構成
</center>
<center>
<img src="https://hackmd.io/_uploads/BJI8CKB2gg.png" width= "70%" >
</center>
<center>
図11:「キャラ反応」モード時のバックエンドの構成
</center>
Python FastAPIを用いたバックエンドの動作は、「文字起こし」と「キャラ反応」モードで異なります。「文字起こし」モードでは、図10のように、受信した音声ファイルをWhisperでテキストに変換し、そのテキストをGeminiに渡してユーザの感情を推定します。「キャラ反応」モードでは、図11のように、音声ファイルに加えてユーザが入力したキャラクター設定テキストも受信します。バックエンドでは、文字起こしモードで生成されたテキストとキャラクター設定テキストをGeminiに渡し、キャラクターが受け取った発言に対する感情を推定します。最終的に推定された感情はJSON形式でスマートフォンアプリに返却され、その結果がLeafonyモジュールのLED表示に反映されます。
geminiのプロンプトとして、感情と色の対応関係を以下の通りに設定しています。
- happy: yellow (h≈0.15, s≈1.0)
- sad: blue (h≈0.58, s≈1.0)
- angry: red (h≈0.0, s≈1.0)
- fear: purple (h≈0.75, s≈1.0)
- love: pink (h≈0.94, s≈0.6)
### 3.2システム運用
---
<!-- どうやって使うの? -->
システム運用の手順は以下の通りです。
1. スリープ状態のLeafonyモジュールを振り、スリープを解除、スマートフォンとの接続待機状態にする
2. スマホアプリのマイク画面で、画面中央の「未接続」ボタンまたは、画面右上のWifiアイコンのボタンを押すと、BLE接続モーダルが出現、Leafonyと接続することができる
3. Leafonyと接続していると、「未接続」ボタンが「録音開始」ボタンに変化する
4. 「録音開始」ボタンを押すと録音を開始する
5. 録音した音声がバックエンドに送信され、感情推定が行われる
6. 感情推定の結果により、BLE通信にてLeafonyに接続されたLEDの光り方が変化する
## 4.開発上の工夫
<center>表1:各状態における消費電力比較(20秒の平均)</center>
| 状態 | 平均電流 | 平均消費電力 | 消費電力量(20秒間) |
|------|----------|--------------|----------------------|
| スリープ | 0.743 mA | 2.49 mW | 14.17 µWh |
| スリープなし(LED消灯のみ) | 8.53 mA | 28.53 mW | 166.16 µWh |
| 接続中(LED点灯, hsv=1.0,1.0,0.01) | 14.39 mA | 48.17 mW | 274.02 µWh |
| 接続中(LED点滅 3秒間隔) | 8.67 mA | 29.04 mW | 164.38 µWh |
<!-- 各自 -->
本システムの開発において、以下の点で工夫を行いました。
- 省電力化
本システムでは、消費電力を抑えるためにスリープ制御とLED制御の2点に着目して設計を行いました。表1はSilicon LABSのEZR32WG330[^6]を使用し、各条件で20秒間の平均電流、電力を算出したものです。スリープでは4-sensorリーフを割り込み待機とし、それ以外のリーフをスリープ状態に設定しました。一方、スリープなしでは割り込み待機のみを行い、全リーフが動作状態となっています。また、LEDの条件はhsv(1.0, 1.0, 0.01)に固定し、点滅は3秒周期で行いました。
表1に示すように、Sleep制御を行うことで動作時に比べて約90%の消費電力の削減を可能にしています。また、LEDに関しては、常時点灯時に比べて点滅を導入することで、消費電力を約40%削減できることが確認できました。さらに、点滅間隔の制御により、多くの感情を表現することが可能になっています。
- 感情表現
感情表現をHSV (色相・彩度・明度) モデルのV(明度)を固定したH(色相)とS(彩度)で表現することで、微細な感情の変化にも対応できるようにしました。これにより、システムの感情をより直感的に、かつ豊かにユーザーに伝えることが可能になっています。
- 精度向上
Whisperの精度向上のため、音声ファイルはノイズ除去にpythonのnoisereduceライブラリを使用しています。また、Silero VADを用いて、文と文の切れ目でファイル分割を行なっています。
## 5.今後の展望
<!-- 現状の説明してるけど別に無くしてもいい -->
- LEDの省電力化と小型化
現状使用しているLEDは、明度が高くなると稼働電圧が高くなるため、他のシステム部品を駆動させるのに必要な電圧が不足する場合があります。また、LEDが取り付けられている基板が設置場所を占有しています。
今後は、稼働電圧の低いLEDを選定し、29ピンリーフに直接はんだ付けすることで、省電力化と小型化を同時に実現します。
- 音声認識と感情推定の精度の向上と時間短縮
現状では、1分間に約2回しか感情推定ができず、リアルタイム性に課題があります。また、感情推定の精度も、内容に沿ってはいるものの、より正確なものにする必要があります。今後は、React Native上のライブラリを活用し、スマホ上でリアルタイムにテキスト化し、Geminiに送信することで、バックエンドの処理にかかる時間を短縮します。
- 音声認識と感情推定のバックグラウンド処理
バックグラウンドでの処理を追加し、スマホアプリを閉じた場合に、録音が停止しないように改善します。
<!-- 解決策があれば書いて欲しい -->
<!-- -->
<!-- AIだけど参考になれば -->
<!-- 軽量な感情推定モデルの採用: より少ない計算資源で高速に動作する最適化されたニューラルネットワークモデル(例:MobileNetのような軽量アーキテクチャ)を導入することで、処理時間を大幅に短縮します。
エッジAI処理の強化: マイコンの処理能力の向上、または専用のAIアクセラレータチップの活用により、クラウドへの依存を減らし、デバイス上での高速な感情推定を可能にします。
ストリーミング処理の導入: 音声を10秒まとめて処理するのではなく、数秒単位または逐次的に音声データを処理し、感情の変化を継続的に推定する手法を導入することで、処理遅延を最小限に抑えます。 -->
<!-- - 喜んでいたら一緒に喜ぶ,怒っていたらなだめるような色を光らせる感情応答モードの追加 -->
## 参考文献
[^1]:公益財団法人 日本生産性本部
「第11回「メンタルヘルスの取り組み」に関する企業アンケート調査結果概要」
( https://www.jpc-net.jp/research/assets/pdf/b9d01383c6bb435731afd9d9d94b790c_4.pdf )2025年9月27日閲覧
[^2]:note 「【推し活人口1400万人・市場規模3兆5千億円】大規模アンケートで分かった!拡がり続ける推し活市場」
( https://note.com/oshikatsusoken/n/n3c4895c4e4bc )2025年9月27日閲覧
[^3]: DX/AI研究所
【2025】無料のおすすめAIメンタルケアアプリ5選!選び方や利用上の注意点
( https://ai-kenkyujo.com/software/ai-mentalhealth-application/ )2025年9月27日閲覧
[^4]:三菱電機デジタルイノベーション株式会社
「コンタクトセンター向け感情データ活用 感情分析サービス emoiwa」( https://www.mdis.co.jp/service/emoiwa/?utm_source=google&utm_medium=cpc&utm_campaign=202508_emoiwa_google-ads_cpc&gad_source=1&gad_campaignid=22892138814&gbraid=0AAAABA-Wef2qgbBLJstyJO5mEInvDOJyX&gclid=CjwKCAjw89jGBhB0EiwA2o1On8DZ9lM383UB1iMVRO6yz4C9qw6vEHnG-36Q1LWa7VRnpNHlDfi5sRoC0pcQAvD_BwE)2025年9月27日閲覧
[^5]:三菱電機オフィシャルサイト
「人の感情を推定して分析・データ化する「エモコ分析サービス」を提供開始」
( https://www.mitsubishielectric.co.jp/ja/pr/2025/0924/) 2025年9月27日閲覧
[^6]: Silicon LABS「EZR32WG Wireless MCUs EZR32WG330 Data Sheet」
(https://www.digikey.jp/ja/products/detail/silicon-labs/SLWSTK6222A/5114620?gclsrc=aw.ds&gad_source=1&gad_campaignid=20220851003&gbraid=0AAAAADrbLlgG-AeUq-CaJF_NQpXj8utJi&gclid=CjwKCAjw_-3GBhAYEiwAjh9fUOSPv5oZ7n5vjUHMESXQbGkmcaie1x8dw4dx5JscfszGtjS4ZOZwkRoCgPQQAvD_BwE)2025年9月30日閲覧