Whistleは日本語の文字起こしには対応していません。 一方、海外の取引先との英語会議や、英語の製品デモから短い発言を抜き出して確認する用途なら、試す理由があります。今回、架空の予定を読み上げる7秒の人工音声をMacで処理すると、会議日時と提出期限は残り、前置詞には誤認識がありました。
はCactusが2026年10月2日に発表した、16.9MBのモデルで動くの仕組みです。本記事では2026年10月3日時点の公式仕様と、編集部が行った1回の小さな試用を分けて紹介します。実際の会議録音や雑音の多い音声、日本語は試していません。公式発表
英語の短い発言を、手元で確認する道具
Whistleはで動き、英語・ドイツ語・フランス語・スペイン語・イタリア語・オランダ語・ポーランド語の7言語を扱います。モデルが受け取る音声は16kHz・モノラルで、1回の処理は最大30秒です。単語ごとの開始時刻・終了時刻・確率も取得できます。日本語への翻訳や、会議の決定事項の要約を、この文字起こしだけで済ませる仕組みではありません。公式仕様と入出力
例えば、海外デモの「次の更新はいつか」という発言を短く切り出し、日付だけ聞き直す。英語会議の最後に出てきた提出期限を、録音と照合する。長い会議の完成した議事録を任せる前に、こうした確認作業に使うと、必要な品質を判断しやすくなります。
| 確認したい仕事 | 使い方 | 人が残す確認 |
|---|---|---|
| 海外デモの日時を控える | 対象の短い発言を文字にする | 日付、時刻、タイムゾーン |
| 英語の依頼を引き継ぐ | 提出物と締切を抜き出す | 担当者名、否定、条件 |
| 英語動画に字幕を付ける | 単語時刻を編集の手掛かりにする | 認識内容と字幕の区切り |
| 日本語会議を記録する | 今回の対象外 | 日本語対応の別製品を選ぶ |
重みと公開コードのライセンスはです。今回の実行に有料のやアカウントは使いませんでした。ただし、端末の計算資源、音声の準備、認識結果の確認には手間がかかります。「無料で取得できる」と「業務上の費用がかからない」は分けて考えます。モデル配布・コードのライセンス
7秒の人工音声で、残った情報と誤りを見る
編集部では、macOSに入っていたSamanthaの音声で、次の架空の英文を読み上げました。実在する顧客や会議の録音ではありません。英文と確認項目、音声ファイルを先に固定し、英語指定・キーワード補助なしで1回だけ処理しました。
読み上げた原文: The client meeting is on October sixth at ten a.m. Please send the draft by five p.m. on October fifth.
実際の出力: The client meeting is on October 6, the 10 a.m., please send the draft by 5 p.m. on October 5.
「会議は10月6日10時」「原稿は10月5日17時まで」という情報は残りました。一方、原文の at ten a.m. は the 10 a.m. に変わっています。日付の数字化や句読点の変更とは別に、単語の取り違えが起きたと読めます。日時を拾えたことと、英文が完全に正しいことは同じではありません。
| 項目 | 今回の条件・観測 |
|---|---|
| 実行日時 | 2026年10月3日 07:08 JST |
| 端末 | Apple M2 Ultra、メモリ192GiB、macOS 27.0 |
| 音声 | Samanthaによる人工英語、約7.03秒、16kHz・モノラル |
| 実行条件 | CPU 4スレッド、英語指定、キーワード補助なし、1回 |
| 結果 | 文字列・英語の識別結果・20単語の時刻と確率を取得 |
| 今回調べていないこと | 複数話者、雑音、固有名詞、長時間録音、字幕時刻の正確さ |
これは、聞き取りやすい人工音声を使った動作確認です。一般的な認識率、実際の会議での品質、他製品より速いという結論には使えません。単語時刻が返ったことは確認しましたが、その時刻が字幕に十分正確かは別の検査が必要です。入力音声と未修正の結果を再現用教材に収録しています。
同じ音声を試すための準備とコマンド
公式のPythonパッケージはで、音声の取得・処理を呼び出せます。Whistleの利用方法を記載した3.1.0は、日本時間10月3日02:07にPyPIへ配布されています。これはパッケージの配布日時で、モデルの初公開時刻とは区別します。3.1.0の配布情報
今回は環境全体へのインストールを避け、公式配布のMac向け実行ファイルとWhistleの重みを一時フォルダに置きました。Pythonパッケージ3.1.0自体をインストールした試験ではありません。教材にもモデル本体は含めず、使った版の取得先と照合値を記録しています。公式導入手順
教材を展開したフォルダで、READMEにある固定版の2ファイルを取得してください。取得後、次のコマンドで内容が編集部の使ったものと同じか確認できます。対象はApple Silicon搭載Macです。他のOSやCPU向け配布物へ、この実行ファイルを流用しないでください。
shasum -a 256 -c downloads.sha256chmod u+x needle照合が2件とも OK になったら、教材の sample.wav を使って実行します。下記では、公式READMEが送信停止用に案内する環境変数を、この1コマンドへ渡します。result-local.json という新しい結果を作り、教材に入れた編集部の result.json と比較してください。
NEEDLE_TELEMETRY=0 DO_NOT_TRACK=1 ./needle \ --model whistle.cact --audio sample.wav \ --audio-language en --audio-word-timestamps --threads 4 \ > result-local.json初回の実行ファイル・モデル取得には通信が必要です。 また、公式READMEでは既定でが有効と記載されています。「手元で推論できる」ことだけから、すべての利用方法が通信しないとは判断できません。上記では NEEDLE_TELEMETRY=0 と DO_NOT_TRACK=1 を指定します。ただし、取得した実行ファイルで、この設定だけにより送信が止まるかは未検証です。編集部はOS側でネットワーク接続を拒否し、その条件で文字起こしが完了することを確認しました。上のコマンド自体には、そのOS側の制限は含まれません。固定版READMEの設定・Python側の送信停止判定
教材の元の英文は、認識結果を照合するための正解資料です。今回、Whistleへ渡したのは音声と実行条件だけで、元の英文を答えのヒントとして渡してはいません。自社の試用でも、確認用原文を別に残しておくと、読みやすさだけで成功と判断することを避けられます。
「小さい」「速い」と、仕事に使えるかを分ける
公式発表の約11msは、Apple M4 ProのCPUで10秒の音声を処理したときの、最初の出力までの時間です。全音声の処理時間と同じではありません。また、公式の認識誤りの比較には、他モデルの開発元が公表した値が含まれます。すべてを編集部が同じ機械と音声で再測定した結果として読むことはできません。公式の比較条件
導入時は、速さより先に「間違うと困る情報」を決めます。請求金額、提出期限、製品名、否定表現を含む短い音声を用意し、文字起こし後に原音へ戻って確認します。今回なら、前置詞の誤りを直すだけでなく、10月5日と6日の役割を取り違えていないかが重要です。
単語ごとの確率も、人による確認を不要にする数値ではありません。今回の1件だけから「この値以上なら正しい」という基準は作れません。また、最大30秒を超える会議は分割が必要になり、発言の途中で切れた語や前後の文脈を別途確認することになります。本記事では、その分割処理も検証していません。
同じローカルAIでも、モデルや実行環境によって動く条件は変わります。MagnitudeをMacで試した記録では、別用途のモデルが読み込み途中で止まった経緯を残しました。Whistleについても、まず同梱の短い人工音声で起動を確かめ、次に利用許可のある実務音声で必要な情報が残るかを調べる順序が現実的です。