]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commit
ruby : add VAD support, migration to Ruby's newer API (#3197)
authorKITAITI Makoto <redacted>
Wed, 28 May 2025 11:05:12 +0000 (20:05 +0900)
committerGitHub <redacted>
Wed, 28 May 2025 11:05:12 +0000 (20:05 +0900)
commit1f5fdbecb411a61b8576242e5170c5ecef24b05a
tree4fde879120344c316e4ec4e1f4660c0ed7bc64c1
parent5720426d97eb86e76a3fe34c97054b44ed13a71f
ruby : add VAD support, migration to Ruby's newer API (#3197)

* Add VAD models

* Extract function to normalize model path from ruby_whisper_initialize()

* Define ruby_whisper_vad_params struct

* Add VAD-related features to Whisper::Params

* Add tests for VAD-related features

* Define Whisper::VADParams

* Add Whisper::VAD::Params attributes

* Add test suite for VAD::Params

* Make older test to follow namespace change

* Add test for transcription with VAD

* Add assertion for test_vad_params

* Add signatures for VAD-related methods

* Define VAD::Params#==

* Add test for VAD::Params#==

* Fix Params#vad_params

* Add test for Params#vad_params

* Fix signature of Params#vad_params

* Use macro to define VAD::Params params

* Define VAD::Params#initialize

* Add tests for VAD::Params#initialize

* Add signature for VAD::Params.new

* Add documentation on VAD in README

* Wrap register_callbask in prepare_transcription for clear meanings

* Set whisper_params.vad_params just before transcription

* Don't touch NULL

* Define ruby_whisper_params_type

* Use TypedData_XXX for ruby_whisper_params instead of Data_XXX

* Remove unused functions

* Define rb_whisper_model_data_type

* Use TypedData_XXX for ruby_whisper_model instead of Data_XXX

* Define ruby_whisper_segment_type

* Use TypedData_XXX for ruby_whisper_segment instead of Data_XXX

* Define ruby_whisper_type

* Use TypedData_XXX for ruby_whisper instead of Data_XXX

* Qualify with const
14 files changed:
bindings/ruby/README.md
bindings/ruby/ext/ruby_whisper.c
bindings/ruby/ext/ruby_whisper.h
bindings/ruby/ext/ruby_whisper_context.c
bindings/ruby/ext/ruby_whisper_model.c
bindings/ruby/ext/ruby_whisper_params.c
bindings/ruby/ext/ruby_whisper_segment.c
bindings/ruby/ext/ruby_whisper_transcribe.cpp
bindings/ruby/ext/ruby_whisper_vad_params.c [new file with mode: 0644]
bindings/ruby/lib/whisper/model/uri.rb
bindings/ruby/sig/whisper.rbs
bindings/ruby/tests/test_params.rb
bindings/ruby/tests/test_vad.rb [new file with mode: 0644]
bindings/ruby/tests/test_vad_params.rb [new file with mode: 0644]