百度人工智能
语音类:
语音识别:
语音合成:
图片技术:
文字识别。。。
图像识别。。。
图像审核。。。
图像处理。。。
图像搜索。。。
人脸与人体识别:
人脸识别。。。
人体分析。。。
视频技术:
AR与VR:
(AR)增强现实。。。
(VR)虚拟现实。。。
自然语言处理:
语言处理基础技术。。。
文本审核。。。
机器翻译。。。
ai.baidu.com #账号登陆,创建应用生成id,key
SDK:导包调用(直接封装好了)
智能问答:语音识别+图灵机器人+语音合成
1 安装sdk:pip3 install baidu-aip
#文字转成mp3 语音合成
#pcm音频文件变成文字输出,语音问语音回答 语音识别
2 音频文件转码 (ffmpeg安装配置环境) m4a-->pcm
ffmpeg -y -i nh.m4a -acodec pcm_s16le -f s16le -ac 1 -ar 16000 nh.m4a.pcm
3 m4a-->pcm在程序中自动转换
4 模仿说话(语音识别的文字--》语音合成--mp3)
5 一问一答 my_nlp 自主问答交流系统
6 自然语言处理:短文本相似度 (另外创建一个应用,使用新的id,key)
from aip import AipNlp
7 数据采集,问题无法自己定义的时候
图灵机器人 http://www.tuling123.com 看官方文档 问答机器人
8 web录音+智能回答 https://gitee.com/jinjinxu/Smart-question-and-answer
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from aip import AipSpeech import os import my_nlp """ 你的 APPID AK SK """ APP_ID = 'APPID' API_KEY = 'AK' SECRET_KEY = 'SK' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) # 读取文件 def get_file_content(filePath): # m4a--pcm any2pcm_str=f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm" os.system(any2pcm_str) with open(f"{filePath}.pcm", 'rb') as fp: return fp.read() # 识别本地文件 res = client.asr(get_file_content('age.m4a'), 'pcm', 16000, { #输入端 'dev_pid': 1536, }) Q = res.get('result')[0] #语音(问题)--文字(问题)语音识别 s = my_nlp.my_nlp(Q) #文字(问题)--文字(答案) 图灵机器人 # 文字(答案)--音频 (答案) 语音合成 result = client.synthesis(s, 'zh', 1, { 'vol': 5, }) # 识别正确返回语音二进制 错误则返回dict 参照下面错误码 if not isinstance(result, dict): with open('auido.mp3', 'wb') as f: f.write(result) os.system('auido.mp3') #系统调用播放音频(答案)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from aip import AipNlp import tuling_test """ 你的 APPID AK SK """ APP_ID = '14456041' API_KEY = 'ybBcLZMDFGMYzlGpzMVhh6Fa' SECRET_KEY = 'BtSDog3YYYagxCavzT6BP2SkoRHzeZZp' client = AipNlp(APP_ID, API_KEY, SECRET_KEY) def my_nlp(Q): return tuling_test.to_tuling(Q)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import requests # 文本(问题)--文本 (答案) 不同的问题,不同的回答 调用图灵机器人的接口 tuling_url = "http://openapi.tuling123.com/openapi/api/v2" data = { "reqType": 0, "perception": { "inputText": { "text": "s%" }, }, "userInfo": { "apiKey": "apiKey", "userId": "userId" } } def to_tuling(Q): data["perception"]["inputText"]["text"] = Q s = requests.post(tuling_url,json=data) res = s.json().get("results")[0].get("values").get("text") return res