如何保存Powershell';当我使用命令行创建文本到语音的合成语音音频时,s输出到文件

如何保存Powershell';当我使用命令行创建文本到语音的合成语音音频时,s输出到文件,powershell,ssml,gtts,Powershell,Ssml,Gtts,请教我如何使Powershell自动将其tts输出保存到文本文件,因为我得到的只是一个长字符串,如下所示: { “音频内容”:“//nexaaq4oimabheudresizeqe7uehfmy8a……” 我必须处理1400多个文件:(怎么办? 还有没有办法上传长度超过5000个符号的文字? 也可以从HTML自动创建SSML吗 我已经完成了这篇文章中描述的所有内容。我仍然不太清楚你在这里的意思。你是说你有很多文本文件现在都有内容{“audioContent”:“/nexaaq4oimabheud

请教我如何使Powershell自动将其tts输出保存到文本文件,因为我得到的只是一个长字符串,如下所示:

{ “音频内容”:“//nexaaq4oimabheudresizeqe7uehfmy8a……”

我必须处理1400多个文件:(怎么办? 还有没有办法上传长度超过5000个符号的文字? 也可以从HTML自动创建SSML吗


我已经完成了这篇文章中描述的所有内容。我仍然不太清楚你在这里的意思。你是说你有很多文本文件现在都有内容
{“audioContent”:“/nexaaq4oimabheudresizeqe7uehfmy8a……….
,你需要用花括号之间的部分替换这些内容吗

如果是这样的话,你可以这样做

Get-ChildItem -Path 'ThePathToLookForTheFiles' -File | ForEach-Object {
    $_ | Set-Content -Value (($_ | Get-Content -Raw) -replace '^\{\s*"audioContent":\s*"([^}]+)\}', '$1')
}
对于任何新的文本文件,通过捕获
Invoke WebRequest
的结果并将
audioContent
属性保存到文本文件,从一位更改代码:

$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

$params = @{
    Method      = 'POST'
    Headers     = $headers
    ContentType = "application/json; charset=utf-8"
    InFile      = 'request.json'
    Uri         = "https://texttospeech.googleapis.com/v1/text:synthesize"
}

$content = Invoke-WebRequest @params | Select-Object -Expand Content
# save the textfile with just the base64 string:
Set-Content -Path 'TheFullPathAndFileName' -Value $content.audioContent

希望这对您有所帮助

正如您参考的文档所说,转换json并将
.audioContent
保存为文本文件。您是否建议手动将其保存1400次?请显示您的代码。有关详细信息,请按照我第一条消息中的链接“document”。该链接相同,格式良好。最后一步(PowerShell请求)is$cred=gcloud auth应用程序默认打印访问令牌$headers=@{“Authorization”=“Bearer$cred”}调用WebRequest`-Method POST`-headers$headers`-ContentType:“application/json;charset=utf-8”`-infle request.json`-Uri“|选择对象-展开内容,因此,您得到的对象有一个名为
audioContent
的属性,该属性包含需要保存到文本文件的base64。这里有什么问题?感谢帮助!不幸的是,调用WebRequest时出错:远程服务器返回错误:(403)禁止。行:1个字符:12+$content=Invoke WebRequest@params |选择对象-展开内容+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~类别信息:InvalidOperation:(System.Net.HttpWebRequest:HttpWebRequest)[Invoke WebRequest],WebException+FullyQualifiedErrorId:WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand@БМцциццццццццццц那么您的凭据。。