flask 第六章 人工智能 百度语音合成 识别 NLP自然语言处理+simnet短文本相似度 图灵机器人
百度智能云文档链接 : https://cloud.baidu.com/doc/SPEECH/index.html
1.百度语音合成
概念: 顾名思义,就是将你输入的文字合成语音,例如:
from aip import AipSpeech """ 你的 APPID AK SK """
APP_ID = ''
API_KEY = '5a8u0aLf2SxRGRMX3jbZ2VH0'
SECRET_KEY = 'UAaqS13z6DjD9Qbjd065dAh0HjbqPrzV'
#上面这些东西,都在我们的百度语音的应用列表中 client=AipSpeech(APP_ID,API_KEY,SECRET_KEY) result=client.synthesis('大噶好,吾系渣渣辉,系兄弟就来砍我','zh',1,{
'spd' :4,
'vol' :5,
'pit' :8,
'per' :4
}) #识别征求返回语音二进制,错误则返回dict
if not isinstance(result,dict):
with open('audio.mp3','wb') as f:
f.write(result)
百度语音生成
参数:
tex : 合成的文本,使用UTF-8编码,注意文本长度必须小于1024字节 必须有
culid :用户唯一标识,用来区分用户,填写机器的MAC地址或IMEI码, 长度60以内 不必须有
spd : 语速 ,取值0-15,默认为5(中语速) 不必须有
pit : 音调,取值0-15,默认为5(中语调) 不必须有
vol : 音量,取值0-15,默认为5(中音量) 不必须有
per:发音人选择,0为女声,1位男声,3为情感合成-度逍遥,4为感情合成-度丫丫,默认为0 不必须有
2.百度语音识别
概念: 同上,就是将你的音频文件的内容读出来,相当于电子书
import os from aip import AipSpeech """ 你的 APPID AK SK """
APP_ID = ''
API_KEY = 'uzx4SWZuimPqbE4LvxYScEhi'
SECRET_KEY = '3HBy8yi11ID9T4yyxkADuGYOGyavxPdG' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) #语音合成,通过语音生成文字
def get_file_content(filePath):
os.system(f'ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm')
with open(f'{filePath}.pcm', 'rb') as fp:
return fp.read() # 识别本地文件
ret = client.asr(get_file_content('nszm.m4a'), 'pcm', 16000, {
'dev_pid': 1536,
})
#得出音频文件中的内容,打印出来
print(ret.get('result')[0])
3.百度NLP自然语言处理 -- simnet短文本相似度
from aip import AipNlp """ 你的 APPID AK SK """
APP_ID = '16027160'
API_KEY = 'uzx4SWZuimPqbE4LvxYScEhi'
SECRET_KEY = '3HBy8yi11ID9T4yyxkADuGYOGyavxPdG' client_nlp = AipNlp(APP_ID, API_KEY, SECRET_KEY)
text='大噶好,吾系渣渣辉,是兄弟就来砍我' #这里算出来的是相似度(score)
score=client_nlp.simnet('你叫什么名字呀',text) if score >=0.58:
filename=执行某个函数
os.system(filename)
4.对接图灵机器人 实现智能问答
这里我说一下我的逻辑:
我先通过语音合成弄了一个音频,然后通过语音识别读取出我音频的内容,最后通过连接图灵机器人,进行智能问答
import os from aip import AipSpeech, AipNlp """ 你的 APPID AK SK """
APP_ID = ''
API_KEY = 'uzx4SWZuimPqbE4LvxYScEhi'
SECRET_KEY = '3HBy8yi11ID9T4yyxkADuGYOGyavxPdG' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
client_nlp = AipNlp(APP_ID, API_KEY, SECRET_KEY) # 语音识别,将你输入的文字转化为语音
def AI_voice(file):
result = client.synthesis(file, 'zh', 1, {
'spd': 5,
'vol': 5,
'pit': 5,
'per': 2
})
if not isinstance(result, dict):
with open('audio.mp3', 'wb') as f:
f.write(result) return 'audio.mp3' # 语音合成,通过语音生成文字,在这里只是读出文字,并没有写出来,下面这一步才是将语音中的文字return出来
def get_file_content(file):
os.system(f"ffmpeg -y -i {file} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {file}.pcm")
with open(f'{file}.pcm', 'rb') as fp:
return fp.read() # 返回的是你语音中的消息
def voice_content(file):
result = client.asr(get_file_content(file), 'pcm', 16000, {
'dev_pid': 1536,
})
# print(result.get('result')[0])
return result.get('result')[0] def goto_tl(text, uid):
URL = "http://openapi.tuling123.com/openapi/api/v2"
import requests
data = {
"perception": {
"inputText": {
"text": "你叫什么名字"
}
},
"userInfo": {
"apiKey": "be41cf8596a24aec95b0e86be895cfa9",
"userId": ""
}
} data["perception"]["inputText"]["text"] = text
data["userInfo"]["userId"] = uid
res = requests.post(URL, json=data) print(res.content)
# print(res.text)
# print(res.json())
return res.json().get("results")[0].get("values").get("text") text = voice_content("nszm.m4a")
# 自然语言的处理,比较low版
# 获取相似度
score = client_nlp.simnet('你叫什么名字', text).get('score')
print(score)
if score >= 0.58:
filename = AI_voice('我是你爸爸,我喜欢你妈妈')
os.system(filename) # 将我语音中的内容识别出来,并进行返回,
answer = goto_tl(text, 'XiaoQiang')
name = AI_voice(answer)
os.system(name)
flask 第六章 人工智能 百度语音合成 识别 NLP自然语言处理+simnet短文本相似度 图灵机器人的更多相关文章
- 人工智能-调百度AI接口+图灵机器人
1.登陆百度AI的官网 1.注册:没有账号注册 2.创建应用 3.创建应用 4.查看应用的ID 5.Python代码 from aip import AipSpeech APP_ID = " ...
- Ocr答题辅助神器 OcrAnswerer4.x,通过百度OCR识别手机文字,支持屏幕窗口截图和ADB安卓截图,支持四十个直播App,可保存题库
http://www.cnblogs.com/Charltsing/p/OcrAnswerer.html 联系qq:564955427 最新版为v4.1版,开放一定概率的八窗口体验功能,请截图体验(多 ...
- 百度OCR识别示例
文章地址:https://www.cnblogs.com/Charltsing/p/OcrAnswerer.html 最新版为v4.1版,开放一定概率的八窗口体验功能,请截图体验(多点几次图片).更新 ...
- Flask 教程 第十六章:全文搜索
本文翻译自The Flask Mega-Tutorial Part XVI: Full-Text Search 这是Flask Mega-Tutorial系列的第十六部分,我将在其中为Microblo ...
- Flask&&人工智能AI -- 6 人工智能初识,百度AI,图灵机器人
一.人工智能初识,百度AI的创建与应用 参考连接:https://www.cnblogs.com/xiao987334176/p/9620113.html 1. 百度ai开放平台 2. AipSpee ...
- 精通Web Analytics 2.0 (8) 第六章:使用定性数据解答”为什么“的谜团
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第六章:使用定性数据解答"为什么"的谜团 当我走进一家超市,我不希望员工会认出我或重新为我布置商店. 然而, ...
- 百度语音合成AI
注意:不要使用Dw编辑PHP代码,会因为编码问题出错!!<?php require_once 'AipSpeech.php'; // 你的 APPID AK SK const APP_ID = ...
- 人工智能-基于百度baidu-ai和图灵机器人实现学说话机器人
本文引用了2个js文件,这里提供下CDN资源,! <script type="application/javascript" src="https://cdn.bo ...
- 基于百度ai,图灵机器人,Flask 实现的网站语音智能问答
准备以下模块中的函数 from aip import AipSpeech import time import os import requests APP_ID = '15420654' API_K ...
随机推荐
- PHP操作RabbitMQ的类 exchange、queue、route kye、bind
RabbitMQ是常见的消息中间件.也许是还是不够了解的缘故,感觉功能还好吧. 讲到队列,大家脑子里第一印象是下边这样的. P生产者推送消息-->队列-->C消费者取出消息 结构很简单,但 ...
- Overture里镲片的使用
在我们使用Overture进行作曲编曲时,往往会增添很多乐器设备来使我们的乐器更丰富,今天我们来一起看看Overture里镲片怎么使用以及它在Overture的什么位置呢? 镲片,是一种乐器,通常指爵 ...
- C++读写图片数据转成Base64格式
转载:http://www.cnblogs.com/jeray/p/8746976.html 转载:https://www.cnblogs.com/lujin49/p/4957742.html 转载: ...
- centos7 安装pgsql
1.添加prm安装源(或者从官网下载) PostgreSQL官网地址:https://yum.postgresql.org/ yum install https://download.postgres ...
- ES6常用语法(下)
Symbol类型 ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法,新方法的名字就有可能与现有方法产生冲突.如果有一种机 ...
- JS宽高理解
1.clentWidth和clientHeight ①加入无padding.无滚动条显示占据位置 clientWidth=style.width ②假如有padding.无滚动 clientWidth ...
- 关于Redis处理高并发
Redis的高并发和快速原因 1.Redis是基于内存的,内存的读写速度非常快: 2.Redis是单线程的,省去了很多上下文切换线程的时间: 3.Redis使用多路复用技术,可以处理并发的连接.非阻塞 ...
- WEB前端基础知识点
因为要告知浏览器的解析器用什么文档标准解析这个文档,所以在文档的开头要写上文档类型声明,H5的文档类型声明要比H4文档类型声明简洁的多.因为H5不基于SGML(标准通用标记语言),所以不需要对DTD文 ...
- jquery延迟加载(懒加载)插件
Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...
- Log4net详细说明
1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual S ...