The Automatic Fix As of September 2018
In 2018, we implemented an integration with Discord to get rid of the echo when you and your friends communicate through Discord. It works by detecting when the host can hear voice audio from anyone in Discord, and lowering the volume of Parsec's captured audio whenever anyone besides the host speaks.
How to enable automatic echo cancellation for Discord
Go to Parsec's settings and turn Echo Cancelling ON, in the Hosting tab.
What to do when the automatic fix isn't working
- Make sure to enable the setting before people connect to you
- Check if Standard is used in Discord's Settings > Voice & Video > Audio subsystem
- Check if %appdata%\Parsec\harmony32.dll exists (if not, your PC might be blocking it)
- Disable any software for virtual surround sound or audio enhancing, and restart Discord and Parsec from the taskbar icons in the bottom-right
- If you have a complex audio setup for live streaming, that could be the cause. However, I'd recommend using the alternative solutions below
If none of the above fix it, then you're better off using the alternative fixes below.
What about other applications aside from Discord?
The automatic echo cancellation is specifically using some small Discord integration to actually work. Cancellation for other applications may be introduced in the future, but for now you should use one of the alternative fixes below.
The Phone Fix
While not a real fix, it's a really easy workaround. The host can just join the call using a phone or other device instead of their hosting PC.
The Manual Fix
The manual fix takes some time to set up but always works if done right and doesn't lower the volume of everything else when someone talks. You might however notice a bit of added latency. This fix should be done by the host.
How to set up the manual fix
VB-Audio Cable will be used for this manual fix, which you can download here. Unzip it and run the setup as administrator. Make sure to choose the correct 32 or 64-bit version for your PC.
After it's installed, right-click the sound icon on your taskbar, open Sound settings and open the Sound Control Panel. On older versions of Windows, you can just right-click and open "Sounds".
In the Playback tab, you'll see the default device with a green check mark (in my case it's "Speakers"). Keep in mind which one is yours as it will be used in this tutorial. Set CABLE Input to default as shown below.
In the Recording tab, go to CABLE Output's properties. In the Listen tab, check "Listen to this device", and set it to playback through your original default device.
Then, you can modify the settings of Discord or other apps you use to communicate with friends. In Discord's case, go to Voice & Video settings and set the output device to that same original default device.
Then just restart the PC to ensure everything else starts using CABLE Input for playback.
How it works
What you're essentially doing is creating a second "virtual" speaker which all apps use, except Discord. Whoever connects will then hear everything, except Discord, thus eliminating the echo. You then set the virtual speaker to be heard by your actual speaker. As a result, you can hear everything, but your clients can't hear Discord.