END USER GUIDE

WAYLINATOR EDITOR

Browser-based editor for the Daisy Pod synthesiser

This guide explains how to connect to your Waylinator, understand its patches, tune its parameters, build custom chord scales, and import MIDI files — all from a single browser page.


Open editor.html in Chrome or Edge · Connect via USB · Play

Contents

  1. Overview & Requirements
  2. Connecting to the Device
  3. Hardware Controls — knobs, buttons, encoder, banks
  4. MIDI Controls — pitch bend, mod wheel, CC2/breath
  5. Keyboard Zones & Transposition — how the bottom half controls the top
  6. Remapping Patches — WAYLO_TRANS, ZAWINUL, SAMCHILI explained
  7. Rotator Patches — MIDIROTATOR, CHORDROTATOR and how they work
  8. The Editor Layout
  9. Parameters Tab — detailed reference
  10. Patches Tab
  11. Patch Reference — what each patch does
  12. Chord Editor Tab
  13. Importing Chords from a MIDI File
  14. Rotator Chord Settings
  15. Saving & Restoring Settings (CSV)
  16. EWI / Breath Controller Reference
  17. Quick-Start Workflows

1 · Overview & Requirements

The Waylinator is a polyphonic synthesiser running on an Electro-Smith Daisy Pod hardware module. It is controlled over USB using a browser-based editor that communicates through the Web Serial API.

Tip If you see "Web Serial not supported" in the status area, switch to Chrome or Edge and make sure you opened the file as file://…/editor.html (not inside another application).

2 · Connecting to the Device

  1. Plug the Daisy Pod into your computer with USB. Power it on.
  2. Open editor.html in Chrome or Edge.
  3. Click Connect at the top of the page. A browser dialog will appear listing available serial ports — select your Daisy Pod (typically labelled "USB Serial Device" or similar).
  4. The button label changes to Disconnect and a green dot appears. The editor automatically reads the current device state — you will see the values appear in the Device Log within a second.
  5. Wait for the status bar to say Device state loaded. Ready to edit and write. before making any changes. Do not click Write to Device before this message appears.
  6. After making changes, click Write to Device to push everything back. The device acknowledges by echoing its state in the Device Log.
Note — two separate send operations Write to Device sends parameters, knob settings, patch enable/disable state, and rotator values. It does not send chord-scale data. To update chord scales you must use Send to Device inside the Chord Editor tab separately.

3 · Hardware Controls

The Daisy Pod has two knobs, two buttons, and one rotary encoder with a push-click. All controls work in real time — you do not need the editor connected to use them.

Knob 1 — Chorus

Knob 1 controls the chorus effect: turning it clockwise increases both the depth (pitch shimmer amount) and the rate (LFO speed) of the stereo chorus simultaneously. At minimum the effect is dry; at maximum the sound widens noticeably and shimmers. In a few patches (WAYLO_XFADE2 family, FIXED_PULSE group) Knob 1 instead controls a per-voice pitch LFO depth and rate — the same "wider as you turn" feel applies.

Knob 2 — Delay

Knob 2 controls the wet level of the 3-tap LCR delay (Left-Centre-Right panned repeats). At minimum there are no delay repeats; at maximum the delay is prominent. Knob 2 is independent of Knob 1 — you can have dry chorus + wet delay or vice versa.

Button 1 — Decrease Envelope

Each press of Button 1 steps the attack time down by 5 ms and the release time down by 20 ms. Both the amplitude envelope and the filter envelope are adjusted together. The minimum is 1 ms. This is a quick on-stage way to get a snappier, more percussive feel without opening the editor.

RAM-only change Button envelope changes are not written to flash. They are lost on power-off. To make them permanent, set the values in the editor's Parameters tab and click Write to Device.

Button 2 — Increase Envelope

Each press of Button 2 steps the attack time up by 5 ms and release up by 20 ms. Maximum is 2 seconds. Use this to add sustain and a slower fade-in for pad-like sounds.

Exception: on the SINE_FM_PIANO_ADJ patch (patch 20), Button 1 and Button 2 control only the FM piano's attack time (not the global envelope), in very fine steps of 0.1 ms up to a maximum of 50 ms.

Note: buttons have no effect on the SINE_FM_PIANO or SINE_FM_PIANO_ADJ patches for the global envelope — those patches manage their own internal envelope separately.


Rotary Encoder — Patch Selection

The rotary encoder (the clickable knob, separate from the two analog knobs) navigates patches and switches banks.

ActionWhat happens
Rotate clockwiseStep forward to the next enabled patch. Skips any patches that are unticked in the editor.
Rotate counter-clockwiseStep backward to the previous enabled patch.
Short click (press and release quickly)Cycle the bank forward: Bank A → Bank B → Bank C → Bank A. All voices are killed on bank change.
Long press (~½ second hold)Jump immediately to Patch 0 (DUAL_SQUARE) and kill all active voices. Useful as a "panic" reset on stage.

