Paragon WorkshopThe free ones

TAP owner's manual

TAP is a stereo delay with three characters, stereo or ping-pong repeats, a time in milliseconds or in note values at the host's tempo, filters, drive and diffusion in the loop, a moving delay time, ducking, width and a freeze, with a display that draws every repeat.

Version 0.1.022 min read

What it is

TAP is a stereo delay. A repeat goes round a loop: it is written into a delay line, read back at the delay time, filtered, saturated, spread by four allpass filters and fed back in, so that each trip round the loop is one more repeat. TIME sets the delay in milliseconds, from 1 to 2000, or with SYNC on, NOTE sets it as a note value at the host's tempo. FEEDBACK sets how much of each repeat goes round again, from 0 to 110 percent.

Three characters, CLEAN, DRIFT and FOLLOW, set what the loop does to a repeat: DRIFT and FOLLOW have filters of their own in the loop and move the delay time, and each saturates with a different bias. LOW CUT and HIGH CUT trim the loop further. ROUTING chooses STEREO, where each side repeats on its own, or PING-PONG, where each repeat is handed to the other side. R TO L sets the right side's delay as a multiple of the left's. MOD DEPTH and MOD RATE move the delay time, DRIVE saturates the loop, and DIFFUSION mixes in a chain of four allpass filters. DUCK turns the repeats down while the input is loud, WIDTH sets the difference between the two sides, FREEZE holds what the loop contains, and TIME CHANGE chooses how a change of time is made: GLIDE or FADE. MIX is the share of repeats in the output and OUTPUT is the level.

With MIX at 0 and OUTPUT at 0 dB the output is the input itself, bit for bit, in every mode and every layout, and TAP adds no delay at any setting. It has 20 host parameters and 26 presets in seven categories, and it is the delay engine that LATHE uses for its echo send, used here unchanged.

TAP is a premium plug-in: it works for 14 days and then needs a licence, as the Getting started manual describes. The name TAP is a working name.

Setting it up

Formats and channels

TAP is an effect, in Audio Unit and VST3 formats. The VST3 is built from the same code, but no test loads it in a digital audio workstation. A host lists the Audio Unit as Tap Delay, from Paragon Design. It takes one channel in and gives one out, takes one in and gives two out, or takes two in and gives two out. Two in and one out is refused. TAP has no sidechain and no MIDI. The bundle declares macOS 11.0 as the minimum, and the panel is 1200 by 800 pixels, resizable from 70 to 170 percent.

Latency

TAP adds no delay. The processor told the host 0 samples at 44.1, 48, 88.2, 96, 176.4 and 192 kHz, at every setting the tests tried, and read back from the Audio Unit at 48 kHz, and the line under the preset name reads DELAY 0 SAMPLES. BYPASS does not change it.

The tail is the time the host should keep playing after the input stops. TAP tells the host the longer of TIME and TIME times R TO L, multiplied by the number of repeats it takes to fall by 60 dB plus one, plus 0.3 seconds, and never more than 20 seconds. The number of repeats is the logarithm of 0.001 divided by the logarithm of FEEDBACK as a fraction. It tells the host 20 seconds while FREEZE is on or FEEDBACK is 99.5 percent or more, and 0 with MIX at 0. The line under the preset name shows it, for example TAIL 3.5 S. The figures are worked out from the controls on a 10 Hz timer and when playback starts, so a host that is stopped is told too.

SettingTail told to the host
The defaults with MIX 30 (TIME 375 ms, FEEDBACK 40 percent)3.502 s
TIME 200 ms, R TO L 2, FEEDBACK 50 percent4.686 s
TIME 2 s, FEEDBACK 90 percent20 s
FEEDBACK 100 percent, or FREEZE on20 s
MIX at 00

The figures are read back from the Audio Unit by the host test. A delay that repeats for longer than 20 seconds, such as TIME 2 s at FEEDBACK 90 percent, repeats for longer than the host is told.

