Jak poslouchat hlasovou schránku Google Voice na domovské stránce Google

Toto je výukový program, který vám ukáže, jak nechat zařízení Google Home přečíst vaši nejnovější hlasovou zprávu ze služby Google Voice pomocí Tasker, AutoWeb a AutoVoice.

Když byla domovská stránka Google poprvé vydána, postrádalo (a stále chybí) mnoho funkcí. Stále nemáte možnost nastavovat události kalendáře, číst textové zprávy, vytvářet seznam úkolů a další. Pokud však máte rozum, můžete téměř všechny tyto funkce implementovat sami, díky výkonu AutoVoice a Tasker. Ve snaze ukázat, jak kreativní můžete být s Google Home a AutoVoice, vám ukážu, jak mít svůj Google Home přečíst si nejnovější hlasovou zprávu Google Voice. Možná to teď vypadá jako černá magie, ale doufejme, že na konci tohoto tutoriálu to všechno bude dávat smysl.

Pomocí funkce AutoVoice můžete posílat mluvené příkazy ze zařízení Google Home do telefonu, který pak tyto příkazy interpretuje a prostřednictvím Taskeru provede nějakou akci. Nejlepší na tom je, že do telefonu můžete posílat příkazy přirozeného jazyka díky výkonu

API.ai, za předpokladu, že se zaregistrujete k odběru služby AutoVoice za 0,99 $ měsíčně, abyste vyrovnali náklady na hostování serveru API.ai. To znamená, že při hovoru se svým domovským zařízením Google nemusíte mluvit tak roboticky/přesně a AutoVoice stále rozpozná příkaz, který se pokoušíte odeslat.

Integrace AutoVoice se službou Google Home byla nějakou dobu ve verzi beta, ale vydání AutoVoice 3.0 umožňuje všem uživatelům zásuvného modulu Tasker využívat integraci Google Home. Nyní, když je AutoVoice široce dostupný pro uživatele a většina jeho chyb byla vyřešena, začnu předvádět některé z věcí, které jsem vytvořil s AutoVoice a Tasker. Můj první výukový program pro domovskou stránku Google, čtení vaší nejnovější hlasové schránky Google Voice, je nejsložitější sdílet, ale je to dobrý kandidát ukázat, že to, co můžete dělat s Taskerem, je omezeno pouze vaším fantazie.

Poslouchám svou nejnovější hlasovou zprávu na domovské stránce Google.

Doporučená četba: Podívejte se na naše předchozí tutoriály, kde vám ukážeme, jak řešit běžné problémy, ke kterým se přiblížil málokdo.


Požadavky

AutoVoice je měkký požadavek, aby tento projekt fungoval. Ke spuštění úlohy můžete použít IFTTT, ale to bude vyžadovat, abyste použili řešení zahrnující jinou aplikaci, jako je Připojit nebo Pushbullet k odesílání příkazů do Taskeru, protože IFTTT se přímo neintegruje s Taskerem. Kromě toho a nejdůležitějším upozorněním na nepoužívání AutoVoice je, že hlasové příkazy budou při použití IFTTT neflexibilní. To znamená, že musíte pokaždé vyslovit svůj příkaz zcela přesně, jinak se příkaz nespustí. To může být v budoucnu problém, pokud začnete vytvářet spoustu integrací Tasker/Google Home (mám 28 aktuálně), což znamená, že si pokaždé musíte zapamatovat a reprodukovat přesně ty příkazy, které chcete.

Budete potřebovat:

  • AutoVoice ($2.49)
  • Předplatné přirozeného jazyka AutoVoice (0,99 $ měsíčně)
  • Tasker ($2.99)
  • AutoWeb Beta
  • AutoCast Beta ($0.99)

Příprava

Než se pustíme do masa této skvělé integrace, musíme udělat nějaké přípravy, aby to fungovalo správně. K tomuto nastavení přistoupím po částech.

Část 1 – Nastavení funkce AutoVoice