Banks — A, B, and C

The Waylinator has three banks that fundamentally change how the current patch behaves. The LEDs on the Pod change colour to show which bank is active.

Bank A — Standard (default)

Normal polyphonic operation. ADSR envelopes, note-on/note-off, velocity sensitivity. This is the default bank on power-up.

Bank B — EWI / Breath Driven

Most patches switch to monophonic legato mode. Amplitude and filter cutoff are controlled by breath (CC2 or channel pressure) rather than the ADSR envelope. Phase is preserved across notes so there is no click on legato transitions. Portamento (glide) is active between notes using the EWI Portamento (ms) parameter.

In Bank B, the rotator patches (MIDIROTATOR, CHORDROTATOR, CDG_ROTATOR, EFC_ROTATOR, DIATONIC_CHORDS, DIATONIC_FOURTHS, FIFTH_UP, FIFTH_UP_FOURTH_DOWN) switch to a legato chord update mode — the chord changes smoothly without a note-off/note-on boundary, giving a wind-instrument feel to harmony patches.

Bank B and keyboard players Bank B works without a breath controller — if no CC2 is received the breath value defaults to full, so notes simply sustain until released. Dynamics come from a velocity multiplier in this case.

Bank C — Audio Input Blend

The Daisy Pod's audio input is mixed into the synthesiser output. You can feed a guitar, instrument, or backing track into the Pod and blend it with the synth sound. Bank C behaves like Bank A for all other parameters (polyphonic ADSR).

Audio input gain in Bank C is set conservatively (lower gain on WAYLO_XFADE patches which already multiply the output further, higher gain on other patches). Use Knob 2 to set the delay wet to taste; the synth and audio signal both pass through the delay and chorus effects.

4 · MIDI Controls

Pitch Bend

Pitch bend is received on any MIDI channel. The behaviour depends on the current patch:

Patch typeBend rangeNotes
All standard polyphonic patches±2 semitonesApplied to all active voices simultaneously.
EWI patches (EWI_MONO_*, EWI_DUAL_WAVE_LFO*)Asymmetric — set by EWI Bend Up and EWI Bend Down parametersDefault ±2 st. Upward and downward ranges can differ, matching wind-controller conventions.
Bank B (all patches in EWI mode)Same asymmetric EWI rangeApplies in Bank B regardless of patch, since Bank B switches all patches to EWI-style control.
PITCH_BEND_CHORDS (patch 17)±2 semitones on last note onlyOnly the most recently triggered note bends; harmony notes stay fixed.
SELECTIVE_PITCH_BEND_2NOTES (patch 18)±2 semitones on last two notesOnly the two most recently triggered notes bend.

Mod Wheel (CC1)

The mod wheel is a global filter / FM feedback control. Its effect varies by patch:

Patch typeMod wheel effect
SINE_FM_PIANO, SINE_FM_PIANO_ADJ, WAYLO_FMControls FM feedback depth (0 → full feedback) and FM modulation index. More mod wheel = brighter, more harmonically complex FM tone. Also feeds into the filter cutoff.
All other patchesControls the global filter envelope amount. At zero the filter is barely touched by the envelope; at maximum the filter sweeps fully open on each note attack. Also directly sets the base filter cutoff frequency.
Tip On polyphonic pad patches, setting the mod wheel to about 50–70% gives a gentle filter swell on every note-on. On SINE_FM_PIANO, sweeping the mod wheel while holding a note changes the timbre dramatically — from sine-pure to metallic and harsh.

CC2 / Breath (and Channel Pressure)

CC2 (breath controller) and MIDI channel pressure (aftertouch) both control breath expression on EWI patches and Bank B. See section 16 for the full EWI reference. On all other patches in Bank A or C, CC2 is ignored.

Note Velocity

In Bank A and C, velocity scales the amplitude of harmony/chord notes via the Chord Volume parameter. The lead (trigger) note always plays at full velocity; harmony notes are attenuated by the Chord Volume multiplier applied to the incoming velocity. In Bank B and EWI patches, velocity is secondary to breath — it contributes a small multiplier but breath drives the main dynamics.

5 · Keyboard Zones & Transposition

Several patches split the keyboard into two zones: a lower control zone and an upper playing zone. Notes in the lower zone set a transposition or base pitch silently; notes in the upper zone trigger sounds using the current transposition state. The split point varies by patch.

