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 transcription of video/audio files that is described on a separate page
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 cloud transcription services:
- Google Speech to Text. Supported languages are listed here.
- Scriptix Speech to Text . Among others the following languages are supported: Arabic, Danish, Dutch, English, Filipino, Finnish, Flemish, German, Italian, Norwegian, Spanish, Swedish
- Microsoft Azure Cognitive services. Supported languages are listed here
- Fraunhofer Live Transcription. German and English are supported.
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
-
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:
Scriptix
To configure FAB Subtitler to use Scriptix cloud service as the live transcription service open Options / Special / Transcription:
-
Enter the API Key for Scriptix Live Transcription
-
The API Key can be generated by Scriptix in the web interface
-
Register a new account or login to your existing account: https://api.zoommedia.ai/login/register
-
Enter your billing profile (in the “Profile & Settings”) and select your preferred subscription (“Subscription & Bundles”)
-
Go to “API Tokens”
- Select “Realtime” token type:
- Copy the realtime API token from the API Tokens page into the FAB Subtitler
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
Fraunhofer
To configure FAB Subtitler to use Fraunhofer cloud service as the live transcription service open Options / Special / Transcription:
-
Enter the API Key for Fraunhofer Live Transcription
-
You will get the API Key from Fraunhofer.
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 ÄÖÜ
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.
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.
The live transcription system can use the HTTP GET as following 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 ÄÖÜ
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”
This will allow you to send a HTTP GET REST request to start or stop the live transcription functionality:
- HTTP GET http://ip:port/livetranscription/start
This will instruct FAB Subtitler to go ONAIR (establish a connection to output devices for transmission of subtitles).
- HTTP GET http://ip:port/livetranscription/stop
This will instruct FAB Subtitler to go OFFAIR (close the connection to output devices for transmission of subtitles).
A real-world usage example would look like this:
-
The automation system would have to send HTTP GET start and stop calls to FAB Subtitler for programs that need live subtitling with live transcription. You would have to check if your automation system can send such HTTP GET requests as described above to FAB Subtitler.
-
In case that you would like to use your own live transcription service then this live transcription service would have to provide the recognized text to FAB Subtitler within a HTTP GET request as described above.