教你如何通过CodeArts IDE插件调用API,高效合成语音

时间:2022-02-05 01:23:16
摘要:本实验基于华为云自研CodeArts IDE,指导用户通过使用华为云API,来实现一个文字合成语音的应用。

本文分享自华为云社区《通过CodeArts IDE插件调用API,高效合成语音!》,作者:华为云PaaS服务小智。

实验内容:

CodeArts IDE定位华为云开发者桌面,是利用华为自研IDE内核技术,面向华为云开发者提供的智能化可扩展桌面集成开发环境(IDE),内置华为自研JAVA语言开发支持,搭载华为云行业和产业开发套件,提供极致的一站式用云和开发体验。
本实验基于华为云自研CodeArts IDE,指导用户通过使用华为云API,来实现一个文字合成语音的应用。实验分为了初阶、高阶、进阶三个版本。

  • 初阶版:预置好了一段工程示例,用户通过使用华为云API来实现语音合成的功能,从而合成语音文件
  • 高阶版:指导开发者如何利用华为云提供的SDK来编写代码,从而实现语音合成的程序

实验目的:

  • 通过完成此实验让开发者学习使用华为云CodeArts IDE,通过其强大功能完成应用开发
  • 通过完成此实验让开发者更加了解华为云API,基于华为云强大的API可以实现更多复杂的功能和应用

完成的注意事项:

1.用户需要实名认证才能免费体验
2.用户如果被华为云判断为黑产用户,则没有免费体验的权限
3.用户免费体验示例,必须进入体验页面

前提条件:华为云账号注册&实名认证

请注册华为云账号并完成实名认证,实验过程中请使用Chrome浏览器完成相关操作。
华为云账号注册步骤请参考:
https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0069252244.html
实名认证操作步骤请参考:
https://support.huaweicloud.com/usermanual-account/account_auth_00001.html

CodeArts IDE Online 云端体验

“点击访问CloudIDE产品首页”(需登录华为云账号),点击“免费体验云开发”按钮,进入IDE界面

教你如何通过CodeArts IDE插件调用API,高效合成语音

教你如何通过CodeArts IDE插件调用API,高效合成语音

CodeArts IDE(客户端)体验

1.1.1 下载CodeArts IDE(客户端)

  1. “点击此处下载”CodeArts桌面版(需登录华为云账号),下载完成后安装到本地;

教你如何通过CodeArts IDE插件调用API,高效合成语音

教你如何通过CodeArts IDE插件调用API,高效合成语音

1.1.2 登录华为云,体验API

  1. 安装完成后,打开CodeArts IDE客户端,点击右上角登录按钮,登录华为云账号;

教你如何通过CodeArts IDE插件调用API,高效合成语音
教你如何通过CodeArts IDE插件调用API,高效合成语音
教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 点击客户端右侧边栏中的华为云API插件,了解集成的华为云API能力

教你如何通过CodeArts IDE插件调用API,高效合成语音

1.2 初阶版:体验语音合成API,合成一段语音

1.2.1 环境准备(一键式小程序)

  1. 点击此处下载一键式环境搭建小程序到任意目录(此目录不包含中文目录,否则可能会出现未知问题)

教你如何通过CodeArts IDE插件调用API,高效合成语音

此小程序依赖你本地安装了7zip/WinRAR等解压工具,双击打开,如果你已经安装,输入y回车。

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 此时小程序会将2.2.2中的代码工程以及OpenJDK下载到小程序所在的目录中,并完成解压,打开代码工程,为工程配置JDK(如果出现未知问题,也可以按照2.2.2中一步步手动操作)

教你如何通过CodeArts IDE插件调用API,高效合成语音

1.2.2 环境准备(手动初始化)

  1. 下载OpenJDK11到本地目录,然后解压到任意路径(需要记住此路径)

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 点击下载工程,解压到任意目录
    在CodeArts IDE客户端点击“文件”-> “打开…”、“打开文件夹”,找到刚刚的工程目录,选择文件夹,然后选择此工程内打开

教你如何通过CodeArts IDE插件调用API,高效合成语音

教你如何通过CodeArts IDE插件调用API,高效合成语音

第一次加载Java插件需要完成初始化,需要等待一会儿,等待右下角的Initializing Java Language Server Features完成后开始下一步

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 为工程配置JDK
    Java Smart Assist插件加载完成后,此时右下角会显示Language Server is ready 以及 提示为配置JDK。

教你如何通过CodeArts IDE插件调用API,高效合成语音

