Language:

HTC論壇

 找回密碼
 立即註冊
查看: 20756|回覆: 9
打印 上一主題 下一主題

[教程] 讓 Google Assistant 登陸 PC!

[複製鏈接]

17

主題

585

文章

5175

積分

3_專業鄉民

Rank: 3Rank: 3

積分
5175

專業踹共特派記者看熱鬧開發者論壇週年慶論壇九月慶HTC One系列HTC Desire系列HTC其他型號新手鄉民專業鄉民論壇兩週年勳章

跳轉到指定樓層
1#
發表於 2017-5-16 22:48 | 只看該作者 |只看大圖 回覆獎勵 |倒序瀏覽 |閱讀模式
Google 在這幾天釋出了 Google Assistant 的 SDK 供大家使用。
語言是 Python,可以在 Windows、macOS、Linux 上執行,當然,很多 geek 最喜歡的 Raspberry Pi 也行。
其實有心的話...任何語音助理都可以登陸PC XDD
左 Cortana,右上 Google Assistant,右中 Siri,中 Alexa。



今天來教大家怎麼在 Windows 上實做自己的...Google Home (偽)
先上個影片,實作起來大概就是這樣

別嫌它沒有好看的 GUI,畢竟這是給開發者玩的,後面我會教怎麼美化它,讓你看得順眼,又或者是讓你看不到它,而是在背景運行~
把它放在背景執行,加上語音喚醒,就是個 Google Home 了XD
電腦麥克風開到最大,拉開一段距離說 "Google" 也可以操作它

01.
首先,請先灌好 Python。
電腦是什麼位元就裝什麼位元
https://www.python.org/downloads/
當然是懶人安裝法,下一步下一步就安裝好了。

02.
打開CMD貼上下面指令後按下 enter,他就會開始跑 sdk 的安裝。


py -m pip install --upgrade google-assistant-sdk[samples]
耐心等他跑完~

03.
打開 Google Cloud Platform
https://console.cloud.google.com/cloud-resource-manager

點選上方的 CREATE PROJECT


專案名就隨你設,如 "My Google Assistant"。


等待右上方的圈圈轉完就是建立成功了。


04.
下面開始有些會借用xda上的圖
打開 Google Assistant API 頁面。
https://console.developers.google.com/apis/api/embeddedassistant.googleapis.com/overview

點選上方 Enable。


點選右方 Create credentials。


照著我圖中選。


Product name 也是隨你設,如 "My Google Assistant"。


按下 Continue 後,憑證就建立完成了。

點選 Done。


點選右方的下載圖示來下載等等會用到的憑證檔,記得下載到你找的到的位置。


05.
在電腦本機中找到你剛剛下載的憑證檔

在資料夾空白處按住 [shift] 加 [滑鼠右鍵]

在此處開啟開啟命令視窗


06.
下面開始借用xda上的圖

建議先把快速編輯模式給開起來



先貼上下面指令

py -m googlesamples.assistant.auth_helpers --client-secrets

--client-secrets 的後面加一個空格後貼上你憑證檔的檔名(包括副檔名 *.json) 後按下 enter。


把出現的網址複製起來貼上瀏覽器。


登入 Google 帳號 or 選擇帳號登入。

複製授權碼。


回到命令提示字元貼上,並按 enter。


看到 credentials saved 就是授權成功了。

此命令提示字元先不要關。

大功告成
可以開始玩 Google Assistant 囉 !

複製以下並貼在命令提示字元中

py -m googlesamples.assistant
你會看到
Press Enter to send a new request...
按下 Enter 或任何鍵後會變成
INFO:root:Recording audio request.
此時你就可以開始跟 Google Assistant 對談了。

BTW,這個是 偽 Google Home,所以 Home 能用的功能,手機卻不能用的功能,他都可以使用,比如說....叫 Uber....

附上目前 Google Home 可以玩的服務
http://www.androidpolice.com/2017/04/19/apps-services-will-work-google-home-continuously-updated/

有幾個額外的指令大家也可以玩玩看
1. 把先錄好的聲音匯入,讓 Google Assistant 去回答

