whisper.cppのRubyバインディングが存在していた

ゲームをやっている様子を録音したオーディオファイルを書き起こししようと思って、whisper.cppのCLIをRubyから実行するやつを書こうとしたら、Rubyバインディングが存在することに気付いた: whispercpp。RubyGems.orgの「ホームページ」のリンクを辿ると(Rubyバインディングではなく)本家whisper.cppのGitHubリポジトリーに飛ぶので、思い付きでやっただけでまともに管理されていいないgemなのかなと最初は思ったけど、よく見ると本家リポジトリーの中にRubyバインディング用のディレクトリーがあった:bindings/ruby

へえ、公式が出しているんだ、と思ってインストールしてみると、ビルドに失敗してインストールできない。調べつつ、インストール可能なように変更したプルリクエストを作ることにした: #2484。マージされるといいのだけど。

これがマージされてもまだ実用には遠いなとは思っていて、APIがRubyっぽくない、と言うかできることがまだ限定されているのと、(少なくともAppleシリコンでは)GPUが使えないので結構CPUをがっつり持っていかれる。現時点では、C++の方をビルドしてコマンドを使う方が圧倒的にいい。とは言え育てていきたいものだね。

GitHub DiscussionsにRubyの話をする所もあって、そこを眺めていると、whispercpp gemとは別にwhisper.cppというgemを作っている人もいた。whispercppの方はCでRubyの拡張ライブラリーを書いているけど、whisper.cppの方はFFIを使っている。ただ、CUDA前提のためなのか、僕のMacBook Proではインストールできなかった。