Skip to content

MTK Loudness Matcher


1. Overview

MTK Loudness Matcher is a standalone loudness tool for making sounds in a Wwise project sit at a consistent perceived volume. It listens in real time to whatever is playing on your computer (system output or an external input), measures LUFS / RMS / True Peak, and writes the result back to the matching Wwise Sound object’s MakeUpGain / Volume / VolumeOffset so an entire batch of sounds can be aligned to one target loudness.

Two working modes:

  • Fixed Target — align every sound to a single fixed LUFS target (for example, -14 LUFS).
  • Reference — align each sound in list B to the loudness of the matching row in list A (A is the reference; B follows A).

Plus Voice Mode: purpose-built for Wwise multilingual resources (Voices/Chinese, Voices/English, and so on). It writes to the VolumeOffset of the AudioFileSource for the current preview language only, keeping each language completely independent so you never overwrite another language’s volume by accident.

Typical use cases:

  • Dozens of SFX in a project are uneven; you want them all at -14 LUFS.
  • A batch of newly recorded voice lines needs to match the existing ones.
  • A multilingual voice project needs each language aligned independently.

2. Opening the Tool

It is a standalone windowed application (not a REAPER plug-in). Just run the executable.

On launch it automatically reconnects to the audio device you last used and restores all previous settings (target value, mode, Criteria, export path, and so on).


3. Interface Overview

┌─────────────────────────────────────────────────────────────┐
│  Device: System Default | 48000 Hz | 480 samples   Pin  ☰  │  ← top status bar
├─────────────────────────────────────────────────────────────┤
│  ▮▮▮▮▮▮▮▮░░░░░░  -18.2  LUFS-S                              │
│  ▮▮▮▮▮░░░░░░░░░  -22.0  RMS                                 │  ← meter cards
│  ▮▮▮▮▮▮░░░░░░░░  -20.5  LUFS-M                              │
│  ▮▮▮▮▮▮▮░░░░░░░  -3.8   TP                                  │
│  -60  -48 -36 -24 -12  0  +3                                │
│                       LUFS-I       -16.3 LUFS               │  ← main display slot
│                         [ Reset ]                           │
├─────────────────────────────────────────────────────────────┤
│  Wwise (WAAPI)                           [ Connect ]        │
│  Connected: Wwise 2023.1.10                                 │
├─────────────────────────────────────────────────────────────┤
│  Mode: [Fixed Target ▾]            Adjust: [MakeUpGain ▾]   │  ← parameter card
│  Target LUFS: [-14.0] Tolerance:[0.5]  Max Duration:[30]    │
│  ─────────────────────────────────────────────────────      │
│  ☐ Voice Mode   ☑ Auto-Verify                                │
├─────────────────────────────────────────────────────────────┤
│  [Measure] ∞ [Match]    [Sync]    [Stop]                    │  ← action buttons
├─────────────────────────────────────────────────────────────┤
│              [ Fetch Selected ]                             │
│                                                             │
│   Sound_01            -12.0  -18.3  +4.3                    │
│   Sound_02             0.0   -14.1  +0.1                    │  ← object list
│   Sound_03            -6.0   -10.5  -3.5                    │
└─────────────────────────────────────────────────────────────┘

Five main areas:

AreaContents
Top status barCurrent audio device, Pin (always on top), ☰ (Audio Settings)
Meter cardsReal-time loudness meters; the main display slot shows the value selected by the current Criteria
WAAPI sectionWwise connection status and Connect/Disconnect button
Parameter cardMode selection, target value, tolerance, capture duration, Voice Mode, Auto-Verify
Actions + listMeasure/Match/Sync/Stop + the list of Wwise objects fetched into the tool

4. Top: Device & Meter

4.1 Audio Settings (☰ button)

Click to open the audio settings popup:

OptionPurpose
Driver TypeChoose the driver protocol (Windows Audio / WASAPI / ASIO …)
DeviceChoose the capture device. [Out] System Default captures system output (loopback; most common); other [Out] xxx entries capture the loopback of a specific output device; [In] xxx is a physical input
InputChoose the input channel pair (stereo pair)
Match CriteriaCore setting: which loudness value is used as the matching reference (see §4.3)
Export CSV Report after MatchAfter each Match, ask whether to export a report
Browse...Choose a custom CSV export directory (blank = desktop)