py -m googlesamples.assistant -i in.wav


2. 把 Google Assistant 的回答輸出成音檔
py -m googlesamples.assistant -o out.wav

每一次都要按按鍵觸發,不像手機或 Google Home 都有 'OK Google'
這真的很麻煩,所以...xda神老外又出手了
想要可以語音觸發的話
01.
安裝 AutoVoice 的 Chrome 擴充功能。
https://chrome.google.com/webstore/detail/autovoice/mefllcpfdfhohmeadieejdjcdcbibeml?utm_source=chrome-app-launcher-info-dialog


02.

進到 AutoVoice 的設定裡。
把上方 Always Listening 勾起來。
Google Assistant Integration 的地方
空格中輸入你要喚醒 Google Assistant 的關鍵字

當然你要用 'Hey Siri'...我也是沒意見啦 XD
下方 Play a sound to confirm that you woke up Google Assistant 也勾起來,這是提示你可以開始說話的提示音。


03.
隨便開啟一個命令提示字元,用剛剛沒關的也行。

複製以下命令並貼上後按 enter。

<span style="box-sizing: inherit;">py -c "from distutils.sysconfig import get_python_lib; from urllib.request import urlretrieve; urlretrieve('</span><a href="https://joaoapps.com/AutoApps/Help/Info/com.joaomgcd.autovoice/googleassistant/__main__.py" target="_blank" rel="nofollow" style="box-sizing: inherit; cursor: pointer; word-break: break-all;">https://joaoapps.com/AutoApps/He ... y</a><span style="box-sizing: inherit;">', get_python_lib() + '/googlesamples/assistant/__main__.py')"</span>

好了,你可以用你自訂的喚醒關鍵字來傳喚 Google Assistant 了。

然後,關於 AutoVoice 的 Hotword 喚醒提示音,我個人覺得太大聲造成很刺耳,所以我自己修改了提示音的音量,這個要到 Chrome 插件的資料中改
路徑為
C:\Users\你的使用者名\AppData\Local\Google\Chrome\User Data\Default\Extensions\mefllcpfdfhohmeadieejdjcdcbibeml\1.0.14_0

這個資料夾底下你會看到 listening.mp3,這個就是提示音檔,把它複製出來一份,透過軟體把它降音量再拉進去資料夾中,在原本的正常音量提示音檔副檔名 *.mp3後面加上 .BAK作為備份。

你可以下載我降兩次音量的檔,我個人覺得這個音量已經不錯了
https://goo.gl/I7gtCQ
你要用你自己的音檔作為提示音也是可以,檔名要是listening就對了

小小附註一下,如果有使用語音喚醒的人,是不能透過手動輸入 Enter 或任何鍵來觸發 Google Assistant,只能用你設定的關鍵字,如果要手動觸發
可以在瀏覽器輸入
http://localhost:6006/wakeup

http://127.0.0.1:6006/wakeup
來觸發 Google Assistant
把這個網頁加進書籤,用Bookmark Favicon Changer這個Chrome擴充來改 icon,就會像我下面這樣



若不想每次要使用 Google Assistant 都要輸入一大串指令的話
開一個記事本
py -m googlesamples.assistant 貼上後儲存
把副檔名從 *.txt 改成 *.bat 或 *.cmd,就能像我上面那個影片一樣雙點開啟 Google Assistant !


如果你是照我的方式把指令變成可執行的檔案,那你的檔案圖示會是下面這個醜醜的批次圖示


先把這個檔案給收到你平常不會用到的資料夾中,然後右鍵按著,拖拉該批次擋到桌面上,會出現視窗,請選擇 [在此建立捷徑]
它就會建立好一個 Google Assistant 的捷徑,但圖示還是醜的
請下載這個我弄好的 *.ico 檔,下載後放到圖片資料夾中
https://goo.gl/2757tC


在該批次檔捷徑上按右鍵→內容



變更圖示


瀏覽


找到剛剛下載的 *.ico 檔後開啟


按確定就改完了



