1pub const PUBLIC_HEADER_HASH: &str = "7df72bf9e667b8c2";
9
10pub const TRANSCRIBE_EXT_KIND_MOONSHINE_STREAMING_STREAM: u32 = 1414746957;
13pub const TRANSCRIBE_EXT_KIND_PARAKEET_STREAM: u32 = 1414744912;
14pub const TRANSCRIBE_EXT_KIND_PARAKEET_BUFFERED_STREAM: u32 = 1396853584;
15pub const TRANSCRIBE_EXT_KIND_SORTFORMER_STREAM: u32 = 1414743635;
16pub const TRANSCRIBE_EXT_KIND_VOXTRAL_REALTIME_STREAM: u32 = 1414746710;
17pub const TRANSCRIBE_EXT_KIND_WHISPER_RUN: u32 = 1314015319;
18impl transcribe_status {
19 pub const TRANSCRIBE_OK: transcribe_status = transcribe_status(0);
20 pub const TRANSCRIBE_ERR_INVALID_ARG: transcribe_status = transcribe_status(1);
21 pub const TRANSCRIBE_ERR_NOT_IMPLEMENTED: transcribe_status = transcribe_status(2);
22 pub const TRANSCRIBE_ERR_FILE_NOT_FOUND: transcribe_status = transcribe_status(3);
23 pub const TRANSCRIBE_ERR_GGUF: transcribe_status = transcribe_status(4);
24 pub const TRANSCRIBE_ERR_UNSUPPORTED_ARCH: transcribe_status = transcribe_status(5);
25 pub const TRANSCRIBE_ERR_UNSUPPORTED_VARIANT: transcribe_status = transcribe_status(6);
26 pub const TRANSCRIBE_ERR_OOM: transcribe_status = transcribe_status(7);
27 pub const TRANSCRIBE_ERR_BACKEND: transcribe_status = transcribe_status(8);
28 pub const TRANSCRIBE_ERR_SAMPLE_RATE: transcribe_status = transcribe_status(9);
29 pub const TRANSCRIBE_ERR_UNSUPPORTED_LANGUAGE: transcribe_status = transcribe_status(10);
30 pub const TRANSCRIBE_ERR_UNSUPPORTED_TASK: transcribe_status = transcribe_status(11);
31 pub const TRANSCRIBE_ERR_UNSUPPORTED_TIMESTAMPS: transcribe_status = transcribe_status(12);
32 pub const TRANSCRIBE_ERR_ABORTED: transcribe_status = transcribe_status(13);
33 pub const TRANSCRIBE_ERR_BAD_STRUCT_SIZE: transcribe_status = transcribe_status(14);
34 pub const TRANSCRIBE_ERR_UNSUPPORTED_PNC: transcribe_status = transcribe_status(15);
35 pub const TRANSCRIBE_ERR_UNSUPPORTED_ITN: transcribe_status = transcribe_status(16);
36 pub const TRANSCRIBE_ERR_INPUT_TOO_LONG: transcribe_status = transcribe_status(17);
37 pub const TRANSCRIBE_ERR_OUTPUT_TRUNCATED: transcribe_status = transcribe_status(18);
38}
39#[repr(transparent)]
40#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
41pub struct transcribe_status(pub ::std::os::raw::c_uint);
42unsafe extern "C" {
43 pub fn transcribe_status_string(status: ::std::os::raw::c_int)
44 -> *const ::std::os::raw::c_char;
45}
46unsafe extern "C" {
47 pub fn transcribe_version() -> *const ::std::os::raw::c_char;
48}
49unsafe extern "C" {
50 pub fn transcribe_version_commit() -> *const ::std::os::raw::c_char;
51}
52impl transcribe_abi_struct {
53 pub const TRANSCRIBE_ABI_MODEL_LOAD_PARAMS: transcribe_abi_struct = transcribe_abi_struct(0);
54 pub const TRANSCRIBE_ABI_SESSION_PARAMS: transcribe_abi_struct = transcribe_abi_struct(1);
55 pub const TRANSCRIBE_ABI_RUN_PARAMS: transcribe_abi_struct = transcribe_abi_struct(2);
56 pub const TRANSCRIBE_ABI_STREAM_PARAMS: transcribe_abi_struct = transcribe_abi_struct(3);
57 pub const TRANSCRIBE_ABI_CAPABILITIES: transcribe_abi_struct = transcribe_abi_struct(4);
58 pub const TRANSCRIBE_ABI_TIMINGS: transcribe_abi_struct = transcribe_abi_struct(5);
59 pub const TRANSCRIBE_ABI_SEGMENT: transcribe_abi_struct = transcribe_abi_struct(6);
60 pub const TRANSCRIBE_ABI_WORD: transcribe_abi_struct = transcribe_abi_struct(7);
61 pub const TRANSCRIBE_ABI_TOKEN: transcribe_abi_struct = transcribe_abi_struct(8);
62 pub const TRANSCRIBE_ABI_STREAM_UPDATE: transcribe_abi_struct = transcribe_abi_struct(9);
63 pub const TRANSCRIBE_ABI_STREAM_TEXT: transcribe_abi_struct = transcribe_abi_struct(10);
64 pub const TRANSCRIBE_ABI_SESSION_LIMITS: transcribe_abi_struct = transcribe_abi_struct(11);
65 pub const TRANSCRIBE_ABI_EXT: transcribe_abi_struct = transcribe_abi_struct(12);
66 pub const TRANSCRIBE_ABI_DEVICE_INFO: transcribe_abi_struct = transcribe_abi_struct(13);
67 pub const TRANSCRIBE_ABI_SPEAKER_SEGMENT: transcribe_abi_struct = transcribe_abi_struct(14);
68}
69#[repr(transparent)]
70#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
71pub struct transcribe_abi_struct(pub ::std::os::raw::c_uint);
72unsafe extern "C" {
73 pub fn transcribe_abi_struct_size(which: transcribe_abi_struct) -> usize;
74}
75unsafe extern "C" {
76 pub fn transcribe_abi_struct_align(which: transcribe_abi_struct) -> usize;
77}
78impl transcribe_log_level {
79 pub const TRANSCRIBE_LOG_LEVEL_NONE: transcribe_log_level = transcribe_log_level(0);
80 pub const TRANSCRIBE_LOG_LEVEL_INFO: transcribe_log_level = transcribe_log_level(1);
81 pub const TRANSCRIBE_LOG_LEVEL_WARN: transcribe_log_level = transcribe_log_level(2);
82 pub const TRANSCRIBE_LOG_LEVEL_ERROR: transcribe_log_level = transcribe_log_level(3);
83 pub const TRANSCRIBE_LOG_LEVEL_DEBUG: transcribe_log_level = transcribe_log_level(4);
84 pub const TRANSCRIBE_LOG_LEVEL_CONT: transcribe_log_level = transcribe_log_level(5);
85}
86#[repr(transparent)]
87#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
88pub struct transcribe_log_level(pub ::std::os::raw::c_uint);
89pub type transcribe_log_callback = ::std::option::Option<
90 unsafe extern "C" fn(
91 level: transcribe_log_level,
92 msg: *const ::std::os::raw::c_char,
93 userdata: *mut ::std::os::raw::c_void,
94 ),
95>;
96unsafe extern "C" {
97 pub fn transcribe_log_set(cb: transcribe_log_callback, userdata: *mut ::std::os::raw::c_void);
98}
99impl transcribe_task {
100 pub const TRANSCRIBE_TASK_TRANSCRIBE: transcribe_task = transcribe_task(0);
101 pub const TRANSCRIBE_TASK_TRANSLATE: transcribe_task = transcribe_task(1);
102}
103#[repr(transparent)]
104#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
105pub struct transcribe_task(pub ::std::os::raw::c_uint);
106impl transcribe_timestamp_kind {
107 pub const TRANSCRIBE_TIMESTAMPS_NONE: transcribe_timestamp_kind = transcribe_timestamp_kind(0);
108 pub const TRANSCRIBE_TIMESTAMPS_AUTO: transcribe_timestamp_kind = transcribe_timestamp_kind(1);
109 pub const TRANSCRIBE_TIMESTAMPS_SEGMENT: transcribe_timestamp_kind =
110 transcribe_timestamp_kind(2);
111 pub const TRANSCRIBE_TIMESTAMPS_WORD: transcribe_timestamp_kind = transcribe_timestamp_kind(3);
112 pub const TRANSCRIBE_TIMESTAMPS_TOKEN: transcribe_timestamp_kind = transcribe_timestamp_kind(4);
113}
114#[repr(transparent)]
115#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
116pub struct transcribe_timestamp_kind(pub ::std::os::raw::c_uint);
117impl transcribe_kv_type {
118 pub const TRANSCRIBE_KV_TYPE_AUTO: transcribe_kv_type = transcribe_kv_type(0);
119 pub const TRANSCRIBE_KV_TYPE_F32: transcribe_kv_type = transcribe_kv_type(1);
120 pub const TRANSCRIBE_KV_TYPE_F16: transcribe_kv_type = transcribe_kv_type(2);
121}
122#[repr(transparent)]
123#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
124pub struct transcribe_kv_type(pub ::std::os::raw::c_uint);
125impl transcribe_pnc_mode {
126 pub const TRANSCRIBE_PNC_MODE_DEFAULT: transcribe_pnc_mode = transcribe_pnc_mode(0);
127 pub const TRANSCRIBE_PNC_MODE_OFF: transcribe_pnc_mode = transcribe_pnc_mode(1);
128 pub const TRANSCRIBE_PNC_MODE_ON: transcribe_pnc_mode = transcribe_pnc_mode(2);
129}
130#[repr(transparent)]
131#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
132pub struct transcribe_pnc_mode(pub ::std::os::raw::c_uint);
133impl transcribe_itn_mode {
134 pub const TRANSCRIBE_ITN_MODE_DEFAULT: transcribe_itn_mode = transcribe_itn_mode(0);
135 pub const TRANSCRIBE_ITN_MODE_OFF: transcribe_itn_mode = transcribe_itn_mode(1);
136 pub const TRANSCRIBE_ITN_MODE_ON: transcribe_itn_mode = transcribe_itn_mode(2);
137}
138#[repr(transparent)]
139#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
140pub struct transcribe_itn_mode(pub ::std::os::raw::c_uint);
141impl transcribe_diarize_mode {
142 pub const TRANSCRIBE_DIARIZE_MODE_DEFAULT: transcribe_diarize_mode = transcribe_diarize_mode(0);
143 pub const TRANSCRIBE_DIARIZE_MODE_OFF: transcribe_diarize_mode = transcribe_diarize_mode(1);
144 pub const TRANSCRIBE_DIARIZE_MODE_ON: transcribe_diarize_mode = transcribe_diarize_mode(2);
145}
146#[repr(transparent)]
147#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
148pub struct transcribe_diarize_mode(pub ::std::os::raw::c_uint);
149#[repr(C)]
150#[derive(Debug, Copy, Clone)]
151pub struct transcribe_model {
152 _unused: [u8; 0],
153}
154#[repr(C)]
155#[derive(Debug, Copy, Clone)]
156pub struct transcribe_session {
157 _unused: [u8; 0],
158}
159#[repr(C)]
160#[derive(Debug, Copy, Clone)]
161pub struct transcribe_ext {
162 pub size: u64,
163 pub kind: u32,
164}
165#[allow(clippy::unnecessary_operation, clippy::identity_op)]
166const _: () = {
167 ["Size of transcribe_ext"][::std::mem::size_of::<transcribe_ext>() - 16usize];
168 ["Alignment of transcribe_ext"][::std::mem::align_of::<transcribe_ext>() - 8usize];
169 ["Offset of field: transcribe_ext::size"]
170 [::std::mem::offset_of!(transcribe_ext, size) - 0usize];
171 ["Offset of field: transcribe_ext::kind"]
172 [::std::mem::offset_of!(transcribe_ext, kind) - 8usize];
173};
174unsafe extern "C" {
175 pub fn transcribe_ext_check(
176 ext: *const transcribe_ext,
177 expected_kind: u32,
178 min_size: u64,
179 ) -> transcribe_status;
180}
181impl transcribe_ext_slot {
182 pub const TRANSCRIBE_EXT_SLOT_RUN: transcribe_ext_slot = transcribe_ext_slot(0);
183 pub const TRANSCRIBE_EXT_SLOT_STREAM: transcribe_ext_slot = transcribe_ext_slot(1);
184}
185#[repr(transparent)]
186#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
187pub struct transcribe_ext_slot(pub ::std::os::raw::c_uint);
188unsafe extern "C" {
189 pub fn transcribe_model_accepts_ext_kind(
190 model: *const transcribe_model,
191 slot: transcribe_ext_slot,
192 kind: u32,
193 ) -> bool;
194}
195impl transcribe_backend_request {
196 pub const TRANSCRIBE_BACKEND_AUTO: transcribe_backend_request = transcribe_backend_request(0);
197 pub const TRANSCRIBE_BACKEND_CPU: transcribe_backend_request = transcribe_backend_request(1);
198 pub const TRANSCRIBE_BACKEND_METAL: transcribe_backend_request = transcribe_backend_request(2);
199 pub const TRANSCRIBE_BACKEND_VULKAN: transcribe_backend_request = transcribe_backend_request(3);
200 pub const TRANSCRIBE_BACKEND_CPU_ACCEL: transcribe_backend_request =
201 transcribe_backend_request(4);
202 pub const TRANSCRIBE_BACKEND_CUDA: transcribe_backend_request = transcribe_backend_request(5);
203 pub const TRANSCRIBE_BACKEND_ROCM: transcribe_backend_request = transcribe_backend_request(6);
204}
205#[repr(transparent)]
206#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
207pub struct transcribe_backend_request(pub ::std::os::raw::c_uint);
208unsafe extern "C" {
209 pub fn transcribe_init_backends(
210 artifact_dir: *const ::std::os::raw::c_char,
211 ) -> transcribe_status;
212}
213unsafe extern "C" {
214 pub fn transcribe_init_backends_default() -> transcribe_status;
215}
216#[repr(C)]
217#[derive(Debug, Copy, Clone)]
218pub struct transcribe_device {
219 _unused: [u8; 0],
220}
221pub type transcribe_device_t = *mut transcribe_device;
222unsafe extern "C" {
223 pub fn transcribe_device_count() -> ::std::os::raw::c_int;
224}
225unsafe extern "C" {
226 pub fn transcribe_device_get(index: ::std::os::raw::c_int) -> transcribe_device_t;
227}
228impl transcribe_device_type {
229 pub const TRANSCRIBE_DEVICE_TYPE_CPU: transcribe_device_type = transcribe_device_type(0);
230 pub const TRANSCRIBE_DEVICE_TYPE_GPU: transcribe_device_type = transcribe_device_type(1);
231 pub const TRANSCRIBE_DEVICE_TYPE_IGPU: transcribe_device_type = transcribe_device_type(2);
232 pub const TRANSCRIBE_DEVICE_TYPE_ACCEL: transcribe_device_type = transcribe_device_type(3);
233}
234#[repr(transparent)]
235#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
236pub struct transcribe_device_type(pub ::std::os::raw::c_uint);
237#[repr(C)]
238#[derive(Debug, Copy, Clone)]
239pub struct transcribe_device_info {
240 pub struct_size: u64,
241 pub name: *const ::std::os::raw::c_char,
242 pub description: *const ::std::os::raw::c_char,
243 pub kind: *const ::std::os::raw::c_char,
244 pub device_id: *const ::std::os::raw::c_char,
245 pub memory_total: u64,
246 pub memory_free: u64,
247 pub device_type: transcribe_device_type,
248}
249#[allow(clippy::unnecessary_operation, clippy::identity_op)]
250const _: () = {
251 ["Size of transcribe_device_info"][::std::mem::size_of::<transcribe_device_info>() - 64usize];
252 ["Alignment of transcribe_device_info"]
253 [::std::mem::align_of::<transcribe_device_info>() - 8usize];
254 ["Offset of field: transcribe_device_info::struct_size"]
255 [::std::mem::offset_of!(transcribe_device_info, struct_size) - 0usize];
256 ["Offset of field: transcribe_device_info::name"]
257 [::std::mem::offset_of!(transcribe_device_info, name) - 8usize];
258 ["Offset of field: transcribe_device_info::description"]
259 [::std::mem::offset_of!(transcribe_device_info, description) - 16usize];
260 ["Offset of field: transcribe_device_info::kind"]
261 [::std::mem::offset_of!(transcribe_device_info, kind) - 24usize];
262 ["Offset of field: transcribe_device_info::device_id"]
263 [::std::mem::offset_of!(transcribe_device_info, device_id) - 32usize];
264 ["Offset of field: transcribe_device_info::memory_total"]
265 [::std::mem::offset_of!(transcribe_device_info, memory_total) - 40usize];
266 ["Offset of field: transcribe_device_info::memory_free"]
267 [::std::mem::offset_of!(transcribe_device_info, memory_free) - 48usize];
268 ["Offset of field: transcribe_device_info::device_type"]
269 [::std::mem::offset_of!(transcribe_device_info, device_type) - 56usize];
270};
271unsafe extern "C" {
272 pub fn transcribe_device_info_init(p: *mut transcribe_device_info);
273}
274unsafe extern "C" {
275 pub fn transcribe_device_get_info(
276 device: transcribe_device_t,
277 out: *mut transcribe_device_info,
278 ) -> transcribe_status;
279}
280unsafe extern "C" {
281 pub fn transcribe_backend_available(kind: transcribe_backend_request) -> bool;
282}
283unsafe extern "C" {
284 pub fn transcribe_model_device(model: *const transcribe_model) -> transcribe_device_t;
285}
286#[repr(C)]
287#[derive(Debug, Copy, Clone)]
288pub struct transcribe_model_load_params {
289 pub struct_size: u64,
290 pub backend: transcribe_backend_request,
291 pub device: transcribe_device_t,
292}
293#[allow(clippy::unnecessary_operation, clippy::identity_op)]
294const _: () = {
295 ["Size of transcribe_model_load_params"]
296 [::std::mem::size_of::<transcribe_model_load_params>() - 24usize];
297 ["Alignment of transcribe_model_load_params"]
298 [::std::mem::align_of::<transcribe_model_load_params>() - 8usize];
299 ["Offset of field: transcribe_model_load_params::struct_size"]
300 [::std::mem::offset_of!(transcribe_model_load_params, struct_size) - 0usize];
301 ["Offset of field: transcribe_model_load_params::backend"]
302 [::std::mem::offset_of!(transcribe_model_load_params, backend) - 8usize];
303 ["Offset of field: transcribe_model_load_params::device"]
304 [::std::mem::offset_of!(transcribe_model_load_params, device) - 16usize];
305};
306unsafe extern "C" {
307 pub fn transcribe_model_load_params_init(params: *mut transcribe_model_load_params);
308}
309#[repr(C)]
310#[derive(Debug, Copy, Clone)]
311pub struct transcribe_session_params {
312 pub struct_size: u64,
313 pub n_threads: ::std::os::raw::c_int,
314 pub kv_type: transcribe_kv_type,
315 pub n_ctx: i32,
316}
317#[allow(clippy::unnecessary_operation, clippy::identity_op)]
318const _: () = {
319 ["Size of transcribe_session_params"]
320 [::std::mem::size_of::<transcribe_session_params>() - 24usize];
321 ["Alignment of transcribe_session_params"]
322 [::std::mem::align_of::<transcribe_session_params>() - 8usize];
323 ["Offset of field: transcribe_session_params::struct_size"]
324 [::std::mem::offset_of!(transcribe_session_params, struct_size) - 0usize];
325 ["Offset of field: transcribe_session_params::n_threads"]
326 [::std::mem::offset_of!(transcribe_session_params, n_threads) - 8usize];
327 ["Offset of field: transcribe_session_params::kv_type"]
328 [::std::mem::offset_of!(transcribe_session_params, kv_type) - 12usize];
329 ["Offset of field: transcribe_session_params::n_ctx"]
330 [::std::mem::offset_of!(transcribe_session_params, n_ctx) - 16usize];
331};
332unsafe extern "C" {
333 pub fn transcribe_session_params_init(params: *mut transcribe_session_params);
334}
335#[repr(C)]
336#[derive(Debug, Copy, Clone)]
337pub struct transcribe_run_params {
338 pub struct_size: u64,
339 pub task: transcribe_task,
340 pub timestamps: transcribe_timestamp_kind,
341 pub pnc: transcribe_pnc_mode,
342 pub itn: transcribe_itn_mode,
343 pub diarize: transcribe_diarize_mode,
344 pub language: *const ::std::os::raw::c_char,
345 pub target_language: *const ::std::os::raw::c_char,
346 pub keep_special_tags: bool,
347 pub family: *const transcribe_ext,
348 pub spec_k_drafts: i32,
349}
350#[allow(clippy::unnecessary_operation, clippy::identity_op)]
351const _: () = {
352 ["Size of transcribe_run_params"][::std::mem::size_of::<transcribe_run_params>() - 72usize];
353 ["Alignment of transcribe_run_params"]
354 [::std::mem::align_of::<transcribe_run_params>() - 8usize];
355 ["Offset of field: transcribe_run_params::struct_size"]
356 [::std::mem::offset_of!(transcribe_run_params, struct_size) - 0usize];
357 ["Offset of field: transcribe_run_params::task"]
358 [::std::mem::offset_of!(transcribe_run_params, task) - 8usize];
359 ["Offset of field: transcribe_run_params::timestamps"]
360 [::std::mem::offset_of!(transcribe_run_params, timestamps) - 12usize];
361 ["Offset of field: transcribe_run_params::pnc"]
362 [::std::mem::offset_of!(transcribe_run_params, pnc) - 16usize];
363 ["Offset of field: transcribe_run_params::itn"]
364 [::std::mem::offset_of!(transcribe_run_params, itn) - 20usize];
365 ["Offset of field: transcribe_run_params::diarize"]
366 [::std::mem::offset_of!(transcribe_run_params, diarize) - 24usize];
367 ["Offset of field: transcribe_run_params::language"]
368 [::std::mem::offset_of!(transcribe_run_params, language) - 32usize];
369 ["Offset of field: transcribe_run_params::target_language"]
370 [::std::mem::offset_of!(transcribe_run_params, target_language) - 40usize];
371 ["Offset of field: transcribe_run_params::keep_special_tags"]
372 [::std::mem::offset_of!(transcribe_run_params, keep_special_tags) - 48usize];
373 ["Offset of field: transcribe_run_params::family"]
374 [::std::mem::offset_of!(transcribe_run_params, family) - 56usize];
375 ["Offset of field: transcribe_run_params::spec_k_drafts"]
376 [::std::mem::offset_of!(transcribe_run_params, spec_k_drafts) - 64usize];
377};
378unsafe extern "C" {
379 pub fn transcribe_run_params_init(params: *mut transcribe_run_params);
380}
381#[repr(C)]
382#[derive(Debug, Copy, Clone)]
383pub struct transcribe_capabilities {
384 pub struct_size: u64,
385 pub native_sample_rate: i32,
386 pub n_languages: ::std::os::raw::c_int,
387 pub languages: *const *const ::std::os::raw::c_char,
388 pub max_timestamp_kind: transcribe_timestamp_kind,
389 pub supports_language_detect: bool,
390 pub supports_translate: bool,
391 pub supports_streaming: bool,
392 pub supports_spec_decode: bool,
393 pub max_audio_ms: i64,
394 pub n_translate_target_languages: ::std::os::raw::c_int,
395 pub translate_target_languages: *const *const ::std::os::raw::c_char,
396}
397#[allow(clippy::unnecessary_operation, clippy::identity_op)]
398const _: () = {
399 ["Size of transcribe_capabilities"][::std::mem::size_of::<transcribe_capabilities>() - 56usize];
400 ["Alignment of transcribe_capabilities"]
401 [::std::mem::align_of::<transcribe_capabilities>() - 8usize];
402 ["Offset of field: transcribe_capabilities::struct_size"]
403 [::std::mem::offset_of!(transcribe_capabilities, struct_size) - 0usize];
404 ["Offset of field: transcribe_capabilities::native_sample_rate"]
405 [::std::mem::offset_of!(transcribe_capabilities, native_sample_rate) - 8usize];
406 ["Offset of field: transcribe_capabilities::n_languages"]
407 [::std::mem::offset_of!(transcribe_capabilities, n_languages) - 12usize];
408 ["Offset of field: transcribe_capabilities::languages"]
409 [::std::mem::offset_of!(transcribe_capabilities, languages) - 16usize];
410 ["Offset of field: transcribe_capabilities::max_timestamp_kind"]
411 [::std::mem::offset_of!(transcribe_capabilities, max_timestamp_kind) - 24usize];
412 ["Offset of field: transcribe_capabilities::supports_language_detect"]
413 [::std::mem::offset_of!(transcribe_capabilities, supports_language_detect) - 28usize];
414 ["Offset of field: transcribe_capabilities::supports_translate"]
415 [::std::mem::offset_of!(transcribe_capabilities, supports_translate) - 29usize];
416 ["Offset of field: transcribe_capabilities::supports_streaming"]
417 [::std::mem::offset_of!(transcribe_capabilities, supports_streaming) - 30usize];
418 ["Offset of field: transcribe_capabilities::supports_spec_decode"]
419 [::std::mem::offset_of!(transcribe_capabilities, supports_spec_decode) - 31usize];
420 ["Offset of field: transcribe_capabilities::max_audio_ms"]
421 [::std::mem::offset_of!(transcribe_capabilities, max_audio_ms) - 32usize];
422 ["Offset of field: transcribe_capabilities::n_translate_target_languages"]
423 [::std::mem::offset_of!(transcribe_capabilities, n_translate_target_languages) - 40usize];
424 ["Offset of field: transcribe_capabilities::translate_target_languages"]
425 [::std::mem::offset_of!(transcribe_capabilities, translate_target_languages) - 48usize];
426};
427unsafe extern "C" {
428 pub fn transcribe_capabilities_init(out: *mut transcribe_capabilities);
429}
430unsafe extern "C" {
431 pub fn transcribe_model_get_capabilities(
432 model: *const transcribe_model,
433 out_caps: *mut transcribe_capabilities,
434 ) -> transcribe_status;
435}
436impl transcribe_feature {
437 pub const TRANSCRIBE_FEATURE_INITIAL_PROMPT: transcribe_feature = transcribe_feature(0);
438 pub const TRANSCRIBE_FEATURE_TEMPERATURE_FALLBACK: transcribe_feature = transcribe_feature(1);
439 pub const TRANSCRIBE_FEATURE_LONG_FORM: transcribe_feature = transcribe_feature(2);
440 pub const TRANSCRIBE_FEATURE_CANCELLATION: transcribe_feature = transcribe_feature(3);
441 pub const TRANSCRIBE_FEATURE_PNC: transcribe_feature = transcribe_feature(4);
442 pub const TRANSCRIBE_FEATURE_ITN: transcribe_feature = transcribe_feature(5);
443 pub const TRANSCRIBE_FEATURE_DIARIZATION: transcribe_feature = transcribe_feature(6);
444}
445#[repr(transparent)]
446#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
447pub struct transcribe_feature(pub ::std::os::raw::c_uint);
448unsafe extern "C" {
449 pub fn transcribe_model_supports(
450 model: *const transcribe_model,
451 feature: transcribe_feature,
452 ) -> bool;
453}
454unsafe extern "C" {
455 pub fn transcribe_model_arch_string(
456 model: *const transcribe_model,
457 ) -> *const ::std::os::raw::c_char;
458}
459unsafe extern "C" {
460 pub fn transcribe_model_variant_string(
461 model: *const transcribe_model,
462 ) -> *const ::std::os::raw::c_char;
463}
464unsafe extern "C" {
465 pub fn transcribe_model_backend(
466 model: *const transcribe_model,
467 ) -> *const ::std::os::raw::c_char;
468}
469unsafe extern "C" {
470 pub fn transcribe_model_meta_val_str(
471 model: *const transcribe_model,
472 key: *const ::std::os::raw::c_char,
473 ) -> *const ::std::os::raw::c_char;
474}
475unsafe extern "C" {
476 pub fn transcribe_model_load_file(
477 path: *const ::std::os::raw::c_char,
478 params: *const transcribe_model_load_params,
479 out_model: *mut *mut transcribe_model,
480 ) -> transcribe_status;
481}
482unsafe extern "C" {
483 pub fn transcribe_model_free(model: *mut transcribe_model);
484}
485unsafe extern "C" {
486 pub fn transcribe_session_init(
487 model: *mut transcribe_model,
488 params: *const transcribe_session_params,
489 out_session: *mut *mut transcribe_session,
490 ) -> transcribe_status;
491}
492unsafe extern "C" {
493 pub fn transcribe_session_free(session: *mut transcribe_session);
494}
495unsafe extern "C" {
496 pub fn transcribe_open(
497 path: *const ::std::os::raw::c_char,
498 load_params: *const transcribe_model_load_params,
499 session_params: *const transcribe_session_params,
500 out_session: *mut *mut transcribe_session,
501 ) -> transcribe_status;
502}
503unsafe extern "C" {
504 pub fn transcribe_close(session: *mut transcribe_session);
505}
506unsafe extern "C" {
507 pub fn transcribe_get_model(session: *const transcribe_session) -> *const transcribe_model;
508}
509unsafe extern "C" {
510 pub fn transcribe_run(
511 session: *mut transcribe_session,
512 pcm: *const f32,
513 n_samples: ::std::os::raw::c_int,
514 params: *const transcribe_run_params,
515 ) -> transcribe_status;
516}
517unsafe extern "C" {
518 pub fn transcribe_run_batch(
519 session: *mut transcribe_session,
520 pcm: *const *const f32,
521 n_samples: *const ::std::os::raw::c_int,
522 n: ::std::os::raw::c_int,
523 params: *const transcribe_run_params,
524 ) -> transcribe_status;
525}
526pub type transcribe_abort_callback =
527 ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void) -> bool>;
528unsafe extern "C" {
529 pub fn transcribe_set_abort_callback(
530 session: *mut transcribe_session,
531 cb: transcribe_abort_callback,
532 user_data: *mut ::std::os::raw::c_void,
533 );
534}
535unsafe extern "C" {
536 pub fn transcribe_was_aborted(session: *const transcribe_session) -> bool;
537}
538unsafe extern "C" {
539 pub fn transcribe_was_truncated(session: *const transcribe_session) -> bool;
540}
541#[repr(C)]
542#[derive(Debug, Copy, Clone)]
543pub struct transcribe_session_limits {
544 pub struct_size: u64,
545 pub effective_n_ctx: i32,
546 pub effective_max_audio_ms: i64,
547 pub max_kv_bytes: i64,
548}
549#[allow(clippy::unnecessary_operation, clippy::identity_op)]
550const _: () = {
551 ["Size of transcribe_session_limits"]
552 [::std::mem::size_of::<transcribe_session_limits>() - 32usize];
553 ["Alignment of transcribe_session_limits"]
554 [::std::mem::align_of::<transcribe_session_limits>() - 8usize];
555 ["Offset of field: transcribe_session_limits::struct_size"]
556 [::std::mem::offset_of!(transcribe_session_limits, struct_size) - 0usize];
557 ["Offset of field: transcribe_session_limits::effective_n_ctx"]
558 [::std::mem::offset_of!(transcribe_session_limits, effective_n_ctx) - 8usize];
559 ["Offset of field: transcribe_session_limits::effective_max_audio_ms"]
560 [::std::mem::offset_of!(transcribe_session_limits, effective_max_audio_ms) - 16usize];
561 ["Offset of field: transcribe_session_limits::max_kv_bytes"]
562 [::std::mem::offset_of!(transcribe_session_limits, max_kv_bytes) - 24usize];
563};
564unsafe extern "C" {
565 pub fn transcribe_session_limits_init(out: *mut transcribe_session_limits);
566}
567unsafe extern "C" {
568 pub fn transcribe_session_get_limits(
569 session: *const transcribe_session,
570 out: *mut transcribe_session_limits,
571 ) -> transcribe_status;
572}
573impl transcribe_stream_state {
574 pub const TRANSCRIBE_STREAM_IDLE: transcribe_stream_state = transcribe_stream_state(0);
575 pub const TRANSCRIBE_STREAM_ACTIVE: transcribe_stream_state = transcribe_stream_state(1);
576 pub const TRANSCRIBE_STREAM_FINISHED: transcribe_stream_state = transcribe_stream_state(2);
577 pub const TRANSCRIBE_STREAM_FAILED: transcribe_stream_state = transcribe_stream_state(3);
578}
579#[repr(transparent)]
580#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
581pub struct transcribe_stream_state(pub ::std::os::raw::c_uint);
582impl transcribe_stream_commit_policy {
583 pub const TRANSCRIBE_STREAM_COMMIT_AUTO: transcribe_stream_commit_policy =
584 transcribe_stream_commit_policy(0);
585 pub const TRANSCRIBE_STREAM_COMMIT_ON_FINALIZE: transcribe_stream_commit_policy =
586 transcribe_stream_commit_policy(1);
587 pub const TRANSCRIBE_STREAM_COMMIT_STABLE_PREFIX: transcribe_stream_commit_policy =
588 transcribe_stream_commit_policy(2);
589}
590#[repr(transparent)]
591#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
592pub struct transcribe_stream_commit_policy(pub ::std::os::raw::c_uint);
593#[repr(C)]
594#[derive(Debug, Copy, Clone)]
595pub struct transcribe_stream_params {
596 pub struct_size: u64,
597 pub family: *const transcribe_ext,
598 pub commit_policy: transcribe_stream_commit_policy,
599 pub stable_prefix_agreement_n: u32,
600}
601#[allow(clippy::unnecessary_operation, clippy::identity_op)]
602const _: () = {
603 ["Size of transcribe_stream_params"]
604 [::std::mem::size_of::<transcribe_stream_params>() - 24usize];
605 ["Alignment of transcribe_stream_params"]
606 [::std::mem::align_of::<transcribe_stream_params>() - 8usize];
607 ["Offset of field: transcribe_stream_params::struct_size"]
608 [::std::mem::offset_of!(transcribe_stream_params, struct_size) - 0usize];
609 ["Offset of field: transcribe_stream_params::family"]
610 [::std::mem::offset_of!(transcribe_stream_params, family) - 8usize];
611 ["Offset of field: transcribe_stream_params::commit_policy"]
612 [::std::mem::offset_of!(transcribe_stream_params, commit_policy) - 16usize];
613 ["Offset of field: transcribe_stream_params::stable_prefix_agreement_n"]
614 [::std::mem::offset_of!(transcribe_stream_params, stable_prefix_agreement_n) - 20usize];
615};
616unsafe extern "C" {
617 pub fn transcribe_stream_params_init(params: *mut transcribe_stream_params);
618}
619#[repr(C)]
620#[derive(Debug, Copy, Clone)]
621pub struct transcribe_stream_update {
622 pub struct_size: u64,
623 pub result_changed: bool,
624 pub is_final: bool,
625 pub revision: i32,
626 pub input_received_ms: i64,
627 pub audio_committed_ms: i64,
628 pub buffered_ms: i64,
629 pub committed_changed: bool,
630 pub tentative_changed: bool,
631}
632#[allow(clippy::unnecessary_operation, clippy::identity_op)]
633const _: () = {
634 ["Size of transcribe_stream_update"]
635 [::std::mem::size_of::<transcribe_stream_update>() - 48usize];
636 ["Alignment of transcribe_stream_update"]
637 [::std::mem::align_of::<transcribe_stream_update>() - 8usize];
638 ["Offset of field: transcribe_stream_update::struct_size"]
639 [::std::mem::offset_of!(transcribe_stream_update, struct_size) - 0usize];
640 ["Offset of field: transcribe_stream_update::result_changed"]
641 [::std::mem::offset_of!(transcribe_stream_update, result_changed) - 8usize];
642 ["Offset of field: transcribe_stream_update::is_final"]
643 [::std::mem::offset_of!(transcribe_stream_update, is_final) - 9usize];
644 ["Offset of field: transcribe_stream_update::revision"]
645 [::std::mem::offset_of!(transcribe_stream_update, revision) - 12usize];
646 ["Offset of field: transcribe_stream_update::input_received_ms"]
647 [::std::mem::offset_of!(transcribe_stream_update, input_received_ms) - 16usize];
648 ["Offset of field: transcribe_stream_update::audio_committed_ms"]
649 [::std::mem::offset_of!(transcribe_stream_update, audio_committed_ms) - 24usize];
650 ["Offset of field: transcribe_stream_update::buffered_ms"]
651 [::std::mem::offset_of!(transcribe_stream_update, buffered_ms) - 32usize];
652 ["Offset of field: transcribe_stream_update::committed_changed"]
653 [::std::mem::offset_of!(transcribe_stream_update, committed_changed) - 40usize];
654 ["Offset of field: transcribe_stream_update::tentative_changed"]
655 [::std::mem::offset_of!(transcribe_stream_update, tentative_changed) - 41usize];
656};
657unsafe extern "C" {
658 pub fn transcribe_stream_update_init(out: *mut transcribe_stream_update);
659}
660#[repr(C)]
661#[derive(Debug, Copy, Clone)]
662pub struct transcribe_stream_text {
663 pub struct_size: u64,
664 pub full_text: *const ::std::os::raw::c_char,
665 pub full_text_bytes: u64,
666 pub committed_text: *const ::std::os::raw::c_char,
667 pub committed_text_bytes: u64,
668 pub tentative_text: *const ::std::os::raw::c_char,
669 pub tentative_text_bytes: u64,
670 pub raw_tentative_start_bytes: u64,
671}
672#[allow(clippy::unnecessary_operation, clippy::identity_op)]
673const _: () = {
674 ["Size of transcribe_stream_text"][::std::mem::size_of::<transcribe_stream_text>() - 64usize];
675 ["Alignment of transcribe_stream_text"]
676 [::std::mem::align_of::<transcribe_stream_text>() - 8usize];
677 ["Offset of field: transcribe_stream_text::struct_size"]
678 [::std::mem::offset_of!(transcribe_stream_text, struct_size) - 0usize];
679 ["Offset of field: transcribe_stream_text::full_text"]
680 [::std::mem::offset_of!(transcribe_stream_text, full_text) - 8usize];
681 ["Offset of field: transcribe_stream_text::full_text_bytes"]
682 [::std::mem::offset_of!(transcribe_stream_text, full_text_bytes) - 16usize];
683 ["Offset of field: transcribe_stream_text::committed_text"]
684 [::std::mem::offset_of!(transcribe_stream_text, committed_text) - 24usize];
685 ["Offset of field: transcribe_stream_text::committed_text_bytes"]
686 [::std::mem::offset_of!(transcribe_stream_text, committed_text_bytes) - 32usize];
687 ["Offset of field: transcribe_stream_text::tentative_text"]
688 [::std::mem::offset_of!(transcribe_stream_text, tentative_text) - 40usize];
689 ["Offset of field: transcribe_stream_text::tentative_text_bytes"]
690 [::std::mem::offset_of!(transcribe_stream_text, tentative_text_bytes) - 48usize];
691 ["Offset of field: transcribe_stream_text::raw_tentative_start_bytes"]
692 [::std::mem::offset_of!(transcribe_stream_text, raw_tentative_start_bytes) - 56usize];
693};
694unsafe extern "C" {
695 pub fn transcribe_stream_text_init(out: *mut transcribe_stream_text);
696}
697unsafe extern "C" {
698 pub fn transcribe_stream_get_text(
699 session: *const transcribe_session,
700 out: *mut transcribe_stream_text,
701 ) -> transcribe_status;
702}
703unsafe extern "C" {
704 pub fn transcribe_stream_begin(
705 session: *mut transcribe_session,
706 run_params: *const transcribe_run_params,
707 stream_params: *const transcribe_stream_params,
708 ) -> transcribe_status;
709}
710unsafe extern "C" {
711 pub fn transcribe_stream_feed(
712 session: *mut transcribe_session,
713 pcm: *const f32,
714 n_samples: ::std::os::raw::c_int,
715 update: *mut transcribe_stream_update,
716 ) -> transcribe_status;
717}
718unsafe extern "C" {
719 pub fn transcribe_stream_finalize(
720 session: *mut transcribe_session,
721 update: *mut transcribe_stream_update,
722 ) -> transcribe_status;
723}
724unsafe extern "C" {
725 pub fn transcribe_stream_reset(session: *mut transcribe_session);
726}
727unsafe extern "C" {
728 pub fn transcribe_stream_get_state(
729 session: *const transcribe_session,
730 ) -> transcribe_stream_state;
731}
732unsafe extern "C" {
733 pub fn transcribe_stream_revision(session: *const transcribe_session) -> ::std::os::raw::c_int;
734}
735unsafe extern "C" {
736 pub fn transcribe_stream_n_committed_segments(
737 session: *const transcribe_session,
738 ) -> ::std::os::raw::c_int;
739}
740unsafe extern "C" {
741 pub fn transcribe_stream_n_committed_words(
742 session: *const transcribe_session,
743 ) -> ::std::os::raw::c_int;
744}
745unsafe extern "C" {
746 pub fn transcribe_stream_n_committed_tokens(
747 session: *const transcribe_session,
748 ) -> ::std::os::raw::c_int;
749}
750unsafe extern "C" {
751 pub fn transcribe_stream_last_status(session: *const transcribe_session) -> transcribe_status;
752}
753unsafe extern "C" {
754 pub fn transcribe_tokenize(
755 model: *const transcribe_model,
756 text: *const ::std::os::raw::c_char,
757 tokens: *mut i32,
758 n_max: usize,
759 ) -> ::std::os::raw::c_int;
760}
761#[repr(C)]
762#[derive(Debug, Copy, Clone)]
763pub struct transcribe_timings {
764 pub struct_size: u64,
765 pub load_ms: f32,
766 pub mel_ms: f32,
767 pub encode_ms: f32,
768 pub decode_ms: f32,
769}
770#[allow(clippy::unnecessary_operation, clippy::identity_op)]
771const _: () = {
772 ["Size of transcribe_timings"][::std::mem::size_of::<transcribe_timings>() - 24usize];
773 ["Alignment of transcribe_timings"][::std::mem::align_of::<transcribe_timings>() - 8usize];
774 ["Offset of field: transcribe_timings::struct_size"]
775 [::std::mem::offset_of!(transcribe_timings, struct_size) - 0usize];
776 ["Offset of field: transcribe_timings::load_ms"]
777 [::std::mem::offset_of!(transcribe_timings, load_ms) - 8usize];
778 ["Offset of field: transcribe_timings::mel_ms"]
779 [::std::mem::offset_of!(transcribe_timings, mel_ms) - 12usize];
780 ["Offset of field: transcribe_timings::encode_ms"]
781 [::std::mem::offset_of!(transcribe_timings, encode_ms) - 16usize];
782 ["Offset of field: transcribe_timings::decode_ms"]
783 [::std::mem::offset_of!(transcribe_timings, decode_ms) - 20usize];
784};
785unsafe extern "C" {
786 pub fn transcribe_timings_init(out: *mut transcribe_timings);
787}
788unsafe extern "C" {
789 pub fn transcribe_get_timings(
790 session: *const transcribe_session,
791 out_timings: *mut transcribe_timings,
792 ) -> transcribe_status;
793}
794unsafe extern "C" {
795 pub fn transcribe_print_timings(session: *const transcribe_session);
796}
797unsafe extern "C" {
798 pub fn transcribe_reset_timings(session: *mut transcribe_session);
799}
800unsafe extern "C" {
801 pub fn transcribe_full_text(
802 session: *const transcribe_session,
803 ) -> *const ::std::os::raw::c_char;
804}
805unsafe extern "C" {
806 pub fn transcribe_raw_text(session: *const transcribe_session)
807 -> *const ::std::os::raw::c_char;
808}
809unsafe extern "C" {
810 pub fn transcribe_returned_timestamp_kind(
811 session: *const transcribe_session,
812 ) -> transcribe_timestamp_kind;
813}
814unsafe extern "C" {
815 pub fn transcribe_n_segments(session: *const transcribe_session) -> ::std::os::raw::c_int;
816}
817unsafe extern "C" {
818 pub fn transcribe_n_words(session: *const transcribe_session) -> ::std::os::raw::c_int;
819}
820unsafe extern "C" {
821 pub fn transcribe_n_tokens(session: *const transcribe_session) -> ::std::os::raw::c_int;
822}
823unsafe extern "C" {
824 pub fn transcribe_detected_language(
825 session: *const transcribe_session,
826 ) -> *const ::std::os::raw::c_char;
827}
828#[repr(C)]
829#[derive(Debug, Copy, Clone)]
830pub struct transcribe_segment {
831 pub struct_size: u64,
832 pub t0_ms: i64,
833 pub t1_ms: i64,
834 pub first_word: ::std::os::raw::c_int,
835 pub n_words: ::std::os::raw::c_int,
836 pub first_token: ::std::os::raw::c_int,
837 pub n_tokens: ::std::os::raw::c_int,
838 pub text: *const ::std::os::raw::c_char,
839 pub speaker_id: i32,
840}
841#[allow(clippy::unnecessary_operation, clippy::identity_op)]
842const _: () = {
843 ["Size of transcribe_segment"][::std::mem::size_of::<transcribe_segment>() - 56usize];
844 ["Alignment of transcribe_segment"][::std::mem::align_of::<transcribe_segment>() - 8usize];
845 ["Offset of field: transcribe_segment::struct_size"]
846 [::std::mem::offset_of!(transcribe_segment, struct_size) - 0usize];
847 ["Offset of field: transcribe_segment::t0_ms"]
848 [::std::mem::offset_of!(transcribe_segment, t0_ms) - 8usize];
849 ["Offset of field: transcribe_segment::t1_ms"]
850 [::std::mem::offset_of!(transcribe_segment, t1_ms) - 16usize];
851 ["Offset of field: transcribe_segment::first_word"]
852 [::std::mem::offset_of!(transcribe_segment, first_word) - 24usize];
853 ["Offset of field: transcribe_segment::n_words"]
854 [::std::mem::offset_of!(transcribe_segment, n_words) - 28usize];
855 ["Offset of field: transcribe_segment::first_token"]
856 [::std::mem::offset_of!(transcribe_segment, first_token) - 32usize];
857 ["Offset of field: transcribe_segment::n_tokens"]
858 [::std::mem::offset_of!(transcribe_segment, n_tokens) - 36usize];
859 ["Offset of field: transcribe_segment::text"]
860 [::std::mem::offset_of!(transcribe_segment, text) - 40usize];
861 ["Offset of field: transcribe_segment::speaker_id"]
862 [::std::mem::offset_of!(transcribe_segment, speaker_id) - 48usize];
863};
864unsafe extern "C" {
865 pub fn transcribe_segment_init(out: *mut transcribe_segment);
866}
867#[repr(C)]
868#[derive(Debug, Copy, Clone)]
869pub struct transcribe_word {
870 pub struct_size: u64,
871 pub t0_ms: i64,
872 pub t1_ms: i64,
873 pub seg_index: ::std::os::raw::c_int,
874 pub first_token: ::std::os::raw::c_int,
875 pub n_tokens: ::std::os::raw::c_int,
876 pub text: *const ::std::os::raw::c_char,
877}
878#[allow(clippy::unnecessary_operation, clippy::identity_op)]
879const _: () = {
880 ["Size of transcribe_word"][::std::mem::size_of::<transcribe_word>() - 48usize];
881 ["Alignment of transcribe_word"][::std::mem::align_of::<transcribe_word>() - 8usize];
882 ["Offset of field: transcribe_word::struct_size"]
883 [::std::mem::offset_of!(transcribe_word, struct_size) - 0usize];
884 ["Offset of field: transcribe_word::t0_ms"]
885 [::std::mem::offset_of!(transcribe_word, t0_ms) - 8usize];
886 ["Offset of field: transcribe_word::t1_ms"]
887 [::std::mem::offset_of!(transcribe_word, t1_ms) - 16usize];
888 ["Offset of field: transcribe_word::seg_index"]
889 [::std::mem::offset_of!(transcribe_word, seg_index) - 24usize];
890 ["Offset of field: transcribe_word::first_token"]
891 [::std::mem::offset_of!(transcribe_word, first_token) - 28usize];
892 ["Offset of field: transcribe_word::n_tokens"]
893 [::std::mem::offset_of!(transcribe_word, n_tokens) - 32usize];
894 ["Offset of field: transcribe_word::text"]
895 [::std::mem::offset_of!(transcribe_word, text) - 40usize];
896};
897unsafe extern "C" {
898 pub fn transcribe_word_init(out: *mut transcribe_word);
899}
900#[repr(C)]
901#[derive(Debug, Copy, Clone)]
902pub struct transcribe_token {
903 pub struct_size: u64,
904 pub id: ::std::os::raw::c_int,
905 pub p: f32,
906 pub t0_ms: i64,
907 pub t1_ms: i64,
908 pub seg_index: ::std::os::raw::c_int,
909 pub word_index: ::std::os::raw::c_int,
910 pub text: *const ::std::os::raw::c_char,
911}
912#[allow(clippy::unnecessary_operation, clippy::identity_op)]
913const _: () = {
914 ["Size of transcribe_token"][::std::mem::size_of::<transcribe_token>() - 48usize];
915 ["Alignment of transcribe_token"][::std::mem::align_of::<transcribe_token>() - 8usize];
916 ["Offset of field: transcribe_token::struct_size"]
917 [::std::mem::offset_of!(transcribe_token, struct_size) - 0usize];
918 ["Offset of field: transcribe_token::id"]
919 [::std::mem::offset_of!(transcribe_token, id) - 8usize];
920 ["Offset of field: transcribe_token::p"][::std::mem::offset_of!(transcribe_token, p) - 12usize];
921 ["Offset of field: transcribe_token::t0_ms"]
922 [::std::mem::offset_of!(transcribe_token, t0_ms) - 16usize];
923 ["Offset of field: transcribe_token::t1_ms"]
924 [::std::mem::offset_of!(transcribe_token, t1_ms) - 24usize];
925 ["Offset of field: transcribe_token::seg_index"]
926 [::std::mem::offset_of!(transcribe_token, seg_index) - 32usize];
927 ["Offset of field: transcribe_token::word_index"]
928 [::std::mem::offset_of!(transcribe_token, word_index) - 36usize];
929 ["Offset of field: transcribe_token::text"]
930 [::std::mem::offset_of!(transcribe_token, text) - 40usize];
931};
932unsafe extern "C" {
933 pub fn transcribe_token_init(out: *mut transcribe_token);
934}
935unsafe extern "C" {
936 pub fn transcribe_get_segment(
937 session: *const transcribe_session,
938 i: ::std::os::raw::c_int,
939 out: *mut transcribe_segment,
940 ) -> transcribe_status;
941}
942unsafe extern "C" {
943 pub fn transcribe_get_word(
944 session: *const transcribe_session,
945 i: ::std::os::raw::c_int,
946 out: *mut transcribe_word,
947 ) -> transcribe_status;
948}
949unsafe extern "C" {
950 pub fn transcribe_get_token(
951 session: *const transcribe_session,
952 i: ::std::os::raw::c_int,
953 out: *mut transcribe_token,
954 ) -> transcribe_status;
955}
956#[repr(C)]
957#[derive(Debug, Copy, Clone)]
958pub struct transcribe_speaker_segment {
959 pub struct_size: u64,
960 pub t0_ms: i64,
961 pub t1_ms: i64,
962 pub speaker_id: i32,
963 pub p: f32,
964}
965#[allow(clippy::unnecessary_operation, clippy::identity_op)]
966const _: () = {
967 ["Size of transcribe_speaker_segment"]
968 [::std::mem::size_of::<transcribe_speaker_segment>() - 32usize];
969 ["Alignment of transcribe_speaker_segment"]
970 [::std::mem::align_of::<transcribe_speaker_segment>() - 8usize];
971 ["Offset of field: transcribe_speaker_segment::struct_size"]
972 [::std::mem::offset_of!(transcribe_speaker_segment, struct_size) - 0usize];
973 ["Offset of field: transcribe_speaker_segment::t0_ms"]
974 [::std::mem::offset_of!(transcribe_speaker_segment, t0_ms) - 8usize];
975 ["Offset of field: transcribe_speaker_segment::t1_ms"]
976 [::std::mem::offset_of!(transcribe_speaker_segment, t1_ms) - 16usize];
977 ["Offset of field: transcribe_speaker_segment::speaker_id"]
978 [::std::mem::offset_of!(transcribe_speaker_segment, speaker_id) - 24usize];
979 ["Offset of field: transcribe_speaker_segment::p"]
980 [::std::mem::offset_of!(transcribe_speaker_segment, p) - 28usize];
981};
982unsafe extern "C" {
983 pub fn transcribe_speaker_segment_init(out: *mut transcribe_speaker_segment);
984}
985unsafe extern "C" {
986 pub fn transcribe_n_speaker_segments(
987 session: *const transcribe_session,
988 ) -> ::std::os::raw::c_int;
989}
990unsafe extern "C" {
991 pub fn transcribe_get_speaker_segment(
992 session: *const transcribe_session,
993 i: ::std::os::raw::c_int,
994 out: *mut transcribe_speaker_segment,
995 ) -> transcribe_status;
996}
997unsafe extern "C" {
998 pub fn transcribe_batch_n_results(session: *const transcribe_session) -> ::std::os::raw::c_int;
999}
1000unsafe extern "C" {
1001 pub fn transcribe_batch_status(
1002 session: *const transcribe_session,
1003 i: ::std::os::raw::c_int,
1004 ) -> transcribe_status;
1005}
1006unsafe extern "C" {
1007 pub fn transcribe_batch_full_text(
1008 session: *const transcribe_session,
1009 i: ::std::os::raw::c_int,
1010 ) -> *const ::std::os::raw::c_char;
1011}
1012unsafe extern "C" {
1013 pub fn transcribe_batch_raw_text(
1014 session: *const transcribe_session,
1015 i: ::std::os::raw::c_int,
1016 ) -> *const ::std::os::raw::c_char;
1017}
1018unsafe extern "C" {
1019 pub fn transcribe_batch_returned_timestamp_kind(
1020 session: *const transcribe_session,
1021 i: ::std::os::raw::c_int,
1022 ) -> transcribe_timestamp_kind;
1023}
1024unsafe extern "C" {
1025 pub fn transcribe_batch_detected_language(
1026 session: *const transcribe_session,
1027 i: ::std::os::raw::c_int,
1028 ) -> *const ::std::os::raw::c_char;
1029}
1030unsafe extern "C" {
1031 pub fn transcribe_batch_n_segments(
1032 session: *const transcribe_session,
1033 i: ::std::os::raw::c_int,
1034 ) -> ::std::os::raw::c_int;
1035}
1036unsafe extern "C" {
1037 pub fn transcribe_batch_n_words(
1038 session: *const transcribe_session,
1039 i: ::std::os::raw::c_int,
1040 ) -> ::std::os::raw::c_int;
1041}
1042unsafe extern "C" {
1043 pub fn transcribe_batch_n_tokens(
1044 session: *const transcribe_session,
1045 i: ::std::os::raw::c_int,
1046 ) -> ::std::os::raw::c_int;
1047}
1048unsafe extern "C" {
1049 pub fn transcribe_batch_get_segment(
1050 session: *const transcribe_session,
1051 i: ::std::os::raw::c_int,
1052 j: ::std::os::raw::c_int,
1053 out: *mut transcribe_segment,
1054 ) -> transcribe_status;
1055}
1056unsafe extern "C" {
1057 pub fn transcribe_batch_get_word(
1058 session: *const transcribe_session,
1059 i: ::std::os::raw::c_int,
1060 j: ::std::os::raw::c_int,
1061 out: *mut transcribe_word,
1062 ) -> transcribe_status;
1063}
1064unsafe extern "C" {
1065 pub fn transcribe_batch_get_token(
1066 session: *const transcribe_session,
1067 i: ::std::os::raw::c_int,
1068 j: ::std::os::raw::c_int,
1069 out: *mut transcribe_token,
1070 ) -> transcribe_status;
1071}
1072unsafe extern "C" {
1073 pub fn transcribe_batch_n_speaker_segments(
1074 session: *const transcribe_session,
1075 i: ::std::os::raw::c_int,
1076 ) -> ::std::os::raw::c_int;
1077}
1078unsafe extern "C" {
1079 pub fn transcribe_batch_get_speaker_segment(
1080 session: *const transcribe_session,
1081 i: ::std::os::raw::c_int,
1082 j: ::std::os::raw::c_int,
1083 out: *mut transcribe_speaker_segment,
1084 ) -> transcribe_status;
1085}
1086unsafe extern "C" {
1087 pub fn transcribe_batch_get_timings(
1088 session: *const transcribe_session,
1089 i: ::std::os::raw::c_int,
1090 out: *mut transcribe_timings,
1091 ) -> transcribe_status;
1092}
1093#[repr(C)]
1094#[derive(Debug, Copy, Clone)]
1095pub struct transcribe_moonshine_streaming_stream_ext {
1096 pub ext: transcribe_ext,
1097 pub min_decode_interval_ms: i32,
1098}
1099#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1100const _: () = {
1101 ["Size of transcribe_moonshine_streaming_stream_ext"]
1102 [::std::mem::size_of::<transcribe_moonshine_streaming_stream_ext>() - 24usize];
1103 ["Alignment of transcribe_moonshine_streaming_stream_ext"]
1104 [::std::mem::align_of::<transcribe_moonshine_streaming_stream_ext>() - 8usize];
1105 ["Offset of field: transcribe_moonshine_streaming_stream_ext::ext"]
1106 [::std::mem::offset_of!(transcribe_moonshine_streaming_stream_ext, ext) - 0usize];
1107 ["Offset of field: transcribe_moonshine_streaming_stream_ext::min_decode_interval_ms"][::std::mem::offset_of!(
1108 transcribe_moonshine_streaming_stream_ext,
1109 min_decode_interval_ms
1110 )
1111 - 16usize];
1112};
1113unsafe extern "C" {
1114 pub fn transcribe_moonshine_streaming_stream_ext_init(
1115 ext: *mut transcribe_moonshine_streaming_stream_ext,
1116 );
1117}
1118#[repr(C)]
1119#[derive(Debug, Copy, Clone)]
1120pub struct transcribe_parakeet_stream_ext {
1121 pub ext: transcribe_ext,
1122 pub att_context_right: i32,
1123}
1124#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1125const _: () = {
1126 ["Size of transcribe_parakeet_stream_ext"]
1127 [::std::mem::size_of::<transcribe_parakeet_stream_ext>() - 24usize];
1128 ["Alignment of transcribe_parakeet_stream_ext"]
1129 [::std::mem::align_of::<transcribe_parakeet_stream_ext>() - 8usize];
1130 ["Offset of field: transcribe_parakeet_stream_ext::ext"]
1131 [::std::mem::offset_of!(transcribe_parakeet_stream_ext, ext) - 0usize];
1132 ["Offset of field: transcribe_parakeet_stream_ext::att_context_right"]
1133 [::std::mem::offset_of!(transcribe_parakeet_stream_ext, att_context_right) - 16usize];
1134};
1135unsafe extern "C" {
1136 pub fn transcribe_parakeet_stream_ext_init(ext: *mut transcribe_parakeet_stream_ext);
1137}
1138#[repr(C)]
1139#[derive(Debug, Copy, Clone)]
1140pub struct transcribe_parakeet_buffered_stream_ext {
1141 pub ext: transcribe_ext,
1142 pub left_ms: i32,
1143 pub chunk_ms: i32,
1144 pub right_ms: i32,
1145}
1146#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1147const _: () = {
1148 ["Size of transcribe_parakeet_buffered_stream_ext"]
1149 [::std::mem::size_of::<transcribe_parakeet_buffered_stream_ext>() - 32usize];
1150 ["Alignment of transcribe_parakeet_buffered_stream_ext"]
1151 [::std::mem::align_of::<transcribe_parakeet_buffered_stream_ext>() - 8usize];
1152 ["Offset of field: transcribe_parakeet_buffered_stream_ext::ext"]
1153 [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, ext) - 0usize];
1154 ["Offset of field: transcribe_parakeet_buffered_stream_ext::left_ms"]
1155 [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, left_ms) - 16usize];
1156 ["Offset of field: transcribe_parakeet_buffered_stream_ext::chunk_ms"]
1157 [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, chunk_ms) - 20usize];
1158 ["Offset of field: transcribe_parakeet_buffered_stream_ext::right_ms"]
1159 [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, right_ms) - 24usize];
1160};
1161unsafe extern "C" {
1162 pub fn transcribe_parakeet_buffered_stream_ext_init(
1163 ext: *mut transcribe_parakeet_buffered_stream_ext,
1164 );
1165}
1166impl transcribe_sortformer_preset {
1167 pub const TRANSCRIBE_SORTFORMER_PRESET_DEFAULT: transcribe_sortformer_preset =
1168 transcribe_sortformer_preset(0);
1169 pub const TRANSCRIBE_SORTFORMER_PRESET_VERY_HIGH_LATENCY: transcribe_sortformer_preset =
1170 transcribe_sortformer_preset(1);
1171 pub const TRANSCRIBE_SORTFORMER_PRESET_HIGH_LATENCY: transcribe_sortformer_preset =
1172 transcribe_sortformer_preset(2);
1173 pub const TRANSCRIBE_SORTFORMER_PRESET_LOW_LATENCY: transcribe_sortformer_preset =
1174 transcribe_sortformer_preset(3);
1175}
1176#[repr(transparent)]
1177#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1178pub struct transcribe_sortformer_preset(pub ::std::os::raw::c_uint);
1179#[repr(C)]
1180#[derive(Debug, Copy, Clone)]
1181pub struct transcribe_sortformer_stream_ext {
1182 pub ext: transcribe_ext,
1183 pub preset: transcribe_sortformer_preset,
1184}
1185#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1186const _: () = {
1187 ["Size of transcribe_sortformer_stream_ext"]
1188 [::std::mem::size_of::<transcribe_sortformer_stream_ext>() - 24usize];
1189 ["Alignment of transcribe_sortformer_stream_ext"]
1190 [::std::mem::align_of::<transcribe_sortformer_stream_ext>() - 8usize];
1191 ["Offset of field: transcribe_sortformer_stream_ext::ext"]
1192 [::std::mem::offset_of!(transcribe_sortformer_stream_ext, ext) - 0usize];
1193 ["Offset of field: transcribe_sortformer_stream_ext::preset"]
1194 [::std::mem::offset_of!(transcribe_sortformer_stream_ext, preset) - 16usize];
1195};
1196unsafe extern "C" {
1197 pub fn transcribe_sortformer_stream_ext_init(ext: *mut transcribe_sortformer_stream_ext);
1198}
1199#[repr(C)]
1200#[derive(Debug, Copy, Clone)]
1201pub struct transcribe_voxtral_realtime_stream_ext {
1202 pub ext: transcribe_ext,
1203 pub num_delay_tokens: i32,
1204 pub min_decode_interval_ms: i32,
1205}
1206#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1207const _: () = {
1208 ["Size of transcribe_voxtral_realtime_stream_ext"]
1209 [::std::mem::size_of::<transcribe_voxtral_realtime_stream_ext>() - 24usize];
1210 ["Alignment of transcribe_voxtral_realtime_stream_ext"]
1211 [::std::mem::align_of::<transcribe_voxtral_realtime_stream_ext>() - 8usize];
1212 ["Offset of field: transcribe_voxtral_realtime_stream_ext::ext"]
1213 [::std::mem::offset_of!(transcribe_voxtral_realtime_stream_ext, ext) - 0usize];
1214 ["Offset of field: transcribe_voxtral_realtime_stream_ext::num_delay_tokens"][::std::mem::offset_of!(
1215 transcribe_voxtral_realtime_stream_ext,
1216 num_delay_tokens
1217 ) - 16usize];
1218 ["Offset of field: transcribe_voxtral_realtime_stream_ext::min_decode_interval_ms"][::std::mem::offset_of!(
1219 transcribe_voxtral_realtime_stream_ext,
1220 min_decode_interval_ms
1221 )
1222 - 20usize];
1223};
1224unsafe extern "C" {
1225 pub fn transcribe_voxtral_realtime_stream_ext_init(
1226 ext: *mut transcribe_voxtral_realtime_stream_ext,
1227 );
1228}
1229impl transcribe_whisper_prompt_condition {
1230 pub const TRANSCRIBE_WHISPER_PROMPT_FIRST_SEGMENT: transcribe_whisper_prompt_condition =
1231 transcribe_whisper_prompt_condition(0);
1232 pub const TRANSCRIBE_WHISPER_PROMPT_ALL_SEGMENTS: transcribe_whisper_prompt_condition =
1233 transcribe_whisper_prompt_condition(1);
1234}
1235#[repr(transparent)]
1236#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1237pub struct transcribe_whisper_prompt_condition(pub ::std::os::raw::c_uint);
1238#[repr(C)]
1239#[derive(Debug, Copy, Clone)]
1240pub struct transcribe_whisper_run_ext {
1241 pub ext: transcribe_ext,
1242 pub initial_prompt: *const ::std::os::raw::c_char,
1243 pub prompt_tokens: *const i32,
1244 pub n_prompt_tokens: usize,
1245 pub prompt_condition: transcribe_whisper_prompt_condition,
1246 pub condition_on_prev_tokens: bool,
1247 pub max_prev_context_tokens: i32,
1248 pub temperature: f32,
1249 pub temperature_inc: f32,
1250 pub compression_ratio_thold: f32,
1251 pub logprob_thold: f32,
1252 pub no_speech_thold: f32,
1253 pub seed: u32,
1254 pub max_initial_timestamp: f32,
1255}
1256#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1257const _: () = {
1258 ["Size of transcribe_whisper_run_ext"]
1259 [::std::mem::size_of::<transcribe_whisper_run_ext>() - 80usize];
1260 ["Alignment of transcribe_whisper_run_ext"]
1261 [::std::mem::align_of::<transcribe_whisper_run_ext>() - 8usize];
1262 ["Offset of field: transcribe_whisper_run_ext::ext"]
1263 [::std::mem::offset_of!(transcribe_whisper_run_ext, ext) - 0usize];
1264 ["Offset of field: transcribe_whisper_run_ext::initial_prompt"]
1265 [::std::mem::offset_of!(transcribe_whisper_run_ext, initial_prompt) - 16usize];
1266 ["Offset of field: transcribe_whisper_run_ext::prompt_tokens"]
1267 [::std::mem::offset_of!(transcribe_whisper_run_ext, prompt_tokens) - 24usize];
1268 ["Offset of field: transcribe_whisper_run_ext::n_prompt_tokens"]
1269 [::std::mem::offset_of!(transcribe_whisper_run_ext, n_prompt_tokens) - 32usize];
1270 ["Offset of field: transcribe_whisper_run_ext::prompt_condition"]
1271 [::std::mem::offset_of!(transcribe_whisper_run_ext, prompt_condition) - 40usize];
1272 ["Offset of field: transcribe_whisper_run_ext::condition_on_prev_tokens"]
1273 [::std::mem::offset_of!(transcribe_whisper_run_ext, condition_on_prev_tokens) - 44usize];
1274 ["Offset of field: transcribe_whisper_run_ext::max_prev_context_tokens"]
1275 [::std::mem::offset_of!(transcribe_whisper_run_ext, max_prev_context_tokens) - 48usize];
1276 ["Offset of field: transcribe_whisper_run_ext::temperature"]
1277 [::std::mem::offset_of!(transcribe_whisper_run_ext, temperature) - 52usize];
1278 ["Offset of field: transcribe_whisper_run_ext::temperature_inc"]
1279 [::std::mem::offset_of!(transcribe_whisper_run_ext, temperature_inc) - 56usize];
1280 ["Offset of field: transcribe_whisper_run_ext::compression_ratio_thold"]
1281 [::std::mem::offset_of!(transcribe_whisper_run_ext, compression_ratio_thold) - 60usize];
1282 ["Offset of field: transcribe_whisper_run_ext::logprob_thold"]
1283 [::std::mem::offset_of!(transcribe_whisper_run_ext, logprob_thold) - 64usize];
1284 ["Offset of field: transcribe_whisper_run_ext::no_speech_thold"]
1285 [::std::mem::offset_of!(transcribe_whisper_run_ext, no_speech_thold) - 68usize];
1286 ["Offset of field: transcribe_whisper_run_ext::seed"]
1287 [::std::mem::offset_of!(transcribe_whisper_run_ext, seed) - 72usize];
1288 ["Offset of field: transcribe_whisper_run_ext::max_initial_timestamp"]
1289 [::std::mem::offset_of!(transcribe_whisper_run_ext, max_initial_timestamp) - 76usize];
1290};
1291unsafe extern "C" {
1292 pub fn transcribe_whisper_run_ext_init(ext: *mut transcribe_whisper_run_ext);
1293}
1294#[repr(C)]
1295#[derive(Debug, Copy, Clone)]
1296pub struct transcribe_whisper_chunk_trace {
1297 pub struct_size: u64,
1298 pub t0_ms: i64,
1299 pub t1_ms: i64,
1300 pub temperature_used: f32,
1301 pub compression_ratio: f32,
1302 pub avg_logprob: f32,
1303 pub no_speech_prob: f32,
1304 pub no_speech_triggered: bool,
1305 pub n_fallbacks: i32,
1306}
1307#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1308const _: () = {
1309 ["Size of transcribe_whisper_chunk_trace"]
1310 [::std::mem::size_of::<transcribe_whisper_chunk_trace>() - 48usize];
1311 ["Alignment of transcribe_whisper_chunk_trace"]
1312 [::std::mem::align_of::<transcribe_whisper_chunk_trace>() - 8usize];
1313 ["Offset of field: transcribe_whisper_chunk_trace::struct_size"]
1314 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, struct_size) - 0usize];
1315 ["Offset of field: transcribe_whisper_chunk_trace::t0_ms"]
1316 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, t0_ms) - 8usize];
1317 ["Offset of field: transcribe_whisper_chunk_trace::t1_ms"]
1318 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, t1_ms) - 16usize];
1319 ["Offset of field: transcribe_whisper_chunk_trace::temperature_used"]
1320 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, temperature_used) - 24usize];
1321 ["Offset of field: transcribe_whisper_chunk_trace::compression_ratio"]
1322 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, compression_ratio) - 28usize];
1323 ["Offset of field: transcribe_whisper_chunk_trace::avg_logprob"]
1324 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, avg_logprob) - 32usize];
1325 ["Offset of field: transcribe_whisper_chunk_trace::no_speech_prob"]
1326 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, no_speech_prob) - 36usize];
1327 ["Offset of field: transcribe_whisper_chunk_trace::no_speech_triggered"]
1328 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, no_speech_triggered) - 40usize];
1329 ["Offset of field: transcribe_whisper_chunk_trace::n_fallbacks"]
1330 [::std::mem::offset_of!(transcribe_whisper_chunk_trace, n_fallbacks) - 44usize];
1331};
1332unsafe extern "C" {
1333 pub fn transcribe_whisper_chunk_trace_init(out: *mut transcribe_whisper_chunk_trace);
1334}
1335unsafe extern "C" {
1336 pub fn transcribe_get_whisper_chunk_count(
1337 session: *const transcribe_session,
1338 ) -> ::std::os::raw::c_int;
1339}
1340unsafe extern "C" {
1341 pub fn transcribe_get_whisper_chunk_trace(
1342 session: *const transcribe_session,
1343 i: ::std::os::raw::c_int,
1344 out_trace: *mut transcribe_whisper_chunk_trace,
1345 ) -> transcribe_status;
1346}