Converting Text to Speech with Azure Cognitive Service’s REST-Based API

人工智慧(AI)正在應用於越來越多的服務中。而其中一個應用便是把文字轉換為語音的領域。

文字轉換語音的軟體和服務已經存在了很長時間,但它總是以單調,過於機械和沒有情感的方式出現。透過使用AI,Microsoft構建了一個簡單且基於REST的API和一組語音SDK,以便於利用AI的強大功能,建立聽起來接近自然的人類合成語音。此文字轉換語音的服務內建於Azure的Cognitive Services產品套件中。

要開始免費使用文字轉語音的REST API, 轉到Microsoft的Try Cognitive Services頁面 ,單擊Speech API ,然後單擊Speech Services行中的Get API Key 。此連結將導向您獲取免費的API金鑰。

獲得API金鑰後,您將需要獲取身份驗證token。為此,我們需要知道要呼叫的端點。如果您是通過免費試用的方式獲得了API金鑰,則獲取Token連結將為https://westus.api.cognitive.microsoft.com/sts/v1.0/issuetoken

為了演示,我選擇使用PowerShell和AzTextToSpeech模組。 AzTextToSpeech模組可以輕鬆使用文字轉換為語言API,而無需進入雜草。首先,讓我們通過在管理員執行的PowerShell控制檯中執行Install-Module -Name AzTextToSpeech來下載AzTextToSpeech模組。

請注意,您將需要可以通過執行Install-Module Az安裝的Az.CognitiveServices PowerShell模組

安裝模組後,轉到C:\ Program Files \ WindowsPowerShell \ Modules \ AzTextToSpeech \ <Version> \ configuration.json並使用您喜歡的文字編輯器開啟它。在這個JSON檔案,您的Token端點新增到TokenEndpoint屬性與的SubscriptionRegion沿westus並關閉檔案。

現在,執行Save-ApiKey -Key <YourKeyHere>替換您在註冊免費試用版時收到的金鑰。 Save-ApiKey將儲存在configuration.json中加密的金鑰。此時,您已完成所有配置並準備好獲取令牌。

執行Connect-AzTextToSpeech 。這將查詢configuration.json,獲取一個令牌,然後將其儲存在當前會話中以用於所有API呼叫。您現在已準備好將文字轉換為語音。

將文字轉換為語音的命令是ConvertTo-Speech 。此命令至少需要四個不同的引數:

  • 文字:此引數將是將轉換為語音的文字
  • AudioOutput:這是將回傳的音訊型別。您可以通過按Tab鍵迴圈瀏覽所有可用選項。
  • VoiceAgent:認知服務有許多不同的聲音可供選擇。您也可以使用帶有此引數的Tab鍵迴圈顯示所有可用的音色。
  • OutputFile:這是在呈現語音後將建立的檔案的路徑

總而言之,呼叫命令的示例如下所示。請注意,我還使用可選的PassThru引數,該引數將回傳儲存的檔案,然後將該檔案傳送到Invoke-Item引數,該引數立即在我的媒體播放器中開啟它。

 PS> ConvertTo-Speech -Text 'Yay! I am in an Ipswitch article!' -AudioOutput 'audio-16khz-128kbitrate-mono-mp3' -VoiceAgent 'Guy24kRUS' -OutputFile 'C:\ipswitch.mp3' -PassThru | Invoke-Item

執行此命令後,您將擁有一個聽起來接近自然人聲的聲音!如果您想了解有關AzTextToSpeech PowerShell模組的更多資訊,請檢視GitHub儲存庫 。如果您想了解有關文字轉換語音的更多資訊,我建議您還可以檢視Microsoft文件

轉自IPSWITCH官方部落格