3

我想以我不是程序员/开发人员的事实作为开头 - 我是一名多媒体设计师。在我们录制官方音频旁白之前,我使用文本转语音生成占位符音频文件,这些文件可用于对动画进行计时。

以前我使用的是 Amazon Polly,但我想尝试一下 Google Cloud。但是,我实际上很难弄清楚如何生成 mp3 文件并保存它们。

使用 Amazon Polly,您只需访问一个网站,在一个字段中输入您的文本,然后单击一个按钮,它就会将您的文件保存为 mp3 文件。使用 Google Cloud,它似乎远比这复杂得多。“快速入门”指南让我启用 API、下载 JSON 文件、设置环境凭据、初始化 SDK 以及在命令提示符中输入代码。

我在他们的文档页面上阅读的每一个指南似乎都不可避免地导致我迈出了我根本不理解的一步。我讨厌听起来像个彻头彻尾的小丑,但这似乎有点过头了。我不想创建软件或将机器学习集成到网站中,我只是想输入几行文本并生成一个 mp3 文件。

有没有办法用谷歌云做到这一点?启动页面 ( https://cloud.google.com/text-to-speech/ ) 提供了我想要的内容,但没有下载文件的选项,只能预览它们。

提前感谢您可以为这个新手提供的任何帮助。

4

3 回答 3

2

Google 的所有 ML 相关工具的“一般用户”用户体验都非常差,并且是专门为编程使用而设计的。如果您只是在寻找一些具有合理用途的基本工具,那么目前可能不是 GCP。

鉴于此,如果您愿意在开始时稍作努力,那么将样品变成更多东西并不难。我建议使用此处描述的命令行。

我将添加一些初始步骤。1)下载并设置 Gcloud SDK 工具。 2)在终端运行中gcloud auth application-default login。这将打开一个浏览器,像登录 GCP 控制台一样登录。3)他们提供了一个通用文件的示例请求:

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/v1/text:synthesize" > synthesize-text.txt

这就是我说的体验差的意思,代码https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-text.txt把文本转语音操作的结果写到synthesize-text.txt,txt里面就是你的mp3文件。但是等等,他们希望您以编程方式使用它,因此 MP3 不仅仅是一个直接文件,您可能想用它做其他事情,所以它以一种称为 Base64 的编码返回,这使得通过 http 使用二进制数据变得更容易(文本最常见)。因此,您得到的不是 mp3,而是一个 json 文件,例如:

{ "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }

以 // 开头的文本是您的音频。但是因为您是手动执行此操作,所以您需要将引号内的所有内容(这将是一个非常长的以 //... 开头的文本字符字符串保留 // 字符)复制到一个名为任何您想要的新文件中,他们将其命名为 synthesize-output-base64.txt。然后运行 base64 synthesize-output-base64.txt --decode > synthesized-audio.mp3

你已经完成了......原始请求允许您指定文本、语音等。但实际上,如果您正在寻找具有漂亮 UI 的休闲文本到语音,GCP 还不存在。

于 2018-12-13T18:04:13.050 回答
0

或者这个单线(需要jq):

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  --data "{
    'input':{
      'text':'Hello 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/v1/text:synthesize" | jq --raw-output '.audioContent' | base64 --decode > synthesized-audio.mp3
于 2019-04-09T22:34:42.670 回答
0

尽管 Google Wavenet 的声音似乎是最好的,但 Google 并没有像 Microsoft 提供的那样提供流畅的 Speech Studio。只需在此处尝试 LITE 版本:https ://speech.microsoft.com/audiocontentcreation

于 2021-04-02T09:56:05.250 回答