14a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*---------------------------------------------------------------------------*
24a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  ann_util.h  *
34a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
44a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
54a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
64a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the 'License');          *
74a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  you may not use this file except in compliance with the License.         *
84a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
94a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  You may obtain a copy of the License at                                  *
104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0                           *
114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software      *
134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  distributed under the License is distributed on an 'AS IS' BASIS,        *
144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  See the License for the specific language governing permissions and      *
164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  limitations under the License.                                           *
174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *---------------------------------------------------------------------------*/
194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef _ANNOTATE_UTITITIES_INCLUDED_
214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define _ANNOTATE_UTITITIES_INCLUDED_
224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "utteranc.h"
254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "c42mul.h"
264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifdef SET_RCSID
284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectstatic const char col_util_h[] = "$Id: ann_util.h,v 1.1.10.4 2007/08/31 17:44:52 dahan Exp $";
294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define TCP_BLOCK_SIZE 10
314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * @todo document
344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct
364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  annotate  *tcp;
384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   numWords;
394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int   NumFrames;
404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  int                 snr;
414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectannotate_info;
434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectannotate_info* allocate_annotation(void);
464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid annotation_create_tcp_entry(annotate_info* hAnnotation ,
474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 char* label);
484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid free_annotation(annotate_info* hAnnotation);
504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint annotation_delete_segment(annotate_info* hAnnotation, int id);
544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint annotation_delete_leading_segments(annotate_info* hAnnotation,
554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                       int num_to_delete, int num_to_keep, int min_length, int max_length,
564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                       int min_sil_dur);
574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid annotation_delete_segment_info(annotate_info* hAnnotation);
584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid annotation_decorate_labels(annotate_info* hAnnotation, char *label);
594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint annotation_segment_utterance(annotate_info* hAnnotation,
604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 utterance_info* utt,
614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 preprocessed *prep,
624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 char *label,
634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                                 int *has_trailing_silence);
644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint annotation_add_utt_segment_to_acoustic(model_info *acc,
664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    preprocessed *prep,
674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    utterance_info* utt,
684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    annotate_info* hAnnotation,
694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    char* base_label,
704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project    int do_backup);
714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint  annotation_from_voicing(annotate_info * hAnnotation,
724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             utterance_info * utt,
734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                             preprocessed * prep);
744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint annotation_compare(annotate_info *test_annotation,
754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                       annotate_info *ref_annotation);
764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid save_annotations(annotate_info* hAnnotation, char* FileName);
774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint annotation_from_results(annotate_info *hAnnotation, srec *rec);
784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectvoid annotation_get_data(annotate_info* hAnnotation, int id,
794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         int* begin, int* end,  char* buff, int buffLen);
804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint construct_syntax_for_annotation(syntax_info *rule, annotate_info* hAnnotation);
814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint find_beep_in_utterance(annotate_info *hAnnotation, utterance_info *utt,
834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                           utterance_info *beep_utt, preprocessed *prep, char *label);
844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectint detect_beep_by_shape(preprocessed  *prep, utterance_info *utt1,
854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project                         utterance_info *utt2, int *start, int *end);
864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif
87