An extremely simple vocal widener plugin.
English · 日本語
releases · why this exists · installation · build from source · contributing
A tiny plugin for a very specific job: widening vocal harmonies without managing duplicate tracks.
It gives you Haas-based widening, optional ADT-style drift and decorrelation, L/R panning, optional channel balance compensation, and an advanced section for the extra controls.
This plugin is designed to easily replicate a background vocal panning technique used by many Japanese cover artists. The result is convincingly wide-sounding vocal harmonies.
The technique itself is actually very simple:
- Duplicate the vocal track
- Nudge the timing of one track slightly
- Pan the two tracks hard left and right
If that sounds too simple to be real, take a look at this mixing video by Mafumafu where he does exactly this with nothing fancy added:
https://www.youtube.com/watch?v=pwHqy9cKi7c&t=2604s
Even if you have no idea what genre or artists I'm talking about, that's completely fine. This plugin works for any situation where you want to widen background vocals/harmonies as simply and naturally as possible. I'm just mentioning the Japanese cover scene because this technique is extremely common there.
Now for the sad backstory: to use this technique, the normal DAW workflow is very annoying:
- duplicate the harmony track
- zoom in a lot and nudge the timing very precisely
- pan both tracks
- then if something needs fixing, fix it twice because now there are duplicate tracks everywhere (Melodyne, vocal alignment, etc.)
- Be sad in general because now you have a bunch of extra tracks cluttering your DAW
There are already plugins that """"do this"""", but they never quite felt like the exact answer for this extremely simple problem.
-
iZotope Vocal Doubler exists, but its settings are neither flexible, transparent, or simple. You end up with vocals that have weird phasing issues and wobbling pitch, and crazy distortion issues in some cases. If you've been using this, go back to a previous project and solo the tracks using them and you might be surprised how strange it sounds.
-
Soundtoys MicroShift is a better alternative, but it is 100 dollars and not built with functions to cater specifically to vocal applications. This plugin, on the other hand, is free.
The gist of the problem is that there does not seem to be a plugin that literally only duplicates and time shifts the audio, and nothing else. So I decided to make one.
Every parameter clearly shows exactly what it is doing to the audio. There are no hidden modulation tricks or mystery processing. Additional features are available if you want them, but every extra feature can be completely disabled. In fact, every additional feature is off by default for users who want a one-to-one replication of the original process.
That means you can reduce the plugin down to exactly the same result as manually duplicating and nudging the track in your DAW, but without the hassle of managing duplicate tracks.
At a high level, the plugin combines three simple cues:
- a small timing difference
- controlled left/right placement
- optional level balance compensation
That combination is enough to trick your brain into making harmonies and doubles feel wide.
The "Haas effect" is the main idea behind the widening. If one side arrives a little later than the other, your ear hears width and direction before it hears an obvious echo.
When you delay one channel, it can make the undelayed channel sound louder, creating a perceived imbalance. This control adjusts the volume of the left and right channels simultaneously based on math to keep the image feeling balanced.
haas comp is an experimental feature and subject to change. It is off by default in advanced for users who want the basic manual process first, and is there for people who want to enable it and adjust it to taste.
By default, the main screen only shows offset time, output gain, and bypass.
Click advanced to reveal the rest of the controls.
| Control | Description |
|---|---|
offset time |
Sets the Haas delay offset used for width. The default is 15 ms. |
output gain |
Controls final output level. |
left pan / right pan |
Places the two sides in the stereo field. These are linked by default for convenience. |
adt drift |
Adds ADT-style drift and decorrelation between channels. Experimental feature, subject to change. Off by default in advanced. |
haas comp |
Controls how strongly the plugin compensates for the perceived level imbalance caused by the Haas effect. Experimental feature, subject to change. Off by default in advanced. |
| Toggle | Description |
|---|---|
equal delay |
Centers the timing offset. Instead of delaying only one side, it splits the timing correction so the core signal stays more rhythmically centered. This introduces a little extra (compensated) latency when enabled. |
link pan |
Links the left and right panning. If this is off, the left and right channels can be panned independently. Honestly, I'm not sure why you would ever want to turn this off. |
flip pan |
Flips the left and right channels. |
haas comp |
Enables or bypasses Haas compensation. |
bypass |
Bypasses the plugin. |
- Add topaz pan to the vocal track or bus that you want to widen. The plugin accepts mono or stereo input and outputs stereo.
- Change
offset timeto your liking. A sweet spot range is still around10-25 ms, and the default now starts at15 ms. - If you need more control, open
advancedand adjust pan, ADT drift, or Haas compensation.
adt drift is based on artificial double tracking. Instead of only delaying one side, it adds tiny pitch movement and timing variation between the left and right channels. The idea is to slightly decorrelate the two sides so they do not line up quite as perfectly.
It is an experimental feature and subject to change. It is off by default in advanced for users who want a closer one-to-one version of the original manual process, and is there for people who want to enable it and adjust it to taste. Adds slight (compensated) latency.
Downloads are available on the releases page.
- VST3:
/Library/Audio/Plug-Ins/VST3 - AU:
/Library/Audio/Plug-Ins/Components
- VST3:
C:\Program Files\Common Files\VST3
- VST3:
~/.vst3or~/.local/share/vst3
Linux builds are currently provided as an experimental convenience and are untested.
Current releases include:
- macOS installer for AU (Logic Pro) and VST3
- Windows installer for VST3
- Linux
.zipdownloads for VST3 .zipdownloads for manual plugin installation
This project uses CMake and JUCE.
JUCE is fetched automatically during configure in the current setup.
cmake -S . -B build
cmake --build build- CMake
- a C++20-capable toolchain
- macOS: Xcode / Apple Clang
- Windows: Visual Studio / MSVC recommended for JUCE plugin builds
- Linux: GCC or Clang with the required X11 / audio development packages
Depending on platform, the project builds:
VST3AUStandalone
Contributions are welcome.
If you find a bug, have a feature idea, or want to improve the DSP or UI, open an issue or send a pull request. If you are reporting a bug, include:
- DAW
- operating system
- plugin format
- a clear description of what happened
- steps to reproduce it if possible
If you want to make a larger change, opening an issue first is appreciated.
Releases live here:
https://github.com/Pachii/topaz-pan/releases
They currently include:
- macOS VST3
- macOS AU
- Windows VST3
- Linux VST3
- macOS installer
- Windows installer
The Linux build is currently untested.
This project is released under the MIT License. See LICENSE for the full text.
built with JUCE

