专栏/Google AIY Voice Kit 开发指南之函数篇

Google AIY Voice Kit 开发指南之函数篇

2020年01月03日 05:00--浏览 · --点赞 · --评论
粉丝:23文章:6

Google AIY Voice  Ver1.0 开发指南之函数篇

     Google AIY Voice  Kit 是谷歌推出的一款基于树莓派(Raspberry Pi) 的 语音交互开发套件,所谓AIY ,就是 “Do-it-yourself  artificial intelligence”,基于 Google AIY Voice Hat,你可以做出实现语音交互的一套系统,比如智能语音助手,机器人等等,谷歌官方提供了一套最基本的使用教程,这里将不再赘述,今天我将给大家展示,如何不依赖谷歌云服务,从零开始用python3 调用API 编写源代码搭建一个语音交互平台-“人工智障”,让我们开始吧。

Google AIY Voice KIT(图片来源网络)

Google AIY VoiceHat上提供了丰富的总线(I2c,SPI)以及硬件接口(舵机,LED)

Google AIY Voice Hat (图片来源网络)

       本开发指南基于Google AIY Voice  Ver1.0,使用Raspberry Pi 3B, OS采用 Raspbian aiyprojects-2018-04-13,要想成功搭建一个语音交互平台,首先要先从硬件原理说起,我们不妨把Google AIY VoiceHat 视为Raspberry Pi的外置声卡,通过麦克风板上的MEMS硅麦采集声音,树莓派对声音处理后,然后经由VoiceHat上的模数转换DA和放大电路,最终在扬声器播放出来。树莓派运行的操作系统是基于Linux Debian的Raspbian,所用的音频处理驱动是ALSA-Driver,我们所编写的Python代码就是要调用底层硬件的API,VoiceHat的驱动已经在官方系统中内置了,具体源码可以参见https://github.com/google/aiyprojects-raspbian

预先善其事,必先利其器,在正式编写代码之前,

先给大家介绍一下API Python模块的使用

API 参考

Module:

  • aiy.audio         #控制麦克风和扬声器的模块

  • aiy.voicehat      #控制VoiceHat板载器件(比如按键,LED灯)的模块

  • RPi.GPIO  #控制VoiceHat上GPIO的模块

函数说明

led = aiy.voicehat.get_led()  #获得VoiceHat上LED的状态函数

led.set_state(aiy.voicehat.LED.ON) #LED点亮

led.set_state(aiy.voicehat.LED.OFF)  #LED熄灭

led.set_state(aiy.voicehat.LED.BLINK)  #LED闪烁


ui = aiy.voicehat.get_status_ui() #获得VoiceHat上LED的动画状态函数

ui.status("ready")     #LED效果为常灭,建议准备就绪时使用

ui.status("listening") #LED效果为常亮,建议录音中使用

ui.status("thinking") # LED效果为呼吸灯,建议语音识别及处理中使用


button = aiy.voicehat.get_button() #获得VoiceHat上Button的状态函数

button.wait_for_press() #等待按键按下,按键释放后结束


aiy.audio.record_to_wave(temp_path, RECORD_DURATION_SECONDS) ##内置函数

aiy.audio.play_wave(wav file_path) #播放wave波形文件

aiy.audio.say(String) #谷歌英文TTS引擎,可离线实现英文语音合成,

ui.set_trigger_sound_wave(wav file_path) #播放出发wave波形文件,须在触发状态下使用

未来几期将为大家继续介绍“人工智障”的具体实现流程,我们将采用百度云的中文语音识别合成框架,同时用最简单的方式构建本地语料库,另外把唐诗,宋词等诗词集成进来,感谢大家的关注,下一期见

投诉或建议