AI百度接口以及图灵接口的使用

百度AI接口

AI智能种类方向

耳朵 = 倾听 = 麦克风 = 语音识别 ASR:Automatic Speech Recognition

嘴巴 = 诉说 = 扬声器 = 语音合成 TTS:Text To Speech

眼睛 = 观察 = 摄像头 = 图像识别 IR:Image Recognition

思考 = 理解 = 逻辑处理 = 自然语言处理:NLP Natural Language Processing

更多种类方向详见百度AI开放平台文档https://ai.baidu.com/docs#/

以下均为使用百度AI开放平台:https://ai.baidu.com/ 以及图灵机器人:http://www.turingapi.com/ 且需导入baidu-aip包,用pip3 install baidu-aip

ASR语音识别

文档帮助

https://ai.baidu.com/docs#/ASR-Online-Python-SDK/top

步骤

l  首先需要将录好的音频文件格式转换为”pcm”格式,用到了ffmpeg工具,解压后直接剪切文件夹到自定义的目录下,然后切换到文件夹中的bin目录下,复制路径添加到path中。

ffmpeg下载地址:链接: https://pan.baidu.com/s/1HQhbcrj806OWCTzJDEL5vw 提取码: 2333

转换语音文件代码:

1 import os
2
3 filepath = input(‘请输入文件路径:‘)
4 print(filepath)
5 filename = filepath[:-4:]  # 仅限于m4a格式,可根据文件格式后缀长度更改
6 print(filename)
7 cmd_pcm = f"ffmpeg -y -i {filepath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filename}.pcm"
8 os.system(cmd_pcm)
9 print(‘格式更改完成!‘)

l  转换好以后,在ASR语音识别代码中用到:

 1 from aip import AipSpeech
 2
 3
 4 """ 你的 APPID AK SK """
 5 APP_ID = ‘你的ID‘
 6 API_KEY = ‘你的KEY‘
 7 SECRET_KEY = ‘你的KEY‘
 8
 9 client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
10
11
12 # 读取文件
13 def get_file_content(filepath):
14     with open(filepath, ‘rb‘) as fp:
15         return fp.read()
16
17
18 # 识别本地文件
19 filepath=input(‘请输入语音文件路径:‘)
20 res=client.asr(get_file_content(filepath), ‘pcm‘, 16000, {
21     ‘dev_pid‘: 1536,
22 })
23
24
25 print(res.get(‘result‘)[0])

TTS语音合成

文档帮助

https://ai.baidu.com/docs#/TTS-Online-Python-SDK/top

代码

 1 import os
 2 from aip import AipSpeech
 3
 4 """ 你的 APPID AK SK """
 5 APP_ID = ‘需要更改处‘
 6 API_KEY = ‘需要更改处‘
 7 SECRET_KEY = ‘需要更改处‘
 8
 9 client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
10
11 content = input(‘请输入需要转换成语音的内容:‘)
12 result = client.synthesis(content, ‘zh‘, 1, {
13     ‘vol‘: 5,
14 })
15
16 # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
17 if not isinstance(result, dict):
18     with open(os.getcwd() + ‘\statics\\TTS.mp3‘, ‘wb‘) as f:
19         f.write(result)
20
21 print(‘转换完成!‘)

NLP自然语言处理

文档帮助

https://ai.baidu.com/docs#/NLP-Python-SDK/top

代码

 1 from aip import AipNlp
 2
 3 """ 你的 APPID AK SK """
 4 APP_ID = ‘需要更改‘
 5 API_KEY = ‘需要更改‘
 6 SECRET_KEY = ‘需要更改‘
 7
 8 client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
 9 text1 = input(‘输入对比的字段1:‘)
10 text2 = input(‘输入对比的字段2:‘)
11 res = client.simnet(text1, text2)
12 print(res)
13 print(res.get(‘score‘))

图灵接入

文档帮助

https://www.kancloud.cn/turing/www-tuling123-com/718227

代码

import requests

question=input(‘输入想要提问的问题:‘)