O tom, jak nastavit AutoVoice s Google Home, jsem již dlouho psal, takže prosím viz můj předchozí článek zde. Jedinou změnou, kterou je třeba si uvědomit, je to, že již nepotřebujete beta verzi AutoVoice, protože integrace nyní funguje se stabilní aktualizací AutoVoice. Doporučuji také, abyste si přečetli krátký návod, jak nechat profil Tasker reagovat na příkaz AutoVoice, protože zde budeme dělat totéž. Podstatou je, že v tomto procesu nastavení budete dělat čtyři hlavní věci:

  1. Povolte službu AutoVoice v aplikaci Google Home.
  2. Nastavte si účet API.ai a získejte klíče API
  3. Přidejte tyto klíče API do nastavení přirozeného jazyka v AutoVoice
  4. Předplaťte si předplatitelskou službu AutoVoice Natural Language

Opět platí, že tyto kroky jsou mnohem podrobněji popsány v mém předchozím článku, takže vám doporučuji si jej přečíst.

Část 2 – Nastavení Google Voice

Potřebujeme způsob, jak získat přístup k vašim hlasovým schránkám Google Voice, aby Tasker mohl extrahovat obsah hlasové schránky. Způsob, jakým toho dosáhneme, je přeposlat všechny naše hlasové zprávy na váš propojený účet Gmail. Toto je nativní funkce Google Voice a vše, co musíte udělat, je přepnout jediné tlačítko v aplikaci Google Voice.

Jakmile to uděláte, začnou vám na váš e-mail chodit všechny nové hlasové zprávy. Jak vidíte, e-mail obsahuje jak přepis hlasové zprávy, tak i odkaz na skutečný zvuk hlasové schránky. Tento e-mail budeme používat pro naše účely.

Část 3 – Nastavení AutoWeb

Abychom mohli extrahovat obsah tohoto e-mailu, musíme k obsahu e-mailu přistupovat pomocí Gmail API. Učiníme tak pomocí aplikace AutoWeb, která byla propojena na začátku. Otevřete AutoWeb a klepněte na „Procházet webové služby“. Přejděte dolů na Gmail API a klepnutím na něj importujte. Po importu vás AutoWeb požádá o ověření účtu Gmail, který chcete použít s rozhraním API. Vybrat stejný účet Gmail, na který jsou přesměrovány hlasové zprávy.

Nyní jste propojili svůj telefon s účtem Gmail pomocí rozhraní Gmail API!

Část 4 – Nastavení AutoCast

Než budeme moci odeslat zvuk hlasové schránky na naši domovskou stránku Google, musíme nastavit AutoCast, aby se mohl připojit k domovské stránce Google. Otevřete AutoCast a vyberte „Spravovat zařízení Cast“. Udeř "+“ v horní liště a vyberte své zařízení Google Home.

Konečně jsme připraveni to skutečně nastavit.


Čtení vaší nejnovější hlasové schránky Google Voice na domovské stránce Google

AutoVoice

První věc, kterou budeme muset udělat, je vytvořit příkaz AutoVoice Natural Language. To je poměrně jednoduché.

  1. Otevřete AutoVoice
  2. Klepněte na Přirozený jazyk
  3. Klepněte na Příkazy
  4. Klepněte na + ikonu pro přidání nového příkazu
  5. Zadejte seznam hlasových příkazů oddělených čárkami obsahující tolik variant hlasového příkazu, o kterém si myslíte, že můžete mluvit, aby se tento příkaz spustil.
  6. U odpovědí můžete zadat tolik odpovědí (nebo žádnou), které chcete, aby vám domovská stránka Google přečetla, když tento příkaz vyslovíte.
  7. Až budete hotovi, pojmenujte tento příkaz. Tady bude fungovat cokoliv.

I když zadáváte spoustu variací příkazů a odpovědí, nemusíte se bát, že byste si tyto příkazy zapamatovali přesně tak, jak jsou napsány. API.ai automaticky analyzuje vše, co mluvíte, a pomocí svých algoritmů přirozeného jazyka přiřadí váš mluvený příkaz k jednomu z příkazů, které zde uvádíte.

Případně, pokud byste si chtěli stáhnout mé vlastní nastavení, můžete tak učinit na následujícím odkazu. Domnívám se, že prozatím, abyste jej mohli importovat, se budete muset přihlásit na API.ai a importovat jej tam.

Stáhněte si AutoVoice Natural Language Intent

Abych byl upřímný, skutečná část tohoto nastavení AutoVoice je poměrně jednoduchá, protože se v mluveném příkazu nezabýváme proměnnými/parametry nebo kontexty. Vlastní komplikovaná část pochází z další části, kde jsme nechali Tasker reagovat na tento příkaz AutoVoice Natural Language.

