@@ -389,6 +389,126 @@ static VALUE ruby_whisper_transcribe(int argc, VALUE *argv, VALUE self) {
389389 return self;
390390}
391391
392+ /*
393+ * call-seq:
394+ * model_n_vocab -> Integer
395+ */
396+ VALUE ruby_whisper_model_n_vocab (VALUE self) {
397+ ruby_whisper *rw;
398+ Data_Get_Struct (self, ruby_whisper, rw);
399+ return INT2NUM (whisper_model_n_vocab (rw->context ));
400+ }
401+
402+ /*
403+ * call-seq:
404+ * model_n_audio_ctx -> Integer
405+ */
406+ VALUE ruby_whisper_model_n_audio_ctx (VALUE self) {
407+ ruby_whisper *rw;
408+ Data_Get_Struct (self, ruby_whisper, rw);
409+ return INT2NUM (whisper_model_n_audio_ctx (rw->context ));
410+ }
411+
412+ /*
413+ * call-seq:
414+ * model_n_audio_state -> Integer
415+ */
416+ VALUE ruby_whisper_model_n_audio_state (VALUE self) {
417+ ruby_whisper *rw;
418+ Data_Get_Struct (self, ruby_whisper, rw);
419+ return INT2NUM (whisper_model_n_audio_state (rw->context ));
420+ }
421+
422+ /*
423+ * call-seq:
424+ * model_n_audio_head -> Integer
425+ */
426+ VALUE ruby_whisper_model_n_audio_head (VALUE self) {
427+ ruby_whisper *rw;
428+ Data_Get_Struct (self, ruby_whisper, rw);
429+ return INT2NUM (whisper_model_n_audio_head (rw->context ));
430+ }
431+
432+ /*
433+ * call-seq:
434+ * model_n_audio_layer -> Integer
435+ */
436+ VALUE ruby_whisper_model_n_audio_layer (VALUE self) {
437+ ruby_whisper *rw;
438+ Data_Get_Struct (self, ruby_whisper, rw);
439+ return INT2NUM (whisper_model_n_audio_layer (rw->context ));
440+ }
441+
442+ /*
443+ * call-seq:
444+ * model_n_text_ctx -> Integer
445+ */
446+ VALUE ruby_whisper_model_n_text_ctx (VALUE self) {
447+ ruby_whisper *rw;
448+ Data_Get_Struct (self, ruby_whisper, rw);
449+ return INT2NUM (whisper_model_n_text_ctx (rw->context ));
450+ }
451+
452+ /*
453+ * call-seq:
454+ * model_n_text_state -> Integer
455+ */
456+ VALUE ruby_whisper_model_n_text_state (VALUE self) {
457+ ruby_whisper *rw;
458+ Data_Get_Struct (self, ruby_whisper, rw);
459+ return INT2NUM (whisper_model_n_text_state (rw->context ));
460+ }
461+
462+ /*
463+ * call-seq:
464+ * model_n_text_head -> Integer
465+ */
466+ VALUE ruby_whisper_model_n_text_head (VALUE self) {
467+ ruby_whisper *rw;
468+ Data_Get_Struct (self, ruby_whisper, rw);
469+ return INT2NUM (whisper_model_n_text_head (rw->context ));
470+ }
471+
472+ /*
473+ * call-seq:
474+ * model_n_text_layer -> Integer
475+ */
476+ VALUE ruby_whisper_model_n_text_layer (VALUE self) {
477+ ruby_whisper *rw;
478+ Data_Get_Struct (self, ruby_whisper, rw);
479+ return INT2NUM (whisper_model_n_text_layer (rw->context ));
480+ }
481+
482+ /*
483+ * call-seq:
484+ * model_n_mels -> Integer
485+ */
486+ VALUE ruby_whisper_model_n_mels (VALUE self) {
487+ ruby_whisper *rw;
488+ Data_Get_Struct (self, ruby_whisper, rw);
489+ return INT2NUM (whisper_model_n_mels (rw->context ));
490+ }
491+
492+ /*
493+ * call-seq:
494+ * model_ftype -> Integer
495+ */
496+ VALUE ruby_whisper_model_ftype (VALUE self) {
497+ ruby_whisper *rw;
498+ Data_Get_Struct (self, ruby_whisper, rw);
499+ return INT2NUM (whisper_model_ftype (rw->context ));
500+ }
501+
502+ /*
503+ * call-seq:
504+ * model_type -> String
505+ */
506+ VALUE ruby_whisper_model_type (VALUE self) {
507+ ruby_whisper *rw;
508+ Data_Get_Struct (self, ruby_whisper, rw);
509+ return rb_str_new2 (whisper_model_type_readable (rw->context ));
510+ }
511+
392512/*
393513 * Number of segments.
394514 *
@@ -1207,6 +1327,18 @@ void Init_whisper() {
12071327 rb_define_method (cContext, " initialize" , ruby_whisper_initialize, -1 );
12081328
12091329 rb_define_method (cContext, " transcribe" , ruby_whisper_transcribe, -1 );
1330+ rb_define_method (cContext, " model_n_vocab" , ruby_whisper_model_n_vocab, 0 );
1331+ rb_define_method (cContext, " model_n_audio_ctx" , ruby_whisper_model_n_audio_ctx, 0 );
1332+ rb_define_method (cContext, " model_n_audio_state" , ruby_whisper_model_n_audio_state, 0 );
1333+ rb_define_method (cContext, " model_n_audio_head" , ruby_whisper_model_n_audio_head, 0 );
1334+ rb_define_method (cContext, " model_n_audio_layer" , ruby_whisper_model_n_audio_layer, 0 );
1335+ rb_define_method (cContext, " model_n_text_ctx" , ruby_whisper_model_n_text_ctx, 0 );
1336+ rb_define_method (cContext, " model_n_text_state" , ruby_whisper_model_n_text_state, 0 );
1337+ rb_define_method (cContext, " model_n_text_head" , ruby_whisper_model_n_text_head, 0 );
1338+ rb_define_method (cContext, " model_n_text_layer" , ruby_whisper_model_n_text_layer, 0 );
1339+ rb_define_method (cContext, " model_n_mels" , ruby_whisper_model_n_mels, 0 );
1340+ rb_define_method (cContext, " model_ftype" , ruby_whisper_model_ftype, 0 );
1341+ rb_define_method (cContext, " model_type" , ruby_whisper_model_type, 0 );
12101342 rb_define_method (cContext, " full_n_segments" , ruby_whisper_full_n_segments, 0 );
12111343 rb_define_method (cContext, " full_lang_id" , ruby_whisper_full_lang_id, 0 );
12121344 rb_define_method (cContext, " full_get_segment_t0" , ruby_whisper_full_get_segment_t0, 1 );
0 commit comments