摘要:本实验基于华为云自研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(客户端)体验

1.1.1 下载CodeArts IDE(客户端)

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

1.1.2 登录华为云,体验API

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



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

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

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

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

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

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

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

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

2.点击下载工程,解压到任意目录

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

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

3.为工程配置JDK

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

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

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

1.2.3 体验API

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

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

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

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

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

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

1.3.1 为程序配置AK/SK

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

1.3.2 编写SDK代码

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

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

3.修改函数,return response

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

体验中可能遇到得问题:

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

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

  • 点击Java SmartAssist开发套件空白

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

  • JDK没有加载/加载失败

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

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

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

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

教你如何通过CodeArts IDE插件调用API,高效合成语音的更多相关文章

  1. 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  2. 让开发部署提速 8 倍,我参与贡献这款 IDE 插件的全过程

    如何像参与开源那样,去参与一款 IDE 插件的设计? 作为一款 IDE 插件的使用者,我是否能决定下一个版本的功能? 自从产品经理银时小伙和他的开发小哥们在去年12月发布 Cloud Toolkit( ...

  3. 《Selenium自动化测试实战:基于Python》之 Selenium IDE插件的安装与使用

    第3章  Selenium IDE插件的安装与使用 京东:https://item.jd.com/13123910.html 当当:http://product.dangdang.com/292045 ...

  4. 昨天晚上画了个带apple的图:ide插件与php和xdebug通信原理图,周末写1个调试器。

    昨天晚上画了个带apple的图:ide插件与php和xdebug通信原理图,周末写1个调试器.

  5. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

    引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...

  6. Java反编译利器-Jad, Jode, Java Decompiler等及其IDE插件

    转自:http://blog.csdn.net/superbeck/article/details/5189231 对于长年使用Java的程序员,大部分应该都会或多或少的使用到反编译软件.毕竟,不可能 ...

  7. Eclipse的Spring IDE插件的安装和使用

    Spring IDE是Spring官方网站推荐的Eclipse插件,可提供在研发Spring时对Bean定义文件进行验证并以可视化的方式查看各个Bean之间的依赖关系等. 安装 使用Eclipse M ...

  8. Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html

    Cordova入门系列(三)Cordova插件调用   版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心 ...

  9. cordova 插件 调用iOS社交化分享(ShareSDK:微信QQ分享)

    1.github上已有的插件:https://github.com/nwpuhmz/ShareSDKPlugin 2.安装插件 cordova plugin add https://github.co ...

  10. eclipse安装Freemaker IDE插件

    eclipse安装Freemaker IDE插件 http://download.jboss.org/jbosstools/updates/

随机推荐

  1. tomcat任务部署

    tomcat项目部署 主机 IP 需求 web-1 192.168.78.144 tomcat+jenkins web-2 192.168.78.145 tomcat 在RHEL-1主机上部署的jen ...

  2. docker出现“Failing to start dockerd: failed to create NAT chain DOCKER”错误

    使用Windows的WSL 2里面的Ubuntu安装docker之后,启动docker服务一直失败,提示Docker is not running.使用dockerd命令会出现如下错误: INFO[2 ...

  3. java 操作 zookeeper

    pom.xml<dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</a ...

  4. pt-table-check和pt-table-sync实践

    如果主库使用非默认端口,--recursion-method默认值为hosts,这时如果从库没有配置report_host参数(注意该参数缺点),则pt-table-checksum无法自动检测到从库 ...

  5. nuxtjs项目空白路由强跳到首页

    1.根目录下新建middleware文件夹并新建文件unknownRoute.js,代码如下 /** * 未知路由重定向 到首页 */ export default ({store, route, r ...

  6. Linux 提示符后面显示全路径

    vi /root/.bashrc # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' a ...

  7. Python ssh远程登录设备执行命令

    # -*-encoding:utf-8 -*- """ @Time : 2022/12/30 10:10 @Auth : ruqing @File :ssh_sonic. ...

  8. 使用python来搭建一个简易的文件下载环境以及用droopy来实现一个文件上传环境

    ubuntu在安装的时候一般都是自带python环境的,大家可以查看一下查看demo如下 用于共享的命令很简单python2: python -m SimpleHTTPServer 8888pytho ...

  9. [Unity动画]07.Animation

    一.面板信息 1.Length,单位是秒 2.如下,动画是30FPS,即1秒播放30帧 3.如下,显示0:18,前面的0表示秒数,后面的18表示帧数,计算方法是0.6*30=18 4.如下,1.333 ...

  10. nginx按天输出日志

    直接在nginx配置文件中,配置日志循环,而不需使用logrotate或配置cron任务.需要使用到$time_iso8601 内嵌变量来获取时间.$time_iso8601格式如下:2015-08- ...