This page contains information on how to configure live transcription functionality for transmission of live subtitles with FAB Subtitler.
The following pages describe how to use live transcription:
FAB Subtitler also supports file transcription of video/audio files which is described here
Introduction to live transcription
Any video/audio that can be reproduced in FAB Subtitler can be used for live transcription (live video and also video files). When live transcription is activated FAB Subtitler sends live audio to the cloud and receives the recognized text with a few seconds delay and transmits the recognized text as subtitles. Subtitles can be transmitted in block mode as complete subtitle or in word by word mode to reduce the delay for the viewer.
FAB Subtitler supports more than 60+ languages for live transcription using the following transcription services:
-
Speechmatics (recommended). Supported languages are listed here.
-
FAB Subtitler Server hosted locally on a server with GPU card, Windows and FAB Subtitler Server software
-
Google Speech to Text. Supported languages are listed here.
- 3rd party live transcription can provide recognized text to FAB Subtitler though a simple HTTP GET RESTful API call
The quality of the recognized text is generally not 100% perfect. In manual mode recognized texts can be corrected before they are transmitted if the quality of speech recognition is not sufficient to allow transmitting recognized text directly as subtitles.
Configuration of FAB Subtitler
Speechmatics
Speechmatics is the recommended service provider for live transcription. To configure FAB Subtitler to use Speechmatics open Options / Special / Live Transcription:

-
API Key: Create an account on https://www.speechmatics.com and generate a key in the Speechmatics portal under Settings / API Keys. The same key is used for all languages. Store the key when it is generated, it cannot be displayed again afterwards.
-
Endpoint: Address of the Speechmatics Real-Time service. The default
wss://eu2.rt.speechmatics.com/v2is the Speechmatics cloud in the EU region. Change it only if a different region or a Speechmatics container installed on premises shall be used. -
Operating mode:
enhancedprovides the best recognition quality and is the recommended setting,standardis faster and less expensive. -
Translate to the following language: Leave this field empty for normal transcription. If a language code is entered (i.e.
en-US), Speechmatics translates the recognized text and FAB Subtitler transmits the translation instead of the spoken language. -
Use the following JSON file with transcription_config: Optional setting for advanced users, described below.
-
Final transcript maximum delay (ms): Maximum time Speechmatics may take before it delivers the final recognized text (700 - 20000 ms, default 10000 ms). A higher value improves the recognition and the punctuation because more context is available to the recognizer, a lower value reduces the delay of the transmitted subtitles.
Additional transcription configuration with a JSON file
FAB Subtitler creates the configuration for Speechmatics from the settings described above. Speechmatics supports further options which are not part of the FAB Subtitler options, for example a custom dictionary, removal of hesitations, replacement of words or control of the punctuation. These options can be provided in a JSON file:
-
Tick Use the following JSON file with transcription_config and select the file with the … button. The file is only used while the checkbox is ticked, therefore it can be switched off for a comparison without losing the path to the file.
-
The file contains a Speechmatics transcription_config JSON structure message. The settings from the FAB Subtitler options are merged into the content of the file and have priority over the file. The language, the operating mode, the translation and the delays must therefore be configured in the options and not in the file.
Example of a JSON file which adds a custom dictionary, removes hesitations, replaces words and allows only full stop and comma as punctuation can be downloaded here.

-
JSON Key: The JSON Key is a text file which has to be loaded from a JSON file or the content has to be copied into this field. You will find a description how to obtain the JSON key further below.
-
To configure the Google Cloud to be used with FAB Subtitler follow these instructions:
-
Visit https://cloud.google.com and create an account. In July 2018 Google offered a trial account with USD 300 credit which can be used within 12 months. This allows extensive testing of the Google cloud service.
-
Before you can use the Google cloud you must first create a project. Create a project with the name FAB-ASR-Project as shown below


- Select the project FAB-ASR-Project as the current project

- Create Credentials for a new service account in the API Manager


- Enter your service account details

- Set the service account permissions

- Create the Json key

- After the previous step the JSON file with the credentials for the new service account will be downloaded to the computer. The JSON file shall be imported into FAB Subtitler Options /Special / Transcription / Google Speech to Text:

Microsoft
To configure FAB Subtitler to use Microsoft Azure as the transcription service open Options / Special / Transcription:

- API Key & Location: You will have to obtain both the API Key and the location from https://portal.azure.com
After logging into https://portal.azure.com:
- Click on “Create a resource” and search for “Speech”

- The click on “Create” for Speech

- Enter the data for the fields as in the picture below

- The confirmation page will also display the Location and then click on “Go to resource”

- Click on “Keys and Endpoint” to select one of the API Keys that has to be entered in FAB Subtitler settings

Using other service providers over REST API
It is possible to use other transcription services than the ones, which are provided in the FAB Subtitler, if these services can provide the transcribed text to FAB Subtitler within a HTTP GET request.
The HTTP GET request should look like this:
HTTP GET http://ip:port/livetranscription/send?text=This text was recognized and contains some special characters ÄÖÜ
URL Encoded:
http://ip:port/livetranscription/send?text=This%20text%20was%20recognized%20and%20contains%20some%20special%20characters%20%C3%84%C3%96%C3%9C
Using curl:
curl -G "http://ip:port/livetranscription/send" --data-urlencode "text=This text was recognized and contains some special characters ÄÖÜ"
This will instruct FAB Subtitler to accept the transcribed text, convert it to subtitles according to the settings in FAB Subtitler Options and transmit the subtitle(s). FAB Subtitler will take care of the appropriate timing when converting received transcribed text to subtitles.
Providing interim/non-final live transcription results
Most live transcription systems can provide interim/non-final transcription results many seconds before the final result of speech recognition is delivered. FAB Subtitler can accept interim/non-final text and use it for subtitles after the time defined in configuration settings.
To provide interim/non-final result of the speech recognition to FAB Subtitler:
HTTP GET http://ip:port/livetranscription/send?isFinal=false&text=This text was recognized and contains some special characters ÄÖÜ
URL Encoded:
http://ip:port/livetranscription/send?isFinal=false&text=This%20text%20was%20recognized%20and%20contains%20some%20special%20characters%20%C3%84%C3%96%C3%9C
Using curl:
curl -G "http://ip:port/livetranscription/send" --data-urlencode "isFinal=false" --data-urlencode "text=This text was recognized and contains some special characters ÄÖÜ"
To enable this functionality, go to “File > Options > Special > Transcription > Live Transcription” and configure live transcription as seen in the picture below:

- On the “Live Transcription” tab select “None (accept transcribed text over REST API)”
- Activate “Use this service for live transcription”
In the text sent to FAB Subtitler over REST API on /livetranscription/send you can include the following special codes:
| Code | Description |
|---|---|
| {NL} | New line |
| {SEND} | End of subtitle (send immediately when no subtitle is on screen). |
| {CAPITALIZE} | Capitalize the following word. The first letter of the following word will converted to uppercase. |
| {FORCELC} | Write the following word with lower case starting letter. |
| {1}..{8} | Text/Background color from 8 color combinations in Subtitler config. |
| {07} | First digit is background color. Second digit is foreground color. Maps to the closest of the 8 color combinations defined in Subtitler config. |
| {VB} | Bottom justification. |
| {VT} | Top justification. |
| {JL} | Left justification. |
| {VC} | Vertical center justification. |
| {JR} | Right justification. |
| {JU} | Unjustified text (positioning with spaces). |
A demo web client which allows typing the text which is then sent to FAB Subtitler BCAST using the REST API and written in HTML with Javascript is available here
This page was last updated on 2026-09-07