]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commit
ruby : add `VAD::Context#segments_from_samples`, allow Pathname, etc. (#3633)
authorKITAITI Makoto <redacted>
Fri, 30 Jan 2026 13:59:36 +0000 (22:59 +0900)
committerGitHub <redacted>
Fri, 30 Jan 2026 13:59:36 +0000 (22:59 +0900)
commitaa1bc0d1a6dfd70dbb9f60c11df12441e03a9075
treeb07d4e7080a5fdebf34e4cd8596c8e8f65916221
parentbf422cb7042b0163910f3766a528da03987c3bc3
ruby : add `VAD::Context#segments_from_samples`, allow Pathname, etc. (#3633)

* ruby : Bump version to 1.3.6

* Fix code in example

* Add sample code to transcribe from MemoryView

* Define GetVADContext macro

* Use GetVADContext

* Extract parse_full_args function

* Use parse_full_args in ruby_whisper_full_parallel

* Free samples after use

* Check return value of parse_full_args()

* Define GetVADParams macro

* Add VAD::Context#segments_from_samples

* Add tests for VAD::Context#segments_from_samples

* Add signature for VAD::Context#segments_from_samples

* Add sample code for VAD::Context#segments_from_samples

* Add test for Whisper::Context#transcribe with Pathname

* Make Whisper::Context#transcribe and Whisper::VAD::Context#detect accept Pathname

* Update signature of Whisper::Context#transcribe

* Fix variable name

* Don't free memory view

* Make parse_full_args return struct

* Fallback when failed to get MemoryView

* Add num of samples when too long

* Check members of MemoryView

* Fix a typo

* Remove unnecessary include

* Fix a typo

* Fix a typo

* Care the case of MemoryView doesn't fit spec

* Add TODO comment

* Add optimazation option to compiler flags

* Use ALLOC_N instead of malloc

* Add description to sample code

* Rename and change args: parse_full_args -> parse_samples

* Free samples when exception raised

* Assign type check result to a variable

* Define wrapper function of whisper_full

* Change signature of parse_samples for rb_ensure

* Ensure release MemoryView

* Extract fill_samples function

* Free samples memory when filling it failed

* Free samples memory when transcription failed

* Prepare transcription in wrapper funciton

* Change function name

* Simplify function boundary
19 files changed:
bindings/ruby/README.md
bindings/ruby/ext/extconf.rb
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_token.c
bindings/ruby/ext/ruby_whisper_transcribe.cpp
bindings/ruby/ext/ruby_whisper_vad_context.c
bindings/ruby/ext/ruby_whisper_vad_context_detect.cpp
bindings/ruby/ext/ruby_whisper_vad_params.c
bindings/ruby/ext/ruby_whisper_vad_segment.c
bindings/ruby/ext/ruby_whisper_vad_segments.c
bindings/ruby/sig/whisper.rbs
bindings/ruby/test/test_vad_context.rb
bindings/ruby/test/test_whisper.rb
bindings/ruby/whispercpp.gemspec