阿里云声音复刻

阿里云声音复刻

个性化人声定制

阿里云个性化人声定制是智能语音交互产品自学习平台下的一部分

使用方式:https://help.aliyun.com/document_detail/456006.html

image

  • 方式一:控制台界面定制使用方式

  • 方式二:通过OpenAPI定制:在该页面有不同开发语言的示例代码,开发者使用openAPI概览注意只有四个API方法和声音克隆的API方法有所不同

Java示例代码

package com.alibaba.nls.ptts;import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.http.ProtocolType;
import com.aliyuncs.profile.DefaultProfile;public class PttsDemo {//域名private static final String DOMAIN = "nls-measure.cn-shanghai.aliyuncs.com";// API版本private static final String API_VERSION = "2019-09-05";private static IAcsClient client;static {String accessKeyId = "请替换为您自己的accessKeyId";String accessKeySecret = "请替换为您自己的accessKeySecret";// 创建DefaultAcsClient实例并初始化DefaultProfile profile = DefaultProfile.getProfile("",accessKeyId,accessKeySecret);client = new DefaultAcsClient(profile);}public static void main(String[] args) throws InterruptedException {//20句音频,此处为了方便演示接口的调用,提前准备好了音频的url,在您集成时,可以在用户录制的过程中,将音频进行存储String[] urls = {"viwf/1.wav", "dycw/2.wav", "dopl/3.wav", "anfd/4.wav", "cyoy/5.wav", "dsjw/6.wav","vevd/7.wav", "ulno/8.wav", "kwlw/9.wav", "lafu/10.wav", "uozh/11.wav", "gdpp/12.wav", "lisa/13.wav","bmvv/14.wav", "ijzx/15.wav", "kdla/16.wav", "govf/17.wav", "kcid/18.wav", "srdx/19.wav", "stol/20.wav"};//训练的基本信息,voiceName请替换成您自己的命名String voiceName = "示例voice";String scenario = "story";String gender = "female";//Step1: 获取需要朗读的文本CommonRequest getDemonstrationRequest = buildRequest("GetDemonstrationForCustomizedVoice");getDemonstrationRequest.putQueryParameter("Scenario", scenario);String getDemonstrationResponse = sendRequest(getDemonstrationRequest);System.out.println("|获取需要朗读的内容|response=" + getDemonstrationResponse);//Step2: 采集用户朗读的音频,进行音频检测for (int i = 1; i <= 20; i++) {String audioUrl = audioRecordUrlPrefix + urls[i - 1];CommonRequest audioDetectRequest = buildRequest("CustomizedVoiceAudioDetect");audioDetectRequest.putQueryParameter("Scenario", scenario);audioDetectRequest.putQueryParameter("VoiceName", voiceName);audioDetectRequest.putQueryParameter("RecordUrl", audioUrl);audioDetectRequest.putQueryParameter("AudioRecordId", String.valueOf(i));String audioDetectResponse = sendRequest(audioDetectRequest);System.out.println("|音频检测|[" + i + "]response=" + audioDetectResponse);}//Step3: 20句音频检测完成后,提交训练CommonRequest submitTrainRequest = buildRequest("SubmitCustomizedVoice");submitTrainRequest.putQueryParameter("VoiceName", voiceName);submitTrainRequest.putQueryParameter("Gender", gender);submitTrainRequest.putQueryParameter("Scenario", scenario);String submitTrainResponse = sendRequest(submitTrainRequest);System.out.println("|提交训练|response=" + submitTrainResponse);//Step4: 轮询训练结果CommonRequest queryTrainResultRequest = buildRequest("ListCustomizedVoice");queryTrainResultRequest.putQueryParameter("VoiceName", voiceName);String queryTrainResultResponse = sendRequest(queryTrainResultRequest);System.out.println("|查询训练结果|response=" + queryTrainResultResponse);}private static String audioRecordUrlPrefix= "https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20221118/";private static CommonRequest buildRequest(String popApiName) {CommonRequest request = new CommonRequest();request.setSysMethod(MethodType.POST);request.setSysDomain(DOMAIN);request.setSysVersion(API_VERSION);request.setSysAction(popApiName);request.setSysProtocol(ProtocolType.HTTPS);return request;}private static String sendRequest(CommonRequest request) {try {CommonResponse response = client.getCommonResponse(request);return response.getData();} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}return null;}
}

阿里云个人化人声定制控制台

https://nls-portal.console.aliyun.com/pttssettingnew

非开发者使用指南:

https://help.aliyun.com/document_detail/451766.html?spm=a2c4g.432038.0.0.496f4906w8EQFD

声音克隆定制

阿里云产品帮助中心搜索声音克隆https://help.aliyun.com/?spm=a2c4g.456006.J_3207526240.2.6a5842e8QI7zZj

方法一:通过控制台进行人声克隆

  1. 登录智能媒体服务控制台。
  2. 在顶部左上角根据实际情况选择地域。
  3. 在左侧导航栏选择****智能生产制作** > *人声克隆***。
  4. 单击定制声音,根据提示完成定制人声操作。

