Google HomeでGoogle Voiceのボイスメールを聞く方法

これは、Tasker、AutoWeb、および AutoVoice を使用して、Google Home デバイスで Google Voice から最新のボイスメールを読み上げる方法を示すチュートリアルです。

Google Home が最初にリリースされたとき、多くの機能が不足していました (そして今もそうです)。 カレンダーのイベントを設定したり、テキスト メッセージを読んだり、To Do リストを作成したりする方法はまだありません。 ただし、勇気があれば、次の機能のおかげで、これらの機能のほぼすべてを自分で実装できます。 オートボイス そして タスカー. Google Home と AutoVoice を使ってどれだけクリエイティブになれるかを実証するために、Google Home の使い方を説明します。 最新の Google Voice ボイスメールを読んでください。 今は黒魔術のように思えるかもしれませんが、このチュートリアルが終わる頃にはすべて意味が分かるようになることを願っています。

AutoVoice を使用すると、Google Home デバイスからスマートフォンに音声コマンドを送信でき、スマートフォンはこれらのコマンドを解釈し、Tasker を通じて何らかのアクションを実行します。 最も良い点は、次の機能のおかげで自然言語コマンドを携帯電話に送信できることです。 API.ai, API.ai サーバーのホスティング費用を相殺するために、AutoVoice に月額 0.99 ドルのサブスクリプション サービスにサインアップする場合に限ります。 つまり、Google Home に話しかけるときに、それほど機械的に/正確に話す必要がなく、AutoVoice は送信しようとしているコマンドを引き続き認識します。

しばらくの間、AutoVoice と Google Home の統合はベータ版でしたが、 AutoVoice 3.0のリリース Tasker プラグインのすべてのユーザーが Google Home との統合を楽しめるようになります。 AutoVoice が広くユーザーに利用可能になり、その問題点のほとんどが解決されたので、AutoVoice と Tasker を使用して作成したもののいくつかを紹介し始めます。 私の最初の Google Home チュートリアルは、最新の Google Voice ボイスメールを読むというもので、私にとって最も複雑なものです。 共有しますが、Tasker でできることはあなたの権限によってのみ制限されることを示すのに適した候補です。 想像。

Google Home で最新のボイスメールを聞いています。

推奨読書: をチェックしてください。 以前のチュートリアルでは、他の人がほとんど取り組んでいない一般的な問題を解決する方法を示します。


要件

AutoVoice は、このプロジェクトが動作するためのソフト要件です。 IFTTT を使用してタスクをトリガーできますが、その場合は次のような別のアプリケーションを伴う回避策を使用する必要があります。 参加する または プッシュブレット IFTTT は Tasker と直接統合されていないため、Tasker にコマンドを送信します。 さらに、AutoVoice を使用しない場合の最も重要な注意点は、IFTTT を使用すると音声コマンドが柔軟性に欠けることです。 これは、コマンドを毎回完全に正確に発声する必要があることを意味します。そうしないと、コマンドはトリガーされません。 TaskerとGoogle Homeの統合を大量に作成し始めた場合、これは将来問題になる可能性があります(私は 現在は 28)、つまり、必要なコマンドを毎回正確に記憶して再現する必要があります。

必要になるだろう:

  • オートボイス ($2.49)
  • AutoVoice Natural Language サブスクリプション (月額 $0.99)
  • タスカー ($2.99)
  • AutoWeb ベータ版
  • オートキャスト ベータ版 ($0.99)

準備

この優れた統合の核心に入る前に、これが適切に機能するようにいくつかの準備をする必要があります。 この設定については、何回かに分けて説明します。

パート 1 - AutoVoice のセットアップ

Google HomeでAutoVoiceを設定する方法についてはすでに詳しく書いていますので、 前回の記事はこちらを参照してください. 特に注意すべき唯一の変更点は、AutoVoice 安定版アップデートで統合が機能するようになったため、AutoVoice ベータ版が必要なくなったことです。 ここでも同じことを行うため、Tasker プロファイルを AutoVoice コマンドに反応させるための短いチュートリアルを読むことをお勧めします。 要点は、このセットアップ プロセスでは主に 4 つのことを行うことになります。

  1. Google Home アプリで AutoVoice サービスを有効にします。
  2. API.ai アカウントを設定し、API キーを取得します
  3. これらの API キーを AutoVoice の自然言語設定に追加します。
  4. AutoVoice Natural Language サブスクリプション サービスに登録する

繰り返しになりますが、これらの手順については、以前の記事で詳しく説明していますので、最後まで読んでいただくことをお勧めします。

パート 2 - Google Voice のセットアップ

