AI時短ラボ
検索
検証

Hugging Face、Apple端末向けSwiftパッケージ AnySpeechRecognizer(エニー・スピーチ・レコグナイザー)とAnyDecisionModelを公開Parakeet・Qwen3-ASRを端末内で動かし、確率つきの判断も

執筆:約19分で読めます

日刊AIニュース10月29日(木)号:前日のAIのニュース54本を短くまとめました(約22分)›

Hugging Faceは2026年10月29日、Apple端末で音声認識モデルを選んで使えるSwiftパッケージAnySpeechRecognizerと、確率つきで判断を返すAnyDecisionModelを公開した。Qwen3-ASRは日本語を含む30言語、Parakeet v3の単語誤り率はLibriSpeech test-clean(3〜8分のファイル)で1.55%とブログは報告している。

Hugging Face、Apple端末向けSwiftパッケージ AnySpeechRecognizer(エニー・スピーチ・レコグナイザー)とAnyDecisionModelを公開──Parakeet・Qwen3-ASRを端末内で動かし、確率つきの判断も
目次

Hugging Faceは2026年10月29日付(ブログの公開日表記。時刻の記載はなし)の公式ブログでSwiftパッケージ2本を発表した。1本目のAnySpeechRecognizer(エニー・スピーチ・レコグナイザー)は、Appleの新しい音声認識API「SpeechAnalyzer」と同じ書き方で、transcriberの作り方を変えるだけでNVIDIAのParakeet(パラキート)やAlibabaのQwen3-ASRを端末内で動かせるという。2本目のAnyDecisionModelは、yes/noや選択式の判断を、文章を生成せずモデルの確率から返す。ブログによると、どちらもHugging Face Hubからオープンなモデルを取得して端末で動かせる。

3行まとめ

  1. AnySpeechRecognizerはimport Speechをimport AnySpeechRecognizerに替え、transcriberの作り方を変えるとエンジンを選べるSwiftパッケージ。日本語はQwen3-ASR(0.6B・1.7B、30言語)が対象で、Parakeet v3(25のヨーロッパ言語)は対象外。
  2. ブログの測定(M4 Max・LibriSpeech 3〜8分のファイル)では、Parakeet v3の単語誤り率が test-clean 1.55%・test-other 2.78%、Appleの認識は2.12%・3.97%。
  3. AnyDecisionModelはMLX・Core AI・llama.cpp・Jev・Ollamaなど6つのバックエンドで、判断を確率・確信度つきの型で返す。

本記事の内容は、日本時間10月29日21時台に公式ブログとGitHubの2リポジトリで確認したものです。

何ができるようになるのか

AnySpeechRecognizer:エンジンを選べる音声認識

macOS 26とiOS 26で導入されたSpeechAnalyzerは、SpeechTranscriberなどのモジュールを組み合わせ、ファイルまたは音声バッファを渡して結果を非同期シーケンスで受け取るAPIだ。ブログはこれを「よく設計されたAPIだが、背後のエンジンはAppleのものだけ」と説明している。AnySpeechRecognizerはこのAPIを写し、エンジンを選べるようにする。

- import Speech
+ import AnySpeechRecognizer

標準のエンジンはAppleのSpeechフレームワークのままで、Parakeetを使うときだけtranscriberの作り方を変える。インストール、解析、結果の読み取りの手順は同じだとブログは説明している。

選べるモデルは次のとおり(ブログとREADMEの記載)。

モデル 由来 言語 実行 備考
Parakeet v3 NVIDIA Parakeet TDT 0.6B v3 25のヨーロッパ言語(自動判別) Core ML ライブ入力・単語の時刻・信頼度に対応
Parakeet Ultra Moondream(v3の追加学習版) 自動判別(READMEはFLEURSのドイツ語・フランス語でも測定) Core ML ブログは「測定の多くで精度が高かった」
Parakeet Unified NVIDIA 英語のみ Core ML NVIDIA Open Model License
Qwen3-ASR 0.6B / 1.7B Alibaba 30言語と22の中国語方言(日本語・韓国語・広東語を含む) Core ML(GPU) ファイル向け。単語の時刻・信頼度なし

Qwen3-ASRは最大40秒の区間ごとに確定結果を1つ返し、途中結果(volatile results)は出ない。GPUで動き、Parakeetより遅いため、ブログは「ライブ入力よりファイルの文字起こし向き」としている。

誰がいつ話したかを調べる話者識別