In Logic Pro

  1. Click an Audio Effect slot in the channel strip, then choose Tap Delay from the pop-up menu. Audio Units plug-ins appear in the Audio Units submenu.
  2. On a mono channel strip the Mono plug-in format loads a mono plug-in, and on a stereo one the Stereo format loads a stereo plug-in. Mono->Stereo takes the mono strip into the plug-in's mono input and gives a stereo output from that point.
  3. Audio effects can go in audio, instrument, aux and output channel strips. To use TAP as a send delay, put it on an aux channel strip and set MIX to 100 percent, so that the repeats alone come out and the input does not.
  4. To see that TAP adds no delay, hold the pointer over the plug-in slot: a help tag shows the latency in samples and seconds.

A first session

TAP: A synced vocal preset with the voice playing: every repeat as a stem, the loop's response, the last five seconds and the meters
A synced vocal preset with the voice playing: every repeat as a stem, the loop's response, the last five seconds and the meters
  1. Put TAP on a vocal. The panel opens with the preset Flat Start: MIX is 0, so you hear the input and nothing else.
  2. Click the preset's name to see the menu and choose Vocal, Dotted Eighth. It turns SYNC on and sets FEEDBACK 35 percent, LOW CUT 150 Hz, HIGH CUT 5.5 kHz and MIX 20 percent.
  3. Play the track. The display's top plot, headed REPEATS AGAINST THE BEAT, draws each repeat as a stem: the left side in pencil, the right in blue.
  4. Drag the first repeat across to change the time, or with SYNC on, the note. Drag the second repeat up or down to change FEEDBACK.
  5. Turn MIX up or down. At 100 percent only the repeats come out.
  6. Press CLEAN, DRIFT and FOLLOW in turn. The curve at the lower left, headed ONE TRIP ROUND THE LOOP, shows what each does to a repeat on every trip.
  7. Press PING-PONG to hand each repeat to the other side.
  8. Raise DUCK to turn the repeats down while the voice is loud and let them come back in the gaps.
  9. Press BYPASS and press it again to compare. The delay goes on running while BYPASS is on, so its repeats are there when you switch it off.

How it works

Top bar, display and presets

The top bar has TAP etched on it with A STEREO DELAY under it, the preset bar (the previous and next keys and the name, with a star once a control has moved), the line for the delay and the tail, the LICENCE key and BYPASS. A preset sets every sound control: FREEZE is a sound control, so a preset loaded after a frozen one lets the loop go. BYPASS is not part of a preset.

The display is one picture of three parts, all drawn from numbers the engine computes. The top plot shows the time and the level of every repeat against a count of beats, left in pencil and right in blue, with two rings: the first repeat for TIME (or NOTE with SYNC on) and the second for FEEDBACK. A double-click on a ring resets it and ALT held while dragging gives fine steps. The plot at the lower left, ONE TRIP ROUND THE LOOP, shows the loop's response in dB against frequency: the filters of the character, LOW CUT and HIGH CUT. The plot at the lower right shows the last 5 seconds: the input in pencil, the wet in orange, with their peaks in dB. The wet line and the meter hold a reading and fall at 24 dB a second.

TAP: CLEAN at TIME 480 ms, FEEDBACK 55 percent: the loop's response is flat
CLEAN at TIME 480 ms, FEEDBACK 55 percent: the loop's response is flat

The three characters

CharacterIn the loop on every tripMovement of the delay timeSaturatorA change of time glides with
CLEANLOW CUT and HIGH CUT onlyone sine, up to 4 ms at MOD DEPTH 100 percentno biasa time constant of 0.10 s
DRIFT (the default)a 30 Hz high-pass and a 7 kHz low-pass (second order, Q 0.62)a 7.3 Hz sine and a slow random walk, together up to 4.55 ms at MOD DEPTH 100 percenta bias of 0.12 times DRIVE0.30 s
FOLLOWa 25 Hz high-pass and a fourth-order low-pass whose corner falls as the time rises: 9 kHz at 40 ms or less, 4.5 kHz at 160 ms, 1.8 kHz at 1 s or moreone sine, up to 4 ms at MOD DEPTH 100 percenta bias of 0.04 times DRIVE0.16 s

