香水求解 STM32F103VCT6 DAC怎么个思路?

[复制链接]
5102|16
 楼主| taotaobobo 发表于 2011-12-1 12:50 | 显示全部楼层 |阅读模式
我们用的STM32F103VCT6    用PA4脚DAC加功放,而不是用单独的解码芯片,想播放一些简单的语音,比如成功,失败,取消等     想把这些语音文件放到存储器里面, 该怎么做? 有没有例程啊?
 楼主| taotaobobo 发表于 2011-12-1 14:50 | 显示全部楼层
香水城去哪里了? 怎么不见踪影呢
香水城 发表于 2011-12-1 15:01 | 显示全部楼层
非常简单,把语音数据变成一个数组,放在你的项目中一起编译,用的时候直接引用数组即可。
 楼主| taotaobobo 发表于 2011-12-1 15:10 | 显示全部楼层
把语音转换成二进制吗? 还是怎么弄
香水城 发表于 2011-12-1 15:14 | 显示全部楼层
语音文件在电脑里面就是二进制,不用转换!  也许你要转换成C编译能认识的ASCII表示的格式,例如:0x12, 0x34, 0xAB等。
 楼主| taotaobobo 发表于 2011-12-1 15:39 | 显示全部楼层
弄好数组后,怎么播放出来呢? 有相关例程参考吗?
 楼主| taotaobobo 发表于 2011-12-1 16:02 | 显示全部楼层
现在遇到的问题就是不知道怎么播放出来,最好搞个例子给我呀,都搞几天了没搞定,网上找的例程也实现不了功能
香水城 发表于 2011-12-1 16:06 | 显示全部楼层
你是不知道怎么把语音文件放到存储器里面?还是不知道怎么播放?这是2回事。

ST网站上有一个ADPCM的应用笔记和例程,可以供参考。
 楼主| taotaobobo 发表于 2011-12-1 16:11 | 显示全部楼层
是不知道怎么播放出来, 放进存储器里面知道怎么弄
会喝水的鱼 发表于 2011-12-1 16:12 | 显示全部楼层
打酱油。
linjing 发表于 2011-12-1 22:53 | 显示全部楼层
人耳可以听到的声音一般是不超过20K的信号,语音数据可以再低一点,8K听起来就很清楚,当然效果会差一点。

播放语音的方法就是按照语音数据的采样速率设置DAC,比如8K的语音,每隔125us,取数组中取一个语音数据更新一次DAC的输出,直到语音数据播放完成。

这个过程可以用DMA来自动实现。另外,电路上最好在输出上加个20K的低通滤波器。
linjing 发表于 2011-12-1 23:15 | 显示全部楼层
播放就是根据声音信号的速率更新DAC

比如,8K的语音信号,每隔8千分之一秒从数组中取一个数据,更新DAC,直到语音播放完

可以用定时中断实现,如果有DMA,也可以用DMA
zgfingle 发表于 2011-12-2 15:12 | 显示全部楼层
打酱油来着
 楼主| taotaobobo 发表于 2011-12-19 23:49 | 显示全部楼层
已经搞定,谢谢大家
http://www.boii.cn
nikita-fuck 发表于 2011-12-20 10:47 | 显示全部楼层
hehe ,,第三方网站给力
z994051 发表于 2012-11-29 23:08 | 显示全部楼层
楼主代码好了没,我最近正好也搞这个,能不能发给我参考,谢谢
z994051@163.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

35

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部