Update 12032019 [New recorder; Phase distortion; FX parameters; Live granular; LFO/WTO/ENV updates; Macro module; Preset collection; Bugfixes; Walkthrough video]

Hi everyone,

Time for the next update! This is a BIG one and covers all the work we’ve done leading up to and during the mSSP campaign as well as all the work we did since the campaign ended.


Completely rewritten multichannel recorder / sampler

This was a lot of very hard work and took about 2 months, changes include the following -

  1. the recording time limitation has been removed, so you can now record much bigger WAV files. We’re still limited by FAT32 partition file size on the SD card which is 2GB. The input recorder can record up to 16 channels simultaneously while the output recorder up to 8 channels simultaneously. All recording can be done at 48kHz, 96kHz and 192kHz at 32 bit. You can choose how many channels to record using the ARM buttons for the input and output recorder. Every channel has a PLAY and MONITOR toggle button per output channel so you have full control over how you monitor incoming signals and audition your recordings/samples.

  2. all editing is non destructive on large files, which means changes are applied when you save the loaded sample using the Save and SaveN buttons. It also means the operations are instant, with the exception of the normalization button which needs to read file sample levels the first time you use this operation. This also means the Undo function has been removed and the Normalize/Reverse/Crop functions are toggle buttons now which can be turned on and off.

  3. no longer necessary to load WAV files into memory in the recorder, all operations are done directly on the files

  4. you can now no longer start a recording if you didn’t arm any channels

  5. ability to Normalize/Reverse/Crop large files

  6. new waveform visualisation code and new Zoom code

  7. new waveform nagivation code using Start/Length

  8. new cropping code

  9. new normalization code with progress bar

  10. new reversing code

  11. new Save/SaveN code with progress bar

  12. added code to auto-resize GUI components

Bugfixes and Improvements

  1. Pitch signal getting stuck on pitch input when switching patches and re-inserting a module
  2. better Sample Rate / CPU bars
  3. changed voice allocation code so it doesn’t steal voices
  4. changed max oscillator frequency to 20kHz

Granular module updates

  1. ability to load your own windows from WAV files
  2. ability to save standard windows as a WAV file for editing/creating your own windows
  3. added extra modulation inputs for new settings/features including window selection and manual trigger input
  4. added code to support live input recording and looping with overdubbing, dry/wet mix, overdubbing amount, and toggles to start/stop recording and enable/disable live input.
  5. added 8 grain windows with manual selection and modulation target with morphing. Windows include Rectangular, Triangular, Hann, Hamming, Blackman, Blackman-Harris, FlatTop and Sine.
  6. auto-resizing code for GUI components
  7. added code to draw granular window while being modulated
  8. new pan randomization parameter/code while supporting manual pan setting as well
  9. new code to support both mono and stereo input depending on how many signals are patched. Also support for stereo output of course.
  10. speed up granular drawing code

Current list of granular modulation inputs:

Pitch - pitch of grains
Start - start of grain selection window
Len - length of grain selection window
Freq - freq modulation input
Amp - amplitude modulation input f
In1 - live signal left input
RGate - gate input for start/stop recording
GrF - grain trigger frequency
GrDur - grain duration
NrGr - max number of grains allowed
Rand - randomization of grain duration/pitch
Dub - overdubbing factor for live input
Blend - dry/wet mix between live input and granular output
Pan - panning control for grains
In2 - live signal right input
PanRand - randomization of pan position of grains
Text - input for modulating grain window selection
Trig - manual trigger input for grains

Current list of granular parameters:

Select - file selection
Start - start of selection window for grain selection
Length - length of selection window
Level - level of grains

GrCoarse - grain trigger coarse freq
GrFine - grain trigger fine freq
GrainDur - duration of grains in ms
NrGrains - number of grains allowed

Tune - tuning of grains
Coarse - manual coarse pitch (frequency) setting of grains
Fine - manual fine pitch (frequency) setting
Random - amount of randomization of grain duration and pitch