The swing of the delay time grows with the square of MOD DEPTH. MOD RATE, from 0.05 to 8 Hz, sets the speed, and DRIFT also moves the time with a second sine at 0.37 times that rate.

TIME, NOTE, SYNC and R TO L

TIME is the delay of the left side from the input to its first echo, from 1 to 2000 ms. SYNC sets the time from NOTE in place of TIME, at the host's tempo, or 120 beats a minute when the host gives none. NOTE has 16 values:

NoteBeatsTime at 120 beats a minuteTime at 100 beats a minute
1/640.062531.25 ms37.5 ms
1/32T0.083341.67 ms50 ms
1/320.12562.5 ms75 ms
1/16T0.166783.33 ms100 ms
1/160.25125 ms150 ms
1/8T0.3333166.67 ms200 ms
1/16.0.375187.5 ms225 ms
1/80.5250 ms300 ms
1/4T0.6667333.33 ms400 ms
1/8.0.75375 ms450 ms
1/41500 ms600 ms
1/2T1.3333666.67 ms800 ms
1/4.1.5750 ms900 ms
1/221000 ms1200 ms
1/2.31500 ms1800 ms
1/142000 ms2400 ms

R TO L, from 0.25 to 4, is the right side's delay as a multiple of the left side's. A delay under 39 samples (0.81 ms at 48 kHz) cannot be reached: it is read as 39 samples.

TIME CHANGE: GLIDE and FADE

GLIDE moves the read position to the new time, so the pitch of what is in the line bends while it moves, down to 0.60 times and up to 1.40 times at the most: a 200 Hz tone goes down to 119.9 Hz and up to 279.9 Hz in the tests. FADE reads the line at the new time at once and crossfades the two reads over 30 ms. Changing the character while sound plays makes a step in the sound.

FEEDBACK

FEEDBACK is how much of each echo goes round the loop again, from 0 to 110 percent. Above 95 percent the loop runs into a soft limiter, which is in full force by 110 percent. At 100 percent or more the repeats do not die away, and the tail told to the host is 20 seconds. Each trip round the loop applies LOW CUT, DRIVE, the character's filters and DIFFUSION, so the echoes change as they repeat.

LOW CUT, HIGH CUT, DRIVE and DIFFUSION

LOW CUT is a high-pass in the loop that acts on every trip, from 20 Hz (off) to 2 kHz. The character's own high-pass acts as well and the higher corner of the two wins. HIGH CUT is a low-pass in the loop, from 500 Hz to 20 kHz (off). DRIVE is saturation in the loop, worked at twice the sample rate, from 0 to 100 percent, and nothing happens below 0.2 percent. DIFFUSION is how much of a chain of four allpass filters (1.3, 2.1, 3.1 and 4.3 ms, and 1.13 times longer on the right) is mixed into the loop on every trip, from 0 to 100 percent.

ROUTING, WIDTH and DUCK

In STEREO both sides repeat on their own: each input feeds its own delay. In PING-PONG the input goes to the left delay only, as the mean of both sides, and each echo is handed to the other side: left, right, left. WIDTH, from 0 to 200 percent, works on the middle and the side of the echoes. At 0 the echoes are the same on both sides, exactly; at 200 the side is twice what it is at 100. DUCK, from 0 to 100 percent, turns the echoes down while the input is loud, by up to 26 dB, and follows the signal TAP is given, so a quiet input ducks less.

FREEZE

FREEZE stops the input feeding the delay and holds what it contains: each trip round the loop is at a gain of 0.99997, with no filter, drive, diffusion or movement. The held loop changes by about -0.34 dB in half a minute in the tests, so it does not hold a level for ever. A preset with FREEZE on, loaded into an empty delay, holds silence.

TAP: FREEZE on: the held loop at 0 dB on every trip, with no filter in it, and a tail told to the host of 20 s
FREEZE on: the held loop at 0 dB on every trip, with no filter in it, and a tail told to the host of 20 s

MIX and OUTPUT

