Twelve-Tone Row Generator
A tone row is an ordering of all twelve pitch classes in which none repeats, and the matrix is the table a composer works from: forty-eight forms of that row, laid out so any of them can be read off a line or a column. Writing the table out by hand is the exercise every serialism course sets, and it is exactly the sort of arithmetic that is easy to get subtly wrong. This builds the row, builds the matrix, and then checks the finished table rather than trusting the arithmetic that made it — every line and every column has to be an ordering of all twelve before you see it.
What this generator does
Produces an ordering of all twelve pitch classes and the twelve-by-twelve table built from it. The top line is the prime, the left edge names the prime form each line reads as, and the top edge names the inversion each column reads as. Below the table it reports what the row happens to have: how many of the forty-eight forms are genuinely different orderings, and which forms have a first six notes that are exactly the six this row leaves out.
How to use this tool
- Choose whether you want any row at all, or one with a particular property.
- Make the row, and read the prime form off the top line of the matrix.
- Read a line left to right for a prime form, right to left for its retrograde, a column downwards for an inversion and upwards for its retrograde inversion.
- Switch between note names and pitch-class numbers, whichever your course uses.
- Type a repeat word if a group needs to work from the identical row.
Understanding the controls
- What kind of row
- Any row draws every ordering with equal chance. All-interval asks for a row that uses each of the eleven intervals exactly once, which is rare and is found by search. Derived builds the row from one small cell and transformations of it. The last option keeps away from the shapes a tonal ear reassembles into a key.
- Cell size
- For a derived row: three, four or six notes, giving four, three or two segments. Not every cell can build a row, so the draw retries until one does.
- Write the notes as
- Note names or the numbers 0 to 11. Sharps throughout, because in this music a pitch class is a number and a flat would imply a key.
- Repeat word
- The same word brings back the same row, so a whole group can work from one without anybody sending a file around.
Common use cases
- Setting a composition exercise where each student gets a different row
- Checking a matrix written out by hand against one built the same way
- Finding a row with a property you want — all-interval, derived, or free of tonal shapes
- Starting a serial piece from a row you did not choose yourself
- Teaching what the four operations do, with the table in front of you
How this generator works
A row is drawn, and the matrix is filled so that the line beginning on each note of the inversion reads as the prime transposed to start there. That construction makes the top line the prime and the left edge the inversion, which is why the table is worth writing out. The finished table is then checked rather than assumed: every one of the twelve lines and every one of the twelve columns must be an ordering of all twelve pitch classes, the top line must be the row itself, the left edge must be its inversion, and the whole diagonal must hold the note the row began on. Where you asked for a property, that is checked too — the eleven intervals of an all-interval row are counted, and each segment of a derived row is matched back against the first segment by trying every operation and every transposition.
Randomness and fairness
The row is drawn at random; everything after it is arithmetic. A repeat word reproduces the same row exactly and is therefore explicitly not cryptographically secure. Without one, the draw comes from the browser's cryptographically secure generator.
For how randomness is produced across the whole site, see how Generate Random works.
Limitations and good to know
- This is pitch only. Serial treatment of rhythm, dynamics and articulation is a separate decision and is not made here.
- Notes are named with sharps throughout. A row is a sequence of pitch classes, so a spelling with flats would be equally correct and is simply not offered.
- The tonal-shapes option looks at three consecutive notes for a triad and at runs of semitones. Four-note tonal shapes, and a triad spread across a gap, are not caught.
- Not every small cell can build a derived row, so a cell that cannot is discarded and another drawn rather than reported.
- A row is a starting point, not a piece. What makes the music is the order in which the forms are used and how they are laid out in time.
- Nothing is kept between visits — note the repeat word for a row you want again.
Privacy and your data
Rows are built in your browser. Your repeat word and settings are not transmitted and are not remembered after you leave.
Related generators
- Random Melody GeneratorA note sequence in a key you choose, under constraints you set — how far it may leap, what shape it takes, and whether it resolves.
- Random Chord Progression GeneratorGenerate a chord progression in any key — either a well-known pattern or a fresh sequence — with Roman numerals and the actual chord names.
- Random Scale GeneratorDraw a random scale to practise — major, minor, modal, pentatonic or blues — correctly spelled, with its key signature and degree numbers.
- Mode Rotation CalculatorRotates any scale through all its modes, and explains why symmetrical scales have far fewer than their degrees suggest.