PatchLower zoneUpper zoneWhat lower zone controls
WAYLO_TRANSBelow C4 (MIDI < 60)C4 and aboveSets the global transposition. C3 = 0 st (no shift), C#3 = +1 st, D3 = +2 st … B3 = +11 st. Below C3 gives negative transpositions.
SAMCHILIC2 and below (MIDI ≤ 36)C#2 and aboveSets the base note (adds 2 octaves to place it in the mid range). The upper zone then offsets cumulatively from this base.
CHORD_SCALE1–5Below C4 (MIDI < 60)C4 and above (MIDI 60–95)Sets a transposition offset for the whole chord scale. C3 (MIDI 48) = 0 semitones; each semitone above C3 adds +1 st. Notes below C3 give negative transpositions (transposition = note − 48).
CHORD_SEQUENCERC2–A#2 (MIDI 36–46)Above A#2Sets a transposition offset for the sequencer. C2 = −5 st, each semitone up adds +1 st. Notes at C1 and below trigger lick patterns.
FIFTH_UP / FIFTH_UP_FOURTH_DOWNC2–B2 (MIDI 36–47)C3 and aboveSets the root note for the voicing. C2 maps the root to C4, C#2 to C#4, and so on. The upper zone triggers chords relative to that root.
DIATONIC_CHORDS / DIATONIC_FOURTHSC2–B2 (MIDI 36–47)C5 and aboveSets the root key. C2 maps to C5, C#2 to C#5, etc. The upper zone triggers diatonic chords relative to the root.
Lower zone notes are silent Pressing a lower-zone key sets state but produces no audio output. The note-on is intercepted and suppressed. Releasing the key also produces no note-off sound. You can hold a lower-zone key to "lock in" a transposition and then play the upper zone freely.

6 · Remapping Patches

WAYLO_TRANS (patch 5)

What it sounds like: Square wave left / Sawtooth right through chorus and delay — same as SQUARE_SAW. The difference is entirely in pitch assignment.

How it works: The 88-key range is split at C4 (MIDI 60).

Example: hold D3 (transposition = +2), play C4 → sounds as C#3. Hold G3 (transposition = +7), play C4 → sounds as G3 — a fifth above C4 down an octave.

Use it for: playing in a comfortable upper-register position while your left hand nudges the key of a looped part. Great for transposing melodic lines on the fly.

ZAWINUL (patch 6)

What it sounds like: Square wave left / Sawtooth right through chorus and delay.

How it works: Every MIDI note is mirrored around C4. Notes below C4 reflect upward; notes above C4 reflect downward. The mapping is: output = 60 + (60 − input) for notes below 60, and output = 60 − (input − 60) for notes above 60. C4 itself stays at C4 (it maps to itself).

Example: play E4 (64) → sounds as G#3 (56, four semitones below C4). Play A3 (57) → sounds as Eb4 (63, three semitones above C4). The keyboard is effectively reversed.

Use it for: Zawinul-style reversed-keyboard voicings where low physical keys play high pitches and vice versa. Familiar patterns produce unexpected harmonic colours.

SAMCHILI (patch 7)

What it sounds like: Square wave left / Sawtooth right through chorus and delay.

How it works: SAMCHILI is a cumulative offset system operating within a 4½-octave range (C2 to G6, MIDI 36–91).

Practical meaning: your right hand wanders chromatically and the sounding pitch drifts with it — repeated upward motion continuously raises the register, downward motion lowers it — until it wraps. Your left hand resets the base to a specific position.

Use it for: unusual melodic lines that don't map to standard keyboard geography. The cumulative drift creates phrases that are difficult to play any other way.

7 · Rotator Patches

The four rotator patches (MIDIROTATOR, CHORDROTATOR, CDG_ROTATOR, EFC_ROTATOR) all share the same underlying engine. Each note you play triggers three simultaneous voices: the original note, a static harmony, and a rotating harmony that cycles through a sequence of intervals.

How a rotator works

Each rotator has a list of five semitone offsets stored in the Rotator Chords fields of the editor. Call them [s, r1, r2, r3, r4].

All three voices are released when you release the key. The rotating counter does not reset between notes — it keeps cycling continuously, so the harmonic colour of consecutive notes always varies in a predictable sequence.

Example — CHORDROTATOR defaults: 7, 3, 5, 4, 2

Note pressedStatic voice (+7 st)Rotating voice3-note chord
C4 (60) — 1stG4 (+7)Eb4 (+3, r1)C4 + Eb4 + G4 = Cm
C4 (60) — 2ndG4 (+7)F4 (+5, r2)C4 + F4 + G4
C4 (60) — 3rdG4 (+7)E4 (+4, r3)C4 + E4 + G4 = C major
C4 (60) — 4thG4 (+7)D4 (+2, r4)C4 + D4 + G4
C4 (60) — 5thG4 (+7)Eb4 (+3, r1)cycle restarts

MIDIROTATOR vs. CHORDROTATOR vs. CDG/EFC

All four patches use the same engine — they just use different interval tables. You can customise each one independently in the Rotator Chords section of the editor.

