# 嵌入式-语音识别影音系统 **Repository Path**: liangcj2020/audio-videoSystem ## Basic Information - **Project Name**: 嵌入式-语音识别影音系统 - **Description**: 基于带有屏幕的ARM单片机实现离线语音识别影音系统。 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 2 - **Created**: 2021-10-19 - **Last Updated**: 2024-11-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: 嵌入式, 影音系统 ## README # 嵌入式-语音识别影像系统 #### 介绍 前面几天是基于ARM开发板实现一些功能,例如: **在屏幕上画画,把bmp格式图片输出到屏幕上,开发刮刮乐游戏,开发钢琴游戏,开发影像播放系统; 最后通过离线语音识别,让开发板执行对应的指令。** 最后作业就是把上面的功能整合起来通过语音识别来实现。 #### 软件架构 基于带有屏幕(800×480)ARM单片机,利用C语言开发程序,在Ubuntu上编译。 然后通过SecureCRT利用tftp传输到单片机上。 #### 文件说明 picture:图片格式为bmp,是一种没有对图像做过处理的图像格式。 图像分辨率: 1.bmp:511×311 11.bmp:400×240 24bit.bmp:800×480 day1:实现文件的复制 day2:在屏幕尺寸为480×800的电子版上,实现9×9宫格的屏幕分割; 在改屏幕上画圆。 day3:把格式为bmp【24位】的图片输出在屏幕上,三种输出: 1、图片分辨率也是为800×480的。【也就是全屏覆盖】 2、图片分辨率小于800×480的,一种为宽是4字节的倍数,一种为宽不是4的倍数。 这里解析一下,在宽不是4的倍数的情况下,图片会进行字节对齐,所以每一行会有n个是为了对齐而填充的。所以这样 会在输出图片的时候会出现图片倾斜等问题。n=4-(宽×3%4) 为了解决这个问题,就需要在读取图片内容的时候过滤掉后面补充的,或者在输出的时候过滤掉。 3、图片分辨率小于800×480的,然后随意把图片输出在屏幕任何一个位置。【而不是按照屏幕输出默认顺序从左上角开始一行一行输出】 day4:在屏幕上实现刮刮乐效果;【使用到线程】所以在Linux下编译的时候在最后加 -pthread day5:在屏幕上实现弹钢琴效果。【使用线程】主进程捕获X,Y坐标,线程去执行播放对应区间的mp3.值得注意的是,每次播放之前要把前面的mplayer进程杀掉。 day6:实现播放影像系统效果。有暂停,播放,下一首,上一首,快速,增加音量,减少音量功能。【用到线程加管道】 day7:x86文件时在虚拟机编译的。gec要在开发板执行。主要编写的是gec210中的voicectl.c文件来控制语音识别功能。通过开发板的语音识别,可以在 虚拟机上看到返回来的结果。 #### 使用说明 命令: 1、在Ubuntu中进去共享本地电脑文件夹:cd /mnt/hgfs/自己本机共享的文件夹 2、Ubuntu编译文件:arm-linux-gcc test.c -o test 3、tftp命令:tftp -g -r test 192.168.83.125 【填自己主机ip】 4、给文件赋予权限:chmod 777 test 5、执行文件:./test 6、在Linux下查看man手册命令:man 2 read 【read】为函数名 7、 灵活使用sprintf函数以及system函数。