▤ Sample Factory
tick 0

Compiled program

Every block computes from the registers as they are now, then every register latches at once.


    
  

Sample Factory

ICs and nets. Blocks are ICs with pins. A net is a set of connected traces carrying one number, shown as the trace colour. Logic ICs (add, multiply, compare, switch) settle within the tick, like gates on a real board.

Flip-flops are the registers. The Delay IC is a flip-flop: the net it drives is a register that only changes at the clock edge. Every feedback loop needs one; a loop without one is an error. The right-hand panel shows the critical path: the longest chain of logic between flip-flops.

Sample stacks. A Sample block is a stack of every sample in a WAV file. Each tick it emits the next one, on the same clock edge where the flip-flops latch, so at real time it plays the song and at a slow clock you can step through it one sample at a time. Place one from the palette (Sources) or drop a WAV on the board; double-click the block to load a different file. Reset rewinds it. Songs stay in this browser and are not part of exported files.

Unwritten nets are constants. Route a short trace from an input pin and give it a handle with the knob tool. A net that an IC drives can't have a handle.

Routing. With Route (W): click a pin, a trace or empty board to start. Click to place corners and press / to flip the corner. Finish on a pin or a trace to connect. A trace can't cross another net on the same layer: press Tab to drop a via and continue on the bottom layer, which passes under everything.

Style lab. The Style menu changes how operations, branch points, direction and registers are drawn. Compare them side by side.

Zoom is navigation. Every composite IC shows its own board inside. Scroll in until its traces are big and you are working inside it. The definition is shared, but each instance keeps its own knob values. Double-click an IC to fly into it, Z or Esc to back out, H to see everything.

One clock. The slider runs the design from 0.5 ticks/s up to real time (48 000 ticks/s, one per audio sample). With audio on, the speaker holds the DAC between ticks, so slow clocks are clicks and real time is sound.

Selecting and editing. With Select (V), drag on empty board to box-select; click to select a block or a trace; Shift-click adds or removes. Drag anything selected to move the whole selection, or nudge it with the arrow keys. Copy, cut, paste and duplicate work on blocks and traces together, keeping knobs and nets intact. Every change can be undone.

Keys

V W E Kselect · route · erase · knob
Ctrl+Z / Ctrl+Shift+Zundo / redo (also Ctrl+Y)
Ctrl+C X V D Acopy · cut · paste · duplicate · select all
Del / Shift+Deldelete selection / a clicked trace's whole net
arrows (Shift: ×5)nudge the selection
Rrotate the selected atom, or the one being placed
Tab · / · Esclayer (via while routing) · flip corner · cancel / deselect / zoom out
wheel · right/middle/Space-dragzoom · pan
F · H · Zzoom to selection · show everything · zoom out one level
double-clickenter a block · type a knob value · load a WAV
. · ?step one tick · this help