Performing Code / Luis Sanz
Artistic research / 2026

Performing Code

Live Coding in Performative Contemporary Practices

An ongoing investigation into code as compositional material, a performative instrument, and a means of exploring emergent sonic structures.

Research period15 June — 17 August 2026
LocationUnsorted Space, Zürich
ResearcherLuis Sanz

Code as an instrument of thought and action.

Performing Code explores live coding as a compositional, performative, and computational practice. It asks how algorithmic systems can shape musical expression, rhythmic organization, and the experience of performing with computational processes in real time.

The research develops through practical experiments, source-code studies, listening, and performance. Code is approached not only as a set of instructions for producing sound, but as material that can be revised, exposed, and negotiated during a performance.

Rather than aiming for predetermined outcomes, the work examines how rules, constraints, and relationships between processes can produce unexpected sonic behaviours and evolving structures.

The archive combines working code, short explanations, research notes, and documentation. It is intended to grow alongside the experiments rather than present a finished methodology.

Areas of investigation

01

Rhythm and relation

How can algorithmic relationships generate rhythmic structures beyond fixed loops, regular pulses, or conventional meter?

02

Generative systems

How do operators, constraints, transformations, and feedback shape the behaviour of a musical system over time?

03

Code in performance

What changes when the code itself becomes visible, mutable material within the performance?

04

Listening and emergence

How can listening and bodily response guide the development of systems whose results are not fully predictable?

05

Open tools and access

How can open-source environments support adaptable, inspectable, and shareable approaches to creative computation?

Code notes

Short, annotated examples can sit alongside longer research texts. The example below is a small SuperCollider pattern sketch; replace it with a tested excerpt from your own work and explain what you are listening for.

01

Pattern as a changing relation

SuperCollider / sketch

A simple pattern provides a stable starting point. Changing the sequence, duration, or relationship between pattern streams can shift the resulting rhythmic behaviour without changing the sound source.

SuperCollider
(
Pbind(
    \instrument, \default,
    \degree, Pseq([0, 2, 5, 1, 4], inf),
    \dur, Pseq([0.25, 0.5, 0.25, 0.75], inf),
    \amp, 0.15
).play;
)

Research note: What happens to perceived pulse when the pitch sequence and duration sequence have different cycle lengths?

02

Documenting an operator

Template / replace with tested code

Use this structure to document a custom operator, generator, or transformation. State the input, the operation it performs, and what changed in the listening test.

Code example placeholder
// Name:
// Input:
// Operation:
// Output:
//
// Example call:
// [insert tested expression here]

Keep examples executable where possible. Mark pseudocode and untested sketches clearly.

These examples are illustrative page content, not a complete performance setup. A real patch may require a SynthDef, server boot, external classes, buffers, or other dependencies.

From code to listening, and back.

Build

Develop small systems, operators, and patterns that can be inspected and recombined.

Listen

Evaluate their sonic and rhythmic behaviour through repeated listening and performance.

Modify

Adjust rules, parameters, and relationships in response to what the system produces.

Document

Publish code, observations, limitations, and useful references so each experiment remains traceable.

The method is iterative rather than linear. Listening can challenge the assumptions behind a system; code can then be revised to make room for different forms of interaction, instability, and control.

Research log

Add dated entries as the project develops. Link each entry to a separate page, code file, audio example, or video when available.

Entry 001 / 2026

Algorithmic operators and rhythmic relations

Notes on transformations, cyclic structures, and the relationship between mathematical operations and physical listening.

Entry 002 / 2026

Building a performance setup

Environment, routing, pattern organization, and practical decisions that shape a live-coding session.

Entry 003 / To come

Performance documentation

Add recordings, excerpts, images, and reflections from a specific performance or experiment.

The entries above are starter placeholders. Replace them with actual research notes as you publish them.

Working environments

SuperCollider is the primary environment for this research, used to develop and perform algorithmic music and investigate code as a compositional instrument. The work explores real-time rhythmic structures, algorithmic processes, and the interaction between performer and system.

Research support

Performing Code — Live Coding in Performative Contemporary Practices was supported by Pro Helvetia, the Swiss Arts Council.

Luis Sanz

Luis Sanz is a Zürich-based multidisciplinary artist, researcher, and musician working across computer music, experimental sonics, live coding, and audiovisual performance. His practice explores self-developed computational systems, autonomous sonic behaviours, rhythm, perception, and cultural memory.

Performing Code — Live Coding in Performative Contemporary Practices
Unsorted Space, Zürich · 15 June – 17 August 2026