Go Down

Topic: Real Time Audio Output, what am I doing wrong? (Read 2 times) previous topic - next topic


I did use the DDS code to try and really push the Due.  At lower frequencies, the output was as expected, but at the upper frequencies, the waveform was much more stepped.  That said, I was able to generate 8 sins at once and mix them together.  Though I will say, the more sins I added, the noise floor kept going up significantly.  Not sure what that was about.

I also agree the toolchain for the STM32F4 is not the easiest.  Given I know someone who already has it all figured out, that makes a SIGNIFICANT difference.  I've been installing the toolchain that I found from ARM themselves.  My only concern is making sure the floating point unit is getting used by the compiler, or, if I have to access it with ASM.  I mean, if I can't use the floating point unit, kinda makes using the STM32F4 pointless.

I also got the beaglebone in.  Have really done nothing with it yet since i feel it will be the most work.

Things are kinda on hold as I wait for more parts to build my gain/offset circuits in terms of pushing the DUE more. 


Have you used some form of interpolation between samples? On higher frequencies, it could be distorted due to truncation errors. Linear interpolation will be still OK as it's the quickest way to get rid of the noise.

Just curious, what are you trying to use the Due for? A toy piano? It sounded like you are attempting to build a synthesizer on it.


There is a small update in the DDS Code contained in the link which may improve your results.

Duane B



Duane, im doing some deep research on sound synthesis, and some basic DSP as well, and trying to stretch the Arduinos a but, as well as using other uC's( Pics and dsPics), so want to thanks you for your sharing of the info !!
10 LET Loop=Infinite
20 GO TO 10

Go Up