腾讯AI开放平台使用

一、腾讯AI开放平台

https://ai.qq.com/

二、腾讯AI平台支持的功能

三、签名机制

1.计算步骤

用于计算签名的参数在不同接口之间会有差异,但算法过程固定如下4个步骤。

1.将<key, value>请求参数对按key进行字典升序排序,得到有序的参数对列表N

2.将列表N中的参数对按URL键值对的格式拼接成字符串,得到字符串T(如:key1=value1&key2=value2),URL键值拼接过程value部分需要URL编码,URL编码算法用大写字母,例如%E8,而不是小写%e8

3.将应用密钥以app_key为键名,组成URL键值拼接到字符串T末尾,得到字符串S(如:key1=value1&key2=value2&app_key=密钥)

4.对字符串S进行MD5运算,将得到的MD5值所有字符转换成大写,得到接口请求签名

2.注意事项

1.不同接口要求的参数对不一样,计算签名使用的参数对也不一样

2.参数名区分大小写,参数值为空不参与签名

3.URL键值拼接过程value部分需要URL编码

4.签名有效期5分钟,需要请求接口时刻实时计算签名信息

3.参考代码

import time
import random
import string
import base64
import hashlib
import requests
from urllib.parse import urlencode
from collections import OrderedDict

class Sign:
    def __init__(self):
        self.app_id = 12345    # APP_ID
        self.app_key = ‘12345‘   # APP_KEY

    @property
    def time_stamp(self):
        t = time.time()
        return int(t)

    def random_string(self, num=16):
        s = string.ascii_lowercase + string.digits
        r = random.sample(s, num)
        return ‘‘.join(r)

    def add_field(self, dic):
        dic[‘app_id‘] = self.app_id
        # 生成时间戳
        dic[‘time_stamp‘] = self.time_stamp
        # 生成随机字符串
        dic[‘nonce_str‘] = self.random_string()
        return dic

    def add_sign(self, dic):
        d = OrderedDict()
        # 将字典进行排序
        for k in sorted(dic):
            d[k] = dic[k]
        # 将排序后的字典进行urlencode编码,得到字符串
        s = urlencode(d, encoding=‘utf-8‘)
        # 把app_key拼接到字符串
        s += ‘&app_key={}‘.format(self.app_key)
        md = hashlib.md5()
        md.update(s.encode(‘utf-8‘))
        # 将字符串进行md5运算得到签名
        m = md.hexdigest().upper()
        dic[‘sign‘] = m
        return dic

四、语音合成功能的使用

import time
import random
import string
import base64
import hashlib
import requests
from urllib.parse import urlencode
from collections import OrderedDict

