0% found this document useful (0 votes)
9 views15 pages

Hts Engine API Reference-1.10

Uploaded by

pillchung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views15 pages

Hts Engine API Reference-1.10

Uploaded by

pillchung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Reference of HMM-based Speech Synthesis Engine

“hts engine API” version 1.10


HTS Working Group
December 25, 2015

1 Engine structures
1.1 Audio
HTS Audio Audio output wrapper.
' $
size t sampling frequency - sampling frequency
size t max buff size - buffer size of audio output device
short *buff - current buffer
size t buff size - current buffer size
void *audio interface - audio interface specified in compile step
& %

1.2 Model
HTS Window Window coefficients to calculate dynamic features.
' $
size t size - # of windows (static + deltas)
int *l width - left width of windows
int *r width - right width of windows
double **coefficient - window coefficients
size t max width - maximum width of windows
& %

HTS Pattern List of patterns in a question and a tree.



char *string - pattern string
HTS Pattern *next - pointer to the next pattern


HTS Question List of questions in a tree.


 
char *string - name of this question
HTS Pattern *head - pointer to the head of pattern list
HTS Question *next - pointer to the next question
 

1
HTS Node List of tree nodes in a tree.
' $
int index - index of this node
size t pdf - index of PDF for this node (leaf node only)
HTS Node *yes - pointer to its child node (yes)
HTS Node *no - pointer to its child node (no)
HTS Node *next - pointer to the next node
HTS Question *quest - question applied at this node
& %

HTS Tree List of decision trees in a model.


 
HTS Pattern *head - pointer to the head of pattern list for this tree
HTS Tree *next - pointer to the next tree
HTS Node *root - root node of this tree
size t state - state index of this tree
 

HTS Model Set of PDFs, decision trees and questions.


' $
size t vector length - vector length (static features only)
size t num windows - # of windows for delta
HTS Boolean is msd - flag for MSD
size t ntree - # of trees
size t *npdf - # of PDFs at each tree
float ***pdf - PDFs
HTS Tree *tree - pointer to the list of trees
HTS Question *question - pointer to the list of questions
& %

HTS ModelSet Set of duration models, HMMs and GV models.


' $
char *hts voice version - version of HTS voice format
size t sampling frequency - sampling frequency
size t frame period - frame period
size t num voices - # of HTS voices
size t num states - # of HMM states
size t num streams - # of streams
char *stream type - stream type
char *fullcontext format - fullcontext label format
char *fullcontext version - version of fullcontext label
HTS Question *gv off context - GV switch
char **option - options for each stream
HTS Model *duration - duration PDFs and trees
HTS Window *window - window coefficients for delta
HTS Model **stream - parameter PDFs and trees
HTS Model **gv - GV PDFs and trees
& %

2
1.3 Label
HTS LabelString Individual label string with time information.
 
HTS LabelString *next - pointer to the next label string
char *name - label string
double start - start frame specified in the given label
double end - end frame specified in the given label
 

HTS Label List of label strings.



HTS LabelString *head - pointer to the head of label string
size t size - # of label strings


1.4 State stream


HTS SStream Individual state stream.
' $
size t vector length - vector length (static features only)
double **mean - mean vector sequence
double **vari - variance vector sequence
double *msd - MSD parameter sequence
size t win size - # of windows (static + deltas)
int *win l width - left width of windows
int *win r width - right width of windows
double **win coefficient - window coefficients
size t win max width - maximum width of windows
double *gv mean - mean vector of GV
double *gv vari - variance vector of GV
HTS Boolean *gv switch - GV flag sequence
& %

HTS SStreamSet Set of state stream.


' $
HTS SStream *sstream - state streams
size t nstream - # of streams
size t nstate - # of states
size t *duration - duration sequence
size t total state - total state
size t total frame - total frame
& %

1.5 PDF stream


HTS SMatrices Matrices/Vectors used in the speech parameter generation algorithm.

