MacやiPhoneのカレンダーには通知機能があって、時間が来たらポップアップで教えてくれます。実用的にはこれで十分なのですが、優しく声で知らせてくれたら、もっとウキウキになっちゃうのではないでしょうか。というわけで、それを実現する方法を考えてみました。
やりたいこと
- 時間が来たら、任意の言葉を声で伝えてほしい
実装の流れ
- 標準の「カレンダー」と「ショートカット」アプリを使用
- カレンダーのイベント名を声で読み上げるショートカットを作成
- イベントの時間が来たら、そのショートカットを実行させる
あらかじめカレンダーを作成
まずは下準備。「カレンダー」アプリの中に読み上げ用のカレンダーを作ります。「カレンダーでカレンダーをつくる」ってややこしいですね。
読み上げ用のショートカットを作成
続いて、ショートカットの作成に移ります。
今回の目標は、固定のフレーズではなく、その都度任意の文字列を読み上げてもらうことです。そこで、カレンダーのイベント名を読み上げることにします。
「ショートカット」アプリを起動したら新規ショートカットを作成。このようなショートカットを組み上げます。
- 1つ目のアクションの補足
カレンダーの「もうする行われるイベント」というアクションです。「1件」のイベントを取得します。図で「読み上げ」となっているのは、先ほど作ったカレンダーの名前です。
- 2つ目のアクションの補足
「カレンダーイベントの詳細を取得」というアクションです。1つ目で取得したイベントの「タイトル」を取得します。
- 3つ目のアクションの補足
「テキストを読み上げる」というアクションです。ここで先ほど取得した「タイトル」を指定します。
これでショートカットは完成です。
ショートカットを実行ファイルとして書き出す
カレンダーの通知機能ではショートカットの実行はできませんが、代わりに指定したアプリを起動することができます。つまり実行するには、ショートカットをアプリ(実行ファイル)として書き出す必要が出てくるわけです。
ちょっと回りくどい方法ですが、「ショートカット」アプリではなぜか直接アプリとして書き出すことができないため、このような複雑な手順が必要になります。あ、Dcokの中のショートカットはもう用済みですので、ドラッグしてDockから取り除きましょう。
カレンダーでイベントをつくる
それでは「カレンダー」アプリでイベントをつくってみましょう。
さあ、これですべての準備が整いました。時間が来たら、Macが愛嬌たっぷりに声で読み上げてくれます。
……実際にやってみると、びっくりするくらい素っ気ない声でした。「ちょっと休憩しよっ(棒)」……まあ、これが逆に萌えるってことにしておきましょう。
さらなる高みを目指して
さて、今回の研究結果の発表はここまでなんですが、いくつか課題も見つかりました。
- イベントを作るたびに、通知でアプリを指定するのがめんどい。
- Macでしか利用できない。
特に2は残念なところ。本当はHomePodに読み上げてほしいのです。「ダーリン、もうそろそろ寝るっちゃ☆」とか。あと、声が素っ気ないのも残念なところですが、ひとまずそれは置いておきましょう。
いろいろ試した割には、そんなに便利なテクニックとは言い難いのですが、ショートカットをあれこれ試している人にとって、多少は参考になる部分があるかな、と思い記事にしてみました。
ショートカットはいろんな可能性がありそうなので、ぜひみなさんもいろいろいじりまくって、遊んでみてください。ではまた!
Thumb photo by Zach Reiner on Unsplash