OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6053|回复: 10

求大神帮忙,我毕设要做关于声音识别的系统,编程不懂,有没有例程可以参考,万分感谢

[复制链接]

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-4-19
在线时间
0 小时
发表于 2014-6-8 09:41:10 | 显示全部楼层 |阅读模式
5金钱
如题,硬件是用STM32F103RBT6,到编程阶段发现理论知识不太懂,大概是用麦克风实现信号采集,经过TL084进行信号放大,单片机里实现AD转换,然后用FFT和过零率对信号进行频谱分析及特征提取,最后模式匹配。  
对了,显示是用串口助手,显示频率值。
我自己用原子哥的例程改过几天,可是还是有好多好多错误不会解决,就希望大家有没有完整的例程可以让我参考,小弟刚刚接触这方面的编程,希望大家谅解。
如果有哪位大神能帮忙解答,小弟必感激涕零、、、

最佳答案

查看完整内容[请看2#楼]

这是人家用AVR做的语音识别:http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/s2011/wd65_yz526/wd65%20and%20yz526/index.html
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-8 09:41:11 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-4-19
在线时间
0 小时
 楼主| 发表于 2014-6-11 09:32:09 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢原子哥。我想问个具体点的问题。经过AD转换后的信号进行FFT频谱分析。但FFT函数的调用需要结构体,怎么将AD转换的结果给FFT中的结构体赋值?
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-4-19
在线时间
0 小时
 楼主| 发表于 2014-6-11 09:49:05 | 显示全部楼层
FFT函数的声明:
struct compx {float real,imag;};     
extern void FFT(struct compx *xin);
回复

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2014-6-11 10:39:15 | 显示全部楼层
思路很简单,
分两块处理。
1.获取训练语音,预处理,提取特征,建立模型,保存。
2.获取输入语音,预处理,提取特征,带入模型,判决。
预处理主要是限制带宽,降低环境噪声,HPF消除口唇辐射等,以及提取声音。
特征用LPCC MFCC为多。
模型有很多VQ HMM DNN SVM等等,视具体情况而定,单片机只能做点简单的学习模型。
做最简单,最粗糙的识别,用DTW吧。用VQ也可以。都比较简单。单片机应该可以跑起来。但这两种模型只能做孤立词、特定人。连续语音用单片机就别想了,花的时间不少,做出来也没有任何价值。
回复

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2014-6-11 10:41:02 | 显示全部楼层
理论知识不太懂,那就买本书来看看。这东西不是想弄马上就可以弄出来的。
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-4-19
在线时间
0 小时
 楼主| 发表于 2014-6-11 10:44:37 | 显示全部楼层
回复【5楼】lsj9383:
---------------------------------
由于头一次接触STM32的编程,感觉实现起来很难,理论也只是略懂。现在就想通过麦克风采集信号,在单片机中实现AD转换,然后用FFT进行频谱分析,将频谱中最大的频率成分通过串口助手显示出来。能不能按照我的思路再指点指点呢、、、万分感谢、、、
回复

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2014-6-11 10:49:23 | 显示全部楼层
回复【7楼】白云飘飘427:
---------------------------------
那你就要先学会怎么用AD、怎么用FFT,怎么用串口。
回复

使用道具 举报

108

主题

1433

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2234
金钱
2234
注册时间
2012-4-30
在线时间
7 小时
发表于 2014-6-11 10:50:34 | 显示全部楼层
你是明年毕业?
回复

使用道具 举报

51

主题

1455

帖子

3

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2613
金钱
2613
注册时间
2011-1-25
在线时间
176 小时
发表于 2014-6-11 11:19:59 | 显示全部楼层
先试把声音采集了。
一直努力就很好。
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-4-19
在线时间
0 小时
 楼主| 发表于 2014-6-11 14:35:39 | 显示全部楼层
回复【10楼】qq942266575:
---------------------------------
我的信号采集用的是麦克风,经过一级TL084进行放大,然后输入到单片机
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-7 09:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表