Return to the Thafknar Support Page

Using Thafknar's Convolution Reverb as an Audio Unit

Thafknar contains an AUv3 app extension that allows an AUv3 host to employ Thafknar's convolution reverb engine as an audio unit. Before you can use this audio unit, you have to perform the "Convolution Audio Unit" in-app purchase in Thafknar (go to the Settings view in Thafknar and select In-App Purchases in the action menu at the top right).

You use the Thafknar app for managing the impulse responses, as is detailed here. The impulse responses library is stored in a directory that is shared between the Thafknar app and the Thafknar audio unit extension.

The app extension's view is built of two parts, one for selecting impulse responses, the other for editing parameters and settings. Whether these are layed out horizontally or vertically, depends on the geometry of the screen area that is supplied by the host app. In AUM, the iPad view in landscape orientation looks like this:

The impulse responses table view at the left has an expandable section for each of the impulse response sets. At the left side of each section header it shows a plus or minus sign, depending on the expansion status of the section, while at the right side of the header it displays the number of impulse responses of the set. You can expand or collapse a section by tapping anywhere in the section header.

When an impulse response is activated by tapping, this is indicated by a checkmark at the right side. Furthermore, the set and name of the selected impulse response are shown in the table header:

When you tap this header, the table view scrolls to the selected impulse response. Tapping the selected impulse reponse or selecting another one will deselect the selected impulse response.

When you install or delete impulse responses in Thafknar, you might have to refresh the table view of the app extension. This can be done by pulling down the table view or tapping the refresh icon at the top right of the view. Note that the view also shows impulse response files in nested subdirectories. For these, the subdirectory names are shown, too.

Starting with version 7.4, you can select two impulse responses. To do this, long-tap the IR that you would like to select and then choose whether you want to make it the primary or the secondary IR. When two IRs are selected, the audio unit will calculate and use a crossfaded impulse response, and the two IRs are indicated by the numbers 1 and 2 at the right. If two IRs are selected, then you can also swap them after long-tapping.

Version 7.7 adds another action to the popup menu when there are two IRs selected, which offers the possibility to balance the primary and the secondary IR by moving a slider that controls the weight of the primary IR. Hence, if

p:[0,T1] → [-1,1]   and   s:[0,T2] → [-1,1]

denote the primary and the secondary IR, and w ∈ [0,1] is the primary IR's weight, then the resulting IR that is used for the convolution is given by r:[0,T] → [-1,1] with T := max(T1,T2) and

r(t) := w p(t) + (1-w) ⋅ s(T2-T+t)   for t ∈ [0,T],

where p and s have been extended by setting p(t) := 0 and s(t) := 0 for t ∉ [0,T1] resp. t ∉ [0,T2]. In the IR list, the weightings are indicated by "1:w%" and "2:(1-w)%" besides the primary and the secondary IR.

At the top left you see a wrench icon. Tapping it allows you to select whether the impulse response files should be sorted by name (this is the default) or by length (i.e. duration of the sound) and whether the list should have a compact format (this is the default) or not.

The Parameters view at the right does not need to be explained here, as it is the same view that you know from the Tweak button within Thafknar. We only mention the fact that the Gain and Dry – Wet sliders have an immediate effect, while the other parameters have an impact only after the slider movement has completed. Also note that the above screenshots show Thafknar 7.5. Version 7.6 adds two sliders for selecting the range start and range end, version 7.7 a switch for applying a fade out to the end of the IR, and version 8.0 the option to set the convolution buffer size.

With the arrows icon at the top left of the Parameters view you can switch to the Settings view (and back). Here you can activate the convolution time (version 8.0 also show the convolution buffer size) and port status display, which shows the total time needed for the audio unit's render callback and the status of the input and output ports:

In the Settings view you can also change the maximum time in percent that is allowed for the callback. If the convolution operation needs more time, it will be cancelled, and a yellow warning triangle will appear. The Parallelise? option is for using several CPU threads for calculating the convolution. Like in the Thafknar app, it makes sense only for Quad convolutions with long IRs.

Because not all AUv3 hosts set the color scheme in a way that transfers to the audio unit view, starting with version 7.4 the Thafknar audio unit view uses its own color scheme. There is a new setting UI Style that lets you choose Light Mode, Dark Mode, or Automatic Mode.

Parameters and settings are persistent, i.e. when you later start another instance of the audio unit, this will be initialised with the last used values.

With the question mark icon at the top right you can call up two help pages. One that corresponds to the page that you are reading right now, and another one that corresponds to the page about the installation of impulse response files. As the help pages are loaded from the polaron.de web server, this works only if you have internet access.

The switch icon at the left of the question mark icon is new in version 7.5. It is a bypass function; the convolution audio unit is active only if the switch is on, otherwise it is bypassed. Starting with version 8.1, this switch will flash in off-state. This is to prevent users from accidentally turning it off.

The Presets button (its presence, position and design depend on the host app) is a general AUv3 functionality. In our case it creates a user preset from the selected impulse response(s) and the current parameter values. There is no protection against deleting (in the Thafknar app) an impulse response that is used in a preset. You will get an error message if you try to install a preset whose impulse response has gone.

Up to version 7.7, user presets were saved in the host app. Starting with version 7.8, it is possible to save user presets in the audio unit, provided that the host app supports this.