Setup Documentation
Everything you need to get Multi-Language Live Captions running — from opening the app in your browser to your first live session.
On this page
Requirements
Before you begin, make sure you have the following:
- A modern browserChrome, Edge, or Safari. Firefox works for most features.
- Microphone or audio interfaceAny input device your browser can see will work.
- Azure account with Cognitive ServicesThe free F0 tier is enough for most events.
- A stable internet connectionA wired connection is recommended for live events.
Launching the App
There's nothing to install. The full app runs in the browser.
1. Open the app
Visit the hosted app in any modern browser:
https://multi-language-captions.littlebigideas.ca2. Grant microphone access
Your browser will ask for permission to use the microphone. Click Allow. The app needs this to stream audio to Azure for transcription.
3. That's it
You'll land on the credentials panel. Enter your Azure key once and it's saved to your browser's local storage for next time — it never leaves your device.
Azure Speech Setup
The app uses Azure Cognitive Services for real-time speech recognition. You need a Speech resource key and region.
Create a Speech resource
- 1Go to portal.azure.com and sign in.
- 2Click Create a resource and search for Speech.
- 3Select your subscription, create a new resource group, choose a region close to your event, and select the Free F0 pricing tier.
- 4Once deployed, go to Keys and Endpoint in the resource menu. Copy KEY 1 and your Location/Region.
Enter your credentials
Paste your key and region into the credentials panel on first launch. They're stored in your browser's localStorage — nothing is sent to or stored on our servers.
Tip: if you use the app on a shared computer, use the Clear credentials button in the settings menu when you're done.
Azure Translator Setup (optional)
If you want to add a third language in addition to English and French, you can enable the Azure Translator service for on-the-fly translation of the transcribed text.
Create a Translator resource
Follow the same steps as for the Speech resource, but search for Translator instead. Then, in the credentials panel, expand Advanced and paste in:
- ›Translator Key
- ›Translator Region (e.g. eastus)
- ›Translator Endpoint (defaults to the global endpoint)
Without this, the app runs in two-language mode (EN + FR) using Azure Speech's native multilingual recognition — no additional configuration needed.
Running a Session
Select your audio device
From the device dropdown, pick the microphone or audio interface input you want to transcribe. Click Start Captioning.
Share the viewer URL
Once a session is live, share this URL with your audience:
https://multi-language-captions.littlebigideas.ca/viewerAnyone with the link can open it in any browser — desktop or mobile — and see captions update in real time. No login required.
End the session
Click Stopwhen you're done. The viewer page will show a “Session ended” message. You can start a new session any time without re-entering your credentials.
Troubleshooting
No audio devices appear in the dropdown
Make sure your browser has microphone permission for the site. In Chrome, click the padlock icon in the address bar and set Microphone to Allow, then reload.
Azure returns 401 Unauthorized
Double-check that your Speech key is correct and that the region matches the region of your Azure resource exactly (e.g. eastus, not East US).
Captions are delayed or choppy
Azure Speech works best on a stable network. Wi-Fi latency can cause buffering — use a wired connection when possible. Also pick an Azure region close to your event location.
The browser tab freezes during a long session
Keep the app tab in the foreground. Some browsers throttle background tabs, which can stall the audio stream. Consider using a second browser window for other tasks.
Viewer shows 'Waiting for captions…' but the app is running
Make sure the viewer is on the same session URL your app is broadcasting to. If you reloaded the app mid-session, the viewer may need a refresh to reconnect.
Still stuck? Get in touch and include your browser, OS, and any error shown in the app or the browser's developer console.