方法二:通过OpenAPI进行人声克隆

  1. 调用接口CreateCustomizedVoiceJob,配置参数VoiceId,创建人声克隆任务。

  2. 调用接口GetDemonstrationForCustomizedVoiceJob,根据实际场景配置参数Scenario,获取需要朗读的20条示范文本及音频。

  3. 根据步骤 2获取到的示范文本及音频进行训练并录制,并将录制的语音上传至OSS。上传方式,请参见上传文件。

  4. 调用接口DetectAudioForCustomizedVoiceJob,提交已经训练好的音频,进行音频检测。

    重要 需要调用20次该接口,每次调用时提交对应的音频,共20条音频。

  5. 调用接口SubmitCustomizedVoiceJob,提交人声克隆训练任务,系统开始进行语音训练。

API参考

人声克隆相关接口

openApI门户:https://next.api.aliyun.com/api/ICE/2020-11-09/CreateCustomizedVoiceJob?tab=DEMO&lang=JAVA

SDK开发包使用方法:https://help.aliyun.com/document_detail/262200.html?spm=a2c4g.378655.0.0.534f5068p0WEYq

在这里插入图片描述

运行实例注意区分SDK版本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/29479.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSCode下载安装(保姆级--一步到胃)

前言 Visual Studio Code&#xff08;简称“VSCode” &#xff09;是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的&#xff0c;针对于编写现代Web和云应用的跨平台源代码编辑器&#xff0c;可在桌面上运行&#xff0c;并且…

基于小波哈尔法(WHM)的一维非线性IVP测试问题的求解(Matlab代码实现)

&#x1f4a5;1 概述 小波哈尔法&#xff08;WHM&#xff09;是一种求解一维非线性初值问题&#xff08;IVP&#xff09;的数值方法。它基于小波分析的思想&#xff0c;通过将原始问题转化为小波空间中的线性问题&#xff0c;然后进行求解。以下是一维非线性IVP测试问题的求解…

javaee jstl表达式

jstl是el表达式的扩展 使用jstl需要添加jar包 package com.test.servlet;import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;import javax.servlet.ServletException; import javax.servlet…

CSS 实现 Turbo 官网 3D 网格线背景动画

转载请注明出处&#xff0c;点击此处 查看更多精彩内容 查看 Turbo 官网 时发现它的背景动画挺有意思&#xff0c;就自己动手实现了一下。下面对关键点进行解释说明&#xff0c;查看完整代码及预览效果请 点击这里。 简单说明原理&#xff1a;使用 mask-image 遮罩绘制网格&a…

vue2的 element 表格单元格合并

<template><div><el-table show-summary :summary-method"getSummaries" :span-method"objectSpanMethod" :data"tableData" row-key"id" ref"tableDom" border><el-table-column label"序号&quo…

Linux: cannot read file data

报错&#xff1a; Could not load library libcudnn_cnn_infer.so.8. Error: /home/qc/miniconda3/envs/DNAqc/lib/python3.10/site-packages/torch/lib/libcudnn_cnn_infer.so.8: cannot read file data Please make sure libcudnn_cnn_infer.so.8 is in your library path! A…

jupyter定制数学函数

from math import * #导入绘图模块 import numpy as np #导入数值计算模块 import matplotlib.pyplot as plt #导入绘图模块 plt.rcParams[font.sans-serif][SimHei] #绘图中文 plt.rcParams[axes.unicode_minus]False #绘图负号 import mpl_toolkits.axisartist as axisartist…

ifconfig不是eth0(eth1/2/3/4其他网卡)的解决办法

1. 编辑你网卡的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0&#xff0c;更改eth0中HWADDR 更改为eth1网卡的信息&#xff08;这里是16位的mac地址&#xff09; 2. 编辑配置文件 vi /etc/udev/rules.d/70-persistent-net.rules 打开该文件&#xff0c;这时你会发现&…

人才输送|我的“捷码低代码工程师”转型之路!

最新职位 招聘岗位&#xff1a;低代码工程师 需求公司&#xff1a;上海北斗西虹桥基地 应聘条件&#xff1a;1、本科以上&#xff0c;最好硕士&#xff1b;2、有三年以上开发经验&#xff1b; 工作内容&#xff1a;带领团队用捷码低代码平台进行项目开发。 工作地点&#xff1a…

Docker 容器生命周期:创建、启动、暂停与停止----从创建到停止多角度分析

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

活动页服务端渲染探索

目标 通过采用在服务端渲染激励页的方式&#xff0c;降低页面加载白屏时间&#xff0c;从而提升激励 H5 渲染体验。 架构设计 前端服务框架调研选型 只对比分析以下两种方案&#xff1a; Vue3 Nuxt3 WebpackNext.js React Node.js ’Nuxt3Next.js介绍Nuxt是一个基于Vu…

pytest 禁用警告信息(忽略警告信息输出)

如图示例代码&#xff0c;提示test_001这个case 存在警告 新增pytest.ini 配置文件 [pytest] filterwarnings errorignore::UserWarning