💡 Recommended setup: set Device to [Out] System Default. That way the tool follows whatever headphones or speakers are currently active, no matter how often you switch devices.

4.2 Meter Cards

The meter area shows five readings:

DisplayMeaning
LUFS-IIntegrated loudness since the last Reset (EBU R128 with gating)
LUFS-SShort-term loudness, 3-second sliding window
LUFS-MMomentary loudness, 400 ms sliding window
RMSAveraged RMS level across channels
TPTrue Peak (4× oversampled)

Four horizontal bars plus the bottom main display slot. The main display slot shows whichever Criteria is currently selected — it pulls that value out of the bar row and shows it larger below.

💡 The number on the right of each bar is a max-hold (the highest value since the last Reset), and the number in the main display slot is also a max-hold.

Reset button — zeros all max-hold values and the LUFS-I accumulation.

Auto-Reset: once connected to Wwise, the meter automatically resets whenever the Wwise transport goes from Stop to Play, so pressing Play in Wwise always starts a fresh measurement.

4.3 Match Criteria (Loudness Matching Reference)

In the Audio Settings (☰) popup, the Match Criteria dropdown decides which “hearing dimension” the tool uses as the alignment reference:

CriteriaTechnical definitionBest suited for
LUFS-M (Momentary Max)The peak acoustic energy captured within a 400 ms window.Short, transient-heavy sounds (UI beeps, gunshots, impact feedback).
LUFS-S (Short-term Max)The peak energy captured within a 3-second sliding window.Medium-length dynamic sounds (skill combos, non-continuous ambient one-shots).
LUFS-I (Integrated)The average perceived loudness across the whole playback period.Long continuous clips (multilingual voice lines, music, linear cutscenes).
RMS (Average)A purely physical RMS energy calculation, independent of the ear’s loudness curve.Sustained looping sounds (engine loops, machinery drones, ambient beds).

💡 The choice affects both the value shown in the “Measured LUFS” column and the value used for matching. Previously measured data is not lost when you switch — the tool simply picks the corresponding value for display and calculation.


5. WAAPI Connection

The WAAPI section is a single row:

  • Connect — connect to Wwise running on this machine (defaults to 127.0.0.1:8080; Wwise must have WAAPI enabled).
  • Disconnect — close the connection.

When connected, the Wwise version is shown in the top-right of this area; when disconnected, all Wwise-related buttons are grayed out.


6. Parameter Card

The parameter card has three tiers.

6.1 Tier 1: Mode + Destination Property

ControlOptions
ModeFixed Target or Reference
AdjustMakeUpGain or Volume (normal mode); in Voice Mode this is forced to VolumeOffset and cannot be changed

💡 MakeUpGain vs Volume: MakeUpGain is the Sound object’s output-gain slot designed for loudness compensation and does not affect the fader. Volume is the Sound’s main fader. We generally recommend MakeUpGain because it stays independent of your mixing decisions.

6.2 Tier 2: Numeric Parameters

ControlMeaning
Target LUFSThe target loudness value (only visible in Fixed Target mode; in Reference mode it is read automatically from list A)
ToleranceTolerance in dB. Objects whose measured value is already within this distance of the target are skipped, preventing pointless tiny adjustments and false verification failures.
Max Duration (s)Maximum measurement duration per object. Wwise stops early when playback ends; this is a safety limit.

💡 Recommended Tolerance: 0.3 – 1.0 dB. Too strict and the tool will keep rewriting for a 0.1 dB difference.

6.3 Tier 3: Global Toggles

ToggleBehavior
Voice ModeEnables Wwise multilingual mode (see §10).
Auto-VerifyAfter Match, re-measure once to confirm the values landed correctly. Rows that still exceed the tolerance are marked with [!] in red, and the status bar reports VERIFY FAILED.

💡 When Auto-Verify fails: this usually happens because the target Sound is routed through a chain with a limiter, compressor, or bus effect that “eats” the gain you wrote. This is an intentional warning — it tells you that adjusting gain on this Sound alone is not enough; the downstream chain needs attention.


7. Action Buttons

ButtonBehavior
MeasureTells Wwise to play the selected objects while the tool listens and records their loudness. Nothing selected = measure all (a confirmation dialog appears first).
∞ (Link)Toggles “measure then match.” When lit, Measure automatically runs Match afterward — one click end-to-end.
MatchWrites the measured difference back to Wwise (MakeUpGain / Volume / VolumeOffset). Nothing selected = match all.
SyncReads the current property values from Wwise (useful if you moved a fader manually in Wwise). See §8.1.
StopInterrupts the current Measure/Match task.

