请教我如何让 Powershell 自动将其 tts 输出保存到 TEXT 文件,因为我得到的只是一个像这样的长字符串:
{ "audioContent": "//NExAAQ4oIMABhEuDRESizqE7uehfMY8A............
我必须处理超过 1400 个文件 :( 怎么办?还有上传超过 5000 个符号的文本的方法吗?也可以从 HTML 自动创建 SSML 吗?
我已按照本文档中的说明制作了所有内容
请教我如何让 Powershell 自动将其 tts 输出保存到 TEXT 文件,因为我得到的只是一个像这样的长字符串:
{ "audioContent": "//NExAAQ4oIMABhEuDRESizqE7uehfMY8A............
我必须处理超过 1400 个文件 :( 怎么办?还有上传超过 5000 个符号的文本的方法吗?也可以从 HTML 自动创建 SSML 吗?
我已按照本文档中的说明制作了所有内容
我仍然不太清楚你的意思。你是说你有很多文本文件现在有内容{ "audioContent": "//NExAAQ4oIMABhEuDRESizqE7uehfMY8A...........
,你需要用大括号之间的部分替换这些内容吗?
如果是这种情况,你可以这样做
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
希望有帮助