PatchDefault intervals [s, r1, r2, r3, r4]Character
MIDIROTATOR7, −10, −7, −8, −2Fifth static voice; rotating voices create downward chromatic movement and sus-chord flavours.
CHORDROTATOR7, 3, 5, 4, 2Fifth static voice; rotating voices cycle through minor third, fourth, major third, major second — modal feel.
CDG_ROTATOR7, 0, 2, 7, 12Fifth static; rotating voices at unison, major second, fifth, octave — open and spacious.
EFC_ROTATOR7, 4, 5, 12, −5Fifth static; rotating through major third, fourth, octave, and a fourth below — wide spread voicings.

Bank B + rotator patches

In Bank B, the rotator patches switch to legato chord update mode. Instead of a clean note-off / note-on boundary, the three-voice chord transitions smoothly, preserving phase for a slurred, wind-controller feel. This is most effective with slow legato playing — fast passages may overlap slightly.

Customising the rotators You can set any integers (positive or negative) in the five-value fields. Try 0, 12, 7, 5, 3 for octave + fifth + fourth + third cycling, or 0, −12, −7, −5, −3 for downward voicings below the melody. Remember to click Write to Device after changing these fields.

8 · The Editor Layout

The editor has a sticky header that stays visible as you scroll. Inside it:

Below the sticky header the page has two permanent sections always visible regardless of tab:


9 · Parameters Tab

Each parameter row has a slider, a number input (type a precise value), a green readout showing the current value, and a Default button that resets just that one parameter. All edits are local until you press Write to Device.

Envelope

ParameterRangeDefaultWhat it does
Attack Env0 – 10.035Amplitude envelope attack time. Lower = snappier transient.
Release Env0 – 10.110Amplitude envelope release tail. Higher = longer fade-out.
Attack Filter0 – 10.035Filter envelope attack time (mirrors amplitude envelope shape on the filter cutoff).
Release Filter0 – 10.110Filter envelope release time.

Effects

ParameterRangeDefaultWhat it does
Chorus Depth Scale0 – 103.000Global multiplier on the chorus LFO depth. Higher values = more pitch shimmer from the chorus effect.
Chorus Speed Scale0 – 103.000Global multiplier on the chorus LFO rate.
Chord Volume0 – 10.800Relative volume of harmony notes in chord patches. The "lead" (triggered) note is always at full velocity.

EWI / Breath Controller

These parameters affect the EWI_MONO and EWI_DUAL_WAVE_LFO patches which respond to breath (CC2) or channel pressure.

ParameterRangeDefaultWhat it does
EWI Attack Interp (s)0 – 100.200Smoothing time for the amplitude envelope attack driven by breath. Low values = fast response; high = slow swell.
EWI Bend Up (st)0 – 122.000Semitones of upward pitch bend range.
EWI Bend Down (st)0 – 122.000Semitones of downward pitch bend range.
EWI Lowest Note0 – 12724MIDI note number of the lowest note the EWI patches will respond to.
EWI Portamento (ms)0 – 10005Glide time between notes in EWI legato patches. 0 = instant.
EWI Breath Attack (ms)0 – 50033Rise time of the breath-driven amplitude smoother.
EWI Breath Release (ms)0 – 200050Decay time of the breath-driven amplitude smoother.
EWI Filter Min (Hz)0 – 18000800Filter cutoff when breath = 0 (silence). Sets the tonal "floor."
EWI Filter Max (Hz)20 – 180003000Filter cutoff at full breath. Controls how bright the tone gets.
EWI Filter Sensitivity0.1 – 51.00Multiplier on the breath→filter mapping. Above 1 = filter opens faster.
EWI Amp Sensitivity0.1 – 51.00Multiplier on the breath→amplitude mapping. Above 1 = louder sooner.

9 · Parameters Tab (continued)

SQUARE_SAW_LFO Settings (Patches 49 & 54)

These four sliders control the pitch-modulation LFO that runs in SQUARE_SAW_LFO (patch 49) and SQUARE_SAW_LFO2 (patch 54). The left and right sides of the stereo field have independent speed and depth, creating a gentle detuned shimmer.

ParameterRangeDefaultWhat it does
LFO Depth Left (cents)0 – 2015Peak pitch deviation of the left-channel LFO in cents (100 cents = 1 semitone).
LFO Depth Right (cents)0 – 206Peak pitch deviation of the right-channel LFO.
LFO Speed Left (Hz)0.01 – 2.01.5Modulation rate of the left LFO in Hz.
LFO Speed Right (Hz)0.01 – 2.00.06Modulation rate of the right LFO. The low default creates a slow wide swirl.

EWI_DUAL_WAVE_LFO Settings (Patches 51, 52, 53)

Each of the three EWI_DUAL_WAVE_LFO patches has its own independent waveform selection for the left and right oscillator banks, plus a noise volume control. All three patches otherwise share the LFO depth and speed sliders above.