AppleのSpeechフレームワークには話者識別のモジュールがなく、AnySpeechRecognizerがSpeakerDiarizerを足している。NVIDIAのStreaming SortformerをCore MLで動かし、AppleまたはParakeetのtranscriberと同じ時間軸で結果を出す。最大4人まで追跡し、重なって話していても扱える。READMEによると5人以上では精度が落ちる。

標準はSortformer v2で、会議データを追加して学習したv2.1も選べる。READMEのAMI会議16本での話者識別誤り率は、v2が25.73%、v2.1が23.42%だ。

AnyDecisionModel:生成ではなく確率で答える

言語モデルに「このメッセージは緊急か」「どの担当が対応するか」を聞いて、出てきた文章を解析するのが従来のやり方だ。ブログはこれを「答えは1つ得られるが、他の選択肢にどれだけ確率を割り当てたかは見えない」と説明している。ブログによると、AnyDecisionModelのMLXバックエンドは、各選択肢に1トークンのラベル(yes/no、AからZ、0から9)を振ったプロンプトを作り、1回の順伝播で各ラベルの確率を読む。

  • probability(of:):yes/noの確率(Double)
  • choice(_:from:):選択肢ごとの確率と確信度を持つChoice
  • score(_:levels:):段階ごとの確率と期待値を持つScore

選択肢はChoosableに準拠した列挙型で渡せるので、switchで漏れなく処理できる。問いは互いに独立で、前の答えが次の入力になることはない。

バックエンドは6種類ある。

バックエンド 内容
MLX Apple silicon上の小型言語モデル。Hubから取得
MLX decision heads 決定ヘッドを持つモデル(CloudflareのClefなど)
Core AI macOS 27・iOS 27のCore AIモデル
llama.cpp GGUFモデル
Jev TypeSafeのJevをSystem One API経由で呼ぶ
Ollama Ollama上のSystem Oneの判断モデル(ローカルまたはクラウド)

次トークン確率を読むバックエンドは、選択肢が最大26個、スコアの段階が最大10個までという制約がある。決定ヘッドにはこの上限がない。

精度と速度はどれくらいか

ブログは、M4 Max搭載のMac Studio(macOS 27.0.1)で付属のCLI「hear」を使って測ったと説明している。LibriSpeechの3〜8分のファイルでの単語誤り率(WER)は次のとおり。

認識 test-clean test-other
Parakeet v3(ファイル) 1.55% 2.78%
Parakeet v3(ライブ) 4.73% 4.29%
Parakeet Ultra(ファイル) 1.66% 2.55%
Parakeet Ultra(ライブ) 2.65% 3.28%
Parakeet Unified(ファイル) 1.43% 2.19%
Parakeet Unified(ライブ) 1.45% 2.42%
Appleの認識(ファイル) 2.12% 3.97%

速度について、ブログはParakeetが1時間の音声をファイルなら約20〜40秒、ライブなら約1.5〜2.5分で処理し、Core MLがモデルをコンパイルした後のメモリは約100MBと説明している。READMEの数字はv3とUltraがファイル18〜31秒・ライブ93〜112秒、Unifiedが33〜42秒・124〜136秒。Qwen3-ASRはREADMEで、1時間の音声あたり0.6Bが10.5〜15.4分、1.7Bが14.5〜21.2分(FLEURSなどの各セット)と記載されている。

日本語に関係する数字はREADMEにある。FLEURSの日本語(先頭100ファイル)での文字誤り率は、Qwen3-ASR 0.6Bが9.49%、1.7Bが6.10%。READMEは、参照テキストが数字をアラビア数字で書くのに対しモデルは文字で書くことが多いため、これらの率はモデルカードの値より高く出ると断っている。

会議音声は全エンジンにとって難しく、重なって話すAMIの録音ではテストしたすべてのエンジンで単語誤り率が23%を超えたとブログは書いている(READMEの表ではParakeetの各設定が23.56〜26.72%、Appleが29.24%)。

判断モデルの使い道と試せるデモ

ブログは、macOSアプリ「Emoji Magnet」を例に挙げている。343個の絵文字の山に向けて「things you wear」のような語句を打つと、合致する絵文字が浮き上がる。キーワードのルールは持たず、絵文字ごとに「この文は条件に合うか」をyes/noで聞いている。

  • ホスト型のJevバックエンドでは343問を1リクエストで答え、語句ごとに約0.5秒で落ち着く
  • TYPESAFE_AI_API_KEYがなければ、Qwen3 4BをMLXでMac上で実行する。M4 Maxで16問ずつ処理し、1グループは約0.45秒、343個すべてで約10秒

