What It Is
Tuning Lattice is a visual and playable environment for working with just intonation. It lets you build tuning systems as ratio networks, hear them immediately, save playable scenes, and turn them into finished diagrams or exported tuning data.
The lattice diagram itself has a long history. Variants appear in Euler's tonnetz and in later just intonation work by composers and theorists including Harry Partch, Ben Johnston, James Tenney, La Monte Young, Terry Riley, Michael Harrison, and Erv Wilson. Tuning Lattice extends that paper-and-pencil tradition into an interactive tool: you can design lattices in 2D or 3D, assign prime factors to axes, work beyond three dimensions with custom nodes, and move fluidly between analysis, performance, and layout.
At its core, the app treats every node as a frequency ratio relative to a fundamental. From there, the same structure can be used as a tuning designer, a calculator, an instrument, a composition aid, a practice tool, and a diagram tool.
A Simple First Session
If you are new to the lattice, this is the fastest way to understand the app's main ideas.
- Set the fundamental.
- Choose simple axis factors such as 3, 5, and 7.
-
Shift-click to add a few nearby nodes around the center. Use
Z-click if you want to enter the Z axis. - Click nodes to hear the intervals.
- Press
Option-1to save the state as a snapshot. - Change the lattice and the playing nodes.
- Press
Option-2to save a second snapshot. - Press
1and2to switch between them. - Open the Tuner from the top menu.
- Switch to Layout mode and make a clean diagram.
That sequence covers the central idea: one lattice can function as a theory model, a playable instrument, a rehearsal aid, and a finished document.
Ways To Use It
As a Tuning Designer
Use the lattice as a visual design surface for building and evaluating ratio spaces around a chosen fundamental.
- Set the fundamental at the top of the app.
- Choose prime-based factors for the X, Y, and Z axes.
-
Start from the center node and Shift-click nearby ratios to grow
the lattice. Use
Option/Alt-click to remove ratios. - Click nodes to toggle sound on and off.
- Use the displayed ratio, Hz, and cents readouts to evaluate the structure.
- Hold
Zand click a node to add notes on its Z axis. -
Save the work with
File > Save Lattice, or copy the URL if you want a shareable encoded state.
To go beyond 3 dimensions
Use Custom Nodes: hold C and click a node to add a
custom node based on any ratio. Custom nodes appear as diamonds to
show they are off the X-Y-Z grid.
If you already have a list of ratios relative to 1:1
Use Calculate > Find Ratios to build a lattice from
that ratio set.
If you already have a list of intervals
Use Calculate > Build from Intervals to generate the
lattice from interval input instead of placing nodes manually.
As a Just Intonation Calculator
Tuning Lattice can also function as a calculator for ratios, frequencies, cents, and interval relationships.
Useful tools
- Hz, ratio, and cents readouts on nodes.
- Interval finding and ratio search in the Calculate menu.
- Interval Overlay for relationship labels.
- Distance lines for comparison, labeling, and annotation.
To inspect frequencies and cents
- Set the fundamental and A4 reference if needed.
- Turn on the readouts you want in Options, such as Hz, cents, or cents deviation.
- Build the nodes you want to compare.
- Read each node directly in the lattice.
To inspect interval names between nodes
- Turn on Interval Overlay in the View panel.
- Hover over nodes to see interval labels.
To calculate the interval between two nodes
- Turn on Distances in the View panel and click Edit.
- Click and drag between nodes to create distance lines.
- Double-click labels to customize their text.
-
Use
Option/Alt-click on a distance line to remove it.
To find a new node as an interval from an existing node
-
Hold
Iand click a node, or selectCalculate > Find Interval. - Choose an interval from the list, or enter a new ratio.
To visualize overtone interactions
- Click Overtones to enter the Overtone Tool.
- Edit the ratios in the Input Notes box. Use line breaks to separate ratios into chords.
- Show or hide overtones, combination tones, and columns showing alignments and roughness.
- Click nodes to hear them.
- Switch to Print mode to create print-ready diagrams.
As an Instrument
Tuning Lattice is also a playable instrument, with a built-in synth, keyboard mappings, MIDI input, pattern playback, one-button looping, LFOs, snapshots, and retuned MIDI out.
Main ways to play it
- Click nodes directly in the lattice.
- Use QWERTY keyboard mappings.
- Play from a MIDI controller.
- Build repeating playback patterns.
- Loop your own performance.
- Send retuned MIDI out to an external synth or MPE device.
- Use snapshots to sequence harmonic states.
Simple playback
- Click nodes to turn them on or off.
V-click a node to adjust its individual volume.- Adjust waveform and envelope in the Synth menu.
- Press
Shift-Spaceto turn all notes off.
To play from the computer keyboard
- Choose a keyboard mode.
- Use Piano Keyboard if you want a piano-like two-octave layout.
- Use Custom Piano Map if you want to assign combinations of nodes to specific keys.
- Use Isomorphic if you want the keyboard to approximate the shape of the current view.
- Use Isomorphic (Fuzzy) if you want nearby-key tolerance instead of exact key targeting.
To play from MIDI input
- Enable MIDI input.
- Select your MIDI device and channel.
- Play from your controller.
To use pattern playback
- Open the Play menu to choose a pattern, rhythm, tempo, and sustain or gate settings.
- Choose the sequence, rhythm, and octave behavior.
- Press Build and then Play to begin.
- Use the space bar to start and stop the pattern.
- Change the lattice or the view while it runs if you want the pattern to update live.
To use the built-in LFO
- Hold
Land click-hold on a node to start an LFO. - The time between mouse press and release becomes the LFO duration.
- Adjust rate and depth in the Synth menu.
To use the looper
The looper is controlled from the backslash key
(\).
- Press once to arm recording.
- Recording begins when you play a note.
- Press again to enter Play mode and loop the recording.
- Press a third time to enter Overdub mode.
- Continue pressing to alternate between Play and Overdub.
- Press
[to clear the loop.
To use MIDI out
- Enable MIDI Out.
- Select the output device.
- Route the output to an instrument that supports per-note pitch bend retuning.
- Match the pitch-bend range in Tuning Lattice and on the target instrument.
- Play from the lattice and listen on the external synth instead of, or alongside, the internal engine.
As a Composition Aid
The snapshot system makes Tuning Lattice useful as a compositional sketchbook and a live scene manager.
What snapshots are good for
- Saving chord regions or drone states.
- Recalling different pattern setups.
- Capturing playable states for performance.
To build a snapshot-based scene set
- Create a lattice state you want to keep. It can include playing nodes, LFOs, patterns, and loops.
-
Hold
Option/Altand press a number key to save that state in a slot. - Press the number key to recall it.
- Repeat for alternate harmonies, tunings, or playback states.
To use snapshots during playback
- Prepare several snapshots in advance.
- Use Snapshot Options to choose what should be recalled: play state, view, synth settings, sequence state, keyboard mode, and LFO behavior.
- Decide whether recalls should happen immediately or at cycle end for pattern playback.
- Enable Morph if you want connected sustained notes to bend between snapshot states.
- Recall snapshots by clicking the slots or using the number-key shortcuts.
A practical compositional use
- Build one lattice for an entire section or piece.
- Save contrasting harmonic regions as snapshots.
- Give each snapshot its own held notes, playback pattern, or LFO state.
- Explore movement between them to design harmonic progressions.
As a Practice Aid
Tuning Lattice can act as a reference instrument for rehearsal, ear training, and intonation work, and the Tuner can function as a live pitch-detection visualizer while you sing or play.
Useful practice scenarios
- Holding a drone while you sing or play against it.
- Checking the exact frequency of a target pitch.
- Comparing nearby just intervals.
- Using the tuner while practicing intonation.
To create a drone for practice
- Turn on audio.
- Toggle on one or more stable reference notes.
- Shape the synth so the sound is steady and unobtrusive.
- Practice against the drone while adjusting the fundamental or active harmony as needed.
To use the Tuner alongside the lattice
- Open the Tuner.
- Activate the microphone and adjust input level.
- Adjust the ratios and labels as desired.
- Click and drag on the graph to adjust range bounds, and scroll to zoom the range.
- Sing or play your instrument and watch the meter.
- Hold a reference in Tuning Lattice if needed. Use headphones so the lattice audio does not interfere with pitch detection.
As a Page Layout Tool
Layout mode turns the lattice into a finished diagram for scores, teaching materials, and export.
What layout mode lets you control
- Page size and orientation.
- Position, scale, and spacing.
- Node size and shape.
- Text styles for titles, ratios, note labels, axis labels, and custom text.
- Which information layers are visible in the final diagram.
To make a presentation-ready diagram
- Build the lattice in the main editing view.
- Switch into Layout mode.
- Set the page size and orientation.
- Adjust zoom, spacing, and alignment so the lattice sits well on the page.
- Freeze the view to begin editing.
- Add a title and creator line if needed.
- Refine text sizes, fonts, and label visibility.
- Preview only the layers you want to publish.
- Export as PDF or SVG.
A good workflow here
- Finish the tuning logic first.
- Hide any labels that are useful during editing but distracting in the final diagram.
- Tune typography and spacing last.
- Export several versions if you want variants for screen, print, or teaching.
As a Design Surface for Scale Workshop
Tuning Lattice is also a front end for building tunings that you will later export into other tools, especially Scale Workshop.
Why this is useful
- You can design the tuning visually before exporting it.
- You can hear the tuning while you build it.
- You can move from exploratory work to formal tuning files quickly.
To export to Scale Workshop
- Build the tuning you want in Tuning Lattice.
- Open the File menu.
- Export to Scale Workshop.
- Review the tuning there and convert it into the format you need.
-
Export or install the result for your target environment, such
as
.scl, MTS, Max/MSP, or Pure Data workflows.