What is this for?
This is so when you do prank calls, you, the callers, and your friends on Discord can all hear each other. If that's what you're looking for, you're in the right place.
Software you'll need:
1. Install both of the programs. For Virtual Audio Cable, keep your download files, you may need them for the next step. Restart your computer after installing both programs.
2. Open the control panel for Virtual Audio Cable. The easiest way to do this is going to your start menu and just searching for "vcctlpan" and launching it from there. Make sure you launch it with administrator permissions. If you can't find it there, look in your download files for Virtual Audio Cable. It should look like the picture below:
Spoiler: click to toggle
3. In the upper left corner of the Virtual Audio Cable control panel, set "Cables" to 3, and then click the "Set" button near it. Select all of your cables and set "Stream Buffer (ms)" to 10ms, and make sure you click the "Set" button.
4. Now you want to launch Voicemeeter. Make sure you launch voicemeeterpro.exe and not voicemeeter.exe. Make all of your settings look like the picture below. To add hardware inputs, simply click the text directly underneath "Hardware input" and select from the drop down menu. Where it says "Your speakers/headphones" and "Your microphone" you'll obviously want to find those devices in the drop down menu and select them for that entry.
USE THE "WDM" VERSION FOR EVERY DEVICE WHEN AVAILABLE
Spoiler: click to toggle
5. Go to the menu in Voicemeeter and make it look like this:
Spoiler: click to toggle
6. Now right click the speaker icon in the bottom-right of your screen and select "Playback devices", set "Voicemeeter VAIO" not "Voicemeeter AUX VAIO" as your default playback device. Optionally, it can also be helpful to set "Line 3" as your default Recording Device.
7. You're almost done now. All you have to do is configure all of your programs to use this new setup. Set Discord to have Line 1 as the input and Line 2 for the output. Now set the program that you do your calls with (Google Hangouts, Skype, etc.) to have "Voicemeeter VAIO" as the input and "Voicemeeter AUX VAIO" as the output. For your recording software you'll want the input to be Line 3.
You're done! If it's not working, you might have to restart again. Now for the love of god, disable your Windows Sounds.
If you have any issues, refer to the Troubleshooting section at the bottom. If you don't find your answer there then make a reply on this thread about it.
-------------------------------
Everything from here on is optional, so if you just want to do prank calls and you don't care about optimizing your setup too much, you can stop here. Also if you're a grandma-level-computer-user you should probably stop here as well and make your grandson some cookies. He would appreciate it a lot.
-------------------------------
Making Voicemeeter output in a higher sample rate
Spoiler: click to toggle Before doing this, you should know you should have a common sample rate across all of your devices and you need to find out what that sample rate should be. Check out your audio devices in the "Playback Devices" and "Recording Devices" menus and right click > properties > advanced. See what sample rates your headphones/speakers/microphone and input/output at. You want to set them all to the highest common sampling rate between them, normally 48khz. Your options in Voicemeeter will be 44.1khz, 48khz, 88.2khz, and 96khz.
1. Go to the same folder voicemeeterpro.exe is installed in. You should find two files in that same folder titled "VBCABLE_ControlPanel.exe" and "VBVMAUX_ControlPanel.exe", launch them both.
2. In both of those windows, go to "Options" and set the sampling rate you want on both of those. You will need to restart, but before you restart, make sure you disable Voicemeeter from your startup programs. You can do this by launching Task Manager (Ctrl + Shift + Escape), going to the "Startup" tab, selecting Voicemeeter and disabling it. You can set it back after the restart.
3. In Voicemeeter, (Menu > System Settings/Options > Preferred Main SampleRate) and set it to your preferred sample rate.
4. Lastly, go into your Virtual Audio Cable control panel (vcctlpan.exe) and set the max "SR" (sample rate) on all of your cables to the desired sample rate. Make sure you do it on all of the cables and make sure you click the "Set" button.
You're done now! If you record in Audacity, go to (Edit > Preferences > Quality > Default Sample Rate) and set it to your preferred sample rate.
Getting the lowest latency in your audio setup
Spoiler: click to toggle 1. Go to the same folder voicemeeterpro.exe is installed in. You should find two files in that same folder titled "VBCABLE_ControlPanel.exe" and "VBVMAUX_ControlPanel.exe", launch them both. 2. Play some music or something, we want some audio going through here for the next step. 3. In both of those windows, go to "Options" and set the "max latency" to something more appropriate. To calculate this, look at the "Input" and "Output" on these control panels. You'll see b128, b256, b512, etc. Find the first one from the top to have a value of 0. This is your "Max Buffer". 4. Get a calculator and multiply your max buffer by 3. The resulting value is what you should set your max latency to. 5. You will need to restart, and again, before you restart, make sure you disable Voicemeeter from your startup programs. You can do this by launching Task Manager (Ctrl + Shift + Escape), going to the "Startup" tab, selecting Voicemeeter and disabling it. You can set it back after the restart. 6. Open Voicemeeter and go to (Menu > System Settings / Options) and try pushing the buffer for WDM down. If you hear crackling throughout any of your setup, you've pushed it too far. 7. Download ASIO4ALL and install it. Make sure you enable "ASIO4ALL v2 Off-Line" during the installation. When you finish installation, set ASIO4ALL as A1 in Voicemeeter. Close Voicemeeter through Task Manager, and while you're at it, close everything else that has to do with audio. Now launch ASIO4ALL Off-Line and find your speakers/headphones and enable them. If you get a red X that mean you did not close everything that is using your audio. 8. Now open everything back up, play some music (or any constant audio for you to listen to while you test), and keep pushing the "ASIO Buffer Size" slider down in ASIO4ALL until you hear crackling, then keep pushing it back up until the crackling goes away. Total silence normally means stuff is resetting. 9. Optional, if your microphone and headphones/speakers are going through the same driver (like if you use an external sound card or USB audio interface for both your microphone and headphones/speakers) you can actually use ASIO4ALL for both at the same time. Just go in Voicemeeter and click on the first strip where your microphone's device name is and select "- remove device selection -" from the drop down menu. Then make sure your microphone is enabled in ASIO4ALL Off-Line, and then go to Voicemeeter (Menu > System Settings / Options) and set your microphone to patch into IN 1 from Out A1.
Setting up macro keys
Spoiler: click to toggle If you check out the resources at the bottom, there is a manual for Voicemeeter Banana in there. Go there and skip to page 29. This is where you can find all the documentation on creating macro keys. There's a lot to cover so I'm not going to cover it all here. 1. Get the macro buttons window open for Voicemeeter, if you've followed the tutorial correctly it should already be open, but if it isn't then you'll want to go to your Voicemeeter install folder and open "VoicemeeterMacroButtons.exe", or just type that into your start menu. 2. To add a new macro, you right click one of the blue squares and fill in the form that pops up the way you want it. Here's a quick rundown of what the important items in this menu do: "Button Type" decides whether your button is toggleable or not, meaning whether or not you have to hold down the button in order to keep the button in it's "ON" state or if you have to press it again for it to exit it's "ON" state. "Keyboard Shortcut" is the key you press to activate that button "Request for initial state" is what happens as soon as you press the button. It's not super useful in general. "Request for Button ON / Trigger IN" is what happens after "Request for initial state" "Request for Button OFF / Trigger OUT" is what happens after the button turns off (i.e. when you let go of the button, or when you toggle the button off) "Exclusive Key" determines whether other programs can use that key/combination of keys. I have this checked on all of my macros to avoid conflict. 3. Now that you know what these do, you can make your own with the resources provided above. Alternatively, you can just add these that I've already made. *To save all of your macros, right click the white area of the bar at the top of the macros program and select "Save Button Map" and go from there. --- "Button for muting your mic"Button Type: 2 Positions Request for initial state: Request for Button ON / Trigger IN: strip[0].mute=1; Request for Button OFF / Trigger OUT strip[0].mute=0; --- "Button for shutting up your friends so you can do a damn call"Button Type: 2 Positions Request for initial state: Request for Button ON / Trigger IN: strip[1].mute = 1; Request for Button OFF / Trigger OUT: strip[1].mute = 0; --- "Button for restarting Voicemeeter's audio engine"Button Type: Push button Request for initial state: Request for Button ON / Trigger IN: Command.Restart=1; Request for Button OFF / Trigger OUT: --- "Button for shutting down Voicemeeter"Button Type: Push button Request for initial state: Request for Button ON / Trigger IN: Command.Shutdown=1 Request for Button OFF / Trigger OUT: --- "Button for doing my Marijuana Town voice"Button Type: 2 Positions Request for initial state: Request for Button ON / Trigger IN: strip[0].fx_x=-0.2; strip[0].fx_y=0.9; strip[0].A1=1; strip[0].Color_y=1; Request for Button OFF / Trigger OUT: strip[0].fx_x=0; strip[0].fx_y=0; strip[0].A1=0; strip[0].Color_y=0; --- "Button for sounding like Brad's Lt. Tuck Pendleton voice"Button Type: 2 Positions Request for initial state: Request for Button ON / Trigger IN: strip[0].fx_x=0; strip[0].fx_y=0.5; strip[0].A1=1; strip[0].Color_x=1; Request for Button OFF / Trigger OUT: strip[0].fx_x=0; strip[0].fx_y=0; strip[0].A1=0; strip[0].Color_x=0; --- "Button for changing the call volume"Button Type: 2 Positions Request for initial state: Request for Button ON / Trigger IN: Strip[4].FadeTo = (-18,100); Request for Button OFF / Trigger OUT: Strip[4].FadeTo = (-9,100); --- "Button for making the call volume extra loud"Button Type: 2 Positions Request for initial state: Request for Button ON / Trigger IN: Strip[4].FadeTo = (0,100); Request for Button OFF / Trigger OUT: Strip[4].FadeTo = (-9,100); --- -------------------------------
Troubleshooting:
RESTART YOUR COMPUTER BEFORE GOING THROUGH ANY TROUBLESHOOTING
My Voicemeeter looks different! It looks like this:
Spoiler: click to toggle
You need to launch voicemeeterpro.exe, not voicemeeter.exe. Check your install folder. If it's not present in there then you did not download Voicemeeter Banana and you'll need to uninstall your current Voicemeeter and download from the link provided at the top of this thread.
My audio starts crackling every now and then
Make sure you set "Stream Buffer (ms)" to 10ms in your Virtual Audio Cable control panel (vcctlpan.exe) as mentioned above. If that doesn't fix it, check out the section below.
My audio crackles constantly
Check vcctlpan.exe and see if the counters under "Oflows" and "UFlows" are going up. If they are, set "Stream Buffer (ms)" to be a higher value on all of the cables. If they aren't, turn the buffer for WDM up in Voicemeeter (Menu > System Settings / Options) and see if that stops the problem.
If the two solutions above didn't work out, launch "VBCABLE_ControlPanel.exe" and "VBVMAUX_ControlPanel.exe" from your Voicemeeter install folder and see if "Push loss" or "Pull loss" are increasing in value. If they are, increase your Max Latency in the options tab of both of those windows. You'll need to restart and Voicemeeter will have to be disabled as a startup program.
If you're using ASIO4ALL, turn your buffer up inside of that program and see if that solves the crackle.
If none of the above fixes your issue, refer to the troubleshooting sections in the resources below.
-------------------------------
Resources: https://www.vb-audio.com/Voicemeeter/VoicemeeterBanana_UserManual.pdf https://www.vb-audio.com/Cable/VBCABLE_SystemSettings.pdf vac.chm from the Virtual Audio Cable download files
|