Graphic Osc
Firmware for Workshop System Computer (Music Thing Modular)
Draw an oscillator's wave with eight faders (8mu, web page, or both). Band-limited, with FM, sync and a Turing Machine.
by XponentOne, claude
- Distribution
- Prebuilt image you flash yourself
- Source
- github.com https://github.com/TomWhitwell/Workshop_Computer/tree/main/releases/800_graphic_osc
- Homepage
- computer.musicthing.co.uk https://computer.musicthing.co.uk/programs/800-graphic-osc/
- Synced from
- upstream metadata, raw.githubusercontent.com https://raw.githubusercontent.com/TomWhitwell/Workshop_Computer/main/releases/800_graphic_osc/info.yaml. Corrections belong upstream.
- oscillator
- wavetable
- band-limited
- synthesizer
- midi-host
- midi-device
- fm
- sync
- 8mu
- turing-machine
- sequencer
- quantiser
- cards
Description
**Graphic Osc** is an oscillator whose waveform you draw by hand: eight faders are the eight stages of one wave cycle. Use a Music Thing **8mu** plugged straight into the Computer's USB-C socket (the Computer acts as USB host), or a laptop running the bundled **web editor** (the Computer acts as a USB MIDI device; an 8mu can be plugged into the laptop instead). The card picks the role at power-up. Page buttons A-D switch the faders between stage **levels**, stage **times**, stage **curves** and a **performance** page (fine tune, level, symmetry, fold, brightness, odd/even harmonics, formant). Pitch comes from the Main knob plus **CV In 1** at 1 V/oct; the oscillator is on **Audio Out 1**.
**Symmetry** (page 4) is smooth, and **CV In 2** controls it too, by a depth set with Knob Y (switch in the middle) - zero depth is no effect, full depth is CV In 2's old always-on range.
Whatever you draw is played through band-limited wavetables that are rebuilt on the fly, so even hard steps and folded shapes do not alias at any pitch (measured on a PC harness, see README).
**FM** (Audio In 1 modulates the oscillator's pitch) and **sync** (Audio In 2, soft or hard, stepped by a quick press of the Z switch) are also built in; they are less clean than the plain oscillator (see README for measurements). The **Z switch** chooses what the X and Y knobs do, and every knob-controlled setting uses soft takeover so nothing jumps.
A small **Turing Machine sequencer** runs alongside: **Pulse In 1** clocks a 16-bit shift register, **CV Out 1** is the quantised note (1 V/oct, 2 octaves), **Pulse Out 2** is the register's least significant bit; with the Z switch up, **Knob X** locks the loop (clockwise = repeat, 12 o'clock = random, counter-clockwise = repeat inverted) and **Knob Y** picks one of eight scales.
Version history
| Version | Date | Notes |
|---|---|---|
| 0.7.0 | 2026-09-26 | Version and date from the card's info.yaml. |