CC3200AI实验教程
——疯壳·开发板系列
语音传输与解析显示

TLV320AIC3254支持I2C和SPI接口,这里用到I2C对TLV320AIC3254的寄存器进行配置,用IAR打开AI_ASR里面的工程,如图1.0.1所示为CC3200初始化I2C部分代码。
    
    
    图1.0.1 初始化I2C部分代码
    图1
    对TLV320AIC3254的初始化函数,如图1.0.2所示。
    
    
    图1.0.2 TLV320AIC3254初始化
    图2
    通过该函数可以设置设备的ID、采样位数、采样速率、音频通道、音频输出以及音频输入的增益。
    本次实验使用UDP连接的方式进行通信。使用CC3200配置为UDP模式的代码如图1.0.3所示。
    
    
    图1.0.3 CC3200U配置UDP模式
    图3
    打开common.h,连接的路由器名称及密码如图1.0.4所示,特别注意的是要修改加密方式OPEN、WEP或者WPA。
    
    
    图1.0.4 路由器相关信息
    图4
    连接服务器的IP地址及端口如图1.0.5所示。在network.c找到HOST_IP_ADDR可在宏定义中修改IP地址,修改usPort的值可以修改端口。
    
    
    图1.0.5 服务器的IP地址及端口
    图5
    IP地址用16进制来表示,例如:“192”对应16进制的“0xc0”、“168”对应16进制的“0xa8”、“05”对应16进制的“0x05”、“05”对应16进制的“0x05”,合起来就是0xc0a80505(192.168.5.5)。
    Network任务主要是实现网络连接,所以该任务主要实现CC3200连接上路由器,建立UDP。任务如图1.0.6所示。
    
    
    图1.0.6 Network任务
    图6
    在ConnectToNetwork()函数内有一个函数WlanConnect()通过该函数可以连接上Common.h的宏定义中的路由器,WlanConnect()函数如图1.0.7所示。
    
    
    图1.0.7 WlanConnect函数
    图7
    CreateUdpServer()函数则是建立udp服务器,该函数如图1.0.8所示。
    
    
    图1.0.8 CreateUdpServer函数
    图8
     Microphone任务主要是为了实现音频板卡语音的采集以及把语音信号通过udp发送出去的事项。
    通过该任务下的GetBufferSize(pRecordBuffer)函数便可以把音频板卡的驻极体上的声音信号采集回来存储在pRecordBuffer这个缓冲区中。GetBufferSize()函数如图1.0.9所示。
    
    
    图1.0.9 GetBufferSize函数
    图9
    通过该任务下的sendto()函数可以把采集到语音信号发送到服务器端。
    通过Speaker任务可以把由服务器端识别回来的字符串接收回来,并显示在12864液晶屏幕上。Speaker任务如图1.1.0所示。
    
    
    图1.1.0 Speaker任务
    图10
    通过sl_RecvFrom便可接收到解析好的语音字符串,然后通过12864液晶屏显示出来。
    如图1.1.1为12864的初始化部分代码
    
    
    图1.1.1 12864初始化代码
    图11
    通过该函数可以初始化设定12864的对比度、扫屏方向等。如图1.1.2为12864的显示GB2312字库的代码。
    
    
    图1.1.2 12864显示GB2312字库的代码
    图12
    编译代码下载Bin文件到CC3200上(具体可参考GPIO小节),下载成功之后将拨码开关再拨回去,由于用到串口UART1调试的接收,需要把USB转TTL电平的CH340的供电端以及收发端接上,把CH340G_VCC拨到ON,接收端RXD拨到ON如图1.1.3所示。
    
    
    图1.1.3 下载完成的后的拨码开关示意图
    图13
    由于该实验需要用到音频板卡,故需要把音频板卡插在板子左下方的双排针处,同时还需要把排针连接CC3200的拨码开关拨上,即需要把板子中间靠右的8路拨码的6、7、8(LED灯)拨到ON(1在上一步中已经拨到了ON)。除此之外,本次实验还用到了12864液晶显示器,还需要把配套的液晶显示器接上,配套的液晶显示器的引脚与板子IO的连接关系如表1.0.1所示。
    表1.0.1 12864与开发板连接关系
    
    
    表1
    最后插上USB线。最后板子上的拨码及接线状态如图1.1.4所示。
    
    
    图1.1.4 接线示意图
    图14
    把USB接上电脑,打开串口调试助手,选择相应的串口号(不同的电脑不同),波特率选择115200,打开串口,按下复位。收到如图1.1.5所示信息则代表音频板卡初始化通过。
    
    
    图1.1.5 音频板卡初始化通过
    图15
    当接收到如图1.1.6所示的串口打印信息时,则代表CC3200已经连上了指定的路由器。
    
    
    图1.1.6 连接上路由器
    图16
    拿起板卡对着驻极体说出想要识别的语音(普通话),等待一会后12864液晶,便会显示出相应的字符。
    在本次实验中是以不断地采集驻极体处的声音待服务器解析后回传字符串的方式进行的,故需要等待的时间较长(约10s~20s)。
    如图1.1.7所示,对驻极体说出“明天天气怎么样”,等待一会后12864液晶屏幕便会显示出由服务器的识别返回的字符。
    
    
    图1.1.7 实验现象
    图17
    
    
    
    配套资料:http://www.fengke.club
    套件地址:http://shop115904315.taobao.com/

