The Objective-C inspired live coding synthesizer.
You don't need a flashy GUI. Just weave polyrhythm and acid baseline with brackets and semi-colon. Polynomial-C is a bizarre live coding instrument born for Syrobonkers.
The Code
Talk is cheap. Show me the code.
poly_acid_test.m
[tb303 play];
[tb303 setResonance:0.9];
[tb303 setFrequency:55.0];
async {
float cutoff = 0.1;
while(true) {
[tb303 setCutoff:cutoff];
[self wait:0.25];
if (cutoff < 0.8) { cutoff = cutoff + 0.2; }
else { cutoff = 0.1; }
}
}
while(true) {
[sampler setRate:1.5];
[sampler play:"AmenBreak"];
[self wait:0.375];
}
Cheat Sheet
Quick reference for objects, methods, and magic constants.
| Category | Syntax / Methods | Description |
|---|---|---|
| Core Syntax | [receiver method:value]; async { ... } int, float, string, array | Objective-C style message passing. Spawns a new parallel thread for polyrhythms. Statically typed variable declarations. |
| tb303 | [tb303 play]; [tb303 release]; [tb303 setFrequency:110.0]; [tb303 setCutoff:0.85]; [tb303 setResonance:Maximum]; | Triggers the synthesizer envelope. Releases and stops the synthesizer. Sets the oscillator pitch in Hz. Adjusts the low-pass filter (0.0 to 1.0). Adjusts the filter resonance. |
| sampler | [sampler play:"Kick"]; [sampler setRate:1.5]; | Plays a .wav file from the project root. Changes playback speed and pitch. |
| self | [self wait:0.25]; [self customMethod]; | Pauses the current thread (in seconds). Executes a user-defined void function. |
| Constants | MaximumMinimumAcidBraindanceFrequencyHigh | Built-in float variables designed specifically for quick Braindance sound shaping. |
Objective-C Syntax
Hardcore audio engine controlled by [receiver message] paradigm.
True Concurrency
Don't get tied up to a single timeline. Spin dozens of loops simultaneously in perfectly isolated threads to create polyrhythms.
Built-in TB-303 & Sampler
Built-in analog modeling synth and .wav sampler ready to use immediately without separate plug-in settings.
Download & Quick Start
How to Acid:
- Mount
Polynomial-C.dmgand copy the app to the Applications folder. - Put
Kick.wavor your favorite sample in the project root. - Press Cmd + R, enter
[tb303 play];and click Compile and Run to turn on the speaker.
SYS_NOTE // QUARANTINE_OVERRIDEIf macOS prevents the app from opening, simply Right-Click ➔ Open the app, or run
xattr -cr /Applications/Polynomial-C.app in your terminal to clear the quarantine flag.