Google Cloud文字转语音介面混乱(如何下载mp3档案?)

时间:2018-12-13 16:57:39

标签: audio google-cloud-platform text-to-speech google-text-to-speech amazon-polly

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

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

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

我在其文档页面上阅读的每本指南中的每一个似乎都不可避免地使我迈出了我根本不理解的一步。我不喜欢听起来像个完整的丑角,但这似乎让我有些头疼。我不是要创建软件或将机器学习集成到网站中,我只是想输入几行文字并生成mp3文件。

有什么方法可以使用Google Cloud?启动页面(https://cloud.google.com/text-to-speech/)恰好提供了我想要的内容,但是没有下载文件的选项,只能预览它们。

在此先感谢您为新手提供的任何帮助。

3 个答案:

答案 0 :(得分:2)

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

鉴于此,如果您愿意在开始时稍作努力,那么将样本转换成更多东西并不难。我建议使用command line described here.

我将添加一些初始步骤。 1)Download and setup the Gcloud SDK tools. 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使用二进制数据更加容易(最常见的文字)。因此,您得到的是json文件,而不是mp3,

  

{“ audioContent”:   “ // NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw / BBTpwTvB + IAxIfghUfW。”}

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

您已经完成了...。原始请求可让您指定文本,语音等。但是实际上,如果您正在寻找具有漂亮UI的随意文本转语音功能,那么GCP尚不存在。

答案 1 :(得分: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

答案 2 :(得分:0)

虽然看起来谷歌 Wavenet 的声音是最好的,但谷歌并没有像微软那样提供流畅的语音工作室。只需在此处尝试 LITE 版本:https://speech.microsoft.com/audiocontentcreation