父と母の会話を取り戻したくて、Flutterで「みせるだけ」というアプリを作り始めた話

目次

きっかけ

昨日、入院中の父のお見舞いに行ってきた。父は91歳、母は89歳。

母は耳がかなり遠くなっていて、父が何を話しているのか聞き取れない。父も体力が落ちていて大きな声を出すのが辛い。結果として、お見舞いに行っても夫婦の会話がほとんど成立していなかった。

仕方なく私がスマホで父の言葉を打って、それを母に見せて何とか会話を中継した。「お母さん、明日水を持ってきて」と父が言う。それを私がスマホに打って、母に画面を見せる。母が頷く。次のひと言を待つ……の繰り返し。

父はずっと前から「お母さんと話ができない」と悩んでいた。何年も。

家に帰ってから考えた。これ、専用アプリがあれば解決するのでは?

既存アプリを調べてみた

「文字起こしアプリ」は世の中にたくさんある。UDトーク、こえとら、Google音声文字変換、YYProbe、Vosual ─── 調べれば調べるほど出てくる。

最も近いコンセプトは Google Play にある「耳の遠くなった方に音声入力で大きな文字を表示するだけのアプリ」というアプリ。レビューを読むと「父との会話の苦労はなんだったのか」という切実な声が並んでいる。需要は明らかにある。

でも、自分が父と母のために作るとしたら、もう少し違う設計にしたい。

設計したい3つのポイント

実体験から、こんな仕様が浮かんできた。

1. 話す人・中継する人・見る人の3者を意識する

既存の文字起こしアプリは「話す人=見る人」の前提で作られていることが多い。でも実際の介護・お見舞いの現場では、私のような「中継役」が必要なケースが多いはず。

2. 「やり直し」ボタンを目立つ位置に置く

父は時々どもったり言い直したりする。それをそのまま母に見せると混乱する。中継役が「確認してから見せる」ことができるよう、やり直しボタンを大きく配置したい。「クリア」より「やり直し」の方が、年配の方に優しい言葉だとも思った。

3. UIを極限までシンプルに

画面は2つだけ。起動画面に「開始」ボタン1つ。認識画面に「やり直し」「終了」の2ボタン。それ以外は何もない。

午後の数時間で実装まで完了

今日の午後、ちょうど生徒のレッスンがなかったので一気に作った。

技術スタックはいつもの Flutter + speech_to_text パッケージ。Bundle ID は net.sinqwell.miseruDake で、SINQWELLブランドの新しい仲間として開発スタート。

ハマったポイントもあった。Android側で build.gradle.kts が Flutter の自動アップグレード機能で構文が壊される現象に遭遇。minSdkVersion flutter.minSdkVersion(古い Groovy 構文)に書き戻されてビルドエラーになる。minSdk = flutter.minSdkVersion(Kotlin DSL の正しい構文)に書き換えて解決。

iOS側では EXC_BAD_ACCESS クラッシュが発生したが、これは Info.plist に NSBonjourServices と NSLocalNetworkUsageDescription を追加することで解決した。Flutter + iOS17以降の組み合わせで時々遭遇する問題のようだ。

細かい工夫

「今、聞いてくれている」が一目で分かるよう、認識中の画面には:

  • 赤い丸の中にマイクアイコンと「聞き取り中」の白抜き文字
  • 全体がゆっくり点滅する(1.2秒周期、呼吸のような優しい動き)

会話中に画面が暗くならないよう、wakelock_plus で常時画面ONも実装。お年寄りは画面が暗くなるとアイコンを探して立ち上げ直すだけで時間がかかってしまう。

完成イメージ

起動画面はシンプル。「みせるだけ」のタイトル、サブタイトル「話した言葉を 大きな文字で」、そして中央に大きな丸い「開始」ボタンだけ。

開始ボタンを押すと認識画面に切り替わり、話した言葉が画面いっぱいの極太フォントで表示される。実際に「健康保険証を持ってきて」と話してみたら、ちゃんと大きな文字で表示された。これなら89歳の母にも読める。

次のステップ

父は車で2時間のところにある病院に入院中で、すぐにテストはできない。次にお見舞いに行くのは数日後になる。

それまでに Google Play の審査を通したい。審査には数日かかることもあるので、早めに提出して、次回お見舞いに行く頃には公開されている状態にしておきたい。

残作業は:

  • ローディング画面の画像作成
  • スプラッシュ画面の実装
  • リリースビルド準備
  • ストア掲載用のスクリーンショット作成
  • Google Play 審査提出

おわりに

「お母さんと話ができない」という父の悩みを、娘の手作りアプリで解決できるかもしれない。それだけで、今日の午後の数時間は意味のある時間になった。

技術は、誰かの困りごとを解決するためにある。それを改めて実感した1日だった。

次回お見舞いに行く時、父が「みせるだけ」を使ってお母さんと話している姿を見られたら、それが何よりのリリース報告になると思う。


アプリ名: みせるだけ
プラットフォーム: iOS / Android(両対応)
技術: Flutter + speech_to_text
開発者: SINQWELL(@sinqwell_dev)

目次