我建議執行視窗可以讓它最小化
這對有人設置開機自啟動以及用語音喚醒非常有幫助


它開啟時就會自動縮小到工作列



也可以設定快速鍵,我自己設定 ctrl+shift+A (Assistant)



再來,你可以把該捷徑放到以下路徑底下
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
你就可以從開始目錄去存取它



在上面我們做了幾項"加工"...
1. 將指令轉成 *.bat 或 *.cmd
2. Hotword 喚醒
3. 更改 icon
4. 自動縮到工作列

這些都是為了讓我們在使用上更直覺方便也更美觀
但還不夠,如果能讓 Google Assistant 跟著 Windows 一起啟動,而且不會出現在工作列佔位置,會乖乖的跟許多程式一起待在 System Tray 當中,那才是最棒的,就像下圖


01.
來讓 Google Assistant 跟著 Windows 一起啟動吧
按住鍵盤 Win key + R,會跳出執行窗格,請輸入
  1. shell:startup
複製代碼
後按下確定



把更改過 icon 的 Google Assistant 捷徑放進啟動資料夾內,它就會跟著 Windows 一起啟動了


02.
要 Google Assistant 啟動時自動縮進 System Tray 當中,必須安裝 EventGhost

點選上方 Add Plugins...。


拉到最下方找到 Task Create/Switch Events,並按 OK。


點選上方 Add Macro...


在 Window 底下找到 Minimize to Tray,並按 OK。


右方窗格將會看到 Minimize to Tray 的 Macro。


在 Minimize to Tray 上按右鍵,點選 Add Action...。


在 Window 底下找到 Find a window,並按 OK。


若你背景有執行 Google Assistant 的話先將它關閉,再打開。
你會在我圖中框起來的地方找到 Google Assistant 的 CMD 程序,如果你有更改 icon,那更好找。該程序會有兩層,父層是cmd.exe,把父層點開會是我們需要的。


點開父層,再點子層,顯示的畫面會像我框起來那樣,Window Name 可能會不一樣,看你捷徑名取什麼,我是取 Google Home,所以顯示 Google Home。
沒問題後按 OK。


因為剛剛有執行過 Google Assistant 那個捷徑,所以在左方窗格應該找的到圖示為閃電的 Task.NewWindow.cmd。
把他從左方窗格直接拖到右方窗格的 Minimize to Tray 底下。
排列順序一定要是:
Task.NewWindow.cmd > Find window.cmd > Minimize to Tray。


大功告成~ 你可以重開機試試看有沒有成功。
(EventGhost 本身也要開機自啟動,在EventGhost 的設定中可勾選)

現在你已經擁有如假包換的 Google Home 了XD

有人要分享塞進 Raspberry Pi 嗎?
MagPi 要開始賣簡易型 Google Home 了哦XD


分享到這邊~感謝大家



本文章最後由( jce12356 )於 2017-5-16 23:05 編輯

評分

參與人數 1經驗值 +1 收起 理由
7c141b0b-2497-4e6c-980f-93abbee17264 + 1

查看全部評分

Meet your Google Assistant.
回覆

使用道具 檢舉

79

主題

315

文章

2411

積分

2_新手鄉民

Rank: 2

積分
2411

開發者HTC其他型號新手鄉民論壇兩週年勳章論壇三週年勳章

2#
發表於 2017-5-16 22:56 | 只看該作者
後面空格好多               
感謝分享~~                                          
~HTC論壇進擊三週年~我要用HTC10狂嗨我的每一天
回覆 支持 反對

使用道具 檢舉

17

主題

585

文章

5175

積分

3_專業鄉民

Rank: 3Rank: 3

積分
5175

專業踹共特派記者看熱鬧開發者論壇週年慶論壇九月慶HTC One系列HTC Desire系列HTC其他型號新手鄉民專業鄉民論壇兩週年勳章

3#
發表於 2017-5-16 23:02 | 只看該作者
ruby32157 發表於 2017-5-16 22:56
後面空格好多               
感謝分享~~

哈哈哈因為我這篇本來是發在 Dcard上,我轉到這裡來,所以版面都要重調。
Meet your Google Assistant.
回覆 支持 反對