Tasker がボイスメールの内容を抽出できるように、Google Voice ボイスメールにアクセスする方法が必要です。 これを実現する方法は、すべてのボイスメールをリンクされた Gmail アカウントに転送することです。 これは Google Voice のネイティブ機能であり、Google Voice アプリで 1 つのボタンを切り替えるだけで済みます。

これを完了すると、すべての新しいボイスメールを電子メールで受信できるようになります。 ご覧のとおり、電子メールにはボイスメールの文字起こしと、ボイスメールの実際の音声へのリンクの両方が含まれています。 この電子メールは私たちの目的のために使用されます。

パート 3 - AutoWeb のセットアップ

この電子メールの内容を抽出するには、 Gmail API. これを行うには、最初の方でリンクされている AutoWeb アプリケーションを使用します。 AutoWeb を開き、「Web サービスの参照」をタップします。 Gmail API まで下にスクロールし、タップしてインポートします。 インポート後、AutoWeb は API で使用する Gmail アカウントを認証するように求めます。 を選択 ボイスメールの転送先と同じ Gmail アカウント.

これで、Gmail API を使用して携帯電話を Gmail アカウントにリンクできました。

パート 4 - AutoCast のセットアップ

ボイスメールの音声を Google Home に送信する前に、Google Home に接続できるように AutoCast を設定する必要があります。 AutoCast を開き、「キャスト デバイスの管理」を選択します。 ヒット "+上部バーの「」アイコンをクリックして、Google Home デバイスを選択します。

ようやく、実際にこの設定を行う準備が整いました。


Google Home で最新の Google Voice ボイスメールを読む

オートボイス

最初に行う必要があるのは、AutoVoice Natural Language コマンドを作成することです。 これは非常に簡単に実行できます。

  1. オートボイスを開きます
  2. 「自然言語」をタップします
  3. コマンドをタップします
  4. をタップします + 新しいコマンドを追加するアイコン
  5. 音声コマンドのリストをカンマで区切って入力します。このリストには、このコマンドをトリガーするために話すと考えられる音声コマンドのバリエーションができるだけ多く含まれます。
  6. 応答には、このコマンドを話したときに Google Home に読み上げてもらいたい応答をいくつでも入力することも、何も入力しないこともできます。
  7. 完了したら、このコマンドに名前を付けます。 ここでは何でもうまくいきます。

さまざまなコマンドと応答を入力する場合でも、これらのコマンドを書かれたとおりに正確に話すことを忘れることを心配する必要はありません。 API.ai は、ユーザーが話した内容を自動的に解析し、その自然言語アルゴリズムを使用して、音声コマンドをここにリストされているコマンドの 1 つと照合します。

あるいは、私自身のセットアップをダウンロードしたい場合は、次のリンクからダウンロードできます。 現時点では、インポートするには API.ai にログインして、そこにインポートする必要があると思います。

AutoVoice 自然言語インテントをダウンロードする

正直に言うと、音声コマンドの変数/パラメータやコンテキストを扱っていないため、この設定の実際の AutoVoice 部分はかなり単純です。 実際の複雑な部分は次の部分から始まります。ここでは、Tasker がこの AutoVoice Natural Language コマンドに反応するようにします。

タスカー

このプロファイルを作成するために行っていることを段階的に説明します。

  1. Taskerを開き、 + アイコンをクリックして新しいプロファイルを作成します。
  2. [イベント] --> [プラグイン] --> [AutoVoice] --> [自然言語] に移動します。
  3. 鉛筆アイコンをタップすると、AutoVoiceの設定画面が開きます。
  4. 「コマンド」を押して、前に作成したコマンドの名前を選択します。
  5. 上のチェックマーク アイコンを押してから、戻るキーを押して、Tasker のメイン画面に戻ります。
  6. Tasker は新しいタスクを作成するように求めます。 必要に応じて名前を付けることができますが、それに関係なく新しいタスクを作成するには、チェックマーク アイコンをクリックします。

タスク編集画面に移動したら、以下に示すタスクを作成します。 新しいアクションを作成するには、 + アイコンは中央下にあります。 ここの Tasker プロの場合は、下のトグルを展開してプロフィールとタスクの説明を表示し、自分でフォローすることができます。

ホーム - ボイスメールを読む

 Profile: Home - Read Voicemail (165)
