A browser matrix sequencer inspired by the Yamaha TENORI-ON. Gridsong is an independent project and is not affiliated with or endorsed by Yamaha; TENORI-ON is a trademark of Yamaha Corporation. Sixteen layers, sixteen blocks, six performance modes, and the ten function buttons. Sounds are synthesized with Web Audio, so voices are impressions of the originals rather than samples of the original instrument.
Performance modes (fixed per layer)
Score (L1-7)
Vertical = pitch, horizontal = looped time. Short press to audition, hold to enter or remove a note. OK pauses; while paused, press an LED to move the loop indicator.
Random (L8-11)
Notes play in the order entered; a light travels from note to note, so timing depends on distance. Hold L4 and stroke a circle to spin the shape.
Draw (L12-13)
Press or drag; whatever you play is recorded into a 16-step loop and repeated. CLEAR wipes the layer.
Bounce (L14)
Press an LED and a light drops and bounces; the note sounds at the bottom row. Higher entry = longer interval. Press the bottom LED to stop a column.
Push (L15)
Hold an LED and the tone evolves; the flashing grows. Hold longer than about half a second and it keeps sounding after release. Press it again to stop.
Solo (L16)
Hold an LED to repeat a note. Horizontal = pitch, vertical = repeat interval (top is fastest, bottom plays once). Slide to change.
Function buttons (click to latch, or hold a key)
L1 Instrument
Crosshair on the 16x16 voice grid. Q
L2 Sound length
Column sets gate time, 50 ms to 9990 ms. W
L3 Octave
Row sets octave shift, -5 to +5 (8th row = 0). E
L4 Loop point / Rotation
Score: upper half sets TOP, lower half sets END. Random: stroke to rotate. R
L5 Loop speed
Leftmost four columns: quarter, eighth, sixteenth, thirty-second notes. T
R1 Layer
Row selects layer (bottom = 1). Y
R2 Tempo
Column sets 50-200 BPM; jog for 40-240. U
R3 Transpose
Row sets -7 to +8 semitones. I
R4 Volume
Each row is a layer; slide along it. Jog sets master volume. O
R5 Block
Column selects block. Tap the bottom LED of the lit column to cycle dim / medium / bright, then tap a destination column to move / copy layer / copy all layers. P
Other controls
Jog dial
Drag, mouse wheel, or ↑↓. Turn it from the status display to open the menu. Also fine-adjusts a held function button's value.
OK
Pause / resume on the status display, confirm in menus. Enter or Space
CANCEL
Back out of menus, release a latched function button. Esc
CLEAR
Short press clears the layer; hold to clear all blocks. Backspace
Menus
Play, Layer, Edit, Preference, File, Effect, Interior, System, Recording. Files save to this browser instead of an SD card; the File menu also imports and exports JSON and loads a sample into User1-3.