[sdiy] Raspberry Pi 2 Synthesizer Project

Scott Gravenhorst music.maker at gte.net
Sun Feb 7 18:32:32 CET 2016


"Richie Burnett" <rburnett at richieburnett.co.uk> wrote:
 >Scott Gravenhorst wrote:
 >
 >> This particular synth uses the sin() function with uses double float
 >> arithmetic.
 >
 >Yikes!  I'm sure you could get it to run more efficiently using 
 >virtually any other approximation to a sine than the double-precision 
 >floating-point maths-library function!  That bodes well for having 
 >enough resources to add more sophisticated features in future though.

Of course!  I purposefully used slow (but easy/simple) arithmetic and 
didn't optimize really anything just to get it working quickly and to 
see how bad it is.  If I didn't say - this is "first sound" yesterday 
from an essentially "hello world" project.

 >Don't forget that you can easily get sin(2a) once you've calculated 
 >sin(a) just by squaring it and removing the DC offset.  That's got to 
 >be more efficient than calling another functional call to sin().  You 
 >can get the other harmonics using other Chebyshev polynomials of the 
 >first kind:
 >
 >https://en.wikipedia.org/wiki/Chebyshev_polynomials#First_kind

I've been there before, very interesting stuff.

 >It can see that it would be nice if you could use the DSP instructions
 >inside the ARM, if only to benefit from things like pre-fetching and
 >saturation arithmetic, but I've also heard that keeping track of the 
 >deep pipeline dependencies is almost unfathomable manually!

Heh - yes, and this is meant to be a fun project for a retired "senior".

Future stuff will be Karplus-Strong (easy) and hopefully develop a 
useful bowing algorithm (so far not so easy).



More information about the Synth-diy mailing list