Two lightweight plug-ins for sending and receiving VBAN audio on Windows and macOS.
TX sends one stream with 1–8 channels while host audio passes through unchanged. RX receives one matching stream and plays it in your audio host. Separate plug-ins, simple network settings, one horizontal meter per stream channel, and live packet counters.
Stable release: Windows + Mac · Installation guide · Report an issue
Free and open source under AGPL-3.0. Donations support development and are optional.
VBAN Plug is made by ElkaSoft. The VBAN protocol and Voicemeeter are by VB-Audio.
Download the stable release
0.3.0 stable provides separate Windows and Mac downloads. Choose your platform.
Windows 10/11 x64
| Download | Contents |
|---|---|
| Windows installer | TX and RX VST3, with the dark ElkaSoft installer. |
| Windows portable ZIP | Complete TX/RX bundles for manual installation. |
| Windows checksums | Installer and ZIP checksums. |
Windows installation guide. Close the host before installing,
then rescan. Both bundles install to C:\Program Files\Common Files\VST3.
For a manual installation, copy the complete .vst3 folders, including Contents
and Resources. No separate Microsoft Visual C++ runtime is needed.
Mac — Apple Silicon and Intel
| Download | Contents |
|---|---|
| Mac installer | TX/RX VST3 and Audio Units in the standard Mac plug-in folders. |
| Mac portable ZIP | Universal TX/RX bundles for manual installation. |
| Mac checksums | Installer and ZIP checksums. |
Mac installation and approval guide. Use Audio Units for Logic, or VST3 in a compatible host. Each Mac bundle contains both Apple Silicon and Intel code, targeting macOS 11 or later. See the release notes for tested systems. The Mac binaries have local ad-hoc signatures, with no Developer ID signing or Apple notarization; macOS may require manual approval.
Windows and Mac are separate packages. Both preserve the same 1–8 channel VBAN stream format and automatic RX meter count. Windows plug-ins, setup, and uninstaller are signed and timestamped as Mikael Frisberg. Mac retains its ad-hoc signatures; stable status does not imply Apple notarization.
Editors
| Transmit | Receive |
|---|---|
View full size ↗ |
View full size ↗ |
The main previews show eight-channel operation. Mono uses one bar; stereo uses L/R. RX waits to detect the stream before showing any channel bars.
| Transmit | Receive |
|---|---|
RX before a matching stream arrives, with eight host connections available:
TX settings
| Setting | Meaning |
|---|---|
| Destination IP address | IPv4 address of the receiving computer. |
| Destination UDP port | Port listened to by the receiver; default 6980. |
| Stream name | Exact case-sensitive name, 1–16 printable ASCII characters. |
| PCM format | 16-bit or 24-bit signed PCM. |
| Stream channels | 1 (mono), 2 (stereo), or 3–8 numbered channels in one VBAN stream. |
Enter the settings and enable network audio. Changes to text/drop-down fields are activated with Apply settings. New instances start disabled.
The network copy is quantized/clipped to the selected PCM format; host audio is never modified by TX. Packet encoding and UDP socket operations happen on the network worker. Queue overload drops network packets without blocking the host audio callback.
RX settings
| Setting | Meaning |
|---|---|
| Sender IP address | Only packets from this exact source IPv4 are accepted. |
| Local UDP port | The port this plug-in listens on. |
| Stream name | Must match the sender exactly. |
PCM 16/24-bit and 1–8 stream channels are detected automatically. RX shows one meter for every received channel, even when the host has fewer output connections. Before the first matching packet arrives, it shows Waiting for stream with no channel bars. For example, choose 3 channels in TX and click Apply settings: TX sends three channels in one stream and RX automatically shows three meters. The host's eight available connections do not add extra meters.
RX and the sending system must use the same nominal sample rate, for example 48000 Hz. The editor reports a mismatch and outputs silence until corrected. A small adaptive receive buffer follows clock drift using fractional interpolation; this version does not convert between different nominal sample rates. Typical buffering is about 20 ms or two host blocks, whichever is larger, plus network scheduling. RX is a live source and does not request host delay compensation.
No matching signal, a disabled RX, or a sample-rate mismatch produces silence. Packet gaps/reordering and overflows cause recovery/rebuffering, rather than indefinite stale playback. Allow roughly half a second for a freshly restarted external sender to be recognised if its packet counter restarts.
Each active RX needs a free local UDP port. Two RX instances cannot share the same port, and RX cannot bind a port already occupied by VoiceMeeter or another receiver. Use different ports for separate receivers.
The source address is the remote computer's IP, not the local bind address. RX listens on local interfaces and filters the sender. IPv4 unicast is supported; multicast, broadcast destinations, hostnames, compressed audio and more than eight channels are outside this version.
Settings are saved in the host project. TX passes audio through when bypassed; RX bypass outputs silence. Network audio is paused for offline processing, so record RX audio in real time before offline exporting. The host must keep processing the insert to transmit/receive, including when transport is stopped. If packets do not arrive from another PC, check the host application's Windows Firewall permission for the chosen UDP port.
Host inputs, outputs, and routing
Both plug-ins advertise eight input and eight output connections by default. The host can select matching layouts from 1 to 8 channels, including mono, stereo, and 7.1/eight-channel layouts. RX also accepts a disabled input bus. These are audio channels within one bus and one VBAN stream.
Use your host's track/bus configuration or plug-in pin-routing menu to choose the layout and connect the channels. The exact menu depends on the host; some hosts only support stereo inserts. The editor's Host I/O row shows the negotiated connections. TX's Stream channels drop-down controls the network stream, independently of the host's bus layout. Selecting eight there cannot create additional host connections.
- For an eight-channel link, set both host layouts to eight channels, connect inputs 1–8 to TX and outputs 1–8 from RX, and select 8 channels in TX.
- Multichannel routing follows channel number. TX sends the first selected channels; missing input channels are sent as silence. Host pass-through still preserves all inputs.
- TX mono averages all configured host input channels. A mono host input is duplicated only when sending stereo.
- RX maps incoming channels to corresponding host outputs and silences extra outputs. A mono stream is duplicated on a stereo host output; a mono host output averages all received channels.
- RX still displays all received meters if the host has fewer outputs, with a Host: N out status. Configure the host for eight outputs to hear all eight separately.
Existing mono/stereo stream settings remain compatible with saved projects. After updating, rescan the plug-ins so your host refreshes their available layouts.
Levels and packet counters
Both editors show one horizontal meter per stream channel, refreshed at 60 Hz: one bar for mono, L/R for stereo, and thinner numbered bars for 3–8 channels. Bars show a 50 ms RMS envelope in dBFS; white markers retain brief peaks for 750 ms, and red clip lights stay visible for one second. The meters fall smoothly and return to silence when audio processing stops.
TX measures the selected stream after channel mapping/mono mixing and before PCM quantization, including while network transmission is disabled. RX measures every decoded stream channel before adapting it to the host outputs. A mono stream has exactly one meter.
The meter header always displays Packets sent in TX or Packets received in RX, refreshed at 10 Hz. RX counts accepted matching-stream packets, not unrelated UDP traffic. Totals remain visible when a stream stops and reset when network settings are applied. A rising received count with silent meters can help identify a silent source or a sample-rate mismatch.
Metering reads audio without changing it and publishes levels through lock-free atomics.
Local test
- Load RX on a stereo track. Set sender IP to
127.0.0.1, local port6980, and stream nameVBAN. Enable it. - Load TX on another track containing audio. Set the same IP, destination port and stream name. Choose PCM and channels, then enable it.
- Use the same host sample rate. RX's status should show the detected format.
- For eight channels, configure eight host inputs/outputs on both plug-ins and choose 8 channels in TX. Feed different audio into each TX input and check the eight RX meters/outputs.
- Avoid routing the RX output back into TX.
Support and credits
Found a problem or have an idea? Use GitHub Issues. For bugs, include the plug-in version, audio host/version, sample rate, block size, TX/RX settings, and what the packet counters show.
If VBAN Plug is useful to you and you would like to support continued development, you can donate on Ko-fi, or use the Donate button in the installer. Donations are completely optional—thank you for supporting ElkaSoft.
Useful links:
- VBAN protocol and tools
- Voicemeeter
- JUCE framework
- Steinberg VST3 documentation
- OBS VBAN Audio by ElkaSoft
VBAN Plug is an independent ElkaSoft project, not an official VB-Audio or Steinberg product. ElkaSoft created this plug-in; VB-Audio created the VBAN protocol and Voicemeeter. No Voicemeeter Remote DLL is required or bundled.
Copyright © 2026 ElkaSoft. Licensed under GNU AGPL v3; see LICENSE. Third-party code and artwork retain their respective notices; see NOTICE.md.
For source code, build instructions, and development documentation, visit the project on GitHub.



