Edinburgh Speech Tools  2.4-release
waveP.h
1 /*************************************************************************/
2 /* */
3 /* Centre for Speech Technology Research */
4 /* University of Edinburgh, UK */
5 /* Copyright (c) 1996 */
6 /* All Rights Reserved. */
7 /* */
8 /* Permission is hereby granted, free of charge, to use and distribute */
9 /* this software and its documentation without restriction, including */
10 /* without limitation the rights to use, copy, modify, merge, publish, */
11 /* distribute, sublicense, and/or sell copies of this work, and to */
12 /* permit persons to whom this work is furnished to do so, subject to */
13 /* the following conditions: */
14 /* 1. The code must retain the above copyright notice, this list of */
15 /* conditions and the following disclaimer. */
16 /* 2. Any modifications must be clearly marked as such. */
17 /* 3. Original authors' names are not deleted. */
18 /* 4. The authors' names are not used to endorse or promote products */
19 /* derived from this software without specific prior written */
20 /* permission. */
21 /* */
22 /* THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK */
23 /* DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING */
24 /* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT */
25 /* SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE */
26 /* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES */
27 /* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN */
28 /* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, */
29 /* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF */
30 /* THIS SOFTWARE. */
31 /* */
32 /*************************************************************************/
33 /* Author : Alan Black and Paul Taylor */
34 /* Date : June 1996 */
35 /*-----------------------------------------------------------------------*/
36 /* Non public wave related functions */
37 /* */
38 /*=======================================================================*/
39 #ifndef __WAVEP_H__
40 #define __WAVEP_H__
41 
42 #include <stdio.h>
43 
44 /* The follow two (raw, alaw and ulaw) cannot be in the table as they cannot */
45 /* identify themselves from files (both are unheadered) */
46 enum EST_read_status load_wave_raw(EST_TokenStream &ts, short **data, int
47  *num_samples, int *num_channels, int *word_size, int
48  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
49  offset, int length, int isample_rate, enum EST_sample_type_t
50  isample_type, int ibo, int inc);
51 enum EST_write_status save_wave_raw(FILE *fp, const short *data, int offset,
52  int num_samples, int num_channels,
53  int sample_rate,
54  enum EST_sample_type_t sample_type, int bo);
55 
56 enum EST_write_status save_wave_raw_header(FILE *fp,
57  int num_samples, int num_channels,
58  int sample_rate,
59  enum EST_sample_type_t sample_type, int bo);
60 
61 enum EST_write_status save_wave_raw_data(FILE *fp, const short *data, int offset,
62  int num_samples, int num_channels,
63  int sample_rate,
64  enum EST_sample_type_t sample_type, int bo);
65 
66 enum EST_read_status load_wave_ulaw(EST_TokenStream &ts, short **data, int
67  *num_samples, int *num_channels, int *word_size, int
68  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
69  offset, int length);
70 enum EST_write_status save_wave_ulaw(FILE *fp, const short *data, int offset,
71  int length, int num_channels,
72  int sample_rate,
73  enum EST_sample_type_t, int bo);
74 
75 enum EST_write_status save_wave_ulaw_header(FILE *fp,
76  int num_samples, int num_channels,
77  int sample_rate,
78  enum EST_sample_type_t sample_type, int bo);
79 
80 enum EST_write_status save_wave_ulaw_data(FILE *fp, const short *data, int offset,
81  int num_samples, int num_channels,
82  int sample_rate,
83  enum EST_sample_type_t sample_type, int bo);
84 
85 enum EST_read_status load_wave_alaw(EST_TokenStream &ts, short **data, int
86  *num_samples, int *num_channels, int *word_size, int
87  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
88  offset, int length);
89 enum EST_write_status save_wave_alaw(FILE *fp, const short *data, int offset,
90  int length, int num_channels,
91  int sample_rate,
92  enum EST_sample_type_t, int bo);
93 
94 enum EST_write_status save_wave_alaw_header(FILE *fp,
95  int num_samples, int num_channels,
96  int sample_rate,
97  enum EST_sample_type_t sample_type, int bo);
98 
99 enum EST_write_status save_wave_alaw_data(FILE *fp, const short *data, int offset,
100  int num_samples, int num_channels,
101  int sample_rate,
102  enum EST_sample_type_t sample_type, int bo);
103 
104 enum EST_read_status load_wave_nist(EST_TokenStream &ts, short **data, int
105  *num_samples, int *num_channels, int *word_size, int
106  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
107  offset, int length);
108 
109 enum EST_write_status save_wave_nist(FILE *fp, const short *data, int offset,
110  int num_samples, int num_channels,
111  int sample_rate,
112  enum EST_sample_type_t sample_type, int bo);
113 
114 enum EST_write_status save_wave_nist_header(FILE *fp,
115  int num_samples, int num_channels,
116  int sample_rate,
117  enum EST_sample_type_t sample_type, int bo);
118 
119 enum EST_write_status save_wave_nist_data(FILE *fp, const short *data, int offset,
120  int num_samples, int num_channels,
121  int sample_rate,
122  enum EST_sample_type_t sample_type, int bo);
123 
124 enum EST_read_status load_wave_est(EST_TokenStream &ts, short **data, int
125  *num_samples, int *num_channels, int *word_size, int
126  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
127  offset, int length);
128 
129 enum EST_write_status save_wave_est(FILE *fp, const short *data, int offset,
130  int num_samples, int num_channels,
131  int sample_rate,
132  enum EST_sample_type_t sample_type, int bo);
133 
134 enum EST_write_status save_wave_est_header(FILE *fp,
135  int num_samples, int num_channels,
136  int sample_rate,
137  enum EST_sample_type_t sample_type, int bo);
138 
139 enum EST_write_status save_wave_est_data(FILE *fp, const short *data, int offset,
140  int num_samples, int num_channels,
141  int sample_rate,
142  enum EST_sample_type_t sample_type, int bo);
143 
144 enum EST_read_status load_wave_sd(EST_TokenStream &ts, short **data, int
145  *num_samples, int *num_channels, int *word_size, int
146  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
147  offset, int length);
148 
149 enum EST_write_status save_wave_sd(FILE *fp, const short *data, int offset,
150  int num_samples, int num_channels,
151  int sample_rate,
152  enum EST_sample_type_t sample_type, int bo);
153 
154 enum EST_write_status save_wave_sd_header(FILE *fp,
155  int num_samples, int num_channels,
156  int sample_rate,
157  enum EST_sample_type_t sample_type, int bo);
158 
159 enum EST_write_status save_wave_sd_data(FILE *fp, const short *data, int offset,
160  int num_samples, int num_channels,
161  int sample_rate,
162  enum EST_sample_type_t sample_type, int bo);
163 
164 enum EST_read_status load_wave_audlab(EST_TokenStream &ts, short **data, int
165  *num_samples, int *num_channels, int *word_size, int
166  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
167  offset, int length);
168 
169 enum EST_write_status save_wave_audlab(FILE *fp, const short *data, int offset,
170  int num_samples, int num_channels,
171  int sample_rate,
172  enum EST_sample_type_t sample_type, int bo);
173 
174 enum EST_write_status save_wave_audlab_header(FILE *fp,
175  int num_samples, int num_channels,
176  int sample_rate,
177  enum EST_sample_type_t sample_type, int bo);
178 
179 enum EST_write_status save_wave_audlab_data(FILE *fp, const short *data, int offset,
180  int num_samples, int num_channels,
181  int sample_rate,
182  enum EST_sample_type_t sample_type, int bo);
183 
184 enum EST_read_status load_wave_snd(EST_TokenStream &ts, short **data, int
185  *num_samples, int *num_channels, int *word_size, int
186  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
187  offset, int length);
188 
189 enum EST_write_status save_wave_snd(FILE *fp, const short *data, int offset,
190  int num_samples, int num_channels,
191  int sample_rate,
192  enum EST_sample_type_t sample_type, int bo);
193 
194 enum EST_write_status save_wave_snd_header(FILE *fp,
195  int num_samples, int num_channels,
196  int sample_rate,
197  enum EST_sample_type_t sample_type, int bo);
198 
199 enum EST_write_status save_wave_snd_data(FILE *fp, const short *data, int offset,
200  int num_samples, int num_channels,
201  int sample_rate,
202  enum EST_sample_type_t sample_type, int bo);
203 
204 enum EST_read_status load_wave_aiff(EST_TokenStream &ts, short **data, int
205  *num_samples, int *num_channels, int *word_size, int
206  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
207  offset, int length);
208 
209 enum EST_write_status save_wave_aiff(FILE *fp, const short *data, int offset,
210  int num_samples, int num_channels,
211  int sample_rate,
212  enum EST_sample_type_t sample_type, int bo);
213 
214 enum EST_write_status save_wave_aiff_header(FILE *fp,
215  int num_samples, int num_channels,
216  int sample_rate,
217  enum EST_sample_type_t sample_type, int bo);
218 
219 enum EST_write_status save_wave_aiff_data(FILE *fp, const short *data, int offset,
220  int num_samples, int num_channels,
221  int sample_rate,
222  enum EST_sample_type_t sample_type, int bo);
223 
224 enum EST_read_status load_wave_riff(EST_TokenStream &ts, short **data, int
225  *num_samples, int *num_channels, int *word_size, int
226  *sample_rate, enum EST_sample_type_t *sample_type, int *bo, int
227  offset, int length);
228 
229 enum EST_write_status save_wave_riff(FILE *fp, const short *data, int offset,
230  int num_samples, int num_channels,
231  int sample_rate,
232  enum EST_sample_type_t sample_type, int bo);
233 
234 enum EST_write_status save_wave_riff_header(FILE *fp,
235  int num_samples, int num_channels,
236  int sample_rate,
237  enum EST_sample_type_t sample_type, int bo);
238 
239 enum EST_write_status save_wave_riff_data(FILE *fp, const short *data, int offset,
240  int num_samples, int num_channels,
241  int sample_rate,
242  enum EST_sample_type_t sample_type, int bo);
243 
244 #endif /* __EST_WAVEP_H__ */