How to configure transcription in Plugin Framework

Note Enterprise Plus License Only

Note Available in Core 8.0 or higher.

Introduction

The transcription feature allows transcribe conversion for customer voice/spoken dialogues in our Plugin Framework. Anywhere365 Dialogue Studio in combination with transcription, can be used to write the text to CRM or a database.

 

Requirements

  • Core v 8.0 or higher

  • SharePoint Template 6.0 or higher

  • Google Cloud, with "Cloud Speech-to-Text API" enabled and json credentials

 

​​Transcription in Plugin Framework

There are a few settings required t​o allow plugins to use transcription functionalities. First two optional settings can be set in the general SharePoint UCC Setting list and allow transcribed text to be written to the general UCC log file for developer debug reasons. The other settings are plugin specific and go into the "Plugin Settings" list. See table below.

Settings

Setting

​Description

​Example value

​EnableTranscriptLogging

​Enables the visibility of the transcripted text in the logs. This setting can impact privacy and should only be set to true for debugging purposes.

​True

default: False

​EnableTranscriptIntermediateLogging

​Enables logging of intermediate results. Some transcriptors are able to provide incomplete results while listening. When this setting is set to True all intermediate results are written to the log. When set to False it will only log final messages. This setting only has effect when EnableTranscriptLogging is set to True.

​True

default: False

 

Plugin Settings

Setting

​Description

​Example value

Scope

​PluginPath

​Full path to the dll of the transcriptor plugin.

C:\Program Files\Anywhere365\Core\uccplugins\Wsp.Anywhere365.SpeechToTextEngine.Impl.GoogleSpeech\Wsp.Anywhere365.SpeechToTextEngine.Impl.GoogleSpeech.dll

​Transcriptor​​​​

Note Since 8.0 these are bundled with the Core installer in the uccplugins folder.

 

​​​Plugin specific settings

​​​​Google Speech

To setup Google Cloud follow this guide: https://cloud.google.com/speech-to-text/docs/quickstart-client-libraries​.

Make sure the "Cloud Speech-to-Text API" is enabled.

The following settings need to be added in the "pluginsettings" list.

​Setting​​

​Description

Scope

​GoogleCredentialJson

​​The plain text JSON of the credential. Do not enter the path to the file, but the content of the file.

Transcriptor

Proxy server with Google Speech

To use a proxy server with Google Speech you will need to add an Environment Variable to your system (not to user only). Add the variable http_proxy​ with the value http://proxyserver.local:8080 .

 

Transcription Recording

Note Available in Core 8.0 or higher.

Introduction

The transcriptions can also be recorded in a text file.

 

Settings

Setting

Value

Description

UseTranscriptRecording

true

If true, transcript will be recorded

 

Location

The Recording will be stored at the same location as the audio recordings, Learn More

 

Data Format

In the example transcription below, you see that transcriptions have an "IsFinal" flag that indicates if the transcription has completed. Intermediate results are also logged. To determine the name or uri of the participant for which audio was transcribed, the TranscriptHistoryMessage.ParticipantId can be joined with the HistoryParticipant.Id.

{

"Version": "1.0",

"DialogueId": "f748e530-6955-47a6-b7da-0de1fe0d8ea3",

"HistoryParticipants": [

{

"Id": 0,

"ParticipantUri": "sip:ucctestuser1406@anywhere365.net",

"ParticipantDisplayName": "ucctestuser1406@anywhere365.net",

"ParticipantType": "Customer"

}

],

"ChatHistoryMessages": [],

"TranscriptHistoryMessages": [

{

"Language": "nl",

"Transcript": "Hello",

"IsFinal": false,

"ParticipantId": 0,

"Timestamp": "2020-01-06T11:38:34.8081659+01:00",

"Index": 0

},

{

"Language": "nl",

"Transcript": "Hello world",

"IsFinal": true,

"ParticipantId": 0,

"Timestamp": "2020-01-06T11:38:34.8236803+01:00",

"Index": 0

}

],

"TranslationHistoryMessages": []

}