DAC 输出WAV 音频文件

2019-08-14 07:23发布

 我用LPC1766做一个语音播放的,参考了论坛里的一个例子,结果唱出的来声音语速变快了,我这个DAC只有10位精度,不知道怎么回事,还有单声道还有双声道是什么情况,我只有一个DAC输出,文件还是双声道8bit的,
if(Bit==8)//8位精度
   {
    
     temp=(wav_buf[DAC_Counter++]);    
       temp+=(wav_buf[DAC_Counter++])<<8 ;   
                             /* Adjust Value */
     LPC_DAC->CR=(temp);
   }
上面是在timer里面执行的几句话
这个音频文件完全不懂  求大侠指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
23条回答
manaok12345
1楼-- · 2019-08-16 15:24
回复【19楼】正点原子:
---------------------------------
原子哥  我按照论坛一个人的处理数据的例子可以了播放比较清楚了,
temp=((u8)(wav_buf[DAC_Counter+1]-0x80)<<4)|(wav_buf[DAC_Counter]>>4);但是我不知道这句话为啥可以达到那个效果
而我写的是
 temp=(wav_buf[DAC_Counter++]);
 temp=(((u16)(wav_buf[DAC_Counter++])<<8)+temp);就不太清楚了  搞不清楚啊 想了好久,求指教啊
正点原子
2楼-- · 2019-08-16 17:12
回复【20楼】manaok12345:
---------------------------------
我也看不大懂,呵呵。
manaok12345
3楼-- · 2019-08-16 17:43
 精彩回答 2  元偷偷看……
huanghouge
4楼-- · 2019-08-16 20:34
正点原子 发表于 2013-9-22 20:47
你可以先了解下wav文件的解构,才好做下一步。

wav的数据部分怎么提取出来呢   要把它放到数组里吗
huanghouge
5楼-- · 2019-08-16 22:41
正点原子 发表于 2013-9-22 20:47
你可以先了解下wav文件的解构,才好做下一步。

文件结构已经看了   现在要把它的数据部分传送到DAC   需要解析wav吗

一周热门 更多>