Speech Engine Home Directory
SPE home
directory is an analogy of user home directory in operating systems
(e.g. /home/
in *nix, /Users/
in macOS or Windows, etc.) – it is the
place where SPE stores data for users configured in SPE.
The default SPE home
directory location is
{SPE_installation_directory}/home/
. This location can be changed using
server.user.home setting in
phxspe.properties
SPE configuration file. Changing the home location might be
useful e.g. in complex deployments with multiple separate SPEs that need to be
accessing single centralized file storage placed on high-performance networked
disk array, etc.
Similarly to the operating systems, the SPE home
directory contains
subdirectories for each SPE user (see SPE user management article). These
subdirectories contain data belonging to the respective users:
– user's file storage
– user-specific data
Since SPE comes with pre-configured user "admin", the default SPE
installation contains admin
subdirectory inside home
:
home
└── admin
├── storage
└── data
Storage
The user's storage
directory is where SPE stores files and
directories uploaded or created via REST API, i.e. every action made using the
/audiofile
or /directory
endpoints is reflected here – e.g. uploading file
using POST /audiofile
physically creates the file on filesystem in the storage
location... and the file stays there until it's explicitly deleted using
DELETE /audiofile
.
There might be various reasons to NOT use the REST API for uploading files to the Speech Engine, e.g. to save the server from unwanted burdens caused by many uploads and/or big files... or from the overall processing workflow perspective it can be better to just copy files to the storage on the filesystem level, etc.
Therefore it is also possible to manipulate the physical files in the storage
directly, i.e. copy/delete files directly to the storage
directory, and then
just register/unregister the files in SPE using /audiofile/register
endpoint.
- copy/create first, register afterwards
- unregister first, delete afterward
Following these practices prevents various errors like trying to access incomplete files (because they were registered before completing the copy), or non-existent files (because they are still registered, but were already deleted), etc.
When using the registration technique it is necessary to make sure that access rights are configured appropriately – e.g. the external process putting the files to the SPE storage might be running under a different user context than the SPE process, making the files inaccessible for the SPE process... which might lead to obscure errors.
Data
The data
directory holds additional data files for entities created by
that user – e.g. SID Speaker Models, or LID language packs. If no such entities
exist for that user, this directory is empty.
Unlike the storage, the content of this directory is intended to be manipulated by SPE only and should not be manipulated directly on the filesystem level.