rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c
Go to the documentation of this file.
1 
2 ma_result lpf_init_decoder_and_encoder(const char* pInputFilePath, const char* pOutputFilePath, ma_format format, ma_decoder* pDecoder, ma_encoder* pEncoder)
3 {
4  return filtering_init_decoder_and_encoder(pInputFilePath, pOutputFilePath, format, 0, 0, pDecoder, pEncoder);
5 }
6 
7 ma_result test_lpf1__by_format(const char* pInputFilePath, const char* pOutputFilePath, ma_format format)
8 {
9  ma_result result;
12  ma_lpf1_config lpfConfig;
13  ma_lpf1 lpf;
14 
15  printf(" %s\n", pOutputFilePath);
16 
17  result = lpf_init_decoder_and_encoder(pInputFilePath, pOutputFilePath, format, &decoder, &encoder);
18  if (result != MA_SUCCESS) {
19  return result;
20  }
21 
23  result = ma_lpf1_init(&lpfConfig, &lpf);
24  if (result != MA_SUCCESS) {
27  return result;
28  }
29 
30  for (;;) {
31  ma_uint8 tempIn[4096];
32  ma_uint8 tempOut[4096];
35  ma_uint64 framesToRead;
36  ma_uint64 framesJustRead;
37 
38  framesToRead = ma_min(tempCapIn, tempCapOut);
39  framesJustRead = ma_decoder_read_pcm_frames(&decoder, tempIn, framesToRead);
40 
41  /* Filter */
42  ma_lpf1_process_pcm_frames(&lpf, tempOut, tempIn, framesJustRead);
43 
44  /* Write to the WAV file. */
45  ma_encoder_write_pcm_frames(&encoder, tempOut, framesJustRead);
46 
47  if (framesJustRead < framesToRead) {
48  break;
49  }
50  }
51 
54  return MA_SUCCESS;
55 }
56 
57 ma_result test_lpf1__f32(const char* pInputFilePath)
58 {
59  return test_lpf1__by_format(pInputFilePath, TEST_OUTPUT_DIR"/lpf1_f32.wav", ma_format_f32);
60 }
61 
62 ma_result test_lpf1__s16(const char* pInputFilePath)
63 {
64  return test_lpf1__by_format(pInputFilePath, TEST_OUTPUT_DIR"/lpf1_s16.wav", ma_format_s16);
65 }
66 
67 
68 ma_result test_lpf2__by_format(const char* pInputFilePath, const char* pOutputFilePath, ma_format format)
69 {
70  ma_result result;
73  ma_lpf2_config lpfConfig;
74  ma_lpf2 lpf;
75 
76  printf(" %s\n", pOutputFilePath);
77 
78  result = lpf_init_decoder_and_encoder(pInputFilePath, pOutputFilePath, format, &decoder, &encoder);
79  if (result != MA_SUCCESS) {
80  return result;
81  }
82 
84  result = ma_lpf2_init(&lpfConfig, &lpf);
85  if (result != MA_SUCCESS) {
88  return result;
89  }
90 
91  for (;;) {
92  ma_uint8 tempIn[4096];
93  ma_uint8 tempOut[4096];
96  ma_uint64 framesToRead;
97  ma_uint64 framesJustRead;
98 
99  framesToRead = ma_min(tempCapIn, tempCapOut);
100  framesJustRead = ma_decoder_read_pcm_frames(&decoder, tempIn, framesToRead);
101 
102  /* Filter */
103  ma_lpf2_process_pcm_frames(&lpf, tempOut, tempIn, framesJustRead);
104 
105  /* Write to the WAV file. */
106  ma_encoder_write_pcm_frames(&encoder, tempOut, framesJustRead);
107 
108  if (framesJustRead < framesToRead) {
109  break;
110  }
111  }
112 
115  return MA_SUCCESS;
116 }
117 
118 ma_result test_lpf2__f32(const char* pInputFilePath)
119 {
120  return test_lpf2__by_format(pInputFilePath, TEST_OUTPUT_DIR"/lpf2_f32.wav", ma_format_f32);
121 }
122 
123 ma_result test_lpf2__s16(const char* pInputFilePath)
124 {
125  return test_lpf2__by_format(pInputFilePath, TEST_OUTPUT_DIR"/lpf2_s16.wav", ma_format_s16);
126 }
127 
128 
129 
130 ma_result test_lpf3__by_format(const char* pInputFilePath, const char* pOutputFilePath, ma_format format)
131 {
132  ma_result result;
135  ma_lpf_config lpfConfig;
136  ma_lpf lpf;
137 
138  printf(" %s\n", pOutputFilePath);
139 
140  result = lpf_init_decoder_and_encoder(pInputFilePath, pOutputFilePath, format, &decoder, &encoder);
141  if (result != MA_SUCCESS) {
142  return result;
143  }
144 
146  result = ma_lpf_init(&lpfConfig, &lpf);
147  if (result != MA_SUCCESS) {
150  return result;
151  }
152 
153  for (;;) {
154  ma_uint8 tempIn[4096];
155  ma_uint8 tempOut[4096];
158  ma_uint64 framesToRead;
159  ma_uint64 framesJustRead;
160 
161  framesToRead = ma_min(tempCapIn, tempCapOut);
162  framesJustRead = ma_decoder_read_pcm_frames(&decoder, tempIn, framesToRead);
163 
164  /* Filter */
165  ma_lpf_process_pcm_frames(&lpf, tempOut, tempIn, framesJustRead);
166 
167  /* Write to the WAV file. */
168  ma_encoder_write_pcm_frames(&encoder, tempOut, framesJustRead);
169 
170  if (framesJustRead < framesToRead) {
171  break;
172  }
173  }
174 
177  return MA_SUCCESS;
178 }
179 
180 ma_result test_lpf3__f32(const char* pInputFilePath)
181 {
182  return test_lpf3__by_format(pInputFilePath, TEST_OUTPUT_DIR"/lpf3_f32.wav", ma_format_f32);
183 }
184 
185 ma_result test_lpf3__s16(const char* pInputFilePath)
186 {
187  return test_lpf3__by_format(pInputFilePath, TEST_OUTPUT_DIR"/lpf3_s16.wav", ma_format_s16);
188 }
189 
190 
191 int test_entry__lpf(int argc, char** argv)
192 {
193  ma_result result;
194  ma_bool32 hasError = MA_FALSE;
195  const char* pInputFilePath;
196 
197  if (argc < 2) {
198  printf("No input file.\n");
199  return -1;
200  }
201 
202  pInputFilePath = argv[1];
203 
204  result = test_lpf1__f32(pInputFilePath);
205  if (result != MA_SUCCESS) {
206  hasError = MA_TRUE;
207  }
208 
209  result = test_lpf1__s16(pInputFilePath);
210  if (result != MA_SUCCESS) {
211  hasError = MA_TRUE;
212  }
213 
214 
215  result = test_lpf2__f32(pInputFilePath);
216  if (result != MA_SUCCESS) {
217  hasError = MA_TRUE;
218  }
219 
220  result = test_lpf2__s16(pInputFilePath);
221  if (result != MA_SUCCESS) {
222  hasError = MA_TRUE;
223  }
224 
225 
226  result = test_lpf3__f32(pInputFilePath);
227  if (result != MA_SUCCESS) {
228  hasError = MA_TRUE;
229  }
230 
231  result = test_lpf3__s16(pInputFilePath);
232  if (result != MA_SUCCESS) {
233  hasError = MA_TRUE;
234  }
235 
236 
237  if (hasError) {
238  return -1;
239  } else {
240  return 0;
241  }
242 }
ma_uint64
uint64_t ma_uint64
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1505
ma_get_bytes_per_frame
static MA_INLINE ma_uint32 ma_get_bytes_per_frame(ma_format format, ma_uint32 channels)
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:2673
ma_lpf_process_pcm_frames
ma_result ma_lpf_process_pcm_frames(ma_lpf *pLPF, void *pFramesOut, const void *pFramesIn, ma_uint64 frameCount)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:31060
MA_FALSE
#define MA_FALSE
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1531
test_lpf1__s16
ma_result test_lpf1__s16(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:62
ma_lpf2
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1906
ma_uint8
uint8_t ma_uint8
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1499
ma_lpf2_config_init
ma_lpf2_config ma_lpf2_config_init(ma_format format, ma_uint32 channels, ma_uint32 sampleRate, double cutoffFrequency, double q)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:30635
ma_min
#define ma_min(x, y)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:778
ma_decoder_uninit
ma_result ma_decoder_uninit(ma_decoder *pDecoder)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:44739
ma_bool32
ma_uint32 ma_bool32
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1529
ma_format_f32
@ ma_format_f32
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1790
test_entry__lpf
int test_entry__lpf(int argc, char **argv)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:191
ma_lpf1_process_pcm_frames
ma_result ma_lpf1_process_pcm_frames(ma_lpf1 *pLPF, void *pFramesOut, const void *pFramesIn, ma_uint64 frameCount)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:30750
test_lpf2__f32
ma_result test_lpf2__f32(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:118
decoder
ma_decoder decoder
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/tests/test_deviceio/ma_test_deviceio.c:61
ma_format
ma_format
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1779
ma_lpf_init
ma_result ma_lpf_init(const ma_lpf_config *pConfig, ma_lpf *pLPF)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:31004
ma_lpf2_process_pcm_frames
ma_result ma_lpf2_process_pcm_frames(ma_lpf2 *pLPF, void *pFramesOut, const void *pFramesIn, ma_uint64 frameCount)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:30878
ma_lpf1
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1893
test_lpf1__by_format
ma_result test_lpf1__by_format(const char *pInputFilePath, const char *pOutputFilePath, ma_format format)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:7
ma_decoder::outputFormat
ma_format outputFormat
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:5203
ma_encoder_write_pcm_frames
ma_uint64 ma_encoder_write_pcm_frames(ma_encoder *pEncoder, const void *pFramesIn, ma_uint64 frameCount)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:45351
encoder
ma_encoder encoder
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/tests/test_deviceio/ma_test_deviceio.c:62
ma_lpf_config_init
ma_lpf_config ma_lpf_config_init(ma_format format, ma_uint32 channels, ma_uint32 sampleRate, double cutoffFrequency, ma_uint32 order)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:30897
ma_result
int ma_result
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1658
TEST_OUTPUT_DIR
#define TEST_OUTPUT_DIR
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/tests/test_common/ma_test_common.c:18
test_lpf3__s16
ma_result test_lpf3__s16(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:185
ma_encoder_uninit
void ma_encoder_uninit(ma_encoder *pEncoder)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:45334
ma_lpf_config
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1917
ma_encoder
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:5324
ma_format_s16
@ ma_format_s16
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1787
test_lpf1__f32
ma_result test_lpf1__f32(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:57
ma_decoder
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:5193
lpf_init_decoder_and_encoder
ma_result lpf_init_decoder_and_encoder(const char *pInputFilePath, const char *pOutputFilePath, ma_format format, ma_decoder *pDecoder, ma_encoder *pEncoder)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:2
ma_decoder_read_pcm_frames
ma_uint64 ma_decoder_read_pcm_frames(ma_decoder *pDecoder, void *pFramesOut, ma_uint64 frameCount)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:44808
ma_lpf
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1928
filtering_init_decoder_and_encoder
ma_result filtering_init_decoder_and_encoder(const char *pInputFilePath, const char *pOutputFilePath, ma_format format, ma_uint32 channels, ma_uint32 sampleRate, ma_decoder *pDecoder, ma_encoder *pEncoder)
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/tests/test_filtering/ma_test_filtering.c:3
ma_decoder::outputChannels
ma_uint32 outputChannels
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:5204
test_lpf2__s16
ma_result test_lpf2__s16(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:123
test_lpf3__f32
ma_result test_lpf3__f32(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:180
python.test_porcupine.argv
argv
Definition: test_porcupine.py:158
MA_TRUE
#define MA_TRUE
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1530
ma_lpf1_config_init
ma_lpf1_config ma_lpf1_config_init(ma_format format, ma_uint32 channels, ma_uint32 sampleRate, double cutoffFrequency)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:30621
MA_SUCCESS
#define MA_SUCCESS
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1659
ma_lpf2_init
ma_result ma_lpf2_init(const ma_lpf2_config *pConfig, ma_lpf2 *pLPF)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:30826
ma_lpf1_config
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1881
test_lpf3__by_format
ma_result test_lpf3__by_format(const char *pInputFilePath, const char *pOutputFilePath, ma_format format)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:130
ma_lpf1_init
ma_result ma_lpf1_init(const ma_lpf1_config *pConfig, ma_lpf1 *pLPF)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:30655
test_lpf2__by_format
ma_result test_lpf2__by_format(const char *pInputFilePath, const char *pOutputFilePath, ma_format format)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_lpf.c:68
ma_decoder::outputSampleRate
ma_uint32 outputSampleRate
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:5205


picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:13:56