【modlearts】华为人工智能平台_modelarts平台系列教程3_预置算法_语音处理3


前言

华为modelarts训练,能够面向三类用户提供解决AI开发支持。对于无AI基础的业务开发员,可以使用自动学习模型。全程无需写代码,一键启动训练&部署。对于AI初学者,使用预置的算法,少量的代码即可调用。对于AI深度玩家,可以使用modlearts内置的notebook,自研的MoXingSDK,简化代码。

modlearts内置了很多算法,这些算法我们可以直接调用。只需要少量的代码,即可实现功能。
在这里插入图片描述
如上图所示
华为云平台提供了一些使用场景。这些场景覆盖了图像处理,语音处理,和自然语言的处理。多个场景


1.场景简介

华为云上的语音交互服务中,有语音合成和语音识别服务,本实验的内容是定制版语音合成和定制版的一句话识别服务。
语音合成(Text To Speech,TTS),又称文语转换,是一种将文本转换成逼真语音的服务。语音合成以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取语音合成结果,将用户输入的文字合成为音频。通过音色选择、自定义音量、语速,为企业和个人提供个性化的发音服务。
语音识别(Automatic Speech Recognition,ASR),将口述音频转换为文本。语音识别以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取语音识别结果。当前语音识别提供了短语音识别和长语音识别功能,短语音识别对时长较短的语音识别速度更快,长语音识别对时长较长的录音文件转写效果更好。
一句话识别服务:可以实现1分钟以内、不超过4MB的音频到文字的转换。对于用户上传的完整的录音文件,系统通过处理,生成语音对应文字内容。

2.代码解析

载语音交互服务的
Python SDK
data文件夹中的数据我们可以用,代码与data文件夹同级别即可,我们也可以使用自己的数据放在data文件夹中。

2.1语音合成

步骤 1 导入所需要的包

from huaweicloud_sis.client.tts_client import TtsCustomizationClient
from huaweicloud_sis.bean.tts_request import TtsCustomRequest
from huaweicloud_sis.bean.sis_config import SisConfig
from huaweicloud_sis.exception.exceptions import ClientException
from huaweicloud_sis.exception.exceptions import ServerException
import json

步骤 2 配置相关参数

ak = "***"  #配置自己的ak
sk = "***"  #配置自己的sk
project_id = "***" #配置自己的project_id
region = "cn-north-4" #默认使用北京-4区,对应的区域代码即为cn-north-4

步骤 3 配置数据和保存路径

text = '兽人永不为奴,除非包吃包住'           # 待合成文本,不超过500字
path = 'test.wav'           # 保存路径,可在设置中选择不保存本地

步骤 4 初始化客户端

config = SisConfig()
config.set_connect_timeout(5)       # 设置连接超时,单位s
config.set_read_timeout(10)         # 设置读取超时,单位s    
ttsc_client = TtsCustomizationClient(ak, sk, region, project_id, sis_config=config)
步骤 5	构造请求
ttsc_request = TtsCustomRequest(text)
# 设置请求,所有参数均可不设置,使用默认参数
# 设置属性字符串, language_speaker_domain, 默认chinese_xiaoyan_common, 参考api文档
ttsc_request.set_property('chinese_xiaoyan_common')
# 设置音频格式,默认wav,可选mp3和pcm
ttsc_request.set_audio_format('wav')
# 设置采样率,8000 or 16000, 默认8000
ttsc_request.set_sample_rate('8000')
# 设置音量,[0, 100],默认50
ttsc_request.set_volume(50)
# 设置音高, [-500, 500], 默认0
ttsc_request.set_pitch(0)
# 设置音速, [-500, 500], 默认0
ttsc_request.set_speed(0)
# 设置是否保存,默认False
ttsc_request.set_saved(True)
# 设置保存路径,只有设置保存,此参数才生效
ttsc_request.set_saved_path(path)

步骤 6 语音合成测试
#发送请求,返回结果。如果设置保存,可在指定路径里查看保存的音频。

result = ttsc_client.get_ttsc_response(ttsc_request)
print(json.dumps(result, indent=2, ensure_ascii=False))

trace_id代表服务内部的令牌,可用于在日志中追溯具体流程,调用失败无此字段,在某些错误情况下可能没有此令牌字符串;result代表调用成功表示识别结果,调用失败时无此字段。data代表语音数据,base64编码格式返回。
保存的语音数据如下:
在这里插入图片描述

2.2 语音识别

步骤和之前都是一样
返回结果

result = asr_client.get_short_response(asr_request)
print(json.dumps(result, indent=2, ensure_ascii=False))

输出结果

{
  "trace_id": "3144bf30-c06d-42ea-b0ed-adb35751e866",
  "result": {
    "text": "兽人永不为奴,除非包吃包住。",
    "score": 0.7765163653009842
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值