ControlOptionsWhat it does
Noise Volume (0–100)0 – 100Mixes white noise into the oscillator signal. Adds breath and air to the tone. 0 = no noise.
Left WaveformSAW · SINE · SQUARE 50% · SQUARE 75% · TRIANGLEOscillator waveform for all left-side voices in this patch.
Right WaveformSAW · SINE · SQUARE 50% · SQUARE 75% · TRIANGLEOscillator waveform for all right-side voices in this patch.
Square modes and key-tracking The SQUARE 50% and SQUARE 75% waveforms use key-tracking and velocity-sensitive pulse-width modulation — the duty cycle shifts with pitch and how hard you play. This gives a more expressive, analogue-like character compared with a fixed waveform.

SQUARE_SAW_LFO2 Settings (Patch 54)

Patch 54 is a polyphonic version of the EWI_DUAL_WAVE_LFO patches — it uses the ADSR envelope and polyphonic voice allocation (not breath/legato), but with the same selectable waveforms. It also has its own Noise Volume control. The LFO speed and depth sliders above apply equally to patch 54.


10 · Patches Tab

The Patches tab shows every available sound as a checkbox list. Ticking a patch enables it in the patch rotation — the encoder on the Daisy Pod steps through only the enabled patches. Unticking hides a patch from rotation without deleting its settings.

Performance tip Narrow your set to 4–6 patches before a gig. The encoder then cycles only those sounds. Write to Device to lock this in, and the Daisy remembers the selection across power cycles.

Patches marked RESERVED in the list are disabled internally and cannot be activated — their checkboxes are hidden.

11 · Patch Reference

The Waylinator has 55 patch slots. Active patches (those not marked RESERVED) are listed below grouped by type. All patches run through the shared chorus and 3-tap LCR delay effects; the on-hardware knobs control chorus depth/rate (Knob 1) and delay wet level (Knob 2) unless noted.

Basic Polyphonic Oscillator Patches

ID · NameDescription
0 · DUAL_SQUARESquare wave on both left and right sides. Classic, bright polyphonic organ/synth tone.
3 · SQUARE_SAWSquare wave left, Sawtooth right. Adds brightness and harmonic richness to the left/right blend.
21 · DUAL_SQUARE_CHRS_DLYDual square with chorus and panned delays. Knob 1 controls chorus depth and rate simultaneously; Knob 2 controls delay wet.
30 · DUAL_SQUARE_QUARTICDual square with a quartic amplitude curve and left-side pitch LFO. Knob 1 = LFO depth/rate; Knob 2 = delay wet.
31 · SQUARE_SAW_QUARTICSquare/Saw combination with quartic envelope and left-side pitch LFO.
35 · DUAL_SQUARE_FIXED_PULSESquare wave left, fixed pulse-width square right. Hybrid tone with a harder edge on the right side.

Fixed Pulse-Width / Analogue-Style Patches

ID · NameDescription
32 · FIXED_PULSE_SQUAREFixed 50% pulse wave (no LFO). Pure square, no chorusing on the oscillator itself.
33 · FIXED_PULSE_SAWFixed pulse-width sawtooth — a raw, buzzy saw tone.
34 · FIXED_PULSE_PARABOLAParabolic waveform oscillator. Rounder and softer than square or saw.
36 · ANALOG_A1Analogue-style oscillator model A1 — custom waveform with analogue character.
37 · ANALOG_A2Analogue-style oscillator model A2 — a variation of A1 with a different harmonic profile.

Chord / Harmony Patches

ID · NameDescription
8 · MIDIROTATOREach note played triggers a rotating set of MIDI transpositions. The sequence of intervals cycles with each new note-on. Configure via the MIDIROTATOR field in Rotator Chords.
9 · CHORDROTATORSimilar to MIDIROTATOR but uses the CHORDROTATOR interval sequence.
10 · CDG_ROTATORRotator using the CDG interval pattern — creates a repeating C–D–G flavour chord cycle.
11 · EFC_ROTATORRotator using the EFC interval pattern.
12 · CHORD_SEQUENCERPlays pre-programmed harmonic sequences. Notes C2–A#2 (MIDI 36–46) silently set a transposition offset (C2 = −5 st, each semitone up adds +1). Notes at C1 and below trigger different lick patterns.
13 · DIATONIC_CHORDSAutomatically voices diatonic triads. Notes C2–B2 (MIDI 36–47) select the root key silently; notes from C5 up trigger the chord at that scale degree. Configure root/octave offsets in the Diatonic fields.
14 · DIATONIC_FOURTHSVariation of DIATONIC_CHORDS voiced in fourths. Keys C2–B2 select the root silently; notes from C5 up trigger the voicing.
15 · FIFTH_UPPlays the triggered note plus a fifth above. Keys C2–B2 (MIDI 36–47) silently set the root note (C2 → root C4, B2 → root B4); notes above trigger the fifth-interval chord from that root. PHR effect sound.
16 · FIFTH_UP_FOURTH_DOWNPlays a G–C–F voicing (fifth up, fourth down) for each note. Keys C2–B2 select the root silently, same as FIFTH_UP.
17 · PITCH_BEND_CHORDSChords that respond to pitch bend on the most recently played note only.
18 · SELECTIVE_PITCH_BEND_2NOTESLike PITCH_BEND_CHORDS but the pitch bend affects the last two notes played.
43–47 · CHORD_SCALE1–5User-definable chromatic chord scales — see the Chord Editor section.

