npm 包 @aws-sdk/client-polly 使用教程

前言

随着人工智能技术的发展,语音合成技术也越来越受到关注。作为一名前端开发者,我们可以使用 AWS 的 P●●● 服务来进行语音合成,而 @aws-sdk/client-polly 库就提供了方便的接口来让我们在前端中使用 P●●●。

本文将介绍 @aws-sdk/client-polly 的使用方法,并提供详细的示例代码和指导意义。希望本文对你的学习和开发有所帮助。

安装和配置

使用 @aws-sdk/client-polly 需要先安装 AWS SDK for JavaScript v3(以下简称 SDK)。

  1. 打开命令行,输入以下命令安装 SDK:

    --- ------- -------
  2. 接着,使用以下命令安装 @aws-sdk/client-polly:

    --- ------- ---------------------
  3. 在使用 @aws-sdk/client-polly 时,需要提供访问 P●●● 的凭证,可以在 AWS 管理控制台中获取。

  4. 使用以下代码初始化 SDK:

    ----- - ------------ ------------------ ----------------------- - - ---------------------------------
    ----- ----------- - --- ------------- ------- ----------- ---

    注:region 的值根据 P●●● 的实际位置进行设置。

  5. 若需要使用 Amazon S3 存储语音合成后的文件,还需要在这里初始化 S3 客户端。这里以 AWS SDK for JavaScript v3 的 S3Client 为例:

    ----- - -------- - - ------------------------------
    ----- -------- - --- ---------- ------- ----------- ---
  6. 配置完成后,就可以使用 @aws-sdk/client-polly 进行语音合成了。

语音合成

@aws-sdk/client-polly 的 SynthesizeSpeechCommand 命令可以用来进行语音合成。下面演示如何使用该命令将一段中文文本转化为语音:

----- - ------------- - - --------------
----- - ----------------------- - - ---------------------------------

----- -------- ---------------------- -
  ----- ------ - -
    ------------- ------
    ----- -----
    --------- -------
    -------- --------
  --
  --- -
    ----- ---- - ----- -------------------- ---------------------------------
    ----- ---- - -----------------
    --------------------------- --- ------------------
    ----------------------
  - ----- ----- -
    --------------------- -----
  -
-

上述代码中,params 对象中的 OutputFormat 属性指定了输出格式为 mp3,Text 属性为待转化的文本,TextType 属性表示文本类型为普通文本,VoiceId 属性表示合成的语音是智瑜女声。 SynthesizeSpeechCommand 命令的结果 data 中包含合成后的音频数据,我们可以将它写入本地文件作为输出文件。

需要注意的是,合成语音的文本长度有限制。具体限制可以在 AWS 官方文档 中查看。

语音播放

使用 Web Audio API 可以播放从 AWS P●●● 返回的语音合成音频数据。

----- - ----------------------- - - ---------------------------------

-------- --------------- -
  ----- ------- - --- ---------------
  ----- ------ - -----------------------------
  ----------------------------- ------ -- -
    ------------- - -------
    ------------------------------------
    ----------------
  ---
-

----- -------- ----------------------------- -
  ----- ------ - -
    ------------- ------
    ----- -----
    --------- -------
    -------- --------
  --
  --- -
    ----- ---- - ----- -------------------- ---------------------------------
    ----------------------------
  - ----- ----- -
    --------------------- -----
  -
-

上述代码中,playAudio 函数用来播放音频数据。我们使用 AudioContext 创建音频上下文,使用 decodeAudioData 方法解码音频数据,最后使用 BufferSource 并连接到音频上下文和扬声器输出设备播放。

synthesizeSpeechAndPlay 函数 combine 了 synthesizeSpeechplayAudio 的功能,实现了语音合成和播放功能。

语音存储

如果需要将合成的语音存储起来,可以使用 AWS S3 服务进行存储。

----- - ----------------------- - - ---------------------------------

----- -------- --------------------------------- ----------- ----------- -
  ----- ------ - -
    ------------- ------
    ----- -----
    --------- -------
    -------- --------
  --
  --- -
    ----- ---- - ----- -------------------- ---------------------------------
    ----- ------------ - -
      ------- -----------
      ---- -----------
      ----- --- -----------------------------
    --
    ----- ------ - ----- ----------------- --------------------------------
    ----------------------- ---------------------
  - ----- ------- -
    ------------------------------------
  -
-

上述代码中,我们使用 PutObjectCommand 命令将语音合成输出的音频数据存储到 S3 上。uploadParams 对象中包含 S3 Bucket 名称和文件名,以及待存储的音频数据。PutObjectCommand 命令的返回结果包含 S3 Object URL。

总结

本文介绍了 @aws-sdk/client-polly 的使用方法,使用示例代码演示了如何进行语音合成、播放和存储。希望本文对你的学习和开发有所帮助。同时,我们也欢迎你在实践过程中记录遇到的问题和技术难点,分享实战经验和技术洞见,以推动前端技术的进步。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f6f483ba9b7065299ccba62


