Tom Schouten

For Hire

Technical Software Development
  • embedded systems
  • digital signal processing
  • design and test automation for the above
Located in Kalamazoo, MI. Telecommute and travel possible.
Contact - CV.


I write a lot. The collection contains development logs of my largest open source software projects, Rubber duck debugging, posts about DSP mathematics, electronics, and computer science.


DSP Algorithm Design in Scheme
RAI is a model-based Audio DSP algorithm design tool based on a dataflow language embedded in Racket, and the idea of code analysis and generation by Abstract Interpretation.


RPN macro assembler on steroids
Staapl is a low-level code development environment based on high-level metaprogramming techniques, combining ideas from the Racket programming language with ideas on low-level programming from the the Forth community.


A language toolkit
libprim is a support library for building a dynamically typed programming language. It contains a tiny Scheme implementation, and a replacement for the Packet Forth VM.


Extensions to Pure Data
Creb is a collection of audio DSP extensions to the Pure Data visual programming computer music system.


Pure Data Packet
PDP is a Pure Data extension library, adding building blocks for image and video processing.

Packet Forth

The Odd Duck
PF is a descendant of PDP, replacing the Pure Data system with a dynamically typed Forth-inspired scripting language.