7.1 Color Meanings

ColorMeaning
BlueMeasure action
GreenMatch (write) action
RedStop / interrupt
GraySync read action (non-destructive)
Cyan∞ chain (Measure → Match)

8. Object List

In both Fixed Target and Reference modes, every row looks like this:

Sound_Name [Current] [Measured LUFS] [Delta]
ColumnMeaning
NameWwise Sound object name; [!] at the start = verification failed; green = already matched
CurrentCurrent MakeUpGain / Volume / VolumeOffset value in Wwise (dB)
Measured LUFSLoudness measured during the last Measure. --- = not measured yet
DeltaDifference that needs to be written. Shown only when not yet matched: yellow = +, blue = −, gray = ≈0

Pressing Sync does two things:

  1. Re-reads the current property values (MakeUpGain / Volume) from Wwise for all listed objects.
  2. If a value changed (for example, you nudged a Sound by +3 dB in Wwise), the tool automatically shifts that row’s “Measured LUFS” by the same +3 dB.

The logic is simple: if the Wwise fader moved by N dB, the Sound now actually plays N dB louder or softer — so the predicted value in the list is shifted by the same amount, saving you from re-measuring.

💡 Sync also clears the green “matched” markers — once you have adjusted something manually, the previous Match state is no longer trustworthy.

⚠️ This is a linear mathematical shift, not a real re-measurement. If the Sound passes through a non-linear chain such as a limiter or compressor, the prediction may drift from reality. In that case, re-measure directly.

8.2 Right-Click Menu

Fixed Target list:

MenuBehavior
Delete SelectedRemove from the list (does not affect Wwise)

Reference list (A or B):

MenuBehavior
RemoveRemove this row from the current side (remaining rows shift up); the other side stays put and [Empty] is appended at the bottom to keep rows aligned
Insert Empty AboveInsert an [Empty] placeholder above the current row (for manual pairing adjustments)
Delete Pair (A & B)Delete the whole row — both A and B disappear

8.3 Keyboard Delete

With rows selected in the list, pressing Delete or Backspace behaves like Remove (single-side deletion).


9. Workflows for the Two Modes

9.1 Fixed Target Mode

Align every sound to a fixed value (for example, -14 LUFS).

1. Mode = Fixed Target
2. Target LUFS = -14
3. Adjust = MakeUpGain
4. In Wwise, select the Sounds you want to align → click Fetch Selected
5. Select no rows → click Measure → confirm → OK
 (the tool tells Wwise to play each object and measures it)
6. After Measure, every row shows its LUFS and Delta
7. Click Match → all deltas are written back at once
 (Auto-Verify is on by default and will re-measure)
8. Check the status bar: “Matched: 12 ok, 0 failed | 1 VERIFY FAILED”
 → rows with [!] are stuck behind downstream effects and need individual attention

Shortcut: turn on the button, then step 5 produces the final result automatically — Measure runs and then Match follows.

9.2 Reference Mode: One-to-One Alignment

Align each sound in list B to the loudness of the matching row in list A.

1. Mode = Reference
2. In Wwise, select the “reference” sounds → click Fetch A
3. In Wwise, select the “sounds to adjust” → click Fetch B
4. Lists A and B are now shown in two stacked panes
5. (Optional) click Auto Align → the tool pairs rows by name similarity
6. (Optional) drag rows or Insert Empty to fine-tune the pairing
7. Click Measure → A and B are measured together
8. Click Match → B is written so it matches the corresponding A

The auto-alignment logic parses text structure and numeric indices in the asset names to make fuzzy pairings. If the two groups are named very differently, the tool treats them as unmatchable and leaves those rows empty so you can adjust them manually.

9.3 Lock A Button

Above list A is an A (Reference) [Unlocked] button. When lit it becomes [LOCKED] and the list background turns pink.

While locked, list A is completely frozen — no dragging, deleting, Insert Empty, or Auto Align can touch it.

💡 Use this when A is your golden reference and must not change; only B should adapt.

9.4 CSV Pairing Template

Export CSV — exports the current A/B pairing to a CSV with two columns: Reference Path and Target Path. You can edit pairings in Excel.

