Permut8 User Guide
Permut8 User Guide
Permut8 User Guide
- version 1.2.3 -
Table of Contents
Operators.....................................................................................5
Programs ...................................................................................11
Requirements ............................................................................16
Permut8 is an effect plug-in that embraces the sounds of primitive digital signal
processing hardware. It is programmable to produce a wide range of effects
from traditional delays and flangers to beat-repeaters, bit-crushers, and yet
unheard-of circuit-bent madness. At its core is a 12-bit digital delay with a
variable sample rate from 0 to 352 kHz. The delay is controlled by a
programmable processor with an assortment of operators, allowing you to
create almost any type of effect you can imagine and many more that you
can’t. The input and output stages offer virtual analog components for
saturation, limiting, and filtering. The output can be fed back into the input to
create echoes, comb-filter effects, and never-ending chaos.
With Permut8, we have made a serious effort to make a plug-in that feels and
sounds like a piece of physical, digital hardware, unlike your typical software
effect. Permut8 can make aliasing noises that would make any Commodore 64
green with envy, but its aliasing differs from what you usually encounter in
software DSP. For example, it is unrelated to the host sample rate, and you can
tune it precisely with the “clock frequency” knob. Furthermore, the
components that should not alias, e.g., the “analog” saturation, employ heavy-
duty anti-aliasing techniques to avoid doing so.
The Permut8 user interface may seem a bit intimidating at first. Make no
mistake, this is complex machinery at work, but it is also a product designed
for experimentation and happy accidents. The best way to learn the plug-in is
to dive right in and start flipping those switches at random and then read the
reference section in this manual or turn to the built-in “Pop-up Help” for a
better understanding of what is going on. On your journey to mastering this
product, we are sure you will encounter many unexpected and rewarding
results.
/ Magnus Lidström
The heart of Permut8 is the 128 kilowords 12-bit delay-line memory, visualized by the
LED array at the bottom of the user interface. The red dot shows incoming audio
written to memory, i.e., the “write position”. The green dots represent playback posi-
tions for left and right outputs, i.e., the “read positions”. Use the two instructions to
change and modulate the read positions with different “operators”. They are pro-
cessed in order, i.e., instruction 1 is executed first, and instruction 2 is calculated
based on instruction 1.
There are two eight-bit parameters per instruction, called “operands”. You can set
individual “bits” of these parameters with the switches. If you set MIDI CONTROL to
BITS, you can use MIDI keys to flip the bits. In most hosts, it is also possible to “au-
tomate” the switches. Shift-click and drag to set single bits more easily.
The current operand settings are also shown in “hexadecimal” format to the left of
the switches. For your convenience, you can click and drag these displays to adjust
the settings or click the small up and down arrows to increment and decrement one
step at a time.
AND
The AND operator creates sudden jumps with the read position. It works by clearing
selected bits in the read position data word. Turn on SYNC and flip the higher (left-
most) bits to create beat-repeating effects. The middle bits generate granular “buffer
underrun” effects, while the lowest bits can achieve “aliasing” like a bit-crusher effect.
MUL
MUL changes the rate of the read position in relation to the write position. In other
words, it will change the pitch and speed of the input audio. The operand is a linear
rate multiplier (expressed in fixed-point notation with a sign bit).
Some examples:
(Unlike a proper pitch shifter, there is no crossfading in Permut8, which means there
will be audible clicks as the read position and write positions meet.)
OSC
OSC makes the read position swing backward and forward in a triangular motion.
The results range from wobbly backward/forward effects to subtle pitch vibrato to ex-
treme frequency modulation. You can achieve Flanger effects by turning up the
FEEDBACK amount.
RND
Use RND to add a random sweeping motion to the read position, randomly modulat-
ing the pitch and speed. The high operand sets the rate, and the low operand sets
the depth of the modulation. Both follow exponential scales. If you turn on the high-
est (leftmost) bit, a wide stereo effect is achieved by randomizing the right channel
separately from the left.
At moderate rates and magnitudes, this operator adds subtle pitch modulation in the
style of chorus effects. At extreme settings, it turns into white noise that follows the
input level. A rate of 0 will effectively prevent the “sweeping” effect and make the
read position hop to a random offset each time the write position completes a full cy-
cle, resulting in a “sample-and-hold” modulation style.
(The pseudo-random number generator will generate the same sequence every time
you flip the RESET switch.)
OR
The OR operator works like AND, but instead of clearing the selected bits, it sets
them. As opposed to the AND operation, OR will “push” the read position in front of
the write position. If you want to repeat the last section of a beat, OR is your friend.
DID YOU KNOW? If you put Permut8 in REV mode, OR will work exactly like AND
and vice versa..
XOR
XOR works on the bits of the read position data word (similar to AND and OR). It in-
verts the operand bits, changing playback order in different ways. If you set all the
bits to 1 (FFFF), the read position will move backward. If you leave the higher bits
cleared, you will reverse short slices of audio, and if you set only the higher bits, the
slices will play forwards but in reversed order. Flip the lowest bits to create ultra-
nasty “aliasing” effects. The highest (leftmost) bit turns on a stereo effect that offsets
the right channel against the left.
MSK
Use MSK to selectively “mask out” the result of instruction 1. This operator is most
useful in SYNC mode. Each bit in the STEP MASK operand represents an eighth of
the full “memory cycle”, i.e., if CLOCK FREQ is set to 1/1, each bit represents an
SUB
With the SUB operator, you subtract fixed amounts from the left and right channel’s
read positions, creating delays where the operands and the clock frequency define
the exact time. The two operands follow exponential scales where values under 80
are typically used for tuning “comb filter” effects. If you hover the mouse over the hex
displays, a pop-up hint will show the effective delay lengths as percentages of the full
“memory cycle”. E.g., if you enter STD SYNC mode and set the CLOCK FREQ to
1/1, F0F0 will create a delay of 1/2 bars.
If you put Permut8 in REV mode, the delay lengths become inverted. E.g., 00 will be
exactly 100%. If you need a SUB operator for the first instruction, use OSC with a
RATE of 0. If you want to control the delay length of both left and right channels from
a single operand, use MSK with a STEP MASK of FF (all bits set).
NOP
NOP is short for “No Operation” and does exactly that. Nothing. It is the bypass op-
erator.
Memory Control
CLOCK FREQ
The CLOCK FREQ knob sets the running rate of the instructions. Changing the rate
affects both the audio quality and the speed and delay times of the effects. The
greater the frequency, the brighter and clearer the sound, but the maximum delay
time will also be shorter. If SYNC is OFF, the clock frequency goes from 0 Hz (full
stop) to 352.8 kHz. In other “synchronized” modes, the clock frequency adapts to the
host tempo so that Permut8 will complete a full “memory cycle” in the chosen time
signature and division.
If you shift-click CLOCK FREQ when SYNC is on, it will be turned OFF, and CLOCK
FREQ will be positioned so that the tempo-synchronized rate is preserved. You can
then fine-tune the frequency, e.g., for a delay that should be slightly out-of-sync.
MEMORY DISPLAY
The LED array is a visualization of the 128 kilowords 12-bit delay-line memory. The
red dot shows incoming audio written to memory, i.e., the “write position”. The green
dots represent playback positions for left and right outputs, i.e., the “read positions”.
WRITE PROTECT
Enable WRITE PROTECT to “freeze” the memory content and create an infinite loop
of whatever audio is currently in memory. You can still modify how the memory is
played back, like changing programs and editing instructions. However, the INPUT
and FEEDBACK controls will be of no use (obviously), and the only FILTER
PLACEMENT that will be useful is OUT.
“Write protected” memory content is even saved and loaded with your song file so
that you can use Permut8 as a rudimentary loop player. If SYNC is OFF, clicking
RESET will re-trigger the loop from the beginning.
REV
The REV switch makes the write- and read- positions move in reverse. This feature
can be used to reverse short audio snippets in real time. After a full “memory cycle”
has been completed, the audible effect of the reversal will be less noticeable (or dis-
appear entirely) as the entire memory now contains reversed audio material. Notice,
however, that the operators will function differently in REV mode.
RESET
If you flip the RESET switch, the memory is emptied (if it is not “write protected”),
and the read and write positions are reset. Notice that you should be able to “auto-
mate” this button in your host, just like any other button or knob.
Analog Section
INPUT LEVEL
INPUT LEVEL is applied before anything else, including the soft clipper, the limiter,
and the 12-bit sample data conversion. If you turn INPUT LEVEL very low, you will
introduce a lot of quantization noise, i.e., “bit crushing” (compensate with a high
The soft clipping algorithm in Permut8 has very low aliasing, so you can use it as an
analog distortion module. Turn up CLOCK FREQ to the maximum for the least
amount of digital noise.
LIMITER
The LIMITER switch enables the built-in “brick-wall” limiter. The limiter has a fixed
threshold and reaction time, but it is placed after the input gain adjustment. Thus the
INPUT LEVEL will determine the amount of volume compression. The limiter is also
placed inside the feedback loop, and with proper balancing of INPUT LEVEL and
FEEDBACK AMOUNT, you can make the feedback signal “duck” when there is audio
input (creating a less busy sound). The filter
is applied before the limiter if you turn FIL-
TER PLACEMENT to IN. You can then
tweak FILTER FREQ and MIX to compress
only the low- or high-end of the audio signal.
FILTER FREQ
FILTER FREQ determines both the filter
mode and its cutoff frequency. The left half of
the knob puts the filter into lowpass mode
while the right half puts it into highpass
mode.
FILTER PLACEMENT
Turn the FILTER PLACEMENT dial to
choose where in the signal chain you want to
apply the filter. The OFF setting disables it
entirely. The IN setting puts it before the soft
clipper/limiter but still inside the feedback
loop so that each successive iteration of the
feedback signal will become increasingly fil-
tered. The FB (“feedback”) setting places it
on the feedback signal only, while OUT ap-
plies the filter to the final output (as well as to
the feedback). The different placement settings can make a big difference to the
sound if you have a lot of digital distortion going on.
FEEDBACK AMOUNT
The FEEDBACK AMOUNT knob determines how much of the output signal is fed
back into the input again.
INVERT
Turn the INVERT switch on for a 180 degrees phase inversion of the feedback sig-
nal. With very short delay times, this produces a totally different sound.
OUTPUT LEVEL
The OUTPUT LEVEL knob controls the final volume of the “wet” signal. There is a
soft clipper on the output gain stage to give you that sweet saturated sound, just as
there is on the input stage.
MIX
Use MIX to adjust the balance between the “dry” input and the “wet” processed
sound. Because of the variable clock frequency technique in Permut8, the total input/
output latency varies, and this cannot be compensated perfectly by the host. The
MIX knob, on the other hand, makes perfect latency compensation even if the clock
frequency changes. Therefore it is better to mix the dry/wet signals within Permut8
rather than mixing them in your host.
All the settings you see on the front panel constitute a Permut8 “program”, and Per-
mut8 can have 30 such programs in memory at a time. You can instantly switch be-
tween these programs by clicking the program number display or the rocker switch
next to it. You can also use “MIDI Program Change” messages to switch programs
on the fly or put MIDI CONTROL in PROG mode and use MIDI keys.
The programs are numbered A0-A9, B0-B9, and C0-C9, but you can also give them
names that are shown in a pop-up list when you click the program number display. If
you do not name a program, a default name consisting of the “operator” and “op-
erand” settings (e.g., “[B0] and:4420 xor:0081”) is used. Programs modified since
they were last named are marked with a *.
The “Main Menu” button (far left) contains functions to undo/redo the last operation,
load and save the entire “bank” (all 30 programs), rename, copy and paste individual
programs, randomize instructions, zoom the interface, and more.
(You can shift-click the main menu button to repeat the last chosen menu, which is
especially useful for quickly performing multiple undo/redo or repeatedly randomizing
the instructions .)
The “Open Bank” button (right of the “Main Menu” button) is a shortcut to the main
menu item with the same name. It lets you load the entire “bank” (all 30 programs).
If you save a Permut8 “bank”, a VST® .fxb, or an Audio Unit .aupreset, all 30 pro-
grams are saved in the file. When you create a new instance of Permut8, the most
recently used programs will automatically load. (You may disable this feature from
the “Main Menu”.)
Alternative Firmwares
Permut8 can be expanded with new functionality through so-called “alternative
firmwares”. Alternative firmwares are pieces of computer code you load into Permut8
to extend or replace its signal processing algorithms. It can be a new type of opera-
No complicated steps are necessary to “install” these firmwares. Just load these
special Permut8 Bank files into the plug-in, automatically activating the new signal
processing code.
The signal processing code is executed in a “virtual machine” inside Permut8, which
is 100% “sandboxed”. Bad firmware code cannot crash or freeze your plug-in host.
Furthermore, the actual code is saved with the project in your DAW, meaning that
you do not need to install or keep track of which version of a particular firmware you
use for a specific project. It will just work. “Forever.”
(The drawback to this solution is that it requires more CPU than running “native”
code, but for many types of effects, the CPU hit is still moderate on a modern com-
puter.)
When an alternative firmware is active, you can click on its “logo sticker” in the top
right corner of the user interface for more info.
MIDI Control
There are three ways to control Permut8 via MIDI (provided that your host applica-
tion allows routing MIDI to effects).
BITS
The BITS setting will let you toggle individual “operand bits” (the 32 flip-flops under
INSTRUCTION 1 and 2) with MIDI keys.
FREQ
FREQ allows transposing effects with MIDI keys by adjusting the clock frequency up
or down when keys are held. Note number 60 (C3) is the root key. While holding
down a key, you can use the pitch bend, e.g., bend it down quickly for a “tape stop”
effect.
PROG
In PROG mode, you can switch between the 30 programs in memory using MIDI
keys. Great for sequencing glitchy effect patterns. Click the program number display
and check the pop-up list to see the assigned MIDI keys. (You probably want to
avoid “automating” parameters in this mode, as parameter changes are permanent
and cannot be easily undone.)
Ableton Live
(Add Permut8 to the effect chain on an audio or instrument
track.)
Cockos Reaper
(Add Permut8 to the effect chain on an audio or instrument
track.)
Image-Line FL Studio
(Add Permut8 to the effect chain on an audio or instru-
ment track.)
Cakewalk
1. Enter the Cakewalk Plug-in Manager, select
Permut8, and click “Plug-in Properties”.
2. Turn on “Configure as synth” and click OK.
Permut8 should now show up under VST
Instruments.
3. Insert Permut8 in the FX chain as a “Soft
Synth” instead of an “Audio FX”.
4. Insert a MIDI track and select Permut8 as
output for the new track.
MIX
INPUT
LEVEL
INPUT GAIN
FREQ
LIMITER
OUTPUT
LEVEL
FEEDBACK
ADC
CPU
DAC FILTER
OUT
Change History
Version 1.2.3 (2022-11-07)
• VST3 support.
• Increased resolution of graphic resources.
• (Windows) Deprecated 32-bit support.
• Bug and compatibility fixes.
Created by:
Magnus Lidström
Graphical design and additional development:
Fredrik Lidström
Banks:
Coen Berrier (Mason)
William Curtis (Pimp Daddy Nash)
Edward Ten Eyck
Simon Field (Ones & Zeros)
Stephan Muesch (Rsmus7)
Randolph Rueba
Torley Wong
Technologies:
NuXPixels, GAZL & AU/VST Symbiosis by NuEdge Development
libpng by G. Randers-Pehrson
zlib by Jean-loup Gailly and Mark Adler
VST PlugIn Technology by Steinberg
Audio Units SDK by Apple
(see the Copyrights section below for more info)
Please, read the end-user license agreement enclosed in the package for more legal
mumbo-jumbo.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: