Xequence Audio
Web Music Workstation based on Xequence 2
Audio Demos (mastered using the also WebAudio-based in-house Mastering Solution, Trinity, which could conceivably be integrated into Xequence Audio, further enhancing its appeal)
Overview
- Fully browser-based music workstation
- Highly optimized audio engine based on WebAudio
- Comprehensive mixer with unlimited channels, sends, groups, inserts
- 23 high-quality insert FX
- Advanced, intuitive modular synth (Hybris) with 34 module types
- Comprehensive and highly acclaimed MIDI editing based on Xequence 2 (published on the App Store with 4.5/5 stars) including arranger, pianoroll editor, controller / automation editor, virtual keyboard
- Support for musical scales everywhere (keyboard, pianoroll, etc.)
Hybris (Modular Synth)
- Unlimited number of modules
- Modules are also inherently the synth's user interface
- Adjustable polyphony with Dynamic Voice Allocation
- Arbitrary connections between modules and / or exposed module parameters (can easily be extended in code)
- Portamento / Legato support
- "Randomize" feature
- Presets can be saved / loaded (66 presets included)
-
34 module types:
- AutoPan (Free/Note/Song sync, grid-based periods, adjustable phase)
- Chorus
- Compressor
- Multiband Compressor
- Controller (MIDI controller to signal) with adjustable range and curves
- Convolution Reverb
- Delay
- MultiTap Delay
- Delay Line
- Destructor
- Envelope (ADSR)
- EQ (Peaking, LowShelf, HighShelf)
- Filter (Lowpass, Highpass, Bandpass, Notch, adjustable Q and Slope)
- Flanger
- Gain
- Invert
- LFO (Free/Note/Song sync, grid-based periods, adjustable phase)
- Modulator
- Multiply
- Noise (with adjustable stereo width)
- Oscillator (sine/sawtooth/triangle/square, pulse-width (modulatable), unison support, "analog" option, synced/free, etc.)
- Phaser
- Pitch Shifter
- Random Value
- Algorithmic Reverb
- Ring Modulator
- Sample (with adjustable and automatable offset, reverse, loop)
- Multi Sample
- Sample Grain
- Sample Slicer
- Sparkle (Enhancer)
- Stereo Phase
- Stereo Width
- Velocity (MIDI note velocity to signal) with adjustable range and curves
- Waveshaper (5 shapes, continuously adjustable)
Mixer
- Unlimited instruments (Hybris) / channels
- Unlimited sends
- Unlimited groups
- Unlimited FX (inserts) per channel
- Entire channel strips or FX chains can be saved / loaded
- FX can easily be reordered and bypassed
- Fader / Pan / Mute / Solo
- Flexible routing (channel-to-send, send-to-send, send-to-group, group-to-send etc.)
- Configurable UI
- Task Manager to show CPU usage approximation sorted by channel / instrument
-
Relative automation:
- Avoids the common problem in other DAWs of confusion and conflicts between automation and current fader / slider positions etc.
- Is just added to whatever the UI currently is set to, enabling easy fine-tuning of parameters even after automation has been drawn / recorded
- -100% to +100%, with 100% representing the entire range of the parameter in question
-
Available for
- Fader
- Pan
- Send amounts
- Most important insert FX parameters
-
23 FX types:
- AutoPan (Free/Song sync, grid-based periods, adjustable phase)
- Chorus
- Compressor (sidechainable from any mixer channel)
- Multiband Compressor
- Convolution Reverb
- Delay
- MultiTap Delay
- Destructor
- EQ (Peaking, LowShelf, HighShelf)
- Filter (Lowpass, Highpass, Bandpass, Notch, adjustable Q and Slope)
- Flanger
- Gain
- Invert
- Parallel Routing (split insert chain into two paths below)
- Phaser
- Pitch Shifter
- Algorithmic Reverb
- Ring Modulator
- Sparkle (Enhancer)
- Spectral EQ (with configurable spectrum analyser and response curve)
- Stereo Phase
- Stereo Width
- Waveshaper (5 shapes, continuously adjustable)
Arranger
- Unlimited Clips
- Unlimited Tracks
- Unlimited Sub Tracks per Track
- 64 Undo/Redo steps
- Flexible grid
- Per-track non-destructive Swing & MIDI Delay
- Linked Clips / Clones (editing the original changes all copies)
- Powerful clip-based, per-track independent looping
- Program changes
- Selection tools: Marquee/Rectangle, Same Track, Same Instrument, Linked Clips, Invert, etc.
- Editing tools: Create Copy, Create Linked Copy, Unlink, Split, Join, Convert loops to clips, etc.
- Global clipboard, even between projects
- Movement/Trimming Handles at screen edges for efficient editing
Pianoroll Editor
- 256 Undo/Redo steps
- Scale-awareness ("folding")
- Relative or absolute grid (move by grid increments or snap to nearest grid lines)
- Live MIDI previews of all edits
- Selection tools: Box, Same Note, Same Key, Same Beat Position, Invert, etc.
- Editing tools: Copy, Legato, Quantize, Quantize Ends, Octave +/-, Flip H/V (mirror), Fill clip with selection, etc.
- Smart Draw mode: Touch to create, touch again to delete, drag up/down to transpose, drag left/right to change length
- Global clipboard, even between projects
- Configurable "ghost" overlays
- Note velocities quickly adjustable via a handle, or editable like controllers, see below:
Controller Editor
- 256 Undo/Redo steps
- Selection tools: Box, Same Beat Position, Invert
- Selection modes: Add & Replace
- Editing tools: Copy, Reduce, Quantize, Compress/Expand, Flip H/V (mirror), Ramp (various curves), Fill clip with selection
- Smart Draw mode
- Note Velocities can be shown as controllers and edited with the same tools
- Configurable vertical grid & value entry
Keyboard / Controller
- Scale-aware, very playable single or dual keyboards
- Glide support
- Adjustable key width
- Velocity emulation (via vertical position)
- Drum maps and pads, fully editable, 40+ factory maps
- Touch ribbons for live control
- Controllers can be moved by sliding (ribbon), device rotation (up to three axes at once), like a button (sustain pedal, "trance gates"), or by touching the keys at different vertical positions. All highly configurable.
Various
- Audio or MIDI Metronome
- Note chasing (notes play even when playback starts in the middle)
- Controller chasing
- Perfect song looping, no dropouts/jitter at loop points
- Supports any time signature/BPM (fixed per song)
- Includes PolyHymnia, an advanced Generative Music module
Compatibility
- Fully optimized for multi-touch thanks to Xequence's highly-acclaimed iOS UI/UX legacy (4.5 star average rating on the App Store)
- Runs smoothly in Chromium-based browsers
- Runs in Firefox, but buffer underruns more frequent due to suboptimal WebAudio implementation
- Runs in Safari / WKWebView, but untested in more recent Safari versions
Technical Details
- Uses only standard WebAudio nodes (no custom DSP code in AudioWorklet etc.)
- Dynamic audio graph (nodes are added and disposed of as needed for dynamic voice allocation)
- Smart node caching to reduce allocations of nodes
- Extremely well optimized (partly of course due to the amazing work of the Chromium developers); heavy productions (20 modular synth instances with dozens of voices playing, 65 insert FX) can be run at low latency on the cheapest laptop with very rare buffer underruns; average CPU usage 5% (not a typo)
- Low RAM usage on Chromium (~ 250 MB for the above production, including multiple drum and vocal samples, and all UI and logic for the sequencer); memory leaks in Chromium exist, but are worked around (and have been reported and confirmed, so possibly fixed soon)
- All audio automation and oscillator / LFO sync is sample-accurate by ensuring all dynamic node configuration and parameter changes are always (slightly) in the future (even for live play)
- Codebase consists of ~50,000 lines of reasonable-quality CoffeeScript code with reasonable comment density
- No external dependencies, no package managers required
Work In Progress
-
Audio tracks
- Not yet implemented, but the infrastructure is there (Hybris Sample* modules can already chase notes and apply the correct sample offset); most work will be exposing Hybris Sample players as audio tracks and implementing recording
-
WebMIDI
- Comprehensive and robust, acclaimed MIDI implementation, but currently iOS-only. WebMIDI should be relatively straightforward to add