点击左下角的“管理”按钮,选择“设置”,在弹出设置选项中依次选择“Java SmartAssist开发套件”->“Project Settings”-> “Project SDK目录选择”-> 找到刚刚JDK的解压目录 ->选择文件夹,此时工程右下角会显示加载JDK,需要稍等片刻

教你如何通过CodeArts IDE插件调用API,高效合成语音

教你如何通过CodeArts IDE插件调用API,高效合成语音

选择完成后可以关闭此配置项,IDE会自动帮您加载JDK

1.2.3 体验API

  1. 搜索API,在CodeArts IDE客户端内,打开“华为云API”,搜索“语音合成”,选择第一个搜索结果

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 右侧弹出RunTts详细情况,可以查看API相关信息,包括(API是干啥的,有哪些参数)然后选择“调试API”页签

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 输入需要合成的文字,例如“华为云软件开发生产线”,选择audio_format为.mp3,点击“调试”按钮,可以看到API的调试结果,可以看到“调试成功”,查看右下“响应结果”的“响应体”页签,可以看到返回的结果,“data”是音频的base64编码。

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 点击响应体右侧的“拷贝”图标按钮,再将左边侧边栏的华为云API页面切换到“工程页面”,找到src/resources目录,将结果备份到工程目录src/resources/APIResponse.json中

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 找到test目录下的测试类SisServiceTest.java,点击找到方法“should_return_audio_when_response_json()”,点击“Run‘All in SisServiceTest’”,最后可以看到目录下生成的音频文件。

教你如何通过CodeArts IDE插件调用API,高效合成语音

1.3 高阶版:通过编写代码实现语音合成的应用

1.3.1 为程序配置AK/SK

代码访问API需要AK/SK,参考文档获取用户AK/SK,将其输入到resources文件夹下的credentials.properties文件中的ak、sk中

教你如何通过CodeArts IDE插件调用API,高效合成语音

1.3.2 编写SDK代码

  1. 在editor中点击右键打开菜单,选择启用“华为云SDK代码补全助手”,在IDE中输入RunTts,DevKit会自动帮你联想出合适的API,选择RunTts,DevKit会帮你自动把SDK调用实现,并且将代码中涉及到的依赖自动import

教你如何通过CodeArts IDE插件调用API,高效合成语音

教你如何通过CodeArts IDE插件调用API,高效合成语音

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 点击编辑API参数,填入相关参数后,点击确定,生成API参数的代码

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 修改函数,return response

教你如何通过CodeArts IDE插件调用API,高效合成语音

  1. 找到test目录下的测试类SisServiceTest.java,找到方法“should_return_audio_when_call_api”,点击“Run‘All in SisServiceTest’”,最后可以看到目录下生成的音频文件。

体验中可能遇到得问题:

  • Java语言服务(Java Language Server)加载失败/

教你如何通过CodeArts IDE插件调用API,高效合成语音

在Java语言服务初始化时,如果关闭了IDE窗口、取消了加载等等情况,则会出现安装失败,点击重新安装即可。如果重新安装仍有问题,参考3.2解决方案。

  • 点击Java SmartAssist开发套件空白

教你如何通过CodeArts IDE插件调用API,高效合成语音

原因可能是因为Java语言服务初始化失败导致,彻底解决改问题,找到C盘/用户目录下的.codearts文件夹,删除language-server文件夹,重新启动CodeArts IDE客户端,此时会重新加载Java语言服务

教你如何通过CodeArts IDE插件调用API,高效合成语音

  • JDK没有加载/加载失败

教你如何通过CodeArts IDE插件调用API,高效合成语音

这是因为工程的JDK没有配置,可以参考2.2.2中为第三步:工程配置JDK。
另外还有一种一劳永与的方法:
将下载并解压后的OpenJDK目录配置到电脑windows环境变量的JAVA_HOME变量中(如何设置windows环境变量,可以自行baidu),如图所示:

教你如何通过CodeArts IDE插件调用API,高效合成语音

  • 在加载工程的时候出现Cannot resolve xxx或者 Could not transfer artifact xxx等

教你如何通过CodeArts IDE插件调用API,高效合成语音

这是因为工程所依赖的二方包没有下载下来,工程中默认链接的是官方的下载源(在国外),可能因为网络问题或者其他问题导致链接不稳定,此时把配置文件修改成链接到国内的下载源:
点击下载最新的配置(settings.xml),将此目录(C盘用户目录下找到.codearts文件夹,然后按照此路径找到settings文件.codearts\language-server\2210.0.17\language-server\plugins\maven\lib\maven3\conf)下的文件替换

教你如何通过CodeArts IDE插件调用API,高效合成语音

 

点击关注,第一时间了解华为云新鲜技术~