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