Home | History | Annotate | Download | only in lib
      1 /*
      2  * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *     http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 /**
     17  * @file picopam.h
     18  *
     19  * Phonetic to Acoustic Mapping PU - Header file
     20  *
     21  * Copyright (C) 2008-2009 SVOX AG, Baslerstr. 30, 8048 Zuerich, Switzerland
     22  * All rights reserved.
     23  *
     24  * History:
     25  * - 2009-04-20 -- initial version
     26  *
     27  */
     28 /**
     29  * @addtogroup picopam
     30 
     31  * <b> Phonetic to acoustic mapping module </b>\n
     32  *
     33  * This module is responsible for mapping the phonetic domain features generated from text analysis
     34  * into parametric representations suitable for signal generation.  As such it is the interface
     35  * between text analysis and signal generation
     36  *
     37  * Most the processing of PAM is logically splittable as follows
     38  * - building a suitable symbolic feature vector set for the sentence
     39  * - Feeding Decision Trees with the symbolic seqence vector set
     40  * - Colecting the parametric output of the Decision trees into suitable items to be sent to following PU's
     41  *
     42  * To perform the decision tree feeding and output collection the PU uses an internal buffer. This
     43  * buffer is used several times with different meanings.
     44  * - While building the symbolic feature vector set for the sentence this data structure stores syllable relevant data.
     45  *   The corresponding phonetic data is stored outside as a single string of phonetic id's for all the sentence.
     46  * - While feeding the decision trees the data structure is used to represent data for phonemes of the syllable
     47  * - Addiotional data strucures are mantained to temporarily store items not pertaining to the PAM processing, for later resynchronization
     48  *
     49  * A quite detailed description of PAM processing is in the Know How section of the repository.
     50  */
     51 
     52 #ifndef PICOPAM_H_
     53 #define PICOPAM_H_
     54 
     55 #include "picodata.h"
     56 #include "picokdt.h"
     57 #include "picokpdf.h"
     58 #include "picoktab.h"
     59 #include "picokdbg.h"
     60 
     61 #ifdef __cplusplus
     62 extern "C" {
     63 #endif
     64 #if 0
     65 }
     66 #endif
     67 
     68 /*------------------------------------------------------------------
     69 Service routines
     70 ------------------------------------------------------------------*/
     71 picodata_ProcessingUnit picopam_newPamUnit(
     72     picoos_MemoryManager mm,    picoos_Common common,
     73     picodata_CharBuffer cbIn,   picodata_CharBuffer cbOut,
     74     picorsrc_Voice voice);
     75 
     76 #ifdef __cplusplus
     77 }
     78 #endif
     79 #endif /*PICOPAM_H_*/
     80