System requirements and installation
What LiveCaption needs on Windows and macOS, how it gets onto the machine, and what to check before the first start.
Today LiveCaption is not installed from an installer but from the source repository: whoever has been given access clones it, and the launcher script builds the runnable program by itself on the first start. If you do not have access yet, ask for it on the Contact page. This chapter tells you what the machine needs, and how you get to the first caption window on screen.
What the machine needs
LiveCaption itself – the caption window and the settings window – is a light program. The heavy work (transcribing speech, translating, the interpreter's voice) is done by the servers; the next section covers them.
| What | Windows | macOS |
|---|---|---|
| System | Windows x64: Windows 11, or Windows 10 version 2004 or newer | an Apple Silicon (M-series) Mac, macOS 14.2 or newer |
| .NET 10 SDK and PowerShell 7 | for building the program and for the launcher scripts; the environment check's fix mode installs them | the same; the finished app bundle no longer needs them to run |
| Virtual audio cable | VB-CABLE – needed in calls; for both directions the A+B pack too | BlackHole 2ch (or 16ch) |
| Headphones | whenever the interpreter speaks | the same |
| Internet | only for the first downloads (tools, models) | the same |
- Keeping the captions out of screen sharing – so the other participants of a call do not see them – works on Windows from version 2004. On an older Windows the program starts, but warns that the captions may show up in the shared picture.
- Headphones are not a matter of comfort: from a speaker the interpreter's voice would get back into the microphone, and the program would caption its own translation again.
- The virtual audio cable is only needed in calls (when the program listens to the call's audio, or carries the interpreter's voice into the call). Captioning a lecture or a video does not need it. Setting it up is covered in the In calls: virtual cable and the outgoing direction chapter.
- VB-CABLE is donation-based, so we do not distribute it: the packages have to be downloaded by hand and placed in the repository's
Resourcesfolder, where the install scripts find them. Installing it is the only step that asks for administrator rights.
What the servers need
Captions, translation and the interpreter's voice come from three servers (the caption service, the translator and the voice service), and behind them all stands the account service, which manages the keys and the permissions. The servers can run on the same machine as LiveCaption, or on a more powerful machine with a graphics card on the network.
- If the servers run on this machine, the machine has to meet the servers' requirements too (on Windows an NVIDIA graphics card with a current driver, Python for the voice engine). The Prerequisites and environment check chapter lists them.
- If the servers run on another machine, the table above is enough here; LiveCaption only asks for the servers' addresses and a key.
- Without a graphics card and without a server, on Windows the system's own recogniser, Windows Live Captions, can also be the caption source – translation still needs a reachable translator.
The measured video memory configurations are on the website's Installation page.
How it gets onto the machine
1. Clone the repository
Clone the source repository with its full history onto the machine. Every further step runs from the repository's root folder.
2. Survey the environment
One command tells you where the machine stands: it reports what is present, what is missing, and the command that installs it. The report changes nothing; the fix mode asks per item, and tells you in advance how big the download is and whether it needs administrator rights.
check-environment.cmd
check-environment.cmd -Fix
On Windows the winget package manager is a prerequisite itself: on Windows 10 and on LTSC editions it has to be installed once by hand. On macOS the report comes from check-environment.command (double-click it in the Finder); the app's tools can also be installed with Homebrew:
brew install --cask powershell
brew install --cask dotnet-sdk
brew install --cask blackhole-2ch
The marks in the report: + present, ! missing and mandatory, - missing but optional, ? cannot be decided.
3. The whole system in one step (if the servers run on this machine too)
setup-system.cmd (on macOS setup-system.command) walks through setting up the complete local system – installing the prerequisites, downloading the translation models, the account service and the keys – and asks where it has to. As its last step it also writes LiveCaption's keys into its settings, so on the first start everything is already filled in on the Servers tab. Every step can be repeated: an interrupted run, started again, carries on where it stopped. The server side is detailed in the Installation and removal chapter.
If the servers run on another machine, skip this step: the key comes from whoever runs the servers, and you type it into the settings window.
4. Start LiveCaption
| System | Launcher | Note |
|---|---|---|
| Windows | LiveCaption\start-livecaptionpro.cmd |
with Hungarian messages: start-livecaptionpro-langhu.cmd |
| macOS | LiveCaption/start-livecaptionpro-avalonia.command |
with Hungarian messages: start-livecaptionpro-avalonia-langhu.command; double-click it in the Finder |
The launcher builds (publishes) the program if it is not ready yet, or if the source has changed since – it does not ask, it only tells you why it starts – and then starts it. The first time can take a few minutes. It does not start or check any server: the background services are brought up by the daily launcher (launch-system.cmd, on macOS launch-system.command), before LiveCaption.
On Windows there is a second interface as well (start-livecaptionpro-avalonia.cmd): it does the same, it uses the same settings file, and only one of the two can run at a time.
On macOS: the app bundle and the permissions
On macOS publishing produces a self-contained LiveCaption Pro.app bundle in the LiveCaption/LiveCaption.Avalonia/bin/publish-osx-arm64/ folder. It can be started straight from the Finder, and once dragged to the Dock, with one click from there. While running, the program lives in the menu bar: there is no "running" dot under it in the Dock, and Cmd+Tab does not show it.
macOS ties the microphone and system audio recording to a permission, and grants it to the program responsible for the launch:
- started from a script (
.command) the terminal app (Terminal, iTerm) gets the Microphone and the system audio recording permission, and LiveCaption inherits it; - started from the Finder or the Dock Live Caption Pro asks for it itself, in its own language.
The permissions can be seen under System Settings → Privacy & Security. If the program listens to the computer's audio but only silence comes while another program is playing sound, the system audio permission is probably missing – the program's log warns about it then.
By default the bundle is signed without a certificate, so macOS may ask again for the microphone and system audio permission after every program update. This is not an error; once you grant it, captioning works as before.
On macOS the program encrypts the keys with a key held in the macOS Keychain. If the Keychain asks for access for Live Caption Pro, allow it. The keys of a settings file copied over from Windows cannot be read on macOS: they have to be entered again.
Without a display the program does not start: with a sleeping display the launcher wakes it first and waits for it briefly. On a Mac without a display the servers can run, the caption window cannot.
One instance at a time
One LiveCaption runs on a machine at a time. If one is already running – for any signed-in user –, the launcher does not start another one but warns and exits (with code 7); started directly, the program also exits with a message, and the first one stays. Two instances would open the same audio devices and write the same settings file. You cannot update under a running program either: quit it first (from the menu, or with the caption window's × button).
Removal
On Windows uninstall-environment.cmd removes what the product installed or downloaded. By default it only reports what would go and how much space it would free; deletion asks per item. The machine-level tools – Python, the .NET SDK, PowerShell 7, the audio cable – have to be requested separately, because others on the machine may use them. It never touches the repository or its history.
Where next
- First start and connecting to the servers
- The full order on a fresh machine, with every command: the First start guide.