Transposition / Remapping Patches

ID · NameDescription
5 · WAYLO_TRANSRemaps incoming MIDI notes using a custom chromatic transposition table. Square/Saw oscillators.
6 · ZAWINULNote remapping inspired by Joe Zawinul's keyboard layouts.
7 · SAMCHILIAlternative note remapping — Square/Saw oscillators.

FM / Synthesis Patches

ID · NameDescription
19 · SINE_FM_PIANOSine-wave FM piano synthesis. Knob 1 sets chorus + delay, Mod wheel controls FM feedback and filter cutoff.
20 · SINE_FM_PIANO_ADJFM piano with adjustable attack time. Button 1 shortens attack; Button 2 lengthens it (up to 50 ms).
24 · WAYLO_FMFM synthesis variation with chorus and delay. Knob 1 = chorus; Knob 2 = delay wet.

Crossfade / LFO Modulation Patches

ID · NameDescription
25 · WAYLO_XFADECrossfade patch — square waves both sides with chorus and delay.
27 · WAYLO_XFADE2Left-side pitch LFO only (depth and rate set by Knob 1, 0–6 Hz). Right side static. Knob 2 = delay.
28 · WAYLO_XFADE2_LINEARVariation of WAYLO_XFADE2 with a linear amplitude envelope curve.
29 · WAYLO_XFADE2_QUARTICVariation with a quartic (steep) amplitude curve — sharp attack, smooth release.

LFO Pitch-Modulation Patches

ID · NameDescription
49 · SQUARE_SAW_LFOPolyphonic Square/Saw with independent left/right pitch LFOs. LFO depth and speed are set in the Parameters tab. Creates a wide stereo shimmer effect.
54 · SQUARE_SAW_LFO2Polyphonic Square/Saw with selectable waveforms per side (SAW, SINE, SQUARE 50%, SQUARE 75%, TRIANGLE — same options as EWI_DUAL_WAVE_LFO) plus its own Noise Volume control. Uses ADSR envelope and polyphonic voice allocation, not breath/legato. LFO depth and speed are shared with patch 49. Configure waveform and noise in the Parameters tab under SQUARE_SAW_LFO2 Settings.

Audio Input Patches

ID · NameDescription
38 · AUDIO_INPUT_FXPasses the audio input (Daisy Pod line input) through the chorus and delay effects. No synthesis — pure FX processor.
50 · GUITAR_INPUT_FXGuitar-optimised version of AUDIO_INPUT_FX. Knob 2 = delay wet.

EWI / Breath Patches

ID · NameDescription
42 · EWI_MONO_SQUARE_SAWMonophonic legato patch. Square left, Saw right. Breath (CC2) or channel pressure controls amplitude and filter cutoff. Phase preserved across notes for smooth legato.
48 · EWI_MONO_DUAL_SAWMonophonic legato patch with Sawtooth on both sides. Otherwise identical behaviour to EWI_MONO_SQUARE_SAW.
51 · EWI_DUAL_WAVE_LFOEWI monophonic legato with fully selectable waveforms per side and a noise volume control. Waveform set in Parameters tab.
52 · EWI_DUAL_WAVE_LFO2Independent copy of EWI_DUAL_WAVE_LFO with its own waveform and noise settings.
53 · EWI_DUAL_WAVE_LFO3Third independent EWI selectable-waveform patch.

12 · Chord Editor Tab

The five CHORD_SCALE patches (43–47) each store a table of 36 chords covering three chromatic octaves (C4 through B6). When you play a note in that range, the synth looks up the chord stored at that pitch and plays all its notes simultaneously. Notes below the range (C3–B3) select a transposition offset; notes above the range are ignored.

Reading the chord grid

Each card in the Chord Editor shows one scale (CHORD_SCALE1 … CHORD_SCALE5). Inside the card is a 6-column grid of 36 cells. Each cell shows:

Click any cell to open the piano keyboard editor and change its notes.

Piano keyboard editor

A full nine-octave piano keyboard appears. Keys highlighted in green are currently active in the chord. Click any key to toggle it on or off. The chord can hold up to six notes. When done, click Save Chord to update the grid, or Cancel to discard.

Remember to Send to Device Changes in the Chord Editor are held in memory only. You must click Send to Device (the button at the top of the Chord Editor tab) to transmit the new chords over USB. The device responds with a confirmation in the Device Log: {"chordsAck":180}.

