KittenCode专属人工智能由以下2个库构成
kittenai——与人工智能相关的库,如百度语音识别、视觉识别等
kittenmedia——与人工智能的语音视频配套的媒体库,用于调用麦克风和摄像头

:::warning 人工智能的功能都需要在联网状态下使用,在KittenCode的模式应为Python3 :::


语音识别

通过录入一段语音,将语音识别为文字

API
baiduAi.speech2text(au, lang='zh')

参数 说明 详情
au 填入为需要语音合成的内容 支持中英文> 合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节

| | lang | 识别的语言对象 |
- 普通话(纯中文识别) = ‘zh’
- 英语 = ‘en’
- 粤语 = ‘guangdong’
- 四川话 = ‘sichuan’
- 普通话远场 = ‘far’
:::warning 除了’zh’以外的识别次数配额较少,很可能会出现3305的错误码既当日当用次数达到上限 ::: |

示例
运行程序后,右侧多媒体窗口会弹出,操作如下:

  1. 点击 录音
  2. 说完一段话后,点击 停止
  3. 此时如果顺利即可在终端看到返回 ```python import time from kittenai import from kittenmedia import

media = KittenMedia() media.start()

baiduAi = BaiduAI()

while True: au = media.waitAudio() if au: result = baiduAi.speech2text(au, lang=’zh’) print(“识别结果:”, result)

  1. **错误码**<br />程序执行可能会由于一些错误异常中断程序,语音合成相关的错误码可见下表<br />https://ai.baidu.com/ai-doc/SPEECH/pkgw0bw1p
  2. ---
  3. <a name="atPGD"></a>
  4. ## 语音合成
  5. 将文本转化为对应的语音,可选多种人声
  6. **API**<br />`baiduAi.text2speech(text, per=0 [,spd=5,vol=5,pit5=5])`
  7. | **参数** | **说明** | **详情** |
  8. | --- | --- | --- |
  9. | text | 填入为需要语音合成的内容 | 支持中英文> 合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节
  10. |
  11. | per | 设置不同的朗读声线 | <br />- 度小美=0(默认)<br />- 度小宇=1<br />- 度逍遥(基础)=3<br />- 度丫丫=4<br /> |
  12. | spd | 语速 | 取值0-9,默认为5中语速 |
  13. | vol | 音量 | 取值0-15,默认为5中音量 |
  14. | pit | 音调 | 取值0-9,默认为5中语调 |
  15. **示例**<br />运行程序后,通过在中断输入要朗读的内容,回车后即可
  16. ```python
  17. import time
  18. from kittenai import *
  19. from kittenmedia import *
  20. media = KittenMedia()
  21. media.start()
  22. baiduAi = BaiduAI()
  23. while True:
  24. a = input("请输入语句:")
  25. content = baiduAi.text2speech(a)
  26. # content = baiduAi.text2speech(a, a,per=0,spd=9,vol=15,pit=9) # 也可以修改默认参数达到不一样的语调等效果
  27. media.sendAudio(content)

错误码
程序执行可能会由于一些错误异常中断程序,语音合成相关的错误码可见下表
https://ai.baidu.com/ai-doc/SPEECH/Gk4nlz8tc


语音综合示例

这个案例的执行效果为终端打印:这里是小喵科技;左侧项目管理生成名为test.wav的音频文件。从结果出来,我们关注一下这个程序运行的流程如下:

  1. 首先程序将创建一个名为test.wav的空文件
  2. 使用百度的语音合成功功能将”这里是小喵科技”转成语音流数据存放到test.wav文件中
  3. 打开test.wav文件,从中取出里面的语音数据
  4. 使用百度的语音识别功能将语音数据再转为文字”这里是小喵科技”,并打印在控制台

语音功能综合.gif

  1. import sys
  2. import os
  3. from kittenai import *
  4. # 语音合成
  5. baiduAi = BaiduAI()
  6. with open("test.wav", 'wb') as fp:
  7. content = baiduAi.text2speech("这里是小喵科技")
  8. fp.write(content)
  9. # 语音识别
  10. with open("test.wav", 'rb') as fb:
  11. result = baiduAi.speech2text(fb.read())
  12. print("识别结果:", result)