猜你喜欢

  • npm 包 @aws-sdk/client-rekognition 使用教程

    前言 AWS Rekognition 是一款免费的面部识别和分析服务,允许开发者以简单且经济实惠的方式向应用程序添加功能,以识别和分析图像中的面部、场景和物体。而 @aws-sdk/client-re...

    4 年前
  • npm 包 @aws-sdk/client-textract 使用教程

    前言 在云计算和人工智能的时代,短时间内处理大量复杂数据变得越来越重要。AWS Textract 是一个 Amazon Web Services 的机器学习服务,它可以从扫描的文档中提取文本和字符,并...

    4 年前
  • npm 包 @aws-sdk/client-translate 使用教程

    前言 在国际化应用的开发过程中,多语言翻译是一个十分重要的组成部分。AWS 提供了 Translate 服务,让我们可以轻易地将一个语言翻译成另一个语言,而 @aws-sdk/client-trans...

    4 年前
  • npm 包 @aws-crypto/crc32 使用教程

    在前端开发中,经常需要使用 CRC32 算法进行数据校验。而 AWS 开发了一个 npm 包 @aws-crypto/crc32,该包可以方便地对数据进行 CRC32 计算。

    4 年前
  • NPM包 @aws-sdk/util-utf8-universal 使用教程

    简介 在日常开发中,我们经常需要在前端中进行字符串编解码的操作。而在AWS的JavaScript SDK (@aws-sdk/client-s3, @aws-sdk/client-dynamodb等)...

    4 年前
  • npm 包 @aws-sdk/eventstream-marshaller 使用教程

    简介 @aws-sdk/eventstream-marshaller 是一个 AWS SDK for JavaScript 的包,它提供了一种转换 AWS EventStream 消息的方式。

    4 年前
  • npm 包 @aws-amplify/predictions 使用教程

    在前端开发中,常常需要使用一些机器学习或者预测服务,而 AWS 提供的 @aws-amplify/predictions npm 包提供了一种方便快捷的方法来实现这些服务。

    4 年前
  • npm 包 @aws-amplify/pubsub 使用教程

    AWS Amplify 是一个全面的开发平台,为前端开发人员提供服务和工具,帮助构建快速、可靠的应用程序。其中,@aws-amplify/pubsub 是一种用于实现发布/订阅模式的npm包。

    4 年前
  • npm 包 @aws-crypto/ie11-detection 使用教程

    前言 在前端开发中,我们往往需要兼容不同的浏览器。其中,IE11 是目前使用广泛的老旧浏览器之一,它和其他现代浏览器有着不同的兼容性问题,需要我们单独处理。@aws-crypto/ie11-detec...

    4 年前
  • npm 包 @aws-crypto/supports-web-crypto 使用教程

    在前端加密过程中,使用 Web Crypto API 是一种安全且可靠的选择。然而,不是所有浏览器都支持这个 API。@aws-crypto/supports-web-crypto 可以解决这个问题,...

    4 年前
  • npm 包 @aws-sdk/util-locate-window 使用教程

    介绍 AWS SDK for JavaScript 是亚马逊 Web 服务 (AWS) 的官方 SDK。@aws-sdk/util-locate-window 是 AWS SDK for JavaSc...

    4 年前
  • npm包 @aws-crypto/sha256-browser 使用教程

    在前端开发中,经常需要进行加密和哈希操作,而 @aws-crypto/sha256-browser 是一个方便的 npm 包,可以用来快速生成 sha256 哈希值。下面将详细介绍该包的使用方法。

    4 年前
  • npm 包 @aws-sdk/fetch-http-handler 使用教程

    AWS 的开发者在创建基于 JavaScript 的应用程序时通常都要用到 AWS SDK。而 @aws-sdk/fetch-http-handler 就是 AWS SDK 中与 JavaScript...

    4 年前
  • npm 包 @aws-sdk/chunked-blob-reader 使用教程

    简介 @aws-sdk/chunked-blob-reader 是一个 npm 包,它为在浏览器上读取 AWS S3 对象提供了一种流式、分块、内存友好的方法。本文将介绍如何使用 @aws-sdk/c...

    4 年前
  • npm 包 @aws-sdk/hash-blob-browser 使用教程

    在前端的开发过程中,有时我们需要对文件的内容进行 hash 计算,例如为了防止重复上传,需要对文件内容进行比较。本文介绍了一个可用于浏览器端的 npm 包 @aws-sdk/hash-blob-bro...

    4 年前
  • npm 包 @aws-sdk/invalid-dependency 使用教程

    简介 在前端开发过程中,我们经常会使用到 AWS 的服务。而在使用 AWS SDK 连接 AWS 服务时,可能会遇到一些 invalid-dependency 错误。

    4 年前
  • npm 包 @aws-sdk/is-node 使用教程

    简介 Amazon Web Services(AWS)是目前世界规模最大的云计算平台之一。AWS 提供了多种不同的服务,其中包括 AWS SDK for JavaScript,这是与 AWS 云服务进...

    4 年前
  • npm包 @aws-sdk/util-base64-universal使用教程

    前言 AWS SDK for JavaScript是一个广泛使用的 JavaScript 文件库,它支持浏览器和node.js环境中的Amazon Web Services(AWS)服务。

    4 年前
  • npm 包 @aws-sdk/md5-js 使用教程

    在前端开发中,处理字符串的需求很常见。在实现一些加密算法时,常常需要用到 MD5 算法。而在 JavaScript 中,我们可以通过 npm 包 @aws-sdk/md5-js 来使用 MD5 算法。

    4 年前
  • npm 包 @aws-sdk/middleware-apply-body-checksum 使用教程

    AWS(Amazon Web Service)是目前全球最大的云计算服务提供商之一,其提供了多种开发者工具和服务,以便在 AWS 平台上构建高效、可扩展和安全的应用程序。

    4 年前

相关推荐

    暂无文章