Chord Editor buttons

ButtonWhat it does
Send to DeviceTransmits all five chord scales (180 chords total) to the device's persistent storage. The device will use these chords immediately and remember them after power-off.
Read from DeviceRequests the device to send back all five chord scales, populating the editor with whatever is currently stored in hardware.
Export CSVDownloads a CSV file containing all 180 chords. Format: Scale, ChordIndex, ChordSize, Note1…Note6.
Import CSVLoads a previously exported CSV back into the editor (does not send to device automatically).
MIDI→CSVOpens the MIDI import dialog — see section 8.

Transposition control

While playing a CHORD_SCALE patch, any note below C4 (MIDI < 60) acts as a transposition key rather than triggering a chord. The formula is transposition = note − 48, so C3 (MIDI 48) = 0 semitones, C#3 = +1, D3 = +2, and so on up to B3 = +11. Notes below C3 produce negative transpositions. This lets you shift the entire chord scale up or down without editing individual chords.


13 · Importing Chords from a MIDI File

The MIDI→CSV button opens an import dialog that reads a standard MIDI file and converts its note events into a chord scale — one chord per beat position, up to 36 chords (six notes maximum per chord).

How the import works

  1. Click MIDI→CSV in the Chord Editor tab. The import dialog opens.
  2. Choose the Target Scale (CHORD_SCALE1 through CHORD_SCALE5) from the drop-down.
  3. Click Choose MIDI File and select a .mid or .midi file from your computer.
  4. The file is parsed in the browser. A preview shows how many chords were found and which notes each chord contains.
  5. Tick Also download as CSV if you want a backup file.
  6. Click Load into Scale. The selected chord scale is updated in the editor.
  7. Return to the Chord Editor tab and click Send to Device to push the new scale to the hardware.

How chords are extracted from MIDI

The importer groups all Note-On events into time clusters using a tolerance of 10% of a quarter-note (so notes within a small window are treated as a single chord). Each cluster is then quantised to the nearest quarter-note beat. Beats are numbered from 0 and the first 36 beats become chord slots 0–35. Notes beyond six per beat are discarded; slots beyond 36 are ignored.

Best MIDI files to use Chord-progression MIDI files work best — one chord per beat, clearly separated. Melodic lines produce single-note "chords" which is valid but less interesting. Only Note-On events with velocity > 0 are collected; note-offs, CC data, and tempo events are ignored. SMPTE timecode files are not supported.
Workflow Import the MIDI, click through the chord cells to verify the notes look right, adjust any chords manually in the piano editor if needed, then Send to Device.

14 · Rotator Chords

The rotator patches each hold a sequence of semitone intervals. Every time you play a new note, the patch reads the next interval in its sequence and offsets the harmony note(s) by that amount. The sequence loops continuously.

Each rotator field accepts a comma-separated list of integers (positive or negative semitone offsets). The first value is a static constant; values 2–5 are the rotating offsets.

FieldDefaultWhat it controls
MIDIROTATOR (m1,m2,m3,m4,m5)7,−10,−7,−8,−2Interval sequence for patch 8 · MIDIROTATOR. Plays the original note plus a note offset by each interval in rotation.
CHORDROTATOR (c0–c4)7,3,5,4,2Interval sequence for patch 9 · CHORDROTATOR.
CDG_ROTATOR (d0–d4)7,0,2,7,12Interval sequence for patch 10 · CDG_ROTATOR. The default produces a C–D–G flavour cycle.
EFC_ROTATOR (e0–e4)7,4,5,12,−5Interval sequence for patch 11 · EFC_ROTATOR.
DIATONIC Degrees (dd0–dd4)0,5,2,3,0Scale degree offsets used by the DIATONIC_CHORDS and DIATONIC_FOURTHS patches to voice harmony notes.
DIATONIC Octaves (do0–do4)3,3,4,4,5Octave placement for each diatonic voice.
Rotator Defaults button Click Rotator Defaults to restore the four rotator sequences to their factory values. Click Diatonic Defaults to restore only the diatonic degree and octave fields. Neither button writes to the device — click Write to Device afterwards.
Exact count required Each field expects exactly 5 comma-separated integers. An incorrect count will show a validation error when you try to write to the device.

15 · Saving & Restoring Settings (CSV)

The top-bar Export as CSV and Import from CSV buttons save and restore a complete snapshot of all editor state (parameters, waveform selects, rotator sequences, and patch enable/disable state) in a single CSV file. They do not include chord scale data — use the Chord Editor's own Export/Import for that.

Export

Click Export as CSV. The browser downloads a file named waylinator-settings-YYYY-MM-DD.csv. Keep this file as a preset backup.

Import

Click Import from CSV and select a previously exported file. All parameters, rotators, waveforms, and patch states are restored in the editor. Click Write to Device to send the restored values to hardware.

