オープン&ローカルAI

Whistle、エッジデバイス向けに16.9 MBのオンデバイス音声認識を提供

Cactus ComputeがWhistleをリリース。CPU上で依存関係なしで動作する小型のオープンウェイト音声モデルで、Needleエンジンと統合され、直接ツール呼び出しが可能。

A small microchip representing Whistle next to a large stone representing Whisper, illustrating size difference.
この記事用に生成されたイラスト

英語の原文から自動翻訳されました。

Cactus Computeは、リソース制限のある環境専用に設計された新しいオープンウェイト音声認識モデル「Whistle」をリリースしました。2026年10月2日に公開されたこの16.9 MBのモデルは、外部依存関係なく完全にCPU上で動作し、モバイル、ウェアラブル、ロボット、マイクロコントローラーを対象としています。基盤となるC++エンジンをNeedleと共有しており、開発者は単一のバイナリからテキスト機能と音声機能の両方をロードできます。

何が起きたか

Whistleは、超軽量かつオンデバイスでのオーディオ処理への大きな転換を示しています。クラウド接続や大量のローカルストレージを必要とする大規模モデルとは異なり、Whistleはメモリに直接読み込まれる単一ファイルとして動作します。このモデルは、英語、ドイツ語、フランス語、スペイン語、イタリア語、オランダ語、ポーランド語の7言語で最大30秒間の音声の文字起こしに対応しています。開発者が特定の言語を指定しない限り、言語検出は自動的に行われます。

今回のリリースでは、プライバシーと効率性が強調されています。処理中、オーディオデータがデバイス外に出ることはありません。単純な文字起こしに加え、Whistleはデコーダーの注意機構から導き出された開始時刻、終了時刻、確率指標を含む単語レベルのタイムスタンプを提供します。また、完全な文字起こしを生成せずにエンコーダーから80 msフレームごとに1行を出力する音声埋め込み機能も備えています。この柔軟性により、エンジニアはコマンド認識からセマンティックオーディオ分析まで、さまざまなタスクでモデルを利用できます。

既存のNeedleエコシステムとの統合は主要な特徴です。同じneedle_load関数でWhistleモデル、Needleテキストモデル、またはその両方を同時に読み込むことができます。この統一されたアプローチにより、単一のアプリケーションバイナリが音声入力を受け付け、テキストに変換し、ホストアプリケーションによる中間処理を経ずに即座に対応するツール呼び出しを実行できます。

仕組み

アーキテクチャは、コード重複とメモリフットプリントを最小限にするため、Needleモデルとコンポーネントを共有しています。フロントエンドは16 kHzモノラルオーディオを25 msウィンドウと10 msホップで処理し、250-3500 Hzに帯域制限された80個のログメルビンを作成します。畳み込みステムによりフレーム数が大幅に削減され、30秒間のクリップに対して375フレームとなり、各フレームは80 msのオーディオを表します。

エンコーダーは、mHC残差レーンと伝統的なフィードフォワードネットワークの代わりにMonarch Hadamard MLPを使用する8つのSimple Attentionブロックで構成されています。重要なのは、注意機構が因果的(causal)ではないことで、これによりフレームはクリップ内の将来のコンテキストに注目できます。デコーダーは、エンコーダーから読み取るためのゲート付きクロスアテンションを持つ8つのLaddered Simple Attentionブロックを使用します。この設計により、射影(projections)はクリップごとに一度だけ実行されるため、ビームサーチ操作は音声を再処理するのではなく、短い文字起こしのみをキャッシュします。

デコーディングには、長さ正規化対数確率によってスコアリングされる5本のビームが使用されます。Aho-Corasickオートマトンがビームと並行して実行され、キーワードバイアスをサポートすることで、検索中に特定のフレーズの可能性を高めます。モデルには、デコーディング開始前にラウドネス範囲を測定する静音検出メカニズムが含まれており、静かな入力に対しては計算を節約するために空の結果を返します。デコーダーの深さは--audio-depthを通じてロード時に選択可能で、エンコーダーを固定したまま精度と速度のトレードオフをさらに調整できます。

主要な詳細

  • モデルサイズ: 16.9 MB。Whisper base(145.3 MB)やMoonshine tiny v2(41.9 MB)よりも大幅に小さい。
  • パフォーマンス: Apple M4 Pro CPU上で、最初のトークンまでの時間(time-to-first-token)11.1 ms、毎秒1,319トークンの処理速度を達成。
  • 言語: 英語、ドイツ語、フランス語、スペイン語、イタリア語、オランダ語、ポーランド語に対応し、自動検出が可能。
  • 出力: 文字起こし、確率付きの単語レベルタイムスタンプ、音声埋め込みを提供。
  • 展開: macOS、Linux、Android、iOS、RISC-V、WASMなど17のターゲット向けのプリビルドバイナリが利用可能。
  • 統合: Needleと同じ.cactコンテナフォーマットを使用し、1つのエンジン内で音声とテキストを組み合わせたワークフローを可能にする。

なぜ重要なのか

組み込みシステムやモバイルアプリケーションを開発するエンジニアにとって、Whistleは複雑なクラウドAPIや重いローカルライブラリの必要性を排除します。インターネット接続なしでマイクロコントローラーやウェアラブルデバイス上で音声認識を実行できる能力は、プライバシー重視およびオフラインファーストのプロダクトに新たな可能性を開きます。小さなフットプリントにより、過度なメモリやバッテリー消費を抑えつつ、他のアプリケーションロジックと共存できます。

Needleとの統合は、音声制御エージェントの開発を簡素化します。音声からテキストへの変換と意図認識のための別々のパイプラインを構築する代わりに、開発者は単一のエンジンを使用してオーディオを文字起こしし、関数呼び出しを直接トリガーできます。これにより、アプリケーションが中間テキスト文字列を解析する必要がなくなるため、レイテンシとエンジニアリングオーバーヘッドが削減されます。統一されたバイナリアプローチは、多様なハードウェアプラットフォーム間での展開と更新も簡素化します。

できること

  • pip install cactus-needleを使用してパッケージをインストールし、Python APIでの実験を開始してください。
  • needle whistle playgroundコマンドを使って、ターミナルでリアルタイム文字起こしをテストしてください。
  • needle whistle compareを使用して他のモデルと比較し、レイテンシと精度の違いを横並びで確認してください。
  • 名前や専門用語などの認識を改善するために、特定の用語リストを渡してキーワードバイアスを実装してください。
  • プリビルドバイナリをターゲットプラットフォームに展開してください。

Bytechapストアのツール

$89

DocBento

すべてのスキャンを読み取り、ページ出典を提示して回答するセルフホスト型ドキュメント管理システム。

ライブデモ

続きを読む

すべての記事