百度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
转换语音文件代码:
代码语言:javascript复制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语音识别代码中用到:
代码语言:javascript复制 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
代码
代码语言:javascript复制 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
代码
代码语言:javascript复制 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
代码
代码语言:javascript复制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"))
语音加图灵结合
代码语言:javascript复制 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"))