Path Definitions

This section provides Emu with the necessary information to find a given utterance in the database. Each utterance in an Emu database consists of a collection of files with the same basename: for example data001.lab data001.sd data001.hlb and so on. It is often convenient to keep these files in different directories: for example all sd (sample data) files could be kept in one subdirectory while lab files and hlb files are kept in another. (It would also be possible to keep files for different speakers in different directories). This kind of structure is encouraged in Emu since the template file contains a list of search paths for the different kinds of files in the database. Hence you can have a one search path for sd files and another for hlb and lab files.

The syntax of a path statement is:

path extn path-for-extn

Where extn is a file extension (or list of file extensions separated by commas but without spaces), and path-for-extn is the path use to search for files of this type. A path can be either a directory name or a colon separated list of directory names.

The directory names in a path can contain the wildcard characters ?, which matches any single character, and *, which matches any sequence of characters. If one of these wildcards matches part of the path name of a file, this part of the path is added to the start of the utterance name. So for example, with the path statement:

path hlb
    /usr/local/dbase/*/hlb

the Emu utterance name for the file /usr/local/dbase/ss/hlb/ss001.hlb will be ss:ss001.hlb. Now, if the path for sd files is:

path sd
    /usr/local/dbase/*/sd

then Emu will construct the full path name for the utterance ss:ss001.hlb by substituting ss for the * in the path, ie. /usr/local/dbase/ss/sd/ss001.sd. This kind of organisation for a database can result in a smaller number of files per directory which can make managing a database easier. In addition, moving a database to another part of the filesystem, or to another type of computer only requires a change to the template file: all segment lists and utterance lists remain the same. So if the database is to be moved to a Microsoft Windows host, the above paths might become:

path hlb d:\dbase\*\hlb path sd
    d:\dbase\*\sd

Examples:

path hlb,lab    /home/dbase/foo/labels:/home/dbase/foo/labs
path sd,fb,f0	/home/dbase/foo/signals:/home/dbase/bar/signals

In this case two separate directories have been given for each set of extensions. Emu will look in both to find the given files.

path hlb        /home/dbase/labels/*
path tic        /home/cdrom/database/*/phonetic
path wrd        /home/cdrom/database/*/word
path sd,fb,f0   /home/cdrom/database/*/signals

path hlb,lab    d:\dbase\english\*
path sd,fb,f0   d:\dbase\english\*\signals