Voicemeeter
Included with Macro DeckControl the gain, mute, routing and macro buttons of Voicemeeter, Banana or Potato from your deck.
- Set, raise or lower strip and bus gain, with an optional fade
- Mute strips and buses, and route strips to A and B buses
- Press or switch Voicemeeter macro buttons
- Live variables for gain, mute and routing of every channel
- Triggers when a level, mute, route or macro button changes
The Voicemeeter integration connects Macro Deck to VB-Audio Voicemeeter on the same Windows computer. It talks to Voicemeeter through its Remote API, so there is nothing to set up: once the integration is on, Macro Deck finds the installed Voicemeeter and connects as soon as it runs. It works with all three editions, Voicemeeter, Voicemeeter Banana and Voicemeeter Potato, and adapts to the number of strips and buses the running edition has.
What you can do
- Turn the level of an input strip or an output bus to a fixed value, or raise and lower it in steps, optionally fading over a set time.
- Mute, unmute or toggle a strip or a bus. Buttons with a mute action light up while the channel is muted, also when you mute it in Voicemeeter itself.
- Switch a strip's send to an A or B bus on or off, or send it to only that bus.
- Turn the Mono, Solo or EQ switch of a channel on or off.
- Press or switch one of Voicemeeter's macro buttons, run commands such as Show window or Restart audio engine, control the tape recorder and load a saved settings file.
- Write any Remote API parameter with Set Parameter, several at once with Run Script, or read one into a variable with Get Parameter.
Some example setups:
- A Mic button with Mute Strip in Toggle mode for your microphone strip, which shows whether you are muted.
- A slider bound to the gain variable of your music strip, such as
voicemeeter_strip2_gain, so the slider follows the fader in Voicemeeter and moves it when you drag. - A button that routes your game strip to Only this bus
A2to move it from speakers to headphones.
How it behaves
Macro Deck checks for Voicemeeter every 2 seconds while it is closed and reads its state about five times a second while it runs. When you start or close Voicemeeter, the Connected and Disconnected triggers fire, and the variables read as unavailable while it is closed, except voicemeeter_connected. Changes you make in Voicemeeter itself, a MIDI controller or another app show up in the variables and triggers too. Actions fail with a message when Voicemeeter is not running; the Run Voicemeeter action starts it.
What you need
- Windows. Voicemeeter is a Windows application, so the integration is only available on Windows.
- Voicemeeter, Voicemeeter Banana or Voicemeeter Potato installed on the same computer as Macro Deck.
- Voicemeeter running when you use the actions (or a button with Run Voicemeeter).
Set it up
Step 1: Install Voicemeeter
Install Voicemeeter, Banana or Potato from vb-audio.com on the computer that runs Macro Deck, then start it. If you installed it while Macro Deck was running, restart Macro Deck so it finds the installation.
Step 2: Turn on the integration
In Macro Deck, click Integrations in the sidebar and click Voicemeeter. Turn the integration on with the switch at the top right. The integration has no setup dialog: it connects to the running Voicemeeter by itself.
Step 3: Check the connection
Stay on the Voicemeeter page. When Voicemeeter is not found, the issue Voicemeeter is not available explains why, for example that it does not appear to be installed. On the Variables tab,
voicemeeter_connectedreadstrueonce Macro Deck is connected.Step 4: Add an action to a button
On the Deck page, click a button. The deck must be unlocked: when the Lock button shows at the top right, it is. The editor opens with Short Press selected. Click + Add action, select Voicemeeter on the left of the Add action dialog and pick an action, for example Mute Strip. Then choose the Strip and the Mode (Toggle, On or Off).
Step 5: Press the button
Press the button on your deck. The strip mutes in Voicemeeter, and the button lights up while it stays muted.
Actions15
Put these on a button or run them from a flow.
- Set Strip Gain
- Sets, raises or lowers an input strip's level, optionally fading over a set time.
- Set Bus Gain
- Sets, raises or lowers an output bus's level, optionally fading over a set time.
- Mute Strip
- Mutes, unmutes or toggles an input strip.
- Mute Bus
- Mutes, unmutes or toggles an output bus.
- Route Strip to Bus
- Switches an input strip's send to an A or B bus on or off, or sends it to only that bus.
- Set Strip Switch
- Turns an input strip's Mono, Solo or EQ switch on or off.
- Set Bus Switch
- Turns an output bus's Mono, Solo or EQ switch on or off.
- Set Macro Button
- Presses or switches one of Voicemeeter's macro buttons, or changes only its light.
- Run Command
- Shows or hides the window, locks or unlocks the interface, restarts the audio engine, resets all settings, ejects the recorder cassette or shuts Voicemeeter down.
- Control Recorder
- Plays, stops, pauses, records, rewinds, fast-forwards or restarts the tape recorder from the beginning (Banana and Potato).
- Load Settings
- Loads a settings file saved from Voicemeeter's Menu > Save settings.
- Run Voicemeeter
- Starts Voicemeeter if it is not already running.
- Set Parameter
- Writes a single Remote API parameter, for example
Strip[0].Comp. - Run Script
- Applies several parameters at once, one assignment per line, for example
Strip[0].Mute = 1. - Get Parameter
- Reads a Remote API parameter as a number, on/off or text into a variable.
Triggers8
A button or flow can react to these events.
- Connected
- Voicemeeter started and is now reachable, with its edition and version.
- Disconnected
- Voicemeeter was closed.
- Strip Mute Changed
- A strip was muted or unmuted, for one strip or any strip.
- Bus Mute Changed
- A bus was muted or unmuted, for one bus or any bus.
- Strip Gain Changed
- A strip's level changed, with the new and the previous gain.
- Bus Gain Changed
- A bus's level changed, with the new and the previous gain.
- Strip Routing Changed
- A strip's send to an output bus was switched on or off.
- Macro Button Changed
- A macro button was switched on or off, from Voicemeeter, a MIDI controller or another app.
Variables7
Show these values on buttons and widgets, or use them in conditions.
voicemeeter_connected- Whether Voicemeeter is running and connected.
voicemeeter_edition- The running edition, for example
Voicemeeter Banana. voicemeeter_version- The running Voicemeeter version.
voicemeeter_strip<n>_name,voicemeeter_bus<n>_name- The name of each strip and bus, numbered from 0, for example
voicemeeter_strip0_name. voicemeeter_strip<n>_gain,voicemeeter_bus<n>_gain- The level of each strip and bus in dB. You can also set it, for example with a slider.
voicemeeter_strip<n>_muted,voicemeeter_bus<n>_muted- Whether each strip and bus is muted.
voicemeeter_strip<n>_<bus>- Whether each strip is sent to each A and B bus, for example
voicemeeter_strip0_a1orvoicemeeter_strip0_b1.
Frequently asked questions
Does it work on macOS or Linux?
No. Voicemeeter only exists for Windows, so Macro Deck offers the integration only on Windows.
Can I control Voicemeeter on another computer?
No. The integration uses the Voicemeeter Remote API, which only works on the same computer. Install Macro Deck on the computer that runs Voicemeeter and connect your deck to it.
Which edition do I need?
All three work: Voicemeeter, Voicemeeter Banana and Voicemeeter Potato. Some features exist only in the larger editions, for example the tape recorder (Banana and Potato) and the Sel switch (Potato).
What happens when I close Voicemeeter?
The Disconnected trigger fires and the variables read as unavailable, except voicemeeter_connected, which reads false. Actions fail with the message that Voicemeeter is not running. When you start it again, Macro Deck connects within about 2 seconds.
The integration says Voicemeeter is not available. What can I do?
Macro Deck could not find or load the Voicemeeter Remote library. Install Voicemeeter from vb-audio.com, or update it if the message says the library is missing something, and restart Macro Deck.
I used the Voicemeeter plugin in Macro Deck 2. Do my buttons carry over?
Yes. When you migrate from Macro Deck 2, buttons that used the Voicemeeter plugin by PhoenixWyllow move over to the matching actions of this integration.
More in Music and audio
Spotify
Included with Macro DeckControl Spotify playback, like songs, manage playlists and show what is playing on your deck.
YouTube Music Desktop App
Included with Macro DeckControl YouTube Music Desktop App from your deck: playback, volume, ratings and what is playing.
WebNowPlaying
Included with Macro DeckControl music and videos playing in your browser and show what is playing, through the WebNowPlaying extension.
Jellyfin
Included with Macro DeckControl Jellyfin apps and TVs from your deck, show what plays and react when playback starts or stops.
SoundPad
Included with Macro DeckPlay sounds from your SoundPad list, control recordings and show the playing sound on your deck.