Speech Engine Update
Phonexia packages follow a versioning approach based on bug fixes, updates, and upgrades.
- Bug fix: Changes only the last version number (e.g., 3.45.x to 3.45.x+1) and includes fixes for known problems, without changing components or technology models.
- Update: Changes the middle version number (e.g., 3.x.y
to 3.x+1.y) and modifies or enhances functionality; it may also change the
API.
- Can include bug fixes or changes in component or technology model configuration.
- Usually introduces new features or major fixes, which may change communication between the server and client, or cause other changes that could affect customer processes.
- Can also include new technology models; with such an update, you can add only the new technology without needing a full SPE installation.
- Upgrade: Changes the first version number (e.g., x.y.z to x+1.y.z) and represents a major change in the software and/or API (for example, REST Server 2.1 to SPE 3.0). It includes changes in components or technology models.
Speech Engine Update Procedure
The update procedure is purely manual and heavily relies on your detailed knowledge of your Speech Engine installation, its internal functionality, and structures. This knowledge is crucial for tuning the Speech Engine for maximum performance and using it effectively.
In summary, the procedure is:
- Make a backup of your SPE directory first.
- Compare the content of your SPE directory with the content of the new
version distribution ZIP, including crucial files like the SPE configuration
file, etc.
- It is strongly recommended to use a visual comparison tool (Beyond Compare, KDiff3, etc.).
- Based on the differences, make a decision about the necessary changes; which directories/files can be overwritten, and which files contain changes made by you that need merging with the new content (this typically concerns the SPE configuration file, especially when updating from an older SPE version).
- Implement the changes; again, a visual comparison tool makes this step much easier!
- Test the updated installation.
Example of the Update Process for SPE:
-
Stop running SPE.
-
Make a backup of the SPE (see the article Speech engine administration and backup).
-
Optionally(!), delete the
bsapi
directory—this decision is up to you, based on the actual content of the directory and your new package.tipIf 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 is recommended to recreate the STT model using the original word list (which is copied to the root of your customized model).
- Also, before deleting the directory, ensure that the new SPE package
contains the same set of technologies (i.e., subdirectories of the
bsapi
directory) as your existing installation.
- Also, before deleting the directory, ensure that the new SPE package
contains the same set of technologies (i.e., subdirectories of the
-
Unzip the new SPE package (the package must contain all needed technologies).
-
Compare the settings file template from the new package (
data/phxspe.properties.default
) against your currentsettings/phxspe.properties
settings file, and update your current settings file if needed (e.g., if the new version introduces some new settings options, etc.). -
If you use a MySQL database, a manual update of the database may be needed (SQLite databases are updated automatically when needed):
- Run scripts in
{SPE}/data/database/MySQL/update/
.
- Run scripts in
-
Run SPE.
It is necessary to go version by version. If your current schema is, for
example, v300 and you need to update to v600, you must apply the v300-v400.sql
script first, then the v400-v500.sql
script, and finally the v500-v600.sql
script.
Refer to more details in the article
Database scripts