百度人工智能git
語音類:
語音識別:
語音合成:
圖片技術:
文字識別。。。
圖像識別。。。
圖像審覈。。。
圖像處理。。。
圖像搜索。。。
人臉與人體識別:
人臉識別。。。
人體分析。。。
視頻技術:web
AR與VR:
(AR)加強現實。。。
(VR)虛擬現實。。。json
天然語言處理:
語言處理基礎技術。。。
文本審覈。。。
機器翻譯。。。api
ai.baidu.com #帳號登錄,建立應用生成id,key
SDK:導包調用(直接封裝好了)ide
智能問答:語音識別+圖靈機器人+語音合成
1 安裝sdk:pip3 install baidu-aip
#文字轉成mp3 語音合成
#pcm音頻文件變成文字輸出,語音問語音回答 語音識別
post
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-answerui
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') #系統調用播放音頻(答案)
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)
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