3
' $
double **mean - mean vector sequence
double **ivar - inverse diagonal variance sequence
double *g - vector used in the forward substitution

double **wuw - W U −1 W

double *wum - W U −1 m
& %

HTS PStream Individual PDF stream.


' $
size t vector length - vector length (static features only)
size t length - stream length
size t width - width of dynamic window
double **par - output parameter vector
HTS SMatrices sm - matrices for parameter generation
size t win size - # of windows (static + deltas)
int *win l width - left width of windows
int *win r width - right width of windows
double **win coefficient - window coefficients
HTS Boolean *msd flag - Boolean sequence for MSD
double *gv mean - mean vector of GV
double *gv vari - variance vector of GV
HTS Boolean *gv switch - GV flag sequence
size t gv length - frame length for GV calculation
& %

HTS PStreamSet Set of PDF streams.


 
HTS PStream *pstream - PDF streams
size t nstream - # of PDF streams
size t total frame - total frame
 

1.6 Generated parameter stream


HTS GStream Generated parameter stream.

size t vector length - vector length (static features only)
double **par - generated parameter


HTS GStreamSet Set of generated parameter stream.


' $
size t total nsample - total sample
size t total frame - total frame
size t nstream - # of streams
HTS GStream *gstream - generated parameter streams
double *gspeech - generated speech
& %

4
1.7 Engine
HTS Condition Synthesis condition.
' $
size t sampling frequency - sampling frequency
size t fperiod - frame period
size t audio buff size - audio buffer size (for audio device)
HTS Boolean stop - stop flag
double volume - volume
double *msd threshold - MSD thresholds
double *gv weight - GV weights
HTS Boolean phoneme alignment flag - flag for using phoneme alignment in label
double speed - speech speed
size t stage - if stage = 0 then gamma = 0 else gamma = −1/stage
HTS Boolean use log gain - log gain flag (for LSP)
double alpha - all-pass constant
double beta - postfiltering coefficient
double additional half tone - additional half tone
double *duration iw - weights for duration interpolation
double **parameter iw - weights for parameter interpolation
double **gv iw - weights for GV interpolation
& %

HTS Engine Engine itself.


' $
HTS Condition condition - synthesis condition
HTS Audio audio - audio output
HTS ModelSet ms - set of duration models, HMMs and GV models
HTS Label label - label
HTS SStreamSet sss - set of state streams
HTS PStreamSet pss - set of PDF streams
HTS GStreamSet gss - set of generated parameter streams
& %

5
2 Engine functions
2.1 Initialize engine
2.1.1 HTS Engine initialize

Type void
Use Initialize engine.
Arguments HTS Engine *engine - pointer to HTS Engine structure
Attention!! To start engine, first you must call this function.

2.2 Load models


2.2.1 HTS Engine load

Type HTS Boolean


Use Load duration PDFs and trees from files using given file names.
Arguments HTS Engine *engine - pointer to HTS Engine structure
char **voices - HTS voice file names
size t num voices - # of HTS voices
Attention!! You must initialize engine using HTS Engine initialize before calling this function.

2.3 Synthesize speech and set/get synthesis parameters


2.3.1 HTS Engine set sampling frequency

Type void
Use set sampling frequency.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t i - sampling frequency (Hz), 1 ≤ i

2.3.2 HTS Engine get sampling frequency

Type size t
Use get sampling frquency.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.3 HTS Engine set fperiod

Type void
Use set frame shift.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t i - frame shift (point), 1 ≤ i

6
2.3.4 HTS Engine get fperiod

Type size t
Use get frame shift.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.5 HTS Engine set audio buff size

Type void
Use set buffer size for direct audio output.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t i - buffer size (sample)
Attention!! Default value is 0. If i = 0, direct audio play is turned off.

2.3.6 HTS Engine get audio buff size

