見出し画像

Siriの音声入力で家計簿を記録しよう。

割引あり

前提条件

「家計簿をつけるなんてめんどくさい」

要件定義

・家計簿アプリはめんどくさいので使いたくない。

→買い物したときにレシートを捨てずに受け取って、それを丁寧に財布にしまって家まで持ち帰って、それをわざわざカメラに写して、OCRの読み取りがうまくいかなくて手で修正して、、、
⇒できるだけ少ない手順で家計簿を記録したい。

・Apple Watch を先月購入したので、それを活用したい。

→Apple Watch でテキスト記入は難しい。
⇒音声入力もしくは選択肢方式で記入する。

・あとから機能を追加できるようにしたい。

→家計簿に追加したい機能はたくさんある。今月の収入(賃金)、固定支出(奨学金、サブスク)をあらかじめ入力しておきたい。予定の支出を超過したら警告文を出したい。
⇒プログラマブルな環境で家計簿を管理する。

仕様導出

・記入する内容は、日付・金額・内容(オプション)に限定。

・iPhoneのショートカット機能を用いて音声入力で記入。

・GASを組めるGoogleスプレッドシートをベースとする。

初期投資

・iPhone or Mac

最低限の初期投資はこれだけです。ショートカットをApple watch側で起動するので、Apple watchは必須ではありません。
細かいところだとスプレッドシートを利用する為にGoogleのメールアドレスが必要です。後述のIFTTTの登録にもそちらのメールアドレスを用います。

作成手順

・Googleスプレッドシートで家計簿のフォーマットを作成する

後述するIFTTTでは、最下部の行を検出して、その下部に値を追加していきます。その為、この場合は4行目以降に取得した値が格納されていくことになります。
・名称は「家計簿」としました。こちらは後で使用します。
・2CのセルにSUM関数でB列の合計値を取得してます。

・IFTTTでスプレッドシートに外部入力の体制を作る。

IFTTTとは、IF This Then That(もし○○ならばXX).の略

IF もし
This 〇〇
Then ならば
That XX

このThisThanに対応するオンラインサービスやアプリケーションを組み合わせることができるプラットフォームです。

もし
Siriによる入力がある
ならば
スプレッドシートに出力する

というアプリケーションを作っていきましょう。

以降はIFTTTのブラウザのスクリーンショットとコメントで解説していきます

Event Nameは後半に使用します。

Event Nameは英語にしてください。名前は任意ですが、後述で同じ名称を使用します。今回は「kakeibo」としましょう。
Create trigger を押すと、If Thisの設定は終わりです。

なお、Webhooksとは、外部のアプリケーションやデバイス(今回はSiri)からHTTPリクエスト(通常はPOSTリクエスト)を受け取ることで、IFTTTの他のアプリケーションをトリガーするためのサービスです。

次はThen Thatを設定していきましょう。

初期画面から、2項目テキストを書き替える。

Spreadsheet name自分が設定したスプレッドシートの名前に変更。(今回は「家計簿」)
Formatted rowを編集。
初期設定では、日付・イベントネーム・値1・値2・値3を、A列~E列の順に配置する設定になっています。
それを、下記のコードに変えることで、
日付(日本語表記)・値1(金額)・値2(内容)になるように設定します。コピペしてお使いください。

=GOOGLETRANSLATE(left("{{OccurredAt}}",find(" at ","{{OccurredAt}}")),"en","ja")|||{{Value1}}||| {{Value2}}

上記2項目を書き替えたら、Create actionを押してThen Thatの設定は完了です。


最後にIFTTTを外部アプリに連携するためのパスの取得を行います。webhooksをクリック
Documentationをクリック
Your key is: のテキストを取得

後述にて、こちらのキーを記入する箇所があります。文字を隠している理由としては、そのまま記入すると私のスプレッドシートに反映されてしまうからです。個人でキーが異なります。

・iPhoneでショートカットを設定し、SiriとIFTTTを連携する。

IFTTT側の設定が終わりましたので、次はiPhone側の設定に移行しましょう。
なお、iPhoneの音声入力(日本語)はかなり癖があります。漢字にしたい部分がひらがなになったり、その癖を許容するために特殊な手順を踏む必要があります。
1からショートカットの作成手順を説明すると手順が増える為、今回はフォーマットを公開します。なお、実装期間は2日程度なので想定していないバグ等が発生する可能性がありますが、ダウンロード後は個人で編集は可能ですので、お好きに土台にしてください。

Windowsで閲覧中の方には悲しいお知らせ。
↓のリンクはお手持ちのiPhoneで開いてください。


ショートカットの中身

変更する内容は2項目

・ショートカットの名称(任意)
→現在は「家計簿」になっていますが、こちらはSiriで呼び出す際の名称になります。呼びやすい名前を付けてあげましょう。

・1行目のURL(必須)

https://maker.ifttt.com/trigger/hogehoge/with/key/fugafuga

hogehoge→最初に設定したEventNameに変更

fugafuga→最後に取得したキー

hogehogeに該当する箇所 Event Name
fugafugaに該当する箇所 Key


最後に、家計簿の入力をiphoneではなくApple Watchから起動する為の設定を行いましょう。

Apple watchでショートカットを起動する手順。

こちらで全ての設定が完了です。

使用方法

・Siri を iPhone もしくは Apple watch で起動。

・つけてあげた名前を呼ぶ。標準は「家計簿」。

・XXXX円 項目 の順番で発音する。


→この時、必ず金額は「」で終わってください。なぜなら、iPhoneでの音声入力は、数字と文字を連続で発音すると区切り文字となる空白が発生しません。(環境によりけり)その為、の漢字を区切り文字として、金額と項目を分割しています。

参考文献

経過観察

完成から1日経過して使った感想。

「街中で腕時計に話しかけるの恥ずかしすぎて無理」


てことで、以降の記事では、このままスプレッドシートを活用して、
音声入力を用いず、タッチ操作のみで家計簿に金額と項目を追加する手法を書き記します。

なおここからは記事の趣旨と異なる蛇足となります。
蛇足にお付き合いいただける方は、コーヒー一杯の料金のご支援を頂けると幸いです。

ここから先は

792字 / 3画像

この記事が気に入ったらサポートをしてみませんか?