人脸识别

将人脸数据存储到云端,并通过云端匹配人脸实现人脸识别效果

API

  • 返回人脸参数

baiduAi.faceDetect(image)

  • 添加人脸数据到云端人脸组

baiduAi.faceAddGroup(image, group, name)

  • 从云端人脸组搜索人脸名称

baiduAi.faceSearch(image, group)

  1. from kittenai import *
  2. baiduAi = BaiduAI()
  3. # fp = open('face.jpg', 'rb')
  4. # faces = baiduAi.faceDetect(fp.read())
  5. # print(faces)
  6. # fp.close()
  7. # facetok = faces[0]['face_token']
  8. # ret = baiduAi.faceAddGroup(facetok, 'test2', 'person1') # 同一个组只能只能添加一个相同的facetok
  9. # print(ret)
  10. # print('----------------')
  11. fp = open('face.jpg', 'rb')
  12. img = fp.read()
  13. fp.close()
  14. ret = baiduAi.faceSearch(img, 'test2')
  15. print(ret)

图片识别

imgCla= AipImageClassify([APP_ID, API_KEY, SECRET_KEY])

图像识别接口实例化、默认3个参数我们提供
对应API说明地址:https://ai.baidu.com/ai-doc/IMAGERECOGNITION/4k3bcxj1m

  • 打开一张本地图片

image = openImage(‘example.jpg’)

  • 可需考虑用摄像头拍摄一张图片用于识别

cap = xx.VideoCapture(1)
image = cap.shoot()

百科识别

功能 写法 备注
百科识别 re = imgCla.generalDetect(image) 直接识别本地图片

还需检测如下
image.png

  1. import sys
  2. import os
  3. sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
  4. import pytest
  5. # 以上为测试用例初始化,在板子上跑不需要加
  6. from kittenai import *
  7. baiduAi = BaiduAI()
  8. fp = open('bus.png', 'rb')
  9. img = fp.read()
  10. fp.close()
  11. ret = baiduAi.recognizeItem(img)
  12. print(ret)
  13. ret = baiduAi.recognizeItem(img, regType='car')
  14. print(ret)

OCR

ocr= AipOcr([APP_ID, API_KEY, SECRET_KEY])

OCR接口实例化、默认3个参数我们提供
对应API说明地址:https://ai.baidu.com/ai-doc/OCR/7kibizyfm

  • 打开一张本地图片

image = openImage(‘example.jpg’)

  • 可需考虑用摄像头拍摄一张图片用于识别

cap = xx.VideoCapture(1)
image = cap.shoot()

通用文字识别

功能 写法 备注
运行识别 re= ocr.animalDetect(image) 识别文字

还需检测如下

  1. import sys
  2. import os
  3. sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
  4. import pytest
  5. # 以上为测试用例初始化,在板子上跑不需要加
  6. from kittenai import *
  7. baiduAi = BaiduAI()
  8. fp = open('print.jpg', 'rb')
  9. ret = baiduAi.ocrRecognize(fp.read())
  10. print(ret)
  11. fp.close()

写春联

  1. import sys
  2. import os
  3. sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
  4. import pytest
  5. # 以上为测试用例初始化,在板子上跑不需要加
  6. from kittenai import *
  7. baiduAi = BaiduAI()
  8. print(baiduAi.writecunlian("太阳"))
  9. print(baiduAi.writepoem("月亮"))

对话机器人

  1. import sys
  2. import os
  3. sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
  4. import pytest
  5. # 以上为测试用例初始化,在板子上跑不需要加
  6. from kittenai import *
  7. baiduAi = BaiduAI()
  8. r = baiduAi.talk('你好呀~')
  9. print("机器人说:", r)
  10. while True:
  11. a = input("你说:")
  12. r = baiduAi.talk(a)
  13. print("机器人说:", r)