Import CSV Map — loads the edited CSV back. The tool looks up the objects by path in the current A and B lists and re-aligns them. Missing objects appear as [Missing] xxx (red text at the start of the row).

[Empty] is a valid value in the CSV — it means “this row is intentionally blank” and will be restored as a blank row on import.

⚠️ Import will fail if the CSV is still open in Excel. Close Excel first.

9.5 Synchronized Scrolling

In Reference mode, lists A and B scroll together — dragging one scrolls the other.

9.6 Drag to Reorder

List rows support mouse dragging:

OperationBehavior
Left-dragMove to the target position (other rows make room)
Alt + dragCopy to the target position (original row stays)

While dragging, a yellow horizontal line shows where the row will land when released.


10. Voice Mode (Multilingual Voice)

Voice Mode is designed for Wwise Voices folder structures:

Voices/
 Chinese/ ← Chinese voice wav files
 English/ ← English voice wav files
 Japanese/ ← Japanese voice wav files

In normal mode, the tool writes to the Sound object’s MakeUpGain / Volume — which affects all languages.

In Voice Mode, the tool writes to the AudioFileSource object’s VolumeOffset — which affects only the current Wwise preview language.

10.1 Enabling Voice Mode

  1. Check ☑ Voice Mode.
  2. Adjust automatically locks to VolumeOffset.
  3. A Language: Chinese indicator appears on the right side of the parameter card and tracks the current Wwise language in real time.
  4. Fetch / Measure / Match work the same as in normal mode.

10.2 Voice Mode Notes

  • The Language display shows Wwise’s current preview language — if you switch Reference Language in Wwise, this follows automatically.
  • If the current language is SFX, Mixed, or External, Match will refuse to run and show a warning.
  • The Sync button is disabled in Voice Mode (VolumeOffset belongs to the source layer, not the Sound object layer).
  • Resources for the same Sound in different languages are independent — switching languages and measuring again is essentially measuring a different set of wav files.
  • After Fetch, each Sound is expanded into the AudioFileSource for the current language; Sounds with no resource for that language are skipped.

11. Status Bar Colors

The WAAPI status bar (the line below Connect) gives real-time feedback:

ColorMeaning
GrayIdle / informational message
BlueWorking (Measuring / Matching)
PurpleRe-measuring during Verify
GreenCompleted successfully
YellowInterrupted by the user
RedFailure / error / Verify failed

12. CSV Report Export

After enabling Export CSV Report after Match in Audio Settings, the tool asks whether to export a report every time Match completes.

Fixed Target report fields: Name, Path, LUFS-I, Target, Delta, Old Value, New Value

Reference report fields: Pair, Role (Reference/Target), Name, Path, LUFS-I, Target, Delta, Old Value, New Value

Report file name: LoudnessReport_2026-05-23_143052.csv. Storage location: the directory set in Audio Settings (desktop by default).


13. Typical Workflows

Workflow A: Batch SFX to -14 LUFS

1. Connect to Wwise
2. Mode = Fixed Target, Target = -14, Tolerance = 0.5
3. In Wwise, select the SFX to process → Fetch Selected
4. Turn on ∞ → click Measure → wait
5. All rows green = done. Check for any [!] rows and handle Verify failures

Workflow B: Align New Voice Lines to Old Ones

1. Mode = Reference
2. In Wwise, select the “old” reference set → Fetch A
3. In Wwise, select the “new” target set → Fetch B
4. Click Auto Align → review the pairings
5. Drag / right-click Insert Empty to fix mismatches
6. Lock A (prevents accidental changes to A)
7. Measure → Match

Workflow C: Align Chinese Voice Lines to -16 LUFS Without Touching Other Languages

1. In Wwise, switch Reference Language → Chinese
2. Check ☑ Voice Mode → confirm “Language: Chinese”
3. Mode = Fixed Target, Target = -16
4. In Wwise, select the voice Sounds → Fetch Selected
5. Measure → Match
 → Only the Chinese VolumeOffset is written; English/Japanese resources are untouched

Workflow D: A/B Test Different Target Values

1. Measure once, then Match with Target = -14
2. Listen — too loud
3. Click Sync (read current Wwise values back)
4. Change Target to -16
5. The Delta values in the list are recalculated automatically
6. Match again → writes the new deltas

Workflow E: You Manually Moved a Wwise Fader and Want to Re-match

