FAB Subtitler supports several transcription services for speech recognition for:
transcription of video/audio files in FAB Subtitler PRO/LIVE/MPEG
live transcription of live video/audio streams in FAB Subtitler LIVE/MPEG (described on this page)
Introduction to live transcription
Live transcription is available in FAB Subtitler LIVE in manual and also automatic mode. In manual mode an operator activates/deactivates live transcription and has the possibility to correct recognized texts. In automatic mode the playout/automation system can activate/deactivate live transcription using HTTP REST API.
When live transcription is activated FAB Subtitler transfers 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
The quality of the recognized text is generally not 100% perfect but in manual mode recognized texts can be corrected before they are transmitted.
Configuration of FAB Subtitler for live transcription
Google Speech to Text
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:
To configure FAB Subtitler to use Scriptix cloud service as the transcription service open Options / Special / Transcription:
Enter the API Key for Scriptix Live (Realtime) 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 Azure Cognitive Services Speech
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 LIVE 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 LIVE to accept the transcribed text, convert it to subtitles according to the settings of the speech interface in FAB Subtitler Options and transmit the subtitle(s). FAB Subtitler LIVE will take care of the appropriate timing when converting received transcribed text to subtitles.
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”
To control (start or stop) the live transcription over HTTP with the RESTful API, the automatic operation mode has to be enabled and configured. Detailed instructions on how to set-up the automatic mode can be found below in the section “Controlling Live transcription using RESTful API”
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 LIVE 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 LIVE 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 LIVE 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 LIVE.
- 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 LIVE within a HTTP GET request as described above.
Using Live Transcription Functionality in FAB Subtitler
FAB Subtitler can transfer live audio received over SDI video or IP video to the live transcription service and transmit live subtitles with texts that are recognized by the live transcription service.
To be able to use this functionality it is first necessary to configure the “Video in a Window” functionality in FAB Subtitler correctly so that FAB Subtitler will receive live video/audio and display it on the PC monitor. Find out how on this page.
To display live video first create a new subtitle file and then click on “Display / Editor over video”. After the video is displayed on the PC monitor and you also hear the audio you can activate the transfer of the audio to the transcription service by:
- Click on “News” in the ribbon.
- Then click on “Speech Interface” to display a window with the speech interface.
- Enable or disable “Automatic Mode” depending on whether you wish to transmit recognized text automatically or if you wish to be able to correct the text before transmitting the text as subtitles.
- Then click on “Transcribe from Video” or “Transcribe from Microphone”
The recognized text will appear in the speech interface window.
Alternatively for testing purposes it is also possible to use a video file as a source for live transcription. In such case simply open a video file in FAB Subtitler, play the file and click on “Transcribe from Video”. The played audio from the video file will be sent to the live transcription service and the transcribed text will appear in the speech interface.
Detailed information about the speech interface can be found here: How to use the speech interface.
Controlling Live transcription using RESTful API
To enable the RESTful API over http please configure FAB Subtitler the following way:
- In Options/Special/Automation configure the following:
Detailed information on how to check, whether the RESTful API is available can be found here: Configuring RESTful service API
- Start the Automatic mode in Extras / Tools / Start automatic mode:
- A new window “Live transcription status” will appear in the top right corner allowing the user to manually stop the automatic mode and control the transcription if required:
FAB Subtitler LIVE and MPEG offer a RESTful service API, which can be used to control the Live transcription over http to perform the following actions:
- START the live transcription
- STOP the live transcription
The following parameters, which are optional, can be defined:
- provider: None, Azure, Google, Scriptix
- useMic – transcribe from mic or from received live video
If the parameter isn’t explicitly defined, the FAB Subtitler will select the default parameter as it is defined in “Options” and useMIC will be set to “False”.
Example REST API requests:
Start live transcription request: GET /livetranscription/start
Example: GET http://ip:port/livetranscription/start?language=de-DE&provider=Google&filename=transcription.stl&useMic=False
Simplified example: GET http://ip:port/livetranscription/start
Stop live transcription request: GET /livetranscription/stop