Trunking Recorder Call Transcribe
Call Transcribe enables selected recorded calls to be transcribed using the OpenAI Whisper or Microsoft Azure Speech-to-text services. Calls that trigger a Call notification email will also automatically be transcribed.
OpenAI Whisper Transcribe
Trunking Recorder supports using "Speaches" which is an OpenAI API-compatible server powered by faster-whisper speaches GitHub
"Speaches" can be locally hosted and has GPU and CPU support
It can be deployed via Docker Compose / Docker.
Note: Trunking Recorder should work with any OpenAI API-compatible transcription server/service, but has not been tested with any at this time.
To enable OpenAI Whisper "Speaches" Call Transcribe:
- Install and configure "Speaches" (Recommended to install it on a machine other than the Trunking Recorder server) "Speaches" Installation
- Access the "Speaches" Playground web interface (Default port is 8000) and verify that everything is up and running.
- In Trunking Recorder click the "File" menu item at the top and then select the "Configure" option.
- From the Configure menu select the "Transcribe" tab.
- Click the "OpenAI Whisper" tab.
- Check the "Enable OpenAI Whisper Call Transcribe" checkbox.
- Enter your "Speaches" server URL. (Example: "http://192.168.1.50:8000")
- By default, "Speaches" does not require a subscription key so you should be able to leave this blank.
- Enter the model "Speaches" will use to transcribe the call audio. (Example for GPU setups: "Systran/faster-whisper-large-v3")
- Enter the spoken language used in calls if known as it will improve the performance. Leave blank to allow for automatic detection.
- Enter the sampling Temperature, the value should be between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.
- Check the "Enable Voice Activity Detection (VAD) filter" to enable the "Speaches" server to remove silence longer than 2 seconds (Silence length can be changed on the "Speaches" server configuration).
- Check the "Enable Phrase prompts" to send the Talkgroup and Radio labels along with the added Keyword phrases as "prompts" to help improve accuracy. Note:Sometimes the prompts can influence the model when it hallucinates and cause it to include and repeat the prompt words, this is most often seen in short calls that don't contain spoken words.
- To skip transcribing short duration calls, enter in a millisecond value. Short calls without any spoken words are more likely to get transcribed as random text.
- Click the "Call transcribe" tab.
- Select the "Talkgroups to transcribe" option and the corresponding talkgroups you want transcribed after each call is recorded.
- Click the "Keyword Phrases" tab and enter any extra keyword phrases you need to help improve accuracy of the speech recognition. After a few calls have been processed, you will start to notice if extra phrases are needed.
- Click the "Save" button
- If configured correctly all newly recorded calls for the selected Talkgroups will display the call transcription text on the Trunking Recorder Web Interface. Note: Transcribed Calls will display a green colored plus sign to the left of the time. Click the plus sign to expand the Call details.
- Also, all new Call notification emails will include the transcribed call text in the email.
- If any errors are encountered, they will be logged in the Trunking Recorder log file.
Note: For more information on the various Whisper options see the OpenAI Whisper API documentation. You can also use the Speaches Playground to Upload a call MP3 or WAV file from Trunking Recorder and generate a transcription of the audio. You can test various models to see which one works the best for your setup (accuracy, performance, hardware resources, storage, audio environment). If you want to test a new model you will have to download it first. See Model Discovery for more information.
Microsoft Azure Transcribe
Call Transcribe enables selected recorded calls to be transcribed using the Microsoft Azure Speech-to-text services. Calls that trigger a Call notification email will also automatically be transcribed.
The Call Transcribe feature does requires a Azure Cognitive Services subscription.
Free (F0) subscriptions currently offers 5 audio hours free per month.
Paid standard (S0) subscriptions cost roughly $1 per audio hour.
To verify currently pricing check Azure for more information.
Note: Azure requires WAV files, when recording Unitrunker calls as MP3 files a WAV file will also be recorded automatically. If importing Calls from SDRTrunk, ProScan, or DSDPLus as MP3 files they will automatically be converted to WAV as needed. All WAV files will be deleted once Call Notification is complete.
To enable Call Transcribe:
- Create and setup an Azure subscription. AZURE - Create one for free
- Create the Speech resource in Azure generating the Azure Key and Region information. AZURE - Create a Speech resource in the Azure portal.
- From the Configure menu select the "Transcribe" tab.
- Check the "Enable Call Transcribe" checkbox
- Enter your Azure subscription key that you generated on the Azure portal website.
- Enter your Azure region information as displayed on the Azure portal website.
- Select the Talkgroups which should be transcribed after each call is recorded.
- Click the "Keyword Phrases" tab and enter any extra keyword phrases you need to help improve accuracy of the speech recognition. After a few calls have been processed, you will start to notice if extra phrases are needed.
- Click the "Save" button, Trunking Recorder will attempt to verify that the Microsoft Visual C++ 2019 Redistributable 64-bit is installed. If not, it will display a message allowing you to download the file from Microsoft.
- Install the Microsoft Visual C++ 2019 Redistributable 64-bit if you were prompted.
- If configured correctly all newly recorded calls for the selected Talkgroups will display the call transcription text on the Trunking Recorder Web Interface. Note: Transcribed Calls will display a green colored plus sign to the left of the time. Click the plus sign to expand the Call details.
- Also, all new Call notification emails will include the transcribed call text in the email.
- If any errors are encountered, they will be logged in the Trunking Recorder log file.