【问题标题】:Google Cloud Text-to-Speech Interface Confusion (How do I download the mp3 files?)Google Cloud Text-to-Speech Interface Confusion(如何下载 mp3 文件?)
【发布时间】:2019-05-14 22:54:51
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    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 使用二进制数据变得更容易(文本最常见)。因此,您得到的不是 mp3,而是一个 json 文件,例如:

    { "音频内容": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }

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

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

    【讨论】:

      【解决方案2】:

      或者这个单行(需要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
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-04-16
          • 1970-01-01
          • 2020-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-22
          • 1970-01-01
          相关资源
          最近更新 更多