Preset management tip Keep one CSV per performance or project. Name them meaningfully — gig-2025-funk.csv, ambient-set.csv — and store them alongside any chord scale CSVs for that session.

16 · EWI / Breath Controller Reference

The EWI_MONO and EWI_DUAL_WAVE_LFO patches are designed for wind controllers (EWI, Akai EWI USB, Berglund NuRAD, etc.) or any controller that sends breath data. They can also be played from a standard keyboard — breath is optional.

Signal flow

  1. Note-On → sets the target pitch. Phase is preserved across notes (no click on legato transitions).
  2. CC2 (Breath) or Channel Pressure → drives both amplitude (volume) and filter cutoff simultaneously.
  3. Pitch Bend → uses EWI-specific up/down ranges (set by EWI Bend Up and EWI Bend Down parameters), not the standard ±2 semitone range.
  4. The ADSR envelope is bypassed entirely — dynamics come purely from breath.

Playing without a breath controller

If no CC2 or pressure data is received, the synth assumes full breath (amplitude = 1.0) so the patch still makes sound from a regular MIDI keyboard. You will lose breath dynamics but the patches are fully playable.

Portamento / glide

The EWI Portamento (ms) parameter sets the glide time between consecutive notes. At 0 ms there is no glide — pitch jumps instantly. At higher values the pitch slides from the previous note to the new one over the specified time, at the audio sample rate (smooth, artefact-free portamento).

Filter behaviour

At breath = 0 the filter cutoff sits at EWI Filter Min (Hz). At full breath it rises to EWI Filter Max (Hz). The EWI Filter Sensitivity multiplier skews this curve — values above 1.0 make the filter open faster for a given breath amount, values below 1.0 slow it down.

EWI_DUAL_WAVE_LFO patches — waveform guide

WaveformCharacter
SAW (PolyBLEP Sawtooth)Bright, buzzy, rich in harmonics. Classic synth-brass or synth-string foundation.
SINEPure, smooth, flute-like. Almost no aliasing. Combine with noise for a breathy flute sound.
SQUARE 50% (Traditional)Hollow, clarinet-like. Contains only odd harmonics.
SQUARE 75% (Pulse)Narrower pulse width — nasal, reedy quality. Key-tracking and velocity shift the duty cycle.
TRIANGLESofter than square, warmer than sine. Mellow lead tone.

Mix different waveforms on left and right for a wider stereo spread. For example: SQUARE 75% left + SAW right creates a dense, chorused EWI-brass sound.

Noise volume

The Noise Volume control (0–100) in each EWI_DUAL_WAVE_LFO section mixes white noise into the oscillator output before the filter. A small amount (5–15) adds "breath" and air to otherwise clean waveforms — especially effective with SINE or TRIANGLE for flute-like textures. Higher values create a noisy, breathy reed character.


17 · Quick-Start Workflows

First-time setup

  1. Connect hardware. Open editor in Chrome. Click Connect.
  2. Wait for the status bar to say Device state loaded — the editor reads from the device automatically on connect.
  3. Go to the Patches tab. Tick only the patches you want in your set.
  4. Click Write to Device.
  5. Use the encoder on the Daisy Pod to step through your enabled patches.

Setting up a custom chord scale from MIDI

  1. In a DAW or notation app, write a chord progression and export it as a MIDI file.
  2. In the editor, click the Chord Editor tab, then MIDI→CSV.
  3. Choose the target scale (e.g. CHORD_SCALE1), pick your file, check the preview.
  4. Click Load into Scale.
  5. Browse the chord grid, click any cell to fine-tune individual chords in the piano editor.
  6. Click Send to Device. Watch for chordsAck:180 in the Device Log.
  7. Enable the CHORD_SCALE1 patch on the Patches tab and Write to Device.
  8. Play MIDI notes C4–B6 to trigger your chords. Use C3–B3 to transpose the whole scale.

Dialling in an EWI sound

  1. Enable EWI_DUAL_WAVE_LFO (patch 51) and write to device.
  2. In the Parameters tab set Left Waveform to SQUARE 75%, Right Waveform to SAW.
  3. Set Noise Volume to 8–12 for breath texture.
  4. Set EWI Filter Min to 400 Hz, EWI Filter Max to 4000 Hz.
  5. Set EWI Breath Attack to 20 ms, EWI Breath Release to 80 ms.
  6. Click Write to Device and play with your breath controller.
  7. Adjust EWI Filter Sensitivity and EWI Amp Sensitivity to taste.

Saving a performance preset

  1. With all settings how you want them, click Export as CSV → saves parameters + patch state.
  2. In the Chord Editor, click Export CSV → saves chord scale data separately.
  3. Store both files together. To recall: Import CSV (parameters), then Import CSV in the Chord Editor, then Write to Device + Send to Device.

Waylinator Editor · End User Guide · Generated from editor.html and Midi.cpp