Perfect Soup User Manual
Umami Audio — Professional room correction and speaker calibration for your studio.
Perfect Soup consists of two components: Calibration Wizard (the standalone measurement app) and Calibration Loader (the DAW plugins that apply calibration). This manual covers both.
Overview
Perfect Soup measures your room and speakers, then generates a calibration profile (.soup-recipe file) that corrects for room acoustics and speaker response. You use the plugin in your DAW to apply that correction during playback.
Typical workflow:
- Run Calibration Wizard
- Sign in with your Umami Audio account
- Measure your room (microphone + speakers)
- Upload results for cloud processing
- The generated
.soup-recipecalibration is automatically synced to the Calibration Loader plugin
How It Works
Perfect Soup uses a MIMO (Multiple-Input Multiple-Output) optimization approach to room correction. Unlike traditional per-speaker EQ correction, MIMO optimization treats your entire speaker system as a single cohesive acoustical system and solves for the best combined result.
The Optimization Process
- Measurement capture — The Calibration Wizard plays a series of sweep signals through each speaker and records the room response at multiple microphone positions. This captures how every speaker interacts with the room and with each other speaker.
- Cloud processing — Your measurement data is uploaded to the Umami Audio cloud, where GPU-accelerated optimization runs across all captured impulse responses simultaneously.
- Iterative MIMO optimization — The algorithm iterates through thousands of filter variations, evaluating how every speaker correction affects the overall system response at every measurement position. It minimizes the total error across all speakers and all positions together, rather than correcting each speaker in isolation.
- Calibration delivery — The result is a single
.soup-recipefile containing an optimized FIR filter for each speaker in each group, ready to load in the Calibration Loader plugin.
Why MIMO matters: Conventional per-speaker correction can improve individual frequency responses but often makes cross-speaker coherence worse (e.g., phantom center imaging, crossover alignment between mains and subwoofers). MIMO optimization ensures that corrections to one speaker never degrade the combined performance of the system as a whole.
What Gets Corrected
Perfect Soup addresses a comprehensive set of acoustic problems in your monitoring environment:
- Room modes — Standing waves that cause bass buildup or cancellation at certain frequencies and positions.
- Speaker frequency response — Deviations from a flat target across the audible range of each speaker.
- Crossover alignment — Phase and level matching at the crossover frequency between mains and subwoofers (or between any speakers sharing frequency ranges within a group).
- Early reflections — Short-delay reflections from walls, desk, and console surfaces that color the direct sound.
- Speaker-to-listener timing — Arrival-time differences between speakers at the listening position, corrected via delay alignment.
- MIMO cross-speaker coherence — The combined radiation pattern and interaction of all speakers, optimized as a single system so that corrections to one speaker do not degrade the response of the system as a whole.
What Are Speaker Groups?
A speaker group is a logical grouping of one or more speakers that together reproduce a single audio channel. Each group corresponds to one input channel in the Calibration Loader plugin.
Plugin inputs and outputs — The plugin always has the same number of input and output channels, and your DAW or host sets that number from the width of the track or bus the plugin is on. Input 1 feeds group 1, input 2 feeds group 2, and so on. Output 1 is the first speaker output you enabled in the wizard, output 2 the second, and so on, in ascending order — a subwoofer gets its own output like any other speaker. The track must therefore be at least as wide as your number of groups or your number of speakers, whichever is larger. For example, a 2.1 system set up as 2.0 (two groups, three speakers) needs a 3-channel track: put the stereo signal on inputs 1–2 and leave input 3 empty. If the track is narrower, the extra outputs are still processed but never reach your hardware, and the plugin doesn’t warn you.
Primary vs. Support Speakers
Each group has one or more primary speakers (the main drivers that reproduce the channel) and optionally one or more support speakers (typically subwoofers that handle low-frequency content for that channel).
For example, a typical stereo group "L" would have the left speaker as its primary and a subwoofer as a support speaker. The optimization considers both together when generating the correction filter for the "L" channel.
Group Types
- Normal group — Represents a standard audio channel (L, R, C, etc.) with at least one primary speaker.
- Phantom group — A virtual channel reproduced by two primary speakers (e.g., phantom center from L+R). Requires exactly two primary speakers.
- LFE group — A dedicated Low Frequency Effects channel. Must have at least one speaker assigned (typically a subwoofer). You must choose a Timing ref — a main (non-subwoofer) speaker that anchors low-frequency time alignment (recommended: the Center speaker when present). Subwoofers are not offered in the Timing ref menu. The timing reference does not have to appear in the LFE group’s speaker list.
The number of speaker groups you can create depends on your license tier. Support speakers per group are also tier-dependent (see Licensing).
Configuration Examples
Below are common speaker configurations and how they map to speaker groups in Perfect Soup.
A 2.1 system can be set up either as 2.1 (with a separate LFE input) or as 2.0 (stereo input only, with the sub supporting both mains) — it’s your choice. Both are shown below, plus a simpler layout you can try if you like.
2.1 Stereo + Sub (as 2.1, with LFE)
- Group 1: L (primary) + R, Sub (supports)
- Group 2: R (primary) + L, Sub (supports)
- Group 3: LFE (Sub, L, R)
3 groups, 2 supports per group — the LFE group counts toward your group limit, so this needs Platinum Studio or higher. Use a 3-channel track (input 3 = LFE).
2.1 Stereo + Sub (as 2.0)
- Group 1: L (primary) + R, Sub (supports)
- Group 2: R (primary) + L, Sub (supports)
2 groups, 2 supports per group — Project Studio or higher. Use a 3-channel track: stereo on inputs 1–2, input 3 left empty.
2.1 Stereo + Sub (simple alternative)
- Group 1: L (primary) + Sub (support)
- Group 2: R (primary) + Sub (support)
2 groups, 1 support per group — Mini Studio or higher. Optional; worth trying instead of the 2.0 layout. Also uses a 3-channel track with input 3 left empty.
2.2 Stereo + 2 Subs
- Group 1: L (primary) + Sub L, Sub R (supports)
- Group 2: R (primary) + Sub L, Sub R (supports)
2 groups, 2 supports per group
5.1 Surround (SMPTE / Pro Tools)
- Group 1: L + Sub
- Group 2: R + Sub
- Group 3: C + Sub
- Group 4: LFE (Sub)
- Group 5: Ls + Sub
- Group 6: Rs + Sub
6 groups, 1 support each. See the Channel order reference for Film and DTS variants.
5.1 Cross-Support
- Group 1: L + Sub1, Sub2
- Group 2: R + Sub1, Sub2
- Group 3: C + Sub1, Sub2
- Group 4: LFE (Sub1, Sub2)
- Group 5: Ls + Sub1, Sub2
- Group 6: Rs + Sub1, Sub2
6 groups, 2 supports each (SMPTE / Pro Tools order)
7.1.4 Atmos (SMPTE / Pro Tools)
- Groups 1–3: L, R, C (each + Sub)
- Group 4: LFE (Sub)
- Groups 5–8: Lss, Rss, Lsr, Rsr (each + Sub)
- Groups 9–12: Ltf, Rtf, Ltr, Rtr (height speakers)
12 groups — requires The Perfect Soup tier
Calibration Wizard
The Calibration Wizard is a standalone application that guides you through measurement setup and execution.
The current build version is shown in the upper-right corner of the window (for example, v1.0.xxxx). You can select and copy it if support asks which build you are running.
Sign In
- Launch the wizard
- Click Login
- Use Device Flow authentication:
- A browser window opens with a verification URL and code
- Enter the code on the website if prompted
- Authorize the wizard
- The wizard detects when you are signed in and continues
Two Workflows
After signing in, you can choose:
- Measure & Create a New Calibration — Full measurement flow with microphone and speakers
- Create from Existing Measurement — Create a new calibration from a previously saved measurement (speaker layout, groups, and stored sweep headroom are restored from the saved metadata)
Resume / Fork — From the welcome screen you can open Previous Measurements to resume or fork a saved session. After the wizard opens your interface and applies the session (including the saved Headroom sweep level when stored in the measurement), it runs the sample rate step first (some devices change microphone input availability when the rate changes). You must match the original measurement’s sample rate, then the wizard checks that your saved microphone input channel still exists on the device. Only then does it show the Pre-flight Checklist, including extra confirmations (saved input channel, mic preamp gain if stored, and calibration microphone label if you saved one) plus a level meter on the saved input so you can confirm signal. Normally the wizard then reuses that input and skips Select microphone input and Adjust microphone sensitivity. To choose the input channel again, press Ctrl+Shift+8 before you tap Resume or Fork (the same shortcut relaxes device matching for advanced cases). The resumed session then runs the Nearfield Measurements step again (its speaker list is re-derived for the session) and shows a short Mic Preamp Gain confirmation so the new sweeps match the saved ones. A measurement made with two separate devices must be resumed with the same topology: the wizard re-opens the original input/output device pair and keeps the original timing-reference method — a two-device measurement cannot be continued on a single shared-clock device, or vice versa.
Measure & Create Flow
Step 1: Pre-flight Checklist
Before starting, verify:
- Calibration microphone connected and powered on
- Microphone audio not routed to speaker output (no feedback loop)
- All other audio applications are closed (DAWs, browsers, system sounds) — other apps can lock the audio device and prevent sample rate changes. Turn off system notifications to avoid interrupting measurements.
- Audio connections ready — either one interface with both inputs and outputs, or (in a future update) two separate devices (e.g. a USB measurement microphone plus a separate output device)
Step 2: Audio Setup
Coming in a future update: the two-device flow described in this manual (separate input and output devices, including the Timing Reference step) ships with a future Calibration Wizard update and is documented here ahead of release. The current release requires a single audio device that provides both the microphone input and the speaker outputs (on Windows, an ASIO interface; on macOS, an Aggregate Device made in Audio MIDI Setup counts as one device).
The wizard first asks whether your measurement microphone and your speaker outputs are on the same audio device:
- Same device — One audio interface handles both the microphone input and the speaker outputs (e.g. a Focusrite Scarlett, MOTU, or RME Fireface). Continues with the classic single-device flow.
- Two separate devices — The microphone and the outputs are on different devices, for example a USB measurement microphone (miniDSP UMIK-1) with playback over HDMI, USB, or a DAC. The wizard opens both devices together and adds a timing reference step so the two device clocks can be aligned.
macOS note: An Aggregate Device created in Audio MIDI Setup appears as one interface — choose Same device and select it on the next page.
Step 3: Select Device(s)
Same device — choose the audio interface you want to calibrate:
- Use Refresh to update the device list
- The list includes full-duplex hardware devices only — each entry must support playback and recording at the same time on a single device. Output-only or input-only interfaces do not appear.
- Windows: this list shows ASIO devices only. If your interface doesn’t appear, install its manufacturer ASIO driver — or, if the hardware has no ASIO driver at all, go back and choose the two-device option instead (it works even when both ends are jacks of the same physical device).
- macOS: Core Audio devices exposing both directions are listed. User-created Aggregate Devices in Audio MIDI Setup are not listed here.
Two separate devices — the wizard shows two pages: Select Input Device (the device your measurement microphone is connected to) and Select Output Device (the device that plays through your speakers).
- Windows: the two-device lists use Windows Audio in exclusive mode. A device is only left out of the list when its driver cannot do exclusive mode at all. If Windows is simply blocking exclusive control, the device is still listed — marked “Exclusive control off in Windows” with an Enable button beside it that turns the setting on for you. Use that button; enabling “Allow applications to take exclusive control of this device” yourself on the device’s Properties → Advanced tab in Windows Sound settings is only needed if the button reports it could not change the setting. ASIO-capable hardware appears here under its Windows device name.
- If a selected pair cannot be opened, the wizard checks each device individually and tells you which one failed and why (in use by another exclusive-mode app, exclusive mode disabled, a broken driver or audio-enhancement installation, or the device was unplugged) — instead of a generic error.
- Same-hardware picks are fine: if the input and output you choose turn out to be two connections on one physical device (one shared clock), the wizard detects this and drops the Timing Reference step — none is needed and none is shown. This remains the two-device flow in every other respect; in particular the nearfield measurements are still required (see below). The Timing Reference step is also skipped when neither device has a spare channel free for a loopback wire.
- The nearfield measurements are required in a two-device measurement — they are what aligns the two devices, so unlike a single-device measurement they cannot be skipped. Next stays disabled until at least one main speaker is measured, and the review shows only Back until every speaker is done.
Step 4: Sample Rate Check
- Umami Audio requires 96 kHz sample rate for best results
- The wizard shows the current sample rate
- If not 96 kHz, change it in the device's manufacturer control panel
- Use Open Control Panel to open the device settings
- Two-device flow: the page shows one column per device (input and output). Both devices must run at the same sample rate — set them to the same rate in their control panels, then reselect the devices or refresh.
Step 5: Speaker Configuration
Configure each output channel:
- Speaker Name — Name each channel (e.g. L, R, C)
- Speaker Type — Speaker, Height (elevation channels, e.g. the .4 in 7.1.4), or Subwoofer
- Model — Optional model identifier
- Enable — Enable/disable channels for calibration
- Identify — Play a test tone to identify which channel is which
- Headroom — Controls how quietly the calibration sweep plays relative to your system's full output. Press Identify on any speaker to preview the level. After calibration, your system will be capable of playing roughly that many dB louder than what you hear during the sweep. Options: 20, 25, 30, 35, or 40 dB. If unsure, the default of 30 dB is a safe starting point for most systems.
- Enable All / Enable None — Quick toggle for all channels
Changing configuration later: Renaming speakers or editing the optional model field alone does not trigger a layout reset. If you already moved past this step, changing speaker type, turning channels on/off, or changing headroom may ask you to reset dependent steps (groups, mic setup, measurements). When you press Next, if names suggest a different speaker type, applying those fixes shows the same choice: keep the new types and reset later steps, or revert the type changes and stay on this step.
Step 6: Select Microphone Input
- Select the input channel for your calibration microphone
- An input level meter shows signal. Next stays disabled until the meter reads at least −80 dBFS on the input you selected. If you pick a different input, you must reach that level again on the new channel.
- Clap near the microphone to verify the selected input
- macOS: If the meter stays silent, approve microphone access when prompted on this page, or enable Calibration Wizard in System Settings → Privacy & Security → Microphone.
Step 7: Timing Reference (two devices only)
This step only appears in the two-device flow (and is skipped when the wizard detected that your two picks share one physical device). Because the microphone and the speakers run on separate devices, their clocks drift slightly against each other — Umami needs a timing reference to line them up:
- Use a loopback (recommended) — Wire one spare output channel of your output device back into one spare input channel of your input device. This is the most accurate timing reference. On the Loopback Setup page, pick the output and input channels you wired, choose a test level (0 / −3 / −15 dBFS), and press Test — the input meter should respond, confirming the loop is connected. Keep both meters out of the red. The loopback channel is excluded from your speaker outputs for the rest of the flow.
- Skip the loopback — Continue without one. The wizard uses your nearfield measurements as the timing reference instead.
The timing reference is locked once measurements have been recorded; to change it you must clear the session’s measurements. When you resume a saved two-device measurement, the wizard keeps the original session’s reference method (and asks you to re-connect the loopback if one was used).
Step 8: Nearfield Measurements
Before the listening-position sweeps, the wizard measures every speaker up close. These captures anchor each speaker’s exact acoustic timing and let the calibration map your full speaker and listening-position layout. An illustrated 9-slide guide precedes the step; the key points:
- Subwoofer crossover first — Before any measurement, set the low-pass / LFE crossover to its highest setting, phase to 0°, and normal polarity on your AV receiver, processor, or the sub’s plate amp — and leave them unchanged for the whole process. Perfect Soup applies the right crossover and phase in your calibration.
- Standoff — Place the mic capsule directly in front of the tweeter, on-axis, at exactly the distance set in the Standoff control (2 cm, 1 inch, or a credit card stood on its short edge — pick the gauge you’ll actually use).
- One speaker at a time — Select a speaker in the checklist, use Identify to confirm you’re at the right one, park the mic, press Measure, and step away. At each position the wizard sweeps every speaker (not just the parked one) to map the layout, so leave the mic parked until the whole sweep set finishes.
- Mic gain is free here — You may adjust the mic input gain between nearfield measurements to keep a healthy level; peaks around −12 dBFS are a good target. Only timing matters in this step — just don’t clip.
- Subwoofers — Place the mic as close to the grille as possible (without touching it), or at the closest safe distance from the center of the driver.
- Height speakers — Nearfield captures are optional for heights, but strongly recommended; even a few are better than none.
- If a speaker isn’t heard — If a full-range speaker cannot be heard clearly enough to locate it, the wizard stops that measurement and tells you which speaker to check. Subwoofers are not checked this way.
Step 9: Adjust Microphone Sensitivity
- Place the microphone at the listening position
- Press Test to play a test tone
- Adjust your preamp gain until the level is in the green zone
Microphone Calibration Files — Two slots are available:
- 0° (on-axis) — Used for height speakers and for stereo/mono setups. If this is the only file provided, it is used for all measurements.
- 90° calibration file — Used for ear-level speakers in surround setups. Required when pointing the mic at the ceiling for surround measurement.
Step 10: Configure Speaker Groups
Organize your outputs into speaker groups. Each group number corresponds to an input channel in the Calibration Loader. If you're not sure what you're looking at, you can read more about it here.
- Channel Order — Film (Cinema / DCP), SMPTE / ITU / Pro Tools (default), or DTS. Determines the ordering of channels — including where LFE sits — when you apply defaults or re-sort groups. See the Channel order reference below for the exact channel sequence per standard and format.
- Use Defaults — Apply a preset group layout in the active channel order (each group includes every other enabled output as support by default). Supported layouts include 2.0, 2.1, 4.0, 4.0+Phantom Center, 4.1, 4.1+Phantom Center, 5.0, 5.1, 5.1.2, 5.1.4, 7.0, 7.1, 7.1.2, 7.1.4, 7.1.5 (Auro 12.1), 7.1.6, 9.1.4, 9.1.5 (Auro 14.1), 9.1.6, and 11.1.6. The list is filtered to only the layouts your enabled outputs can satisfy (mains + heights ≤ enabled non-sub outputs, subwoofers ≤ enabled subs).
- Create Group — Create a custom group with all eligible support speakers selected by default until you narrow the list
- Create LFE Group — Add the single LFE channel group (only one is allowed; this control is disabled while an LFE group exists)
- Use Long Names / Use Short Names — Convert group names that match a known role between long form (e.g. Left Top Front) and Pro Tools-style short form (e.g. Ltf). Only recognised names are converted; custom names you typed are left alone. Long names are the default.
- Clear All — Remove all groups
- Drag to reorder — Drag groups up or down to change their order. The group order corresponds to the plugin input channel inside your DAW (group 1 = input channel 1, group 2 = input channel 2, etc.).
- Group name — Each card has an editable name next to its number. For normal groups the name tracks the primary speaker until you edit it manually; changing the primary updates the name automatically unless you have customized it. The LFE group defaults to LFE and does not follow subwoofer channel renames unless you type a custom name. Default layouts keep the wizard’s standard names (Left, Right, LFE, etc.). These names are stored in measurement metadata and appear as IN meter labels in the Calibration Loader.
- Click group number — Click a group's number to type a new channel. If that channel is already assigned, the two groups swap positions.
- Primary speaker swap — Clicking a primary speaker that is already assigned to another group swaps the two assignments automatically.
- Unselect All Supports (left) and Select All Supports (right) — Quick clear or select every support checkbox for that group. For the LFE group the labels are Unselect all speakers and Select all speakers. When subwoofer outputs appear in the checklist, Select subs checks every subwoofer in that group’s list without changing other speakers, and Remove subs clears only the subwoofer checkboxes. Unselect all + Select subs recreates a sub-only selection. The first two bulk controls appear when more than one speaker appears in that group’s list; Select subs / Remove subs appear whenever at least one subwoofer checkbox is available (primary speakers are excluded from support for non-LFE groups).
Validation requirements before proceeding:
- Normal groups must have at least one primary speaker assigned
- Phantom groups must have two primary speakers assigned
- LFE groups must have at least one speaker assigned and a Timing ref chosen
Channel order reference
Every standard orders the same speakers differently — in particular, where the LFE channel sits. The table below shows the canonical order each standard uses for each common format. The wizard’s defaults and the “re-sort” that follows the Channel Order dropdown both produce these exact orderings (long names shown; short Pro Tools-style names are available via Use Short Names).
Abbreviations used below: L/R = front left/right, C = center, LFE = subwoofer/low-frequency, Ls/Rs = left/right surround (5.x), Lss/Rss = side surround (7.x+), Lsr/Rsr = rear surround (7.x+), Lw/Rw = wide (9.x+), Lrs/Rrs = rear-side (11.x). For immersive (X.1.Z) layouts, height/overhead speakers always follow the horizontal mains + LFE; the height ordering is shared across all three standards.
| Format | Film (Cinema / DCP) | SMPTE / ITU / Pro Tools (default) | DTS |
|---|---|---|---|
| 2.0 | L, R | L, R | L, R |
| 2.1 | L, R, LFE | L, R, LFE | L, R, LFE |
| 4.0 Quad | L, R, Ls, Rs | L, R, Ls, Rs | L, R, Ls, Rs |
| 4.1 | L, R, Ls, Rs, LFE | L, R, Ls, Rs, LFE | L, R, Ls, Rs, LFE |
| 5.0 | L, C, R, Ls, Rs | L, R, C, Ls, Rs | L, R, Ls, Rs, C |
| 5.1 | L, C, R, Ls, Rs, LFE | L, R, C, LFE, Ls, Rs | L, R, Ls, Rs, C, LFE |
| 7.0 | L, C, R, Lss, Rss, Lsr, Rsr | L, R, C, Lss, Rss, Lsr, Rsr | L, R, Lss, Rss, Lsr, Rsr, C |
| 7.1 | L, C, R, Lss, Rss, Lsr, Rsr, LFE | L, R, C, LFE, Lss, Rss, Lsr, Rsr | L, R, Lss, Rss, Lsr, Rsr, C, LFE |
| 9.1 (base for 9.1.x) | L, C, R, Lw, Rw, Lss, Rss, Lsr, Rsr, LFE | L, R, C, LFE, Lw, Rw, Lss, Rss, Lsr, Rsr | L, R, Lw, Rw, Lss, Rss, Lsr, Rsr, C, LFE |
| 11.1 (base for 11.1.x) | L, C, R, Lw, Rw, Lss, Rss, Lsr, Rsr, Lrs, Rrs, LFE | L, R, C, LFE, Lw, Rw, Lss, Rss, Lsr, Rsr, Lrs, Rrs | L, R, Lw, Rw, Lss, Rss, Lsr, Rsr, Lrs, Rrs, C, LFE |
Heights for immersive (X.1.Z) layouts — appended after the mains+LFE block in the order shown below. Combine with any base order above (e.g. SMPTE 7.1.4 = the SMPTE row for 7.1 followed by the .4 heights below).
| Heights | Order (long names) | Short form |
|---|---|---|
| .2 | Left Top Middle, Right Top Middle | Ltm, Rtm |
| .4 | Left Top Front, Right Top Front, Left Top Rear, Right Top Rear | Ltf, Rtf, Ltr, Rtr |
| .5 (Auro 12.1 / 14.1) | Left Top Front, Right Top Front, Voice of God, Left Top Rear, Right Top Rear | Ltf, Rtf, VoG, Ltr, Rtr |
| .6 | Left Top Front, Right Top Front, Left Top Middle, Right Top Middle, Left Top Rear, Right Top Rear | Ltf, Rtf, Ltm, Rtm, Ltr, Rtr |
Tip: The fuzzy-matching pass for Use Defaults reads your channel names from Step 4 and tries to match them to these roles automatically (e.g. FL → Left, SL → Left Surround, Lts → Left Top Middle). If you keep names close to one of these conventions, defaults will place each speaker correctly on the first try.
Step 11: Microphone Placement
The wizard includes a 9-slide illustrated guide. Key points:
- Start at the center — Place the mic at the exact center of your main listening position (where your head normally sits). This is the most important measurement point.
- Expand symmetrically — Move the mic left, right, forward, backward, and diagonally. Space positions roughly 5–15 cm apart. The averaged center of all positions becomes your acoustic focal point.
- Position count for calibration — The goal is at least max (30, twice the number of enabled speakers) cumulative “position score.” Until you have 30 primary (main listener) positions, only primaries contribute to that score. After 30 primaries, both primary and secondary/client positions contribute. The measurement page shows progress ÷ required using that rule (required updates if outputs change). You can save and upload with less; the measurement is marked incomplete until satisfied (e.g. resume later).
- Cover your listening area — Spread positions across everywhere you (or listeners) might sit or move, plus a little further out.
- Vary the height — Include measurements at multiple heights to account for posture changes and listeners of different stature.
- Client positions (optional) — Record all main listener positions first. Then switch the toggle on the measurement page to "Client Position" and measure secondary seating. Once switched, you cannot go back. Client positions do not influence the acoustic center calculation.
- Mic stand setup — Always use a mic stand. Slide the mic as far up the clip as possible so the diaphragm is as far from the clip and stand as you can get it.
- Subwoofer crossover — Keep the settings you made before the nearfield step: crossover at the highest frequency, phase 0°, normal polarity (invert off). Perfect Soup will apply the correct crossover, phase, and polarity for you automatically.
- Mic orientation — For stereo, point the mic towards the phantom center between your speakers (use the 0° calibration file). For surround, point the mic straight up at the ceiling (use the 90° calibration file).
- Stay clear during measurement — After pressing Record, the pre-sweep delay gives you time to move out of the speaker-to-mic path. Sit somewhere off to the side and stay quiet.
- Noise = abort and redo — If noise occurs during a sweep, press Abort Sweep. Interrupted sweeps are automatically discarded. Then record that position again.
Step 12: Measurement
- Position type toggle — Set to Main Listener (default) or Client Position. Record all main positions first.
- Layout preview — As positions accumulate, a live map card shows your decoded speaker layout and every already-measured position (numbered circles), in top view — plus a side view when height speakers exist. Locate mic (live) tracks the microphone’s current position on the map so you can see where you are before recording.
- Automatic noise protection — Each speaker is swept more than once and the sweeps are compared. If background noise makes them disagree, the wizard quietly sweeps that speaker again, up to six sweeps in total, and combines the sweeps in a way that resists noise. If the limit is reached it keeps the best combined result and moves on — you do not have to do anything.
- Pre-sweep delay — Adjustable (default 7 seconds). Time before the sweep starts so you can move away.
- Auto next — Optional. After each successful sweep, plays a short cue tone, then starts the pre-sweep delay for the next position. If you have never changed the pre-sweep delay from its default, turning Auto next on sets the delay to 10 seconds; if you have already chosen a delay, it is left unchanged. LFE groups are identified by type in the wizard, not by name. Leaving the Measurement step or Abort Sweep cancels pending auto-next steps.
- Record Position — Starts a measurement sweep for the current mic position.
- Input Level — Live microphone meter under the record controls (same style as earlier mic steps). Use it to confirm signal before you press Record.
- Abort Sweep — Cancels the current sweep. The interrupted data is discarded automatically.
- Position log — Shows each recorded position and whether it was a main or client measurement, plus a progress / required line (primaries-only toward the goal until 30 mains, then mains + client rounds both count; required = max 30 or twice enabled speakers).
- Keep the room quiet during sweeps.
Step 13: Upload Results
- Give the measurement a name (e.g. "Studio A — March 2026")
- Calibration name — Optional on this step (measurement upload). The field starts with the default UTC timestamp pattern (the same format the cloud uses when no custom name is provided). Edit it, or clear it to have the cloud set the name from the calibration job time.
- Calibration microphone (optional) — When you can enter mic gain (dB) for a digitally controlled preamp, you can also enter a short label for your reference mic (for example model and serial). It is stored in the measurement and shown on resume/fork pre-flight when present.
- If you continue without enough positions, the button reads Save: files upload, the measurement is stored, but GPU calibration does not start until requirements are met. The Saving Progress dialog explains this and strongly encourages finishing all positions in one go. If your audio interface does not use digitally controlled gain, leave the preamp gain knob exactly where it is when you pause or resume.
- Upload progress is shown; then the server processes the calibration when eligible.
Step 14: Complete
When complete, the calibration is ready.
Create from Existing Flow
- Select a previous measurement from the list (incomplete measurements appear with an Incomplete badge). If you tap an incomplete one, the wizard offers to open the Resume flow for that measurement so you can finish it, then create a calibration later. If you go Back to the list afterward, choosing a completed measurement continues normal create-from-existing for that measurement.
- Speaker groups start empty; speaker names and layout flags still come from the measurement. If you already have a completed calibration for that measurement, a Copy group layout from a previous calibration control appears so you can reuse it; otherwise use Use Defaults or Create Group and edit as needed
- On “Name your calibration,” the field is pre-filled with the default UTC timestamp pattern; edit freely or clear it to let the cloud set the exact time when you queue the job
- Create a new calibration profile from that measurement once position requirements are satisfied
Calibration Loader Plugin
The Calibration Loader plugin applies room correction in your DAW. Calibration profiles are automatically synced from the cloud after processing completes.
Plugin Formats
- VST3 — Most DAWs (Ableton, Cubase, Logic, etc.)
- AU — Logic Pro, GarageBand, and other AU hosts (macOS)
- AAX — Pro Tools
Loader versions: dynamic, 16x16, 32x32 and 64x64
The installer adds four versions of the Calibration Loader. They load the same calibrations and process audio the same way; they only differ in how they present their inputs and outputs to your DAW. Each has its own plugin ID, so they can be installed and used side by side.
- Umami Calibration Loader — dynamic inputs and outputs: the channel count follows the width of the track or bus the plugin is on (see Plugin inputs and outputs). Use this version in any DAW with multichannel tracks, such as REAPER, Cubase, Nuendo, Logic Pro and Pro Tools.
- Umami Calibration Loader 16x16 — 8 stereo inputs (In 1-2 to In 15-16) and 8 stereo outputs (Out 1-2 to Out 15-16).
- Umami Calibration Loader 32x32 — 16 stereo inputs (In 1-2 to In 31-32) and 16 stereo outputs (Out 1-2 to Out 31-32).
- Umami Calibration Loader 64x64 — 32 stereo inputs (In 1-2 to In 63-64) and 32 stereo outputs (Out 1-2 to Out 63-64).
The fixed versions come as VST3, AU and CLAP (and LV2 where the dynamic version has it), but not AAX: Pro Tools already gives the dynamic version multichannel tracks.
In the fixed versions, input and output numbers mean the same as in the dynamic version: In 1-2 carries inputs 1 and 2, Out 3-4 carries outputs 3 and 4, and so on.
A fixed version only loads calibrations that fit its channel count: one input per speaker group and one output per speaker. If a calibration needs more, the plugin keeps it unloaded and tells you which version to use instead — a larger fixed version if one fits, otherwise the dynamic version. Calibrations with more than 64 inputs or outputs need the dynamic version.
Ableton Live — Live’s tracks are stereo, so use one of the fixed versions. Pick the one with the smallest I/O count that covers your number of speaker outputs: 16x16 for up to 16 outputs, 32x32 for up to 32. Live can feed at most 4 input channels into the plugin (the track’s stereo input plus one stereo sidechain), but it can take up to 32 output channels from it, so in Live your calibration can have at most 4 speaker groups.
Switching between speaker systems (Monitor A / Monitor B) — Because a fixed version’s outputs never move, each output always feeds the same connector on your audio interface, whichever calibration is loaded. That lets you use snapshots as a monitor switch. For example, with your main monitors on interface outputs 1–2 and a second pair on outputs 3–4:
- Calibrate each system with the Calibration Wizard, with the speakers connected to the interface outputs they will use.
- Route every output of the plugin to the interface output with the same number, once, in your DAW.
- Load the first system’s calibration and save it to a snapshot (for example Monitor A), then do the same for the second system (Monitor B).
Recalling a snapshot then switches speaker systems: the recalled calibration plays through its own outputs, and outputs it does not use stay silent. The DAW routing never has to change. (Bypass is different. With the plugin bypassed, each speaker group plays unprocessed through its main speaker, LFE through the subs, and outputs the calibration does not use pass the input with the same number. While Auto-bypass during rendering is on during an offline render, every input passes straight to the output with the same number.) Each calibration must fit the version you use. A snapshot also recalls that system’s EQ, and by default its volume, so each system comes back at the level you saved it at.
Software updates
The Calibration Wizard and Calibration Loader check in the background whether a newer public build is available (compared to the installer version published on umamiaudio.com/download). When an update is listed, use the on-screen control to open the download page and install the latest package.
Plugin Interface
The plugin window is resizable; minimum height is 720 px (layout is designed for at least that vertical space).
Configuration
- Calibration selector — Choose from your available calibration profiles (automatically synced from the cloud)
- No configuration loaded / filename — Shows the currently active calibration
Volume
- Volume slider — Master output level. Drag to adjust, or use the scroll wheel while hovering. Scroll speed is adaptive: slow scrolling gives fine control, fast scrolling makes larger jumps. Hold Shift to halve each wheel step without going below the usual minimum fine tick.
- dB display — Shows the current level in dB. Drag up/down for continuous adjustment (hold Shift for finer scrubbing, about quarter speed). Click to edit: after a short delay the field clears so you can type (double-click still resets immediately). If you leave the field empty or invalid, the previous value returns. Double-click the slider or dB display to reset to 0 dB. Also responds to the scroll wheel.
Dim
- DIM button — Momentary output attenuation for quick reference checks.
- Dim amount (Settings > Audio) — Sets the attenuation level when DIM is active. Drag up/down (Shift for finer scrubbing, about quarter speed), scroll wheel (Shift slows steps without dropping below the minimum fine tick), or type a value. Single-click edit uses the same delayed clear as other numeric fields; double-click resets to −30 dB.
EQ (input)
- Graphic curve — Drag nodes to adjust frequency and gain (peaking and shelves). Hold Shift while dragging for finer moves (about quarter speed). Hold Ctrl (Windows/Linux) or Control (macOS) to adjust gain only; hold Alt / Option for frequency only. You can combine Ctrl or Alt with Shift (e.g. slow gain-only tweak). With both Ctrl and Alt held, dragging does not move the node. Shift + scroll wheel on a node adjusts Q (0.1–50). Double-click a node to reset that band. Low cut and high cut bands use a triangular marker on the 0 dB line; drag horizontally for cutoff.
- Toolbar — dB range sets the vertical scale of the graph (±6–±30 dB, similar to common graphic EQs). Per-band gain is still up to ±18 dB. Reset all bands restores the default frequency layout and flat response.
- Active band — The summary strip under the toolbar shows type, frequency, note name, gain, Q, and slope for the selected node or band.
- Band editor — Each band has Off/On, type (Peak, Low shelf, High shelf, Low cut, High cut), frequency with note readout, gain (±18 dB; N/A for cuts), Q, and slope. All numeric fields: drag vertically (Shift = slow), wheel with Shift-scaled steps. Gain and Q use a short delayed single-click clear before typing so a slow double-click can still reset (gain to 0 dB, Q to 1). Frequency, note, and slope clear for typing on the next frame after a single click and have no double-click default. For cuts, rolloff is set in dB/oct (step depends on the filter Shape: Butterworth/Bessel/uniform‑Q cascades snap in 6 dB/oct steps; Linkwitz–Riley snaps in 12 dB/oct steps for even total orders—from LR2 (12 dB/oct) upward).
- ALL vs extra tabs — The ALL chain applies to every input. Right-click ALL for Bypass / Enable: when bypassed, ALL-band EQ and ALL-tab EQ gain are skipped on the wire (safe-headroom peak math still includes the ALL curve, same idea as bypassed extra tabs). The Target tab is always present (after ALL): use it for listening-target preset curves; it defaults to routing those bands to every input group (toggle groups in the gear menu like other extra tabs). Additional numbered tabs (via +) can target selected groups only; together with Target you can have up to eight extra EQ chains (matching the DSP). Side-panel EQ gain fields use the same numeric gestures as the band strip (drag, Shift-slow wheel, delayed click-to-type, double-click to 0 dB).
- Target tab (right-click) — Bypass / Enable toggles that chain like other tabs. Below that, a preset row (Target - Dolby Atmos Music) loads a coarse parametric EQ starting point into this tab—not exact standard compliance; choosing it focuses the Target tab and sets its title to Target -- Dolby Atmos Music. The tab cannot be removed or manually renamed.
- Numbered EQ tab (right-click) — Bypass removes that tab from the audio path; Enable brings it back when it is already bypassed. The bypassed tab label and (when that tab is selected) the graph and band strip look muted, but you can still edit settings. The menu stays at normal contrast. Safe headroom still uses the full combined curve (including bypassed tabs) for its peak estimate, so the trim does not change when you A/B a tab.
- Add tab + — Adds another numbered EQ tab (left-click only), until the extra-chain limit is reached.
- Safe headroom (ALL tab) — When enabled, after the full EQ for each input (ALL bands, master gain, and any extra-tab EQ/gain routed to that input), the plugin applies a gain reduction equal to the maximum combined boost in dB found across inputs and frequencies. That keeps the worst-case peak from exceeding digital full scale when EQ stacks boosts; if nothing goes above 0 dB relative to unity, no trim is applied.
- LFE gain and MUTE LFE (ALL tab) — Shown when the loaded calibration includes an LFE input channel. LFE gain is a ±12 dB trim on that channel only (0 dB = unity), always included in safe-headroom math; same numeric gestures as other gain fields (drag, wheel, delayed click-to-type, double-click to 0 dB). MUTE LFE only silences that channel’s audio after the trim (same control styling as DIM).
Bypass
- Bypass — Disable processing (pass-through)
License selection
- If you are signed in but have not selected an active license yet, opening the Calibration Loader brings Settings forward with other sections de-emphasized so the License block is easy to find.
- License tiers in the list use the same names as on the website (for example, Project Studio, Platinum Studio, Perfect Soup), with group and support limits spelled out (for example, “6 groups / 6 support”).
Auto Bypass when Rendering
- Auto Bypass when Rendering — Automatically true-bypasses the plugin (input = output, no processing at all) when the DAW is performing an offline render or bounce. This prevents your room-specific calibration from being baked into rendered audio files. Enabled by default.
- Found in Settings > Audio.
- This feature only works with offline/non-realtime renders. Realtime bounces are not detected — disable calibration manually if your DAW uses realtime rendering.
- DAW compatibility:
- Not available in Ableton Live — Ableton does not report offline rendering state to VST3 plugins. The option is hidden in the plugin when running inside Live.
- FL Studio — Enable “Notify about rendering mode” in the plugin’s VST wrapper settings (gear icon on the plugin slot).
- Reaper — Enable “Inform plugins of offline rendering” in Preferences > Audio > Buffering.
- Cubase, Logic, Pro Tools, Studio One — Works automatically.
Meters
- IN / OUT meters — Show peak levels per channel. By default, only channels defined by the loaded calibration are shown, with labels taken from the group names stored in the calibration. You can click an IN or OUT meter label to rename it; those renames are saved with the DAW project only and are not written back into the calibration file.
- Show extra channels in meter — When enabled (Settings > Audio), the meters also display any additional input/output channels from the DAW that are not part of the calibration. These extra channels are labeled “Input 1”, “Input 2”, etc. for inputs and “Output 1”, “Output 2”, etc. for outputs.
Usage
- Insert the plugin on your monitor bus or output
- Sign in with your Umami Audio account
- Select your calibration profile (automatically available after cloud processing)
- Adjust volume if needed
- Use Bypass to compare with/without calibration
Umami Knob
The Umami Knob is a desk controller for the Calibration Loader: a round touch screen with a dial around it, powered over USB. Turning the dial moves the loader’s volume, and the screen shows what the loader is doing. It reaches the plugin through the Umami Knob Helper, a small background app installed with the plugin on Windows, macOS and Linux; leave it running (the installer offers to start it at sign-in).
Pairing
Over USB. Plug the knob into the computer with a USB cable. The knob shows Pair from plugin until a computer claims it; open the loader’s Settings > Audio, where an Umami Knob row reports the helper and link status and a Pair this knob? prompt appears with Pair and Ignore. Once paired, the knob follows that computer over USB, Bluetooth or Wi-Fi.
Over Bluetooth. The knob pairs like any other Bluetooth device, from your computer’s own settings rather than from the loader. On the knob, open Menu > Connection > Bluetooth and leave that page up — the knob is discoverable only while it is showing. Then add the knob from your computer’s Bluetooth settings and type the number the knob puts on the glass. It joins the loader on its own once the bond is made; nothing has to be confirmed in the plugin. A knob belongs to one computer at a time: bonding it to a second computer that runs the loader makes it drop its pairing with the first, so switch computers with Forget host on the knob first, or pair it again afterwards. On a Mac the knob is never listed in System Settings and macOS raises the prompt itself, so open Settings > Audio > Pair a knob wirelessly in the loader, leave the code box empty, click Pair, and type the number when your Mac asks.
Over Wi-Fi. On the knob, open Menu > Connection > Wi-Fi Pair Code: the screen shows four digits for two minutes, and swiping leaves it and stops pairing. In the loader, open Settings > Audio > Pair a knob wirelessly, type those four digits and click Pair — that is the whole confirmation. The knob and the computer have to be on the same network. Each code is good for one attempt and each visit to the screen shows a new one, so after a failed try read the number that is on the glass now; if it still shows the same code, swipe out of Wi-Fi Pair Code and open it again. A knob that already belongs to a computer does not offer Wi-Fi Pair Code; use Forget host on its main menu first.
One knob per connection. Each connection carries one knob at a time, so a second knob joins over a connection the first one is not using — plug it in over USB, or pair it over Wi-Fi, while the first is on Bluetooth. Two knobs cannot both be on Bluetooth, and two knobs cannot both be on Wi-Fi.
- Controlled by knob — When more than one loader is open, this chooses which one the knob drives.
- Forget (on a knob’s row) — Drops this computer’s pairing for that knob alone. Click it twice; the second click says what will happen next, because it differs by connection. Over USB the knob asks to pair again within a second, so click Ignore or unplug it. Over Bluetooth the knob drops the link and a new bond is needed, so remove it from your computer’s Bluetooth settings before adding it again. Over Wi-Fi the knob shows Pair from plugin until it reconnects. A knob that is not connected at the time keeps its pairing until the next time it connects, and drops it then.
- Forget paired knob (plugin, older helpers only) — Clears this computer’s pairing, then accepts one knob over USB for 60 seconds. It is replaced by the per-knob Forget above as soon as the list is available.
- Forget host (knob menu) — The same thing from the knob’s side.
Choosing which knob
Once this computer is paired to a knob, Settings > Audio lists the knobs it is paired to under Paired knobs. Each row is named Knob · plus four characters — the last four of the address the knob shows on its Menu > About page, in capitals here and lower case there — so two knobs on one desk are told apart by something printed on the knob itself. The list says which knob is Active, the one whose dial moves this loader’s volume, and which are Connected but idle. Click any other knob to hand it the dial, or use that row’s Use this knob button if you are working from the keyboard; the change takes effect immediately and neither knob has to be unplugged or re-paired. The status line above the list always describes the active knob, so it can read No knob connected while another knob in the list shows Connected.
Home screen
Turn the dial to change the loader’s volume. Steps land on a 0.5 dB grid, and a fast spin moves further per detent (up to 6 dB), the same feel as the plugin’s scroll wheel. The number in the middle is the current level; a word above it says what the link is doing (for example Inactive, No loader open, No loader chosen, BYPASSED).
- Ring — Fills from the loader’s floor up to its ceiling. With the gain limit on, a full ring is 0 dB. With the limit off, the whole scale rescales inside the same sweep: unity moves inward to about a fifth of the way round, and the region above it is drawn in its own colour.
- MUTE, DIM and BYPASS — Tap to toggle. They appear only when the loader offers them. The bypass pill reads BYP, and all three stay on screen and tappable while the loader is bypassed, so you can put it back in circuit from the knob.
- Snapshot pills — Up to four, shown only when the loader offers snapshots. Tap one to recall it.
- Swipe up — Opens the menu. This is the only way off the home screen; a tap never travels far enough to count as a swipe, so nothing is triggered by accident.
Menu
In the menu, swipe up or down to move through the rows, and swipe left or right to go back — either direction, because a round screen has no edge to start from. Swiping down on the top row closes the menu. Tap a row to open it. Anything that erases something asks first, in a small dialog with the action spelled out on its own button.
- Connection — Transport, host and link status, pages for Bluetooth and Wi-Fi, and Wi-Fi Pair Code while the knob is unpaired.
- Display — Rotation, brightness, dim brightness, and the four idle delays.
- Layout — Chooses between the two home screens. Layout A has the ring and numbered snapshot pills; Layout B has no ring, and its wider pills carry each snapshot’s name.
- SPL meter — On units with a microphone.
- About — Firmware and device.
- Touch test — Draws where you touch and names the gesture it saw. A long press fires a haptic click. Turn the dial a couple of full turns to leave.
- Forget host — Asks Forget host? with Back and Forget.
- Factory reset — Asks Factory reset? with Cancel and Reset. Reset must be held down; a bar fills while you hold it and the knob clicks when the reset takes. Letting go early cancels.
Bluetooth
The knob is discoverable only while this page is open, so it does not sit in every phone’s Bluetooth list. Open Connection > Bluetooth on the knob, leave the page up, then add the knob from the computer’s own Bluetooth settings; during pairing the screen shows a number to type on the computer. After pairing, the knob reconnects to that computer by itself and stays invisible to everyone else. The Status row reads Off when Bluetooth is off, Disconnected when it is on but nothing is connected, Discoverable while this page is holding it on the air, Connecting and then Connected as a computer attaches, and Paired once the loader is talking to it.
Wi-Fi
Open Connection > Wi-Fi > Join network… and pick your network from the list. The knob is 2.4 GHz only, so 5 GHz networks are not listed; if nothing is found, use Scan again, or Enter name… for a network that does not broadcast its name.
- Type the password on the on-screen keyboard: a single tap enters a character, the eye shows or hides what you typed, DEL deletes, and the left pill switches between lower case, upper case and symbols. Passwords must be at least eight characters. The screen still dims if you pause, but it stays on the keyboard with what you typed.
- Tap JOIN. The screen shows Connecting, then Connected, and returns to the home screen after three seconds.
- Incorrect password returns you to the network list on any tap or swipe; tap the network again to retry.
- Swiping while typing asks Cancel Join?, with Back to keep typing and Cancel Join to discard it.
- Forget network on the Wi-Fi page removes the stored network. It asks Forget network? first, with Back and Forget.
SPL meter
Shows the level in the room, with A, C or K weighting and a FAST or SLOW response. The reading is marked Uncalibrated until the unit has been through the bench calibration, and that is literal: use an uncalibrated meter for comparisons rather than absolute numbers. A calibrated unit shows Calibrated and the date instead. The dial does nothing here; swipe in any direction to leave.
Screen and power
- On USB — The screen dims after 30 seconds of no input and stays readable; it never goes fully off.
- On battery (units with a cell fitted) — It dims after 20 seconds and the backlight goes off after 60. The first tap after that only wakes the knob and selects nothing, deliberately, so waking it cannot change your monitoring level.
- Auto power off — After five hours with no input on battery the knob switches itself off completely, radios included. Turn the dial to start it again; it takes a couple of seconds to come back and reconnect. The delay is the Auto power off row on the Display page, from 15 minutes to 18 hours, or never. It does not apply on USB.
- Battery empty — When the cell has sat below 3.3 V for 30 seconds the screen says Battery empty for two seconds and the knob switches itself off to protect the cell. Plug it in to charge. Turning the dial while the cell is still empty shows the message again and switches off after a few seconds.
- Any turn or touch wakes the screen. All five delays and both brightness levels are on the Display page, where a delay can also be set to never.
Perfect Soup Desktop
Perfect Soup Desktop is a system-wide home for the Calibration Loader. It takes the sound your computer plays (and, if you like, a hardware input), runs it through one Calibration Loader, and sends the result to the output device you choose. Every app on the computer — a browser, a music player, a video call, a game — is corrected, with no DAW involved.
- Use Perfect Soup Desktop when you want everything the computer plays to go through your calibration: everyday listening, streaming, films, and apps that have no plugin slot.
- Use the plugin in your DAW when the DAW is where you work: the Loader sits on your monitor bus, is saved with the project, and can bypass itself for offline renders (see Calibration Loader Plugin).
Don’t correct the same audio twice. If a DAW with the Calibration Loader on its monitor bus plays out through the device Perfect Soup Desktop is correcting, that sound goes through both. Turn one of them off (Perfect Soup Desktop’s Enabled switch is under Settings > Processing and in its tray menu), or send the DAW to a different output.
Installing
Perfect Soup Desktop comes with the same Perfect Soup installer as the Wizard and the plugins.
- Windows — Choose Custom installation and tick Perfect Soup Desktop (system-wide calibration); it is unchecked by default. It needs Windows 11 22H2 (build 22621) or newer: on older Windows the option is greyed out and labelled (Requires Windows 11 22H2). Setup installs the app and registers its audio effect (an APO, the kind of effect Windows runs inside its audio engine for an output device), but does not put the effect on any device yet. The first time, choose your output device in Settings; that installs the insert (see Audio path). With the option ticked, setup starts Perfect Soup Desktop in the tray right away and sets it to start when you sign in.
- macOS — In the installer’s Customize step, select Perfect Soup Desktop; it is unselected by default. It installs into
/Applicationswith a login item, so it starts in the menu bar straight away and at every sign-in. The first time it captures system audio, macOS asks for permission to record system audio (Screen & System Audio Recording); allow it. - Linux — Perfect Soup Desktop is part of the
.debpackage (the program isperfect-soup-desktop, with a menu entry). It needs PipeWire 0.3.48 or later as the audio server. The package depends on the PipeWire library, version 0.3.48 or later, under either of its package names:libpipewire-0.3-0t64on Ubuntu 24.04-based systems (such as Linux Mint 22), orlibpipewire-0.3-0on 22.04-based ones. It also recommends PipeWire 0.3.48 or newer with WirePlumber (or pipewire-media-session):pipewire (>= 0.3.48)andwireplumber | pipewire-media-session. It never starts by itself: open it from the menu, and turn on Start on login in its Settings if you want it at every sign-in. While it runs, it adds a virtual PipeWire output and makes that the default output; your previous default comes back when it quits.
The window
The window has three tabs along the top:
- Perfect Soup — The Calibration Loader itself, with the same interface as the plugin: sign in, choose your calibration, and use volume, DIM, EQ and the meters as described under Plugin Interface.
- Routing — Which sources feed the Loader, and which Loader outputs reach which output channels (see Routing).
- Settings — The audio path (where the sound comes from and where it plays), hardware input, processing on/off, startup, updates and MIDI control (see Settings and MIDI control).
At the right end of the bar, on every tab, a Learn button teaches a MIDI controller to drive the Loader (see MIDI control).
Closing the window keeps Perfect Soup Desktop running in the tray (the menu bar on macOS), so the correction carries on. The tray icon’s menu has Show Perfect Soup Desktop (it opens on the Perfect Soup tab), Enabled and Quit. Quit it from the tray icon.
Along the bottom of the Routing and Settings tabs, a status strip always shows what the audio engine is doing (see Status strip).
Settings
Audio path
The Audio path card says where the sound comes from, and where the corrected sound plays. Choose the mode first; under the chosen mode the card shows only that mode’s own fields.
| Mode | Audio in | Audio out | Fields |
|---|---|---|---|
| APO insert (Windows, recommended) | The insert on the chosen device | The same device | Device (Windows Audio devices only), the insert status and buttons, Sample rate, Output ring depth |
| ASIO output (Windows) | The insert on the Audio in device, which then plays silence | All outputs of an ASIO interface | Audio in, the insert status and buttons, ASIO interface, ASIO control panel, the rate line |
| Capture device (Windows) | A capture device, such as a virtual cable | Any output device except the Windows default | Capture device, Output device, Sample rate, Buffer size |
| System audio (macOS tap) | Everything the Mac plays | Any output | Output device, Sample rate, Buffer size |
| PipeWire virtual output (Linux) | A PipeWire virtual output | Any output | Output device, Buffer size |
| Off | None: a hardware input only (Windows and macOS) | The output device | Output device (a hardware input still needs somewhere to play) |
The shared fields work the same in every mode that shows them. Changing any of them restarts the audio engine; the card shows Restarting the audio engine… for a moment.
- Device / Output device — The first entry, System Default (device), names your system’s current default output and follows it when the default changes (on Windows, the Windows default output). Or choose a specific device. In APO insert mode the field is called Device, because it is both the audio in and the audio out; only a shared-mode Windows Audio device can carry the insert.
- Sample rate and Buffer size — Device default, or a fixed value; each buffer size is listed in frames and milliseconds.
- Output ring depth (APO insert) — 1 period, 2 periods or 3 periods. The default is 2 periods. Raise to 3 if the underrun counter climbs; lower to 1 for the least latency. Each step adds one period of latency.
Windows — APO insert. One device is both the audio in and the audio out. Perfect Soup Desktop inserts its audio effect on the chosen device, so it processes everything the device plays, with the lowest latency.
- The first time, the mode is already APO insert with System Default, but nothing is installed yet: the card shows Insert missing with Install. Choose your device in Settings; that installs the insert.
- The insert installs itself. When you choose a device (in ASIO output mode, the Audio in device), or switch the mode to APO insert or ASIO output while the chosen device has no insert, Perfect Soup Desktop installs the insert on that device and shows Installing the insert…. Windows asks for administrator permission, and the audio service then restarts, which can take about 30 seconds. Windows asks for every insert action: install (automatic or Install), Retry install, Repair, Replace the device’s own effect, Enable audio enhancements and Remove.
- If the install does not go through, the status strip shows Insert missing and the card gives the reason once, with a Retry install button. If you declined the Windows permission prompt, that reason is “Windows asked for permission and it was declined.” Press Retry install to try again. Nothing retries behind your back: only the button, a new device choice, or switching the mode to APO insert tries again.
- Once the insert is in place, the card reads Active on device. With nothing playing it reads “Installed on device. Idle: nothing is playing through it right now.” — that is normal.
These situations show their own note or button on the card. The first two need your decision, so the insert is not installed automatically:
- Another vendor’s effect occupies the slot — The status strip shows Insert slot in use with Review. The card explains that the device’s manufacturer effect can be replaced while Perfect Soup Desktop runs and is put back when you remove the insert, and that it may include speaker protection or tuning your speakers rely on. Press Replace the device’s own effect only if you are sure you do not need it.
- Windows “Audio enhancements” are off for the device — Windows then bypasses every effect on it, this one included. The strip shows Audio enhancements are off, so the insert is bypassed with Review; the card asks whether to turn them on, with Enable audio enhancements.
- An old effect was found — “An old, uninstalled effect was found in the slot; it will be replaced.” Nothing to decide: the insert is installed over it automatically, like any other install.
- An insert on a device you no longer use — Choosing a different device leaves the insert on the previously chosen one where it is (removing it needs administrator permission, so it never happens silently), though nothing uses it any more. To take it off, choose that device again and press Remove. In APO insert mode, Remove switches the mode to Capture device (if one is set) or Off, so finish by choosing APO insert and your current device again; if that device has no insert, it is installed automatically.
The card also offers Repair when the insert is installed but not processing audio, and Remove whenever the chosen device carries the insert (or a saved backup of its slot). Remove puts back what was in the slot before. While an action runs, the buttons are disabled and the card reads “Working. Windows may ask for permission, and the audio service restarts, which can take about 30 seconds.”
Windows — ASIO output. Audio in from a Windows device, playback through an ASIO interface with all its outputs. Use it when your speakers are on an ASIO interface with more outputs than the Windows device apps play to (for example, apps play stereo and the corrected sound feeds a multi-channel interface).
- Audio in — The Windows Audio device apps play to (System Default follows the Windows default). Perfect Soup Desktop puts its insert on this device, exactly as in APO insert mode (the same status, buttons and automatic install), and takes the sound from there. While the ASIO interface is actually playing, this device plays silence, so the room is fed by the ASIO outputs only. Whenever ASIO is not playing — Perfect Soup Desktop is stopped or quit, it refuses to start, it is waiting for audio, or the ASIO driver has stalled or been unplugged — the device plays normally, unmuted and uncorrected; after a stall the status strip’s mode line ends “–– ASIO not running: the Windows device plays unmuted”.
- ASIO interface — The interface that plays the corrected sound; all its outputs appear as columns on the Routing tab’s Output grid, so you route several outputs there as usual. The ASIO interface is the clock for everything. Its buffer size is the driver’s own: while the interface is running, ASIO control panel opens the driver’s panel, and the engine restarts afterwards if the driver changed something. (The button works only while the ASIO interface is running.)
- Rates must match. The Windows device and the ASIO interface must run at the same sample rate. Perfect Soup Desktop opens the ASIO driver at the Windows device’s rate whenever the driver allows it (re-clocking the interface), so the Windows device’s rate is the one that decides, and a DAW that has the same driver open may see its sample rate change. It never runs the interface at a fallback rate: if the driver cannot run at the Windows device’s rate, Perfect Soup Desktop does not start and the rate line says why in one line, for example “Windows plays device at 48 kHz but the ASIO device interface runs at 44.1 kHz. Set both to the same rate.” To fix it, change the Windows device’s rate in Windows Sound settings (the device’s Properties > Advanced), or the interface’s rate in its manufacturer’s own control panel or utility; ASIO control panel is not available while the engine is stopped. Perfect Soup Desktop starts by itself once the rates match: while something is playing, right away; when nothing is playing, within about half a minute. When both match, the line reads “Audio in and ASIO at 48 kHz.” (with your rate).
- Until you choose an interface, the engine does not start and says “Choose an ASIO output device for this mode.”
- While processing is off, the Audio in device stays silent and its channels go straight to the ASIO outputs: channel 1 to ASIO output 1, and so on.
Windows — Capture device. Audio in from a capture device (a virtual cable), playback on any output; the fallback when the insert cannot be used. Set Windows to play into a capture device (for example a virtual cable), choose it under Capture device, and Perfect Soup Desktop picks the sound up from it and plays it to the Output device. In this mode choose a specific output device (capture mode never plays to “the default”), and it must not be the Windows default output: system audio would loop back through the capture device, so Perfect Soup Desktop refuses that combination and says why. While processing is off, the capture device’s sound passes to the output speaker for speaker (front left to front left, and so on; back and side surrounds count as the same pair), with no downmix: speakers the output device does not have are not heard. If the two channel layouts cannot be matched at all, channels pass by position instead.
Windows — Off. No system audio; only a hardware input plays, to the Output device.
macOS — System audio (macOS tap). Needs macOS 14.4 or later. macOS asks for permission to record system audio the first time. If you declined, allow Perfect Soup Desktop under System Settings > Privacy & Security > Screen & System Audio Recording; the Open Privacy Settings button takes you there. On an older macOS the engine runs without system audio (a hardware input still works), and the status strip says why. Off plays only a hardware input.
Linux — PipeWire virtual output. Requires PipeWire 0.3.48+ as the audio server. Perfect Soup Desktop adds a virtual output and makes it the default while it runs, so everything you play is processed. Your previous default comes back when it quits. There is no sample rate choice in this mode.
Hardware input
A microphone or line input mixed in alongside system audio (Windows and macOS). Turn on Use a hardware input and choose the Input device; its channels join the routing grid.
- In ASIO output mode, choosing the ASIO interface itself as the input device uses that interface’s own inputs; any other choice is a Windows input device.
- A newly chosen hardware input or capture device starts unrouted. It stays silent until you route it on the Routing tab; until then its card says “A new input starts unrouted. Route it on the Routing page.” with an Open Routing button.
- On Windows in APO insert mode (not in ASIO output mode, where the Audio in device is not held open for a hardware input; there, after a sample-rate refusal, Perfect Soup Desktop may hold it open for a few seconds to read its current rate), Perfect Soup Desktop keeps the output awake while a hardware input is turned on (Use a hardware input), whether processing is on or off, and briefly while the insert starts, so the PC will not sleep automatically. The card and the status strip (Output kept awake) say so while it does.
Processing, Startup and Updates
- Enabled (Processing) — On by default. When off, Perfect Soup Desktop passes sound through untouched: no correction, no routing, no delay, and no hardware input is mixed in. The Loader is not used while processing is off (its meters on the Perfect Soup tab stop); the audio engine and the Windows insert (or the macOS tap or Linux virtual output) keep running, so switching back on is quick: processing resumes once the Loader has caught up (its latency plus its filter length, usually well under a second), then fades in over 5 ms. With System audio set to Off there is no source, so nothing plays at all while processing is off. The status strip reads Disabled, and the Routing tab shows “Processing is off. Turn it on in Settings.” with an Open Settings button. The tray menu has the same switch. This is different from the Loader’s own Bypass on the Perfect Soup tab, which removes the correction but keeps the Loader’s gain, routing and delay.
- Start on login (Startup) — Starts Perfect Soup Desktop in the tray when you sign in.
- Check for updates (Updates) — Every 6 hours. Nothing downloads on its own: when a newer build is published, the card says so and you get it from umamiaudio.com. Check now checks immediately.
- About — The build and the engine in use.
Routing
The Routing tab has two grids, in signal order from top to bottom. Click a cell to connect or disconnect it; the arrow keys and Space work too.
- Input — Sources to Loader inputs. Rows are source channels, grouped as System audio and Hardware inputs, and each group header has a level meter. Columns are the Loader’s inputs, in the output device’s channel order.
- Output — Loader outputs to the output device’s channels. By default Loader output 1 goes to device channel 1, and so on.
Each grid has Identity (channel n to channel n) and Clear (disconnect everything), and shows how many connections are made. Identity on the Input grid never routes a hardware input; route a microphone by hand. Changes apply immediately and are saved for each output device. While processing is off (Settings > Processing), the Routing tab shows “Processing is off. Turn it on in Settings.” with an Open Settings button; the grids are dimmed but can still be edited.
macOS: system audio is captured only while at least one System row is routed. Un-route them all and system audio plays straight to the output device, uncorrected.
MIDI control
A MIDI controller can drive the Loader in Perfect Soup Desktop: a fader for the volume, buttons for Bypass, Dim and Mute, pads that recall snapshots. You teach it by learning: choose what to control, move a knob, fader or button, check what Perfect Soup Desktop heard, and press OK. From then on that control drives it. The MIDI input and MIDI control cards are on the Settings tab.
These Loader controls can be learned:
- Volume
- Bypass, Dim and Mute
- Recall snapshot 1 to Recall snapshot 16 — Recalls that snapshot on press. An empty snapshot slot does nothing.
The quickest way in is the Learn button at the top right of the window, opposite the tabs. It is there on every tab, including Perfect Soup, and opens a menu with two entries:
- Last Touched (Volume) — Learns the Loader control you changed last (see Learning a control). Until you have changed one, it reads Last Touched (nothing yet) and is greyed out.
- Other Params… — Opens the list of every control that can be learned, each with its current source (for example “CC 7 ch 1 · nanoKONTROL2”) or “Not mapped”. Click one (or select it with the arrow keys and press Enter) to learn it; Cancel closes the list.
Either way, the MIDI learn window opens for that control (see The MIDI learn window). While MIDI is off during a self-test, the button is greyed out.
MIDI input
The MIDI input card lists every MIDI device Perfect Soup Desktop has seen, each with a switch. Enabled devices feed MIDI learn and the mappings. On Windows a newly connected device starts switched off, so switch on the ones Perfect Soup Desktop should listen to; on macOS and Linux it starts switched on. The dot before each name shows its state:
- Open (green) — Connected and listening.
- Not connected (amber) — Enabled but unplugged. It opens again by itself when you plug it back in.
- Error (red) — The device could not be opened; the reason is under its name, for example when another program holds it.
- Closed (grey) — Switched off, or switched on and connected but not open yet. While no control is mapped and Learn is not waiting, every device is closed on purpose and reads “Opens when a control is learned.”
There is no separate choice of device for a mapping: a mapping answers every enabled device, so choose which devices Perfect Soup Desktop listens to by switching them on or off here. The learn window and the Other Params… list show which device a message came from. A device appears here once it is plugged in; with no MIDI device connected, the card says so.
Perfect Soup Desktop opens MIDI devices only while a mapping exists or Learn is waiting. On Windows, a MIDI device that one program has open often cannot be opened by another, so while Perfect Soup Desktop holds it your DAW cannot use it. That is why devices start switched off on Windows. To hand a device back, switch it off here.
A device stays in the list after you unplug it, so its switch is remembered when it comes back. To remove a controller you no longer use, press Forget under its row; the button appears only while the device is not connected. Its mappings stay, because they answer any enabled device, and if you plug it in again it comes back as a new device with its starting switch position (off on Windows, on on macOS and Linux), whatever you had set before you forgot it.
Learning a control
- Press Learn at the top right of the window and choose Last Touched or Other Params… (then the control). On the Settings tab you can instead choose the control under Control on the MIDI control card (controls that are not mapped yet come first; mapped ones say (mapped)) and press Learn there. Both open the same MIDI learn window.
- Move a knob or fader, or press a button or pad, on an enabled device (on Windows, switch the device on under MIDI input first). The window shows what it heard; if you move something else, it shows that instead, because the last message wins.
- Check the Mode and the other options, then press OK. Only OK binds; nothing is learned by itself. The MIDI control card then reads, for example, “Volume learned: CC 7 ch 1.”
While the window is open, the MIDI control card reads “Learning Volume… (in the MIDI learn window)”, then what the window heard, such as “Learning Volume: CC 7 ch 1…”. Its Cancel button closes the window without binding anything. If no device is open (none is switched on, or it is unplugged or could not be opened), the card adds “No MIDI device is open.”
Last Touched is the shortcut: change one of the learnable controls on the Perfect Soup tab (or with an Umami Knob) — move the volume, switch Bypass, Dim or Mute, or recall a snapshot (an empty slot does not count) — and the menu reads Last Touched (Volume), while the card shows “Last touched: Volume” and its Learn last touched button does the same. Other changes, such as an EQ change, do not count.
Each Loader control has one mapping. Learning it again replaces its mapping, and a MIDI control you learn for one thing stops driving anything else; the card says when a learn removed another control’s mapping this way. Learning ignores messages that are not meant as a control: program changes, aftertouch, RPN/NRPN (CC 6, 38 and 96–101), the channel mode messages (CC 120–127) and note-offs (the key release). Volume takes CCs, 14-bit CCs and pitch bend; notes and pads control Bypass, Dim, Mute and snapshot recalls. A note cannot control Volume, and pitch bend controls nothing but Volume.
The MIDI learn window
The window is titled MIDI learn; the heading inside it names the control you are learning, for example Learn: Volume. It stays open until you press OK or Cancel. From top to bottom:
- MIDI input — The last message heard and the device it came from, for example “CC 7 ch 1 · nanoKONTROL2”. Until something arrives it reads “Waiting for a MIDI message… move a knob, fader or button.” If the control is already mapped, a second line shows its current source (“Currently CC 7 ch 1 — move a control to replace it.”). If no device is open, it says “No MIDI device is open.” and to press Cancel and switch one on under Settings > MIDI input.
- Mode — How the message is read. Only the modes that suit this control and this source are offered, with a sensible one chosen for you (see Mappings for the full table):
- Absolute — the control’s position sets the value (a fader, or a knob with end stops).
- Relative 1 (two’s complement) — an endless encoder that sends 1, 2… for up and 127, 126… for down.
- Relative 2 (offset 64) — an endless encoder that sends 65, 66… for up and 63, 62… for down.
- Relative 3 (sign bit) — an endless encoder that sends 1, 2… for up and 65, 66… for down.
- Toggle — each press flips Bypass, Dim or Mute.
- Momentary — on while held, off on release; a snapshot is recalled once per press.
- 14-bit (CC n + CC n+32) — Shown only for CC 0 to CC 31, and not for snapshot recalls. Switch it on only if your controller sends a fine value on the second controller (see 14-bit under Mappings); on Volume it leaves only Absolute.
- Soft takeover — Shown for Volume, and available in Absolute mode (on by default): the control picks the value up only once it passes the current one, so nothing jumps.
- OK — Binds what the window shows, with these options, and closes the window. It stays greyed out until a usable message has arrived.
- Cancel — Closes the window and binds nothing. Escape and the window’s close button do the same.
A source that cannot control the chosen target is shown but refused, with the reason — for example a key pressed while learning Volume reads “Note 60 ch 1 cannot control Volume.”, and Mode and OK stay greyed out. Move a knob or fader instead, or press Cancel.
While the window is open, the control you are teaching does not trigger its old mapping; every other mapped control keeps working.
If the MIDI input line changes just as you press OK, nothing is bound and the window says “The MIDI input changed, check it and press OK again”: read the line, then press OK again.
Mappings
Each mapping is a row in the table: Target (the Loader control), Source (the MIDI control, such as CC 7 ch 1 or Note 60 ch 1), Mode, Soft takeover and Remove. The learn window chooses a sensible mode and you can change it there; change it later in the row if your controller sends something else. The modes offered depend on the control and the source: Volume offers Absolute and the three relative modes on a plain CC, and Absolute only on a 14-bit CC or pitch bend; Bypass, Dim and Mute offer Toggle, Momentary and Absolute on a CC, and Toggle and Momentary on a note; snapshot recalls always use Momentary.
A mapping answers its source (the CC or note number and the channel) on every enabled device, not only the one you learned it from. Two controllers that send the same CC on the same channel both drive it; switch one off under MIDI input to keep it out.
| Mode | What the control sends | What happens |
|---|---|---|
| Absolute | A position, 0–127: a fader or a knob with end stops | Volume follows the control’s position across its whole travel, up to the Loader’s volume ceiling. For Bypass, Dim and Mute, the top half is on and the bottom half off. |
| Relative 1 (two’s complement) | An endless encoder: 1, 2, 3… for up; 127, 126, 125… for down | Volume moves 0.5 dB per step, in the direction you turn. |
| Relative 2 (offset 64) | An endless encoder: 65, 66… for up; 63, 62… for down | The same. |
| Relative 3 (sign bit) | An endless encoder: 1, 2… for up; 65, 66… for down | The same. |
| Toggle | A button | Flips Bypass, Dim or Mute once per press (the release is ignored). A repeated identical value, from a button that never sends 0, counts as a new press; a fader swept up from 0 toggles once. |
| Momentary | A button or pad | Bypass, Dim or Mute is on while you hold it, off when you let go. Snapshot recalls always use this mode: the snapshot is recalled once when the value goes from 0 to anything else (a press, or the start of a fader sweep). |
An endless encoder uses one of the three relative codes. Your controller’s manual says which; if it does not, try each until turning the knob up raises the volume. With a relative mode the volume never jumps, because the encoder only says “up” or “down”.
- 14-bit — Offered for controllers CC 0 to CC 31, but not for snapshot recalls. Some faders send a fine value on a second controller (CC 32 to CC 63) as well as the coarse one, for 16,384 steps instead of 128. Switch on 14-bit only if your controller does this; the source then reads, for example, CC 7+39 ch 1 (14-bit). On Volume a 14-bit source takes only Absolute, so a mapping in a relative mode goes back to Absolute; Bypass, Dim and Mute keep Toggle, Momentary and Absolute. Switching on 14-bit also removes any other mapping on the second controller (for CC 7, a mapping on CC 39), and the card says which. If the row shows the fine controller (for example CC 39 rather than CC 7), learn it again and check the MIDI input line in the learn window before you press OK. Pitch bend is always 14-bit.
- Soft takeover — For Volume in Absolute mode only (on by default). When the fader and the Loader’s volume disagree (you changed the volume on screen, or recalled a snapshot), the fader does nothing until it reaches the current volume, then picks it up from there. The volume never jumps to wherever the fader happens to be. Turn it off to have the fader take over at once.
- Remove — Deletes the mapping; the MIDI control then does nothing.
- For a note, how hard you hit it does not matter: a note is a press and its release.
Mappings and the device switches are stored with Perfect Soup Desktop’s settings, so they come back every time it starts. They apply only to the Loader inside Perfect Soup Desktop, not to the plugin in a DAW.
Status strip
- Run state — Running (green); Idle (grey: set up, nothing to process yet); Waiting for audio…, or on Linux Waiting for PipeWire… (grey, not an error); Stopped (red, with the reason); Disabled (processing is switched off in Settings, and sound passes through untouched as long as the engine is running; not a fault — a stopped engine still shows Stopped with its reason); or Restarting the audio engine…
- Rate, Buffer and Latency — Latency runs from the active source to the speakers. While processing is on it covers the path that is active and includes the Loader; hover over it to see the Loader’s share. While processing is off, the tooltip says it is pass-through, without the Loader.
- Underruns and Overruns — Running totals. A counter that rose in the last minute turns to the warning colour and adds “(n in the last minute)”.
- Mode — What is running, for example APO insert on device, APO insert on device to ASIO interface (followed by “–– ASIO not running: the Windows device plays unmuted” while the ASIO driver has stalled), Capturing device, System audio (macOS tap), PipeWire virtual output or System audio off. When the Windows insert needs attention, this becomes the insert line with the one button that fixes it (Install or Retry install, Repair, or Review); on macOS a missing permission shows here with Open Privacy Settings.
Troubleshooting
- Insert missing — The insert is not on the chosen device. Press Install (or Retry install after a declined prompt or a failed install) and accept the Windows permission prompt.
- Insert not working — Installed, but not processing audio. Press Repair.
- No insert target — The device cannot carry the insert: it is ASIO or Exclusive Mode, it is unplugged, or there is no default output. Choose a Windows Audio device under Device (in ASIO output mode, under Audio in). To play through an ASIO interface, use the ASIO output mode.
- ASIO output: rates differ (“Windows plays … but the ASIO device … runs at …”) — Set the Windows device and the ASIO interface to the same sample rate: change the Windows device’s rate in Windows Sound settings, or the interface’s rate in its manufacturer’s control panel or utility (the ASIO control panel button needs a running interface, so it is not available here). Perfect Soup Desktop starts by itself once they match: while something is playing, right away; when nothing is playing, within about half a minute.
- “ASIO not running: the Windows device plays unmuted” — The ASIO driver stopped (hung or unplugged), so the Windows device plays again, uncorrected. Check the interface is connected and not held by another program.
- Waiting for audio… — Nothing has played through the device yet. Play something, and it starts on its own.
- Crackles or dropouts (Windows, APO insert) — If the underrun counter climbs, raise Output ring depth to 3 periods.
- Insert slot in use (another vendor’s audio effect occupies the slot) — Press Review and read the explanation before choosing Replace the device’s own effect.
- Audio enhancements are off, so the insert is bypassed — Press Review, then Enable audio enhancements.
- Insert held by another audio engine — Restart audio to release it.
- Insert blocked because the audio effect is registered from a location the audio engine cannot read — Reinstall Perfect Soup Desktop.
- macOS: no system audio, or a warning that recording system audio is not allowed — Press Open Privacy Settings and allow Perfect Soup Desktop under Screen & System Audio Recording. Check too that at least one System row is routed.
- Linux: Waiting for PipeWire… — PipeWire is not up yet. Make sure it is your audio server, version 0.3.48 or later, with its session manager (WirePlumber) running.
- A new input is silent — New hardware inputs and capture devices start unrouted; route them on the Routing tab.
- Disabled, or sound plays but is not corrected — Processing is switched off. Turn on Enabled under Settings > Processing (or in the tray menu). If processing is on, check the Loader’s own Bypass on the Perfect Soup tab.
Uninstalling puts things back as they were. On Windows the uninstaller removes every insert Perfect Soup Desktop applied, restoring what was in each slot, and its sign-in entry. On Linux, removing the package first restores the previous default output for each signed-in user. On macOS the uninstaller removes its login item.
Licensing
Perfect Soup requires an Umami Audio account and a valid license. The software is free to download; a license is required for full use.
License Categories
A Perfect Soup license grants use of the Calibration Loader plugin and the ability to create calibration profiles.
- Can be perpetual (one-time purchase) or rent-to-own (monthly; converts to a permanent license after 24 payments).
- Install on as many computers as you like; only one computer may actively use the plugin at a time.
- Perpetual licenses include 1 year of calibration access, activated on first use. After that, calibration access can be extended via the Calibration Extension add-on.
- Rent-to-own licenses include calibration access for the duration of the subscription; when they convert to perpetual, the standard 1-year bundled calibration applies.
- New accounts receive a free 60-day trial of The Perfect Soup tier (full access, unlimited groups and supports). It expires automatically and requires no payment.
- When calibration access expires, existing calibrations remain usable; you just cannot create new ones.
License Tiers
All paid tiers are available as a perpetual one-time purchase or as monthly rent-to-own (which becomes a permanent perpetual license after 24 payments). See umamiaudio.com/purchase for current pricing.
| Tier | Speaker Groups | Supports / Group |
|---|---|---|
| Micro Studio | Up to 2 | 0 (base) — 2.0 stereo |
| Mini Studio | Up to 2 | 1 (base) |
| Project Studio | Up to 2 | 3 (base) |
| Platinum Studio | Up to 6 | 6 (base) |
| The Perfect Soup | Unlimited | Unlimited |
An LFE group counts toward your speaker group limit, just like any other group. For example, a 2.1 system set up with Left, Right, and LFE groups uses 3 groups.
Extra Supports
If you need more supporting speakers per group, you can purchase Extra Supports — each adds +1 support per group, as a one-time purchase, and each one also adds 30 days of calibration access on top of whatever access your account already has. See umamiaudio.com/purchase for current pricing.
Extra Supports are available for every tier except The Perfect Soup, which already has unlimited supports.
Calibration Extension
For perpetual license holders whose included calibration access has expired, the Calibration Extension allows you to renew for 30 or 365 days. See umamiaudio.com/purchase for current pricing.
Rent to Own & Activation
Rent to Own is billed monthly and includes calibration access while active. After 24 monthly payments the license automatically converts to a permanent perpetual license at no further charge. Cancelling stops billing and your progress toward ownership; access continues until the end of the paid period.
All access periods (including bundled calibration from perpetual purchases) do not begin counting down until first use. First use is defined as the first time the VST plugin is activated on a computer, or the first time a calibration job is submitted.
Upgrades
Perpetual licenses can be upgraded to a higher tier through the Umami Audio website dashboard. The Micro, Mini, and Project tiers share the same 2 speaker groups and differ only by supports per group, so they cannot be upgraded to one another — add capacity with Extra Supports instead. Micro, Mini, and Project can all upgrade to Platinum Studio or The Perfect Soup. See umamiaudio.com/purchase for current upgrade pricing.
License Transfers
Perpetual licenses can be transferred to another Umami Audio account for a fee. The transfer deactivates the license on all of the original owner's computers. See umamiaudio.com/purchase for details.
VST Plugin Activation
- The Calibration Loader plugin requires you to sign in with your Umami Audio account.
- On sign-in, if you have exactly one license, it is automatically assigned.
- If you have multiple licenses, select which one to use from the plugin's settings.
- Which computer holds an active seat is determined by a device identifier.
- The plugin sends periodic license checks to confirm validity and that the license is not in use on another computer simultaneously.
- If your computer goes offline, a 7-day grace period allows continued use before the license is marked expired.
- If the plugin detects an expired, exceeded, or conflicting license, audio is muted for 5 seconds every 60 seconds as a reminder. Bypassed and no-calibration states pass audio through unaffected.
Refund Policy
You may request a full refund within 14 days of purchase — or within any longer period required by consumer-protection law in your country — by contacting [email protected]. We recommend using the free 60-day trial to confirm the product and system requirements fit your setup before purchasing.
Workflow Summary
| Step | Action |
|---|---|
| 1 | Install Perfect Soup (installer includes Wizard + plugins) |
| 2 | Create an Umami Audio account |
| 3 | Run Calibration Wizard and sign in |
| 4 | Complete the measurement flow |
| 5 | The calibration is automatically synced to the Calibration Loader plugin in your DAW |
| 6 | Optional: to correct everything the computer plays, without a DAW, choose your calibration in Perfect Soup Desktop (an optional part of the installer) |
System Requirements
Minimum
- Windows: Windows 10 (64-bit) or later. Single-device calibration requires an ASIO compatible audio interface; the two-device flow (coming in a future update) works with any Windows Audio devices that allow exclusive mode.
- macOS: macOS 11.0 Big Sur or later (Intel or Apple Silicon), Core Audio compatible audio device
- 4 GB RAM
- 500 MB free disk space
- Internet connection (for cloud calibration processing)
Recommended
- 8 GB RAM or more
- 1 GB free disk space
- Audio interface with measurement microphone
- High-speed internet for faster job processing
Wizard Requirements
- Windows: WebView2 Runtime (installed automatically if missing)
- Calibration microphone
- Audio setup with inputs and outputs — either one interface with both, or (in a future update) two separate devices (e.g. a USB measurement microphone plus a separate output device) via the two-device flow
Perfect Soup Desktop Requirements
- Windows: Windows 11 22H2 (build 22621) or newer; on older Windows the installer shows the Perfect Soup Desktop option greyed out with (Requires Windows 11 22H2). The APO insert needs a shared-mode Windows Audio output device (not ASIO or Exclusive Mode), and administrator permission for every insert action (install, retry, repair, replace, enable enhancements, remove). The ASIO output mode also needs the ASIO interface’s own ASIO driver, running at the same sample rate as the Windows device apps play to.
- macOS: macOS 14.4 or later for system audio (the process tap), with Screen & System Audio Recording permission. On older macOS it runs with a hardware input only.
- Linux: PipeWire 0.3.48 or later as the audio server, with a session manager such as WirePlumber.
Troubleshooting & Support
For all other issues, contact us at [email protected].