查看: 1033|回复: 0

[资料] 【开发教程13】疯壳·AI语音人脸识别-语音传输与解析显示

[复制链接]
  • TA的每日心情
    开心
    2022-4-17 15:37
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2022-7-26 15:15:53 | 显示全部楼层 |阅读模式
    分享到:
    CC3200AI实验教程
    ——疯壳·开发板系列
    语音传输与解析显示




        TLV320AIC3254支持I2C和SPI接口,这里用到I2C对TLV320AIC3254的寄存器进行配置,用IAR打开AI_ASR里面的工程,如图1.0.1所示为CC3200初始化I2C部分代码。

    1.png    
        图1.0.1 初始化I2C部分代码
        图1
        对TLV320AIC3254的初始化函数,如图1.0.2所示。

    2.png    
        图1.0.2 TLV320AIC3254初始化
        图2
        通过该函数可以设置设备的ID、采样位数、采样速率、音频通道、音频输出以及音频输入的增益。
        本次实验使用UDP连接的方式进行通信。使用CC3200配置为UDP模式的代码如图1.0.3所示。

    3.png    
        图1.0.3 CC3200U配置UDP模式
        图3
        打开common.h,连接的路由器名称及密码如图1.0.4所示,特别注意的是要修改加密方式OPEN、WEP或者WPA。

    4.png    
        图1.0.4 路由器相关信息
        图4
        连接服务器的IP地址及端口如图1.0.5所示。在network.c找到HOST_IP_ADDR可在宏定义中修改IP地址,修改usPort的值可以修改端口。

    5.png    
        图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所示。

    6.png    
        图1.0.6 Network任务
        图6
        在ConnectToNetwork()函数内有一个函数WlanConnect()通过该函数可以连接上Common.h的宏定义中的路由器,WlanConnect()函数如图1.0.7所示。

    7.png    
        图1.0.7 WlanConnect函数
        图7
        CreateUdpServer()函数则是建立udp服务器,该函数如图1.0.8所示。

    8.png    
        图1.0.8 CreateUdpServer函数
        图8
         Microphone任务主要是为了实现音频板卡语音的采集以及把语音信号通过udp发送出去的事项。
        通过该任务下的GetBufferSize(pRecordBuffer)函数便可以把音频板卡的驻极体上的声音信号采集回来存储在pRecordBuffer这个缓冲区中。GetBufferSize()函数如图1.0.9所示。

    9.png    
        图1.0.9 GetBufferSize函数
        图9
        通过该任务下的sendto()函数可以把采集到语音信号发送到服务器端。
        通过Speaker任务可以把由服务器端识别回来的字符串接收回来,并显示在12864液晶屏幕上。Speaker任务如图1.1.0所示。

    10.png    
        图1.1.0 Speaker任务
        图10
        通过sl_RecvFrom便可接收到解析好的语音字符串,然后通过12864液晶屏显示出来。
        如图1.1.1为12864的初始化部分代码

    11.png    
        图1.1.1 12864初始化代码
        图11
        通过该函数可以初始化设定12864的对比度、扫屏方向等。如图1.1.2为12864的显示GB2312字库的代码。

    12.png    
        图1.1.2 12864显示GB2312字库的代码
        图12
        编译代码下载Bin文件到CC3200上(具体可参考GPIO小节),下载成功之后将拨码开关再拨回去,由于用到串口UART1调试的接收,需要把USB转TTL电平的CH340的供电端以及收发端接上,把CH340G_VCC拨到ON,接收端RXD拨到ON如图1.1.3所示。

    13.png    
        图1.1.3 下载完成的后的拨码开关示意图
        图13
        由于该实验需要用到音频板卡,故需要把音频板卡插在板子左下方的双排针处,同时还需要把排针连接CC3200的拨码开关拨上,即需要把板子中间靠右的8路拨码的6、7、8(LED灯)拨到ON(1在上一步中已经拨到了ON)。除此之外,本次实验还用到了12864液晶显示器,还需要把配套的液晶显示器接上,配套的液晶显示器的引脚与板子IO的连接关系如表1.0.1所示。
        表1.0.1 12864与开发板连接关系

    表1.png    
        表1
        最后插上USB线。最后板子上的拨码及接线状态如图1.1.4所示。

    14.png    
        图1.1.4 接线示意图
        图14
        把USB接上电脑,打开串口调试助手,选择相应的串口号(不同的电脑不同),波特率选择115200,打开串口,按下复位。收到如图1.1.5所示信息则代表音频板卡初始化通过。

    15.png    
        图1.1.5 音频板卡初始化通过
        图15
        当接收到如图1.1.6所示的串口打印信息时,则代表CC3200已经连上了指定的路由器。

    16.png    
        图1.1.6 连接上路由器
        图16
        拿起板卡对着驻极体说出想要识别的语音(普通话),等待一会后12864液晶,便会显示出相应的字符。
        在本次实验中是以不断地采集驻极体处的声音待服务器解析后回传字符串的方式进行的,故需要等待的时间较长(约10s~20s)。
        如图1.1.7所示,对驻极体说出“明天天气怎么样”,等待一会后12864液晶屏幕便会显示出由服务器的识别返回的字符。

    17.png    
        图1.1.7 实验现象
        图17




        文件下载请点击: 【3】语音传输与解析显示.pdf (949.5 KB, 下载次数: 0)
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-22 05:38 , Processed in 0.125103 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.