1. In Wwise, you manually raised Sound_03 by +3 dB
2. Return to the tool and click Sync
 → Sound_03’s “Current” value updates to the new value
 → “Measured LUFS” is shifted by +3 dB
 → green Match markers are cleared (it is no longer aligned)
3. Click Match → the tool recalculates and writes based on the new baseline

14. Notes

14.1 Measure Really Does “Listen”

The tool does not read Wwise’s internal analysis; it listens to the audio device in real time. Therefore:

  • You must actually hear the sound for the tool to measure it — check that headphones are plugged into the right jack and the system is not muted.
  • Any system-level processing (EQ, system volume, and so on) is measured too. Turn it off, and keep system volume at 100%.
  • [Out] System Default is the safest choice because it follows the active system output device.

14.2 Auto-Verify Is Just a Second Listen

Auto-Verify is simple: after Match, the tool plays the Sounds again and re-measures to see whether the real loudness reached the target. Rows that still exceed the tolerance are marked with [!].

Common reasons a row fails Verify:

  • A downstream limiter / compressor / bus effect is eating the gain you wrote.
  • The dynamic range is very large and a single measurement is slightly unstable.
  • The tolerance is set too tight.

[!] simply warns you “this one did not land on target.” It does not mean the write failed — the value has already been written to Wwise. You decide whether to leave it, adjust the downstream chain, or widen the tolerance.

14.3 Don’t Set Tolerance Too Small

Setting 0.0 dB means the tool will rewrite on almost every run. 0.3 – 1.0 dB is recommended, matching real-world loudness resolution.

14.4 Reference Mode Auto-Pads Mismatched Row Counts

If lists A and B have different lengths, the shorter side is padded with [Empty] placeholders at the bottom. Empty rows take no part in pairing or measurement; they are visual spacers only.

14.5 Voice Mode Adjust Lock Is by Design

VolumeOffset is the only per-source compensation slot on an AudioFileSource. Normal-mode MakeUpGain / Volume sit at the Sound level and affect every language. Therefore Voice Mode forces VolumeOffset so other languages are never affected.

14.6 Sync Clears Green Match Markers

When you run Sync, the tool assumes you have already adjusted something manually in Wwise. The previous Match is no longer guaranteed to be perfect, so the green markers are removed and the row returns to a “waiting to match” state.

14.7 Tolerance Skip Logic in ∞ Chain Mode

When Measure automatically runs Match, objects whose delta is smaller than Tolerance are skipped — this is not a failure. The status bar reports how many were skipped.

14.8 Lock A Really Does Block Everything

While locked, even pressing Delete on an A row is blocked with an “Action Blocked” message. This protects a precious reference list from accidental destruction.


15. Troubleshooting

SymptomLikely CauseFix
Meter shows no reactionWrong device / system output is on another deviceOpen Audio Settings and choose [Out] System Default
Meter stays ---Wwise is not playing / device has no outputPress Play in Wwise to audition
LUFS = -inf / extremely low after MeasureWwise did not actually play / volume is too lowCheck Wwise audition volume and confirm system volume is not 0
Match does not write / status reports 0 okTolerance is too large, all deltas are considered “close enough”Lower Tolerance
Auto-Verify keeps failingDownstream limiter is eating the gainCheck the Master bus and insert effect chain
Green Match markers disappear after SyncExpected behaviorRe-match as needed
Voice Mode says “invalid language”Current Wwise preview language is SFX / Mixed / ExternalSwitch Wwise to a specific language
Some Sounds missing after Voice Mode FetchThose Sounds have no AudioFileSource for the current languageNormal — the tool skips them
Import CSV failsCSV is still open in ExcelClose Excel and retry
Auto Align pairs incorrectlyNames are too different or similarity is lowDrag rows / Insert Empty to fine-tune
Cannot connect to WwiseWwise is not running / WAAPI port is occupiedMake sure Wwise is started and WAAPI is enabled; check for multiple Wwise instances
Fetch shows no objects after switching Wwise projectsWAAPI connection is still tied to the old projectDisconnect → Connect again
List rows are goneThey were deleted with the Delete keyRe-fetch them
Reference mode B list errors “missing A reference”The corresponding A row was not measuredMeasure A first, or measure both sides together
Still running after pressing StopThe tool is finishing data transfer with Wwise; or the connection is still tied to the old Wwise projectWait a moment; if it persists, Disconnect → Connect again