调用华为API实现语音合成

目录

  • 1.作者介绍
  • 2.华为云语音合成
    • 2.1 语音合成介绍
    • 2.2 华为语音合成服务
    • 2.3 应用场景
  • 3. 实验过程以及结果
    • 3.1 获取API密钥
    • 3.2 调用语音合成算法API
    • 3.3 实验代码
    • 3.4 运行结果

1.作者介绍

袁斌,男,西安工程大学电子信息学院,2023级研究生
研究方向:医学影像大数据分析
电子邮件:1424233159@qq.com

吴思雨,女,西安工程大学电子信息学院,2023级研究生
研究方向:机器视觉与异常检测
电子邮件:2879944563@qq.com

2.华为云语音合成

2.1 语音合成介绍

语音合成技术,通常被称为文本到语音(Text-to-Speech,TTS),是一种将书面文本转换为自然语音的技术。其主要应用包括为视障人士提供信息获取渠道、智能语音助手、自动化呼叫中心,以及内容创作中的配音等。语音合成技术的发展历程可以大致分为几个阶段:基于规则的合成、统计参数合成(如隐马尔可夫模型,HMM),以及近年来的深度学习方法(如基于神经网络的WaveNet、Tacotron等)。

2.2 华为语音合成服务

华为语音合成服务,是一种将文本转换成逼真语音的服务。用户通过实时访问和调用API获取语音合成结果,将用户输入的文字合成为音频。通过音色选择、自定义音量、语速,为企业和个人提供个性化的发音服务。

2.3 应用场景

1.语音导航
使用语音合成服务将车载导航数据转换成语音素材,为用户提供精确的语音导航服务。利用个性化定制能力,提供丰富的导航语音服务。
在这里插入图片描述2.有声读物
将书籍、杂志、新闻的文本内容转换成逼真的人声发音,充分解放人们的眼睛,在搭乘地铁、开车、健身等场景下获取信息、享受乐趣。
在这里插入图片描述
3.电话回访
在客服系统场景中,通过语音合成服务将回访内容转换成人声,直接使用语音和客户交流,提升用户体验。
在这里插入图片描述
4.智能教育
将书本上的文本内容合成为语音,接近真人的发音可模拟真人教学场景,实现课文的朗读和带读,帮助学生更好地理解和掌握教学内容。
在这里插入图片描述

3. 实验过程以及结果

3.1 获取API密钥

1、注册华为云账号,进行实名认证,开通服务。
2、AK/SK认证,下载文件credentials.csv。
3、登录控制台。
4、单击页面右上角的用户名,并选择“我的凭证”。进入“我的凭证”页面:
在这里插入图片描述
单击“访问秘钥”页签下的“新增访问密钥”。弹出“新增访问密钥”对话框:
在这里插入图片描述
输入“登录密码”,如果绑定了手机或者邮箱,还需要获取验证码并进行验证。验证成功后,弹出访问密钥下载对话框。单击“确定”,并根据提示下载保存访问密钥。如果已生成过AK/SK,找到原来已下载的AK/SK文件,文件名一般为:credentials.csv。

3.2 调用语音合成算法API

1、点击开发者页面下的开发工具
在这里插入图片描述
2、单击API Explorer进入华为云OpenAPI页面,搜索语音交互。
在这里插入图片描述
3、设置参数
输入需要语音合成的文本,设置语音格式,采样率,语种等参数,示例:
在这里插入图片描述
待合成的文本:明月几时有,把酒问青天?
语音格式头: mp3
采样率 : 8000
语种: chinese_xiaoqi_common 小琪,标准女声发音人
4、API 3.0 Explorer 在线接口调试图
在这里插入图片描述
调试成功之后,将自动生成的python代码复制即可,但是一定要记得填入自己的"AK/SK"!!

3.3 实验代码

将ak,sk等参数修改为获取的密钥,运行成功后获得temp.mp3文件,正是所输入文本的语音。

# coding: utf-8
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdksis.v1.region.sis_region import SisRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdksis.v1 import *
import base64
def base64_to_file(base64_string, file_path):
    # 将base64字符串解码为字节流
    decoded_bytes = base64.b64decode(base64_string)
    # 将字节流写入文件
    with open(file_path, 'wb') as file:
        file.write(decoded_bytes)
if __name__ == "__main__":
    ak = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")
    projectId = "6093a8e9e016484f9f9ccb3e85d1af45"
    credentials = BasicCredentials(ak, sk, projectId)
    client = SisClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(SisRegion.value_of("cn-east-3")) \
        .build()
    try:
        request = RunTtsRequest()
        configbody = TtsConfig(
            audio_format="mp3",
            sample_rate="8000",
            _property="chinese_xiaoqi_common",
            speed=10,
            pitch=10,
            volume=50
        )
        request.body = PostCustomTTSReq(
            config=configbody,
            text="明月几时有,把酒问青天"
        )
        response = client.run_tts(request)
        print(response)
        base64_to_file(response.result.data, "temp.mp3")
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

3.4 运行结果

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【百万字详解Redis】集群

文章目录 一、集群模式概述1.1、什么是集群模式1.2、集群模式特点1.3、集群工作方式 二、集群模式的搭建2.1、搭建前的准备2.2、修改集群配置2.3、启动redis服务2.4、创建集群2.5、查看redis服务状态2.6、进入一个节点2.7、测试操作 三、集群操作3.1、主从切换3.2、从节点操作3…

