Skip to content Skip to main navigation Skip to footer

Speech Engine update

Phonexia packages versioning follows the bugfix / update / upgrade approach.

  • Bugfix changes only last version number (e.g. 3.45.x to x+1) and includes a fix of known problems, without changing components or technology models
  • Update changes middle version number (e.g. 3.x.y to x+1) and changes/enhances the functionality and may change the API
    • can include bugfixes, or changes in component or technology models configuration
    • usually introduces new features or major fixes, which may change communication between server and client, or other changes which may affect customer processes
    • can also include new technology models; with such update you can add only the new technology, without SPE installation
  • Upgrade changes the first version number (e.g. x.y.z to x+1) and is a major change of software and/or API (for example REST Server 2.1 -> SPE 3.0). It includes change in components or  technology models.

Speech Engine update procedure

The update procedure is purely manual and heavily relies on your own detailed knowledge of your Speech Engine installation and its internal functionality and structures. This knowledge is crucial for tuning the Speech Engine for maximum performance and using it the right way.
That knowledge can be gained by taking the Phonexia training, eventually by deep studying of the documentation and articles on this site.

In short, the procedure is

  • make a backup of your SPE directory first
  • compare the content of your SPE directory and the content of the new version distribution ZIP, including content of crucial files like SPE configuration file, etc.
    • it’s strongly recommended to use visual comparison tool (Beyond Compare, KDiff3, …)
  • based on the differences, make a decision about needed changes – which directories/files can be overwritten and which files contain changes made by you, i.e. in which you need to merge your own changes with their new content (this typically concerns the SPE configuration file, especially when updating from rather old SPE version)
  • do the changes – again, a visual comparison tool makes this step much easier!
  • test the updated installation

Example of update process for SPE:

  • Stop running SPE
  • Make a backup of SPE (see Understand SPE administration and backup)
  • Optionally(!) delete bsapi directory – this decision is fully up to you, based on the actual content of the directory and your new package
    • NOTE:
      If you created any user configuration files, or made any changes in configuration files, make sure to keep the respective .bs.usr or .bs files!
      If you created any customized STT language models using LMC, it’s recommended practice to recreate the STT model using the original words list (which is copied in the root of your customized model)
    • Also, before deleting the directory make sure that new SPE package contains the same set of technologies (i.e. subdirectories of bsapi directory) as your existing installation
  • Unzip new SPE package (package must contain all needed technologies!)
  • Compare the settings file template from new package (data/phxspe.properties.default) against your current settings/phxspe.properties settings file and update your current settings file if needed (e.g. if new version introduces some new settings options, etc.)
  • If you use MySQL database, manual update of DB may be needed (SQLite DB is updated automatically when needed):
    • Run scripts in {SPE}/data/database/MySQL/update/
      NOTE: it is necessary to go version by version. If your current schema is e.g. v300 and you need update to v600, you have to apply script v300-v400.sql first, then v400-v500.sql script and then v500-v600.sql script.
      Refer to more details in Understand SPE database scripts article.
  • Run SPE

 

Related Articles