21.4 Diphone_Init
The basic method for describing a database is through the Diphone_Init
command. This function takes a single argument, a list of
pairs of parameter name and value. The parameters are
name
- An atomic name for this database.
group_file
- The filename of a group file, which may itself contain parameters
describing itself
type
- The default value is
pcm
, but for distributed voices
this is always lpc
.
index_file
- A filename containing the diphone dictionary.
signal_dir
- A directory (slash terminated) containing the pcm waveform files.
signal_ext
- A dot prefixed extension for the pcm waveform files.
pitch_dir
- A directory (slash terminated) containing the pitch mark files.
pitch_ext
- A dot prefixed extension for the pitch files
lpc_dir
- A directory (slash terminated) containing the LPC coefficient files
and residual files.
lpc_ext
- A dot prefixed extension for the LPC coefficient files
lpc_type
- The type of LPC file (as supported by the speech tools)
lpc_frame_offset
- The number of frames "missing" from the beginning of the file.
Often LPC parameters are offset by one frame.
lpc_res_ext
- A dot prefixed extension for the residual files
lpc_res_type
- The type of the residual files, this is a standard waveform type
as supported by the speech tools.
lpc_res_offset
- Number of seconds "missing" from the beginning of the residual file.
Some LPC analysis technique do not generate a residual until after one
frame.
samp_freq
- Sample frequency of signal files
phoneset
- Phoneset used, must already be declared.
num_diphones
- Total number of diphones in database. If specified this must be
equal or bigger than the number of entries in the index file.
If it is not specified the square of the number of phones in the
phoneset is used.
sig_band
- number of sample points around actual diphone to take from file.
This should be larger than any windowing used on the signal,
and/or up to the pitch marks outside the diphone signal.
alternates_after
- List of pairs of phones stating replacements for the second
part of diphone when the basic diphone is not found in the
diphone database.
alternates_before
- List of pairs of phones stating replacements for the first
part of diphone when the basic diphone is not found in the
diphone database.
default_diphone
- When unexpected combinations occur and no appropriate diphone can be
found this diphone should be used. This should be specified for all
diphone databases that are to be robust. We usually us the silence to
silence diphone. No mater how carefully you designed your diphone set,
conditions when an unknown diphone occur seem to always happen.
If this is not set and a diphone is requested that is not in the
database an error occurs and synthesis will stop.
Examples of both general set up, making group files and general
use are in
lib/voices/english/rab_diphone/festvox/rab_diphone.scm