Voicemeeter: User Manual
Voicemeeter: User Manual
Voicemeeter: User Manual
Burel
USER MANUAL VOICEMEETER Standard Version 1.0.7.8
VOICEMEETER
Real Time Virtual Audio Mixer for Windows
USER MANUAL
OFFICIAL WEBSITE
www.voicemeeter.com
VB-AUDIO Voicemeeter Non Contractual document page 1
Document designed by V.Burel2014-2021 all right reserved. All information provided in this document may be subject to change
without notice (www.vb-audio.com / www.voicemeeter.com ).
MAR 2021 VB-Audio Software V.Burel
USER MANUAL VOICEMEETER Standard Version 1.0.7.8
USE CASES:
How to talk and send music in the same time on Skype or Google Voice?
How to manage 2 headsets on Skype or Google voice?
How to record Conference-Call in 8 tracks for post production?
INSTALLATION:
Run setup program and follow instructions.
Reboot after installation or de-installation
FIRST INSTALLATION
As prerequisite, you might have administrator rights otherwise you may run the setup program
in administrator mode.
HOW TO UPDATE
Update requires you de-install Voicemeter first. You can save your current Voicemeeter settings
in a file before, but it should normally stay as it is (current settings are not deleted by the setup
process):
As prerequisite, you might have administrator rights otherwise you may run the setup program
in administrator mode. Close applications that could use Voicemeeter Remote API (Touch
portal, Elgato Steam Deck...).
- In Windows Device Manager you may check that all voicemeeter virtual audio drivers are
removed (from the game controller section and from the audio I/O section) - if still present you
will have to de-install them manually from there (right click to get menu option).
- In Windows Sound Dialog box Playback / Recording devices list: Voicemeete virtual device are
surely not present anymore but you may check that possible VB-CABLE are still well installed
with the right name and icon.
more info on our forum: https://forum.vb-audio.com/viewtopic.php?f=7&t=688
THEN RE-INSTALL:
5- Check Windows audio parameters (default playback device, default recording device...)
6- Check soft phone parameters (for example Skype / Zoom / Discord audio device selection).
7- Run the wanted Voicemeeter version and reply to firewall authorization (if VBAN service is
running).
8- Possibly re-check some option in menu (System Tray, Run at Startup, Show App on
Startup...).
ONLINE SUPPORT
https://vb-audio.com/Services/support.htm
Table of Content
INTRODUCTION: ........................................................................................................................................... 7
Voicemeeter as Universal Virtual Audio Device: ...................................................................................... 8
Voicemeeter as Audio HUB and Next Gen Audio Engine: ........................................................................ 9
Audio Mixing Console Basis: ................................................................................................................... 10
STEP 0: Quick Startup ................................................................................................................................. 11
Remarks in case of problem: .................................................................................................................. 11
STEP 1: Select main audio Output Device .................................................................................................. 12
Windows Control Panel / Sound Properties to configure Device Sound Quality:.............................. 12
STEP 2: Select an Input Device. .................................................................................................................. 13
Monitor Input in Real Time .................................................................................................................... 14
WINDOWS AUDIO INPUT CONFIGURATION WARNING ..................................................................... 14
STEP 3: Use Virtual Input as default playback device................................................................................. 15
Virtual Input is Multi-Channel ! .............................................................................................................. 16
Understand Voicemeeter Virtual I/O in one picture. ............................................................................. 17
STEP 4: Send the Mix Output to Skype Input. ............................................................................................ 18
STEP 5: Enjoy new Audio Controls.............................................................................................................. 19
INTELLIPAN 3D PANEL: The Binaural effect. ........................................................................................... 19
Audibility control & equalizer................................................................................................................. 20
WINDOWS CONFIGURATION WARNING WITH VOIP ......................................................................... 20
STEP 6: Connecting ASIO Application to Voicemeeter. .............................................................................. 21
Special Routing Options on Output BUS. ................................................................................................... 22
M.C. Means “Mute Center”.................................................................................................................... 22
ASIO Routing Capabilities. .......................................................................................................................... 23
Menu for Extra functions ........................................................................................................................... 24
Other Voicemeeter Tools & Accessories: ............................................................................................... 25
CASE STUDY #1 ........................................................................................................................................... 27
CASE STUDY #1 – STEP 1......................................................................................................................... 28
CASE STUDY #1 – STEP 2......................................................................................................................... 29
CASE STUDY #1 – STEP 3......................................................................................................................... 30
CASE STUDY #2 ........................................................................................................................................... 32
CASE STUDY #2 – STEP 1 ........................................................................................................................ 33
CASE STUDY #2 – STEP 2 ........................................................................................................................ 33
CASE STUDY #3 ........................................................................................................................................... 35
VBAN: VB-Audio Network .......................................................................................................................... 37
Open VBAN Configuration dialog box: ................................................................................................... 37
INTRODUCTION:
Voicemeeter is a virtual mixing console able to manage 3 audio inputs (2 physicals and 1
virtual) and 3 audio outputs (2 physicals and 1 virtual) through 2 busses A & B.
As Mixing Console, Voicemeeter offers large amount of use case combinations: To mix in real
time your voice with your music, your movie, your video game or web radio and share it on
internet through VOIP applications. Voicemeeter is also able to let you manage 2 Headsets and
create new VOIP experiences …
Audio interfaces type supported by Voicemeeter Virtual audio I/O (Voicemeeter VAIO).
Interface Type Description
MME The MME API or the Windows Multimedia API (also known as WinMM) was
the first universal and standardized Windows audio API. This audio interface
type is expected to work with any audio device but with latency time possibly
around 100ms.
WDM That we call WDM (Windows Driver Model) audio interface in Voicemeeter is
handled by WASAPI : the Latest Microsoft Audio Functions to get best audio
performances and small latency (< 30ms) – available since Windows VISTA
KS Kernel Streaming or Direct Kernel streaming API allows low latency audio
streaming, since Windows XP, but unfortunately not all audio devices
provides this interface.
WaveRT The WaveRT miniport driver is supported in Windows Vista and later
Windows operating systems and can offers good audio performances and
small latency (comparable to KS).
Direct-X Direct-X Audio Interface is used by Video Game and some audio software.
Latency is usually comparable to MME,
ASIO Audio Stream Input/Output (ASIO) is a computer sound card driver protocol
for digital audio specified by Steinberg, providing a low-latency and high
fidelity interface between a software application and a computer's sound card.
ASIO DAW
Voicemeeter is installed with Macro Buttons Application offering programmable buttons to act on
Voicemeeter by simple request script
This schema above shows how basically Voicemeeter can mix 3 inputs into 2 busses (in BUS A
if button A is switched on, on BUS B if button B is switched on). Typically BUS A can be used
for monitoring (speakers) and BUS B for VOIP or audio recording applications.
Each strip (each input) can go through different processing before summing to the busses.
Voicemeeter includes funny panels to tweak the sound on input #1 and #2 and a regular 3
bands Equalizer on input #3 (the Virtual Input).
Again on usual Mixing Console, we have on each strip a SOLO button (to listen one or several
strips only) and a MUTE button to simply mute the signal of the Strip or Bus.
Finally the Fader Gain allows to adjust the sound volume for each Strip and Bus.
Other controls will be explained later, but basically we have described here the outlines of what
is an Audio Mixer, generally speaking.
Windows System Audio Configuration is mainly located in Windows Control Panel / Sound
Dialog Box. This is where you have to go to check or set what is your default playback device
and what is your default recording device (and the Communications option has to be set to "Do
Nothing" if you use Voicemeeter with VOIP applications).
In all cases, all is a question of audio configuration and it does not need to remove Voicemeeter
in case of problem. Voicemeeter is a simple Application endowed with an audio device driver, if
you don’t use it, there is no way to get trouble. But if you do, you need to avoid possible audio
device conflict and connect everything to Voicemeeter (to prevent other application to use audio
playback device already used by Voicemeeter).
The main audio output device (A1) can work in 32 kHz, 44.1 kHz, 48 kHz, 88.2 kHz, 96 kHz,
176.4 kHz or 192 kHz. This will also be the main sample rate of the entire mixing process and
Virtual ASIO points (Voicemeeter will support any sample rate on other inputs or outputs points).
REM: it’s better to select WDM driver (present since Windows VISTA) to get best latency and
audio performances. If using MME driver you might have a bigger delay between input and
output. Use MME driver only if WDM are not present or does not work correctly with your audio
hardware configuration.
KS can be better than WDM in some cases but not all audio device are presenting such audio
interface. In the example above, Sennheiser USB Microphone and onboard Audio Device are
not present as KS device, but only in WDM and MME.
For example in Skype you can select the Voicemeeter Virtual Output as Microphone.
For Recording Applications, take care about the loop back! You might have MUTED
outputs or disable monitoring otherwise output signal will come back on input infinitely.
MIX DOWN
This button is made to make a stereo mix-down
with 5.1 or 7.1 sound coming from DVD player
on virtual input (strip #3). Left and right
channels, Center, Sub and rear are combined to
output on stereo speakers.
STEREO REPEAT
This button is made to use possible 8 outputs
channels with a stereo signal. This stereo signal
is repeated to channel 3,4 / 5;6 and 7,8.
COMPOSITE
This last button is made for audio post
production. The 8 channels are composed in
this way:
- ch 1,2 : usual BUS stereo output
- ch 3,4: Voicemeeter input #1 before gain fader
- ch 5,6: Voicemeeter input #2 before gain fader
- ch 7,8: Virtual input channel 1,2 before gain
fader
This is possible by selecting no device for physical input / physical bus. Then the system
settings dialog box proposes to select input channels / or output channels for bus A2:
In this example:
- Physical Input #2 gets audio from ASIO input channels 3+4
- BUS A1 automatically uses 8 first output channel of the ASIO board
- BUS A2 will send audio to ASIO output channels 63+64
WARNING: BUS outputs are copied in the ASIO output channels in logical order A1, A2, A3. It
means that A1 channels (1 to 8) could be replaced by A2 channels (if overlapping). For example
if A2 is routed to channel 1+2, it will overwrite output A1 channel 1+2 (you won’t hear the BUS
A1 anymore, since it is replaced by A2).
- The About Box will show you some link to get more information and donate on our
webshop.
- System Settings Dialog Box allows to configure parameters related to audio device
management..
- M.I.D.I. Mapping Dialog Box allows to connect a M.I.D.I. Remote surface to Voicemeeter.
- VBAN Dialog Box will help you to configure the VB-Audio Network functions, to
send/receive audio stream to/from any computer of your local network.
- Click on “Check Driver Installation” to run the VBDeviceCheck.exe program and get a
detailed diagnostic on VB-Audio Driver Installation. This program is executed on each
Voicemeeter Launch to check that there has been no corruption due to WIN10 Update.
More information on our forum: https://forum.vb-audio.com/viewtopic.php?f=6&t=442
15 Bands graphic EQ :
VBAN2MIDI :
CASE STUDY #1
How to talk and send music in the same time on Skype?
CASE STUDY #1
How to talk and send music in the same time on Skype or Google Voice? To make it, we will
use a configuration very closed to our current setup after Step 5 of this document.
For this configuration, we need to install VB-Audio Virtual Cable, it makes the things more
comfortable since we have control on the 3 sounds: our voice (IN 1), Skype output (IN2) and
computer sound (IN 3).
VB-Audio Virtual cable will be used to connect the Skype output to Voicemeeter Input #2.
After Installation, you have a new audio installed driver called CABLE Input (as playback device)
and CABLE Output (as recording device). These are the two ends of the cable, and like every
cable, all sounds sent to cable input will go on cable output.
Note it’s important to check off “Automatic gain control” because it’s now Voicemeeter mixing
console which takes care about levels. Also you can set level to max for the same reason.
In this above configuration, Skype will still continue to use your PC speaker to ring you, but for
communication, you will need to launch Voicemeeter to make it work of course (see menu to set
Voicemeeter in system tray and run on Windows startup)..
With A / B Switches, you can decide what sound you send to monitor (speaker) and what you
send to Skype (through Bus B).
Basically you will send to your headphone everything but your voice (except if you want to also
hear your own voice in speaker). That’s why A is off on strip #1.
Regarding Skype, you will want to send everything (your voice and music) but skype sound
(Skype caller coming in input 2). That’s why B is off on strip #2. Otherwise we could have a loop
back and the caller could hear his own voice again and again and again…
CASE STUDY #2
How to manage 2 headsets on Skype?
CASE STUDY #2
How to manage 2 Headsets in the same time on Skype or Google Voice? To manage 2
headsets is maybe simpler than the previous case, since we don’t need additional VB-Cable.
B button on strip #3 must be OFF to avoid Skype feedback (otherwise audio coming from Skype
on strip #3 would be sent again to Skype through Voicemeeter Virtual Output).
It just means to select audio output A1 and A2 for your headphone 1 and 2. Then Select Input
Device 1 for your microphone headset #1 and Device 2 for your microphone headset #2.
Do not forget to click on SAVE button to validate your settings. Now you are ready to use VOIP
application with 2 Headsets.
CASE STUDY #3
How to record Conference-Call
in 8 tracks for post production?
CASE STUDY #3
Since Voicemeeter is providing ASIO interface, we can connect audio pro DAW to Voicemeeter,
not only to playback into Voicemeeter Virtual input, but also to record the Voicemeeter Virtual
Output (which is composed of 8 channels).
Of course channel 1,2 remain unchanged compared to other modes, but the 6
other channels are replaced by Voicemeeter inputs. This allows for example
to make multi track recording of interview made on Skype or Google Voice
and record everything on a pro audio DAW to make post production after.
REAPER recording 4 stereo tracks coming from Voicemeeter virtual ASIO output.
VBAN
VB-Audio Network
VBAN-Talkie and VBAN-Receptor are applications for mobile device (iOs / Android) also
implementing the VBAN Protocol to send and receive audio stream from or to Voicemeeter.
VBAN Protocol is free to use to be implemented everywhere. The PCM native Audio protocol,
the VBAN-TEXT protocol and the VBAN-MIDI protocol are public. You can get specification
document on our support page: https://vb-audio.com/Services/support.htm and find numerous
projects using it on GitHub.
With Voicemeeter, it is possible to listen to 4x streams (on any input) and send 4 streams to
different computers or mobile device (audio source is given by BUS A or BUS B Source).
A VBAN Stream in Voicemeeter can be set in any standard samplerate from 11025 Hz to 96
kHz in 16 or 24 bits resolution with 1 to 8 channels (mono sound to 7.1). It allows transporting
high quality audio in native PCM format on your local network.
It is possible to broadcast an audio stream by using the 255 IP Address. For example giving
192.168.1.255 as destination address will send stream to all computers of the network
192.168.1.xxx (REM: such broadcast UDP stream could not pass through router or WIFI Access
Point – usually forbidding UDP broadcast)
VBAN can also transport serial and text to remote Voicemeeter with MIDI message or specific
request script. That’s why Voicemeeter also offers a Serial and an ASCII incoming stream.
For VBAN identification / VBAN-Chat service, it is also possible to define a USER NAME and a
color.
VBAN outgoing stream section now includes a VBAN-MIDI stream, getting MIDI stream from the
MIDI-Mapping. It allows sending all incoming MIDI or a particular MIDI source (including MIDI
output for MIDI Feedback) through the network. Then it is possible to use a MIDI Controller on
the network (by using VBAN2MIDI application) with both VBAN MIDI-IN and VBAN-MIDI Out
NETWORK QUALITY: This parameter, more useful on incoming stream, allows tweaking the
audio stream stability in case of bad or busy network. FAST means the network is able to
transport audio without delay or error, SLOW is made for busy network, where audio packet can
be delayed or lost more often than usual.
ERROR LED: shown on the right are blinking red in case of reception errors:
1- Overload: we received too much packets (audio stream comes too fast)
2- Corrupt: we received corrupted packets
3- Disorder: we received older packets
4- Missing: we missed packets (lost)
5- Underrun: we received not enough packets (audio stream comes too slow)
VBAN MIDI messages and TEXT commands can be sent by MacroButton (see next pages).
VBAN MIDI messages can also be sent by VBAN2MIDI application (installed with Voicemeeter).
VBAN2MIDI application.
This simple standalone application allow converting a physical MIDI input into a VBAN outgoing
stream (LEFT Side) and the opposite: from a VBAN MIDI Stream, send incoming data to a
physical MIDI output (Right Side).
MACRO-Buttons
Voicemeeter Remote API
MACRO Buttons
Delivered and installed with Voicemeeter, MACRO BUTTONS Application allows creating
programmable buttons to control Voicemeeter parameters. It is displaying several (4 to 80) push
or 2 positions buttons with a title / sub title and the possibility to assign a keyboard shortcut /
mouse / Game pad / MIDI message or even Audio Trigger.
MACRO BUTTON application has been designed for Voicemeeter users, to make custom
action, or group of actions on the different Voicemeeter controls and parameters:
It is also possible to combine different requests to create a complex action on Voicemeeter. For
example a PUSH TO TALK or AUTO DUCKING function could set the MUSIC Gain to -10db
and mute other talker in the same time.
Button type can be PUSH or 2 POSITIONS. Keyboard shortcut dropdown list proposes different
Key and Mouse buttons combinations. Button color proposes 9 different buttons backgrounds.
M.I.D.I. Implementation allows assigning one M.I.D.I. Event to the button as well. The M.I.D.I.
codes are coming from the M.I.D.I. device selected in the Voicemeter M.I.D.I. Mapping Dialog
Box and possibly incoming VBAN MIDI stream. Check LEARN box to get message from M.I.D.I.
Device. Click on RESET to remove the M.I.D.I. Code.
TRIGGER will allow handling the button according 2 thresholds on a selected input strip level.
IN threshold (green cursor) will push the button when level goes over… OUT threshold (red
cursor) will release the button when the level goes under. HOLD time define a minimal time to
let gate opened.
XINPUT section will let you use up to 4 game pad to control a button.
HID Device Button allows connecting directly to a specific HID device (to be implemented).
Button Color
The parameter called “Button Color” allows selecting 8 other background colors for the button.
Strip functions/parameters
Parameter Name Value Range Remark Ver.
Strip[i].Mono 0 (off) or 1 (on) Mono Button 1
Strip[i].Mute 0 (off) or 1 (on) Mute Button 1
Strip[i].Solo 0 (off) or 1 (on) Solo Button 1
Strip[i].MC 0 (off) or 1 (on) Mute Center Button 1
Strip[i].Gain -60 to +12 db Gain slider 1
Strip[i].Pan_x -0.5 to +0.5 1
Strip[i].Pan_y 0 to 1.0 1
Strip[i].Color_x -0.5 to +0.5 Physical Strip Only 1
Strip[i].Color_y 0 to 1.0 Physical Strip Only 1
Strip[i].Audibility 0 to 10 Voicemeeter 1 only 1
Strip[i].EQGain1 -12 to +12 db Virtual Strip Only 1
Strip[i].EQGain2 -12 to +12 db Virtual Strip Only 1
Strip[i].EQGain3 -12 to +12 db Virtual Strip Only 1
Strip[i].Label String Strip Label 1
Strip[i].A1 0 (off) or 1 (on) Out BUS Assignation 1
Strip[i].B1 0 (off) or 1 (on) Out BUS Assignation 1
Strip[i].FadeTo String (dBTarget, msTime); 1
Strip[i].FadeBy String (dB relativechange, 1
msTime);
i= strip zero based index. J= Bus zero based index.
BUS Parameters:
Bus index is a zero based index related to Voicemeeter version (2 busses on Voicemeeter, 5 on
Voicemeeter Banana)
Bus functions/parameters
Parameter Name Value Range Remark Ver.
Bus[i].Mono 0 (off), 1 (mono) 2 Mono Button 1
(stereo reverse)
Bus[i].Mute 0 (off) or 1 (on) Mute Button 1
Bus[i].Gain -60 to +12 db Gain slider 1
Bus[i].mode.normal 0 (off) or 1 (on) BUS Mode 1
Bus[i].mode.Amix 0 (off) or 1 (on) BUS Mode 1
Bus[i].mode.Repeat 0 (off) or 1 (on) BUS Mode 1
Bus[i].mode.Composite 0 (off) or 1 (on) BUS Mode 1
Bus[i].FadeTo String (dBTarget, msTime); 1
Bus[i].FadeBy String (dB change,msTime); 1
i= bus zero based index.
VB-AUDIO Voicemeeter Non Contractual document page 46
Document designed by V.Burel2014-2021 all right reserved. All information provided in this document may be subject to change
without notice (www.vb-audio.com / www.voicemeeter.com ).
MAR 2021 VB-Audio Software V.Burel
USER MANUAL VOICEMEETER Standard Version 1.0.7.8
Strip().FadeTo or Bus().FadeTo function allow to set the gain slider with a progressive fade by
settings a dB value and a time to reach it (time in ms between 0 and 120000). The parameter is
a string since it needs 2 parameters, example:
Patch Options
Parameter Name Value Range Remark Ver.
patch.asio[i] 0 to ASIO input ASIO Patch 1
Patch.composite[j] 0 to 22 (1 = first channel) 0 = default BUS 2
Patch insert[k] 0 (off) or 1 (on) Virtual ASIO insert 2
Patch.PostFaderComposite 0 (PRE) or 1 (POST) COMPOSITE Mode 2
Patch.PostFxInsert 0 (PRE) or 1 (POST) Virtual INSERT Point 2
i= input channel zero based index (for physical strips only – 2 channels per strip).
j= composite channel zero based index (0 to 7) COMPOSITE mode is maed of 8 channels.
k= input channel zero based index (0 to 21).
System Settings
Parameter Name Value Range Remark Ver.
Option.sr 44.1, 48, 88.2, 96, 176.4 or Preferred samplerate 1
192 kHz
Option.ASIOsr 0: default ASIO Samplerate For ASIO driver 1
1: preferred samplerate. connected on output A1
Option.delay[i] 0 to 500ms max BUS output delay 1
Option.buffer.mme 128 to 2048 MME buffer size 1
Option.buffer.wdm 128 to 2048 WDM buffer size 1
Option.buffer.ks 128 to 2048 KS buffer size 1
Option.buffer.asio 128 to 2048 ASIO Buffer Size 1
Option.mode.exclusif 0 (off) or 1 (on) WDM input exclusive 1
Option.mode.swift 0 (off) or 1 (on) WDM swift mode 1
i= output zero based index (for physical bus only)
Special Commands:
Special Commands are not made to change parameter but to make an action. Here some
command presented in the menu (write only of course).
Typical use:.
Command.Restart = 1;// request to restart audio engine
NOTE: command requests are prior to other requests. It means other type of request could not
be processed if in the same request packet than a command request. For example Shutdown
Request, simply closes the program without processing next request. LOAD request reset all
possible previous or next requests present in the same packet.
EJECT cassette function (also present in the menu) is made to release audio file and let other
applications access to it.
To change the Trigger option on a given button you may use the following instruction
Button(5).Trigger = 1; //Enable Audio Trigger on button ID 5
Button(5).Trigger = 0; //Disable Audio Trigger on button ID 5
With the September 2019 version, the Wait command allows to introduce timing pause between
requests and finally create a sequence of requests.
Strip(0).gain=-12.0; // will be send on button push
Wait(2000);
Strip(0).gain=0.0; // will be sent 2 seconds later
Wait(1000); // wait one second again
Strip(0).FadeTo= (-10.0, 1000);
Wait(1000);
Strip(0).FadeTo= (0.0, 1000);
VBAN Options:
Voicemeeter remote API allows controlling VBAN features and all parameters presented on the
VBAN dialog Box. Then it is possible to remote VBAN functions to route/send/receive audio
to/from different computers.
VBAN Options
Parameter Name Value Range Remark Ver.
vban.Enable 0 (off) or 1 (on) VBAN functions 1
vban.instream[i].on 0 (off) or 1 (on) Stream On/Off 1
vban.instream[i].name String Stream Name 1
vban.instream[i].ip String IP Address from 1
vban.instream[i].port 16 bit range PORT (Ethernet) 1
vban.instream[i].sr 11025 to 96 kHz Read only 1
vban.instream[i].channel 1 to 8 Read only 1
vban.instream[i].bit VBAN data type Read only 1
vban.instream[i].quality 0 to 4 0 = Optimal 1
vban.instream[i].route 0 to 8 Strip Selector 1
vban.outstream[i].on 0 (off) or 1 (on) Stream On/Off 1
vban.outstream[i].name String Stream Name 1
vban.outstream[i].ip String IP Address To 1
vban.outstream[i].port 16 bit range PORT (Ethernet) 1
vban.outstream[i].sr 11025 to 96 kHz 1
vban.outstream[i].channel 1 to 8 1
vban.outstream[i].bit VBAN data type 1 = 16 bits PCM 1
vban.outstream[i].quality 0 to 4 0 = Optimal 1
vban.outstream[i].route 0 to 8 BUS selector 1
i= zero based index (0 to 7).
Like in the VBAN Dialog Box the following parameters change are producing an Audio Engine
Restart:
- vban.Enable
- vban.instream[i].port
- vban.instream[i].quality
- vban.outstream[i].quality
VBAN SampleRate:
11025, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 Hz
VBAN Quality:
0 (Optimal), 1 (Fast), 2 (Medium), 3 (Slow), 4 (very slow). Quality parameter is conditioning the
size of internal stack (also the latency) to cope to possible network instability and then increase
the stream stability if required. Optimal quality considers the network is able to transmit packet
in real time (with a good regularity), while very slow quality considers the network can have
timing problem and unexpected waiting cycles. This parameter is more useful on receiver side
while the transmitter is supposed to work always in OPTIMAL mode.
In this example, the hardware input in#1 is the Microphone and the Strip(3) is the virtual input of
Voicemeeter Banana (used to get music). This virtual input will be faded to -15 dB and medium
EQ by -12 dB when the user will talk in the microphone, more precisely, when the microphone
level will go over -13 dB (to be adjusted according microphone level).
“Level Option” allows user to mute his microphone on Voicemeeter to disable the trigger.
Otherwise trigger is working even if the microphone is muted on Voicemeeter.
Green cursor shows the “IN” threshold (level to go over to generate a trigger in). Red cursor
shows the “OUT” threshold (level to go below to generate trigger out).
System Command
function Name Value Type Remark Ver.
System.KeyDown(szKey) String 1
System.KeyUp(szKey) String 1
System.KeyPress(szKey) String Send Key Down + 1
Key Up
System.Execute(exe, dir, arg) Strings 1
These commands are not sent to Voicemeeter but directly to operating system.
System Execute
This function works like a “CreateProcess” or SheelExecute under windows and allow to start
any application with a command line argument.
Special chars like double quotes can be inserted by this sequence %’ (percent + simple quote):
then %’ will be replaced by “. To insert a percent char, simply enter it double: then “%%” will be
replaced by a single ‘%’.
VB-AUDIO Voicemeeter Non Contractual document page 52
Document designed by V.Burel2014-2021 all right reserved. All information provided in this document may be subject to change
without notice (www.vb-audio.com / www.voicemeeter.com ).
MAR 2021 VB-Audio Software V.Burel
USER MANUAL VOICEMEETER Standard Version 1.0.7.8
ENVIRONMENT VARIABLES
It is also possible to use system environment variable by using %envname% syntax.
System.Execute("%windir%\system32\cmd.exe","%windir%\system32","/K ipconfig");
System.KeyDown(szKey);
System.KeyUp(szKey);
Example:
System.KeyDown("A");
System.KeyDown("SHIFT+T");
System.KeyUp("A");
System.KeyUp("SHIFT+T");
System.KeyDown("CTRL+NP1");
System.KeyDown("ALT+F8");
System.KeyUp("CTRL+NP1");
System.KeyUp("ALT+F8");
System.KeyPress("CTRL+NP1");
System.KeyPress("ALT+F8");
There is also a RAW DATA function to send any M.I.D.I. Message (including sys-ex).
With Octorber 2020 versions, it is possible to use directly the instruction SendMidi without
“system” prefix:
To send message through VBAN protocol, you have first to activate and configure your VBAN
output streams. This is located in MacroButton system menu: VBAN Configuration Dialog Box
will allow to setup 2x VBAN MIDI streams and 2x VBAN TXT Streams:
There is also a RAW DATA function to send any M.I.D.I. Message (including sys-ex).
BEGIN_SECTION("vban1")
Strip(0).mute=1; Strip(1).mute=1;
Bus(0).gain= 0.0;
END_SECTION
All Voicemeeter script written inside the section will be sent to VBAN1 TEXT Stream defined in
the VBAN configuration Dialog Box. While the section below will send the script through VBAN2
TEXT stream:
BEGIN_SECTION("vban2")
Strip(0).mute=1; Strip(1).mute=1;
Bus(0).gain= 0.0;
END_SECTION
Regular function style sysntax is also possible (to fit the syntax used in VBAN-Button app for
Android):
Or written on several lines as well: last parenthesis will close the entire request.
SendText("vban2",
Strip(0).mute=1;
Strip(1).mute=1;
Bus(0).gain= 0.0;);
The simple function to set a DMX value according device address and channel:
System.DMXSetValue(addr, channel, value);
or can be used with several values which will automatically fill the next channels:
System.DMXSetValue(addr, channel, value1, value2 , value3, value4...);
To send the newly modified DMX frame:
System.DMXCommit();
Example of tested DMX serial interface: Enttec Open DMX USB Interface
Since Voicemeeter 1.0.5.0 / 2.0.3.0, Voicemeeter Remote API provides an AUDIO API to
process audio inside Voicemeeter in 3 Different point. Download SDK and get more information
on our forum: https://forum.vb-audio.com/viewtopic.php?f=8&t=346
EXTRA OPTIONS
Voicemeeter Latency
M.I.D.I. Mapping
Specifications
Known issues
This modal dialog box will show you the status of the different audio devices currently used by
Voicemeeter.
- SR: is giving the current samplerate of the device (which can be different for each
device, Voicemeeter is based on multi points and multi formats audio engine able to
manage most of audio system configurations).
- buf gives the current buffer size used by the audio device (Voicemeeter Audio engine
support different buffering on all audio points).
- Ch: gives the number of channel managed by the devices (Voicemeeter can manage 1
to 2 channels on inputs and up to 8 channels on outputs).
- r : gives the bit resolution of the device (Voicemeeter uses 16bits resolution per default).
- S: means “share mode” (applicable for WDM device only. KS is usually in exclusive
mode and MME in share mode. For WDM it depends on devices and audio engine
mode).
Note: Output A1 device configuration gives the main audio configuration of Voicemeeter
and the configuration of Voicemeeter virtual ASIO driver (Sample rate and buffer size). It
also means that all audio processing done in Voicemeeter will be based on this sample
rate (if some audio points work in another sample rate, conversion will be done
automatically to this main sample rate.).
In this dialog box, you can change the latency used by MME, WDM and/or KS audio drivers.
Basically MME driver support buffering between 512 and 2048 samples , while WDM and KS
VB-AUDIO Voicemeeter Non Contractual document page 61
Document designed by V.Burel2014-2021 all right reserved. All information provided in this document may be subject to change
without notice (www.vb-audio.com / www.voicemeeter.com ).
MAR 2021 VB-Audio Software V.Burel
USER MANUAL VOICEMEETER Standard Version 1.0.7.8
can go down to 256 samples (that makes audio processing very closed to the real time –
practically usable to sing on a song in real time – karaoke – or to play digital piano on music in
real time).
Some PC configurations (or some audio devices) will work very well with minimal buffering
values while other will not (the sound stream could be not stable and generates too much
sound’s cut). That’s why per default MME device uses 1024 samples buffering while WDM
device is using 512 samples (these default settings should work for 100% PC configuration
cases).
Under Windows XP, WDM driver are not available. (That we call WDM driver is audio device
driver that can be handled by Microsoft WASAPI, for better audio performances and quality).
But some audio device can support KS interface and then provide low latency support.
Preferred Main Sample Rate can be used as a wish to make Voicemeeter run output device A1
in the wanted sample rate (44.1, 48, 88.2, 96, 176.4 kHz or 192 kHz). But it also depends on the
audio device current configuration (that could stay in its own sample rate anyway).
Engine mode provides a SWIFT mode to possibly improve real time (experimental option).WDM
Input devices are driven in SHARED mode per default to avoid possible WASAPI Exclusive
mode bug (see known issues). These both modes have been disabled because generating too
much support.
If ASIO device is selected as output A1, Voicemeeter will send audio to the 8 first output
channels. Other BUS could be routed to other ASIO output channels. It is also possible to get
the first input channels of the ASIO device routed to Hardware Inputs of Voicemeeter. This is
done by the ASIO PATCH allowing to select which ASIO channel will be used for IN#1 left &
right, IN#2 left and right…
- Buffering ASIO can use the default buffer size (given by ASIO driver) or be forced to a
given buffer size (but the ASIO driver can refuse or not work correct for some values).
- SR parameter allows to use the default sample rate given by the ASIO driver or to force
the sample rate defined by the preferred sample rate.
It is also possible to open the ASIO Control panel of the main output device by clicking on its
name.
To improve latency, you can also decrease the latency buffer size (for example down to 256)
especially with WDM or KS devices. If using WDM devices, you can again reduce global latency
(the time between microphone and speaker) by using SWIFT mode (but not recommended
because might be unstable).
DISBALED OPTION: Activating WDM Input Exclusive mode (and Swift mode) will force audio
engine to use smallest buffer with WDM input devices. But this exclusive mode could not be
stable and produce various potential problems in the time (from audio crash to system
freeze/crash – pending on audio driver and O/S – see known issues section at the end of this
document).
Virtual I/O latency can also be optimized by decreasing the Internal Latency of the Voicemeeter
VAIO driver by using specific VBCABLE Control Panel program. However decreasing internal
latency can produce discontinued or non-working stream in some cases, pending on different
buffering constraints (see VB-CABLE technical documentation).
Virtual ASIO driver are adding a single buffer to the global latency (the size of this buffer is given
by the buffering of the output A1)
LATENCY WARNING:
CHANGING DEFAULT LATENCY, BY REDUCING BUFFER SIZE CAN DECAY THE AUDIO
STREAM, BRING UNSTABILITY, FREQUENT AUDIO CUT, STATIC, SYNCHRO LOST
(ROBOTIC VOICE).
M.I.D.I. Mapping:
Voicemeeter allows connecting a MIDI remote surface to control gain, mute, solo buttons of
every strips and busses (with MIDI Feedback) and a secondary MIDI Controller (MIDI Extra
Input Device).
You just need to select the right MIDI device and enter in Learn process to configure the M.I.D.I.
Mapping. This is expected to work with any M.I.D.I. Remote. You can even give a title to your
mapping and store it on disk or recall it from XML files.
Click on Learn (use TAB or up/down arrow key to learn next/previous control) and move your
M.I.D.I. Control.
Click on M.I.D.I. Code area (black) to reset the M.I.D.I. Implementation (as it was before
learning process).
PTT option means “Push To Talk” and un-mute the related strip when pushing the button, mute
it when release it.
LOAD / SAVE allow to recall and save M.I.D.I. Map from or to file (xml file).
REFRESH Controller: allows to send all MIDI message related to the current Voicemeeter state.
This feature also exists as MIDI function (assignable to a MIDI button) – see last MIDI Mapping
page.
M.I.D.I. Map name is a name defined by user to identify precisely the remote surface (stored in
M.I.D.I. Map XML file).
MIDI Feedback:
With e March 2021 Version Voicemeeter manages a MIDI Output Device to send back MIDI
code and move motorized Fader or highlight LED Button. This is made automatically with the ‘F’
or ‘FF’ mode.
F: Simple feedback:
The single ‘F’ mode is for simple feedback. The MIDI controller is receiving MIDI message when
there is a change on related control only, but change made by Mouse or VBAN request or
anything but the MIDI controller itself. ‘F’ Mode is usually enough for movable control like knobs
and faders… But some remote surface can use motorized fader needing a MIDI feedback to
confirm the position (like a acknowledgement) in this case ‘FF’ will be needed.
MIDI Forward:
MIDI mapping can get MIDI message from two different MIDI controller and from VBAN-MIDI
Stream. All received MIDI message are also forwarded to MacroButtons application.
With March 2021 version, it is possible to also forward MIDI message through an outgoing
VBAN MIDI stream (see VBAN Configuration Dialog box: last outgoing stream is a MIDI
Stream). This is made to forward MIDI message on network (including MIDI feedback if your
MIDI controller is on other computer).
Specifications:
1x Virtual I/O: WDM, KS, MME, DirectX, WaveRT (8 kHz to 192 kHz) 1 to 8
channels
8 channels on virtual input, 2 on virtual output
1x Virtual ASIO I/O: ASIO (32 kHz to 192 kHz) 8 Channels (in and out) / 4x Client
Applications.
Virtual ASIO configuration is given by Main Output A1 (SR
and Buffering)
Note that Virtual I/O provide Windows Interface (MME, KS, WASAPI, DirectX…) and ASIO
Interface (defined by Steinberg gmbh). It allows connecting regular windows audio application
as well as audio pro DAW using ASIO devices only.
Voicemeeter Audio Stream can be stopped (no more sound, no meter display).
It can happen when changing audio system configuration (in Windows Control Panel / Sound
properties) or when plug or unplug USB device or when launching other program that could use
same audio device … In this case, simply restart audio engine or re-select an audio device out
A1 or input 1 or any other in Voicemeeter. It will restart audio stream automatically (otherwise it
could mean that audio device are used by other process and cannot be used anymore by
Voicemeeter).
–h : to hide GUI
–i : to install
–u : to uninstall
It can be useful to restart audio engine from a shortcut, for example to re-activate a known USB
headset already connected to one Voicemeeter hardware input, but not physically plugged to
the computer. When re-plugged to the computer, Voicemeeter Audio Engine has to be restarted
to make it work again.
To run Voicemeeter with a specific configuration file, use these following command lines
(Voicemeeter must have been shut down before – if Voicemeeter is already running, it will do
nothing):
–l”filename.xml” or -L”filename.xml”
Registry Parameters:
Some parameters in the registry (regedit.exe) can be interesting for some expert users in very
specific use case or rare technical problems. Do not modify these values without having getting
advice on our support resource (forum, mail).
We are talking here about some values present in the following registry directory
HKEY_CURRENT_USER\VB-Audio\VoiceMeeter
DelayedStartS
This value gives the countdown in second before starting audio engine on Voicemeeter Startup
(5 second per default). This is represented by a growing bar with a countdown displayed on the
A1, A2… device selection area when launching Voicemeeter. This is done to let the time to all
audio services and drivers to be started before Voicemeeter start its audio engine. If a driver is
not ready when Voicemeeter Audio engine starts, this device won’t work until restarting
Voicemeeter Audio Engine (Menu -> Restart Audio Engine).
preferredResolution
This value gives the preferred bit resolution used by Voicemeeter Banana & Potato (24 bits per
default). Voicemeeter Standard is always using 16bits per default with Windows Audio Interface.
In any cases, the final bit resolution is the result of a negotiation with the audio interface (that
can force to use other resolution than the preferred one).
EngineMode
This value gives a bit field of feature related to WASAPI audio engine. Must be ZERO per
default.
0x00000001 : MODE_SWIFT
0x00000100 : INPUT EXCLUSIVE MODE
0x00000200 : OUTPUT EXCLUSIVE MODE //set anyway in Voicemeeter