Google Cloud 文本转语音界面混乱(如何下载 mp3 文件?)

2023-12-25

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

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

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

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

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

预先感谢您为这个新手提供的任何帮助。


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

鉴于此,如果您愿意在开始时付出一些努力,那么将这些样本变成更多的东西并不困难。我建议使用此处描述的命令行。 https://cloud.google.com/text-to-speech/docs/quickstart-client-libraries

我将添加一些初始步骤。 1)下载并设置 Gcloud SDK 工具。 https://cloud.google.com/sdk/install2)在终端运行gcloud auth application-default login。这将打开一个浏览器,像登录 GCP Console 一样登录。 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 还没有。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Cloud 文本转语音界面混乱(如何下载 mp3 文件?) 的相关文章

  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 在 GWT 中,在任何主机页标记上添加事件处理程序

    我想为任何标签添加 MouseOver 事件处理程序 举个例子 我想为旧版 HTML 页面中的每个锚点页面添加事件处理程序 继GWT指南 http code google com webtoolkit doc 1 6 DevGuideUse
  • 没有 OAuth 的 Spring Security JWT

    最近我开始学习如何使用oauth 2 0 jwt配置spring boot 我有一个问题 是否可以使用spring boot security jwt避免oauth 2 0 是的 可以使用JWT无需使用标准化的功能OAuth 2 0 flo
  • 迭代 pandas 数据框的最快方法?

    如何运行数据框并仅返回满足特定条件的行 必须在之前的行和列上测试此条件 例如 1 2 3 4 1 1 1999 4 2 4 5 1 2 1999 5 2 3 3 1 3 1999 5 2 3 8 1 4 1999 6 4 2 6 1 5 1
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项
  • NGinx $proxy_add_x_forwarded_for 和 real_ip_header

    我在 NGinx 下有一个 web 应用程序和另一个前端负载均衡器 如下所示 x x x x IP 地址 客户端 a a a a gt LB b b b b gt NGX c c c c gt WEBAPP d d d d 这是我的 NGi
  • Typescript 函数接口重载

    我有以下代码 interface MySecondInterface a type A interface MyInterface val1 string val2 string MySecondInterface a
  • 自定义 Visual Studio 2008 中的位置栏

    有人成功定制了 VS 2008 的 Places Bar 吗 我从 VS 2005 进行的自定义设置并没有转移到 2008 显然 并且无论我如何处理注册表 我都无法使我的自定义位置出现在 打开 对话框中 我已经阅读并应用了相关的MS KB文
  • 是否可以在 C# 中强制接口实现为虚拟?

    我今天遇到了一个问题 试图重写尚未声明为虚拟的接口方法的实现 在这种情况下 我无法更改接口或基本实现 而必须尝试其他方法 但我想知道是否有一种方法可以强制类使用虚拟方法实现接口 Example interface IBuilder
  • 使用泛型全面实现特征

    我正在通过实现矩阵数学来练习 Rust 但遇到了一些障碍 我定义了我认为与矩阵相关的特征 trait Matrix
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp
  • 错误:无效使用不完整类型“类 Move”/未定义对 Move::NONE 的引用

    拜托 我不知道为什么这个简单的代码被拒绝 它给了我 2 个编译错误 请帮帮我 I use 代码 块 20 03 我的编译器是GNU GCC 移动 hpp class Move public Move Move int int public
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创
  • 保存符号方程以供以后使用?

    From here http www mathworks com help releases R2011a toolbox symbolic brvfu8o 1 html brvfxem 1 我正在尝试求解这样的符号方程组 syms x y
  • 当ScrollView滚动到底部时加载更多数据

    我有一个带有动态加载内容的滚动视图 有时可能会有很多内容 所以我想在用户滚动到底部时加载更多内容 我搜索了合适的方法 发现了两种 onScrollChanged and getScrollY 但我不知道如何将它用于我的目的 请给我一些建议
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function
  • android ndk 硬件调试内存

    背景 我对 C 很有经验 对 Android 和 Java 还很陌生 但这是编程的环境问题 我已经用 ANSI C 开发了一个管理应用程序 可以移植到任何操作系统 只需在依赖于操作系统的代码中添加 UI 即可 它使用相当多的内存 特别是对于
  • CUDA 中指令重放的其他原因

    这是我从 nvprof CUDA 5 5 获得的输出 Invocations Metric Name Metric Description Min Max Avg Device Tesla K40c 0 Kernel MyKernel do

随机推荐