[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