Cloudflareの「Clef」は、決定ヘッドを訓練した新しい型のモデルだ。ブログによると、状態と型付きの問いのスキーマを受け取り、全問の全選択肢の確率を1回の順伝播で返す。Clef-Flashは9B版で、4ビット版のダウンロードは6.2GB、モデルカードはメモリ16GB以上のMacを推奨している。画像と動画も読めるが、このバックエンドが受け付けるのはテキストとJSONの状態だけだ。

確率の扱いにも注意書きがある。言語モデルの生の確率は過信しがちなので、ローカルのバックエンドには温度とyes/noのバイアスをかけるCalibrationがある。また、選択肢の並び順で偏る問題にはrotationDebiasingを使う。選択肢の並びを回転させて何度も聞き、確率を平均する方法で、回転の数だけプロンプト評価が増える。確信度は確率の集中度を示すだけで、答えが正しい確率ではないとREADMEは明記している。

誰が、いつから、どの環境で使えるのか

どちらもSwift 6.2以降、macOS 26またはiOS 26以降が必要だ。ParakeetとSortformerのランタイム、およびMLXバックエンドはApple siliconが前提になる。AnyDecisionModelのMLXビルドにはXcodeのSwift 6.4以降とMetalツールチェーンが要り、Core AIにはXcode 27とOS 27のランタイムが要る。

Package.swiftへの追加例は、ブログでは次のバージョン指定だった。

  • AnySpeechRecognizer:from: "0.1.0"
  • AnyDecisionModel:from: "0.6.0"(traits: ["MLX"]など)

ライセンスはパッケージ本体がどちらもApache 2.0。モデル側は別で、READMEによるとParakeet v3・Parakeet Ultra・Sortformer v2はCC BY 4.0、Qwen3-ASRはApache 2.0、Parakeet UnifiedとSortformer v2.1はNVIDIA Open Model Licenseだ。パッケージはモデルの重みを実行時にダウンロードし、同梱しない。READMEによると、アプリがモデルをダウンロードまたは同梱するなら謝辞欄にモデルとライセンス・必要な表示を載せ、モデルファイルをアプリに入れて配布するならライセンス文とNOTICEファイルも含める。

ダウンロード量は、各Parakeetが約600MB(READMEでは.v3と.ultraが約632MB、.unifiedが約614MB)、ライブ用エンコーダーが約590MB、Qwen3-ASRが0.9〜2.4GB、Sortformerが約250MBだ。ファイルは標準のHugging Faceキャッシュに入り、サンドボックス外のMacアプリならPythonなど他のHugging Face製ツールと共有される。

料金について、今回取得した3ページにはパッケージやモデル自体の料金の記載はない。ホスト型のJevはTYPESAFE_AI_API_KEYが必要とされるが、その料金体系も取得したページには書かれていない。

前の記事とは何が違うのか

Hugging Faceは10月20日付のブログでAnyLanguageModel 1.0の1年を振り返っている(弊サイトのSwift向けAnyLanguageModel 1.0の記事)。今回のブログによると、その記事はSwiftで端末内のモデルとホスト型のモデルを扱った1年の振り返りで、今回は同じ方針(なじみのあるSwiftのAPIで、モデルを選べる)を音声認識と判断に広げたものだという。

筆者の確認:ブログとREADMEの表は一致していたが、テスト範囲は狭い

日本時間21時13分にブログを、21時14分にGitHubの2つのREADMEを取得した。ブログの精度表(LibriSpeech 3〜8分のファイル、7行)をREADMEの表の同じ行と1つずつ突き合わせたところ、数字はすべて一致していた。一方、ブログ本文は「これらの数字は1台のマシンと少数のデータセットから出たもの。自分のハードと音声で測ってほしい」と断っており、READMEのhear evaluateで自分のファイルを測れる。

取得時点のGitHubの表示は、AnySpeechRecognizerが24コミット・スター5・フォーク0、AnyDecisionModelが25コミット・スター25・フォーク2だった。どちらもHugging Faceの組織ではなく、著者のアカウント(mattt)配下のリポジトリだ。私自身はこれらのパッケージを動かしておらず、本記事の数字や動作の説明は公式の記載にもとづく。

日本で使う前に確認したいこと

