[sdiy] Synstack - Forth based audio DSL for STM32

Karsten Schmidt info at toxi.co.uk
Wed Feb 24 13:18:49 CET 2016


Hi guys,

I've been an interested reader/lurker on this list for the past few
months, but this is my first post :) Over the past year I've been
working on a number of STM32 based synth implementations with a view
of creating a Forth based audio DSL for embedded devices. Since Forth
is sitting in an interesting spot between compiled and interpreted
modes, it'll also be soon possible to do livecoding directly on the
device. But even without that, Forth is naturally fitting, as well as
sufficiently compact & highlevel to succinctly define stacks of DSP
operations (i.e. synths)

I've started with an STM32F401 dev board, but meanwhile have focused
on the new(er) STM32F746-DISCO to also be able to generate UIs for the
synths.

Audio samples:
https://soundcloud.com/forthcharlie/sets/stm32f4

Project summary:
https://cdn.hackaday.io/files/9374401057216/20160215-synstack.pdf

Project log:
https://hackaday.io/project/9374-stm32f4f7-synstack

The current implementation is written in 95% portable C, but am in the
process of rewriting it in Asm to avoid the overhead of C calling
conventions (it will still be embeddable in C project though). The
Forth VM incl. a bunch of native audio operators is ~24KB, the core
dictionary (basically the system library, most of Forth is written in
Forth) adds another 8KB, but will grow to probably double that.

I'm planning for an initial open source release in April, but just
wanted to share the project with you already. Furthermore, I hope it's
okay to do so here, I'll be running 2 workshops about this in April
too. Details are on my website...

K.
-- 
Karsten Schmidt
http://thi.ng



More information about the Synth-diy mailing list