Categories
|
| |
| |
| Reference Number: AA-01461 Views: 11568 |
100 Rating/ 2 Voters
|
   
|
11.2.100 (May 6, 2013):
Improvements and New Features:
- Added new functionality to support LumenVox/CMU and SAMPA format phoneme strings, significantly extending the previous custom lexicon functionality. Please refer to ourknowledgebase article for more details on using custom lexicons, including the recent enhancements.
- Adding new LV_SRE_GetSampaToLumenVoxConversion, LV_SRE_GetLumenVoxToSampaConversion, LV_SRE_IsValidLumenVoxPhonemeString and LV_SRE_IsValidSampaPhonemeString API functions as part of other custom lexicon enhancements
- Many changes to add support for custom ASR lexicons in Speech Tuner, allowing them to be created and/or edited within the grammar editor section. Lexicons can also now be edited and tested within the tuner, like grammars.
- Updated the Speech Tuner Phonetic Speller dialog (with optional SAMPA support) to support new new custom lexicon functionality.
- Added HTTPS support for fetching grammar and SSML documents. Two new configuration options were added to the global section of client_property.conf to give users control over certificate verification options: SSL_VERIFYPEER and CERTIFICATE_AUTHORITY_FILE.
- SSL_VERIFYPEER defaults to 1, but may be set to 0 skip certificate verification for trusted sites.
- CERTIFICATE_AUTHORITY_FILE may be used to specify the path a CA cert file to be used to verify peer certificates upon HTTPS requests.
Minor Changes:
- Moved AuthorizationLog.txt log file from LVBIN to LVLOGS folder to be consistent with other logs. This is only used when the license server when run in authentication mode, which is fairly uncommon.
- Minor optimization to the Speech Port to reduce the number of threads used. This should improve resource utilization performance when running many ports simultaneously.
- The EULA document shipped with LumenVox products was updated.
- Minor cosmetic changes to improve refreshing of Revert button in Speech Tuner's SSML editor
- Added auto-indent and improved auto-complete and syntax-highlighting functionality in Speech Tuner grammar and SSML editors.
- Updated example ABNF/GrXML/SSML and new lexicon files when creating new files in the Speech Tuner
- Minor changes to move logging files LVLicenseReport.logdata to LVBIN in Windows and /var/lumenvox/license_reports in Linux, and also LVLicense_A.logdata and LVLicense_B.logdata to LVBIN in Windows and /etc/lumenvox in Linux.
- Minor change to formatting of NLSML to remove a carriage return when used with Avaya Orchestration Designer, which did not handle this correctly in previous versions. This issue does not affect the Avaya Aura Experience interface, or other Avaya products.
- Added new higher verbosity logging level (LOGGING_VERBOSITY_HIGHER) to reduce logging load on systems. LOGGING_VERBOSITY_HIGHER should only be used when fully debugging, will likely affect performance under medium to high load.
- Improved responsiveness of Media Server when under significant load to prevent unwanted delays in MRCP message processing
- Due to improvements made in the LumenVox ASR’s handling of grammars internally, the ASR server has changed the way it responds to speech clients (e.g. the Media Server). This means that users with pre-11.2 speech clients must upgrade those clients if they wish to use the 11.2 ASR server. Attempting to use a pre-11.2 speech client with an 11.2 or newer ASR server will result in grammar labels being replaced with hash codes.
Fixes: - Fix for issue relating to multiple grammars sharing the same session: label in the Media Server. Previously if the same grammar was used a second time in the same session, but with a different label (Content-Id), the original label may be returned in the result string.
- Fixed a grammar processing bug, related to grammars defining rule paths that contained a NULL (special) rule in addition to a semantic tag. For example:
<rule id='example' scope='public'> <item> <one-of> <item> hello <tag>$=hello</tag> </item> <item> <ruleref uri='#NULL'/> <tag>$="xxx"</tag> </item> </one-of> </item> </rule>
- Minor fix to Media Server SDP parsing to accommodate optional encoding parameters at the end of rtpmap lines, which were previously causing 486 Busy replies to session requests if present.
- Minor fix to NLSML formatting to remove an unwanted quote mark at the end of the <result> element when preparing a nomatch reply
- Fixed LV_SRE_WaitForEngineToIdle, which in versions since 10.0 had a bug that caused the call to block up to at most decode timeout if the decode did not complete.
- Fixed a memory leak that could occur when writing to disk fails or when handling a very large number of simultaneous logging messages under extreme system load
- Fixed a problem when attempting to load a malformed XML grammar into the Speech Tuner grammar editor. Previously the grammar would fail to load, now it can be loaded (indicating error) and can be corrected.
11.1.100 (March 13, 2013):
Improvements and New Features:
- Added support for SIP over TCP connectivity. Now, either TCP or UDP SIP connections can be established with the Media Server. These connections share the same sip_port number as defined within the configuration file (with the default value for sip_port being 5060).
- Added SIP/TCP connectivity support to SimpleMRCPClient utility, consistent with new Media Server functionality. See the new "-transport TCP" option in the Using the SimpleMRCPClient article for details.
- Added SIP/TCP support to lv_show_config (Linux) / LVShowConfig (Windows), consistent with new Media Server functionality. See the Running lv_show_config article for more details.
- Added support for text/grammar-ref-list media type to DEFINE-GRAMMAR requests within the Media Server, as described in RFC6787. Although this media type is not explicitly supported by MRCPv1, the LumenVox implementation supports this type for both MRCPv1 and MRCPv2 protocols. See the Recognizer DEFINE-GRAMMAR article for details on how different grammar references can be used with the LumenVox Media Server.
- Added Completion-Reason header to indicate the reason behind grammar load failures where possible. This is an MRCPv2 only feature. MRCPv1 users should continue to consult the client and grammar logs for additional information relating to grammar load failures. Additional logging changes now also include more verbosity when reporting such errors (for both MRCPv1 and MRCPv2).
- Added new configurable APP_STAT_LOGGING option in tts_server.conf, which enables logging useful statistical information to (tts_server_status.txt) file regarding the TTS Server. This change is consistent with other status logging for other LumenVox services.
- Added support for non-compliant GrXML grammar files that are missing their XML prolog at the top of the file. This is consistent with non-compliant behavior in some other vendors. See Section 4.3 of the SRGS specification for compliance details. We now consider the <?xml version="1.0"?> to be an optional requirement in GrXML grammars when specified inline, or by URI reference. This change in support applies to both Media Server and C/C++ API level integration.
- Added new Media Server option to suppress sending 'TRYING' messages in response to SIP INVITEs. This change modifies earlier behavior, which would automatically send these optional messages. Now the default is to NOT send these messages, however this can be overridden setting the send_sip_trying configuration to 1 if needed. Not sending these messages is more efficient for both client and server resources when connecting.
- Added size and duration parameters when reporting waveform-uri in MRCPv2 RECOGNITION-COMPLETE messages. These two parameters are now appended to the end of the Waveform-URI (when enabled). Size is reported in bytes and duration is in milliseconds. Note that these parameters are only defined in MRCPv2. This functionality is now consistent with the latest MRCPv2 specification document. See section 9.4.8 of the MRCPv2 specification for details on using Waveform-URI
- Improved layout and formatting of Media Server MRCPv1 and MRCPv2 logging messages to provide clearer reporting.
- Significant set of changes to Media Server to support request-based parameter settings as well as session-based. Now the scope of the header settings is correctly applied to either session (when using SET-PARAMS/GET-PARAMS) or request (SPEAK/RECOGNIZE/etc.) as needed. This set of changes also optimizes the handling of all settings so that they are now only applied to the ASR/TTS port when needed. Previously, settings may have been applied multiple times unnecessarily, utilizing more CPU than was strictly necessary.
- Added new HTTP-based Dashboard to replace the previous (and now deprecated) LVDashboard GUI application, which was Windows-only. The new Dashboard application provides remote web access to LumenVox services installed on a Windows or Linux machine. The web server is included within the lv_manager codebase and can therefore coexist with IIS and/or Apache, or any other web servers installed on the system. Please see the LumenVox Dashboard Overview article for more information.
- Added new Welsh voices : Gavin (male), Gwendolyn (Female). Note that these voices can be configured to speak the Welsh language (cy-GB) or British English with a Welsh accent (en-GB). The language code can be used to specify which language to use when utilizing these voices.
- Added the option to enable the use of non en-US builtin grammars to be used within the Media Server. The "Speech-Language" is now used to determine the appropriate builtin grammar. See theBuilt-in Grammars article for details on adding support for additional languages as needed, where you can provide your own versions of builtin grammars for various languages.
- Added new shortcuts and hyperlinks to Windows installation packages, making the products and documentation more accessible to new users
- Added new Tools package for Windows, which includes the new Dashboard and LVManager utilities
- Modified the default Media Server values for "Start-Input-Timers" (MRCPv2) and "Recognizer-Start-Timers" (MRCPv1) from "false" to "true" to comply with the MRCP specifications. Users may override this default by adding a configuration value (recognizer_start_timers) into the [MRCP] section of media_server.conf. For example, adding the line 'recognizer_start_timers= false', will force this default to be false instead of true as required by the MRCP specifications. Note that this is a change from the previous implementation, and may result in unexpected No-Input-Timeout events if applications were not adequately controlling these timers, for example if this value was not being set to either true or false for RECOGNIZE tasks. See respective sections in the MRCPv2 Specification or MRCPv1 Specification for details.
Minor Changes:
- Optimized processing of RTP streaming data, reducing CPU and memory load slightly. Also added handling of processing an incorrect/invalid IP address from the client, falling back to using the client IP address if necessary.
- Minor wording change in the Media Server logs - "Error accessing RTP..." is now used instead of "Error while listening to RTP..." since this may be emitted whenever sending data, not necessarily only when listening to the port (for example if unable to use the UDP port for TTS streaming)
- Changed the order of the SDP headers in SIP messages to be more consistent with other vendors. This is in response to some customers that (incorrectly) expect these to be in a certain order.
- Reduced logging of OPTIONS and DESCRIBE requests to prevent log contamination. Messages are still shown to indicate these requests were processed, but the contents of the inbound and outbound packets are no longer logged. The number of these requests can still be seen in media_server_app.txt and also media_server_status.txt
- The EULA document shipped with LumenVox products was updated.
- Documented reported CentOS6 Media Server high idle CPU utilization issue in a new knowledgebase article.
- Changed LV_SRE_SetCustomCallGuid to return LV_INVALID_HPORT when an invalid port was detected. Previously LV_FAILURE would result from this situation, which is less clear.
- Added new error code LV_FUNCTION_DISABLED (-69) defined as "The selected function is currently disabled." This is reported whenever an API call is made that cannot succeed due to functionality being disabled, such as attempting to call AddEvent when callsre logging is disabled. This is technically not an error, however this return code indicates that the specified action was not carried out. This was added to improve logging clarity, and this change is also reflected in the LVErrorCodes/lv_error_codes utility.
- Minor changes to logging for LV_SRE_SetPropertyEx, LV_SRE_SetClientPropertyExPermanent, LV_SRE_CreateClient, LV_SRE_GetStringProperty, LV_SRE_GetAvailableLanguageIndex and LV_SRE_GetCallGuid to improve readability and reduce possible confusion.
- Media Server was modified to remove the now-defunct Monitoring port functionality, which is now replaced by the new Dashboard functionality described above.
- Improved shutdown sequence for core connectivity between modules, allowing faster and smoother shutdown whenever stopping or restarting services
- Removed no longer used configuration settings 'Log' and 'MAINTENANCE_MESSAGING_PORT' from CallIndexer configuration.
- Modified Media Server grammar loading to pass in session parameters so that MRCP parameters such as "Speech-Language" and "Fetch-Timeout" specified in a SET-PARAMS request are applied to the grammar load from a subsequent DEFINE_GRAMMAR, RECOGNIZE, or INTERPRET request
- Modified Media Server to improve performance, reduce footprint and perform better under extreme load conditions. These changes included optimizing code, cleanup and also addressing a limitation encountered in Linux Operating Systems when running a very large number of simultaneous channels, using more than 1024 sockets. This value equals around 300 channels, depending on a number of factors such as protocol being used and number of active logs, open connections to ASR, License and TTS servers, etc.
- Added clearer logging and return values when returning from a grammar load failure due to licensing in delayed licensing mode and in some grammar load time out situations. Also addressed minor issues when performing many load grammar requests of the same grammar in a large number of simultaneous threads.
Fixes:
- Fixed a problem associated with MRCPv1 TTS and RTP audio streams when using proxy servers. Specifically, whenever a client requested TTS RTP audio to be sent to a different IP address than the client address using the c=IN IP4 specifier in the SDP of the SETUP request, this was not being honored. MRCPv2 continues to work correctly in this situation.
- Fixed a minor leak in Speech Tuner when a Call Indexer IP address was specified, but the Call Indexer was not available.
- Fixed a minor leak in Media Server when processing DTMF packets when not in recognition mode, or when the session is closed/closing while the packet is being processed.
- Fixed a minor issue when streaming the last packet of synthesized audio, which if less than the full packet length would result in a STREAM_STATUS_END_SPEECH message for both the last (partial) message, as well as the following zero-length packet.
- Fixed a problem related to HTTP caching (introduced in version 10.5.110) when fetching remote grammar files. There was a problem with superfluous carriage-returns in the request packets, which caused the HTTP caching mechanism at the server to respond inappropriately. With Apache, the file was re-sent with each request (negating the effect of caching) and with IIS, these requests were rejected, causing grammar load failures.
- Fixed incorrect or skipped reporting of <mark> tags in SSML when used before a <break> tag or at the end of the document, which occurred in TTS2. SSML marks should now be correctly reported across both TTS1 and TTS2 voices.
- Fixed a bug in the API call to GetAvailableLicensesCount, which previously would only work with "Engine" products. Now this will correctly work with all license types.
- Fixed a Speech Tuner bug parsing GrXML grammar external references. Now both apostrophe and quote marks can be used. Previously the code was expecting only quotes, so would stall whenever presented with apostrophes. This problem was isolated to when using the Speech Tuner only, and does not affect core ASR functionality.
- Fixed a bug in Media Server MRCPv2, affecting BARGE-IN-OCCURRED request processing. Previously the reply to this request incorrectly had the RequestId of the active SPEAK request instead of the RequestId of the BARGE-IN-OCCURRED as was required by the specification.
- Fixed a bug introduced in 11.0, which caused an unusual situation if a grammar load was requested, then immediately canceled, leaving it in a pending state. This could affect the following grammar load and recognition task..
11.0.300 (November 20, 2012):
Improvements and New Features:
- Added support for several new TTS languages and voices, as described in our knowledgebase article http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01577
- Here is a complete list of TTS voices included in 11.0, bringing the total voice count to 39 [incl. 1 deprecated] -- That's 22 new voices!!. New voices shown with asterisk beside name...
=== TTS1 ===
- American English
- Chris (Male)
- * Andrew (Male)
- * Alvin (Male)
- Lindsey(Female)
- * Jackie (Female)
- * Amanda(Female)
- * Kim (Female)
- * Leah(Female Child)
- British English
- Ben (Male)
- Chloe(Female)
- * Megan (Female)
- Standard German
- Lukas (Male)
- Heidi (Female)
- European French
- Jean(Male)
- Margot (Female)
- Castilian Spanish
- Antonio (Male)
- Martina (Female)
- North American Spanish
- Luis(Male)
- Lorena (Female)
- Australian English
- * Ian (Male)
- Molly(Female)
- Danish
- * Mikkel (Male)
- * Helsa (Female)
- Dutch
- * Henrick (Male)
- * Anneka(Female)
- Italian
- * Angelo (Male)
- * Emilia (Female)
- Canadian French
- * Elodie (Female)
- Brazilian Portuguese
- * Gustavo (Male)
- * Giovanna(Female)
- Polish
- * Jacub (Male)
- * Karolina (female)
- Icelandic
- * Isak(Male)
- * Birta(Female)
=== TTS2 ===
- American English
- Rebecca (Female)
- Jason(Male)
- Stacey (Female deprecated)
- British English
- Sophie (Female)
- Latin American Spanish
- Rita(Female)
- Changed the default voice selection behavior for TTS. Previously if no voice name or voice gender was specified, the voice gender defaulted to male under certain complex conditions, based on the (OS dependent) voice loading sequence. However, this behavior was not consistent and was simplified to allow for a predictable default priority list. This change may affect customers if they were not specifying a particular voice and relying on the defaults since a different voice may be getting synthesized now by default, however the new behavior should be much more predictable for users using several languages and voices. Please review the knowledgebase article at http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01616 for more details.
- Added support for precompiled grammars. Grammars may now be pre-compiled, stored to disk or HTTP grammar server and loaded/used in their precompiled form as needed. This can be used to optimize performance by removing the need to compile these grammars at run time on production machines. The command line tool GrammarLoader (lv_grammar_loader in Linux) now includes optional parameters to support precompiled grammar generation. See knowledgebase article http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01618 for more details on using precompiled grammars and http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01089 for details of the updated GrammarLoader utility.
- Added support for precompiled grammars within the Speech Tuner, so that these are indicated as such, and can be used during tuning and testing. Note that precompiled grammars cannot be modified in the grammar editor. Should precompiled grammars ever need to be changed, the original grammar that produced them will need to be modified and recompiled as needed. The Speech Tuner can be used to save precompiled grammars from within the Grammar Editor.
- In conjunction with other grammar loading changes related to precompiled grammars, the Speech Tuner has been modified to allow loading of grammars from specified URI references, and also builtin:grammar/ specifiers. Regular SRGS grammars as well as precompiled grammars can now be loaded in this way in addition to previous file-based and callsre-based references. See http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01117 for more details on loading grammars into the Speech Tuner.
- Added support for suppressed logging as part of our PCI compliance initiative. Users may now specify the com.lumenvox.secure_context Vendor-Specific-Parameter header to suppress logging for ASR type events when using the Media Server, and may specify the com.lumenvox.tts.secure_context Vendor-Specific-Parameter header to suppress logging for TTS events when using the Media Server. When this header value is set to 1, logging will be suppressed and any potentially sensitive data that would normally be recorded in the logs will be replaced with a value of _SUPPRESSED instead. Note that when this mode is active for a session, DTMF digit logging will also be suppressed. When secure_context mode is active, this suppression will be passed to all aspects of the product logging so that not only the Media Server logs are affected, but all logs will have sensitive information suppressed. Note that this can be enabled on a per port basis (or per session basis in the case of Media Server). Callsre log files will also have potentially sensitive data suppressed, and will not record audio for affected interactions. MRCP users can specify the (tts.)secure_context header as part of a SET-PARAMS/GET-PARAMS request or as part of RECOGNIZE/INTERPRET/SPEAK requests as needed. The default value for secure_context and tts.secure_context can be specified in media_server.conf, or also within the client_property.conf file associated with the underlying speech/TTS port(s). If there is a conflict between these two configurations, the more secure option will always be used. These default values can be overridden using the headers specified above on a per-interaction basis within sessions as needed.
- Added new PROP_EX_SECURE_CONTEXT property value that can be used with LVSpeechPort::SetPropertyEx (or corresponding LV_SRE_SetPropertyEx) as well as LVTTSClient::SetPropertyEx (or corresponding LV_TTS_SetPropertyEx). When this property is set to a value of 1, logging for the specified port will be suppressed to avoid writing out any potentially sensitive data to log files. This property can be changed between ASR/TTS interactions within the port to selectively enable (1) or disable (0) the suppression of this potentially sensitive data. These changes are part of our ongoing PCI compliance initiative.
- Added new functionality to LVShowConfig (Windows)/lv_show_config (Linux). Added MRCP v1 and v2 testing of ASR and/or TTS functionality using this utility. Previously MRCP support was excluded and this utility only implemented API-level testing.
- Added LumenVox manager connectivity test to LVShowConfig/lv_show_config to allow connectivity testing and configuration reporting to be included in this utility.
- Changed the utility's license check to test for availability of any kind of license, including SLM, SpeechPort, VoxLite, CPA and/or AMD to be more verbose for all customers. Also, improved verbosity to clarify whether no licenses were available, or no license server could be reached, whereas previously this was shown as no licenses being available when either situation occurred.
- In addition to adding new functionality to LVShowConfig (Windows)/lv_show_config (Linux) mentioned above, the specified parameters to this utility have been improved to be clearer and more consistent for users. The usage information now shows only the following list of parameters -a, -all_config, -all_test, -license_test, -asr_test, -mrcp_test, -tts_test, -h, -o. The -a parameter flag now runs -all_config as well as -all_test. Note that the -o (output) parameter will now save all output in the specified output file, whereas previously only the configuration values were reported in the output file. Now test results and configuration values will be stored in the output file, which improves usefulness. See http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01635
- Added support for SSML documents housed on HTTP servers, or using a file system path, to the Media Server so that such documented will be fetched and used from the specified HTTP URI or file location. MRCP users will now be able to use the SPEAK request along with Content-Type: text/uri-list as an alternative to the previously supported Content-Type: application/synthesis+ssml.
- Added new LV_TTS_SynthesizeURL to C API and corresponding SynthesizeURL method to C++ LVTTSClient. These functions now allow API users to specify SSML documents located on HTTP servers when performing TTS synthesis.
- Improved logging to LVSpeechPortAPILog.txt so that in addition to logging parameter values passed into API functions, results from these API calls are now also logged (assuming logging verbosity is configured to report these).
- Added new SimpleMRCPClient utility application to allow users to exercise basic functionality of MRCPv1 and MRCPv2 when configuring or testing Media Server. This utility accepts grammar and audio file parameters, then connects to the specified Media Server to verify basic ASR and/or TTS functionality. This can be useful for customers to validate whether all LumenVox components are correctly licensed and configured. See http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01633
- Added new max_num_rtp_packets_buffered configuration setting to media_server.conf, allowing users to specify the maximum number of unprocessed RTP packets to be held on to when the media server is not in recognition mode i.e. it buffers the unprocessed audio that is usually discarded between recognitions and spools it in when the next recognition starts. Do not use if the media server session is being shared with different calls since the noise baseline may end up getting calculated with noise from a different caller. This setting is useful when there are large delays between prompts during which there is no active recognition and the user may have said something that should have been captured for the next prompt.
- Added support for configurable PUBLIC_RULE_ACTIVATION_MODE option in sre_server.conf file. In version 10.5, the behavior of public rules in SRGS grammars was modified so that all top-level public rules would be activated along with the root rule in accordance with the SRGS conformance test (http://www.w3.org/Voice/2003/srgs-ir/test/conformance-4.grxml). This caused an unexpected change in behavior for some customers, and this option is now configurable. Default behavior is now backwards compatible with versions prior to 10.5.110, i.e. Rules that are not referenced in an SRGS grammar are unreachable. To enable SRGS compliant behavior, this value can be set to 1
- Improvements were made to MRCP compatibility mode 1 to provide more compliant behavior. This change includes implementing a template-based method of applying custom changes, allowing users to modify output of NLSML to emulate other speech vendors, for example or to support alternate result container formats as needed. Also, now when specifying Compatibility mode 1, GrXML "tag" supplied as a property of <item> within grammars are now permitted. Previously only explicit child tag elements were supported.
- Previously, a RECOGNIZE request using a session: identifier from a previously defined grammar could only return results from the first grammar in the URI list. Now all of the grammars in the uri-list from the DEFINE-GRAMMAR request will be activated when using the corresponding session: identifier
- Added a new command line utility application LVErrorCodes (Windows) / lv_errorcodes (Linux) to help users interpret the meaning of error codes emitted from the various LumenVox function calls. See http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01636 for usage information and more details
- Added new API function LV_SRE_LoadGrammarWithParameters to accommodate loading of grammars from URI with an optional list of MRCP-style headers. This can be useful when loading parameters in an MRCP or HTTP environment, or when loading grammars where parameters cannot be stored within the grammar itself, such as Fetch-Timeout and Cache-Control parameters. See the knowledgebase article http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01624 for more details.
- Improved user feedback in upgrade analyzer utility to provide better clarity to users wanting to check their configuration before upgrading to newer versions of LumenVox products. This useful utility was previously not well documented or understood by users. See the knowledgebase article http://www.lumenvox.com/knowledgebase/index.php?/article/AA-01637 for more details.
- Improved sample ASR applications to automatically detect the presence of WAV headers for audio files being passed in. These utilities were designed to only accept headerless audio files, however many users complained of performance issues when incorrectly using wav files. This change is designed to avoid such frustration, however the desired input files for sample ASR applications remains headerless (ulaw) audio files, which will give the best performance. Previously, these unwanted WAV headers at the beginning of audio files would manifest themselves as clicks or noise at the beginning of recognition, and would adversely affect noise reduction settings and voice activity detection, which would ultimately interfere with recognition results.
- Added auto detection of wave headers in LoadVoiceChannel to strip out the wave header. This only affects direct LoadVoiceChannel and does not affect Streaming interface in any way. If a Wave header is detected, the audio format contained within it will automatically be used. The Audio Header and Audio Footer are detected in a robust manner if the data is determined to have a Wave header. Most customers will not notice this change, since LoadVoiceChannel is designed to accept headerless audio (non-wave-files), however this change can help situations where the incorrect use of wave files are attempted. If there is any ambiguity in detecting the audio format or the header/footer, the old behavior will persist. Previously, these unwanted WAV headers at the beginning of audio files would manifest themselves as clicks or noise at the beginning of recognition, and would adversely affect noise reduction settings and voice activity detection, which would ultimately interfere with recognition results.
- Modified TTS Server to add check for XML syntax errors before parsing in TTS1 engine so that behavior is consistent with TTS2. This change may affect customers who were attempting to perform SSML on a malformed XML document using TTS1. Previous behavior would result in a successful synthesis with empty audio. This behavior has been changed to return a synthesis error and log out details of the xml syntax error (e.g. line number, error description) to tts_server_app.txt and also made available at LV_TTS_GetLastSSMLError() and/or LVTTSClient::GetLastSSMLError().
Minor Changes:
- Added warnings in MultiThreadedStreamingExamples to notify the user that an audio file with a WAVE header was loaded. No attempt is made to compensate for the wave headers since it would detract from the example of our API.
- Modified Media Server to correct a problem in the Linux implementation where any Recognition-Mode that was specified was causing RECOGNIZE requests to fail. Now only unsupported values (such as hotword) specified in Recognition-Mode header will be rejected. To clarify, LumenVox only supports Recognition-Mode: normal at this time, and any other values specified will be rejected as unsupported when specified for this header. As part of this change, any specified Recognition-Mode header value will not persist within the session across subsequent RECOGNIZE requests, however this minor change should not affect any users, but should prevent any unwanted/unsupported values from persisting.
- Modified asr_server_grammar.txt logging to reduce the severity of log messages related to cached grammars not being located. These common and benign warnings were being incorrectly reported with ERROR severity. These are now correctly reported as INFO severity.
- Modified logging of LV_SRE_SetPropertyEx to correctly appear in the LVSpeechPortAPILog instead of the client_asr log to be more consistent with other API logging activity.
- Modified the documentation used when describing the LICENSE_TYPE setting within client_property.conf to be more verbose and clear when users are implementing SLM, CPA or AMD
- Modified the comments associated with TIMEOUT_INFINITE to clarify that this definition is only applicable when calling one of the WaitForEngineToIdle functions, and should not be used with any SetPropertyEx function calls.
- Minor change to PROP_EX_LOAD_GRAMMAR_TIMEOUT handling to prevent values outside of permitted range of 1000 to 2147483647. Previously invalid values of <= 0 or > 2147483647 caused undesirable/unpredictable results (such as affected the Digium connector bridge). Now any value outside the permitted range will be ignored in favor of the current value, or default (200000) as appropriate.
- Added minor comment to LV_SRE_Defines.h to clarify that SPX_8KHZ and SPX_16KHZ are deprecated audio formats.
- Minor edits and code cleanup was performed on the sample ASR and TTS code.
- Modified TTS Server to improve ability to switch voices in TTS1 between languages by just specifying the voice name in the ssml <voice> element. Previously for TTS1 the voice language would also have to be specified along with the voice name if a voice switch in a different language was desired. This change makes TTS1 more consistent with TTS2 behavior.
- SimpleTTSClient applications have been modified to accept SSML via specified URI in addition to previous options. Examples were also added to the usage information.
- Modified the way in which results are handled whenever com.lumenvox.end-of-speech-timeout expires during a decode (following barge-in). Previously, any result in this situation resulted in success-maxtime along with the returned result. Now, if the confidence score is below the threshold, a no-match-maxtime will be returned with no result.
Fixes:
- Modified client shutdown procedure to avoid assertions whenever License Server could not be contacted.
- Modified the following sample application projects to include _CRT_SECURE_NO_WARNINGS and _CRT_SECURE_NO_DEPRECATE precompiler directives to remove benign compile-time warnings:
- SimpleASRClient_c
- SimpleTTSClient_c
- HelloWorld_ASRDecode_c
- HelloWorld_TTSSynth_c
- MultiThreadedStreamingExample_c
- SimpleASRClient_cpp
- SimpleTTSClient_cpp
- HelloWorld_ASRDecode_cpp
- HelloWorld_TTSSynth_cpp
- MultiThreadedStreamingExample_cpp
- Sample TTS applications have been modified to create WAV headers when producing output files. In version 10.5, the files generated were headerless ulaw, which was an undocumented and undesired change from previous versions, so this is now corrected and behaves as it did prior to 10.5, thus producing correctly formed wav files.
- Modified Speech Tuner to improve shutdown whenever non-existent CallIndexer machine references are being used. This problem was relatively benign, however this change reduces the apparent delay and exception logging side-effects of the problem.
- Fixed a bug affecting TTS2 SSML parsing where an invalid or non-existent audio URI reference would cause synthesis failure instead of playing the alternate text contained within the <audio> tag in such situations. Note that an invalid audio URI reference in this context may mean an audio file that is not in the supported format (16-bit, 16 KHz PCM with wav header). TTS1 was not affected by this issue.
- Fixed referencing builtin:grammar from a grammar document with parameters. This resolves a problem introduced in 10.5 where parameters were being incorrectly stripped from the URL when builtin grammars were being specified from within other SRGS grammars. This problem manifested itself indicating the following message in asr_server_grammar.txt: "Referencing an external root rule. But the root was not defined in target grammar."
- Modified handling of PROP_EX_DECODE_TIMEOUT to ignore values of <= 0 of specified for this value. Now if values of <= 0 are specified, the currently active value will be retained (if set) or the default (typically 20000ms) will be used. This is the change that prompted the 10.5.300 maintenance build, so this behavior has not changed since that version, but this change now affects both Windows and Linux builds.
- Fixed a bug introduced in 10.4.500 where multiple parses for a single interpretation were not correctly added to the NLSML recognition result. This only affected decodes with >1 SRGS grammar parse paths that resulted in the same Semantic Interpretation. This gave a single result instead of the correct number of results based on the actual number of parses.
- Removed unwanted .o and .d files that were incorrectly shipped with sample Linux projects
- Fixed a small leak in TTS Server which was introduced in 10.5.110, where significant repeated load would eventually lead to synthesis failure due to depletion of available handles. The number of synthesis iterations needed to encounter this problem is > 120,000. Restarting the TTS Server clears the handles, however users are encouraged to upgrade to 11.0 to avoid this defect.
- Fixed a bug when processing additional URI parameters when passed in with grammar request. These were incorrectly being stripped from the subsequent HTTP fetch request. This problem was introduced in 10.5.110, where a query string present in an HTTP URI would not be passed along to the fetching of the HTTP document.
- Fixed a bug that was introduced in 10.5.110 where old voice names were not correctly supported in a backward compatible way for TTS1 users, effectively disabling voice switching within single SSML requests when using the older voice names.
- Fixed a problem when processing malformed n-gram documents. Previously it was possible to cause a fatal exception in the ASR server when such a malformed SLM was used.
- Fixed a bug in TTS Server where accented characters for TTS1 did not work previously when specified within an SSML document. It is likely that this bug has always existed since the introduction of TTS in version 10.0. It however did work previously with TTS1 when non-SSML document plain text was used. This bug did not affect TTS2, in which accented characters work as expected for SSML and plain text.
- Minor change to LVSpeechPort destructor to check whether HPort was NULL prior to performing further cleanup. This was previously harmless, however produced some undesired log messages whenever the port had already been released normally.
10.5.300 (September 21, 2012):
Fixes:
- Maintenance fix for Linux only. This corrects a change in behavior between 10.4 and 10.5 if users specified a timeout value of 0 when calling SetPropertyEx with a PropertyName value of PROP_EX_DECODE_TIMEOUT. In previous versions, an invalid value of 0 was ignored but in version 10.5 changes were introduced to utilize this value. The fix is to once again ignore such invalid values.
Note that this change affected the Asterisk Connector Bridge, so Asterisk users should avoid 10.5.100 and 10.5.200 and use 10.5.300 instead.
10.5.200 (August 29, 2012):
Minor Changes:
- Changed internal logging behavior in message routing subsystem to avoid reporting unwanted late/ignored messages, since these could be interpreted as problems by customers, when they were, in fact, benign
- lv_show_config output was modified to display default values where appropriate, thus removing ambiguity from the values previously shown
Fixes:
- Corrected minor typos in SimpleASRClient_c and SimpleASRClient_cpp customer examples
- Modified Speech Tuner to correct a minor bug causing exceptions when accessing Call Indexer running in 32-bit CentOS5/Red Hat 5 build
- Corrected a problem affecting the single stream mode of CPA. This would only affect users attempting to use the CPA/AMD features in version 10.5.110 release who opted for the unrecommended single stream method
- Fixed a problem with customer examples Visual Studio solutions, where the 64-bit option had not been defined, requiring users to define them.
- Fixed a problem introduced in 10.5.110 where specifying DTMF and AMD together would result in undesired speech barge-in if detected
- Fixed bug introduced in 10.5.110 when performing LoadGrammar with multiple optional parameters. These erroneous duplicates had the effect of creating new cached grammar entries, when encountered. These are now normalized.
- Improved memory management in statistical pronunciation modeling, which corrects a very small, slow increase in memory use over time.
- Fixed SSML preparser which previously ignored optional emphasis child elements for TTS2 engine only. This was contrary to the documentation.
- Fixed a minor typo in lv_show_config, where GRAMMAR settings were incorrectly listed under a STREAM heading.
- Fixed a bug when defining a global grammar using the same label as a previous global grammar, the former grammar would persist. Now the new grammar will replace any former definition.
- Corrected a bug introduced in 10.5.110, which reported incorrect 0-value vocab size for global grammars. This problem only effected reported values shown on screen in the Speech Tuner application.
- Fixed a build time error, introduced in 10.5.110, which caused lv_show_config to fail when running on certain platforms, announcing lumenvox.conf could not be found
10.5.110 (August 14, 2012):
Improvements and New Features:
- Added new Call Progress Analysis functionality. This is a significant enhancement over the previously available Answering Machine Detection mechanism. Please refer to the Knowledge Base for full details of these advanced features and capabilities.
- Grammar processing has been improved to cater for more optional parameters specified with grammars, and also meta-data within grammars has been greatly enhanced.
- TTS Voice names have been changed, along with all revised TTS documentation to offer more clarity to users. See LumenVox TTS Voices page and section for more details.
- New functionality has been added to the streaming interface. See API documentation for DELAYED_LICENSE_ACQUISITION, LV_SRE_StreamStartListening, LV_SRE_RegisterGrammar or the equivalent C++ methods LVSpeechPort::StreamStartListening, LVSpeechPort::RegisterGrammar.
- Implemented HTTP caching when referencing remote grammars. This change is in addition to the internal grammar caching mechanisms that were already in place, and allows some degree of additional control over the caching process.
Minor Changes:
- An optimized builtin:grammar/date grammar is now distributed with the product, offering better speed and memory performance when this grammar is mixed with others. The old version will also continue to be distributed for now, but this may be phased out in the future. See builtin:grammar/date_with_month_checks to reference the old version.
- Results returned from AMD will now be BEEP instead of the earlier ++BEEP++, which was not a valid token in a grammar. The built-in grammar was updated to accommodate this change.
- Improved Media Server to better handle extreme load conditions
- Revised and improved example code being distributed to users to be more consistent with current best practices and more clearly demonstrate the preferred streaming method.
- Added better Virtualization support, allowing smoother installation onto VM instances
- Added configurable behavior for unknown language code (for VXML compliance)
- Improved SSML parser to be more consistent when working with multiple voices. Also added more flexible support in say-as processing to be compatible with other vendors' custom implementations. See the Introduction to SSML section in the Knowledge Base for more details.
- Modified Media Server recognition timer behavior to be based upon barge-in rather than recognition-start-timers
- Modified the help link within he Speech Tuner to reference the new help in our Knowledge Base rather than the older help webpages.
- The SimpleSREClient has been renamed to SimpleASRClient to be more consistent with naming conventions. See the Using the SimpleASR Client article for details on using this tool.
- StreamSetParameter functions in our C and C++ APIs had internally changed parameter types. This requires no changes in customer code, but may require a recompile to work correctly. It is anticipated that this change breaks backward compatibility with previous versions, including Asterisk connector-bridge. See the LV_SRE_StreamSetParameter and LVSpeechPort::StreamSetParameter articles for details.
Fixes:
- Modified Media Server NLSML results to correctly report ambiguous interpretations that match different specified active grammars, so that they correctly appear in their own <interpretation> element.
- Fix for Media Server where zero length synthesis would not produce SPEAK-COMPLETE
- Fixed a bug associated with emailing critical error messages in some situations. This likely ignored certain critical errors being reported by the ASR
10.4.500 (May 25, 2012):
Improvements and Major Changes:
- Changed ASR behavior
to allow well-formed grammars that have a zero vocabulary size. This was
previously prevented to avoid using malformed grammars, however there are
certain legitimate uses for such grammars when referenced from other base
grammars, so these are now permitted.
- Changed SSML behavior
to allow say-as with or without the previously required vxml: namespace when
interpret-as uses boolean, digits, currency, number or phone. This change means
that the vxml: prefix is now optional for those interpret-as values
- Significant
modification to synthesis STOP processing. Previously only the active SPEAK
request (if any) was stopped. Now only requests specified by the client (in
optional Active-Request-Id-List) will be stopped. If the client does not
specify any request-id, all active and pending SPEAK requests will be stopped
and the reply Active-Request-Id-List will indicate which requests were stopped.
This is for both MRCPv1 and MRCPv2
Minor Changes and Fixes:
- Added better support for recognizer STOP handling. Previously only the active recognize task would be stopped. Now, the implementation will be to perform a wildcard STOP of all active and pending RECOGNIZE requests any time a STOP is received - even if that STOP request specifies specific requests only. This limitation should not affect any customers
- Changed Media Server
processing of SDP to enable c= connection information at the session level as
well as allowing override at media level.
- Fixed a Media Server
problem when processing synthesis STOP requests in MRCPv1 if the specified
resource URL is incorrect. Technically having mismatched URLs here is invalid,
however the LumenVox Media Server applies heuristics to determine the type of
resource being requested, and in this one case the detection method was
incorrect.
- Fixed a minor issue
in Media Server to help stability when operating under extreme load
- Fixed a minor issue
in MultiThreadedStreamingCExample to help support accented characters if
detected by applying locale setting
- Fixed a minor TTS
synthesis issue where WaitForSynthesis would fail to indicate completion if
thread timing of this call overlapped the synthesis call itself
- Fixed a TTS synthesis
issue where the Media Server would fail to return SPEAK-COMPLETE if the
synthesis returned a zero length audio result
- Fixed a TTS synthesis
issue where attempting to synthesize an SSML containing only a period would
result in zero length audio. Now 500ms of silence is played if this is
detected. This fix is for TTS1 engine only, TTS2 already had this feature
10.4.300 (March 19, 2012):
Minor Changes and Fixes:
- TTS Server now logs SSML event when verbosity set to 2 (verbosity 3 was previously required)
- Fixed a bug when processing TTS1 lexicon references when using SSML 1.0
- Fixed a rare bug specific to CentOS6, 64-bit Operating System, which resulted in unexpected decode results due to an incompatible memory move operation.
- Logic relating to suppression of more than 10 critical errors per hour was buggy. Now fixed.
10.4.200 (February 1, 2012):
Minor Changes and Fixes:
- Changed MultiThreadedStreamingCExample to allow running of AMD decodes.
- Re-enabled switching of voices in SSML which was a regression in 10.4.100
10.4.100 (January 20, 2012):
Improvements and New Features:
- Added new American English acoustic models with improved accuracy and performance
- Logging Verbosity settings have been implemented across all products. These settings can be set at startup within the corresponding product configuration files. At runtime, this setting can be changed using the LumenVox Dashboard product, which also has the option of making the changes temporary or persistent beyond service restart. The default value is set as LOW, which means only errors and warnings will be logged. Users are encouraged to set their desired level of logging verbosity. Note that maximum logging can adversely affect system performance when large numbers of operations are being processed on the system. In other words, reducing logging verbosity can improve throughput performance
- Added new PROP_EX_LOGGING_VERBOSITY option to SetPropertyEx and GetProperyEx allowingusers to adjust client logging verbosity at run time
- Changed LumenVox Dashboard to allow configuration of logging verbosity and viewing of service configuration settings.This can be accessed by right-clicking on the service in Summary view, and selecting the configure menu option. Selecting the 'make changes permanent' checkbox will apply configuration changes to the startup configuration files
- Added new Vendor-Specific-Parameters: com.lumenvox.compatibility-mode option, allowing compatibility mode to be selected or deselected by using SET-PARAMS (etc.) without the need to restart the Media Server.
- Added new Australian English TTS voice
- Added statistical performance tracking option to TTS Server. This information will be periodically recorded in tts_server_status.txt located in the logs folder
- Added new waveform_url_prefix configuration option to Media Server, allowing users to specify the prefix for returned Waveform-URI references.This may be useful when configurations expose these files from a local http server
- Added Media Server support for wildcard option to GET-PARAMS requests for recognizer and synthesizer resources for both MRCP V1 and V2 for better specification compliance
- Added LV_SRE_SetClientPropertyExPermanent and LV_SRE_CommitClientPropertySettings to client API, along with C++ equivalents. These can be used to permanently commit config changes to configuration files on disk, so that they persist beyond service restart. The only setting that is supported by this mechanism at present is LOGGING_VERBOSITY, however more support will be added in future versions
- Windows installation now checks for required administrator privileges in Windows 7, 2008 where UAC is required and if not present, generates a suitable message in place of the cryptic message in previous versions
- Changed the User Agent string returned by Media Server to show version number information. In MRCPv1, this string is now returned in the session name header (s=)
- Changed French pronunciation rules to prevent empty word phonetic pronunciations
- When processing GrXML grammars, the xmlns attribute is now considered optional and thevalue of "http://www.w3.org/2001/06/grammar" will be implied if not supplied. Previously we required this value to be non-optional with all GrXML grammars
- Overall inter-component communication was improved to increase performance and reduce connectivity issues
- SimpleTTSClient now has default values for language, voice and gender, making it easier to use.The SimpleTTSClient code was also modified to help clarify the process flow so that it may be easier for users to follow and implement their own functionality
- SimpleTTSClient and SimpleSREClient now provide more verbose feedback, allowing users to clearly see what types of issues they have, rather than returning a numeric error code
- Improved performance of Media Server to increase throughput when large numbers of simultaneous sessions were being processed. This improves overall SRE and TTS performance and increases the speed at which RTSP and SIP sessions are created and destroyed
- Modified TTS Server to support all voices by default, without the need to configure into one of two modes as before.The corresponding TTS_ENGINE setting in configuration no longer needs to be used and is now ignored because of this change
- Performance of TTS Server was improved by removing a single-threaded code bottleneck which would only become apparent under significant load. This portion of code was redone to avoid such a bottleneck, thus improving performance when under significant load
- Commas that were present in GrXML grammars were previously escaped with double-quotes which was incorrect. Commas are now discarded as part of the grammar compilation process.This should have no adverse effect on customers since commas do not have any acoustic reference
- Changed Media Server to add more verbose logging for 'Busy Here' events
- Changed the Media Server behavior for recognition-timeout. Now works more according to spec, using its own timer instead of just setting the EndOfSpeechTimeout in the streaming interface. EndOfSpeechTimeout can now be set separately, defaulting to the private value in the media_server.config file.
- Note that due to this modified behavior, users may experience "no-match-maxtime" earlier than in previous LumenVox versions. In these cases, please configure maxspeechtimeout to the desired value, which will be dialog dependent.
Minor Changes and Fixes:
- The default value for the trim_silence setting in client_property.conf has been changedfrom 990 to 970 to correspond with revised acoutic model performance
- In Linux, the permissions applied to log and cache folders have been changed to allowbetter compatibility when non-root users attempt to access these. The folders are nowcreated with 755 for the parent folders and 777 for child folders. Previously allfolders were created with 755 permission, which prevented non-root users access, sinceexecute permission is required to list and traverse folders
- Changed Media Server behavior to delay decodes until all associated grammars have beenfully loaded and activated.This change avoids the recognizer returning early from aRECOGNIZE when the client had not correctly waited for completion of DEFINE-GRAMMARrequests before issuing a RECOGNIZE request, which could result in no-match
- Removed enable_logging configuration option from Media Server configuration since we nowhave logging verbosity which offers better control
- Removed the no longer used optional media_server_log configuration item
- Removed validation of dtmf-term-char for less strict (more flexible) performance
- Fixed a bug where the Media Server incorrectly responds to OPTIONS request with 0=(using zero) instead of o= (using oh) for the reply headers, which was not compliant
- Project settings for the sample MultiThreadedStreamingCExample code now avoids unsupportedUnicode and debug library references
- SSML processing of ampersand characters has been improved again to allow better handlingof escaped and unescaped instances when they are encountered
- Fixed a problem where certain port-scanner software would cause an exception within theMedia Server
- Fixed a problem in Media Server where invalid negative timestamps were being reported for some packets
- Fixed the critical log emailer application where it was not parsing the log entries correctly which resulted in the emails not being sent out.
10.3.200 (November 7, 2011):
Minor Changes and Fixes:
- Fixed SSML preparser problem when prosody rate is specified with a decimal value.This was previously was not being handled correctly.
- Fixed a problem affecting Windows installations only, which prevented correct upgrade from a previous version of the Speech Engine due to incorrect InstallShield product code setting.
- Minor Fix to SimpleTTSClient application to prevent possible buffer overrun.
10.3.100 (November 1, 2011):
Improvements and New Features:
- Added new Answering Machine Detection algorithms, replacing previous versions and with significant improvements in accuracy with reduced CPU overhead.
- Added support for 8 new TTS voices across 4 new languages:
- German Male
- German Female
- European French Male
- European French Female
- Castilian Spanish Male
- Castilian Spanish Female
- North American Spanish Male
- North American Spanish Female
Licensing and use of these new voices is similar to previous languages and voices
- Added new routines that were in the C API, but not in the C++ API
- GetAvailableLanguageCount
- GetAvailableLanguageIndex
- GetCallGuid
- GetDecodeAcousticModel
- GetLogFileName
- GetPhoneticPronunciation
- GetPhoneticPronunciationCount
- SetCustomCallGuid
These are now members of LVSpeechPort class, and documentation can be found here: Core API Introduction
- Consistent with en-US, there are now definitions for the pronunciation of numerals inen-IN, en-AU and en-GB
- Added support for 64-bit RHEL6 / CentOS6 (no 32-bit support of this Operating System isplanned).Removed support for RHEL4/CentOS4 and Debian
- Changes to Media Server to accommodate clients that do not wait for grammar loads orresponse from RECOGNIZE before streaming audio and DTMF. Any decoder or DTMF activityneeded while waiting for grammar loads to complete will be postponed to preventunpredictable results due to incorrect grammar(s) being active
- SimpleSREclient and SimpleTTSclient now have symbolic links in /usr/bin and /etc/lumenvox on Linux systems, the data files ABNFDigits.gram and 8587070707.pcm are now copied into/etc/lumenvox, making them easier to access for customers.The symbolic links are SimpleSREClient and SimpleTTSClient. The original files can still be found in/usr/share/doc/lumenvox/client/examples/
- The Speech Engine now allows mixing of grammar tag-formats.Previously any such mixingwould result in undesirable semantic interpretation and was not supported
- Minor speed improvements when processing grammars
- Changed internal VAD settings to be less sensitive to low volume speech using the defaultsettings.This change improves false barge-in accuracy slightly
- Media Server now performs better parsing of 'Content-Type' when grammars are specifiedto avoid problems when optional (valid or invalid) parameters are specified
- New options were added to the Dashboard File menu to be more intuitive for new userswhen adding, changing or removing machines
- Dashboard now keeps track of selected log type when switching machines in log view toavoid the need to keep re-selecting it
- Dashboard now automatically refreshes the status view values every few seconds
- Centralized logging now trims or pads the third field to a fixed length for betterreadability
- Updated the internal architecture of the TTS server for better performance. This changeshould not be readily noticeable by users, but allows better flexibility for morelanguages and voices as they become available
- Various improvements to the speech engine, including optimizations to the memorymanagement algorithms
- Header file comments have been improved for the API functions, correcting out of dateinformation and including newly added functionality and options. This should beconsistent with the recent website documentation updates
- The Call Indexer port is now configurable, with 7595 being the new default instead of50800. This change coincides with similar changes to the Speech Tuner, which can nowspecify the port number for Call Indexers as needed
- Various changes to allow client applications a faster shutdown
- Better support when converting GrXML to ABNF grammar formats when dealing with DTMF and punctuation characters
Improvements and Major Changes:
- Changed severity of startup checks to critical from error, since these prevent ASR enginestartup from taking place
- Previous TTS language packs defining es-LA (Latin America) have been changed to a morecorrect es-MX (Mexico) language definition to add better clarification for the variousSpanish dialects now supported
- Minor changes to Dashboard menu and tooltips to have more consistent wording
- Following some internal changes to built-in grammar management, Mexican Spanish built-in grammars will now be distributed with ASR packages in addition to American English
Minor Changes and Fixes:
- Fixed a problem where the Dashboard would fail to restart the ASR engine on Linux machines due to an internal permissions issue
- Fixed a problem in the Speech Tuner when opening a grammar file from Explorer. Previously a confusing and incorrect message would ask whether you wanted to delete all current data and would not load the grammar. This fix also applies to ssml files.
- Fixed TTS processing to correctly escape ampersands in the SSML. These were previouslycausing synthesis problems
- Fixed Media Server to allow for optional quotes around boundary specifier for multipart/mixed grammar specifications in accordance with RFC1521
10.2.900 (October 13, 2011):
Improvements and Major Changes:
- This is a significant maintenance release which fixes a problem relating to a timer wraparound, which presents itself when the tick counter wraps around when the system uptime counter reaches 49 days 17 hours and 2 minutes.Client applications using the Speech Port could exception at this time.
- The TTS server shipping in 10.2.900 does not correctly perform an upgrade.You must do an uninstall of any previous version before installing the newest.This is because there was a change to the Service Name in the installation package and the previous versions prevented the service from being removed from the command line.If you encounter installation errors 1923 or 1920, you should perform an uninstall before installing the newer version. Future versions should not encounter this problem, once older versions have been uninstalled
10.1.700 (October 7, 2011):
Improvements and Major Changes:
- This is a significant maintenance release which fixes a problem relating to a timer wraparound, which presents itself when the tick counter wraps around when the system uptime counter reaches 49 days 17 hours and 2 minutes.Client applications using the Speech Port could exception at this time.
10.2.800 (September 22, 2011):
Minor Changes and Fixes:
- Minor fix to Media Server when reporting IN-PROGRESS for INTREPRET request. This waspreviously sent as an event instead of a response type packet
10.2.700 (September 13, 2011):
Minor Changes and Fixes:
- Minor fix to Media Server processing where INTERPRET requests were being made quickly before a previous DEFINE-GRAMMAR request was in progress, thus causing a sequencing problem.
- Minor fix to Media Server when performing INTERPRET with DTMF grammars, which previously returned an empty success result instead of no-match. Also changed the input mode to correctly return dtmf in these cases too
10.2.600 (August 25, 2011):
Minor Changes and Fixes:
- Minor fix to number of days to/from license expiration being displayed in Dashboard (matherror)
- Minor fix to configuration file generation following installation in connection withManager product
- Fix to license type switching when used with AMD mode. Problems were seen when repeatedlyentering and leaving AMD mode within the same session
- Minor coding changes to avoid valgrind warnings
10.2.500 (August 5, 2011):
Improvements and New Features:
- Minor improvement to AMD detection accuracy
10.2.400 (August 3, 2011):
Minor Changes and Fixes:
- Fixed a problem with RTP stream timestamp from TTS synthesis streams to reduce calculatedjitter.
- Minor fix to correctly release cached license from a non-primary server. It is unlikelycustomers would encounter this issue in the field, but if they did its effect would beminimal
- Changed recent message when locales are not present from an error to a warning
10.2.200 (July 27, 2011):
Improvements and New Features:
- Added better checks for locale information during ASR startup
- Added better auto-detection of UTF-8 strings in TTS input
10.2.100 (July 22, 2011):
Improvements and New Features:
- Added a new LumenVox Dashboard application to monitor various LumenVox services, statistics and event logs (on the local machine, remote machines, or both). All license maintenance functions can be performed using the Dashboard application. This change also includes the addition of a new LumenVox Manager service, which communicates with the existing LumenVox services and acts as an interface to the Dashboard. The Dashboard is a Windows-only GUI tool but the Manager service runs in both Windows and Linux so the Dashboard can monitor and manage both Windows and Linux machines.
- As part of our ongoing effort to improve logging, we have implemented may changes to the logging mechanism, allowing logs to be remotely accessed (via Dashboard). This process also included renaming logs; see table below for more details. Log entries now contain severity information for each event, and filtering of these events is possible when viewing them in the Dashboard. For example, just reviewing critical errors and warnings is now easily possible.
- As part of our ongoing effort to improve statistics reporting, we have implemented new statistics tracking mechanisms within the ASR Server and TTS Server. These are in addition to the statistics tracking mechanisms previously added to Media Server and License Servers. These statistics can be viewed using the new Dashboard application, or by reviewing the individual application statistics logs.
- Revised memory management improves overall performance, making the most of available system resources. This change has the effect of reducing the overall memory consumption of all LumenVox applications. In test conditions, dramatic reduction in memory use was observed, at times using less than 40% memory than previous versions for the same load tests.
- Added SSML pre-parser to the TTS server, which now attempts to determine whether any unexpected elements are present within the SSML passed in from user applications. If any are detected, an attempt will be made to determine the users intent. If one can be made the SSML will be updated accordingly. If no sense can be made of that portion of the request, it will be ignored. This is in response to user requests for a more forgiving SSML parsing mechanism. Now the server will make an effort to interpret any SSML sent and will only respond with an error as a last resort. Note that any substitutions or deletions will be recorded in the TTS server log.
- Added the option of displaying pre-parsed and modified SSML in the Speech Tuner via the SSML properties dialog.
- Answering machine detection code has been reworked to provide significantly faster response when detecting beeps. Typical improvements seen were from 622ms in version 10.1 to a response time of 96ms in 10.2. In addition, new methods of beep detection were added to improve efficiency.
- Fax tone detection was added to the Answering Machine Detection module.
- Added support for viewing answering machine/fax detection events through the Speech Tuner.
- Acoustic models for UK English Digits, Mexican Spanish Digits and Indian English Digits were retrained and updated to provide better overall performance.
Improvements and Major Changes:
- Renamed logs in accordance with the new centralized logging mechanism. All log files should now share a common naming convention of component_name_log_type.txt. New and old log filenames are listed below:
|
Old Log Name |
New Log Name |
|
LVStatus_TTSServer.log |
tts_server_status.txt |
|
LVStatus_SREServer.log |
asr_server_status.txt |
|
LVStatus_LVLicenseServer.log |
license_server_status.txt |
|
LVStatus_MediaServer.log |
media_server_status.txt |
|
LVApp_SRE.log |
asr_server_app.txt |
|
SpeechServerLog.txt |
asr_server_app.txt |
|
LVApp_SpeechPort.log |
client_asr.txt |
|
--- |
client_tts.txt |
|
--- |
client_license.txt |
|
LVApp_LicenseServer.log |
license_server_app.txt |
|
LvMediaServer.txt |
media_server_app.txt |
|
LVApp_Tuner.log |
tuner_app.txt |
|
LVApp_Tuner.log |
call_indexer_app.txt |
|
LVApp_TTSServer.log |
tts_server_app.txt |
|
--- |
dashboard_app.txt |
|
--- |
manager_app.txt |
|
GrammarLoadLog.txt |
asr_server_grammar.txt |
|
LVApp_Critical.log |
lumenvox_critical.txt |
|
LVApp_MediaServer_Restart.log |
media_server_restart.txt |
|
LVApp_SREServer_Restart.log |
asr_server_restart.txt |
|
LVApp_LicenseServer_Restart.log |
license_server_restart.txt |
|
LVApp_TTSServer_Restart.log |
tts_server_restart.txt |
|
--- |
manager_restart.txt |
- The default wind-back-time for decodes has been changed from the previous value of 325ms to 480ms. This change is due to resolution improvements in Voice Activity Detection code.
- Both LvMediaServerMonitor and LVLicenseAdministrator applications will no longer be supported after version 10.2.All of the functionality these applications provided are now handled by the LumenVox Dashboard. Migration across to this new application is therefore encouraged.
- Media Server configuration settings are now initialized to a setting of 'default' whichwill use the default value. This saves users from remembering the default value, andmay also be useful in future to identify non-default settings.
- Removed definitions for unused DeactivateGrammar(int index) and GetUtteranceScore from LVSpeechPort.h header file, since these functions no longer exist.
- Minor change to decoder processing when presented with an invalid language as part of a decode request. Logging will now be much clearer what exactly the problem is.
- The phonetic speller tool within Speech Tuner has been improved to maintain a history of phrases, which can now be copied and pasted into external applications as needed.
- Result strings have generally been changed from 'No Error' to 'Success' so that searching for the word 'error' in log files is more productive.
- Minor change to the response timing of internal messaging mechanism to better respond to dropped connections.
- AMD functionality is now exposed via the regular API mechanism. Previously this was not a primary method of accessing AMD features.
- The SimpleTTSClient application was modified to be more flexible and also provide more feedback to users when errors occur, such as when TTS server is not available.
- Minor change to add more post-allocation memory checks to help prevent problems when running into low memory situations.
Minor Changes and Fixes:
- A minor change to the Media Server code was made to accommodate dtmf-char=none, which was previously expecting a single DTMF character value.
- A minor bug in Speech Tuner was fixed when users rapidly switched between calls, then deselected all calls in the browser view, some interactions were incorrectly shown as unprocessed.
- Fixed a bug where the Speech Tuner audio display was incorrectly scaling very long audio clips, which caused the tick marks to appear too close together. There was also a minor rounding issue in the same section of code, making the ticks appear slightly offset occasionally. This too was fixed.
- Fixed a bug in Speech Tuner where flagging a number of interactions, then filteringthem out and subsequently unfiltering them caused the flag marker for these to becleared, which was incorrect behavior
- Fixed the Linux installer to auto-create the configuration file for the call indexer.Previously this would not have been created until the first run of the call indexerwhich is not expected behavior.
- Fixed problem with command line installation/removal of the TTS server. Previously installing and removing of the server using the InstallShield utility was the only way to perform the operations, which is not expected behavior.
- Fixed a problem with the Call Indexer, which was recording log events to the Speech Tuners log file instead of its own.
- Fixed a problem in Media Server when parsing a 'simple' RTSP SETUP request with transport line ending with the client port number. This was previously being rejected.
- Modified Media Server configuration to use default 480ms for wind back time from 325ms. Note that this change should have no affect on customers, and is a result of internal resolution refinement.
10.1.600 (July 13, 2011):
Minor Changes and Fixes:
- Fixes a problem loading and activating en-GB grammars that was introduced with 10.1.100 - all users running en-GB should consider upgrading to this version from other 10.1 releases
10.1.500 (June 20, 2011):
Improvements and Minor Changes:
- This is a maintenance release to resolve a minor packaging issue in10.1.400 and should be used in place of 10.1.400.The packaging problem related to a conflict with the xulrunner package in CentOS5 64-bit only
10.1.400 (June 1, 2011):
Improvements and Minor Changes:
- Speech Tuner now better handles malformed GrXMLwhen files are being loaded, and reports such errors.
- Removed unused 'engine' logs folder in Linux.All Speech Engine log files are now saved in the 'sre' folder.
- Improved NLSML formatting when the Media Server is in compatibility mode in order to better structure results with multiple parses and multiple n-best results.
Minor Changes and Fixes:
- Fixed rare problem on Windows where Speech Engine failed to restart correctly following a power outage which caused corruption to one of the files accessed during startup
- Fixed a Media Server problem where TTS audio streams were stopped prematurely on occasion.
- Fixed a Media Server problem where timestamps in TTS audio streams were not consistent with wall clock if different streams were started and stopped within the same session. Now the timestamps are recalculated at the beginning of each stream segment.
10.1.300 (May 24, 2011):
Do not use this version in production
10.1.200 (April 22, 2011):
Improvements and Minor Changes:
- Speech Tuner confidence histogram display was modified to display confidence at threshold when the mouse is clicked onto the histogram
- Exposed an internal Speech Engine setting, allowing large and complex grammars to be processed in specific ways. This is needed for very specific grammars that fail to compile due to their complexity. Contact LumenVox Technical Support for assistance when working with large/complex grammars for more information on this feature.
- Minor change to timing mechanism used for restarting services when installing language packs.
- Minor change to Speech Tuner TTS view which better handles audio being displayed.
- Improved Speech Engine shutting down with non-critical acoustic model loading failure.
- Improved server-side SLM caching.
- Fix for Speech Tuner when dragging and dropping many callsre files.
- Fix for Speech Tuner that caused the number of SRE interactions to not be displayed correctly in the Platforms list on the summary view when using certain operating systems, including Windows 7.
10.1.100 (April 11, 2011):
Major Improvements and New Features:
-
New Voice Activity Detection (VAD 3.0) module implemented to greatly improve barge-in performance, allowing users to more accurately control the noise and speech levels when triggering barge-in. By default the new VAD 3.0 performs better at distinguishing speech from non-speech, offering better overall performance.
VAD 3.0 now uses 100ms of stream to determine noise/silence level instead of the previous value of 1000ms. This time period is also now configurable, allowing it to be tailored to individual application needs.
- The Speech Tuner has an SSML editor view, allowing text-to-speech audio to be tuned and developed within the Speech Tuner environment.
- Virtual Machine (VM) environments are now explicitly supported by the LumenVox License Server.Previous behavior when operating in a virtualized environment was unpredictable, as they were not officially supported. Now, with the use of a special VM license, the License Server can run in a virtualized environment provided it has outbound Internet access on port 80 to authenticate with a LumenVox license server. Please contact LumenVox Support for more details. Note that if a virtual machine is detected, the License Server will not function without this license and outbound port 80 access.
- A new acoustic model has been added, offering support for Indian English (en-IN).
Improvements and Major Changes:
- The Media Server has a revamped communications subsystem, using significantly lessthreads and offering noticeably improved throughput performance.
- The Speech Tuner has new Streaming options page, allowing various stream parameters to beconfigured and tried within the Speech Tuner environment.
- Added a new log called LVApp_Critical.log for tracking serious application issues that require user attention. This log should now be the first place users look when troubleshooting LumenVox issues.
- The Speech Tuner now has auto-completion of tags when editing GrXML grammars.
- Added support for Multi-Part grammars in the Media Server.
- Added option to specify Round-Robin or First-Available port allocation mode in MediaServer. The new Round-Robin mode was added to offer better performance when cycling ports quickly when the system is under extreme load, avoiding CLOSE_WAIT socket issues.
- Improved performance in critical low memory situations.
- Improved Speech Engine decode throughput performance.
- Modified the default port number ranges used by Media Server to avoid problems with ephemeral ports. Here are the new recommended (default) values:
mrcp_server_port_base = 30000 (was previously 49922)
rtp_server_port_base = 35000(was previously 50922)
monitoring_port = 29900(was previously 39911)
- Improved License Server performance when processing large numbers of simultaneousrequests.
- Modified the client licensing mechanism to offer significantly improved performance by temporarily caching released licenses, thus removing the need for round trip to the license server if another license is requested within a short time period.
- Speech tuner now allows filtering and sorting in the Call Browser view, similar to that in other views.
- N-best results are now sorted by confidence score, in descending order. Previously there had been confusion surrounding the designation of the confidence scores of lower n-best results which was caused by different methods of calculating these scores for independent results. A more unified approach to confidence scoring has been implemented forn-best results lower than the top value to eliminate this confusion.
Minor Changes and Fixes:
10.0.1020 (Feb. 21, 2011):
Minor Changes:
- Minor release releated to packaging for TTS voices. Will not affect most users.
10.0.1019 (Feb. 14, 2011):
Please note that there are a very large number of changes in the 10.0 release of LumenVox, as it represents one of our biggest releases ever. In addition to a number of fixes and improvements, we have added native 64-bit binaries to our releases,written a text-to-speech (TTS) server that is integrated with our Media Server, and made quite a few changes to our C and C++ interfaces.Customers upgrading from older versions are advised to read through these release notes carefully.
Major Improvements and New Features:
- Windows users should see our new instructions for Downloading the LumenVox productsas the download process has changed.
-
64-Bit Versions of Server and Client products in both Windows and Linux are officially released. This supports full, native 64-Bit performance on supported 64-Bit operating systems (Linux Red Hat 5 64-bit/CentOS5 64-bit, Windows Server 2008 R2, Windows 7 64-bit)Note that only Intel x64 (AMD64 mode) processors are supported (not Itanium).
When running LumenVox in 64-bit native mode, you need one of the following supported Operating Systems:
- Linux RHEL 5 / CentOS 5 (64-bit)
- Windows Server 2008 R2 (64-bit)
- Windows 7 (64-bit)
Minimum supported machine configuration:
- 8 GB Memory
- 200 GB Hard Drive
- 8 processor cores
Note that machine configurations are highly application specific, depending on things like grammar size and number of simultaneous calls. Please contact LumenVox Technical Support for assistance in determining your specific hardware needs.
- Added new LumenVox Text To Speech functionality. This has been added to the Speech Port API and also is embedded within the Media Server (both MRCPv1 and MRCPv2). The new TTS functionality is exposed in non-MRCP implementations via two new LVSpeechPort header files LV_TTS.h (C interface) and LVTTSClient.h (C++ interface). Note that the TTS server is initially being released in 32-bit mode only. This can be run on 64-bit versions of supported versions of both Windows and Linux.The native 64-bit version will follow in the next product version. Most users should not encounter any performance limitations of this 32-bit component
- Added TTS events to callsre response log files (when enabled). These can now be viewed in the Speech Tuner for diagnostic purposes.When using the Media Server, these logfiles now use the name of the active session rather than a GUID so that they can be more easily matched up later. These logs files contain a combination of SRE and TTS events that happen within a single session, so the overall call flow can be visualized within the Speech Tuner and optionally, audio from both types of events can be replayed.Correct logging of DTMF events to callsre files was also added to LumenVox Media Server.
- TTS functionality has been integrated into the LumenVox Media Server, which connects to the LumenVox TTS Server (via licensing). SPEAK, PAUSE, RESUME, SET-PARAMS and GET-PARAMS requests are serviced via MRCPv1 and MRCPv2 connectivity. MRCP CONTROL requests are not handled at this time.Of note, when plain text TTS requests are made,the TTS Server will utilize any SET-PARAMS settings that have been specified for the session (or non-standard settings from the configuration) and internally produce and handle this as a full SSML request.By contrast, SSML requests sent from external client applications (platforms) must embed any SSML settings within their SSML request string.Also note that syntax errors that are detected in the specified SSML string passed into the TTS parser are reported back to the MRCP client in the failed completion packet with details contained in a "Completion-Reason" header where possible.
- Added new GetPropertyEx API functionality to expose the values that are set using thecompanion SetPropertyEx API functions.This interface is available from both the C++SpeechPort and also the C-style API interface
- Added a new command line utility allowing grammars to be pre-loaded to the specified SREservers via batch or script files as was requested by some customers.
This utility is called lv_grammar_loader in Linux andGrammarLoader.exe in Windows
Usage: GrammarLoader.exe <grammar-file> <server-ip> [timeout]
The timeout (specified in seconds) indicates the timeout for the grammar load call.Defaults to 3600 (1 hour) if none specified
- Added Statistical Language Model (SLM) support to the Engine. Use of SLMs requires a new "SLM" licensetype that includes all functionality of the Full license plus support for SLMs. Please contact LumenVoxfor more information about using SLM functionality.
Improvements and Major Changes:
- Optimized the packaging of installation packages to remove uncommonly used medium and high resolution models. Also split the installation packages into language packs,which reduces the installation download size for most customers. Please be sure to read the new installation instructions for more information on these language packages.
- The client_property.conf file has had the default value of STRICT_SISR_COMPLIANCE set to 1. This should not affect users who upgrade as your existing values should be copied into the new file, but any new installations of LumenVox will have this set. Any user who is using the older SISR tag-format making use of $instead of out should verify the setting is set to 0. LumenVox encourages all developers to switch to the current SISR tag-format as soon as it is convenient.
- Many functions and definitions that were previously deprecated have been removed from the API.Any applications using these should be modified to avoid their use. Please consult LumenVox technical support if you require assistance with this.
The following items have been removed:
Defines and typedefs-
-----------------------
H_SPT
H_SPT_PRE_ORDER_ITR
H_SPT_CHILDREN_ITR
LV_NOT_A_VALID_PROPERTY_VALUE
LV_BAD_HPORT
LV_GRAMMAR_WARNING
LV_GRAMMAR_ERROR
LV_DECODE_USE_ABNF_GRAMMAR
Functions and methods-
-----------------------
LVParseTree_GetIteratorBegin()
LVParseTree_GetIteratorEnd()
LVParseTree_GetConceptIteratorBegin()
LVParseTree_GetConceptIteratorEnd()
LVParseTree_GetTerminalIteratorBegin()
LVParseTree_GetTerminalIteratorEnd()
LVParseTree_GetTagIteratorBegin()
LVParseTree_GetTagIteratorEnd()
LVParseTree_Node_GetParent()
LVParseTree_Node_GetIteratorBegin()
LVParseTree_Node_GetIteratorEnd()
LVParseTree_Node_GetChildrenIteratorBegin()
LVParseTree_Node_GetChildrenIteratorEnd()
LVParseTree_Node_GetTerminalIteratorBegin()
LVParseTree_Node_GetTerminalIteratorEnd()
LVParseTree_Node_GetTagIteratorBegin()
LVParseTree_Node_GetTagIteratorEnd()
SI_DATA_Clone()
SI_DATA_Release()
SI_DATA_Is_Equal()
SI_DATA_Type()
SI_DATA_Print()
SI_DATA_GetBool()
SI_DATA_GetInt()
SI_DATA_GetDouble()
SI_DATA_GetString()
SI_DATA_Object_Size()
SI_DATA_Object_Property_Id()
SI_DATA_Object_Property_Value()
SI_DATA_Object_Property_Exists()
SI_DATA_Array_Size()
SI_DATA_Array_Element()
LVGrammar_SaveCompiledGrammar()
LVGrammar_LoadCompiledGrammar()
LV_SRE_GetPhonemes()
LV_SRE_SetProperty()
LV_SRE_GetUtteranceScore()
LV_SRE_SetBuiltinGrammarURI()
LV_SRE_IsGlobalGrammarLoaded()
LV_SRE_UnloadGlobalGrammars()
LV_SRE_GetParseTreeHandle()
LV_SRE_GetNumberOfConceptsReturned()
LV_SRE_GetConcept()
LV_SRE_GetPhraseDecoded()
LV_SRE_GetRawTextDecoded()
LV_SRE_GetPhonemesDecoded()
LV_SRE_GetConceptScore()
LV_SRE_AddPhrase()
LV_SRE_LoadStandardGrammar()
LV_SRE_RemoveConcept()
LV_SRE_ResetGrammar()
LV_SRE_SetConceptRepetition()
LV_SRE_LoadGrammarIdx()
LV_SRE_LoadGrammarFromBufferIdx()
LV_SRE_LoadGrammarFromObjectIdx()
LV_SRE_UnloadGrammarIdx()
LV_SRE_IsGrammarLoadedIdx()
LV_SRE_ActivateGrammarIdx()
LV_SRE_DeactivateGrammarIdx()
LV_SRE_SwitchFromHotMode()
LVSpeechPort::GetNumberOfConceptsReturned(int VoiceChannel)
LVSpeechPort::GetConcept(int VoiceChannel, int Index)
LVSpeechPort::GetPhraseDecoded(int VoiceChannel, int Index)
LVSpeechPort::GetRawTextDecoded(int VoiceChannel, int Index)
LVSpeechPort::GetPhonemes(int VoiceChannel, int Index)
LVSpeechPort::GetPhonemesDecoded(int VoiceChannel, int Index)
LVSpeechPort::GetConceptScore(int VoiceChannel, int Index)
LVSpeechPort::AddPhrase(int GrammarSet, const char* Concept, const char* Phrase)
LVSpeechPort::LoadStandardGrammar(int GrammarSet, int DefaultGrammar)
LVSpeechPort::RemoveConcept(int GrammarSet, const char* Concept)
LVSpeechPort::ResetGrammar(int GrammarSet)
LVSpeechPort::SetProperty(int property,int value)
LVSpeechPort::LoadGrammarFromBuffer(int index, const char* buffer_string)
LVSpeechPort::LoadGrammarFromObject(int index, LVGrammar& Grammar)
LVSpeechPort::IsGrammarLoaded(int index)
LVSpeechPort::UnloadGrammar(int index)
LVSpeechPort::IsGlobalGrammarLoaded(const char* label)
LVSpeechPort::UnloadGlobalGrammars()
LVSpeechPort::SetBuiltinGrammarURI(const char* Name, lv_bool DTMF, const char* URI)
LVSpeechPort::ActivateGrammar(int index)
LVSpeechPort::SwitchFromHotMode()
LVSpeechPort::LoadGrammar(int index, const char* uri)
LVGrammar::SaveCompiledGrammar(const char* filename)
LVGramamr::LoadCompiledGrammar(const char* filename)
LVParseTree_Node::Parent()
- Some API functions were deprecated. These will continue to be supported for some time and can be used by including the LV_SRE_Deprecated.h header file:
LV_SRE_OpenPort2()/LV_SRE_OpenPort() replaced by LV_SRE_CreateClient()
LV_SRE_ClosePort()replaced by LV_SRE_DestroyClient()
LVSpeechPort::OpenPort()replaced by LVSpeechPort::CreateClient()
LVSpeechPort::ClosePort()replaced by LVSpeechPort::DestroyClient()
- As noted above, CreateClient should now be called in place ofOpenPort or OpenPort2. This new single function is a consolidation of the previous two. In addition, the ClosePort function call has now been renamed DestroyClient to be more consistent with other API names.The previous functions can continue to be called by including the LV_SRE_Deprecated.h header file, but this older functionality will be removed in some future product version so we recommend moving over to using the new function names as soon as is practical.
- Several unused and no longer supported settings have been removed:
PROP_EX_DECODE_OPTIMIZATION
PROP_EX_SEARCH_BEAM_WIDTH
PROP_EX_LANGUAGE
- Several settings have been deprecated, and will be removed in future versions:
-
PROP_EX_LIC_SERVER_HOSTNAME - replaced by new PROP_EX_LICENSE_SERVERS
PROP_EX_LIC_SERVER_PORTNUM- replaced by new PROP_EX_LICENSE_SERVERS
- All references to the long data type in the exposed API functions have been replaced with the int data type instead. This is for better 32/64-bit compatibility, since int data types are the same size in both 32- and 64-bit implementations of Windows and Linux.
- Configuration files on Windows are now located in a single common folder. This is the LVCONFIG folder (which by default is set to $LVBIN/config and defaults to Program Files\LumenVox\Engine\).On Linux, previously there were application-specific variables in lumenvox_settings.conf that would identify the full path to the respective configuration file. Now there is a global variable called LVCONFIG (under a section named "GLOBAL") in lumenvox_properties.conf that identifies the directory where all LumenVox products will look for their respective application-specific configuration file. By default, LVCONFIG points to/etc/lumenvox. When performing an upgrade from an earlier version, the installation process will scan the old locations,making backup copies of old configuration files as needed and moving the old settings into the new files created in this folder. User settings should therefore be carried to the new locations where possible. Note that some unused settings have been removed.When this is encountered during an upgrade scan, the settings will be copied to the new location, but will be commented out as removed. This change is in combination with anew mechanism for creating configuration files following installation, which was previously performed by the installation packaging process, but is now performed by a command line utility application (ConfigurationUpdater.exe on Windows,lv_configuration_updater on Linux).This utility should not need to be run by users and should only be used in conjunction with LumenVox technical support. One noticeable effect of these various configuration changes is that now, if users wish to revert to the original, default settings at any time, they can rename or delete a configuration file and it will be created by the host application the next time it is started.
- Renamed Media Server configuration from file mediaserver.conf to media_server.conf in both Windows and Linux.
- Added support for custom XML lexicon files to be specified via the <lexicon> element inside of a grammar.
- Added a new command line utility allowing users to see their current client settings and configuration file locations more easily. This utility can optionally perform a simple request to determine availability of licenses with the current configuration settings(particularly useful when running in authentication mode).
This utility is called lv_show_config in Linux and LVShowConfig.exe in Windows. It can be run with no options in order to see a usage message.
- Added new LV_SRE_GetAvailableLanguageCount andLV_SRE_GetAvailableLanguageIndex APIfunctions to expose loaded acoustic model language information to the client. Notethat these are advanced functions and therefore are declared in LV_SRE_Advanced.h
- Added new LV_SRE_SetCustomCallGuid andLV_SRE_GetCallGuid APIfunctions that can beused to specify the callsre filename for the session (this is done automatically whenrunning the Media Server).If these are not used, the previous functionality ofusing a random GUID each time will continue to work as before. Note that these areadvanced functions and therefore are declared inLV_SRE_Advanced.h
- Exposed some C++ functions that were previously only accessibly using the C-Style API.
Added to LVSpeechPort.h:
LVSpeechPort::ReturnGrammarErrorString
LVSpeechPort::GetGrammarVocabSize
LVSpeechPort::GetAvailableLicensesCount
LVSpeechPort::IsServerAvailable
Added to LV_SRE_Grammar.h:
LVGrammar::GetLanguage
LVGrammar::GetMode
LVGrammar::GetTagFormat
- The Speech Tuner now requires a separate Speech Tuner license in order to run. Please contact our sales or support departments for details.
- The Media Server now uses a default confidence-threshold of 0.05 in place of 0.45 due to recent confidence score changes returning a broader spectrum of results. This can still be changed as always by specifying a new value in the configuration file or as part of an MRCP/VXML setting.
- The Engine and the client have had significant improvements made to better handle very large and/or recursive grammars.
- The Speech Tuner's transcriber view has been changed to allow users to pause and resume audio playback (using ~ key), and new options to jog forward and backward 5% through the audio using Page Up / Page Down keys.
- Added new upgrade analysis tool, which allows users to identify potential problems before upgrading to newer versions of LumenVox products. In particular is there would be any licensing issues encountered when moving to a newer version, these would be identified so that they can be resolved before upgrading. This is an optional tool.
- Added Media Server handling of the SIP Record-Route headers if present in SIP INVITErequests. If Record-Route headers are not present, there is no effect. If one or moreare present, they will be preserved in their correct order and relayed back to theclient whenever appropriate.
- Changed Media Server to allow more control over Save-Waveform functionality. This includes persistent state of Save-Waveform flag as well as configuration file override for the default Save-Waveform flag. The Save-Waveform flag can now be set from SET-PARAMS (or other) requests in addition to just RECOGNIZE tasks. Includes changes to naming convention of generated audio files that include the RECOGNITION task ID so that each audio within the session can easily be identified.
- Improved robustness across all products to better handle out-of-memory situations and attempt to fail gracefully, continuing operation where possible. Also improved robustness of Media Server when running under significant stress situations either under heavy load, or low resource situations to be tolerant of socket and memory failures at the operating system level.
- Improved Media Server throughput performance.
- Improved built-in time grammars to return results more compatible with other vendors.
Minor Changes and Fixes:
- In addition to the configuration file location, all of the configuration files have hadsections added to help users better identify the area or module affected by each setting.
- All of the older, now unused semi-continuous decoder functionality has now been removedto allow better future performance and remove unnecessary overhead. This change includedremoving some older acoustic models from the installation packages since they are nolonger necessary.
- Invalid Tag-Formats that are used in grammars are now reported during grammar load,rather than after use as before.
- Added grammar display/selection option within the Grammar View and generally modified howgrammars are handled within Speech Tuner.This includes a change allowing users totoggle between .callsre grammars and loaded grammars.Also, currently loaded grammars areunloaded whenever a new tuner database is opened.
- Media Server now supports "Logging-Tag" header, when specified. This tag is stored inthe corresponding callsre file and can be filtered using the Speech Tuner.
- New recognizer_resource_url and synthesizer_resource_url settings were added to theMedia Server configuration file to indicate the ASR/TTS resources users wish to target.
- Added new SimpleTTSClient example application to exercise the new TTS functionality. This accompanies the newly renamed SimpleSREClient example application to exercise the SRE functionality (this was previously called SimpleClient).
- Added support for builtin:grammar of non-US English languages. See the SetPropertyEx option PROP_EX_BUILTIN_GRAMMAR_LANGUAGE for more details. Note that this change is automatically implemented within the LumenVox Media Server when the grammar language is specified (via 'Speech-Language') in the MRCP RECOGNIZE or DEFINE-GRAMMAR request.
- Added new error codes in the range -51 to -68 which are used by the TTS handling code and License handling code as well as additional exception handling.
- Fixed a minor bug in Speech Tuner where zero length transcriptions were causing problems when deactivating the view (switching to another, or shutting down).
- Identified and fixed a problem in Media Server where the possibility existed in which MRCP packets could have been mishandled if multiple messages were compacted into a single transport packet by the sending machine in a certain way. This would not have been a very common problem.
- Identified and fixed a problem relating to registering and unregistering the LumenVox Media Server service from the command line (Windows only). This was tracked down to an incorrect name being used by the InstallShield packaging code. This has now been corrected.This would only have become apparent to Windows users attempting to manually remove and reinstall the Media Server service.
- Added new options to Speech Tuner, allowing users to specify the VAD streaming parameters prior to running a test. These include SNR and Volume Sensitivity settings as well as the VAD Init Mode (silence trimmed).
- Added versioning to Speech Tuner Interactions files.
- Modified Media Server SIP error detection algorithm to be more tolerant of errors before resetting the UDP socket. This may have the effect of improving overall performance when UDP receive errors persist.
- Modified Media Server port allocation algorithm to favor round robin approach instead of lowest available. This may have the effect of improving performance when cycling through large numbers of sessions in quick succession due to TCP CLOSE-WAIT timing.
- Removed previous memory check that would fail decodes indicating insufficient memory if available physical memory was below 80 MB. This helps with low resource system configurations where physical memory is not available, and is using virtual memory instead, which is monitored using other methods.
- Internally, Windows binaries are now built using Visual Studio 2008 in place of the previous Visual Studio 2005 (this change should not affect most users).
- Major product components now log out their operating system environment and location of configuration settings files they are using at startup.
- Improved logging in the License Server. Now installed licenses are reported to the log file at both application startup and following a merge operation when new licenses are added. Also, as each license is acquired, the number of used/remaining licenses of that type are reported.
- Media Server now utilizes the decode timeout specified in the configuration file when performing the final steps of a decode (internally). This was previously using a fixed 20 second timeout. This change should not be noticeable to users.
- Improved API logging of SetPropertyEx and GetPropertyEx in the speech port to give clearer indication of the meanings of values specified.
- During Windows installation, a check for MDAC (required for emailer.exe) is done, which will be installed if needed.
- Significant performance improvement in the Media Server Monitor, which now performs caching and periodic (500ms) updates to prevent backlogs of messages that couldn't be written quickly enough. Also, the auto-scroll feature has been improved to stabilize selection and viewing area when new events are being appended to the display window.
- Speech Tuner now offers better handling of .csv files and better reporting of files when they cannot be found or loaded correctly.
- Removed some diagnostic (and possibly confusing) messages from the console output when installing/removing some LumenVox services from the command line (Windows only).
- Logging was changed to remove unnecessary events being recorded that were cluttering the otherwise useful logs. Also recategorized some events that were being reported with the wrong level of severity.
- Modified example grammars to use the correct {$=""} tags with instead of the :""shorthand.
- Added the option of having the license server create Info.bts files when needed using the new optional /SYSINFO command line parameter. This can be useful as an alternative to lv_license_manager, which can also produce these files when needed.
9.5.100 (May 10, 2010):
Improvements and New Features:
- The confidence scoring mechanism used by the decoder has been almost entirely rewritten. A completely new set of algorithms is used in calculating scores, which greatly improves the reliability and meaning of the reported confidence scores. In particular, it provides a much clearer separation between correct and incorrect results.
- Due to the significantly revised confidence score calculation methods added to version 9.5, there is no backward compatibility between the 9.5 server and older clients (or vice versa). You should recompile your applications and be sure that you have updated all components prior to deploying 9.5.
- All acoustic models for the various languages have been rebuilt using the new continuous methodology introduced for American English in 9.0. This should lead to improved accuracy with each language. It also means that we are dropping support for semi-continuous mode as it is no longer needed. If you were previously using semi-continuous mode (e.g. for Spanish support) you should switch to continuous mode.
- The LumenVox software can now be configured to automatically send e-mail alerts when critical errors occur. This is disabled by default.
- On Windows installations, a new config file called lumenvox_settings.confwill be installed in%CommonProgramFiles%/LumenVox/.This will be used to hold global settings for all LumenVox products, including the new e-mail settings for reporting critical errors. (As this file already existed on Linux, it has simply had the new [GLOBAL] section added to it.)
- The jitter buffer mechanism in the Media Server was rewritten. This should now perform better when sequencing problems between audio and dtmf occur and also when dropped packets are encountered.
- New LV_SRE_GetAvailableLicensesCountand LVSpeechPort::GetAvailableLicensesCountAPI functions allow client applications to query the number of available licenses from a License Server.
- The speech server now has several options for controlling memory use and determining what happens when system memorybecomes low. Please see the sre_server.conf documentation for thefollowing settings: FRAME_TRACK_MODE, CRITICAL_MEMORY_THRESHOLD, LOW_MEMORY_THRESHOLD, and LIMITED_MEMORY_THRESHOLD.
- The Engine now has an optional answering machine detection mode that can be enabled with a special license type. This is useful for outbound calling, as it can very reliably detect answering machine or voicemail beeps. Please contact LumenVox for information about obtaining answering machine detection licenses.
- Linux packages now ship with a script called lvservices_restarter.sh that allows you to configure the system to automatically restart the LumenVox processes.
- Please Note: In LumenVox 10.0, we will be completely removing a number of deprecated functions, including the concept/phrase interface. If you are still using functions that are in the deprecated header, please consider changing them now.
Fixes and Minor Enhancements:
- Acoustic model file versions are now reported at Engine startup.
- Various Media Server statistics are now periodically logged to a new file calledLVStatus_LVMediaServer.log.This file is located in the same directory as the Media Server log (by default C:\Program Files\Lumenvox\Engine\Logs\ on Windows or/var/log/lumenvox/mediaserver/ on Linux).
- All products now log a version number, operating system, and LumenVox environment variables at startup to aid in troubleshooting of common problems.
- Fixed a memory leak in the License Server.
- When the License Server is running in authentication mode, it will now log usernames in plaintext (previously user names were logged as obfuscated hash codes).
- Linux client packages now include a compiled binary of the SimpleClient sample along with the source code (helpful when there is no compiler on the target machine).
- Changed the media server configuration file to better describe the various logging options in the responses (callsre) files.
- The LV_SRE_IsServerAvailable API function signature was changed to return an integerinstead of bool.The bool was inappropriate here since this is a C type interface. Now 1 means that an SRE server is available, 0 means there is not.
- Configuration files now have a GLOBAL section of where previously there were no section markers. Applications that looked for settings in unmarked locations will now look for them in the GLOBAL section.
- Added dropped packet monitoring to Media Server statistics.
- Added new error codes to LV_Error_Codes.h
- Fixed a problem with the Call Indexer which previously had the possibility of waiting for an infinite amount of time between scans. Now it will default to 1 day between scans.
- Fixed a bug in the Linux version of the Call Indexer which caused the application to lookin the wrong location for configuration file. The application will now use the correct/etc/lumenvox/ location for the configuration file.
- On Windows, the Call Indexer now expects its configuration file to be located in the new %LVCONFIG%folder, which defaults to %LVBIN%\config.
- Added the missing LVCallIndexer.ini to Linux RPM packages.
- Fixed a problem with the grammar parser that allowed for infinite recursion in grammars.
- Modified the mechanism that established a connection between speech clients and servers at clientstartup. The client will now try for up to 2 seconds to connect to a server before giving up.Previously, on very fast machines, connections could timeout before this connection had been fully established
- Modified the way in which Speech Tuner stores transcription text to allow for commas to be included without affecting the comma separated file format, which previously caused corruption of the data when reloading the files. Now commas detected in transcript text will be encoded as , when saved.This method is now used for Transcript, Decode, Transcript SI, Comments, Error String and ModelName strings.
- Speech Tuner now correctly calculates Word Accuracy scoring. Previously the number of word was being derived incorrectly. Word deletions are now no longer used in counting the number of total words in the statistics.
- Speech Tuner was modified to update word counts displayed in the word list to include mismatches (insertions and substitutions only).
- Added correct C-style API function attributes to some deprecated functions. This change should not adversely affect users.
- Added new grammar list option to Speech Tuner, allowing grammars to be viewed and selected from within the grammar editor window.
- Added options to specify more than one active grammar for use when testing with the Speech Tuner. This makes working with grammars much easier.
- Improved grammar loading and error processing added to Speech Tuner allowing users to more clearly see what problems are being reported for problematic grammars.
- Improved grammar loading in Speech Tuner to resolve external references wherever possible. These references are cached to local temporary files, allowing complex referenced grammars contained in callsre files to be edited and tested on the fly.
- Improved Speech Tuner prompting to save grammars when changing views or exiting the application.
- Fixed a bug in the Call Indexer which could cause a segmentation fault on Linux under certain conditions.
9.2.400 (February 26, 2010):
- Fixed problems with custom pronunciations which caused custom pronunciations to be silently ignored in a number of cases.
- Fixed problem with new grammar caching mechanism where the original GrXML grammar text was not being correctly stored in the resulting callsre files when using the streaming interface or Media Server.
- Fixed problem with grammar parser resolving uris that specified relative paths using the ../syntax.
- Fixed problems with Speech Tuner loading malformed grammars into grammar editor.
- Fixed cosmetic problem in Speech Tuner when displaying decode progress with greater than 65535 interactions due to minor overflow issue.
- Fixed bug that caused grammar results to sometimes be returned in incorrect case.
- Added missing acoustic models to Speech Tuner installation that are needed for phonetic speller tool.
9.2.300 (February 16, 2010):
- Fixed bug in Media Server where an empty result is returned with 0 confidence score when a bad VAD silence is detected due to insufficient leading silence in the decoded audio.This was changed to now return no-match if recognized string length is less than 1 and confidence is set to 0.
- Fixed bug in the client where a grammar label of greater than 260 characters could create a buffer overrun situation and cause an exception.
9.2.200 (February 9, 2010):
- A brand new Speech Tuner has been released! Full details are available in the Tuner documentation
- Significant internal changes to allow better handling of grammars. This specifically addresses large grammar issues but also allows faster processing of all grammars. If you previously had trouble loading large grammars, please try upgrading to 9.2.200 or later.
- Changed default location of the Media Server configuration file in Windows (it will now default to a folder called config in the Engine installation directory). In the event that your %LVBIN% variable is set to somewhere other than the Engine installation directory, the Media Server will look in %LVBIN%\config.
- Streamlined decode processing code allowing decodes to run faster generally.
- Added more verbose logging to grammar loading and parsing.
- Better compatibility with alaw audio format in Media Server. Is now faithful to SDP specified format, not RTP packet markings. Previously, incorrectly marked RTP packets were not processed correctly if there was an incorrect mismatch between SDP specifier and RTP specifier. Also improved possible ambiguity when client requests both alaw and ulaw audio formats at the same time (now first specified will be used).
- Fixed a bug in the internal statistical pronunciation model relating to pronunciation of words (typically nouns) that would not generally be in the language dictionary. This fix improves accuracy in these cases.
- Fixed a problem with possible non-unique Session-ID strings in MRCPv1 sessions.
- The Media Server's RTSP interface will now correctly respond with 486 Busy Here when speech port isunavailable at SETUP. Previously the SETUP would succeed, but subsequent DEFINE-GRAMMARor other calls would fail.
- Improved the load balancing between client and multiple SRE servers using a new algorithmdesigned to better utilize and balance SRE resoruces.
- Client side grammar caching has been added. This reduces the amount of time needed for subsequent grammar load requests from each client. This can significantly speed up loading GrXML grammars, which need to be converted to ABNF prior to sending to server. Several new settings have been added to client_property.conf including: CLIENT_CACHE_ENABLE, CLIENT_CACHE_EXPIRATION, CLIENT_CACHE_MAX_NUMBER and CLIENT_CACHE_MAX_MEMORY.
- The Media Server was getting into a deadlock state under extreme specific conditions on Linux platforms. This problem was identified and fixed.
- Changed configuration file parser to better handle situations where config file ismissing.
- Fixed a problem in the way threads are stopped in Linux. This allows more robust threadcontrol.
- Fixed problem in Media Server in Linux, where locking would occur sometimes due to blocking socket call.
- Changes to Linux shutdown code improve shutdown performance and reduce potential problems.
- More robust handling of configuration values in Media Server to prevent minor rounding problems on some Linux distributions.
- Media Server changed to better handle multiple duplicate SETUP requests in the same session.
- The Engine installation package now includes a new Call Indexer service. This works in conjunction with NewSpeech Tuner to index and serve callsre files as needed on Linux and Windows machines connected to Speech Tuner.
- Logging of License Authentication requests was improved to indicate licenses on a per-user basis.
- Fixed a grammar reference bug where a non-root-rule was being referred to in a referenced grammar.
- Fixed bug in server side grammar cache, when expiring grammars.
- Added fix for NAT problems with certain routers and firewalls that would automatically close license connections after a period of inactivity. Now the socket will be pinged to remain open more frequently.
- Fixed small memory leak when socket message connectivity is lost in certain conditions.
- Fixed a bug where callsre responses were being stored in the incorrect folder under certain conditions.
- License Administrator changes were made to prevent freezing of GUI when connecting to LicenseServer that is under stress.
- Fixed bug with multiple sequential $NULL rules being parsed in a grammar.
- Fixed problem with GrXML to ABNF conversion that would not correctly assign grammar weighting to $NULL rules in the generated ABNF output. Removed unnecessary double $NULL rules.
- Added option to automatically clear cache folders one time after installing or upgrading software to avoid possible version compatibility problems. Upon installation or upgrading, a file called cached_grammars.key will be generated in the server-side grammar cache folder, and a file called cached_client_grammars.key will be generated in the client-side grammar cache folder.If this file is detected by the Engine or client, it will clear the appropriate cache (including the file). This means that after upgrading, large grammars may take a while to load the first time as the cache is clear.
- Removed medium and high resolution acoustic models from packaging to reduce shipping size(these models are still available by custom request).
- Removed some unwanted/unnecessary logging.
- Windows 2000 is no longer a supported operating system; however we have tested on Vista and Windows7 and now support those operating systems.
- Support for Fedora Core 9 has been dropped, but support added for FC12.
- Fixed bugs when handling custom pronunciations in (default) continuous decode mode.
9.1 (October 2009):
- The LumenVox products now support licensing authentication, allowing for the License Server to only provide licenses to clients who authenticate with a user name and password. You can use this if you wish to provide licenses to customers over the public Internet,or to take advantage of our new subscription licenses.
- American English (en-US) now has three different resolution acoustic models you can use. These models offer better accuracy, but use more memory and require more time for decodes. By default, only the lowest resolution model is loaded.
- We have removed the "-di" suffix in a language declaration to indicate that digits-only acoustic models should be used. The Engine will now make this switch automatically, if it detects that that all loaded grammars use only digit words. This should offer much greater compatibility when using the built-in digits grammars, especially with VXML applications. If you continue to specify -di in a language,it will be ignored.
- There have been a number of bug fixes and enhancements that should improve compatibility between the LumenVoxMedia Server and various voice platforms that use MRCP.
- We have streamlined the Speech Engine such that its memory footprint has been reduced substantially. Under light loads, you should find that the Engine uses only about 150 MB of memory.
- Be sure to note that if you upgrade to 9.1, you should download and install new license files following our new upgrade procedures that were put into place in 9.0.
- Fixed a bug that caused loads to be improperly distributed when using multiple speech servers.
- Added instructions for using VoiceGenie 7,Genesys Voice Platform 7.6, andSyntellect Communications Platformwith the LumenVox Speech Engine.
9.0 (July 2009):
- This is the first release of the LumenVox Continuous HMM Decoder for use with the Speech Engine.The Continuous model does not use compression, so it has higher resolution, resulting in increased accuracy.The continuous models have shown an accuracy increase across various domains, but at the expense of approximately 15-20% more processing time.
- There are new noise reduction options available in 9.0, allowing better recognition in noisy environments.
- The LumenVox Speech Engine version 9.0 offers improved support of the$GARBAGE rule, which allows grammars to be defined where utterances before and after the desired phrase can be ignored. This is programmatically challenging to do correctly, and this new version sets out to improve performance over previous implementations of this rule.
- The new LumenVox Media Server provides an interface to our Speech Engine via MRCPv1 (RTSP) and MRCPv2 (SIP) connectivity. These are two commonly used networking protocols used among a variety of leading speech engines.
- The LumenVox License Server will no longer allow old licenses to work with the newer versions of the Speech Engine. This means that to use the latest versions of the software, you must ensure your software maintenance is up to date and download and install licenses with the newer maintenance date. For more information,see Upgrading LumenVox Software.
8.6 (January 2009):
- New configuration files have been added to the Engine. This should allow greater control over Engine settings without having to use the API. A few older configuration files, such as the old license_client.conf, have been merged into these new files. If you still have the old configuration files in place,the Engine will prefer the values from those, so it should not break backwards compatibility for any users.
- The Engine has a new startup procedure that should help catch problems earlier. There is a new startup procedure for the speech client (the SpeechPort interface) and a new startup procedure for the speech server.
- We have revamped all of our example application code. It should be better commented and more cleanly written. We have also added a few new sample applications.
8.5.100 (May 2008):
- Licenses can now be uninstalled, using the latest LicenseServer. If you have a machine with licenses that were set up before the release of 8.5, you will need to upgrade those licenses.Users who do not need to uninstall a license should be unaffected by this change.
- The location of files on Linux has been restructured. This represents a major revamp of the LumenVox software on Linux. Existing Linux users will need to take this into account when they upgrade. Note that we have also completely dropped the environment variables ($LVBIN, $LVLIB, etc.) on our Linux installations, and we have split the Engine into three separate Linux packages: an Engine client package, an Engine server package, and a "core" package containing files shared across all products. Please see Linux Directory Structure for information about where our files are now installed.
- Short words (e.g. "back" or "stop") should now have higher confidence scores when correctly recognized.
8.0.300 (December 2007):
|
| |
|
|