How to configure transcription in Plugin Framework
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 Customer Relationship Management, or CRM, is (usually) a software-based, data management method to deal with interactions with customers and potential customers. or a database.
Requirements
- Google Cloud, with "Cloud Speech-to-Text API" enabled and json credentials
Transcription in Plugin Framework
There are a few settings required to allow plugins to use transcription functionalities. First two optional settings can be set in the general SharePoint UCC A Unified Contact Center, or UCC, is a queue of interactions (voice, email, IM, etc.) that are handled by Agents. Each UCC has its own settings, IVR menus and Agents. Agents can belong to one or several UCCs and can have multiple skills (competencies). A UCC can be visualized as a contact center “micro service”. Customers can utilize one UCC (e.g. a global helpdesk), a few UCC’s (e.g. for each department or regional office) or hundreds of UCC’s (e.g. for each bed at a hospital). They are interconnected and can all be managed from one central location. 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 |
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 |
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
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.
JSON
{
"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":[
]
}