Rendering
This content is for v0.7. Switch to the latest version for up-to-date documentation.
Resonon renders audio offline to stereo WAV files at maximum speed. Pattern loops can be bounced to disk for use in DAWs or distribution.
Project Metadata
Section titled “Project Metadata”Set project metadata before rendering. The title determines the output folder name (falls back to “untitled” if unset):
project_title("House Beat");project_artist("RESONON");Pattern Rendering
Section titled “Pattern Rendering”Use render() to bounce pattern loops for a given number of cycles:
| Call | Output |
|---|---|
render(cycles) | Master mix |
render(track, cycles) | Single track |
render(master, cycles) | Master mix (explicit) |
render(#[tracks], cycles) | Each track as separate WAV |
render(#[tracks, master], cycles) | Tracks + master mixdown |
render_master(cycles) | Master mix (convenience) |
render(4); // Master mix, 4 cyclesrender(drums, 4); // Single trackrender(#[drums, hats, bass], 4); // Multiple tracksrender(#[drums, hats, bass, master], 4); // Tracks + master mixrender_master(4); // Master mix shorthandOutput Format
Section titled “Output Format”| Property | Value |
|---|---|
| Format | WAV (PCM) |
| Channels | Stereo |
| Sample rate | 48,000 Hz |
| Bit depth | 24-bit integer |
These are fixed defaults.
Output Directory
Section titled “Output Directory”Renders are written to:
renders/{project}/{project}_{YYYY-MM-DD_HH-MM-SS}/ kicks.wav snares.wav hats.wav master.wavThe project name is sanitized from project_title(): lowercased, special characters replaced with underscores, consecutive underscores collapsed, trimmed, and capped at 50 characters. Empty or all-special-character titles fall back to “untitled”.
Example: "Track #1 (Final)" becomes track_1_final.
Rendering Behavior
Section titled “Rendering Behavior”- Offline speed — rendering runs at maximum speed, not constrained to real-time
- Audio paused — live audio output is paused during a render and resumes automatically when it finishes
- Progress — a progress bar shows the current cycle, total cycles, and estimated time remaining
Examples
Section titled “Examples”Multi-Track Pattern Render
Section titled “Multi-Track Pattern Render”project_title("House Beat");project_artist("RESONON");
use "std/instruments" { Sampler, Kit };
// Trackslet kicks = AudioTrack("kicks");kicks.load_instrument(Sampler(Kit("cr78")));kicks << [bd*4];
let snares = AudioTrack("snares");snares.load_instrument(Sampler(Kit("cr78")));snares << [_ cp].fast(2);
let hats = AudioTrack("hats");hats.load_instrument(Sampler(Kit("cr78")));hats << [_ hh].fast(4);
// Effectskicks.load_effect(Lowpass(600));snares.load_effect(Delay(0.2, 0.3));hats.load_effect(Highpass(3000));
// Render 4 cycles with all stems + masterrender(#[kicks, snares, hats, master], 4);