Ryan Wixen
10/30/23
Music 256A / CS476a, Stanford University

#### Final:

Action Screenshot

Basis combines rhythmic and melodic sequencing. Through a modular matrix multiplication, the melodic grid, along with the basis selection bar on the left, determines the rhythm sequence, shown at the top. Conceptually, the rhythm is result of the system specified by the melody grid operating on the sequence inthe selection bar.
From Milestone 2, I think I more successfully conveyed the modular matrix multiplication mechanic by using filled-in and outlined circles and connecting lines between pairs of filled in circles. The left bar determines which circles are filled in. Pairs of filled-in circles in a column cancel each other out, as indicated by the connecting lines. If there is an odd number of filled in circles in a column, then a filled-in circle appears in the top rhythm sequence. I also added more variety to the sonic character of the sequencer.

To use the sequener, run Basis.ck. Press the top-left button to start the sequencer. You may need to change the MOUSE_DEVICE variable in the code.

#### Milestone 2:

The central grid is a basis for the drum sequence that is display above. The bar to the left of the central grid determines which vectors from the basis are modularly summed to create the drum sequence. The basis in the central grid also specifies a melody. The top left button is on/off.

#### Milestone 1:

To me music sequencers are most commonly drum sequencers, but there are also melodic sequencers. I think arpeggiators are an interesting type of melodic sequencer, because they turn a simple input, like a root note, into a more complex output. I wonder what a timbral sequencer would be like. A sequencer usually specifies how some parameters change over time. Are their other independent variables besides time over which to create a sequence, for example, space or frequency? I think a sequence makes the most sense when time is the dependent variable. Many sequencers have independent, parallel tracks. What if there was more interaction?

I think the strength of sequencers is that the are specific and compact. With drum sequencers especially, the binary selection of discrete events gives a very coherent language in which different patterns' significance is well-situated. Also think a potential shortcoming is that a change to a signle input parameter corresponds to a change in the output that is usually smaller than the user's eventual intention, though it does allow granularity. What if there was a multi-resolution sequencer, like a Harr wavelet transform?