Dub - overdubbing factor for live input, determines mix of previous signal in buffer with new signal
Blend - dry/wet mix between live input and granular output
Pan - manual pan setting for grains
PanRand - randomization factor for panning of grains
Text - grain window selection

Reverb module updates

  1. added extra modulation inputs
  2. added algorithm parameters
  3. simplified dry/wet mix parameter

Delay module updates

  1. added extra modulation inputs
  2. added algorithm parameters
  3. simplified dry/wet mix parameter

WTO module updates

  1. oscillator stacking pitch spread input
  2. sync input

ENV (ADSR) module updates

  1. added new modulation inputs for ADSR, sustain level and A/DR curve parameters
  2. added group toggle buttons (Gr1-Gr4) to group ENV modules into groups such that they change ADSR parameters when one of the ENV’s ADSR parameters is changed.

LFO module updates

  1. phase distortion input
  2. sync input
  3. index and tuning parameters to help with FM patches
  4. added inverted outputs for all waveforms, so we now have +/-Sine, +/-Square, +/-Saw and +/-Triangle.
  5. added group toggle buttons (Gr1-Gr4) to group LFO modules into groups such that you can change ratio and detune on multiple oscillators simultaneously by changing the ratio/detune parameters on one of the oscillators

New Macro Module

This new module connects to the M1-M8 parameters on the second page at the global menu, and allows you to control multiple modules in the patcher grid using one set of global parameters, so you can create patches where you can control multiple module parameters with a single knob.

New preset collection + samples

We took some time to collect and organize our presets, some of which we created during the mSSP campaign.


The presets include a wide variety of patches:

  1. polyphonic wavetable synthesis
  2. polyphonic granular synthesis
  3. polyphonic multitimbral FM and sampling
  4. sequencing and multi-voice microtonal quantization
  5. additive synthesis
  6. polyphonic classic subtractive 12-voice synthesis
  7. a wide variety of simple patches covering the granular, sampler, … modules

Important notice about the above samples:

The samples in the above download link contain some from the freesound archive. We made sure to only use public domain samples, but please make sure to look up their license before you use them in any recordings, if you choose to use them.

The samples which do not start with a number are produced by ourselves, so you automatically get a license from us to use them, if you have bought an SSP.

New one-hour walkthrough video

We demo’ed the SSP at Analogue Haven in Santa Monica, CA, the past weeks. See below for a video of the presentation and demo session including an overview of the topics discussed.

Percussa SSP Overview

0:00 General overview of the SSP
6:51 USB ports (see also 53:48)

Patches explained during the video:

2:49 8 voice wavetable synthesis patch
10:16 polyphonic granular FM patch
13:03 OB 4-voice subtractive synthesis patch
15:48 multi-timbral / multi-voice FM patch
18:10 signal switcher + sampler triggering + step seq patch
19:42 harmonic additive synthesis demo with sequencing
20:50 physical modeling membrane
22:15 4-voice sequencing with per voice step sequencer, microtonal quantizer (4mtq2)
24:40 envelop follower patch
25:32 simple granular patch



Patching mechanism:

46:09 how the patching system works
10:56 patching/modulation inputs/outputs of modules
28:22 overview of all the modules + how to make a simple patch
51:00 How would you sum two input signals + explanation about scaling

Explanation about modules on the SSP:

4:00 wavetable oscillator
8:19 input module
9:13 ADSR envelope
15:55 sampler module
18:35 and 38:44 step seq module
22:40 MTQ module and 40:50
26:02 granular
28:35 macro module
1:03:25 LFO module (short explanation about parameters)
1:04:24 midi module

Other questions/features

43:30 How can I share presets?
55:08 What sample rate sizes are supported?
55:57 How can I save a new preset?
56:28 How can you drive the step sequencer?
59:20 Is there a copy/paste feature for the step sequencer?


That’s it for this update. We hope you enjoy it and look forward to the next one.

Please post questions / comments and share videos and photos, and tell your friends about the SSP!