The output is the input times 1 minus MIX plus the echoes times MIX, all times OUTPUT. MIX goes from 0 to 100 percent and starts at 0. OUTPUT goes from -24 to +12 dB and acts on the input and the echoes alike, so only at 0 dB with MIX at 0 is the output the input itself. A value of OUTPUT within 0.001 dB of 0 is read as exactly 0 dB.

BYPASS and the licence

BYPASS crossfades to the input over 5 ms. TAP has no delay, so the bypassed sound is the input itself, and the delay goes on running inside. While the trial is over BYPASS is forced on and the controls are drawn dimmed, as the Getting started manual describes.

Control reference

Every control on the panel, as the plug-in itself labels it. The description is the tooltip the plug-in shows when you rest the pointer on the control.

TAP with its controls numbered
TAP, with each control numbered. The numbers match the lists below.

Top bar

No.ControlWhat it doesRangeDefault
1PREVIOUS PRESETKeyPrevious preset
2NEXT PRESETKeyNext preset
3LICENCEKeyOpens the licence panel: the trial, a licence file, a key.
4BYPASSKeyHear the input unchanged, after a 5 ms crossfade. The delay goes on running inside, so its echoes are there when BYPASS is switched off.

Controls

No.ControlWhat it doesRangeDefault
5SYNCKeySets the time from NOTE at the host's tempo (120 beats a minute when the host gives none), in place of TIME.
6TIMEKnobThe delay of the left side, from the input to its first echo, in milliseconds. With SYNC on, NOTE sets the time instead.1 to 2000375
7CLEANKeyThe loop is left to LOW CUT and HIGH CUT alone. One sine moves the delay, by up to 4 ms at MOD DEPTH 100 percent. A change of time glides with a time constant of 0.10 s. The saturator has no bias.
8NOTEKnobThe note value that sets the time while SYNC is on, from 1/64 to 1/1 (4 beats), at the host's tempo (120 beats a minute when the host gives none).0 to 159
9FEEDBACKKnobHow much of each echo goes round the loop again, in percent. Above 95 percent the loop runs into a soft limiter, which is in full force by 110 percent.0 to 11040
10DRIFTKeyA 30 Hz high-pass and a 7 kHz low-pass (second order, Q 0.62) act on every pass of the loop. The delay is moved by two sines, a 7.3 Hz sine and a slow random walk, together up to 4.55 ms at MOD DEPTH 100 percent. A change of time glides with a time constant of 0.30 s. The saturator has a bias of 0.12 x DRIVE.
11R TO LKnobThe right side's delay as a multiple of the left side's. A delay under 39 samples (0.81 ms at 48 kHz) is read as 39 samples.0.25 to 41
12MOD DEPTHKnobHow far the delay time is moved. The swing grows with the square of the setting: at 100 percent it is 4 ms in CLEAN and FOLLOW, and up to 4.55 ms in DRIFT.0 to 10020
13FOLLOWKeyA 25 Hz high-pass and a fourth-order low-pass act on every pass of the loop, and its corner falls as the delay time rises: 9 kHz at 40 ms or less, 4.5 kHz at 160 ms, 1.8 kHz at 1 s or more. One sine moves the delay, by up to 4 ms at MOD DEPTH 100 percent. A change of time glides with a time constant of 0.16 s. The saturator has a bias of 0.04 x DRIVE.
14LOW CUTKnobA high-pass in the loop, acting on every trip round it. At 20 Hz it is off. The character's own high-pass acts as well, and the higher corner of the two wins.20 to 200020
15MOD RATEKnobHow fast the delay time is moved, in Hz. DRIFT also moves it with a second sine at 0.37 times this rate.0.05 to 80.6
16STEREOKeyBoth sides repeat on their own: each input feeds its own delay.
17HIGH CUTKnobA low-pass in the loop, acting on every trip round it. At 20 kHz it is off. The character's own low-pass acts as well.500 to 2000020000
18DUCKKnobTurns the echoes down while the input is loud, by up to 26 dB. It follows the signal the plug-in is given, so a quiet input ducks less.0 to 1000
19PING-PONGKeyThe input goes to the left delay only, as the mean of both sides, and each echo is handed to the other side: left, right, left.
20DRIVEKnobSaturation in the loop, worked at twice the sample rate. Nothing happens below 0.2 percent.0 to 1000
21WIDTHKnob0 makes the echoes the same on both sides, exactly. 100 percent leaves them as they are and 200 percent doubles the difference between the sides.0 to 200100
22DIFFUSIONKnobHow much of a chain of four allpass filters is mixed into the loop on every trip. Nothing happens below 0.2 percent.0 to 1000
23OUTPUTKnobThe level of the output, the input and the echoes alike, in dB. Only at 0 dB with MIX at 0 is the output the input itself.−24 to 120
24GLIDEKeyA change of time moves the read position to the new time, so the pitch of what is in the line bends while it moves (down to 0.60 and up to 1.40 times at the most).
25FADEKeyA change of time reads the line at the new time at once and crossfades the two reads over 30 ms.
26MIXKnob0 is the input alone, exactly. The output is the input times (1 minus MIX) plus the echoes times MIX.0 to 1000
27INPUT PEAK METERKey
28WET PEAK METERKey
29FREEZEKeyStops the input feeding the delay and holds what it contains: each trip round the loop is at a gain of 0.99997, with no filter, drive, diffusion or movement.
30OUTPUT PEAK METERKey