Event: AutoVoiceNaturalLanguage[ Configuration: Commands: read my last voicemail ]
Enter: Read Voicemail (164)
A1: AutoCastSpeak[ Configuration: Device: Bedroom Home Timeout (Seconds):60 ]
A2: AutoWeb Web Service [ Configuration: API: Gmail
API Action: List messages
Include spam trash: false
User ID: me
Search: from:voice-noreply@google.com
MaxResults: 5 Timeout (Seconds):120 ]
A3: Wait[ MS: 0 Seconds: 1 Minutes: 0 Hours: 0 Days: 0 ]
A4: AutoWeb Web Service [ Configuration: API: Gmail
API Action: Get Message
Format: full
UserID: meTimeout (Seconds):120 ]
A5: For [ Variable:%headers Items:1:%payload_headers_name(#) ]
A6: Variable Set [ Name:%referenceTo:%headers Recurse Variables:OffDo Maths:Off Append:Off ] If [ %payload_headers_name(%headers) ~ Subject ]
A7: EndFor
A8: Java Function [ Return: decodedbody Class Or Object:Base64 Function:decode
{byte[]} (String, int) Param:%bodydata(1) Param:8 Param: Param: Param: Param: Param: ]
A9: Java Function [ Return:%body Class Or Object:StringFunction:new
{String} (byte[], String) Param: decodedbody Param: UTF-8 Param: Param: Param: Param: Param: ]
A10: Variable Split [ Name:%body Splitter: https://www.google.com/voice/fm/ Delete Base:Off ]
A11: VariableSplit[ Name:%body2 Splitter:> Delete Base: Off ]
A12: HTTP Get [ Server: Port: https://www.google.com Path:/voice/fm/%body21 Attributes: Cookies: User Agent: Timeout: 10 Mime Type: audio/* Output File:/sdcard/Tasker/voicemail.mp3 Trust Any Certificate: Off ]
A13: Variable Set [ Name:%voicemail To:%payload_headers_value(%reference) Recurse Variables:OffDo Maths:Off Append:Off ]
A14: Variable Split [ Name:%voicemail Splitter: from Delete Base:Off ]
A15: Variable Split [ Name:%voicemail2 Splitter: at Delete Base:Off ]
A16: Test Phone [ Type: Contact Name Data:%voicemail21 Store Result In:%name Continue Task After Error:On ]
A17: Variable Set [ Name:%voicemail To:%voicemail1 from %nameat %voicemail22 Recurse Variables:OffDo Maths:Off Append:Off ] If [ %nameSet ]
A18: Variable Set [ Name:%voicemail To:%voicemail1 from %voicemail21 at %voicemail22 Recurse Variables:OffDo Maths:Off Append:Off ] If [ %name !Set ]
A19: AutoCast Speak [ Configuration: Device: Bedroom Home
Text: %voicemailTimeout (Seconds):60 ]
A20: Wait[ MS: 0 Seconds: 5 Minutes: 0 Hours: 0 Days: 0 ]
A21: AutoCast [ Configuration:
Starting Casting Screen
Persistent Notification: true
Cast Device: Bedroom Home
Screen: Full Screen Media
Audio: /storage/emulated/0/Tasker/voicemail.mp3
Audio Volume: 100
Audio Position: 0
Audio AutoPlay: true Timeout (Seconds):3000 ]

続きを読む

以下のステップバイステップのガイドでは、右側のスクリーンショットに示されているタスクを複製する方法を示します。 ここでの設定の中心となるのはタスクであり、かなり複雑です。 仕組みとしては、プロファイルがアクティブ化されると、最初のいくつかのアクション (A2 ~ A4) がプロファイルを検索して取得します。 Google が使用する自動電子メール サービスである [email protected] からのメッセージ用の Gmail アカウント 声。 次に、件名ヘッダー (A5 ~ A7) を探して、誰がいつボイスメールを送信したかに関する情報を取得します。 次に、Gmail メッセージのメッセージ本文を抽出します。これは Base 64 でエンコードされているため、Java 関数 (A8 ~ A9) を使用する必要があります。 デコードされたメッセージを取得した後、ボイスメールの音声ファイル (A10 ~ A11) にリンクする URL を探し、最後にファイルを mp3 としてダウンロードします (A12)。 A13 ~ A18 は、連絡先情報が存在する場合は、ボイスメールに残した番号を単に検索します。 最後に、A19 ~ A21 は、ボイスメールが誰からいつ送信されたか、および録音されたボイスメール音声を読み上げます。

  1. プラグイン --> AutoCast --> AutoCast 音声。 デバイス: Google Homeを選択してください。 (ここではテキストは必要ありません。Google Home に接続するだけです。)
  2. プラグイン --> AutoWeb。 API:Gmail。 API アクション: メッセージをリストします。 ユーザーID:私。 検索: 送信者: [email protected]. 最大結果: 5。 出力: 同上。
  3. タスク --> 待ちます。 1 秒待ちます。
  4. プラグイン --> AutoWeb。 API:Gmail。 API アクション: メッセージを取得します。 形式: フル。 ユーザーID:私。 メッセージID: %援助(1). 出力: ボディデータ、ペイロードヘッダー名、 そして ペイロードヘッダーの値。
  5. タスク --> 対象。 変数: %ヘッダー. アイテム: 1:%ペイロードヘッダー名(#)
  6. 変数 --> 変数セット。 名前: %参照. に: %ヘッダー. Ifにチェックを入れてIfに設定します %payload_headers_name(%headers) ~ 件名。
  7. タスク --> 終了。
  8. コード --> Java 関数。 クラス/オブジェクトとして、次を選択します。 Base64。 関数: デコード {byte[]} (文字列、整数). パラメータ (文字列): %bodydata (1)。 パラメータ (整数): 8. 戻る: デコードされた本体。
  9. コード --> Java 関数。 クラス/オブジェクトとして、次を選択します。 弦。 関数: new {String} (byte[], String). パラメータ (バイト[]): デコードされた本体。 パラメータ (文字列): UTF-8。 戻る: %体。
  10. 変数 --> 変数の分割。 名前: %体。 スプリッター: https://www.google.com/voice/fm/
  11. 変数 --> 変数の分割。 名前: %body2. スプリッター: >
  12. ネット --> HTTP 取得。 サーバポート: https://www.google.com パス: /voice/fm/%body21 MIME タイプ: オーディオ/* 出力ファイル: /sdcard/Tasker/voicemail.mp3
  13. 変数 --> 変数セット。 名前: %ボイスメール. に: %payload_headers_value(%reference)
  14. 変数 --> 変数の分割。 名前: %ボイスメール。 スプリッター: から
  15. 変数 --> 変数の分割。 名前: %ボイスメール2. スプリッター:
  16. 電話 --> 電話をテストします。 タイプ: 連絡先。 データ: %ボイスメール21. 結果を次の場所に保存します: %名前。 必ずご確認ください エラー後にタスクを続行します。
  17. 変数 --> 変数セット。 名前: %ボイスメール. に: %voicemail1、%name、%voicemail22 から. 一番下の if をチェックして if に設定します %nameが設定されています。
  18. 変数 --> 変数セット。 名前: %ボイスメール. に: %voicemail21 からの %voicemail1、%voicemail22. 一番下の if をチェックして if に設定します %name が設定されていません。
  19. プラグイン --> AutoCast --> 話す。 デバイス: Google Homeを選択してください. 文章: %ボイスメール
  20. タスク --> 待ちます。 待って 5秒。 これは 設定可能な遅延 新しいボイスメールのアナウンスとボイスメールの音声の再生の間に、常に十分な時間が確保されるようにします。 これが短すぎる場合は、時間を増やすことができます。 ただし、この値をいろいろ試して、遅延を許容可能なレベルまで減らすにはどうすればよいかを確認してください。
  21. プラグイン --> オートキャスト --> オートキャスト。 キャストデバイス: Google Home をもう一度選択してください。 選択する 全画面メディア スクリーンとして。 「全画面メディア要素」、「オーディオ」の順に移動し、オーディオ (「再生する曲」) に次のように入力します。 /sdcard/Tasker/voicemail.mp3. 選択する 自動再生.

それでおしまい! このタスクをトリガーするには、Google Home デバイスにコマンドを送信するだけです。 「」と言うことでそうすることができますOK Google、AutoVoice と話させてください」と入力し、オートボイスがコマンドを言うように指示したときに、コマンドのバリエーションの 1 つを話します。 または、「」と言ってコマンドを一度に言うこともできます。OK Google、AutoVoice に [コマンド] をお願いして「最初に示したビデオで私がやったのと同じように。


プロファイルのダウンロード

私が作成した Tasker プロファイル/タスクは、以下のリンクからダウンロードできます。 そうすることを選択した場合は、特定の Google Home デバイスを参照するように 2 つの「AutoCast」アクションを変更してください。 また、私のプロフィールに指定されている AutoVoice Natural Language コマンドが、あなたが作成したものと同じであることを確認してください。 そうでない場合は、コマンドを指すようにプロファイルを変更してください。 ほんの数秒しかかかりません。

ホーム - ボイスメールタスク担当者のプロファイルをダウンロードする

上記の XML ファイルをダウンロードしたら、デバイス上の任意の場所に保存します。 Tasker を開き、環境設定で初心者モードを無効にします。 次に、メイン画面に戻り、オプションとして「インポート」を含むポップアップ ボックスが表示されるまで、[プロファイル] タブを長押しします。 それを押して、.prf.xml ファイルを保存した場所に移動し、それを選択してインポートします。

このチュートリアルがお役に立てば幸いです。 うまく動作するようになるまで、API と Tasker をいじってみるのが楽しかったです。 あまり洗練されたものではないことは承知していますが、これは主に、Google Home をさまざまな Web サービスや携帯電話といかに強力に統合できるかを示すショーケースです。 これが、これまで不可能だと思っていたものを作成するきっかけになれば幸いです。