libsent/include/sent/adin.h

Go to the documentation of this file.
00001 
00024 /*
00025  * Copyright (c) 1991-2007 Kawahara Lab., Kyoto University
00026  * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
00027  * Copyright (c) 2005-2007 Julius project team, Nagoya Institute of Technology
00028  * All rights reserved
00029  */
00030 
00031 #ifndef __SENT_ADIN__
00032 #define __SENT_ADIN__
00033 
00034 #include <sent/stddefs.h>
00035 #include <sent/speech.h>
00036 
00038 enum {
00039   SP_RAWFILE,                   
00040   SP_MIC,                       
00041   SP_ADINNET,                   
00042   SP_MFCFILE,                   
00043   SP_NETAUDIO,                  
00044   SP_STDIN                      
00045 };
00046 
00048 #define DEFAULT_WSTEP 1000
00049 
00055 #ifdef HAVE_LIBSNDFILE
00056 #define SUPPORTED_WAVEFILE_FORMAT "RAW(BE),WAV,AU,SND,NIST,ADPCM and more"
00057 #else
00058 #define SUPPORTED_WAVEFILE_FORMAT "RAW(BE),WAV"
00059 #endif
00060 
00066 #define ZMEANSAMPLES 48000
00067 
00068 #define DS_RBSIZE       512     
00069 #define DS_BUFSIZE      256     
00070 #define DS_BUFSIZE_Y    512     
00071 
00075 typedef struct {
00076   int decrate;                  
00077   int intrate;                  
00078   double hdn[DS_RBSIZE+1];      
00079   int hdn_len;          
00080   int delay;            
00081   double x[DS_BUFSIZE]; 
00082   double y[DS_BUFSIZE_Y];       
00083   double rb[DS_RBSIZE]; 
00084   int indx;             
00085   int bp;               
00086   int count;            
00087 } DS_FILTER;
00092 typedef struct {
00093   DS_FILTER *fir[3]; 
00094   double *buf[4]; 
00095   int buflen; 
00096 } DS_BUFFER;
00097 
00102 typedef struct {
00103   int trigger;          
00104   int length;           
00105   int offset;           
00106   int zero_cross;               
00107   int is_trig;          
00108   int sign;                     
00109   int top;                      
00110   int valid_len;                
00111   SP16 *data;           
00112   int *is_zc;           
00113   int level;            
00114 } ZEROCROSS;
00115 
00116 #define ZC_UNDEF 2                      
00117 #define ZC_POSITIVE 1           
00118 #define ZC_NEGATIVE -1          
00119 
00120 /* adin/adin_mic_*.c */
00121 boolean adin_mic_standby(int freq, void *arg);
00122 boolean adin_mic_begin();
00123 boolean adin_mic_end();
00124 int adin_mic_read(SP16 *buf, int sampnum);
00125 /* adin/adin_netaudio.c  and adin/adin_na.c */
00126 boolean adin_netaudio_standby(int freq, void *arg);
00127 boolean adin_netaudio_begin();
00128 boolean adin_netaudio_end();
00129 int adin_netaudio_read(SP16 *buf, int sampnum);
00130 int NA_standby(int, char *);
00131 void NA_start();
00132 void NA_stop();
00133 int NA_read(SP16 *buf, int sampnum);
00134 
00135 /* adin/adin_file.c */
00136 boolean adin_file_standby(int freq, void *arg);
00137 boolean adin_file_begin();
00138 int adin_file_read(SP16 *buf, int sampnum);
00139 boolean adin_file_end();
00140 boolean adin_stdin_standby(int freq, void *arg);
00141 boolean adin_stdin_begin();
00142 int adin_stdin_read(SP16 *buf, int sampnum);
00143 char *adin_file_get_current_filename();
00144 
00145 /* adin/adin_sndfile.c */
00146 #ifdef HAVE_LIBSNDFILE
00147 boolean adin_sndfile_standby(int freq, void *arg);
00148 boolean adin_sndfile_begin();
00149 int adin_sndfile_read(SP16 *buf, int sampnum);
00150 boolean adin_sndfile_end();
00151 char *adin_sndfile_get_current_filename();
00152 #endif
00153 
00154 /* adin/adin_tcpip.c */
00155 boolean adin_tcpip_standby(int freq, void *arg);
00156 boolean adin_tcpip_begin();
00157 boolean adin_tcpip_end();
00158 int adin_tcpip_read(SP16 *buf, int sampnum);
00159 boolean adin_tcpip_send_pause();
00160 boolean adin_tcpip_send_terminate();
00161 boolean adin_tcpip_send_resume();
00162 
00163 /* adin/zc-e.c */
00164 void init_count_zc_e(ZEROCROSS *zc, int length);
00165 void reset_count_zc_e(ZEROCROSS *zc, int c_trigger, int c_length, int c_offset);
00166 void free_count_zc_e(ZEROCROSS *zc);
00167 int count_zc_e(ZEROCROSS *zc, SP16 *buf,int step);
00168 void zc_copy_buffer(ZEROCROSS *zc, SP16 *newbuf, int *len);
00169 
00170 /* adin/zmean.c */
00171 void zmean_reset();
00172 void sub_zmean(SP16 *speech, int samplenum);
00173 
00174 /* adin/ds48to16.c */
00175 DS_BUFFER *ds48to16_new();
00176 void ds48to16_free(DS_BUFFER *ds);
00177 int ds48to16(SP16 *dst, SP16 *src, int srclen, int maxdstlen, DS_BUFFER *ds);
00178 
00179 #endif /* __SENT_ADIN__ */

Generated on Tue Dec 18 15:59:53 2007 for Julius by  doxygen 1.5.4