data = {
    "reqType": 0,
    "perception": {
        "inputText": {
            "text": question
        },
        "inputImage": {
            "url": "imageUrl"
        },
        "selfInfo": {
            "location": {
                "city": "北京",
                "province": "北京",
                "street": "信息路"
            }
        }
    },
    "userInfo": {
        "apiKey": "需要更改",
        "userId": "需要更改"
    }
}
res = requests.post(‘http://openapi.tuling123.com/openapi/api/v2‘, json=data)
res_dict = res.json()
print(res_dict.get("results")[0].get("values").get("text"))

语音加图灵结合

 1 import requests
 2 from aip import AipSpeech
 3
 4
 5 def Asr():
 6     """ 你的 APPID AK SK """
 7     APP_ID = ‘需要更改‘
 8     API_KEY = ‘需要更改‘
 9     SECRET_KEY = ‘需要更改‘
10
11     client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
12
13     # 读取文件
14     def get_file_content(filepath):
15         with open(filepath, ‘rb‘) as fp:
16             return fp.read()
17
18     # 识别本地文件
19     filepath = input(‘请输入语音文件路径:‘)
20     res = client.asr(get_file_content(filepath), ‘pcm‘, 16000, {
21         ‘dev_pid‘: 1536,
22     })
23     return res.get(‘result‘)[0]
24
25
26 data = {
27     "reqType": 0,
28     "perception": {
29         "inputText": {
30             "text": Asr()
31         },
32         "inputImage": {
33             "url": "imageUrl"
34         },
35         "selfInfo": {
36             "location": {
37                 "city": "北京",
38                 "province": "北京",
39                 "street": "信息路"
40             }
41         }
42     },
43     "userInfo": {
44         "apiKey": "需要更改",
45         "userId": "需要更改"
46     }
47 }
48 res = requests.post(‘http://openapi.tuling123.com/openapi/api/v2‘, json=data)
49 res_dict = res.json()
50 print(res_dict.get("results")[0].get("values").get("text"))

语音图灵结合

结果

图灵

百度

原文地址:https://www.cnblogs.com/1oo88/p/11283898.html

时间: 2024-10-07 04:55:36

AI百度接口以及图灵接口的使用的相关文章

Java6.0中Comparable接口与Comparator接口详解

Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者都吃饱撑着没事做吗? 再谈Comparator接口之前,大家应该先了解一个叫“策略模式”的东东.一下是百度百科对策略模式的描写: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化.(原文:The Strategy Pattern

【接口】常见接口集合(返回JSON)

转<JSON校验网站->http://www.bejson.com/go.html?u=http://www.bejson.com/webInterface.html 这里为大家搜集了一些能够返回JSON格式的服务接口.部分需要用JSONP调用. 电商接口 京东获取单个商品价格接口: http://p.3.cn/prices/mgets?skuIds=J_商品ID&type=1 用例 ps:商品ID这么获取:http://item.jd.com/954086.html 物流接口 快递接

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J

Java基础之集合框架(Collection接口和List接口)

首先我们说说集合有什么作用. 一.集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量的条目: 3.有的集合接口,提供一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素: 例如:做广播操的时候,可以将学生插入到某排某列,反之也可以叫某排某列中的学生出列. 4.有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型. 例如:在吃饭的时候,众多铝饭盒中如何区别是自己的呢?在饭盒上刻独有的标志或贴纸条,这个标志和

Comparable接口与Comparator接口的比较————总结

之前的两篇文章主要学习了Comparable接口和Comparator接口的学习.既然已经学习完了,现在就趁热打铁,进行总结吧! Comparable接口和Comparator接口的共同点: 1. 都是为了进行排序.(废话,当然都是进行排序了!!!嘿嘿,大家都能看出来,不过还是写下来了!) 2. 都是接口.(额..又是废话) 除此之外,小编想不出还有什么共同点了!想到了其他的相同点可以在文章下方留言,大家一起学习! 相同点说完了,接下来就是不同点啦. Comparable接口与Comparato

opencv的C语言接口和C++接口差别(入门篇)

opencv是一个开源的图像处理库,最经典的1.0版本号提供的接口都是C语言接口. 后来的opencv2.x版本号保留了C语言接口,可是提供了C++接口,当中的C语言接口仅仅是为了向后兼容,而C++接口才是大势所趋. 那么这两者有什么差别呢?今天介绍一下配置过程中的差别. 以opencv2.3.0和vs2008为例.配置时.先要配置包括文件和库文件,然后在系统变量path中加入dll文件.最后再项目属性中加入附加依赖库.我平时用的功能不多.一般加入这几项opencv_core230.lib.op

转载-- http接口、api接口、RPC接口、RMI、webservice、Restful等概念

http接口.api接口.RPC接口.RMI.webservice.Restful等概念 收藏 Linux一叶 https://my.oschina.net/heavenly/blog/499661 发表于 1年前 阅读 1422 收藏 28 点赞 0 评论 0 摘要: 在这之前一定要好好理解一下接口的含义,我觉得在这一类中接口理解成规则很恰当 在这之前一定要好好理解一下接口的含义,我觉得在这一类中接口理解成规则很恰当.         http接口:基于HTTP协议的开发接口.这个并不能排除没

java.util (Collection接口和Map接口)

1:Collection和Map接口的几个主要继承和实现类                  1.1  Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素而另一些不行.一些能排序而另一些不行.Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的"子接口"如List和Set. 如

接口、接口优点、接口的属性和方法特性、接口与继承的区别、接口与抽象类的区别、匿名实现类、JDK1.8新特性、打印类名称

接口里的属性,必须是公共的/默认的&静态的&Final&初始化后的属性: 接口里所有方法都是抽象的. 接口和继承---先天有的用继承,后天学习的用接口: 接口特性-------- 1.接口不可以被实例化: 2.实现类必须实现接口中所有方法,否则实现类必须是抽象类 3.实现类可以实现多个接口,来弥补Java不能多继承: 4.接口中的变量都是静态常量:(静态的-可以通过类的名字点-直接调用:) ----------------------------------------------