freshen 发表于 2016-6-12 22:44:07

DAC 10位 怎么播放16位WAV文件,现在噪音很大,求大师指点!

DAC 10位怎么播放16位WAV文件,现在噪音很大,求大师指点!

fsmcu 发表于 2016-6-12 22:45:59

可以把16位WAV文件转成8位的

jackiezeng 发表于 2016-6-12 23:47:05

是不是可以直接去掉低位 ??? 我是乱猜的,

tam2907 发表于 2016-6-13 09:16:00

去掉低6位

lcw_swust 发表于 2016-6-13 09:20:15

右移6位...

ordinary 发表于 2016-6-13 11:14:05

本帖最后由 ordinary 于 2016-6-13 11:15 编辑

1、16位WAV默认使用2进制 补码存放的,不能简单抛弃低位。
   要 +0x8000后再 右移6位,送 DA 或 PWM
2、WAV文件 有多种格式,一定要确认是 PCM的,不能用ADPCM格式

freshen 发表于 2016-6-16 15:00:02

ordinary 发表于 2016-6-13 11:14
1、16位WAV默认使用2进制 补码存放的,不能简单抛弃低位。
   要 +0x8000后再 右移6位,送 DA 或 PWM
2 ...

大师,你好!
+8000是什么意思呢?是求原码吗?正数 原码补码一样啊,负数需要转换? 不懂?请指点 谢谢!

freshen 发表于 2016-6-16 15:03:08

ordinary 发表于 2016-6-13 11:14
1、16位WAV默认使用2进制 补码存放的,不能简单抛弃低位。
   要 +0x8000后再 右移6位,送 DA 或 PWM
2 ...

大师,你好!
+8000是什么意思呢?是求原码吗?正数 原码补码一样啊,负数需要转换? 不懂?请指点 谢谢!

ordinary 发表于 2016-6-16 17:12:44

本帖最后由 ordinary 于 2016-6-16 17:13 编辑

freshen 发表于 2016-6-16 15:03
大师,你好!
+8000是什么意思呢?是求原码吗?正数 原码补码一样啊,负数需要转换? 不懂?请指点...

adc_data(语音数据)+=0x8000;
你试试

not_at_all 发表于 2016-6-16 18:54:34

WAV格式是有符号16进制    看着办吧

freshen 发表于 2016-6-17 13:37:34

ordinary 发表于 2016-6-16 17:12
adc_data(语音数据)+=0x8000;
你试试

按照你说的+0x8000 确实没噪声 ,非常谢谢大师指点!现在播放16位单声道 没问题了
但 播放8bit 11KPCM 直接给DA 好像没声音,我左移2位好像 可以播放,不知道原因?

freshen 发表于 2016-6-17 13:37:58

not_at_all 发表于 2016-6-16 18:54
WAV格式是有符号16进制    看着办吧

是的,谢谢!

ordinary 发表于 2016-6-17 15:47:25

freshen 发表于 2016-6-17 13:37
按照你说的+0x8000 确实没噪声 ,非常谢谢大师指点!现在播放16位单声道 没问题了
但 播放8bit 11KPC ...

你使用的是10位的DA,直接送DA,不是没有声音,是音量是左移动两位的 1/16。
(功率 和电压的平方成正比)
夜深人静时,应该能听到。

hecat 发表于 2016-6-17 16:30:52

先看WAVE文件格式,是有符号数还是无符号数。

DAC一般接受无符号数。

你把WAVE文件转成无符号数,截取高10位,再送DAC,应该就好了。

freshen 发表于 2016-6-19 14:07:01

hecat 发表于 2016-6-17 16:30
先看WAVE文件格式,是有符号数还是无符号数。

DAC一般接受无符号数。


谢谢大师指点,确实如此;受益匪浅啊

alan8918 发表于 2016-6-19 17:30:14

论坛里面确实有各方面的高手

dreamc 发表于 2017-8-10 22:48:29

freshen 发表于 2016-6-19 14:07
谢谢大师指点,确实如此;受益匪浅啊

转成无符号数是指加上0x8000吗?然后再取高10位就可以了吗?

dog 发表于 2019-3-16 20:26:35

ordinary 发表于 2016-6-13 11:14
1、16位WAV默认使用2进制 补码存放的,不能简单抛弃低位。
   要 +0x8000后再 右移6位,送 DA 或 PWM
2 ...

直接用除法,快
页: [1]
查看完整版本: DAC 10位 怎么播放16位WAV文件,现在噪音很大,求大师指点!