下载语音交互服务的python SDK
https://mirrors.huaweicloud.com/sis-sdk/python/huaweicloud-python-sdk-sis-1.0.0.rar
安装python包管理工具setuptools、requests、websocket-client
语音合成
# -*- coding: utf-8 -*-
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
ak = "******" #配置自己的 ak
sk = "******" #配置自己的 sk
project_id = "*******" #配置自己的 project_id
region = "cn-north-4" #默认使用北京-4 区,对应的区域代码即为 cn-north-4
text = 'I like you,do you like me?' # 待合成文本,不超过 500 字
path = 'data/test.wav' # 保存路径,可在设置中选择不保存本地
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)
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)
#发送请求,返回结果。如果设置保存,可在指定路径里查看保存的音频。
result = ttsc_client.get_ttsc_response(ttsc_request)
print(json.dumps(result, indent=2, ensure_ascii=False))
语音识别
# -*- coding: utf-8 -*-
from huaweicloud_sis.client.asr_client import AsrCustomizationClient
from huaweicloud_sis.bean.asr_request import AsrCustomShortRequest
from huaweicloud_sis.bean.asr_request import AsrCustomLongRequest
from huaweicloud_sis.exception.exceptions import ClientException
from huaweicloud_sis.exception.exceptions import ServerException
from huaweicloud_sis.utils import io_utils
from huaweicloud_sis.bean.sis_config import SisConfig
import json
ak = "******" #配置自己的 ak
sk = "******" #配置自己的 sk
project_id = "******" #配置自己的 project_id
region = "cn-north-4" #默认使用北京-4 区,对应的区域代码即为 cn-north-4
# 一句话识别参数,我们使用语音合成的语音数据,1min 以内的音频
path = 'data/test.wav'
path_audio_format = 'wav' # 音频格式,详见 api 文档
path_property = 'chinese_8k_common' # language_sampleRate_domain, 如 chinese_8k_common,详见api 文档
config = SisConfig()
config.set_connect_timeout(5) # 设置连接超时
config.set_read_timeout(10)
# 设置读取超时
asr_client = AsrCustomizationClient(ak, sk, region, project_id, sis_config=config)#初始化客户端
data = io_utils.encode_file(path)
asr_request = AsrCustomShortRequest(path_audio_format, path_property, data)
# 所有参数均可不设置,使用默认值
# 设置是否添加标点,yes or no,默认 no
asr_request.set_add_punc('yes')
#发送请求,返回结果,返回结果为 json 格式
result = asr_client.get_short_response(asr_request)
print(json.dumps(result, indent=2, ensure_ascii=False))