Moth's Actias quantum synth for qubit sonification with Bloch sphere visualization and MIDI control
/plugin marketplace add plurigrid/asi/plugin install asi-skills@asi-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Trit: +1 (PLUS - generative/sonic output) Type: Quantum Musical Instrument Principle: Sonify qubit state via Bloch sphere mapping
Actias is a quantum synthesizer that:
|0⟩ (North pole)
│
│ θ = polar angle
│
─────┼───── φ = azimuthal angle
│
│
|1⟩ (South pole)
|ψ⟩ = cos(θ/2)|0⟩ + e^{iφ}sin(θ/2)|1⟩
| Parameter | Bloch Coordinate | Sound Effect |
|---|---|---|
| θ (theta) | Polar angle | Timbre blend |
| φ (phi) | Azimuthal angle | Phase/detune |
| r | Radius (purity) | Amplitude/reverb |
| CC | Controller | Rotation |
|---|---|---|
| 1 | Expression 1 | X-axis (orange) |
| 2 | Expression 2 | Z-axis (blue) |
| 3 | Expression 3 | Y-axis (green) |
| 64 | Sustain/Switch | Measurement |
# MIDI note → qubit initialization
def note_to_qubit(note, velocity):
"""
Map MIDI note to initial qubit state.
note: 0-127 → θ = note * π / 127
velocity: 0-127 → φ = velocity * 2π / 127
"""
theta = note * np.pi / 127
phi = velocity * 2 * np.pi / 127
return cos(theta/2), exp(1j * phi) * sin(theta/2)
┌─────────────┐ MIDI ┌─────────────┐
│ Fishman │──────────────▶│ Actias │
│ MIDI Pickup│ │ Synth │
└─────────────┘ └──────┬──────┘
│
┌─────────────┐ MIDI │ Audio
│ Boss EV-1-WL│──────────────────────┤
│ Foot Pedals │ │
└─────────────┘ ▼
┌─────────────┐
┌─────────────┐ │ Mix │
│ Boss FS-6 │───Measure────▶│ Output │
│ Foot Switch │ └─────────────┘
└─────────────┘
Actias runs as web application with:
Note: Web MIDI requires secure context (HTTPS/localhost)
From Coecke's tech notes:
| Issue | Workaround |
|---|---|
| Preset loss on MIDI reconnect | Re-add device in settings |
| Tablet web MIDI | Use desktop only |
| Two laptops needed | Separate Actias + DAW hosts |
| Only Z-measurement | Rotate before measure for X |
// Actias-like qubit sonification
SynthDef(\actias, { |theta=0, phi=0, gate=1|
var sig, prob0, prob1, env;
prob0 = cos(theta/2).squared;
prob1 = sin(theta/2).squared;
// Blend two timbres based on |0⟩/|1⟩ probability
sig = (SinOsc.ar(440) * prob0) +
(Saw.ar(440 * 1.5) * prob1);
// Phase modulation from φ
sig = sig * (1 + (0.5 * cos(phi)));
env = EnvGen.kr(Env.asr(0.01, 1, 0.1), gate);
Out.ar(0, sig * env ! 2);
}).add;
| Component | Trit | Role |
|---|---|---|
| zx-calculus | -1 | Notation |
| quantum-guitar | 0 | Interface |
| moth-actias | +1 | Sonification |
Conservation: (-1) + (0) + (+1) = 0 ✓
Skill Name: moth-actias Type: Quantum Synthesizer / MIDI Trit: +1 (PLUS)
Condition: μ(n) ≠ 0 (Möbius squarefree)
This skill is qualified for non-backtracking geodesic traversal.