Next: , Previous: Group files, Up: Diphone synthesizer


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