← Back to C-Kernel-Engine Docs Doxygen Source Documentation
 
Loading...
Searching...
No Matches
ckernel_audio.h
Go to the documentation of this file.
1#ifndef CKERNEL_AUDIO_H
2#define CKERNEL_AUDIO_H
3
4#include <stdint.h>
5#include <stddef.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#define CK_AUDIO_WHISPER_SAMPLE_RATE 16000
12#define CK_AUDIO_WHISPER_N_FFT 400
13#define CK_AUDIO_WHISPER_HOP_LENGTH 160
14#define CK_AUDIO_WHISPER_POWER_BINS 201
15
25
27 const uint8_t *bytes,
28 size_t byte_count,
29 CKAudioWavInfo *info);
30
32 const uint8_t *bytes,
33 size_t byte_count,
34 const CKAudioWavInfo *info,
35 float *mono,
36 int mono_capacity);
37
39 const uint8_t *bytes,
40 size_t byte_count,
41 float *mono,
42 int mono_capacity,
43 CKAudioWavInfo *info);
44
46 const uint8_t *bytes,
47 size_t byte_count,
48 int start_frame,
49 float *mono,
50 int mono_capacity,
51 CKAudioWavInfo *info);
52
54 const int16_t *interleaved,
55 int n_frames,
56 int n_channels,
57 float *mono);
58
60 int input_frames,
61 int input_rate,
62 int output_rate);
63
65 const float *input,
66 int input_frames,
67 int input_rate,
68 float *output,
69 int output_frames,
70 int output_rate);
71
73 const float *input,
74 int input_frames,
75 int input_rate,
76 float *output,
77 int output_frames,
78 int output_rate,
79 int radius);
80
82 const float *input,
83 int input_frames,
84 float *output,
85 int output_frames);
86
88 const float *input,
89 float *output,
90 int frames,
91 float coefficient);
92
94 const float *input,
95 float *output,
96 int channels,
97 int frames,
98 float epsilon);
99
101 int n_fft,
102 float *window,
103 float *cos_table,
104 float *sin_table);
105
107 int sample_rate,
108 int n_fft,
109 int n_mels,
110 float *mel_filters);
111
113 const float *samples,
114 int n_samples,
115 const float *window,
116 const float *cos_table,
117 const float *sin_table,
118 int n_fft,
119 int hop_length,
120 float *power,
121 int n_frames);
122
124 const float *samples,
125 int n_samples,
126 const float *window,
127 int window_length,
128 const float *cos_table,
129 const float *sin_table,
130 int n_fft,
131 int hop_length,
132 int reflect_padding,
133 float *power,
134 int n_frames);
135
137 const float *power,
138 const float *mel_filters,
139 float *log_mel,
140 int frames,
141 int bins,
142 int channels,
143 float epsilon);
144
146 const float *samples,
147 int n_samples,
148 const float *window,
149 const float *cos_table,
150 const float *sin_table,
151 int hop_length,
152 float *power,
153 int n_frames,
154 float *fft_scratch);
155
157 const float *input,
158 const float *weight,
159 const float *bias,
160 float *output,
161 int input_channels,
162 int output_channels,
163 int input_frames,
164 int kernel_size,
165 int stride,
166 int padding,
167 int output_frames);
168
170 const float *input,
171 const float *weight,
172 const float *bias,
173 float *output,
174 int input_width,
175 int input_height,
176 int input_channels,
177 int output_channels,
178 int kernel_width,
179 int kernel_height,
180 int stride_width,
181 int stride_height,
182 int padding_width,
183 int padding_height,
184 int groups,
185 int output_width,
186 int output_height);
187
189 const float *input,
190 float *output,
191 int channels,
192 int frames);
193
195 const float *raw_scores,
196 float *scores,
197 int heads,
198 int query_frames);
199
201 const float *input,
202 float *output,
203 int channels,
204 int frames);
205
207 const float *samples,
208 int n_samples,
209 float *power,
210 int n_frames);
211
213 const float *power,
214 const float *mel_filters,
215 int n_mels,
216 int n_frames,
217 float *log_mel);
218
220 const uint8_t *bytes,
221 size_t byte_count,
222 int start_frame,
223 int target_sample_rate,
224 const float *window,
225 const float *cos_table,
226 const float *sin_table,
227 const float *mel_filters,
228 int n_mels,
229 int output_frames,
230 float *log_mel);
231
233 const float *samples,
234 int n_samples,
235 const float *mel_filters,
236 int n_mels,
237 float *power_scratch,
238 float *log_mel,
239 int n_frames);
240
241#ifdef __cplusplus
242}
243#endif
244
245#endif
int audio_whisper_mel_filters_slaney_f32(int sample_rate, int n_fft, int n_mels, float *mel_filters)
int audio_whisper_log_mel_reference_f32(const float *samples, int n_samples, const float *mel_filters, int n_mels, float *power_scratch, float *log_mel, int n_frames)
int audio_stft_power_precomputed_f32(const float *samples, int n_samples, const float *window, const float *cos_table, const float *sin_table, int n_fft, int hop_length, float *power, int n_frames)
int audio_resample_linear_f32(const float *input, int input_frames, int input_rate, float *output, int output_frames, int output_rate)
int audio_wav_parse_memory(const uint8_t *bytes, size_t byte_count, CKAudioWavInfo *info)
int audio_conv2d_whc_grouped_f32(const float *input, const float *weight, const float *bias, float *output, int input_width, int input_height, int input_channels, int output_channels, int kernel_width, int kernel_height, int stride_width, int stride_height, int padding_width, int padding_height, int groups, int output_width, int output_height)
int audio_log_mel_time_major_f32(const float *power, const float *mel_filters, float *log_mel, int frames, int bins, int channels, float epsilon)
int audio_wav_decode_pcm16_mono_f32(const uint8_t *bytes, size_t byte_count, const CKAudioWavInfo *info, float *mono, int mono_capacity)
int audio_whisper_log_mel_window_wav_pcm16_f32(const uint8_t *bytes, size_t byte_count, int start_frame, int target_sample_rate, const float *window, const float *cos_table, const float *sin_table, const float *mel_filters, int n_mels, int output_frames, float *log_mel)
int audio_preemphasis_f32(const float *input, float *output, int frames, float coefficient)
int audio_relative_shift_f32(const float *raw_scores, float *scores, int heads, int query_frames)
int audio_whisper_stft_power_reference_f32(const float *samples, int n_samples, float *power, int n_frames)
int audio_stft_power_centered_window_f32(const float *samples, int n_samples, const float *window, int window_length, const float *cos_table, const float *sin_table, int n_fft, int hop_length, int reflect_padding, float *power, int n_frames)
int audio_stft_precompute_tables_f32(int n_fft, float *window, float *cos_table, float *sin_table)
int audio_glu_split_channel_major_f32(const float *input, float *output, int channels, int frames)
int audio_pcm_s16_to_mono_f32(const int16_t *interleaved, int n_frames, int n_channels, float *mono)
int audio_transpose_channel_to_token_f32(const float *input, float *output, int channels, int frames)
int audio_whisper_log_mel_from_power_reference_f32(const float *power, const float *mel_filters, int n_mels, int n_frames, float *log_mel)
int audio_feature_normalize_per_feature_f32(const float *input, float *output, int channels, int frames, float epsilon)
int audio_pad_or_truncate_f32(const float *input, int input_frames, float *output, int output_frames)
int audio_conv1d_channel_major_f32(const float *input, const float *weight, const float *bias, float *output, int input_channels, int output_channels, int input_frames, int kernel_size, int stride, int padding, int output_frames)
int audio_resample_windowed_sinc_f32(const float *input, int input_frames, int input_rate, float *output, int output_frames, int output_rate, int radius)
int audio_wav_decode_memory_pcm16_mono_window_f32(const uint8_t *bytes, size_t byte_count, int start_frame, float *mono, int mono_capacity, CKAudioWavInfo *info)
int audio_stft_power_fft400_f32(const float *samples, int n_samples, const float *window, const float *cos_table, const float *sin_table, int hop_length, float *power, int n_frames, float *fft_scratch)
int audio_resampled_frame_count(int input_frames, int input_rate, int output_rate)
int audio_wav_decode_memory_pcm16_mono_f32(const uint8_t *bytes, size_t byte_count, float *mono, int mono_capacity, CKAudioWavInfo *info)