打印
[应用相关]

请教:音频文件从DAC驱动小喇叭的问题,谢谢!

[复制链接]
5747|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PowerGPS|  楼主 | 2009-1-13 19:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   有个例程是Audio_test,用STM32F103Zx做的,就可以播放音乐。

   现在有多个文件,wav格式,内容是固定的,文件很小,转成HEX应该可以放MCU内部Flash。想从DAC播放这些文件,哪位大侠做过,指点一下,思路。谢谢!

   
沙发
mcuisp| | 2009-1-13 19:15 | 只看该作者

wav格式有很多种编码。

adpcm/pcm都有,原始的16bit sample也有。
我以前是这样做的:解码后直接将采样丢到dac,硬件上做低通滤波,再接功放即可。
不怕麻烦的话,可加过采样取代硬件的低通滤波。

使用特权

评论回复
板凳
PowerGPS|  楼主 | 2009-1-14 11:10 | 只看该作者

硬件有参考,关键是软件

 如果封装成一个函数, AudioPlay(AudioFile),直接输入文件多好呀 

使用特权

评论回复
地板
PowerGPS|  楼主 | 2009-1-14 11:15 | 只看该作者

使用特权

评论回复
5
LPcfANS| | 2009-1-14 11:20 | 只看该作者

顶吧,汽车老大做好了,能否提供一下思路啊?

呵呵.支持...

使用特权

评论回复
6
PowerGPS|  楼主 | 2009-1-14 11:45 | 只看该作者

只是播放一些简单的短小文件

   开机来点音乐

   然后就是短语了,比如:

   您好! 
   您超速了!  
   你严重超速!
   ......

使用特权

评论回复
7
PowerGPS|  楼主 | 2009-1-14 12:24 | 只看该作者

MP3,查表??

   语音不多,我想变成HEX(用PC转换,就不管音频原文件格式了)直接存储在MCU内部。一个文件一段HEX,这样最方便。

  uchar    const  AudioFile1[] = {0x00~0xff......};
  uchar    const  AudioFile2[] = {0x00~0xff......};

使用特权

评论回复
8
mcuisp| | 2009-1-14 18:38 | 只看该作者

adpcm是比较合算的编码。

mp3运算量和资源占用大。
我以前也是用在车载语音提示播放的。adpcm与mp3根本听不出差别。

使用特权

评论回复
9
netwp| | 2009-1-15 00:33 | 只看该作者

adpcm下出来的声音文件能有多小,可以放进内部flash里吗

使用特权

评论回复
10
ljm810010| | 2009-1-15 00:54 | 只看该作者

如此简短的几句话,什么压缩都不用了

直接采用8Kbps/8bit,3秒时间也只不过24K数据

使用特权

评论回复
11
mcuisp| | 2009-1-15 23:37 | 只看该作者

8ksps声音不太好。

最好用16ksps.

使用特权

评论回复
12
Tangdabao| | 2018-6-27 14:28 | 只看该作者
来看看楼主的方案

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

76

帖子

0

粉丝