首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

TC51 + VS1003 + SD卡 + 62256实现语音存储与回放

TC51 + VS1003 + SD卡 + 62256实现语音存储与回放

STC51 + VS1003 + SD卡 + 62256实现语音存储与回放

林德光

ldeguang1991@gmail.com

     首先声明我用了vs1003,估计算作语音芯片,所以坑爹刘刚不知道让不让我过。
不过有一点确定的是,如果不过我也不会再做了,哈哈。。。
     正题。先介绍开发环境。。。
     1、软件     KEIL4
     2、硬件     STC12C5A60S2 + 62256 + 22.1184MHz
     3、模块     VS1003模块 + SD卡模块 + 51开发板
     4、平台     WIN7 + CoolEdit/Window Media Player
     接着是预期的功能指标。。。
     1、按键选择(开始录音、停止录音、播放音频),(后改为串口命令输入)
     2、SD卡存储录制音频(.WAV)和系统音频文件(类似开机音乐)
     3、串口输出调试信息
     4、[音量调节]
     5、[音频文件列表]
     6、可扩展做MP3播放器、扩音器、录音器
     然后是系统框图,就是相当于你整个系统的设计思想。。。VS1003是我之前买回来的,然后一直放在工具箱里生尘,直到最近听说作品快要上交了,才拿出来看看,不料发现了惊喜。这个惊喜就是我一直以为VS1003模块就是用来做音频输出的(例如之前做过的MP3播放器),然后看了上面居然板载了一个麦克风,也就是说还可以做音频输入,哈哈,这让我近乎夭折的课程设计找到了春天!
     MCU还是采用擅长的51单片机,增强型、再换上22M晶振!处理能力还是可以满足需要的。通过在MCU中入一个文件系统,能够方便的对SD卡进行读写。录制的数据转为.WAV文件,并存放在SD卡。与存在单片机RAM或外部RAM不同的是,SD卡的音频文件可以永久保存,并在PC端进行播放和分析。
     至于模式选择(即录音、停止、播放),本来是想搞三个按键的,可以板上没有按键这东东,所以做成了用串口发送命令,不仅少了很多焊接功夫、少了很多外围电路、还省了单片机三个IO口。。。

图1


    开发板是拿了菊花舍友的来用,主要是因为板载了62256,其实我之前也焊了一个62256的外部扩展RAM,完全手工焊接,接线很恐怖。。。
     接上菊花舍友的小音箱,就可以实现语音的存储和回放了。。。
     至于测试效果,个人还是比较满意的。这还得归功于强大的VS1003。。。

图2 系统实物图

     接着是程序运行时串口的输出界面。就是一系列的模块初始化。最后是提示用户输入的控制命令。

图3 串口输出界面


图4 输入控制命令

     录制完环境中的语音之后,可以输入播放命令对刚刚录制的语音进行实时在线播放。当然,WAV音频文件也就存进了SD卡,此时也可以取出SD卡,在电脑上进行分析。

图5 SD卡目录


     为方便分析,我采用了CoolEdit软件对音频进行处理和分析。

图6

图6 带通滤波器设置

     这是录制完未处理的.WAV文件,可以看出很多噪声,中间那两段才是我清脆美丽的声线。哈哈。。。(小峰是“喂喂”,大峰是“你好”)

图7 软件滤波前


图8 软件滤波后

     再来一段。。。

图9 软件滤波前


图10 软件滤波后

     奋战了几天几夜,能力至此。感觉不会再爱了。。。
     求过!
  看到电机模型的输出波形了,很高兴。

        但是问题总是有的,下午导师跟徐老师讨论了半天也没解决。现在是输出的波形正常显示一段时间后就出错。压力全部在徐老师那里,她的界面现在有了个雏形,但是很不完善,问题最大的可能就是她的显示界面哪里有问题。
        我花了很久的时间去理解徐老师的程序,我不需要特别去关注她的程序,但是必须能够理解,能够看懂。
        明天加油!
返回列表