ブログとREADMEが自ら書いている制限のうち、日本の利用者に関わるものを挙げる。

  • iPhoneでの検証がない:ブログは「macOS 27でしかテストしておらず、iPhoneでは未テスト」と書いている。READMEも、実機のiPhoneでのParakeet、OS 26のランタイム、最小のSwift 6.2ツールチェーンは未検証としている。Qwen3-ASRもiOS端末では未検証だ。
  • 日本語はQwen3-ASRだけ:Parakeetの対象は25のヨーロッパ言語で、日本語は含まれない。Qwen3-ASRは単語の時刻と信頼度がなく、1時間の音声に8〜21分かかり、メモリは0.6Bで約1.7GB、1.7Bで約4.4GB必要になる。
  • 既知の不具合:READMEによると、macOS 27.0.1ではAppleのAnalyzerInput(buffer:)がFloat32のバッファで異常終了するため、Int16に変換してから渡す。Parakeetは音声の区間を無音と誤ってデコードすることがあり、ライブ入力と重なり発話の会議で多い。Parakeet Unifiedの単語の開始時刻は約300ミリ秒遅れる。高速結果(fast results)は自然な発話では使えず、長い録音で単語誤り率が15〜22%になる。
  • 依存関係の衝突:ブログとREADMEによると、AnyDecisionModelのCoreAIトレイトはAnySpeechRecognizerと同時に使えない(coreai-kit 0.7.3がswift-huggingface 1.0未満を要求するため)。AnyDecisionModelのMLXトレイトはmlx-swift-lm 3.31に固定されるので、3.32を求めるAnyLanguageModel 1.0のMLXトレイトとは組み合わせられない。
  • 判断モデルの検証範囲:READMEによると、JevとOllamaとの通信はフィクスチャで試験したもので、実サービスでの試験ではない。キャリブレーションは2つのタスクで当てはめたもので、他のタスクで通用するかは未検証。型付きの出力だけでは、埋め込まれた指示(プロンプトインジェクション)への耐性は期待できないとも書かれている。

今回取得した3ページには、日本での提供可否や日本語のドキュメントの有無に触れた記載はなかった(ソフトウェアのパッケージであり、地域を限る記述も見当たらない)。

公式ページと確認時刻

数字はすべて、ブログ著者が自ら測定・報告したものです。第三者による再現は確認していません。本記事は続報があり次第更新します。

この記事でよく聞かれること

AnySpeechRecognizerとは何ですか?
Hugging Faceのブログによると、Appleの音声認識API(SpeechAnalyzerなど)と同じ形で使えるSwiftパッケージです。importをSpeechからAnySpeechRecognizerに替えれば同じコードがビルドでき、transcriberの作り方を変えると認識エンジンを選べます。標準はAppleのSpeechフレームワークで、NVIDIAのParakeetやAlibabaのQwen3-ASRをCore MLで端末内実行する選択肢と、誰がいつ話したかを調べる話者識別(SpeakerDiarizer)が加わります。
日本語の音声認識は使えますか?
ブログとREADMEによると、日本語に対応するのはQwen3-ASR(0.6Bと1.7B)で、30言語と22の中国語方言を認識します。Parakeetは25のヨーロッパ言語が対象で、日本語は含まれません。Qwen3-ASRはファイルの文字起こし向けで、1時間の音声に8〜21分かかり、iOS端末では未検証です。標準のAppleエンジンは言語をlocaleで選びます。
AnyDecisionModelは何をするものですか?
「緊急か」「どの担当に回すか」「どれだけ不満か」といった問いに、文章を生成させずモデルの確率から答える型付きのSwiftパッケージです。結果にはyes/noの確率、選択肢ごとの確率、確信度が付きます。バックエンドはMLX、MLXの決定ヘッド、Core AI、llama.cpp、Jev、Ollamaの6種類で、Swift 6.2以降とmacOS 26またはiOS 26以降が必要です。
シェア: ポスト はてブ

出典・参照資料

AI時短ラボ

大きいニュースはYouTubeでも解説しています。Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

関連記事

Hugging Face、Swift向けAnyLanguageModel(エニーランゲージモデル)1.0を公開──importを差し替えるだけで端末内モデルとOpenAI・Anthropic・Geminiを切り替え、swift-huggingface・swift-xetも1.0にの記事画像

Hugging Face、Swift向けAnyLanguageModel(エニーランゲージモデル)1.0を公開 importを差し替えるだけで端末内モデルとOpenAI・Anthropic・Geminiを切り替え、swift-huggingface・swift-xetも1.0に