重塑楼宇管理:智慧管控可视化开启高效新篇章

借助图扑智慧楼宇管控可视化技术,实现实时监控与智能化管理,快速响应潜在问题,确保楼宇安全、节能和高效运行。

【Mybatis】动态SQL标签3

foreach标签是使用举例 在实际应用中,我常常需要根据多个id批量的操作: 查询指定id的记录: 这时就可以用foreach标签: collection"ids" : 接口上传过来的数值或list集合或者map集合都可以 item"id&…

50etf期权怎么开户?期权懂有几种方式?

今天带你了解50etf期权怎么开户?期权懂有几种方式?50ETF期权开户可以通过证券公司、期权交易平台或期权交易应用进行。投资者需填写开户申请表格,提供身份证明和其他资料,完成开户手续。 50etf期权怎么开户? 满足资金…

linux内存缓存占用过高分析和优化

1、什么是buffer/cache ? buffer/cache其实是作为服务器系统的文件数据缓存使用的,尤其是针对进程对文件存在read/write操作的时候,所以当你的服务进程在对文件进行读写的时候,Linux内核为了提高服务的读写速度,则将会…

亘古真知

目录 一,概述 二,个人面板 三,科技面板 四,手牌 五,回合 1,行动 (1)打造 (2)学习 (3)归档 (4)挖掘 …

网信办大模型备案全网最详细流程【附附件】

本文要点:大模型备案最详细说明,大模型备案条件有哪些,《算法安全自评估报告》模板,大模型算法备案,大模型上线备案,生成式人工智能(大语言模型)安全评估要点,网信办大模型备案。 大模型备案安…

用你熟悉的语言就能开发智能合约,Vara Network 以 WASM 解锁未来应用创新

Vara Network 自推出以来,凭借其基于 Gear Protocol 的独特架构和强大的开发工具,为开发者提供了一个高效、安全的智能合约构建平台。Vara Network 通过采用先进的 Actor 模型、持久内存概念和 WebAssembly 技术,实现了异步消息处理、并行计算…

湖南源点(市场研究咨询)如何产出更加有意义的竞品调研

湖南源点咨询认为:当前,任何项目都不能盲目开始,前期的准备工作必不可少。在基础架构搭建的同时,设计上对于前端功能、用户体验的调研就优先开始了。在这个阶段,大部分设计师都会分配很多调研任务,疯狂对竞…

YOLOv5改进总目录 | backbone、Neck、head、损失函数,注意力机制上百种改进技巧

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏地址: YOLOv5改进入门——持续更新各种有效涨点方法 点击即可跳转 报错 解决Yolov5的RuntimeError: result type Float can…

Leetcode:括号生成

题目链接:22. 括号生成 - 力扣(LeetCode) 题目分析 1、括号的类型只有()一种,没有{}或者[] 2、括号可以进行多层嵌套 3、有效的括号组合需要满足以下两个条件(任意一个子串)&am…

Qt5学习笔记(一):Qt Widgets Application项目初探

笔者长期使用MFC开发Windows GUI软件。随着软件向Linux平台迁移的趋势越发明朗,GUI程序的跨平台需求也越来越多。因此笔者计划重新抓一下Qt来实现跨平台GUI程序的实现。 0x01. 看看Qt Widgets Application项目结构 打开Qt5,点击“ New”按钮新建项目。…

了解Java内存模型(Java Memory Model, JMM)

了解Java内存模型(Java Memory Model, JMM) Java内存模型(Java Memory Model, JMM)是Java语言规范中规定的一组规则,定义了多线程程序中变量(包括实例字段、静态字段和数组元素)的访问方式。JM…

ChatGPT-4o, 腾讯元宝,通义千问对比测试中文文化

国内的大模型应用我选择了国内综合实力最强的两个,一个是腾讯元宝,一个是通义千问。其它的豆包,Kimi,文心一言等在某些领域也有强于竞品的表现。 问一个中文文化比较基础的问题,我满以为中文文化chatGPT不如国内的大模型。可事实…

pdf文件在线压缩网站,pdf文件在线压缩工具软件

在数字化时代的今天,PDF文件已经成为我们日常生活和工作中不可或缺的一部分。然而,随着PDF文件的广泛使用,其文件大小问题也日益凸显。过大的PDF文件不仅占用了大量的存储空间,而且在传输和共享过程中也往往面临诸多不便。因此&am…

【日记】遇到了一个 “不愿睁眼看世界也没受过社会毒打” 的逆天群友(464 字)

正文 今天坐在柜台玩了一天手机…… 手机都玩没电了快。下午在劝一个群友睁眼看世界,实在劝不动。他真的太逆天了,我不清楚这么高学历的人,怎么能说出这么天真的话。逆天又离谱。 晚上的时间几乎全在做家务。平时晚上都是跳舞来着&#xff0c…

LeetCode LRU缓存

题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,…

关于 spring boot 的 目录详解 和 配置文件 以及 日志

目录 配置文件 spring boot 的配置文件有两种格式,分别是 properties 和 yml(yaml)。这两种格式的配置文件是可以同时存在的,此时会以 properties 的文件为主,但一般都是使用同一种格式的。 格式 properties 语法格…

Web UI自动化测试_Selenium+Python

一、概述: 1.1 Selenium是什么 Selenium 是一个基于浏览器的自动化工具,可以跨平台、跨浏览器使用。 Selenium 主要包括三部分: 1、Selenium IDE: Firefox 浏览器的一个插件(扩展),它可以进行…