Tasker

Zde je krok za krokem průvodce tím, co děláme pro vytvoření tohoto profilu.

  1. Otevřete Tasker a stiskněte + ikonu pro vytvoření nového profilu.
  2. Přejděte na Událost --> Plugin --> AutoVoice --> Přirozený jazyk.
  3. Klepnutím na ikonu tužky otevřete konfigurační obrazovku AutoVoice.
  4. Stiskněte "Příkazy" a vyberte název příkazu, který jste vytvořili dříve.
  5. Stiskněte ikonu zaškrtnutí výše a poté stiskněte klávesu Zpět pro návrat na hlavní obrazovku Taskeru.
  6. Tasker vás požádá o vytvoření nového úkolu. Pokud chcete, můžete mu dát název, ale bez ohledu na to klikněte na ikonu zaškrtnutí a vytvořte nový úkol.

Jakmile se dostanete na obrazovku Úkoly, vytvoříme Úkol, který je zobrazen níže. Chcete-li vytvořit nové akce, klepněte na + ikona uprostřed dole. Pro všechny profesionály Taskeru zde můžete rozbalit přepínač níže a zobrazit profil a popis úkolu, který můžete sami sledovat.

Domů - Číst hlasovou schránku

 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 ]

Přečtěte si více

Níže uvedený podrobný průvodce vám ukáže, jak replikovat úlohu, zobrazenou na snímku obrazovky vpravo. Úkol je podstatou tohoto nastavení a je poměrně složitý. Funguje to tak, že jakmile je profil aktivován, prvních několik akcí (A2-A4) vyhledá a stáhne z vašeho Účet Gmail pro zprávy z [email protected], což je automatická e-mailová služba používaná společností Google Hlas. Poté hledáme záhlaví předmětu (A5-A7), abychom mohli získat informace o tom, kdo a kdy odeslal hlasovou zprávu. Dále extrahujeme tělo zprávy Gmail, které je zakódováno v base 64, takže musíme použít funkci Java (A8-A9). Poté, co načteme dekódovanou zprávu, hledáme adresu URL, která nás spojuje se zvukovým souborem hlasové schránky (A10-A11) a nakonec stáhneme soubor jako mp3 (A12). A13-A18 jednoduše vyhledá kontaktní informace, pokud existují, pro číslo, které opustilo hlasovou schránku. Nakonec A19-A21 přečte, kdo a kdy byla hlasová zpráva odeslána, a také nahraný zvuk hlasové schránky.

  1. Plugin --> AutoCast --> AutoCast Speak. Přístroj: vyberte si domovskou stránku Google. (Tady není potřeba žádný text, slouží pouze k připojení k domovské stránce Google.)
  2. Plugin --> AutoWeb. API: Gmail. Akce API: Seznam zpráv. ID uživatele: já. Vyhledávání: z: [email protected]. Maximální výsledky: 5. Výstup: Id.
  3. Úkol --> Počkejte. Počkejte 1 sekundu.
  4. Plugin --> AutoWeb. API: Gmail. Akce API: Získat zprávu. Formát: plný. ID uživatele: já. ID zprávy: %pomoc (1). Výstup: Údaje těla, název záhlaví užitečného zatížení, Hodnota záhlaví užitečného zatížení.
  5. Úkol --> Pro. proměnná: % záhlaví. Položky: 1:%payload_headers_name(#)
  6. Proměnné --> Sada proměnných. Název: %odkaz. Na: % záhlaví. Zkontrolujte If a nastavte na If %payload_headers_name(%headers) ~ Předmět.
  7. Úkol --> Konec pro.
  8. Kód --> Funkce Java. U třídy/objektu vyberte Základní 64. Funkce: dekódovat {byte[]} (řetězec, int). Parametr (řetězec): %bodydata (1). Parametr (int): 8. Vrátit se: dekódované tělo.
  9. Kód --> Funkce Java. U třídy/objektu vyberte Tětiva. Funkce: nový {String} (bajt[], řetězec). Parametr (byte[]): dekódované tělo. Parametr (řetězec): UTF-8. Vrátit se: %tělo.
  10. Proměnné --> Rozdělení proměnných. Název: %tělo. Splitter: https://www.google.com/voice/fm/
  11. Proměnné --> Rozdělení proměnných. Název: %body2. Splitter: >
  12. Net --> HTTP Get. Port serveru: https://www.google.com Cesta: /voice/fm/%body21 Typ mime: Zvuk/* Výstupní soubor: /sdcard/Tasker/voicemail.mp3
  13. Proměnné --> Sada proměnných. Název: %hlasová zpráva. Na: %payload_headers_value(%odkaz)
  14. Proměnné --> Rozdělení proměnných. Název: %hlasová zpráva. Splitter: z
  15. Proměnné --> Rozdělení proměnných. Název: %hlasová zpráva2. Splitter: na
  16. Telefon --> Test telefonu. Typ: Kontaktní jméno. Data: %hlasová zpráva21. Uložit výsledek v: %název. Nezapomeňte zkontrolovat pokračovat v úkolu po chybě.
  17. Proměnné --> Sada proměnných. Název: %hlasová zpráva. Na: %hlasová pošta1 od %name na %hlasová pošta22. Zkontrolujte, zda ve spodní části a nastavte jej na pokud %name je nastaveno.
  18. Proměnné --> Sada proměnných. Název: %hlasová zpráva. Na: %voicemail1 z %voicemail21 na %voicemail22. Zkontrolujte, zda ve spodní části a nastavte jej na pokud %name není nastaveno.
  19. Plugin --> AutoCast --> Mluvit. Přístroj: vyberte si domovskou stránku Google. Text: %hlasová zpráva
  20. Úkol --> Počkejte. Počkejte 5 sekund. Toto je a konfigurovatelné zpoždění abyste zajistili, že mezi oznámením nové hlasové schránky a přehráním zvuku hlasové schránky bude vždy dostatek času. Pokud je to příliš krátké, můžete tento čas prodloužit. Pohrajte si s touto hodnotou, abyste zjistili, co snižuje zpoždění na přijatelnou úroveň.
  21. Plugin --> AutoCast --> AutoCast. Zařízení Cast: znovu vyberte domovskou stránku Google. Vybrat média na celou obrazovku jako Obrazovka. Přejděte na prvky Média na celou obrazovku, poté na Zvuk a pro zvuk ("skladba k přehrání") vložte /sdcard/Tasker/voicemail.mp3. Vybrat Automatické přehrávání.

A je to! Nyní vše, co musíte udělat pro spuštění tohoto úkolu, je odeslat příkaz do vašeho zařízení Google Home. Můžete to udělat tak, že řeknete "Hej/OK Google, nech mě mluvit s AutoVoice“ a poté vyslovte jednu z variant vašeho příkazu, když vám AutoVoice řekne, abyste řekli svůj příkaz. Nebo můžete svůj příkaz vyslovit najednou tím, že řeknete „Hej/OK Google, požádej AutoVoice o [příkaz]“ Stejně jako jsem to udělal ve videu na začátku.


Stáhnout profil

Profil/úkol Tasker, který jsem vytvořil, si můžete stáhnout na níže uvedeném odkazu. Pokud se tak rozhodnete, ujistěte se, že zadáte a upravíte dvě akce „AutoCast“ tak, aby odkazovaly na vaše konkrétní zařízení Google Home. Také se ujistěte, že příkaz AutoVoice Natural Language uvedený v mém profilu je stejný jako ten, který jste vytvořili. Pokud ne, změňte profil tak, aby ukazoval na váš příkaz. Mělo by to trvat jen několik sekund.

Stáhněte si domovskou stránku – číst profil úlohy hlasové schránky

Jakmile si stáhnete výše uvedený soubor XML, uložte jej kdekoli na svém zařízení. Otevřete Tasker a v předvolbách deaktivujte režim pro začátečníky. Poté se vraťte na hlavní obrazovku a dlouze stiskněte na kartě Profily a klepněte na položku, dokud neuvidíte vyskakovací okno s možností „Importovat“. Stiskněte toto a přejděte na místo, kam jste uložili soubor .prf.xml, a vyberte jej pro import.

Doufám, že vám tento návod byl užitečný. Bavilo mě pohrávat si s API a Taskerem, dokud jsem nebyl schopen věci zprovoznit. Vím, že to není super elegantní, ale tohle je většinou ukázka toho, jak mocně můžete integrovat domovskou stránku Google s různými webovými službami a telefonem. Snad vás to inspiruje k vytvoření něčeho, o čem jste si dříve nemysleli, že je možné!