【开发教程13】AI语音人脸识别(会议记录仪/人脸打卡机)-语音传输与解析显示相关推荐

  1. 基于人脸识别的课堂签到管理系统(三)---实时时间显示以及百度AI人脸识别

    基于人脸识别的课堂签到管理系统(三)---实时时间显示以及百度AI人脸识别 一.前言概述 二.实时时间显示 三.百度AI人脸识别 3.1 获取access_token 3.2 发送请求,通过网络请求方 ...

  2. Python | 人脸识别系统(人脸识别、活体检测、背景模糊、关键点检测)

    本博客为人脸识别系统项目简介 项目GitHub完整源代码地址:Su-Face-Recognition: A face recognition for user logining 一.运行环境 本系统能 ...

  3. python实现人脸识别抓取人脸并做成熊猫头表情包(2)之优化

    上次做完python实现人脸识别抓取人脸并做成熊猫头表情包之后就放了一下,因为还要好好学习Springboot毕竟这才是找工作的硬实力.但是优化这个代码心里面一直很想,借用<clean code ...

  4. teleport 组件的作用_人脸识别综述! 覆盖人脸检测,预处理和特征表示三大核心组件!...

    The Elements of End-to-end Deep Face Recognition: A Survey of Recent Advances 人脸识别是计算机视觉社区中最基础和历史悠久的 ...

  5. 人脸识别_云端人脸识别-人脸识别SDK+API-人脸识别闸机解决方案

    云端人脸识别-人脸识别SDK+API-人脸识别闸机解决方案 人脸识别闸机-人脸识别闸机解决方案 软硬一体的人脸识别闸机解决方案,提升人员系统化管理的安全性与便捷性 方案构成 针对人员出入的闸机及门禁场 ...

  6. python人脸识别算法_python人脸算法

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 若图片中包含多张人脸,只选取其中人脸面积最大的人脸. 支持png.jpg.jpe ...

  7. 人脸识别系统——Dlib人脸识别

    EduCoder平台:人脸识别系统--Dlib人脸识别 第1关:dlib人脸检测的基本原理 编程要求: 请在右侧编辑器中的BEGIN-END之间编写代码,使用Dlib识别人脸并输出识别结果: 计算已知 ...

  8. Java人脸识别登录Demo(人脸考勤系统)

    最近好多小伙伴在做毕设,有人脸识别登录.人脸识别考勤系统.人脸支付(本文代码可以实现,但只限于识别逻辑,并不安全)等,跟人脸识别有关的项目.由于上一篇文章写了关于人脸识别登录的代码有很多小伙伴找我要源 ...

  9. python人脸识别对比_python 人脸对比--百度API人脸相似度识别(超简单)

    说明:这篇是写使用百度人脸识别API进行人脸相似度识别对比,如 给两个人物照片,判断是否是同一个人.简单的4步完成. 1,获取百度人脸识别API的API Key和Secret Key.(10分钟内完成 ...

最新文章

  1. python中import与input_python3入门之print,import,input介绍
  2. Nginx实现反向代理例子
  3. linux下搭建lua开发环境
  4. 表单及数据提交、表单的作用、服务端接收提交的数据、php处理数据流程、文件域及文件域中数据处理、php展示数据(响应)
  5. oracle常用系统变量,Oracle环境变量
  6. 模糊综合评价的 matlab,模糊综合评价法代码matlab
  7. 获取Linux服务器公网和内网IP地址
  8. 异常解决java.lang.ClassNotFoundException: org.springframework.boot.actuate.endpoint.PublicMetrics
  9. 全国计算机职称考试excel2003,全国计算机职称考试excel2003题库.pdf
  10. 7条人命、潜逃23年,“整容逃犯”劳荣枝竟被“它”一眼认出!
  11. 终端界面 进程 I/O 控制函数
  12. 快速查找硬盘文件的工具
  13. horovodrun命令参数解析
  14. Linux ln -sf 的用法
  15. 基于php的网吧管理系统,基于ssh/bs/java/asp.net/php/web/安卓的网吧会员消费管理系统...
  16. unity2D学习(2)Tilemap绘制地图
  17. 修改Gitblit账号密码步骤
  18. hy000 mysql_一个mysql的SQLSTATE[HY000]的错误
  19. DVB中TS流数据解析
  20. 2021/11/13

热门文章

  1. 无纺布袋厂的工作原理与运行维护
  2. springboot项目系列-论坛系统06整合rabbitmq实现异步发邮件
  3. 如何将多个PPT文件合并到一个PPT中
  4. Redmi Note 9 6000mAh的续航怪兽:一天一次充用3年依然能打啊!
  5. c语言核桃的数量--程序设计,核桃的数量
  6. Android RecyclerView TV-滑动选中态背景
  7. 机器学习——时间序列(二)
  8. Chrome插件英雄榜V2.0
  9. java lock wait_java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
  10. 安卓系统主板链接USB声卡,卡号配置和授权说明