1 概述

  1.1 案例介绍

  CodeArts API是华为云API全生命周期管理一体化协作平台,支持开发者高效实现API设计、API开发、API测试、API托管、API运维、API变现的一站式体验。通过以API契约为锚点,CodeArts API保证API各阶段数据高度一致,为开发者提供友好易用的API全流程端到端解决方案。

  API Explorer提供API接口、代码示例、场景示例、CLI示例等多种开发集成方式,适用于 API调试、故障排查等多种场景。通过控制台访问API Explorer,更方便的验证API请求,更直观的查看返回结果,当调用出错时,API Explorer会显示相应的错误信息,并提示如何解决。

  CodeArts IDE是一个跨平台的集成开发环境(IDE),它将精简的源代码编辑器与强大的开发者工具结合在一起。

  1.2 适用对象

  • 企业
  • 个人开发者
  • 高校学生

      1.3 案例时间

      本案例总时长预计40分钟。

      1.4 案例流程

      ak语音官网

      说明:

    1. 通过CodeArts API创建API项目并设计语音API;
    2. 通过API Explorer调试语音合成API生成语音数据流;
    3. 实验Demo工程源码拉取并导入工程到编辑器完成运行准备;
    4. 运行Demo生成将语音数据流合成音频文件。

      1.5 资源总览

      资源名称

      规格

      单价(元)

      时长(分钟)

      CodeArts API服务

      网页体验版

      免费

      40

      API Explorer

      /

      免费

      40

      开发者空间-云主机

      鲲鹏通用计算增强型 kC2 | 4vCPUs | 8G | Ubuntu

      免费

      40

      最新案例动态,请查阅 《通过CodeArts API设计语音合成接口》「链接」。小伙伴快来领取华为开发者空间,进入云开发环境桌面版实操吧!

    2 通过CodeArts API设计语音合成API

      2.1 开发者空间配置

      面向广大开发者群体,华为开发者空间提供一个随时访问的“开发桌面云主机”、丰富的“预配置工具集合”和灵活使用的“场景化资源池”,开发者开箱即用,快速体验华为根技术和资源。

      进入开发者空间-华为云工作台界面,点击打开云主机 > 进入桌面连接云主机。如果还没有领取云主机进入工作台界面后点击配置云主机,选择Ubuntu操作系统。

      ak语音官网

      ak语音官网

      2.2 创建API项目

      进入云主机后,在火狐浏览器中,输入CodeArts API官网地址:https://developer.huaweicloud.com/develop/codeartsapi.html 进入官网。

      ak语音官网

      进入官网后,点击“立即体验”按钮并登录。

      ak语音官网

      登录后点击页面右上角的“创建项目”按钮。

      ak语音官网

      在创建项目弹窗中输入项目名称:“语音合成”,并点击确定按钮。

      ak语音官网

      2.3 设计语音API

      创建项目成功后,点击“API设计->新建API接口”进入到API设计页面。

      ak语音官网

      ak语音官网

      输入接口的URL:/tts;operationld:test,摘要输入:语音合成。

      ak语音官网

      在请求参数区域,点击请求体“Body”页签,选择“raw”,默认选择的“JSON”格式。

      ak语音官网

      输入参数,类型为“sting”,描述修改为“待合成的文本”。

      ak语音官网

      在返回响应区域,返回数据类型为“string”,将描述修改为“合成结果”。

      ak语音官网

      最终点击页面右上角的“保存”按钮,完成API设计的保存。

      ak语音官网

      可在默认目录下,查看到新增的API。

      ak语音官网

      2.4 调试API,生成音频数据流

      进入云主机,在火狐浏览器中,输入API Explorer地址:https://console.huaweicloud.com/apiexplorer/#/openapi/SIS/debugapi=RunTts

      在打开的页面中,填入请求参数,之后调用API,获取音频数据流;

      相关名词解释:

      语音格式:wav是一种无损音频文件格式,常用于存储高质量的音频数据;mp3是一种有损音频压缩格式,通过减少音频数据中的冗余信息来减小文件大小,同时保持较高的音质;pcm是一种非压缩的音频格式,它直接将模拟音频信号转换为数字信号,不进行任何压缩处理。

      采样率:表示每秒钟从连续音频信号中采集的样本数量。采样率越高,音频信号的还原度越高,音质越好。

      语速和音高:语速表示语音播放的速度,通常以每分钟播放的字符数或单词数来衡量。音高表示语音的音调高低,通常以赫兹(Hz)或相对值来衡量。

      举例说明:

      生成语音格式为wav,采样率:8000,‘chinese_xiaoqi_common‘,语速0,音高0(表示生成wav格式的语音,采样率为8000Hz,使用‘chinese_xiaoqi_common’语音包,语速和音高均为默认0,其他场景类似)

      生成语音格式为wav,采样率:16000,‘chinese_xiaoyu_common’,语速0,音高0

      生成语音格式为mp3,采样率:8000,‘chinese_xiaoqi_common‘,语速100,音高100

      生成语音格式为mp3,采样率:16000,‘chinese_xiaoyu_common’,语速100,音高100

      生成语音格式为pcm,采样率:16000,‘chinese_xiaoyu_common’,语速100,音高100

      以下是本案例输入的请求参数:

      text:华为云语音合成;audio_format:wav;sample_rate:16000;property:chinese_xiaoyu_common;speed:0;pitch:0

      操作示例如下图:

      ak语音官网

      将每次API Explorer调试请求得到的response,点击下载,生成“SIS_RunTts_ResponseBody_xxxxxxxxxxxxx.json”文件(如果没有下载选项,就直接复制返回文本,存入自建xxxx.json文件),文件存储到任意位置备用。

      ak语音官网

      2.5 转换音频数据流为音频文件

      Demo工程下载链接:https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com/2601/CodeArtsProject.zip打开下载文件夹,鼠标右击“open terminal Here”打开终端,输入以下命令进行解压。

      unzip +压缩包的名称

      ak语音官网

      在华为云控制台新增访问秘钥,配置AK/SK。

      访问华为云控制台:

      https://console.huaweicloud.com/iam/agencyId=599e2ee1492f48e9b69a0a682d435fb8ion=cn-north-4&locale=zh-cn#/mine/accessKey

      选择“我的凭证”->“访问秘钥”-> 新增访问秘钥(若有密钥可以不用新增),输入描述:“我的秘钥”,点击单选框,再点击“继续创建”按钮。

      ak语音官网

      创建秘钥成功后点击“立即下载”,即可获得“credentials.csv”文件,里面可以查看到AK(Access Key Id)和SK(Secret Access Key)。

      ak语音官网

      使用CodeArts IDE for Java编辑器打开下载的demo工程,进行工程文件的加载,等待编辑器完成工程配置。(注:大概需要3-5分钟请耐心等待)

      ak语音官网

      进入工程,进入目录src/main/resources下选择credentials.properties,将AK/SK配置上,配置完成后对文件进行保存。

      ak语音官网

      将步骤2.4的API Explorer上调试成功的任意一个音频数据流文件文本内容复制到APIResponse.json中,并保存文件。

      ak语音官网

      执行“should_return_audio_when_response_json”,生成mp3格式音频文件;找到test目录下的测试类SisServiceTest.java,点击“开始执行”按钮,正确运行后将会在目录下生成音频文件。

      ak语音官网

      目录下生成“devkit.mp3”文件;获得转换后的音频文件。

      ak语音官网

      至此,通过CodeArts API设计语音合成接口的案列内容已全部完成。