python腾讯语音合成

一、腾讯语音合成介绍

  腾讯云语音合成技术(TTS)可以将任意文本转化为语音,实现让机器和应用张口说话。 腾讯TTS技术可以应用到很多场景,比如,移动APP语音播报新闻;智能设备语音提醒;依靠网上现有节目或少量录音,快速合成明星语音,降低邀约成本;支持车载导航语音合成的个性化语音播报。(废话一大堆)。。。

二、腾讯语音合成python SDK文档

  安装 Python SDK 前,先获取安全凭证。在第一次使用云 API 之前,用户首先需要在腾讯云控制台上申请安全凭证,安全凭证包括 SecretID 和 SecretKey, SecretID 是用于标识 API 调用者的身份,SecretKey 是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。 

 通过 pip 安装(推荐)

    您可以通过 pip 安装方式将腾讯云 API Python SDK 安装到您的项目中,如果您的项目环境尚未安装 pip,请详细参见 pip官网 安装。

    通过pip方式安装请在命令行中执行以下命令:

    pip install tencentcloud-sdk-python

      请注意,如果同时有 python2 和 python3 环境, python3 环境需要使用 pip3 命令安装。

三、腾讯语音合成代码示例

  代码如下:

 1 # !/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 from base64 import b64decode
 4 from uuid import uuid4
 5 from tencentcloud.common import credential
 6 from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
 7 from tencentcloud.aai.v20180522.models import TextToVoiceRequest
 8 from tencentcloud.aai.v20180522.aai_client import AaiClient
 9 try:
10     # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
11     cred = credential.Credential("你的secretID", "你的secretKey")
12     # 实例化要进行语音合成请求的client对象
13     client = AaiClient(cred, ‘ap-shanghai‘)
14     # 实例化一个请求对象
15     req = TextToVoiceRequest(‘先帝创业未半而中道崩殂,今天下三分‘)
16     # 请求对象属性封装
17     req.Text = ‘先帝创业未半而中道崩殂‘  # type: str # 要合成语音的文本
18     req.SessionId = uuid4()  # type: int # 一次请求对应一个SessionId,会原样返回,建议传入类似于uuid的字符串防止重复
19     req.ModelType = 1  # type: int # 模型类型,默认值为1
20     req.Volume = 5.0  # type: float # 音量大小,范围:[0,10],分别对应10个等级的音量,默认为0
21     req.Speed = 0.6  # type: float # 语速,范围:[-2,2],分别对应不同语速:0.6倍,0.8倍,1.0倍,1.2倍,1.5倍,默认为0
22     req.ProjectId = 10086  # type: int # 项目id,用户自定义,默认为0
23     req.VoiceType = 0  # type: int # 音色0:女声1,亲和风格(默认) 音色1:男声1,成熟风格 音色2:男声2,成熟风格
24     req.PrimaryLanguage = 1  # type: int # 主语言类型1:中文,最大100个汉字(标点符号算一个汉字)语言类型2:英文,最大支持400个字母(标点符号算一个字母)
25     req.SampleRate = 16000  # type: int # 音频采样率,16000:16k,8000:8k,默认16k
26     # 通过client对象调用想要访问的接口,需要传入请求对象
27     rep = client.TextToVoice(req)
28     # rep为响应对象
29     print(rep)
30     """
31         {
32         "Audio": "UklGRlR/AABXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YSx9AAD+////AQD//wAAAAAAAAIAAQADAAMABgAEAAYABQAGAAUABwAIAAgACQAAE......AAgACAAEAAgADAAIAAwACAAQAAwACAAIAAgADAAMAAgACAAIAAwABAAAAAAAAAAAAAAD/////AAAAAAAA//8AAP///v/9//7//v///////v8AAP///////wAA/////wAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAA",
33         "RequestId": "9a7a1615-3e09-4db2-8032-5c6f497f7e6a",
34         "SessionId": "session-1234"
35         }
36         Audio对应的值为经过base64编码,
37         RequestId为返回的唯一请求id,
38         SessionId为发送请求时传入的id即uuid4()
39     """
40     # content为base64解码后的二进制流
41     content = b64decode(rep.Audio)
42     # I/O操作
43     with open(‘voice.wav‘, ‘wb‘) as f:
44         f.write(content)
45 except TencentCloudSDKException as e:
46     print(e)

四、腾讯语音合成使用后感受

  首先,在代码层次上讲,官方压根没有合成示例文档啊(咆哮ing),全自己摸索的啊(咆哮ing),SDK都开发出来了,示例代码给一下能死啊(咆哮ing),怪不得没人用啊(咆哮ing)!

  第二,还是在代码层次上讲,源码中TextToVoiceRequest()类,在__init__()方法中就不能直接封装属性啊(咆哮ing),有些没有自定制但都是默认的直接填上不就行了啊(咆哮ing),懒死你啊,非得一行一行自己加属性啊(咆哮ing),看到的同学务必要修改这个类的__init__()方法,要不然就像示例代码中那样麻烦。

  第三,在合成效果上讲,声音难听爆了有木有,语音文件还得解码再I/O,吃饱了撑的了啊,还是那句话:怪不得没人用,百度语音合成效果比你强多了。

  总之,就这样吧,不吐槽你了,真是费劲。。。