class Sound:
    def __init__(self):
        self.app_id = 12345  # APP_ID
        self.app_key = ‘12345‘  # APP_KEY

    @property
    def time_stamp(self):
        t = time.time()
        return int(t)

    def random_string(self, num=16):
        s = string.ascii_lowercase + string.digits
        r = random.sample(s, num)
        return ‘‘.join(r)

    def add_field(self, dic):
        dic[‘app_id‘] = self.app_id
        dic[‘time_stamp‘] = self.time_stamp
        dic[‘nonce_str‘] = self.random_string()
        return dic

    def add_sign(self, dic):
        d = OrderedDict()
        for k in sorted(dic):
            d[k] = dic[k]
        s = urlencode(d, encoding=‘utf-8‘)
        s += ‘&app_key={}‘.format(self.app_key)
        md = hashlib.md5()
        md.update(s.encode(‘utf-8‘))
        m = md.hexdigest().upper()
        dic[‘sign‘] = m
        return dic

    # 合成语音
    def speech_synthesis(self, file_name=None, speaker=6, format=3, volume=0, speed=100, text=None, aht=0, apc=58):
        if text == None:
            text = ‘请输入想要转换的文字!‘
        if file_name == None:
            file_name = ‘test.mp3‘
        dic = {
            ‘aht‘: aht,
            ‘apc‘: apc,
            ‘text‘: text,
            ‘speed‘: speed,
            ‘format‘: format,
            ‘volume‘: volume,
            ‘speaker‘: speaker,
        }
        # 生成字典
        dic = self.add_field(dic)
        # 获得签名后的字典
        dic = self.add_sign(dic)
        # 发post请求,把获得签名后的字典作为data
        ret = requests.post(url=‘https://api.ai.qq.com/fcgi-bin/aai/aai_tts‘, data=dic).json()
        # 将请求结果中的音频数据进行base64解码,然后写入文件
        with open(file_name, ‘wb‘) as f:
            audio = base64.b64decode(ret[‘data‘][‘speech‘])
            f.write(audio)

if __name__ == ‘__main__‘:
    s = Sound()
    s.speech_synthesis(file_name=‘001.mp3‘, text=‘我爱你,中国!‘)

原文地址:https://www.cnblogs.com/Coufusion/p/10069385.html

时间: 2024-10-18 12:02:29

腾讯AI开放平台使用的相关文章

百度AI开放平台- API实战调用

百度AI开放平台- API实战调用 一.      前言 首先说一下项目需求. 两个用户,分别上传了两段不同的文字,要计算两段文字相似度有多少,匹配数据库中的符合条件的数据,初步估计列出来会有60-100条左右,不会更多,只会更少.最终的需求是:从这些匹配结果中找到相似度较高的那些条目. 自己编写算法来实现是一个很大的工程,涉及到自然语言处理的一些方面,比较复杂.于是上网搜了搜,发现百度开放平台的自然语言处理可以免费调用,而且每天有10W的调用次数,对我的小项目来说正好满足.但是,在往下翻的时候

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

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

讯飞开放平台上线业界首个多生物特征融合认证方案

年末岁初,是各类犯罪案件的高发时段,而其中不法分子通过倒卖.盗取他人身份信息后,利用身份认证漏洞可办理银行卡.电话卡,进而从事各种违法犯罪活动的案件近来尤为常见.从前不久微信H5链接盗取支付宝存款的谣言散播中可见广大用户对身份安全认证,尤其是金融领域的安全认证的一贯担忧.话说讯飞开放平台刚刚上线多生物特征融合认证方案,免费向业界开发者开放,“声纹+人脸”验证护航全民信息安全.一起来探讨下,到底有什么特点?案例演示地址:讯飞开放平台多生物特征融合认证方案 信息时代掉,队的身份验证 身处信息社会,如

语音识别、语音合成使用基础(讯飞开放平台)

1.在http://www.xfyun.cn进入讯飞开放平台. 创建应用 创建完毕 下载SDK(单个或组合下载):选择服务 选择平台 选择自己之前创的应用 2.下载完毕后,将(F:\讯飞开放平台\Android_voice_1098_574d92ab\libs)libs里面的Msc.jar.armeabi复制到项目中 其中在官网的资料库-开发集成-Android平台有教你怎么使用. 例子: 1.布局分布如下 <LinearLayout xmlns:android="http://schem

百度AI开放平台,共建AI生态

2016年,百度开始把积累多年的人工智能技术全面对外开放,从底端智能云,中间百度大脑,到顶层的DuerOS,百度打造整体人工智能开放生态,旨在帮助企业.业界能够更快速的使用.应用人工智能的技术去发展,为人类带来更好的生活.在此背景下,为了更加全面的了解百度AI开放平台及AI生态,将由百度AI技术生态部产品负责人刘倩为大家介绍百度在人工智能开放平台与开放生态方面的思考.进展以及沉淀. 以下为刘倩老师演讲实录 百度AI开放生态战略的中流砥柱---百度大脑 百度AI开放生态是从底端智能云,中间百度大脑

2018虹软视觉AI开放平台开发者大赛,助力开发者梦想起航

过去,人们因为出门忘带钥匙而烦恼,因为排队检票人山人海而焦灼-- 自从有了人脸识别算法赋能,出门不用再带钥匙,排队实时人证核验检票--刷脸轻松畅行. 对于人脸识别黑科技感兴趣的你是不是也跃跃欲试呢? 现在机会来了,2018虹软AI开放平台开发者大赛9月30日正式上线,不用等待 "1024,智见未来"虹软视觉人工智能开放平台开发者大赛是一个面向全球开发者,致力于汇集AI产业生态资源,为广大开发者和AI从业人员提供实践创新平台的技术比赛. 虹软希望通过提供这样一片沃土,推动视觉人工智能前沿

基于百度AI开放平台的人脸识别及语音合成

基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜值等信息,将信息返回到Web界面进行显示. (2)人脸比对 在Web界面上传两张人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口比对照片信息,返回相似度. (3)语音识别 在Web页面上传语音文件,判断语音文件格式,如果不是wav格式进行转码处理,然后调用平台接口进行识别,

神目AI开放平台 新添免费表情识别,车牌识别,安全帽识别SDK

秉承着分享.创新.共赢的理念,神目AI开放平台自年初上线以后,先后推出人脸识别.活体识别多平台算法.在近一年时间助力生态伙伴多行业场景应用落地,包括雪亮工程.雪亮社区系统.智慧楼宇系统.教室点名系统.访客管理系统等,应用中展现出高抓拍率.高识别率.高识别速度.高鲁棒性等优势,高效助力客户推进AI技术的商业落地. 近日,基于更多应用场景需求,我们的AI开放平台再次升级,为广大人工智能生态伙伴及客户带来了基于IE浏览器的人脸活体检测插件.车牌识别.安全帽识别.表情识别算法SDK. 新发布的AI算法覆

百度AI开放平台 UNIT平台开发在线客服 借助百度的人工智能如何开发一个在线客服系统

这段时间在研究一些人工智能的产品,对比了国内几家做人工智能在线客服的,有些接口是要收费的,有些是免费的,但是做了很多限制,比如每天调用的接口次数限制是100次.后来就找到了百度的AI,大家也知道,目前国内做AI的,应该就算百度比较超前了. 于是就开始研究吧. 百度AI的网址http://ai.baidu.com/    然后就看百度的UNIT的文档    地址参见 https://ai.baidu.com/docs#/UNIT-v2-download/top UNIT机器人对话API文档.里面的