---
title: Contraptions
description: Sarth Calhoun’s small software machines: FM / 6, a six-operator synthesizer; Image Compare Workbench; Soundscape One; and Burlap. Used at Third Wall Studio.
url: https://www.sarth.net/contraptions/
facet: machine
credit: Contraptions is Sarth Calhoun’s shelf of small machines. FM / 6 (2026), Image Compare Workbench (2026), Burlap (2025), Ingather (2021) and Soundscape One (2021) are his. Paint with JavaScript and Kick with Reverb are other people’s, kept on the shelf.
author: Sarth Calhoun
---
Small machines · Machine

# Contraptions

Contraptions is my shelf of small machines, used at [Third Wall Studio](/conspiracies/third-wall-studio/). Most live at their own path on [contraptions.bookofsarth.com](https://contraptions.bookofsarth.com), with source, a text guide and a release record beside them. All of them run in the browser with nothing leaving it. [Burlap](/conspiracies/burlap/) is the main machine; these are the odd little ones beside it.

The physical instruments are on [Devices](/devices/).

![FM / 6 in the browser: three of its six operators with wave, ratio, detune, level and envelope controls, and the signal routing diagram.](/images/contraption-fm6.png)

FM / 6, the Glass garden patch.

The record: Published September 8, 2026. Six operators, four FM routings, two touch keyboards with sustain latches, MIDI and MPE input, ten starting patches, patch URLs, JSON import and export. The C++ engine runs in the browser through WebAssembly and the Web Audio API. [Play](https://contraptions.bookofsarth.com/fm6/) · [Guide](https://contraptions.bookofsarth.com/fm6.md) · [Release record](https://contraptions.bookofsarth.com/fm6.json)

## FM / 6

Six operators. Two keyboards. A sound you can take apart.

A six-operator synthesizer. Start with a bell, a bass or a slowly moving chord. Change the operators and hear how the sound is made.

Why: to make the relationships inside a sound playable and understandable. Each operator explains its role in the current patch and suggests a useful change to try.

## Image Compare Workbench

One folder of gens. Two click-rails on the same pool. Lock A, walk B. Camera and wipe stay put. Nothing leaves the browser.

Drop a folder of images. Click a reference on one rail, click candidates on the other. The camera stays put. Local, in the browser. Svelte 5, Vite, TypeScript. Images stay as File objects and blob URLs.

Sat with [imgsli](https://imgsli.com/) and [Improve ImgSLI](https://github.com/Loganavter/Improve-ImgSLI). One local pool, two independent click-rails.

[Use it](https://contraptions.bookofsarth.com/image-compare-workbench) · [Source](https://github.com/whiddershins/image-compare-workbench)

![Image Compare Workbench: two rails of thumbnails either side of a wipe between two versions of a drawing of children walking away.](/images/contraption-image-compare-workbench.jpg)

Image Compare Workbench: two rails, one pool, a wipe between A and B.

![Soundscape One: a volume slider, movement controls and a black ball in a grey field.](/images/contraption-soundscape-one.jpg)

Soundscape One. The ball is you.

## Soundscape One

A 2D field of sound. You walk; the mix follows. Position is the instrument.

A playable space, not a playlist. Sound is placed in the plane. Your position is the mix. Why: to be inside a sound, not in front of a track.

Three versions: [Soundscape One A](https://contraptions.bookofsarth.com/soundscape-one/one-a.html), four voice, the denser one; [Soundscape Two A](https://contraptions.bookofsarth.com/soundscape-one/officeSoundscape_01.html), offices; and [Soundscape One B](https://contraptions.bookofsarth.com/soundscape-one/musing_in_two_voices.html), two voice, the original, simpler one. First published February 23, 2021.

[Walk it](https://contraptions.bookofsarth.com/soundscape-one) · [Source](https://github.com/whiddershins/WebAudioSoundscape_01)

## Ingather

A whole facility, in a browser tab. Four rooms, thirteen zones, and a day every forty eight seconds.

The control system I built for a cannabis cultivation facility, from August 2021 to March 2022, rebuilt as something you can click through. The facility is gone and the API went with it, so the data is invented and lives in your own browser: change a routine and it is yours, and it is gone when you clear it.

It is the biggest thing on this shelf and the only one that was a job first. It has its own page at [Ingather](/conspiracies/ingather/).

[Try it](https://ingather-demo.marshy-runner.workers.dev) · [The conspiracy](/conspiracies/ingather/)

![Ingather, a room overview: room phase, light level, zones and their fertigation programs, air handler readings.](/images/ingather.jpg)

Ingather. A room, read from outside its door.

The credit: Contraptions is Sarth Calhoun’s shelf of small machines. FM / 6 (2026), Image Compare Workbench (2026), Burlap (2025), Ingather (2021) and Soundscape One (2021) are his. Paint with JavaScript and Kick with Reverb are other people’s, kept on the shelf.

## Other people’s machines

Two things on the shelf are not mine. [Paint with JavaScript](https://contraptions.bookofsarth.com/paint-with-javascript): Surya Narreddi and Cameron Franz RL’d Qwen to paint in p5.js. The sketch is the painting. You edit the code, not the prompt. They rated 1,664 gens by hand and judged new rollouts pairwise against a love pool. That pool is a folder of gens. Image Compare Workbench is the local set-workbench for that job.

[Kick with Reverb](https://contraptions.bookofsarth.com/kick-with-reverb): Zach Hill’s kick sequencer. Kick, noise, reverb layers, then a mastering chain. Diffusion kicks behind a login.

## Earlier machines

The Contraptions category of my old WordPress site listed Jamboxes, with Moldover, in July 2012; ConnecTable carpentry in July 2013; and Brain melt, a double FireWire 800 scare, in October 2011. Only the titles survive there. SeqOSC, a relative of AM synthesis, was built in Kyma and is on [Devices](/devices/).

The copy for each machine is mine, from its page on contraptions.bookofsarth.com; the screenshots are the shelf’s own.
