概要
- AIツール の進化により、個人の小さな課題も 短期間で自作 できるようになった体験談
- 騒音による睡眠障害 の原因特定と対策を、 Home Assistant や Raspberry Pi などで実現
- 睡眠データ・センサー・音声データ を統合し、 可視化・分析 するWebアプリを開発
- AIは開発効率化 に貢献し、問題解決プロセス自体の コストを大幅削減
- 測定→対策 の重要性、 AI時代の個人開発 の可能性など、得られた知見を共有
AIと個人開発で「睡眠の質」を可視化・改善した話
- 日常生活の質 に影響する小さな問題を、 自作ツール で解決する取り組み
- AIツール の登場で「手間の割に見合わない」と思っていたプロジェクトも 週末で実現可能 に
- 今回は「 夜中に何が睡眠を妨げているのか分からない」という課題をテーマに選定
睡眠障害の原因特定に挑戦
- 都市部の騒音 で夜中に目覚める現象、原因が分からず 対策が難しい 現状
- 音の発生源特定が困難なため、 推測による対策 はコストや効果が不明
- 確実な原因特定 を目指し、 データ収集と可視化 に着手
システム全体の構成
- 既存の Home Assistant と複数センサー(動作・ドア・照明・温湿度・CO₂・空気質)を活用
- 新たに追加したもの
- USBマイク2台 (室内・屋外用)
- Raspberry Pi (自宅・就寝時のみ録音)
- Garmin の睡眠データ
- Webアプリ (音声・睡眠・センサーイベント統合表示)
- 録音は 大きな音が検知された瞬間のみ クリップ保存、 プライバシー配慮 で条件外では完全停止
- Webアプリ はマルチトラック表示で、 睡眠段階・心拍・センサー・ノイズイベント を一目で確認可能
- PWA+Webプッシュ で、毎朝スマホに「昨晩のデータ準備完了」通知
AIが担った役割・担わなかった役割
- AIツール により 約8時間 でシステム構築が現実的に
- AIは開発効率化 のみ担当、音の分類や分析は 現状は自分の耳
- コードレビューはせず、 動作確認とフィードバックのみ でAIに改良指示
- Raspberry Pi にはSSHでAIエージェントが直接実験・設定を実施
- 個人用・自宅運用 ならこのレベルで十分
睡眠データの扱いについて
- Garmin の睡眠データは「正確な睡眠段階」よりも「 覚醒イベント」の検出が有用
- 可視化の目印 として活用し、 膨大な無関係音声 を聞く手間を削減
- 睡眠科学 が目的ではなく、「 朝の不調の原因特定」がゴール
実際に分かったこと・対策
- ドアの開閉音 (隣人や同居人)
- 食器の音 (高音で遠くまで届く)
- 街路の騒音 (バイク・トラック・ゴミ収集車)
- 内外の音の誤認 もデータで訂正可能
- 具体的対策
- 吸音パネル (IKEAオフィス用)設置
- ドア・窓の追加防音 (シリコン・ゴム)
- 内的騒音 は同居人との小さな会話で解決
- 完璧ではないが、効果は体感とデータで確認
技術的な詳細
- Piはメモリバッファに常時録音、閾値超え時のみディスク保存
- ノイズ抑制プロファイル で「常時環境音」は除外、 誤検知大幅削減
- 録音クリップ・JSONイベント を保存し、 Webサーバー経由でアプリに提供
- Home Assistant連携用カスタム統合 もAIエージェントが作成
- Garminデータ はOSSライブラリで取得し、 睡眠・心拍・HRV をトラック化
- Webアプリ は 3系統(Garmin・Home Assistant・Pi)からデータ同期表示
- マルチトラック同期再生プレイヤー は自作
- PWA+Webプッシュ で完全ローカル運用
今後の拡張アイデア
- 必要時のみ通知 (静かな夜は通知スキップ)
- 類似音声のクラスタリング・ラベリング
- クラスタ可視化 で効率的な確認
- 睡眠妨害の可能性が高い時のみアラート
- どれも 週末作業レベル で、現状でも十分に満足
この体験から得た教訓
- 「計測→対策」 の重要性。 データ無しでの対策は無駄が多い
- 文脈情報 が大事。 単なるノイズログだけでは意味がない
- 「十分な精度」 のシンプルな信号でOK。 完璧さより実用性
- AIツールの進化で個人開発のハードルが大幅低下
- 「小さな困りごと→自作ツールで解決」 の発想が現実的に
注意点・前提
- 筆者はソフトウェアエンジニア で、短時間開発が可能
- オーディオ処理は未経験 だが、AIツールで十分対応できた
- コードはあくまで個人用・自己責任運用、公開には適さない
- 医学的ガイドではなく、生活改善の一例 として共有