blob: 87708b49ca24bffb4f3e73a55e321ea9c6d65267 [file] [log] [blame]
/*---------------------------------------------------------------------------*
* ann_util.h *
* *
* Copyright 2007, 2008 Nuance Communciations, Inc. *
* *
* Licensed under the Apache License, Version 2.0 (the 'License'); *
* you may not use this file except in compliance with the License. *
* *
* You may obtain a copy of the License at *
* http://www.apache.org/licenses/LICENSE-2.0 *
* *
* Unless required by applicable law or agreed to in writing, software *
* distributed under the License is distributed on an 'AS IS' BASIS, *
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
* See the License for the specific language governing permissions and *
* limitations under the License. *
* *
*---------------------------------------------------------------------------*/
#ifndef _ANNOTATE_UTITITIES_INCLUDED_
#define _ANNOTATE_UTITITIES_INCLUDED_
#include "utteranc.h"
#include "c42mul.h"
#ifdef SET_RCSID
static const char col_util_h[] = "$Id: ann_util.h,v 1.1.10.4 2007/08/31 17:44:52 dahan Exp $";
#endif
#define TCP_BLOCK_SIZE 10
/**
* @todo document
*/
typedef struct
{
annotate *tcp;
int numWords;
int NumFrames;
int snr;
}
annotate_info;
annotate_info* allocate_annotation(void);
void annotation_create_tcp_entry(annotate_info* hAnnotation ,
char* label);
void free_annotation(annotate_info* hAnnotation);
int annotation_delete_segment(annotate_info* hAnnotation, int id);
int annotation_delete_leading_segments(annotate_info* hAnnotation,
int num_to_delete, int num_to_keep, int min_length, int max_length,
int min_sil_dur);
void annotation_delete_segment_info(annotate_info* hAnnotation);
void annotation_decorate_labels(annotate_info* hAnnotation, char *label);
int annotation_segment_utterance(annotate_info* hAnnotation,
utterance_info* utt,
preprocessed *prep,
char *label,
int *has_trailing_silence);
int annotation_add_utt_segment_to_acoustic(model_info *acc,
preprocessed *prep,
utterance_info* utt,
annotate_info* hAnnotation,
char* base_label,
int do_backup);
int annotation_from_voicing(annotate_info * hAnnotation,
utterance_info * utt,
preprocessed * prep);
int annotation_compare(annotate_info *test_annotation,
annotate_info *ref_annotation);
void save_annotations(annotate_info* hAnnotation, char* FileName);
int annotation_from_results(annotate_info *hAnnotation, srec *rec);
void annotation_get_data(annotate_info* hAnnotation, int id,
int* begin, int* end, char* buff, int buffLen);
int construct_syntax_for_annotation(syntax_info *rule, annotate_info* hAnnotation);
int find_beep_in_utterance(annotate_info *hAnnotation, utterance_info *utt,
utterance_info *beep_utt, preprocessed *prep, char *label);
int detect_beep_by_shape(preprocessed *prep, utterance_info *utt1,
utterance_info *utt2, int *start, int *end);
#endif