Type size t
Use get buffer size for direct audio output.
Arguments HTS Engine *engine - pointer to HTS Engine structure
Attention!! Default value is 0. If i = 0, direct audio play is turned off.

2.3.7 HTS Engine set stop flag

Type void
Use set stop flag.
Arguments HTS Engine *engine - pointer to HTS Engine structure
HTS Boolean b - flag
Attention!! Default value is FALSE.

2.3.8 HTS Engine get stop flag

Type HTS Boolean


Use get stop flag.
Arguments HTS Engine *engine - pointer to HTS Engine structure
Attention!! Default value is FALSE.

2.3.9 HTS Engine set volume

Type void
Use set volume in db.
Arguments HTS Engine *engine - pointer to HTS Engine structure
double f - volume in db
Attention!! Default value is 0.0.

7
2.3.10 HTS Engine get volume

Type double
Use get volume in db.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.11 HTS Engine set msd threshold

Type void
Use set MSD threshold.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t stream index - index of streams
double f - threshold

2.3.12 HTS Engine get msd threshold

Type double
Use get MSD threshold.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t stream index - index of streams

2.3.13 HTS Engine set gv weight

Type void
Use set GV weight.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t stream index - index of streams
double f - GV weight
Attention!! Default value is 1.0.

2.3.14 HTS Engine get gv weight

Type double
Use get GV weight.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t stream index - index of streams

8
2.3.15 HTS Engine set speed

Type void
Use set speech speed.
Arguments HTS Engine *engine - pointer to HTS Engine structure
double f - speed
Attention!! Default value is 1.0.

2.3.16 HTS Engine set phoneme alignment flag

Type void
Use set flag to use phoneme alignment in label.
Arguments HTS Engine *engine - pointer to HTS Engine structure
HTS Boolean b - flag
Attention!! Default value is FALSE.

2.3.17 HTS Engine set alpha

Type void
Use set frequency warping parameter alpha.
Arguments HTS Engine *engine - pointer to HTS Engine structure
double f - alpha, 0.0 ≤ f ≤ 1.0

2.3.18 HTS Engine get alpha

Type double
Use get frequency warping parameter alpha.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.19 HTS Engine set beta

Type void
Use set postfiltering coefficient parameter beta.
Arguments HTS Engine *engine - pointer to HTS Engine structure
double f - beta, 0.0 ≤ f ≤ 1.0
Attention!! Default value is 0.0.

2.3.20 HTS Engine get beta

Type double
Use get postfiltering coefficient parameter beta.
Arguments HTS Engine *engine - pointer to HTS Engine structure
Attention!! Default value is 0.0.

9
2.3.21 HTS Engine add half tone

Type void
Use add half tone.
Arguments HTS Engine *engine - pointer to HTS Engine structure
double f - half tone

2.3.22 HTS Engine set duration interpolation weight

Type void
Use set weight for duration interpolation.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t voice index - index of duration models
double f - interpolation weight

2.3.23 HTS Engine get duration interpolation weight

Type double
Use get weight for duration interpolation.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t voice index - index of duration models

2.3.24 HTS Engine set parameter interpolation weight

Type void
Use set weight for parameter interpolation.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t voice index - index of parameter models
size t stream index - index of streams
double f - interpolation weight

2.3.25 HTS Engine get parameter interpolation weight

Type double
Use get weight for parameter interpolation.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t voice index - index of parameter models
size t stream index - index of streams

10
2.3.26 HTS Engine set gv interpolation weight

Type void
Use set weight for GV interpolation.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t voice index - index of GV models
size t stream index - index of streams
double f - interpolation weight

2.3.27 HTS Engine get gv interpolation weight

Type double
Use get weight for GV interpolation.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t voice index - index of GV models
size t stream index - index of streams

2.3.28 HTS Engine get total state

Type size t
Use get total # of state.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.29 HTS Engine set state mean

Type void
Use set mean value of state.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t stream index - index of streams
size t state index - index of states
size t vector index - index of vector
double f - mean value

