The LumenVox Speech Engine features the ability to log call data. These logged calls, which are saved with a ‘.callsre’ extension, can be used for several reasons. They are often referred to as callsre files or response files.
Their primary purpose is to enable them is to fine tune your speech application. These are the files that you would load into our Speech Tuner in order to listen to calls made into your speech application.
They also serve as invaluable tools in troubleshooting speech recognition problems. This is because they contain more than just the recorded audio from the calls. They also house data such as the grammar used, the interpretation received from the Engine and how the audio was streamed to the Engine.
These files will be saved by default to /var/lumenvox/responses/ on Linux and C:\Program Files\LumenVox\Engine\Lang\Responses\ on Windows.
Because these files contain audio, they can take up considerable space once you start saving them. We recommend only saving them when you’ve come across a problem or are trying to tune your application, or if you have an automated way to archive them regularly.
Where and How to Enable .callsre File Saving
The process of enabling the Engine to save off these files is easy in execution. However, understanding where to enable that setting might require some thought.
Because we support a number of interfaces (MRCP, API, platform-level integrations) to control the Engine, we also have several ways to enable the saving of these files. Which method you use will depend on how you use our Engine.
If using our API:
Edit the client_property.conf (using the SAVE_SOUND_FILES parameter; note that this specifies a default value and if you specify a different value via any of the other methods below, those methods will take precedence over the configuration file). TTS events are stored only if LOG_TTS_EVENTS is enabled in client_property.conf
Edit the LV_SRE_SetPropertyEx function (using the PROP_EX_SAVE_SOUND_FILES parameter). For TTS events use PROP_EX_LOG_TTS_EVENTS with LV_TTS_SetPropertyEx
If using MRCP:
Edit the media_server.conf (using the enable_sre_logging parameter for MRCP v1 or MRCP v2). TTS events are stored only if LOG_TTS_EVENTS is enabled in client_property.conf
In order to set your system to save the response files, you must modify the property within the config file associated with your interface type. For example, in your MRCP v1-connected application, you would open the media_server.conf file, and edit the value associated with the ‘enable_sre_logging’ parameter. This will be a digit value, 0 – 3.
Note - An API call always takes precedence over a config file setting. So, if you have the config file set to not save, but the API property set to save, the application will still save the files.
The order of precedence of the configurations is as follows:
- Parameter Default (eg. SAVE_SOUND_FILES = NONE) is the first setting read.
- client_properties.conf is read at startup, and takes precedence over the Parameter Default (#1 above).
- media_server.conf is read after startup, and takes precedence over the client_properties.conf (#2 above).
- An MRCP parameter is read per-call, and takes precedence over the media_server.conf file (#3 above).
- An API call is the last thing read, and takes precedence over all settings. However, you are probably not going to be using an API call if you are using our media server.
Types of .callsre Files
As of LumenVox Speech Engine version 9.0, you may save different amounts of information within the callSRE files. The differences are meant to help in troubleshooting specific application problems.
The type of response file to save may be set in either the client_properties.conf file, or through the SpeechPort API via the SetPropertyEx function. There are four different modes for saving these callSRE files. They are used for different things, so be sure that you’re selecting the appropriate mode. The four types are:
Description: Disables the saving of callSRE files and is the default setting.
Description: Enables the saving of standard callSRE files in the same fashion as pre-9.0 versions. In this mode, audio between START_OF_SPEECH and END_OF_SPEECH is saved after having been detected by the Voice Activity Detection (VAD) module. This mode uses the least disk space, but contains the least amount of audio data.
Description: When combined with a NO_INPUT event, all streamed audio prior to the StreamCancel function call is saved. StreamCancel should be called when barge-in times out. So, if VAD fails to detect speech, the ADVANCED mode will save all audio streamed to the Engine until StreamCancel is called. This is useful when you're trying to troubleshoot VAD, NO_INPUT or streaming problems. If StreamCancel is not called, and a NO_INPUT event is not logged, then the callSRE file will contain the same information as those set in BASIC mode.
*This should only be enabled when requested by LumenVox Support, as we have special tools to view the additionally logged information. Otherwise, it simply increases the amount of storage space used in logging
Description: Used to collect all raw audio in all cases. This option collects all streamed data, whether there was a NO_INPUT event or not, including untrimmed audio from ‘good’ decodes. This mode is useful when beginning troubleshooting and it's not apparent whether there is a streaming problem or not.
*Again, this should only be enabled when requested by LumenVox Support. These log files can be triple the size of those saved in BASIC mode.
There is currently no benefit for users in switching to either the ADVANCED or ALL modes unless LumenVox needs logs for analysis. Selecting these modes increases file storage space usage.