Recipes

A slap behind a voice

Choose Vocal, Slap: a single close repeat at 95 ms, FEEDBACK 10 percent, with the loop trimmed at 120 Hz and 7 kHz and the delay moved a little by DRIFT. Lower MIX to push the repeat further back.

A delay that follows the song

Choose Vocal, Eighth Note or Vocal, Dotted Eighth. SYNC is on, so NOTE sets the time at the host's tempo. Press the other NOTE values to hear the time change; GLIDE bends the repeats as it does.

A ping-pong around the stereo field

Choose Guitar, Ping-pong Eighth: PING-PONG routing with SYNC on at 1/8, FEEDBACK 35 percent and LOW CUT 160 Hz. Raise WIDTH to spread the echoes further apart.

A delay that gets out of the way

Choose Vocal, Ducked Eighth or Lead, Ducked Slap. DUCK turns the repeats down while the input is loud and lets them come back in the gaps. Lower DUCK to hear more of the repeats during loud parts.

A doubler

Choose Doubler, 30 Milliseconds: a repeat 30 ms behind with R TO L at 1.10, no feedback, and MOD DEPTH 35 percent. Its two sides are held to a correlation of -0.30 to -0.19 on the synthetic voice, so they differ.

A loop that holds

Choose Loop, Held, or press FREEZE yourself while a repeat rings, and stop the input. The repeat goes round the loop and is held. Choose a different preset, or press FREEZE again, to let it go.

Presets

TAP has 26 presets in seven categories. Flat Start is the plug-in's default state: choosing it returns every control to its default. Every other preset is written as only what it changes from the defaults and is expanded to all 19 sound controls. Each is held to three measurements, 78 in all, of programmes and measures that the tests define: for example the time of the first echo of an impulse against the time asked, the level of the repeats under the dry input, how far the second round of echoes is under the first, the peak, and for the frozen presets the held level and how much it changes.

CategoryPresets
StartFlat Start
Slap and ShortGuitar, Slap; Vocal, Slap; Drums, Short Repeat; Doubler, 30 Milliseconds; Doubler, Shortest Time
SyncedVocal, Eighth Note; Vocal, Dotted Eighth; Guitar, Quarter Note; Synth, Sixteenth Triplet; Keys, Half Note
Long and FilteredVocal, Long Echo; Dub, Long Feedback; Ambient, Two Seconds; Pad, Long and Wide
Ping-pongVocal, Ping-pong Quarter; Guitar, Ping-pong Eighth; Synth, Ping-pong Wide; Pad, Ping-pong and Frozen
DuckedVocal, Ducked Eighth; Vocal, Ducked Dotted Eighth; Lead, Ducked Slap
SpecialLoop, Held; Loop, 98 Percent Feedback; Loop, Driven; Smear, Diffused Repeats

