I've noticed something unexpected (to me) when using a DAC to drive a speaker through a class D audio amp breakout. Here is the code:
Code: Select all
import wave
from pyb import DAC, delay
dac = DAC(1)
f = wave.open('test.wav', 'r')
fr = f.getframerate()
total_frames = f.getnframes()
buf = f.readframes(total_frames)
dac.write_timed(buf, fr, mode=DAC.NORMAL)
delay(1000)
dac.deinit()
dac.write_timed(buf, fr, mode=DAC.NORMAL)
Is this the expected behavior? Can somebody offer an explanation of what might be happening? Thanks for educating me.
- Mathieu