在上一篇([31]Custom Vision Train好的Model匯出離線和給app使用)介紹完了把Custom Vision的Model匯出并且用Docker File版本讓他本地執行之後,在Cognitive Service裡面的圖片相關就介紹到一個段落。
在接下來的篇幅將來介紹另外一種常見的輸入方式,也就是透過語音的方式。任何科幻電影的指令輸入模式都是語音,例如《鋼鐵人》裡面的助理系統Jarvis,想象一下如果可以用説的就讓電腦做事有多方便。
這邊就來看看Cognitive Service裡面對於語音這塊處理有什麽幫助。
Cognitive Service在語音上面提供了什麽服務?
Cognitive Service在語音這塊有幾個主要服務:
- Speech Service - 官方文件、服務首頁
- Translator Speech Api - 官方文件
- Custom Speech Service - 官方文件、服務首頁
- Speaker Recognition - 官方文件、服務首頁
語音轉文字+翻譯相關的服務是Cognitive Service裡面個人覺得最亂的一個服務。感覺微軟有要統一變成一個服務,但是還在進行中,因此比較混論。
這裡面Speech Service和Translator Speech Api提供差不多的服務:
- 語音轉文字
- 文字轉語音
- 語音轉文字+翻譯
理論上Speech Service是一個整合所有語音相關服務的統一api,因此兩邊的engine應該應該,但是實際使用起來,個人經驗是Translator Speech Api比較準確。所以,雖然Speech Service看起來是未來的走向, 并且SDK比較完整,但是接下來的demo程式會使用Translator Speech Api
Custom Speech Service是一個很有意思的服務,允許透過訓練的方式建立出一個比較符合使用者説話方式的Model達到識別率非常高。白話一點來説,假設今天要識別的是一些講話有口音的使用者,用預設的服務可能識別率不高,但是 透過使用這個服務,可以自己訓練符合口音的Model達到識別率提高。
Speaker Recognition這個服務可以用來識別語音裡面是那個人在説話。
測試語音服務
可以直接到服務介紹的頁面測試一些服務功能,這邊介紹兩個:
- 測試語音轉文字
- 測試定制化服務功能
測試語音轉文字
在官網的部分有一些demo可以玩玩看,語音轉文字就是一個不錯的測試。
可以到:https://azure.microsoft.com/zh-tw/services/cognitive-services/speech-to-text/,然後:
- 可以先切換語言 - 這邊換成了
Chinese (cn)
- 如果您想要錄自己的聲音可以用
開始錄製
- 也可以直接點某個範例
- 識別出來的文字會在輸入框裡面出現
測試定制化服務功能
在測試頁面下面一點有一個定制化功能可以測試,從這邊可以看到,左邊是用一般服務識別的結果,以及右邊有經過定制化訓練的Model識別結果。左邊識別率已經很高了,但是還是有些錯誤。右邊則準確很多:
結語
這篇非常快速的介紹了Cognitive Service裡面和語音處理有關的服務,并且使用服務首頁的範例看了一下使用的結果。相信這篇看完對於有什麽武器可以使用就有了基本的概念。
在chatbot裡面可以整合的服務會是:
- 語音轉文字 - 用説的下指令
- 語音轉文字 + 翻譯 - 說中文轉成英文 - 方便不會英文的人在國外也能夠使用
因此,下一篇([33]C#使用Translator Speech API服務達到語音轉文字加翻譯)先用Console的方式瞭解如何在非chatbot情況下如何使用語音服務。