[sdiy] Raspberry Pi 2 Synthesizer Project
Richie Burnett
rburnett at richieburnett.co.uk
Sun Feb 7 19:08:26 CET 2016
Great stuff.
Was it hard to get the ping-pong audio buffer stuff working properly with the OS and audio driver? I've never programed real-time audio on such a high-level platform before. I've always had to set up the buffers and DMA controller myself to make this sort of thing happen, on dspic33f etc.
Look forward to seeing how you take the project forward.
-Richie,
Sent from my Xperia SP on O2
---- Scott Gravenhorst wrote ----
>"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).
>_______________________________________________
>Synth-diy mailing list
>Synth-diy at dropmix.xs4all.nl
>http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list