Use Azure Speech with Unity

在玩手遊時要進行打字聊天是很令人感到絕望的一件事,因此很常看到使用麥克風透過語音輸入文字的方式來與玩家進行聊天對話,今天就以 Microsoft Azure Speech 為例來實作看看。

邦哥不會寫程式
程式裡有蟲
4 min readJul 24, 2019

--

建立 Unity Project

樣板選擇 3D,接著選擇建立。

安裝 Azure Speech SDK

下載 SDK 包,開啟 Unity 編輯器,選擇 Assets → Import Package → Custom Package,選擇剛剛下載的 Microsoft.CognitiveServices.Speech.1.6.0.unitypackage 進行匯入。

所有檔案皆要選擇,按下 Import

新增場景 UI

在場景中,新增一個空物件,取名為 AzureSpeech,並在此物件下新增Button 與 Text,放在自己喜歡的位置。

新增程式碼

新增一個 Script,命名為 AzureSpeech,接著點擊二下編輯它,將內容替換為下列程式:

取得 Azure Speech API Key

在程式中,我們要輸入 Azure Speech API Key,Key 的建立可以從這裡申請,目前有三十天可以免費試用,定價方式可以參考這裡

將程式中的「 YourSubscriptionKey」替換成 API Key,「 YourServiceRegion」替換為申請的服務區域,若使用免費版本,則使用「 westus」。

免費版本到期後,記得將帳戶升級,並取得新的 API Key,並將服務區域替換為當初申請的區域,如果沒有替換,就算升級了,也是沒辦法使用的。

執行程式

將場景中的 AzureSpeech GameObject 新增 AzureSpeech Script,並將 Button 與 Text 代入。

來執行程式吧,點擊場景中的按鈕,接著再使用麥克風說幾句英文,就可以看到結果囉。

使用中文語音輸入

預設語系是英文,若要使用中文語音,需修改 config 程式碼將語系改為繁體中文-臺灣,支援的語系可參考這裡

參考來源

快速入門:使用適用於 Unity 的語音 SDK (搶鮮版 (Beta)) 來辨識語音

免費試用 Azure Speech 語音服務

Azure Speech 語音服務支援的區域

Azure Speech 語言和地區支援語音服務

Azure Speech 定價

Azure Samples

--

--