이것은 Google Home 장치가 Tasker, AutoWeb 및 AutoVoice를 사용하여 Google Voice의 최신 음성 메일을 읽도록 하는 방법을 보여주는 튜토리얼입니다.
Google Home이 처음 출시되었을 때 많은 기능이 부족했습니다. 캘린더 이벤트를 설정하고, 문자 메시지를 읽고, 할 일 목록을 만드는 등의 방법은 아직 없습니다. 그러나 용기가 있다면 다음 기능을 거의 모두 스스로 구현할 수 있습니다. 자동 음성 그리고 태스커. Google Home과 AutoVoice를 사용하여 얼마나 창의력을 발휘할 수 있는지 보여드리기 위해 Google Home을 사용하는 방법을 알려 드리겠습니다. 최신 Google 보이스 음성메일을 읽어보세요. 지금 당장은 흑마술처럼 보일 수도 있지만, 이 튜토리얼이 끝나면 모든 것이 이해될 것입니다.
AutoVoice를 사용하면 Google Home 장치에서 음성 명령을 휴대폰으로 보낸 다음 이러한 명령을 해석하고 Tasker를 통해 일부 작업을 수행할 수 있습니다. 가장 좋은 점은 다음과 같은 기능 덕분에 자연어 명령을 휴대폰으로 보낼 수 있다는 것입니다. API.ai, AutoVoice 월 $0.99 구독 서비스에 가입하여 API.ai 서버 호스팅 비용을 상쇄하는 경우. 즉, Google Home에 말할 때 로봇처럼/정확하게 말할 필요가 없으며 AutoVoice는 전송하려는 명령을 계속 인식합니다.
한동안 AutoVoice와 Google Home의 통합은 베타 버전이었지만 AutoVoice 3.0 출시 Tasker 플러그인의 모든 사용자가 Google Home 통합을 즐길 수 있습니다. 이제 AutoVoice가 사용자에게 널리 제공되고 문제가 대부분 해결되었으므로 AutoVoice 및 Tasker를 사용하여 만든 몇 가지 기능을 소개하기 시작하겠습니다. 최신 Google 보이스 음성 메일을 읽는 나의 첫 번째 Google 홈 튜토리얼은 나에게 가장 복잡합니다. 공유하지만 Tasker로 할 수 있는 작업은 사용자에 의해서만 제한된다는 점을 보여주는 좋은 후보입니다. 상상력.
Google Home에서 최근 음성메일을 듣고 있습니다.
추천 자료: 우리의 글을 확인해 보세요 이전 튜토리얼, 여기서는 다른 사람들이 거의 접근하지 못한 일반적인 문제를 해결하는 방법을 보여줍니다.
요구사항
AutoVoice는 이 프로젝트가 작동하는 데 필요한 소프트 요구 사항입니다. IFTTT를 사용하여 작업을 트리거할 수 있지만 이를 위해서는 다음과 같은 다른 애플리케이션과 관련된 해결 방법을 사용해야 합니다. 가입하다 또는 푸시불릿 IFTTT는 Tasker와 직접 통합되지 않으므로 Tasker에 명령을 보냅니다. 또한 AutoVoice를 사용하지 않을 때 가장 중요한 주의 사항은 IFTTT를 사용할 경우 음성 명령이 유연하지 않다는 것입니다. 즉, 매번 명령을 완전히 정확하게 말해야 합니다. 그렇지 않으면 명령이 실행되지 않습니다. 만약 당신이 수많은 Tasker/Google Home 통합을 만들기 시작한다면 그것은 미래에 문제가 될 수 있습니다. 현재 28개), 이는 매번 원하는 명령을 정확히 기억하고 재현해야 함을 의미합니다.
필요할 것이예요:
- 자동 음성 ($2.49)
- AutoVoice 자연어 구독($0.99/월)
- 태스커 ($2.99)
- 오토웹 베타
- 자동캐스트 베타 ($0.99)
준비
이 멋진 통합에 들어가기 전에 이것이 제대로 작동하도록 몇 가지 준비를 해야 합니다. 이 설정에 대해서는 부분적으로 접근하겠습니다.
1부 - AutoVoice 설정
Google Home에서 AutoVoice를 설정하는 방법에 대해서는 이미 길게 글을 썼으니 꼭 부탁드립니다. 여기 내 이전 기사를 참조하세요.. 실제로 주목해야 할 유일한 변경 사항은 이제 통합이 AutoVoice 안정 업데이트와 함께 작동하므로 더 이상 AutoVoice 베타가 필요하지 않다는 것입니다. 또한 Tasker 프로필이 AutoVoice 명령에 반응하도록 만드는 방법에 대한 간단한 튜토리얼을 읽어보는 것이 좋습니다. 여기서도 동일한 작업을 수행할 것이기 때문입니다. 요점은 이 설정 프로세스에서 수행할 네 가지 주요 작업이 있다는 것입니다.
- Google Home 앱에서 AutoVoice 서비스를 활성화하세요.
- API.ai 계정을 설정하고 API 키를 받으세요
- AutoVoice의 자연어 설정에 이러한 API 키를 추가하세요.
- AutoVoice Natural Language 구독 서비스를 구독하세요
다시 한 번 말씀드리지만, 이러한 단계는 이전 기사에서 훨씬 더 자세히 설명되어 있으므로 끝까지 읽어 보시기 바랍니다.
2부 - Google 보이스 설정
Tasker가 음성 메일 콘텐츠를 추출할 수 있도록 Google 보이스 음성 메일에 액세스할 수 있는 방법이 필요합니다. 이를 달성하는 방법은 모든 음성 메일을 연결된 Gmail 계정으로 전달하는 것입니다. 이는 Google Voice의 기본 기능이며 Google Voice 앱에서 버튼 하나만 전환하면 됩니다.
이 작업을 완료하면 이메일로 새로운 음성 메일을 모두 받기 시작합니다. 보시다시피, 이메일에는 음성 메일의 내용과 음성 메일의 실제 오디오에 대한 링크가 모두 포함되어 있습니다. 우리는 이 이메일을 우리의 목적을 위해 사용할 것입니다.
3부 - AutoWeb 설정
이 이메일의 내용을 추출하려면 다음을 사용하여 이메일 내용에 액세스해야 합니다. 지메일 API. 처음 부분에 연결된 AutoWeb 응용 프로그램을 사용하여 이를 수행하겠습니다. AutoWeb을 열고 "웹 서비스 찾아보기"를 탭하세요. Gmail API까지 아래로 스크롤한 후 탭하여 가져옵니다. 가져온 후 AutoWeb은 API와 함께 사용하려는 Gmail 계정을 인증하라는 메시지를 표시합니다. 선택 음성 메일이 전달되는 동일한 Gmail 계정.
이제 Gmail API를 사용하여 휴대폰을 Gmail 계정에 연결했습니다!
4부 - AutoCast 설정
음성 메일 오디오를 Google Home으로 보내기 전에 Google Home에 연결할 수 있도록 AutoCast를 설정해야 합니다. AutoCast를 열고 'Cast 기기 관리'를 선택하세요. 을 치다 "+상단 표시줄에 있는 ' 아이콘을 클릭하고 Google Home 기기를 선택하세요.
마지막으로 실제로 이 설정을 수행할 준비가 되었습니다.
Google Home에서 최신 Google Voice 음성메일 읽기
자동 음성
가장 먼저 해야 할 일은 AutoVoice Natural Language 명령을 만드는 것입니다. 이것은 매우 간단합니다.
- AutoVoice 열기
- 자연어를 탭하세요
- 명령을 탭하세요
- 다음을 탭하세요. + 새 명령을 추가하는 아이콘
- 이 명령을 실행하기 위해 말할 수 있다고 생각되는 다양한 음성 명령 변형이 포함된 음성 명령 목록을 쉼표로 구분하여 입력하세요.
- 응답의 경우 이 명령을 말할 때 Google Home이 다시 읽어주기를 원하는 만큼 응답을 입력하거나 입력하지 않을 수 있습니다.
- 완료되면 이 명령에 이름을 지정하십시오. 여기서는 무엇이든 작동합니다.
여러 가지 변형된 명령과 응답을 입력하더라도 이러한 명령을 쓰여진 대로 정확하게 말하는 것을 기억하는 것에 대해 걱정할 필요가 없습니다. API.ai는 사용자가 말하는 모든 내용을 자동으로 구문 분석하고 자연어 알고리즘을 사용하여 음성 명령을 여기에 나열된 명령 중 하나와 일치시킵니다.
또는 나만의 설정을 다운로드하려면 다음 링크에서 다운로드할 수 있습니다. 지금은 가져오려면 API.ai에 로그인하여 가져와야 한다고 생각합니다.
AutoVoice 자연어 의도 다운로드
솔직히 말해서 이 설정의 실제 AutoVoice 부분은 음성 명령의 변수/매개변수 또는 컨텍스트를 다루지 않기 때문에 매우 간단합니다. 실제 복잡한 부분은 Tasker가 이 AutoVoice Natural Language 명령에 반응하도록 하는 다음 부분에서 나옵니다.
태스커
다음은 이 프로필을 만들기 위해 수행하는 작업에 대한 단계별 가이드입니다.
- Tasker를 열고 + 아이콘을 클릭해 새 프로필을 만드세요.
- 이벤트 --> 플러그인 --> AutoVoice --> 자연 언어로 이동합니다.
- 연필 아이콘을 탭하여 AutoVoice 구성 화면을 엽니다.
- "명령"을 누르고 이전에 생성한 명령 이름을 선택합니다.
- 위의 확인 표시 아이콘을 누른 다음 뒤로 키를 눌러 Tasker의 기본 화면으로 돌아갑니다.
- 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)를 찾아 음성 메일을 보낸 사람과 시기에 대한 정보를 얻을 수 있습니다. 다음으로 Base 64로 인코딩된 Gmail 메시지의 메시지 본문을 추출하므로 Java 기능(A8-A9)을 사용해야 합니다. 디코딩된 메시지를 검색한 후 음성 메일 오디오 파일(A10-A11)에 연결되는 URL을 찾고 마지막으로 파일을 mp3(A12)로 다운로드합니다. A13-A18은 음성 메일을 남긴 번호에 대한 연락처 정보(있는 경우)를 조회합니다. 마지막으로 A19-A21은 녹음된 음성 메일 오디오뿐만 아니라 누구로부터 언제 음성 메일을 보냈는지 읽어냅니다.
- 플러그인 --> AutoCast --> AutoCast 말하기. 장치: Google Home을 선택하세요. (여기에는 텍스트가 필요하지 않습니다. Google Home에 연결하기 위한 것뿐입니다.)
- 플러그인 -> AutoWeb. API: 지메일. API 작업: 메시지를 나열합니다. 사용자 ID: 나. 찾다: 보낸 사람: [email protected]. 최대 결과: 5. 산출: ID.
- 작업 --> 잠깐만요. 1초만 기다리세요.
- 플러그인 -> AutoWeb. API: 지메일. API 작업: 메시지 가져오기. 형식: 전체. 사용자 ID: 나. 메시지 ID: %지원 (1). 산출: 본문 데이터, 페이로드 헤더 이름, 그리고 페이로드 헤더 값.
- 작업 --> 대상. 변하기 쉬운: %헤더. 품목: 1:%payload_headers_name(#)
- 변수 -> 변수 집합. 이름: %참조. 에게: %헤더. If를 확인하고 If로 설정합니다. %payload_headers_name(%headers) ~ 제목.
- 작업 --> 종료 대상.
- 코드--> Java 함수. 클래스/객체의 경우 다음을 선택합니다. Base64. 기능: {byte[]} 디코드(문자열, 정수). 매개변수(문자열): %신체데이터(1). 매개변수(정수): 8. 반품: 해독된 몸.
- 코드 --> Java 함수. 클래스/객체의 경우 다음을 선택합니다. 끈. 기능: 새로운 {문자열} (바이트[], 문자열). 매개변수(바이트[]): 해독된 몸. 매개변수(문자열): UTF-8. 반품: %몸.
- 변수 -> 변수 분할. 이름: %몸. 쪼개는 도구: https://www.google.com/voice/fm/
- 변수 -> 변수 분할. 이름: %body2. 쪼개는 도구: >
- 넷 -> HTTP 가져오기. 서버 포트: https://www.google.com 길: /voice/fm/%body21 마임 유형: 오디오/* 결과물 파일: /sdcard/Tasker/voicemail.mp3
- 변수 -> 변수 세트. 이름: %음성메일. 에게: %payload_headers_value(%참조)
- 변수 -> 변수 분할. 이름: %음성메일. 쪼개는 도구: ~에서
- 변수 -> 변수 분할. 이름: %음성메일2. 쪼개는 도구: ~에
- 전화 --> 테스트 전화. 유형: 담당자 이름. 데이터: %음성메일21. 결과 저장 위치: %이름. 꼭 확인하세요 오류 후 작업을 계속합니다.
- 변수 -> 변수 세트. 이름: %음성메일. 에게: %voicemail22에 있는 %name의 %voicemail1. 하단의 if를 확인하고 if로 설정하세요. %이름이 설정되었습니다.
- 변수 -> 변수 세트. 이름: %음성메일. 에게: %voicemail22에 있는 %voicemail21의 %voicemail1. 하단의 if를 확인하고 if로 설정하세요. %name이 설정되지 않았습니다.
- 플러그인 --> AutoCast --> 말하기. 장치: Google Home을 골라주세요. 텍스트: %음성메일
- 작업 --> 잠깐만요. 기다리다 5 초. 이것은 구성 가능한 지연 새 음성 메일 안내와 음성 메일 오디오 재생 사이에 항상 충분한 시간이 있도록 합니다. 너무 짧다면 시간을 늘려도 됩니다. 하지만 이 값을 사용해 보면서 지연을 허용 가능한 수준으로 줄이는 것이 무엇인지 확인하십시오.
- 플러그인 --> AutoCast --> AutoCast. 전송 장치: Google Home을 다시 선택하세요. 선택하다 전체 화면 미디어 화면으로. 전체 화면 미디어 요소로 이동한 다음 오디오로 이동하고 오디오("재생할 노래")를 입력하세요. /sdcard/Tasker/voicemail.mp3. 선택하다 자동 재생.
그게 다야! 이제 이 작업을 실행하기 위해 해야 할 일은 Google Home 장치에 명령을 보내는 것뿐입니다. "라고 말하시면 됩니다.Hey/OK Google, AutoVoice에 연결해 줘"라고 말한 다음 AutoVoice에서 명령을 말하라고 하면 명령 변형 중 하나를 말합니다. 또는 "라고 말하여 명령을 한 번에 말할 수도 있습니다.안녕/오케이 구글, AutoVoice에게 [명령어]를 하라고 요청해" 처음에 보여드린 영상에서 했던 것처럼요.
프로필 다운로드
제가 만든 Tasker 프로필/작업은 아래 링크에서 다운로드 받으실 수 있습니다. 그렇게 하기로 선택한 경우 특정 Google Home 장치를 참조하도록 두 개의 "AutoCast" 작업을 수정해야 합니다. 그리고, 내 프로필에 이름이 기재되어 있는 AutoVoice Natural Language Command가 자신이 만든 것과 같은지 확인해주세요. 그렇지 않은 경우 프로필을 변경하여 명령을 가리키십시오. 몇 초 밖에 걸리지 않습니다.
홈 다운로드 - 음성 메일 작업자 프로필 읽기
위의 XML 파일을 다운로드한 후 기기의 어느 곳에나 저장하세요. Tasker를 열고 환경 설정에서 초보자 모드를 비활성화하십시오. 그런 다음 메인 화면으로 돌아가서 "가져오기" 옵션이 포함된 팝업 상자가 나타날 때까지 프로필 탭을 길게 누르세요. 이를 누르고 .prf.xml 파일을 저장한 위치로 이동한 후 선택하여 가져옵니다.
이 튜토리얼이 도움이 되었기를 바랍니다. 나는 일이 제대로 작동할 수 있을 때까지 API와 Tasker를 조작하는 것을 즐겼습니다. 매우 우아하지는 않지만 Google Home을 다양한 웹 서비스 및 휴대폰과 얼마나 강력하게 통합할 수 있는지 보여주는 쇼케이스입니다. 이것이 이전에는 불가능하다고 생각했던 것을 창조할 수 있는 영감을 주기를 바랍니다!