云文本转语音 API --语法错误



我的目标是创建一个文本到语音转换应用程序。 我正在使用文本到语音转换的谷歌快速入门教程。 我已经遵循了前 6 个步骤。 我被困在教程的"从文本合成音频"部分。 运行教程中复制的代码并将其粘贴到控制台时出现错误。

复制的代码

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) -H "Content-Type: application/json; charset=utf-8" --data "{
'input':{
'text':'Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets.'
},
'voice':{
'languageCode':'en-gb',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
}" "https://texttospeech.googleapis.com/v1beta1/text:synthesize" > synthesize-output.txt

这是我控制台上运行代码的输出。

C:UsersuserAppDataLocalGoogleCloud SDK>curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) -H "Content-Type: application/json; charset=utf-8" --data "{
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
curl: (6) Could not resolve host: print-access-token)
C:UsersuserAppDataLocalGoogleCloud SDK>  'input':{
The filename, directory name, or volume label syntax is incorrect.
C:UsersuserAppDataLocalGoogleCloud SDK>    'text':'Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets.'
The filename, directory name, or volume label syntax is incorrect.
C:UsersuserAppDataLocalGoogleCloud SDK>  },
'}' is not recognized as an internal or external command,
operable program or batch file.
C:UsersuserAppDataLocalGoogleCloud SDK>  'voice':{
The filename, directory name, or volume label syntax is incorrect.
C:UsersuserAppDataLocalGoogleCloud SDK>    'languageCode':'en-gb',
The filename, directory name, or volume label syntax is incorrect.
C:UsersuserAppDataLocalGoogleCloud SDK>    'name':'en-GB-Standard-A',
The filename, directory name, or volume label syntax is incorrect.
C:UsersuserAppDataLocalGoogleCloud SDK>    'ssmlGender':'FEMALE'
The filename, directory name, or volume label syntax is incorrect.
C:UsersuserAppDataLocalGoogleCloud SDK>  },
'}' is not recognized as an internal or external command,
operable program or batch file.
C:UsersuserAppDataLocalGoogleCloud SDK>  'audioConfig':{
The filename, directory name, or volume label syntax is incorrect.
C:UsersuserAppDataLocalGoogleCloud SDK>    'audioEncoding':'MP3'
The filename, directory name, or volume label syntax is incorrect.
C:UsersuserAppDataLocalGoogleCloud SDK>  }
'}' is not recognized as an internal or external command,
operable program or batch file.
C:UsersuserAppDataLocalGoogleCloud SDK>}" "https://texttospeech.googleapis.com/v1beta1/text:synthesize" > synthesize-output.txt
'}" "https:' is not recognized as an internal or external command,
operable program or batch file.

不确定这是否有帮助,但这是输出:gcloud 配置列表

C:UsersuserAppDataLocalGoogleCloud SDK>gcloud config list
[core]
account = text-to-speechaccount@sage-instrument-201620.iam.gserviceaccount.com
disable_usage_reporting = False
project = sage-instrument-201620
Your active configuration is: [default]

其他信息我最熟悉的 Python。 我会将我的技能描述为初学者。 我正在运行窗口 10。

该示例看起来像是为 unix 友好系统编写的。 这些系统使用"\"来分解多行命令。 如果我没记错的话,Windows使用插入符号"^"来做完全相同的事情。 我会尝试将该示例中的所有 \ 替换为 ^,看看它是否有效。

您的主要问题与以下消息更相关:"curl:(6( 无法解析主机:打印访问令牌(",这是由于 Windows 无法识别$variable表示法而出现的,因此,有两种方法可以继续:

第一种方法:

  1. 首先,执行命令:"gcloud auth 应用程序默认打印访问令牌"并将令牌值复制到剪贴板,

  2. 将令牌值直接粘贴到 curl 执行中,例如:

curl -H "Authorization: Bearer ya29.xxcharset=utf-8" --data "{ 'input':{ 'text':'Android 是由 Google 开发的移动操作系统,基于 Linux 内核,主要用于智能手机和平板电脑等触摸屏移动设备。 }, 'voice':{ 'languageCode':'en-gb', 'name':'en-GB-Standard-A', 'ssmlGender':'FEMALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1beta1/text:synthesize">合成文本.txt

删除倒斜杠((,因为Windows不能很好地识别这种字符。

第二种方法:

  1. 执行已经提到的命令(gcloud auth 应用程序默认打印访问令牌(并将值保存到环境变量:

设置令牌=the_value_of_your_token

  1. curl 调用中使用令牌环境变量的引用:
curl -H ">

授权:持有者 %TOKEN%" -H "内容类型:应用程序/json;charset=utf-8" --data "{ 'input':{ 'text':'Android 是由 Google 开发的移动操作系统,基于 Linux 内核,主要用于智能手机和平板电脑等触摸屏移动设备。 }, 'voice':{ 'languageCode':'en-gb', 'name':'en-GB-Standard-A', 'ssmlGender':'FEMALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1beta1/text:synthesize">合成文本.txt

相关内容

  • 没有找到相关文章

最新更新