rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_bpf.c
Go to the documentation of this file.
1 ma_result bpf_init_decoder_and_encoder(const char* pInputFilePath, const char* pOutputFilePath, ma_format format, ma_decoder* pDecoder, ma_encoder* pEncoder)
2 {
3  return filtering_init_decoder_and_encoder(pInputFilePath, pOutputFilePath, format, 0, 0, pDecoder, pEncoder);
4 }
5 
6 
7 ma_result test_bpf2__by_format(const char* pInputFilePath, const char* pOutputFilePath, ma_format format)
8 {
9  ma_result result;
12  ma_bpf2_config bpfConfig;
13  ma_bpf2 bpf;
14 
15  printf(" %s\n", pOutputFilePath);
16 
17  result = bpf_init_decoder_and_encoder(pInputFilePath, pOutputFilePath, format, &decoder, &encoder);
18  if (result != MA_SUCCESS) {
19  return result;
20  }
21 
23  result = ma_bpf2_init(&bpfConfig, &bpf);
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_bpf2_process_pcm_frames(&bpf, 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_bpf2__f32(const char* pInputFilePath)
58 {
59  return test_bpf2__by_format(pInputFilePath, TEST_OUTPUT_DIR"/bpf2_f32.wav", ma_format_f32);
60 }
61 
62 ma_result test_bpf2__s16(const char* pInputFilePath)
63 {
64  return test_bpf2__by_format(pInputFilePath, TEST_OUTPUT_DIR"/bpf2_s16.wav", ma_format_s16);
65 }
66 
67 
68 ma_result test_bpf4__by_format(const char* pInputFilePath, const char* pOutputFilePath, ma_format format)
69 {
70  ma_result result;
73  ma_bpf_config bpfConfig;
74  ma_bpf bpf;
75 
76  printf(" %s\n", pOutputFilePath);
77 
78  result = bpf_init_decoder_and_encoder(pInputFilePath, pOutputFilePath, format, &decoder, &encoder);
79  if (result != MA_SUCCESS) {
80  return result;
81  }
82 
84  result = ma_bpf_init(&bpfConfig, &bpf);
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_bpf_process_pcm_frames(&bpf, 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_bpf4__f32(const char* pInputFilePath)
119 {
120  return test_bpf4__by_format(pInputFilePath, TEST_OUTPUT_DIR"/bpf4_f32.wav", ma_format_f32);
121 }
122 
123 ma_result test_bpf4__s16(const char* pInputFilePath)
124 {
125  return test_bpf4__by_format(pInputFilePath, TEST_OUTPUT_DIR"/bpf4_s16.wav", ma_format_s16);
126 }
127 
128 
129 int test_entry__bpf(int argc, char** argv)
130 {
131  ma_result result;
132  ma_bool32 hasError = MA_FALSE;
133  const char* pInputFilePath;
134 
135  if (argc < 2) {
136  printf("No input file.\n");
137  return -1;
138  }
139 
140  pInputFilePath = argv[1];
141 
142 
143  result = test_bpf2__f32(pInputFilePath);
144  if (result != MA_SUCCESS) {
145  hasError = MA_TRUE;
146  }
147 
148  result = test_bpf2__s16(pInputFilePath);
149  if (result != MA_SUCCESS) {
150  hasError = MA_TRUE;
151  }
152 
153 
154  result = test_bpf4__f32(pInputFilePath);
155  if (result != MA_SUCCESS) {
156  hasError = MA_TRUE;
157  }
158 
159  result = test_bpf4__s16(pInputFilePath);
160  if (result != MA_SUCCESS) {
161  hasError = MA_TRUE;
162  }
163 
164 
165  if (hasError) {
166  return -1;
167  } else {
168  return 0;
169  }
170 }
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_FALSE
#define MA_FALSE
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1531
test_bpf2__s16
ma_result test_bpf2__s16(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_bpf.c:62
ma_bpf_config_init
ma_bpf_config ma_bpf_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:31747
ma_bpf_init
ma_result ma_bpf_init(const ma_bpf_config *pConfig, ma_bpf *pBPF)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:31833
ma_uint8
uint8_t ma_uint8
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1499
test_bpf4__by_format
ma_result test_bpf4__by_format(const char *pInputFilePath, const char *pOutputFilePath, ma_format format)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_bpf.c:68
ma_min
#define ma_min(x, y)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:778
ma_bpf2_process_pcm_frames
ma_result ma_bpf2_process_pcm_frames(ma_bpf2 *pBPF, void *pFramesOut, const void *pFramesIn, ma_uint64 frameCount)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:31728
test_bpf2__f32
ma_result test_bpf2__f32(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_bpf.c:57
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_bpf_process_pcm_frames
ma_result ma_bpf_process_pcm_frames(ma_bpf *pBPF, void *pFramesOut, const void *pFramesIn, ma_uint64 frameCount)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:31853
ma_format_f32
@ ma_format_f32
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1790
test_entry__bpf
int test_entry__bpf(int argc, char **argv)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_bpf.c:129
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_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_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_bpf4__s16
ma_result test_bpf4__s16(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_bpf.c:123
ma_encoder_uninit
void ma_encoder_uninit(ma_encoder *pEncoder)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:45334
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
ma_decoder
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:5193
test_bpf4__f32
ma_result test_bpf4__f32(const char *pInputFilePath)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_bpf.c:118
ma_bpf_config
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:2039
ma_bpf
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:2050
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_bpf2
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:2028
test_bpf2__by_format
ma_result test_bpf2__by_format(const char *pInputFilePath, const char *pOutputFilePath, ma_format format)
Definition: rhino/demo/c/pvrecorder/src/miniaudio/tests/test_filtering/ma_test_filtering_bpf.c:7
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_bpf2_init
ma_result ma_bpf2_init(const ma_bpf2_config *pConfig, ma_bpf2 *pBPF)
Definition: porcupine/demo/c/pvrecorder/src/miniaudio/extras/miniaudio_split/miniaudio.c:31676
ma_decoder::outputChannels
ma_uint32 outputChannels
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:5204
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
bpf_init_decoder_and_encoder
ma_result bpf_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_bpf.c:1
MA_SUCCESS
#define MA_SUCCESS
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:1659
ma_bpf2_config_init
ma_bpf2_config ma_bpf2_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:31626
ma_bpf2_config
Definition: porcupine/demo/c/dr_libs/tests/external/miniaudio/miniaudio.h:2017
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