我正在尝试使用Azure Cognitive Services文本到语音REST API和Powershell处理纯文本文件以创建wav音频文件。我不明白如何执行此操作,而不是直接将内容(特别是在$Content
中)添加到脚本以及如何在此过程中使用自定义词典。我删除了部分脚本(auth)以简化。谢谢。
$AudioOutputType='audio-24khz-96kbitrate-mono-mp3'
$XSearchAppID='000000000000000000000'
$XSearchClientID='00000000000000000000000'
$UserAgent='PowerShellTextToSpeechApp'
$Header=@{ `
'Content-Type' = 'application/ssml+xml'; `
'X-Microsoft-OutputFormat' = $AudioOutputType; `
'X-Search-AppId' = $XSearchAppId; `
'X-Search-ClientId' = $XSearchClientId; `
'Authorization' = $AccessToken `
}
$Locale='es-MX'
$ServiceNameMapping='Microsoft Server Speech Text to Speech Voice (es-MX, DaliaNeural)'
$Content='\path\Test.txt'
$Body=''+$Content+''
$Endpoint= 'https://speech.platform.bing.com/synthesize'
$Method='POST'
$ContentType='application/ssml+xml'
$Filename='output.wav'
Invoke-RestMethod -Uri $Endpoint -Method $Method `
-Headers $Headers -ContentType $ContentType `
-Body $Body -UserAgent $UserAgent `
-OutFile $Filename
谢谢大家!
1条答案
按热度按时间0lvr5msh1#
我很难找到你正在使用的确切的API文档,但根据我在下面的Azure Cog中找到的内容。服务文档...
如何从文本中合成语音
Deploy and use your voice model
您可以将API REST请求的Body中需要的XML格式和文本文件内容拼接在一起。
尚未使用Azure认知文本到语音转换,因此这只是不知道您选择的API文档的最佳猜测。
**编辑:**我想我找到了。看起来这里是你得到你的文档的地方。
Windows PowerShell and the Text-to-Speech REST API (Part 3)
这是第4部分的XML内容。
Windows PowerShell and the Text-to-Speech REST API (Part 4)