使用道具 檢舉

41

主題

1499

文章

7459

積分

4_模範鄉民

Rank: 4

積分
7459

專業踹共特派記者看熱鬧消息包打聽論壇週年慶論壇三月慶論壇九月慶HTC One系列HTC其他型號新手鄉民專業鄉民模範鄉民論壇兩週年勳章論壇三週年勳章論壇四週年勳章

4#
發表於 2017-5-17 08:33 | 只看該作者
大大這樣詳細的介紹不玩玩怎麼對得起良心呢
強4登場 HTC論壇四週年‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★*
回覆 支持 反對

使用道具 檢舉

0

主題

1

文章

2

積分

1_路過旅人

Rank: 1

積分
2
5#
發表於 2018-7-15 15:41 | 只看該作者
在第6步輸入py -m googlesamples.assistant.auth_helpers --client-secrets時,會出現No module named googlesamples.assistant.auth_helpers,求解?
回覆 支持 反對

使用道具 檢舉

63

主題

2740

文章

4萬

積分

6_資深大大

Rank: 8Rank: 8

積分
40540

專業踹共特派記者看熱鬧消息包打聽論壇週年慶論壇半年慶論壇九月慶HTC其他型號新手鄉民專業鄉民模範鄉民新秀大大資深大大論壇兩週年勳章論壇三週年勳章論壇四週年勳章

6#
發表於 2018-7-16 04:03 | 只看該作者
感謝分享!
要花ˋ時間來玩玩!
話說好久沒玩這種的了~

強4登場 HTC論壇四週年‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★*
回覆 支持 反對

使用道具 檢舉

19

主題

1232

文章

6197

積分

4_模範鄉民

Rank: 4

積分
6197

專業踹共特派記者看熱鬧消息包打聽論壇週年慶論壇九月慶HTC One系列HTC Desire系列HTC其他型號新手鄉民專業鄉民模範鄉民論壇兩週年勳章論壇三週年勳章論壇四週年勳章

7#
發表於 2018-7-16 13:35 | 只看該作者
看來樓主是位專業的開發者,介紹的很詳細,謝謝分享.
強4登場 HTC論壇四週年‧★,:*:‧\( ̄▽ ̄)/‧:*‧°★*
回覆 支持 反對

使用道具 檢舉

0

主題

1

文章

2

積分

1_路過旅人

Rank: 1

積分
2
8#
發表於 2018-11-6 21:14 | 只看該作者
回覆第五樓

網上找了一些資料後確定 新版語法有改
這段要改成:
google-oauthlib-tool --client-secrets 憑證路徑 --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
本文章最後由( keroro686 )於 2018-11-6 21:16 編輯

回覆 支持 反對

使用道具 檢舉

0

主題

1

文章

2

積分

1_路過旅人

Rank: 1

積分
2
9#
發表於 2018-11-10 20:25 | 只看該作者
keroro686 發表於 2018-11-6 21:14
回覆第五樓

網上找了一些資料後確定 新版語法有改

輸入google-oauthlib-tool --client-secrets 憑證路徑 --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless時,會出Error: Got unexpected extra arguments (Google Assistant\憑證),求解?
回覆 支持 反對

使用道具 檢舉

0

主題

1

文章

2

積分

1_路過旅人

Rank: 1

積分
2
10#
發表於 2019-3-18 01:27 | 只看該作者
honkaii 發表於 2018-7-15 15:41
在第6步輸入py -m googlesamples.assistant.auth_helpers --client-secrets時,會出現No module ...

先輸入
py -m pip install --upgrade google-auth-oauthlib[tool]
把他enter
輸入
py -m google_auth_oauthlib.tool --client-secrets C:\下載憑證的位置 --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
在enter就解決啦~~~


回覆 支持 反對

使用道具 檢舉

您需要登入後才可以回覆 登入 | 立即註冊

本版積分規則

HTC community

GMT+8, 2024-11-21 01:29 , Processed in 0.141094 second(s), 29 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回覆 返回頂部 返回列表