Transcript
00:00:00これはHandyです。オープンソースの音声認識・文字入力アプリで
00:00:06クラウドやサブスク、アカウント不要で完全にオフライン動作し
00:00:12お好みの音声入力モデルを選択できます。正直、今では一番のお気に入り
00:00:18音声入力ツールになりました。そこで今回はHandyの仕組みを見て
00:00:24テストを実施し、Whisperflowのような強力な商用ツールと
00:00:29性能を比較してみましょう。かなり面白い検証になると思うので、さっそく始めましょう。これまで私は
00:00:39音声入力アプリに少し懐疑的で、使いたいと思えるものに出会えませんでした。
00:00:45有料の商用製品を使いたくなかったし、ローカルモデルを使う
00:00:51オープンソースツールはCPUを過剰に消費するのではと懸念していました。ですがHandyはその両方の懸念を
00:00:58見事に払拭してくれました。まずはHandyの構造と仕組みについて解説します。
00:01:04開発者のCJ Pace氏がTauriで構築しており、バックエンドにはRust、設定UIには
00:01:12ReactとTypeScriptを採用しています。Transcribe CPPでGGM・GGUF形式のWhisper系モデルを実行し
00:01:20Transcribe RSでParakeetを駆動させています。音声入力にはクロスプラットフォーム対応のCPALライブラリを使用。
00:01:28RDEVがグローバルショートカットを担当し、Rubatoというライブラリがリアルタイム音声ストリーミングと
00:01:33リサンプリング処理を行っています。この組み合わせのおかげで、MacBookでも非常に軽快かつスムーズに動作します。
00:01:40ユーザー側の使い方は至ってシンプルです。カスタムショートカットキーを設定し
00:01:46トグルで切り替えるか、長押しでプッシュ・トゥ・トークを行います。キーを押している間は
00:01:52Silero VADというユーティリティがバックグラウンドで無音部分を静かにカットしてくれるため
00:01:58完全な無音領域の文字起こしに無駄な計算リソースを消費しません。そしてキーを離すと
00:02:04選択したモデルへ音声を送信し、文字起こしされたテキストが現在フォーカス中の入力欄に直接挿入されます。
00:02:11公平に言えば、この仕組み自体はHandy独自のものではなく、他の多くの音声入力アプリも同様の動作をします。
00:02:17しかし一番気に入っているのは、好みのモデルを自由に選べる点です。モデル一覧には
00:02:22速度と精度のメーターが表示されています。まるでマリオカートで
00:02:28キャラクターを選ぶように、自分にとって優先すべき指標を決められます。私の場合
00:02:346億パラメータのParakeet Unifiedモデルが非常に快適だと感じました。ParakeetはCPU専用の
00:02:42モデルであり、公式のデータによればミドルレンジのi5チップで
00:02:48実時間の約5倍の速度で動作します。私のM2 Maxはそれを遥かに超えるスペックなので
00:02:54バックグラウンドで動かしていても全く負荷を感じません。選択肢は他にもたくさんあり
00:02:59特定の1言語に特化したモデルもあります。例えばロシア語やウクライナ語専用のものなどです。そして
00:03:05Handyの開発理念の誠実さも素晴らしい点です。Handyは最高の音声認識アプリを目指しているのではなく
00:03:11「最もフォークしやすいアプリ」を目指しています。自分でファインチューニングしたWhisperの
00:03:17GGMLモデルをアプリのモデルフォルダに入れて再起動するだけで、カスタム選択肢として表示されます。
00:03:23私がWhisperflowのようなアプリよりもHandyを選ぶ最大の理由は
00:03:28Handyがオフラインで動作し、アカウント作成もサブスク契約も一切不要だからです。
00:03:34自分の音声データが端末内に留まり、裏で他の音声モデルのトレーニングに
00:03:40勝手に使われることがないと確信できます。このようにMITライセンスで提供される
00:03:46音声入力ツールが登場したことは本当に嬉しいですね。前置きはこれくらいにして、実際にHandyの性能を
00:03:52テストしてみましょう。Handyの性能をWhisperflowや
00:03:58Googleドキュメントで利用できるGoogle独自の文字起こしサービスと比較します。
00:04:05こちらのGoogleドキュメントのページでGoogleの音声入力モードを有効にしつつ
00:04:11同時にHandyの文字起こしショートカットを長押しします。そして適当な話を長々と喋ってみて
00:04:18最後にそれぞれのサービスがどのような結果を出すか比較してみましょう。
00:04:26「昨日買い出しに行って帰る途中、自作GPUクラスタで動いている」
00:04:34「COBOLサービスにSQLiteデータベースを接続しなければならないことを突然思い出しました。」
00:04:43「やり方が分からなかったので助けを求める必要がありました。頼れそうな唯一のツールは」
00:04:55「GrokというLLMでした。それからChatGPTにも少し手伝ってもらいました。最終的には」
00:05:04「動くアプリが完成しましたが、本当に大変な作業でした。」この2つの結果を分けてみましょう。
00:05:12ご覧の通り、Googleの音声入力サービスはかなり劣っています。句読点がつかず
00:05:20文の区切りも認識できていません。「COBOL」も「SQLite」も
00:05:27正しく聞き取れず、「LLM」という単語さえ間違えています。「Grok」を「rock」と誤認識し、極めつけは
00:05:35これです。「ChatGPT」を「Chad GPT」と認識しました。「Chad GPT」、最高ですね。というわけで
00:05:45Handyの方が明らかに優れていることが分かります。句読点もしっかり入り、専門用語も
00:05:52技術用語の大部分を正確に認識できています。では次に、この結果を
00:05:58Whisperflowとも比較してみましょう。テストを公平にするため、できる限り同じ文章を繰り返してみます。
00:06:08「昨日買い出しに行って帰る途中、家に帰って自作GPUクラスタで動いている」
00:06:16「COBOLサービスにSQLiteデータベースを接続しなければならないことを突然思い出しました。」
00:06:26「実際どうやればいいか分からなかったので助けを求めました。頼れそうな唯一のツールは」
00:06:33「GrokというLLMでした。そしてChatGPTにも少し助けてもらいました。」
00:06:41「最終的には動くアプリケーションができましたが、本当に一苦労でした。」
00:06:48はい、Whisperflowが最も優れた結果を出したのが一目瞭然ですね。文を適切に分割し
00:06:55すべての用語を正確に認識しました。商用アプリなのでオープンソースツールより
00:07:03優秀なのは当然期待されるところですが、正直なところHandyと
00:07:09Whisperflowの差はそれほど大きくありません。完全無料かつ
00:07:17プライバシーが守られるオープンソースである点から、私はやはりHandyを使いたいです。ただWhisperflowも非常に見事な成果を出しており、素晴らしいサービスであることは間違いありません。
00:07:25いかがでしたでしょうか。これがHandyの概要です。これが本当にお気に入りの
00:07:30文字入力ツールになったと言ったのは冗談ではありません。使いすぎるとキーボードの
00:07:36打ち方を忘れてしまうのではないかと本気で心配になるほどです。以上が私の感想と見解ですが
00:07:42皆さんはHandyについてどう思いますか?試したことはありますか?使ってみたいですか?ぜひ下のコメント欄で
00:07:47教えてください。このような技術解説動画が気に入っていただけましたら、動画の下にある
00:07:52高評価ボタンを押して教えてください。チャンネル登録もお忘れなく。
00:07:57BetterStackのAndresがお送りしました。それではまた次の動画でお会いしましょう!