2.3.30 HTS Engine get state mean

Type double
Use get mean value of state.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t stream index - index of streams
size t state index - index of states
size t vector index - index of vector

11
2.3.31 HTS Engine get state duration

Type size t
Use get state duration.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t state index - index of states

2.3.32 HTS Engine get nvoices

Type size t
Use get # of HTS voices.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.33 HTS Engine get nstream

Type size t
Use get # of stream.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.34 HTS Engine get nstate

Type size t
Use get # of state.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.35 HTS Engine get fullcontext label format

Type const char *


Use get fullcontext label format defined in HTS voice.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.36 HTS Engine get fullcontext label version

Type const char *


Use get fullcontext label version defined in HTS voice.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.37 HTS Engine get total frame

Type size t
Use get total # of frame.
Arguments HTS Engine *engine - pointer to HTS Engine structure

12
2.3.38 HTS Engine get nsamples

Type size t
Use get # of samples.
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.39 HTS Engine get generated parameter

Type size t
Use get generated parameter.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t stream index - index of streams
size t frame index - index of frames
size t vector index - index of vector

2.3.40 HTS Engine get generated speech

Type size t
Use get generated speech.
Arguments HTS Engine *engine - pointer to HTS Engine structure
size t index - index of samples

2.3.41 HTS Engine synthesize from fn

Type HTS Boolean


Use synthesize speech from file name.
Arguments HTS Engine *engine - pointer to HTS Engine structure
char *fn - label file name

2.3.42 HTS Engine synthesize from strings

Type HTS Boolean


Use synthesize speech from string list.
Arguments HTS Engine *engine - pointer to HTS Engine structure
char **lines - label string list
size t num lines - # of lines

2.3.43 HTS Engine generate from fn

Type HTS Boolean


Use generate state sequence from file name (1/3 synthesis step)
Arguments HTS Engine *engine - pointer to HTS Engine structure
char *fn - label file name

13
2.3.44 HTS Engine generate from strings

Type HTS Boolean


Use generate state sequence from string list (1/3 synthesis step)
Arguments HTS Engine *engine - pointer to HTS Engine structure
char **lines - label string list
size t num lines - # of lines

2.3.45 HTS Engine generate parameter sequence

Type HTS Boolean


Use generate parameter sequence (2/3 synthesis step)
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.46 HTS Engine generate sample sequence

Type HTS Boolean


Use generate sample sequence (3/3 synthesis step)
Arguments HTS Engine *engine - pointer to HTS Engine structure

2.3.47 HTS Engine save information

Type void
Use output trace information.
Arguments HTS Engine *engine - pointer to HTS Engine structure
FILE *fp - output file pointer
Attention!!

2.3.48 HTS Engine save label

Type void
Use output label with time.
Arguments HTS Engine *engine - pointer to HTS Engine structure
FILE *fp - output file pointer
Attention!!

2.3.49 HTS Engine save generated parameter

Type void
Use output generated parameter.
Arguments HTS Engine *engine - pointer to HTS Engine structure
FILE *fp - output file pointer
Attention!!

14
2.3.50 HTS Engine save generated speech

Type void
Use output generated speech.
Arguments HTS Engine *engine - pointer to HTS Engine structure
FILE *fp - output file pointer
Attention!!

2.3.51 HTS Engine save riff

Type void
Use output riff format file.
Arguments HTS Engine *engine - pointer to HTS Engine structure
FILE *fp - output file pointer
Attention!!

2.3.52 HTS Engine refresh

Type void
Use free label, state streams, PDF streams and generated parameter streams per one time synthesis
Arguments HTS Engine *engine - pointer to HTS Engine structure
Attention!!

2.4 Free engine


2.4.1 HTS Engine clear

Type void
Use free engine.
Arguments HTS Engine *engine - pointer to HTS Engine structure
Attention!!

15

You might also like