None of the presets has been listened to. The settings were tuned to the numbers the tests hold them to, not by ear.

Measured

Everything here was run on one Intel Mac (Intel Core i9-10910, macOS 14, x86_64, Release), shared with other work, on 15 and 16 October 2026. The last runs are from the morning of 16 October.

  • TAP's own test group ran 306 checks (the processor 161, the presets 26, the editor 119) and none failed. The delay engine's own group, which LATHE shares, ran 281 and none failed.
  • The checks of the real editor, made with real mouse events, drawn at 70, 100 and 170 percent, ran 74, 15, 1066, 206, 54, 5 and 3 (the control map, overlaps, every word, the fit of every word, the interaction, the cost and the leaks), and none failed.
  • Apple's auval tool passes: 46 PASS lines and no warning, 20 parameters, and main bus layouts of one in one out, one in two out and two in two out.
  • The host test on the installed Audio Unit ran 55 checks and none failed in each of its last six runs.
  • A run of the whole project's tests, 22 minutes long, ran 13341 checks on 16 October and none failed. An earlier run that morning had stopped at a fault in another plug-in's tests, which was being edited at the time.
What was measuredResultConditionKind
RestThe output is the input bit for bit in 36 runs and at six sample rates in three layouts. A denormal input number comes out as 0 and a minus zero as plus zeroMIX 0, OUTPUT 0 dB, pink noise at -14 dBFS, FEEDBACK 110, FREEZE, DUCK, DRIVE, DIFFUSION, MOD DEPTH, WIDTH 200 and R TO L set or notbound
Through the installed Audio Unit18 of 18 runs equal to the input, delay 0three layouts, three characters, 100 blocks of 480 samplesbound
Delay0 samplesseven settings at six sample rates, and read back from the Audio Unit at 48 kHzbound
Tail3.502, 4.686, 20.000 and 0 s, each equal to the figure worked out by handread back from the Audio Unitmeasured
The processor against the engineequal bit for bit in three layoutsa busy setting, 4 s of voicebound
Block sizeblocks of 1, 7, 64 and 4096 samples give the output of 512, bit for bit, also with nine changes of control at nine sample positionsDRIFT, PING-PONG, a busy settingbound
Tempothe first echo within 0.000 samples of the note at 120 beats a minute, for all 16 notes. Through the Audio Unit a quarter-note echo is 24000, 32000, 19200 and 48000 samples at 120, 90, 150 and 60 beats a minute48 kHzbound, measured
BYPASSthe input bit for bit; the delay runs on inside, and 300 samples after BYPASS goes off the output is the engine's own, sample for samplethree layoutsbound
Hostile inputonly numbers come out; the largest sample is 1.00 against a bound of 16not-a-number, infinity, 1e30, denormals, a full-scale square wave, noise and silence, FEEDBACK 110, MIX 100bound
Memory useno allocation on the audio thread39 blocks in each of three layouts, controls and tempo movedbound
Saved stateall 20 controls come back; garbage, a state cut short, another plug-in's state, out-of-bounds values and a later version are handledprocessor and Audio Unitbound
Presets78 of 78 measurements inside their bounds: for example Flat Start changes the level by 0.0000 dB (bound 0.001), the second round of Guitar, Slap is -21.01 dB under the first (bound -21.6 to -20.5), and the held loop of Loop, Held changes by -0.0250 dB (bound -0.029 to -0.022)each preset on its named programmesmeasured against bounds
A preset through the Audio Unitthe Audio Unit and the engine differ by 0.000000000 on 14 s of voice, with the controls as the host's 0 to 1 scale gives themVocal, Ducked Eighth and Synth, Ping-pong Widebound
WIDTHat 0 the difference between the sides is exactly 0; at 200 the side is 2.0000 times its size at 100noise, all three characters, by a small program run by handmeasured
Paintthe display takes 1.52 ms at 1x and 3.01 ms at 2x (budget 8 ms); an idle editor paints 0 times in 1.5 supper bounds, including the snapshotmeasured
Memory over 30 editorsthe allocator's bytes in use changed by +4.3, -7.8, 0.0, -3.8, -0.4 and +9.9 MB in six runs (limit 12 MB)the editor opened and closed 30 times after 30 rounds to settle firstbound, measured
CostFlat Start 1.27, 1.50, 1.68 and 1.46 percent of one core in four runs (budget 1.5); a heavy setting (DRIVE, DIFFUSION and MOD DEPTH at 100, both cuts, PING-PONG) 2.02, 2.30, 3.38 and 2.33 (a stated limit, budget 3.0)thread CPU time, stereo, 48 kHz, 512-sample blocks, 10 s of pink noisemeasured