原文地址:https://www.cnblogs.com/zepc007/p/10360557.html

时间: 2024-08-05 19:36:19

python腾讯语音合成的相关文章

使用腾讯语音合成技术生成有声书

背景:不知是否在博客园看到的腾讯云平台广告,被AI接口几个项目吸引住了,其中有个   语音合成  接口在这里安利一下,还挺好玩.这个接口提供将一段文字转换成语音的功能,支持中文.英文,遗憾的是暂时无法通过自己的声音进行训练,推出自己独有声音的音频文件:) 不过总体来说,还是相当不错啦,附件中是我用这个接口转换的样例音频文件. DEMO实测,代码案例简单概述: 首先,调用接口肯定得申请appkey,secrect等一堆东西,在这里申请 申请,完成后会获得公共请求参数必须的信息,然后接口调用分为直接

使用科大飞讯语音合成报 20021 引擎错误

错误编码20021为引擎错误,是因为项目本身没有找到它的dll文件和so文件 解决方法: 将从官网下载的包中这4个文件放到项目根目录下 完美运行 原文地址:https://www.cnblogs.com/ACTIM/p/ACTIM.html

Python第一模块

一.Python简介 二.Python种类 三.Python环境  windows: 1.需要配置环境变量 2.更新:卸载重装 linux:1.常用命令: 查看默认Python版本 Python -V 2.安装:yum Install 某某某 四.Hello World 程序:  Windows: print("Hello World!")  linux: >>vim hello.py >> python hello.py Hello World! 五.变量 声

腾讯优图及知脸(ZKface)人脸比对接口测试(python)

一.腾讯优图 1.开发者地址:http://open.youtu.qq.com/welcome/developer 2.接入流程:按照开发者页面的接入流程接入之后,创建应用即可获得所需的AppID.SecretID和SecretKey这是进行接口调用必须的凭证 3.测试流程: 3.1.测试可以直接调用网络接口,或者下载相应语言的sdk(http://open.youtu.qq.com/welcome/developer#/tool-sdk),我采用的是下载python版本的sdk(该sdk对应的

python模拟腾讯网页登录

近日,研究Tencent网页模拟登录的过程,过程有些忐忑.先将结果写于此,供大家参考: 其加密过程在c_login_old.js文件中执行,将JS关键代码提取出来如下: function hexchar2bin(str) { var arr = []; for (var i = 0; i < str.length; i = i + 2) { arr.push("\\x" + str.substr(i, 2)) } arr = arr.join(""); eva

讯飞在线语音合成

讯飞在线语音合成 效果图 源码 下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9062261 下载SDK 1. 选择服务 2. 选择平台 3. 选择应用 4. 下载SDK 说明 之前的工程都是在Eclipse下演示的,随着Android Studio的普及,我这里也开始使用Android Studio写Demo,虽然细节导入jar包和so库的过程可能不太一样,但是整体的流程是一样的. 将jar包和so库导入Andr

用python+selenium将腾讯首页今日话题的内容自动发表到自己cnblog里

目的:使用pyhton下的unittest单元测试框架并结合selenium的webdriver来实现将腾讯首页的今日话题下的内容自动发表达到自己的cnblog里. 创建QQDailyTopic类继承unittest的TestCase类,setUp()方法用于测试执行前的初始化工作,而最后的tearDown()与setUp()方法相呼应,用于测试执行之后的善后工作.python 3.x 和 selenium 2实现代码如下: 1 #coding=utf-8 2 from selenium imp

初探科大讯飞-讯飞开放平台之语音合成

1:讯飞开放平台提供了很多服务,有语音相关的:离线,在线语音合成及识别:人机交互:有模式识别相关的:人脸识别,声纹识别:还要云存储等等,如有兴趣,自行百度. 2:看了下官方SDK,试着体验下.导入两个jar包到lib目录,以及两个dll和so文件放到工程根目录. 本次先体验下语音合成模块. 语音合成主要涉及一个类,如下,完成语音的合成 import com.iflytek.cloud.speech.SpeechConstant; import com.iflytek.cloud.speech.S

android用讯飞实现TTS语音合成 实现中文版

Android系统从1.6版本开始就支持TTS(Text-To-Speech),即语音合成.但是android系统默认的TTS引擎:Pic TTS不支持中文.所以我们得安装自己的TTS引擎和语音包. 在项目中,一开始用的是手说TTS,免费版的,感觉声音很不僵硬,不自然,不连贯.付费版的还要钱激活,如果不激活,限制每次只能度5个字,而且比免费版也好不了多少.最后采用了讯飞语音TTS1.0,发音连贯自然,个人感觉很不错了,以后就用它. 介绍下使用方法: 1.首先下载讯飞的语音包apk,以及语音引擎a