検証
Hugging Face、PyTorch 2.15(パイトーチ)のMac向けGPU「MPS」の改善を公開──MoEモデルの生成が2.14比5〜6.5倍、動画デコードのメモリは270GiBから8GiBにの記事画像

Hugging Face、PyTorch 2.15(パイトーチ)のMac向けGPU「MPS」の改善を公開 MoEモデルの生成が2.14比5〜6.5倍、動画デコードのメモリは270GiBから8GiBに

検証
NVIDIA「Magpie TTS Multilingual」──3億6,400万パラメータのオープンウェイト音声合成が日本語を含む12言語(新たにアラビア語・韓国語・ブラジルポルトガル語)、各言語に男女の話者、日本語の混在発音と発音辞書に対応。自社基盤で動かし、最初の音声までB200で32ms・H100で47ms・DGX Sparkで53ms、64並列でも実時間の320倍の記事画像

NVIDIA「Magpie TTS Multilingual」 3億6,400万パラメータのオープンウェイト音声合成が日本語を含む12言語(新たにアラビア語・韓国語・ブラジルポルトガル語)、各言語に男女の話者、日本語の混在発音と発音辞書に対応。自社基盤で動かし、最初の音声までB200で32ms・H100で47ms・DGX Sparkで53ms、64並列でも実時間の320倍

検証(発表 8月10日)
Liquid AI(リキッドAI)、2B級オープンウェイトのLFM3(エルエフエム・スリー)6モデルを公開──LFM3-1.7BはLFM2.5-2.6Bを35%少ないパラメータで上回ると同社の記事画像

Liquid AI(リキッドAI)、2B級オープンウェイトのLFM3(エルエフエム・スリー)6モデルを公開 LFM3-1.7BはLFM2.5-2.6Bを35%少ないパラメータで上回ると同社

モデル
緑の地にハチドリのマークとKolibriの文字動画

ドイツ製AI「Kolibri」を手元のMacで動かした 78Bでも1語ごとに動くのは3.46B、2bit版で毎秒約111トークン。日本語の質問には答えられなかった

モデル実機で検証
Liquid AIの小型モデルLFM2.5を「速く・正確に」する2本──①DSparkの草稿モデル(約300M)で投機的デコード、出力は同一のままH100で最大3.18倍・M4 Max MacBookで最大2.87倍、関数呼び出しの遅延を57%削減 ②350MモデルをGRPOで100ステップ(無料枠のColab)微調整し、構造化出力の遵守率をIFStructで22.6%→29.7%の記事画像

Liquid AIの小型モデルLFM2.5を「速く・正確に」する2本 ①DSparkの草稿モデル(約300M)で投機的デコード、出力は同一のままH100で最大3.18倍・M4 Max MacBookで最大2.87倍、関数呼び出しの遅延を57%削減 ②350MモデルをGRPOで100ステップ(無料枠のColab)微調整し、構造化出力の遵守率をIFStructで22.6%→29.7%

検証(発表 8月20日)
Multiverse Computing「Quantization-Aware Healing」──GPT-OSS 120Bを60Bに圧縮し4ビット(MXFP4)に量子化したモデルが、元のbfloat16版を9ベンチマーク中7で上回る。秘訣は「回復済みの16ビット版」でなく「圧縮前の120B」を教師にKL蒸留すること。長文脈推論+7.4、AIME 2025+5.6の記事画像

Multiverse Computing「Quantization-Aware Healing」 GPT-OSS 120Bを60Bに圧縮し4ビット(MXFP4)に量子化したモデルが、元のbfloat16版を9ベンチマーク中7で上回る。秘訣は「回復済みの16ビット版」でなく「圧縮前の120B」を教師にKL蒸留すること。長文脈推論+7.4、AIME 2025+5.6

検証(発表 8月25日)
Hugging Face「funes」──Claude Code・Codex・pi・Hermesのセッション記録を1つの記憶にする単一バイナリ。`funes add claude`でエージェントにrecallとgetのツールが付き、完了したターンごとに自動で索引。埋め込みと再ランクは手元で動き、共有したければ自分のHugging Faceデータセット(既定で非公開)に。要約せず原文と出所を返すの記事画像

Hugging Face「funes」 Claude Code・Codex・pi・Hermesのセッション記録を1つの記憶にする単一バイナリ。`funes add claude`でエージェントにrecallとgetのツールが付き、完了したターンごとに自動で索引。埋め込みと再ランクは手元で動き、共有したければ自分のHugging Faceデータセット(既定で非公開)に。要約せず原文と出所を返す

検証(発表 9月3日)