The cost moves with the machine's load: the engine's own notes read 1.11 percent on a quiet Mac, and the figures above were taken while other work was running.

Limits and what is not verified

  • Nothing has been listened to: the characters, the presets and the defaults are described by what they were measured to do, not by how they sound.
  • Not verified: any host (what one does with TAP's tempo, tail and bypass), the VST3 in any host, Apple silicon (the Mac the tests ran on is Intel, and the Apple silicon half of the release package was compiled and never run), the real editor used by hand, and a frozen loop for longer than 30 seconds.
  • A change of CHARACTER while sound plays makes a step: the largest step in the engine's test was 5.8 times the test tone's own. FOLLOW's corner jumps with the time under FADE.
  • The echo of an impulse peaks at 0.966, and a delay under 39 samples is read as 39 samples.
  • The tail told to the host is capped at 20 seconds, so a delay set to repeat for longer than that repeats for longer than the host is told.
  • In DRIFT and FOLLOW with DRIVE above 0, the start of playback can leave a trace in silence: up to -66.5 dBFS at DRIVE 100 (about -73 dBFS at DRIVE 10) in the first second. It dies away at FEEDBACK 40. At FEEDBACK 110 it can seed the loop (0.07 after 20 s in one test). The presets Synth, Sixteenth Triplet, Dub, Long Feedback and Loop, Driven are affected. The cause is known and a one-line change would remove it; it is not made in this version.
  • The heavy setting named in Measured is over the CPU budget of 1.5 percent; it is a stated limit.
  • Some statements in the panel's own tips are backed by reading the source or by a small program, not by a test in the project's tests: the loop gain of 0.99997 while frozen, the soft limiter above 95 percent FEEDBACK, that PING-PONG feeds the left delay with the mean of both sides, that the higher corner of LOW CUT and the character's high-pass wins, and the WIDTH figures.
  • A denormal input number comes out as itself or as 0, and a minus zero comes out as plus zero. These are the two exceptions to a bit-for-bit rest.
  • The name TAP is a working name.

Troubleshooting

I hear no repeats. MIX starts at 0, and Flat Start leaves it there. Raise MIX, or choose a preset. Check that BYPASS is off and that the line under the preset name does not say the trial is over.

The repeats are not in time with the song. SYNC is off, so TIME sets the delay in milliseconds, or the host is not giving TAP a tempo and TAP is using 120 beats a minute. Press SYNC and choose a NOTE. Whether a host gives TAP its tempo is not verified here.

The tail runs on for ever. With FEEDBACK at 100 percent or more, or with FREEZE on, the repeats do not die away. Lower FEEDBACK, or press FREEZE again. The host is told at most 20 seconds of tail.

The repeats change pitch when I turn TIME. GLIDE moves the read position, so the pitch of what is in the line bends. Press FADE for a crossfade over 30 ms instead.

There is a faint noise in silence at the start. See Limits: in DRIFT or FOLLOW with DRIVE up, a trace of up to -66.5 dBFS can appear for a second after playback starts. Lower DRIVE or press CLEAN.

TAP uses more CPU on a busy Mac. The figures in Measured were taken at a quiet load, and read higher when the machine is busy: that is the load, not the code.

The panel looks small or large. Drag a corner of the window: it keeps its proportions from 70 to 170 percent of 1200 by 800 pixels, and the width is saved with the project.