Portal help guide
Admin & deployment portal help guide
Overview
The LumenVox container technology stack comes with a web portal required to maintain an installation. Partners and clients can manage the implementation using their own interfaces or use our portal to call various APIs and perform the required functions. The web-based portal can be used with any public / private cloud or on-premises implementation.
This guide covers the functionality within the portal and highlights the APIs used for all features.
The portal currently serves two user communities:
- Cluster administrators: at a large implementation of platform providers, the cluster admin manages deploying the software to the tenants.
- Tenant administrators: administrators at the individual tenant (or administrators at small or on-premises installations) manage their own deployment.
A ‘Deployment’ is a tenant-level instance. It has a unique Deployment ID, for which the tenant gets licensed. To consume any LumenVox product a Deployment must be created with a Deployment ID, and this can be instantly accomplished via the portal.
For reasons of security and segregation of duties between the two types of users, we offer two interfaces:
- Admin Portal – for the cluster admin, who sets up each licensed tenant with their connection strings, encryption, and passwords to services and databases.
- Deployment Portal – for the tenant admins, who can only access their own deployment. Within it they can customize the default configuration by tweaking parameters and options, verify that all services are up and running, and run diagnostics if there’s a problem.
The Admin Portal has an access point into the Deployment Portal, via a Deployment Portal button, available in Deployment Details page.
In some implementations, the cluster admin might be the one performing administration for the deployments. In other implementations it will be more appropriate for the cluster admin to have no such access. We make it easy for IT to control this by firewall rules, white-listing access by using the host site name format: ingress_host_name.client_hostname_suffix
For example:
- admin-portal.testmachine.com
- deployment-portal.testmachine.com
Customers can choose the ports that are exposed externally. The two portals are exposed on separate (configurable) ports to aid with firewall and access configuration.
If you keep things separate, the cluster admins will only manage the deployment's existence and metadata, while the tenant admins will be able to access the data that the deployment generates, configuration data and interaction data.
If using self-signed certificates, then the following steps must be taken should you wish to view the portal from your desktop. Please see instructions Setting up self-signed certificates for the portal | LumenVox Knowledge Center.
Admin portal
Creating Deployments
The cluster admin is responsible for creating the tenant deployments, without which tenants cannot use LumenVox software. To create a deployment the cluster admin performs the following steps:
- Click 'Create Deployment' in the Deployments page. This page is initially blank.
- Fill out a name and a description for the deployment which will allow you to easily identify the tenant. You can use the location in the description, or any other helpful attribute.
- The Deployment ID is not a mandatory field. If you are importing a deployment from another cluster, that's an example for a situation where you have an ID and you want to input it in the field. Otherwise, if you are not trying to recreate an existing deployment, you will skip this field and allow the system to generate an ID automatically.
- Enter the connection strings for the external services: Redis, Postgres, MongoDB. the strings include the end point, a username and masked password, and a variety of options. Note that when setting up the connection strings to these services, the following characters are not supported within a password: [] {} () , ; ? * = ! @ | ^.
- If a connection string option calls for SSL, you can upload a security certificate for it, so that it can be used automatically in the order of business without manual intervention.
- Click 'Save', and you’ll see the deployment in the Deployments page.
Managing Deployments Using the Admin Portal
The following functions are available for the cluster admin in the LumenVox provided Admin Portal:
- Create deployments - as detailed above.
- See license status - in the deployments list the status will appear in red if there's a problem with the license for any deployment.
- View deployment details - this is limited to administrative data that the admin has entered. The cluster admin can't see here any data generated in the deployment, if they are not authorized to access the Deployment Portal.
- Edit deployment - editing the details that were entered or updating the security certificate.
- Clone deployment - this is means to fast-track the creation of a new deployment. It is used to clone an existing deployment with all the same connection strings and provide a new Deployment name and description.
- Export deployment - available in Deployment Details page. This allows the creation of a file that contains all the information needed to move this deployment into a different cluster.
- Import deployment - available in the Deployments listing page. You would import a file that was exported from a different cluster, to add that deployment to this cluster. After it was safely imported, you could delete it from the original cluster.
- Delete deployments – this allows you to delete a deployment – this logically deletes the deployment and it still exists in the system and can be restored unless physically deleted (See Delete deployments permanently below
- View deleted deployments – this option allows you to view all deleted deployments and either restore or permanently delete them.
- Restore deleted deployments
- Delete deployments permanently.
Deployment Detail
This deployment details page allows you to edit the saved deployment details e.g. connection strings and security certificates. You can also export the deployment set up to re-import into another installation.
The portal also allows you to clone a deployment to use the same deployment details for a different tenant. A new deployment ID would be created.
Diagnostics
Running diagnostics on LumenVox services for your deployment can be used both as a periodic health check to see that things are running smoothly, as well as means for troubleshooting on occasion that something goes wrong.
For ASR and TTS, the diagnostics function will report findings separately for each language. You can review warnings or error messages and run diagnostics tests again after a problem has been addressed, to verify the issue is fixed.
Cluster administrators typically would not be performing this function. Deployment administrators would be running diagnostics using either API calls or the Deployment Portal.
General health checks should be run via the portal. The API call to run diagnostics for the deployment's external services – see Protocol Documentation.
External Services
LumenVox uses a number of required services from best-in-class vendors to run some operations in the cluster and the deployments. While the cluster admin sets up the connection strings to these services for the deployment, the connection strings could be deployment specific. Testing Endpoints We mentioned above the diagnostics you might need to run for the external services. In addition, on occasion you will want to test the end points to these external services and make sure that the RabbitMQ notifications are working, or publish a custom notification. See Protocol Documentation
Configuration Settings
Not all deployments are created equal. There are many parameters to the functioning of your deployment and the speech or voice services from LumenVox that could be specific to your business, your domain, your network environment, or the size of your implementation. The configuration of all deployments comes with default settings, but as you deploy, or as you run the business, you may need to make changes to these settings. LumenVox defines a hierarchy of configuration settings when working with our products. For any given setting the lowest level in the hierarchy takes precedence.
- Environment Variables (Cluster configurations)
- Global (Deployment)
- Session
- Interaction
- Session
- Global (Deployment)
To understand more detail on how the settings work visit https://developer.lumenvox.com and view the relevant product page.
Cluster Configurations
There are several Environment Variable settings that should only be assigned during system installation or upgrade via Helm Chart values. These are things that can only be changed at a global “cluster” installation level, such as ASR and TTS languages, or connection strings for individual deployments. Modifying these settings should not be done lightly and should only be done by the “Cluster Admin” by either editing Helm Charts, or by using the API.
Deployment Configurations
At the deployment level and lower, the settings are concerned with deployment specific and product specific functioning: runtime settings, such as various timeouts, or session and interactions settings or default values. We use protocol buffer messages to hold application settings in the system database, to be used by the sessions and interactions.
To change them at the deployment level the admin will use 'Global Request' type of API calls: the gRPC GlobalSettings settings protobuf APIs within lumenvox/api/global.proto. The 'Global' interface is available for getting information about the current value of any setting or updating it with a new value. Another way to change configuration for deployment level settings is via the Deployment Portal. Deployment configuration changes don't interrupt operations, but they cannot take effect for sessions and interactions that have already been created, they can take effect only for sessions and interactions that occur after the change.
Runtime Configurations
Session level or interaction level configuration changes can be submitted together with the API call for the newly created session or interaction, so those default overrides only happen for transactions in processing.
Changing Configuration
To configure settings, you need:
- The API calls available for managing the settings. These can be identified in the table of contents under each product.
- A list of settings. Since we keep the settings definitions with the API call definitions, they are available in the same menu under the GlobalSettings section where you'll find the list of global setting types. Additionally, all Session & Interaction settings are listed under respective SessionSettings & InteractionSettings sections.
As explained, deployment level configuration changes can also be done via the Deployment Portal.
The Deployment Portal
A ‘Deployment’ is a tenant-level instance. It has a unique Deployment ID, for which the tenant gets licensed. To consume any LumenVox product a deployment must be created with a Deployment ID. Once the cluster administrator has created your deployment and has provided you with your Deployment ID, you now have access to the LumenVox products that you have licensed, and your team can start using them.
From an administration point of view, there are activities concerning administration of the entire deployment that you cannot perform with tenant-level access, you need the cluster administrator to perform those: deleting deployments, creating deployments, changing connection strings for external services, and uploading security certificates for those, to name a few.
However, there are a few activities that you will have to perform on occasion for your own deployment, with tenant-level access:
- Perform diagnostics
- Work with external services: test endpoints and RabbitMQ notifications
- Revisit configuration settings
- Access the analysis tool
- Utilize the grammar and SSML tools
There are two ways to perform these duties:
- Via the APIs - you can manage the implementation using your own interfaces to call the various APIs.
- Via this portal - you can use this web-interface, the Deployment Portal, to perform the required functions.
Diagnostics
Running diagnostics on LumenVox services for your deployment can be used both as a periodic health check to see that things are running smoothly, as well as means for troubleshooting on occasion that something goes wrong. For ASR and TTS the diagnostics function will report findings separately for each language. You can review warnings or error messages and run diagnostics tests again after a problem has been addressed, to verify the issue is fixed.
Cluster administrators typically would not be performing this function. Deployment administrators would be running diagnostics using either API calls or the Deployment Portal. General health checks should be run via the portal. The API call to run diagnostics for the deployment's external services – access the management section on https://developer.lumenvox.com.
External Services
LumenVox uses a number of required services from best-in-class vendors to run some operations in the cluster and the deployments. While the cluster admin sets up the connection strings to these services for the deployment, the connection strings could be deployment specific. Testing Endpoints We mentioned above the diagnostics you might need to run for the external services. In addition, on occasion you will want to test the end points to these external services and make sure that the RabbitMQ notifications are working, or publish a custom notification see Protocol Documentation
Configuration Settings
Not all deployments are created equal. There are many parameters to the functioning of your deployment and the speech or voice services from LumenVox that could be specific to your business, your domain, your network environment, or the size of your implementation. The configuration of all deployments comes with default settings, but as you deploy, or as you run the business, you may need to make changes to these settings. LumenVox defines a hierarchy of configuration settings when working with our products. For any given setting the lowest level in the hierarchy takes precedence.
- Environment Variables (Cluster configurations)
- Global (Deployment)
- Session
- Interaction
- Session
- Global (Deployment)
To understand more detail on how the settings work visit https://developer.lumenvox.com
Cluster Configurations
There are several Environment Variable settings that should only be assigned during system installation or upgrade via Helm Chart values. These are things that can only be changed at a global “cluster” installation level, such as ASR and TTS languages, or connection strings for individual deployments. Modifying these settings should not be done lightly and should only be done by the “Cluster Admin” by either editing Helm Charts, or by using the API.
Deployment Configurations
At the deployment level and lower, the settings are concerned with deployment specific and product specific functioning: runtime settings, such as various timeouts, or session and interactions settings or default values. We use protocol buffer messages to hold application settings in the system database, to be used by the sessions and interactions.
To change them at the deployment level the admin will use 'Global Request' type of API calls: the gRPC GlobalSettings settings protobuf APIs within lumenvox/api/global.proto. The 'Global' interface is available for getting information about the current value of any setting or updating it with a new value. Another way to change configuration for deployment level settings is via the Deployment Portal. Deployment configuration changes don't interrupt operations, but they cannot take effect for sessions and interactions that have already been created, they can take effect only for sessions and interactions that occur after the change.
Runtime Configurations
Session level or interaction level configuration changes can be submitted together with the API call for the newly created session or interaction, so those default overrides only happen for transactions in processing.
Changing Configuration
To configure settings, you need:
- The API calls available for managing the settings. These can be identified in the table of contents under each product.
- A list of settings. Since we keep the settings definitions with the API call definitions, they are available in the same menu under the GlobalSettings section where you'll find the list of global setting types. Additionally, all Session & Interaction settings are listed under respective SessionSettings & InteractionSettings sections.
As explained, deployment level configuration changes can also be done via the Deployment Portal.
Analysis
LumenVox Analyzer is a powerful maintenance tool that allows end-users, value-added resellers, and platform providers to perform tuning, transcription, and instant parameter, grammar, and version upgrade testing of any speech products.
This page allows users to create their own Analysis sets. An Analysis Set is a collection of interactions that meet your filter parameters e.g. All ASR transactions over the last 24 hours.
You can view all interaction sets on this page. The status column reflects if the Analysis Set is available for further use or if its creation is still in progress.
You can also clean-up your analysis set page by deleting Analysis Sets not in use.
Creating an analysis set
To create an analysis set, click on CREATE ANALYSIS SET button on the Analysis home page, provide a unique name for the analysis set, select the interaction type and date range.
For CPA, AMD and Transcription interactions you have the option to select ‘Grammar based” if using MRCP to process these interactions. For Transcription interactions you have an added option to indicate if the interactions utilize Enhanced Transcription.
Importing an analysis set
A user can import an analysis created and exported from another system. To import click on the IMPORT button on the Analysis home page, provide a name for your analysis set, supply the passkey the export file was saved with and browse for the saved file to import (*.bin/*.b64 file).
Viewing the analysis sets available
When you open the Analysis page, you should see all the analysis sets created or imported. You can search for a specific set, open, delete or export an analysis set. The status field reflects if the analysis created is ready for use.
Exporting an analysis set
To export an analysis set, you can download it from the Analysis set home page or open up the analysis set and click on the download button, enter a passkey if you want to encrypt the data (or leave empty), then select the file save option. The file should save to your downloads folder.
Accessing an analysis set
Once you open an analysis set you can view various information based on the type of interaction, this can include statistics, grammars, phrase lists and reports. You can also play audio, view details, or download the audio (.wav or .raw) for each interaction. The page also allows you to provide human transcription for each interaction to determine the accuracy statistics of the analysis set – click TRANSCRIBE
The page features a filter section, the field can be used to filter any of the columns. Key functions are as follows:
- You can search on any column by double clicking on a column name or entering the name manually in the filter field e.g. Final Result Status=Grammar Match
- You can make the filter case sensitive by entering a ! e.g. !Final Result Status=Grammar Match
- You can use the following expressions for matching purposes: like, not like, = (equal to) or != (not equal to) e.g. Final Result Status!=Grammar Match; Final Result Status like Match
- The following button can be used to reset the filter
Reports
Word, Error and OOG Lists
These lists display information about the individually recognized words, errors and OOG words/phrases. They provide a good way to get detailed information about exactly how your users are interacting with your speech applications.
The following information may be displayed in the Word, Error & OOG Lists:
- Word, Error or OOG Occurrence each word that was recognized in the loaded and filtered dataset. Note that multi-word phrases are broken down into individual words in the Word & Error lists.
- Total Count the number of times the word (text) was said within the dataset.
- Accuracy the percentage of times the word (text) was correctly recognized.
- Score (Average) the confidence score for the word (text), with the average score for the word (text) in parentheses.
Statistics
This section allows you to view all statistics calculated on the full interaction set.
The following is a list of statistics that could be calculated, certain statistics are product specific.
Word Accuracy
The percentage of words that were correctly recognized by the Speech Engine.
Utterance Accuracy
The percentage of interactions in which every word was correctly recognized. Note that this statistic counts SI Matches (see below) as correct results and does not count OOG & OOC (see below) responses as incorrect.
Correct
The number of correctly recognized interactions out of the total number of interactions. The percentage is displayed in parentheses.
Incorrect
The number of incorrectly recognized interactions out of the total number of interactions. The percentage is displayed in parentheses.
SI Match
The number of interactions that were not correctly recognized but which had a correct semantic interpretation (so that there would be no difference in the return if the correct result had been obtained). A common example of an SI match is if both "yes" and "yeah" have the same semantic interpretation. If the Engine recognizes "yeah" when the speaker said "yes," this is technically an incorrect result even though it had the same meaning. SI Matches are not counted as incorrect results and are counted as correct results when calculating Utterance Accuracy.
OOG (Out of grammars)
The number of interactions that were out of vocabulary out of the total number of interactions. An OOG interaction is one in which the speaker says a word or phrase that is not represented in the active grammars, meaning there is no way the Speech Engine can return the correct result.
OOC (Out of coverage)
An OOC utterance is one which you would never expect a speech application to handle. Examples of OOC utterances might be:
· Non-speech background noises
· Cross talk (the ASR user talking to somebody else in the background)
· Wildly inappropriate phrases or sentences
OOC utterances differ from Out-of-Grammar (OOG) utterances in that OOG utterances are things the application might conceivably handle. For instance, if you had a banking application that asked a user to speak what they wanted to do and a user said "Hear my balance" but the application was expecting "Hear my account balance," it would be reasonable to add the "Hear my balance" phrase into the grammar.
Correct No-Input
The number of "No-Input" interactions that were correctly classified as no-input (no human speech). This happens when the Voice Activity Detection in the ASR correctly determines that there was no speech present.
False No-Input
The number of "No-Input" interactions that were incorrectly classified as no-input. This happens when speech was present, but the Voice Activity Detection settings did not trigger a barge-in, which resulted in a no-input. Changing your VAD settings may help improve sensitivity to this failure if this becomes a significant problem in your environment.
Average Confidence
This is the average confidence score for all interactions.
Grammars page
This section allows you to view all grammars used in an ASR or Enhanced Transcription Analysis Set. If you want to edit and test changes to the grammar you can select GRAMMAR TESTER and the grammar file will be loaded where you can make changes and test with input text.
Phrase lists
This section allows you to view all phrase lists used in a Transcription Analysis Set.
Transcribing a ASR analysis set
This screen allows you to view all interactions as part of your Analysis Set. You can see the Status of each interaction based on the Transcribe results. You can also play, download and view meta data for each interaction. By clicking on the eye icon you can view grammars, configurations, ASR output and other interaction meta data for the interaction.
The Transcribe section is used to enter transcripts for interactions. Transcripts are necessary to calculate the various statistics and populate the word, error and OOG lists.
The top of the Transcriber contains a list of all loaded interactions.
The bottom portion of the screen contains audio and transcription controls. The Transcription text entry box allows you to type in a transcript of what the caller said. By default, this will be populated by what the ASR recognized.
In most cases, you can simply type the transcript and press the Enter key to move to the next interaction. You may also click the green. “Save & Advance” button to achieve the same purpose.
Out-Of-Coverage
In some cases, it may not be possible to determine what a speaker said, due to line noise or other issues. We call this sort of audio Out-Of-Coverage (OOC) because it does not contain particularly useful data. You can press the Escape key to mark a piece of audio as OOC and move on to the next interaction, or you can press the blue “Mark as OOC & Ignore” button. Note that interactions marked as OOC will not be used in accuracy statistics.Out-Of-GrammarCertain phrases spoken by users are not catered for in the active grammar, and these will be automatically marked as Out-Of-Grammar (OOG) by the Analyzer. The Analyzer can use this information to suggest whether certain OOG phrases should be added to the grammar coverage, thus changing their status from OOG.
For most transcription purposes, typing transcripts and marking bad audio as OOC is sufficient. This will let you generate most of the useful statistics you need for normal speech application tuning purposes.
However, you may need finer information about interactions, in which case advanced controls and noise tags are available.
No-Input
The user can transcribe records marked as No-Input.
A no-input event is what happens when the ASR is asked to perform a recognition, but no audio is detected within the timeouts specified. The typical behavior of an application when faced with a no-input event is to prompt the user ("I'm sorry, but I didn't hear what you said"). However, it always possible to get no-input events when the user actually spoke, and so part of tuning a speech application is to ensure that the voice activity detection (VAD) of the ASR is tuned appropriately for your application. The Analyzer can help you visualize how the ASR is performing for no-input events.
The goal in no-input tuning is to make sure that whenever a user speaks, the ASR is recognizing that there was speech. This is called "barge-in" because it allows a user to barge-in over a playing prompt by speaking to interrupt the prompt. When barge-in does not occur, the ASR returns a no-input to the voice platform. Too many no-input events mean that users become frustrated with the application as it never seems to "hear" what they said.
Audio controls Immediately below the transcription entry box are some audio controls. You can press the grey play button to play the audio or use the buttons on either side to rewind or advance the audio by 5 second intervals. Tilda “~” can also be pressed in the keyboard to rewind/replay audio.
The Autoplay toggle causes it to automatically play the audio when an interaction is selected, and the Decoded View toggle allows the user to see the audio with an overlay of the ASR text throughout the audio timeline.
Next to the Interaction entries are interaction controls that will allow you to go to the previous interaction or go to the next interaction. You may also manually type in an interaction index number to quickly jump to a specific interaction. The right and left arrow keyboard buttons can also be used to rewind or advance interactions.
Noise Marker Toolbar Along the bottom of the screen is a toolbar containing noise tags or markers. By default, these start with the general Noise marker and proceed to the right to show other markers. These buttons can be clicked to insert into the transcript special tags denoting general Noise, Uh or Um sounds, Garbage, along with other markers.
Colour key chart
Transcribing a Transcription analysis set
The Transcribe section is used to enter transcripts for interactions. Transcripts are necessary to calculate the various statistics and populate the word, error and OOG lists.
You can also play, download and view meta data for each interaction. By clicking on the eye icon you can view phraselists, configurations, ASR output and other interaction meta data for the interaction.
The top of the Transcriber contains a list of all loaded interactions.
The bottom portion of the screen contains audio and transcription controls. The Transcription text entry box allows you to type in a transcript of what the caller said. By default, this will be populated by what the engine recognized.
In most cases, you can simply type the transcript and press the Enter key to move to the next interaction. You may also click the green. “Save & Advance” button to achieve the same purpose.
Out-Of-Coverage
In some cases, it may not be possible to determine what a speaker said, due to line noise or other issues. We call this sort of audio Out-Of-Coverage (OOC) because it does not contain particularly useful data. You can press the Escape key to mark a piece of audio as OOC and move on to the next interaction, or you can press the blue “Mark as OOC & Ignore” button. Note that interactions marked as OOC will not be used in accuracy statistics. Out-Of-GrammarCertain phrases spoken by users are not catered for in the active grammar, and these will be automatically marked as Out-Of-Grammar (OOG) by the Analyzer. The Analyzer can use this information to suggest whether certain OOG phrases should be added to the grammar coverage, thus changing their status from OOG.
For most transcription purposes, typing transcripts and marking bad audio as OOC is sufficient. This will let you generate most of the useful statistics you need for normal speech application tuning purposes.
However, you may need finer information about interactions, in which case advanced controls and noise tags are available.
Audio controls Immediately below the transcription entry box are some audio controls. You can press the grey play button to play the audio or use the buttons on either side to rewind or advance the audio by 5 second intervals. Tilda “~” can also be pressed in the keyboard to rewind/replay audio.
The Autoplay toggle causes it to automatically play the audio when an interaction is selected, and the Decoded View toggle allows the user to see the audio with an overlay of the ASR text throughout the audio timeline.
Next to the Interaction entries are interaction controls that will allow you to go to the previous interaction or go to the next interaction. You may also manually type in an interaction index number to quickly jump to a specific interaction. The right and left arrow keyboard buttons can also be used to rewind or advance interactions.
Noise Marker Toolbar Along the bottom of the screen is a toolbar containing noise tags or markers. By default, these start with the general Noise marker and proceed to the right to show other markers. These buttons can be clicked to insert into the transcript special tags denoting general Noise, Uh or Um sounds, Garbage, along with other markers.
Evaluate Transcription button At the bottom, the evaluate transcription button allows you to see the differences between the Engine and Human transcription. Words in blue denote words substitution, words in red denote words missing from the human transcription and words in green denote additional words in the Human transcription.
Transcribing a CPA analysis set
The Transcribe section is used to enter transcripts for interactions. Transcripts are necessary to calculate the various statistics and populate the word and error lists.
The top of the Transcriber contains a list of all loaded interactions. The bottom portion of the screen contains audio and transcription controls.
In all cases, you can click on the response that best matches the audio: Human Residence Human Business, Unknown Silence or Unknown Speech/Recorded Message. These results will be saved in the Transcribed Result field and used to calculate the Status, Errors and Stats.
The action buttons on each interaction also allows you to download audio (raw or wav format) and view meta data for each interaction.
By clicking on the eye icon you can view configurations, CPA output and other interaction meta data for the interaction.
Transcribing an AMD analysis set
The Transcribe section is used to enter transcripts for interactions. Transcripts are necessary to calculate the various statistics and populate the word and error lists.
The top of the Transcriber contains a list of all loaded interactions.
The bottom portion of the screen contains audio and transcription controls.
In all cases, you can click on the response that best matches the audio: Beep, FAX, SIT, Busy, No Input. These results will be saved in the Transcribed Result field and used to calculate the Status, Errors and Stats.
The action buttons on each interaction also allows you to download audio (raw or wav format) and view meta data for each interaction. By clicking on the eye icon you can view configurations, CPA output and other interaction meta data for the interaction.
Tools
The following tools are made available for client use:
- Grammar tester
- SSML tester
Grammar tester
This tool can be used to test Grammars against the LumenVox ASR engine.
The tool performs a grammar parse, calling the API in the background, allowing users to submit text to test against a grammar loaded.
This text parsing is used to emulate the result from the ASR output, to simulate the result of grammar parsing when using a speech application.
If you are working with a DTMF grammar, separate any digits with spaces, i.e., 1 2 3 4
You can use the File Upload button to load a grammar file from your local system into the editor window using the File Upload icon.
You can also save the current grammar from the editor window to your local system using the File Save icon.
Users can also make edits to the grammar and retest.
SSML tester
This tool allows users to test SSML syntax to generate a TTS synthesis against any of the legacy or neural TTS voices.
Users can generate audio in a specified format and sample rate (kHz)
Note that ulaw and alaw audio formats are fixed at 8kHz
Processing Timeout is the maximum amount of time (in milliseconds) that are permitted for the synthesis request to complete before timing out.
You can use the File Upload button to load an SSML file from your local system into the editor window.
Synthesized audio may also be downloaded for further use, using the Save File icon.
Deployment Management via API
Deployment Management is available via a REST API. Available API functions to manage deployments are here: LumenVox API Documentation
Most of the functions available are ones that a cluster admin would perform, such as creating or deleting deployments. These functions are also available to the cluster admin via the Admin Portal. However, there are also API calls that can be useful for deployment admins such as getting deployment metadata, or a parameter value for a deployment.
All analysis function can also be consumed using the gRPC reporting APIs. More information is available Protocol Documentation
The following table reflects all the different portal functions that can be done directly by a client using the listed APIs available:
Retrieving audio steps
Get interaction details (InteractionAnalysisGetRequest) Retrieve storage id attached for specified interaction (RetrieveStorageIdRequest) Get a stream from archive service for the specified storage id (RetrieveArchiveDataRequest) Stream data chunks until all data is read Prepend wave header for read data according to interaction details, as the waves are stored without headers Bellow there are excerpts from the source code (Golang), that can assist: interaction, err := x.GetInteraction(analysisSetId, interactionId) req := api.RetrieveStorageIdRequest{ Type: 1, SessionId: interaction.SessionId, ChannelId: 0, } storageId, err := client.RetrieveStorageId(ctx, &req) req := api.RetrieveArchiveDataRequest{ StorageId: storageId.StorageId, } streamClient, err := client.RetrieveArchiveDataStream(ctx, &req) b := bytes.Buffer{} for { resp, err := streamClient.Recv() if err == io.EOF { res := b.Bytes() if appendHeader { res, err = helpers.PrependWaveHeader(res, interaction.AudioFormat) if err != nil { return nil, err } } return res, nil } if err != nil { return nil, fmt.Errorf("can not receive %v", err) } b.Write(resp.ArchiveEntry.Data) } GetInteraction, RetrieveStorageId and RetrieveArchiveDataStream are called on Reporting api service methods |