If you are experiencing any issues or delays (e.g., ‘Please Wait’ loading takes more than 30 seconds), see the troubleshooting tips below.
First, we recommend a hard refresh of the browser. To do this, follow the instructions below while on the VirtualSpeech page:
In Chrome: Ctrl + Shift + R (or Cmd + Shift + R on a Mac)
In Edge: Ctrl + Shift + R or Ctrl + F5
In Safari: Cmd + Option + R
We recommend using Chrome as the browser if the hard refresh doesn't fix the issue.
In addition to the reset, if you’re still unable to progress, the issue could be related to your network connection or microphone setup.
If possible, please try switching to a different network or using a personal/mobile hotspot to see if that helps.
Tools such as Zscaler and VPNs can cause issues. Your IT team may need to allow some addresses to get the simulations working with these. In the meantime, try a mobile hotspot or a different device.
We have two roleplay conversation modes: Realtime (the default) and Manual. Realtime streams audio between you and the AI over WebRTC, the same technology used for video calls, and some company networks block it. Manual mode works on most networks.
These checks show whether your network allows Realtime mode. They take about 3 minutes and need no account. Use the same computer, browser and network (including VPN, if you use one) that you’ll use for training.
Open each address below in a new browser tab, and note what appears.
Address | ✅ Passed if you see | ❌ Blocked if you see |
A short block of text starting with | A page from your company or security provider saying the site is blocked | |
A short block of text starting with | A page from your company or security provider saying the site is blocked |
The "error" text is expected. It means the service answered, and it only says "error" because the test doesn’t log in.
Open a new tab, type about:blank in the address bar and press Enter. Don’t use a link, and don’t run this on a blank New Tab page.
Press F12 (on a Mac, Cmd + Option + J) and click the Console tab.
If the browser warns you about pasting, type allow pasting and press Enter.
Paste the following, press Enter, and wait about 10 seconds:
(async () => {const pc = new RTCPeerConnection({ iceServers: [{ urls: "stun:global.stun.twilio.com:3478" }] });let udp = false;pc.onicecandidate = (e) => { if (e.candidate && e.candidate.type === "srflx") udp = true; };pc.createDataChannel("test");await pc.setLocalDescription(await pc.createOffer());await new Promise((r) => setTimeout(r, 5000));pc.close();console.log(udp ? "PASS: voice audio (UDP) can leave your network": "NOT AVAILABLE: UDP appears to be blocked. Realtime will try to relay audio over TCP instead.");})();
Only the PASS / NOT AVAILABLE line matters. You can ignore any other messages in the console. If you see a red “Content Security Policy” message, the test was run on the wrong page, so go back to step 1.
Results | What to do |
Check 1 and Check 2 both pass | Your network supports Realtime mode. If conversations still don’t start, see “If Realtime connects but the avatar stays silent” below. |
Check 1: one address blocked | Realtime should still work: the app automatically uses whichever route is available. If conversations don’t connect, contact tech@virtualspeech.com and tell us which address was blocked. |
Check 1: both addresses blocked | Send the request on the Firewall and IP configuration page to your IT team. In the meantime, switch to Manual mode. |
Check 2 not available | Realtime will try to relay audio over TCP. This also needs to be allowed by your IT team. For your IT team: run |
You can change to Manual mode in the Roleplay configuration settings in the main menu.

Press F12 and open the Console tab before you start the roleplay.
Press Begin Roleplay, wait 10 seconds, then say something.
Wait another 20 seconds, scroll to the bottom of the console, and send a screenshot to tech@virtualspeech.com. Lines starting with [JS], and anything shown in red, are the most useful.
In an Avatar Roleplay Scene, you can select your active microphone by clicking the microphone toggle in the top right corner and choosing from the dropdown list.

The microphone selection dropdown will resemble the example image below:

Additionally, you can use our mic tester to check that your microphone is working: Mic Tester
If you get a pop-up error when the simulation loads, such as shown below, try the exercise in incognito mode.
If that works, clear your browser cache for the VirtualSpeech webpage, and it should work again.

Access Settings: Click the three-dot menu icon (More) in the top right corner, then select “Settings”.
Navigate to Site Settings: Go to “Privacy and security” and then click on “Site settings”.
Select Microphone: Under “Permissions,” click on “Microphone”.
Manage Microphone Access:
View allowed/blocked sites: You’ll see a list of sites that can or cannot access your microphone.
Change permissions: Click on a site to modify its access (allow, block, or ask for permission).
Choose default microphone: You can also select your default microphone for Chrome from this section.
Settings Menu: Click the three dots (Settings and more) in the top right corner, then select “Settings”. In the left sidebar, choose “Cookies and site permissions”, then click “Microphone”.
Managing Microphone Access:
Default Microphone: In the Microphone settings, you’ll find a dropdown menu labeled “Microphone”. Select your preferred default microphone from the list.
Website Permissions: Below the default microphone selection, you’ll see a list of websites that have requested access to your microphone. For each website, you can:
Allow: Click the “Allow” button to grant the website access.
Edit: Click the “Edit” button to make further adjustments to the permissions, such as selecting a different microphone for that specific site.
If you are still having issues after trying these steps, please contact: tech@virtualspeech.com