AnySpeechRecognizerおよびAnyDecisionModel:Appleプラットフォーム向けの音声および意思決定用オープンモデル
概要
AnySpeechRecognizerとAnyDecisionModelは、Appleプラットフォーム向けアプリケーションに音声認識および意思決定機能を統合するための、一貫性のあるモジュール式APIを開発者に提供する新しいSwiftパッケージです。これらのツールを使用することで、開発者はNVIDIAのParakeet、AlibabaのQwen3-ASR、CloudflareのClefなど、さまざまなローカルおよびホスト型モデルバックエンドを切り替えながら、統一されたコードベースを維持できます。
AnySpeechRecognizer
AnySpeechRecognizerは、Appleのネイティブな音声認識フレームワークを拡張し、開発者が使い慣れた SpeechAnalyzer APIを維持したまま代替エンジンをプラグインできるようにします。Core MLによるローカル実行をサポートしており、文字起こしや話者分離(ダイアライゼーション)のための専用モジュールが含まれています。
サポートされているエンジンとモデル
- Parakeetシリーズ: Parakeet v3(多言語対応)、Parakeet Ultra(Moondreamによる最適化)、Parakeet Unified(英語のみ)が含まれます。これらのモデルはライブ入力をサポートし、単語レベルのタイミングと信頼度スコアを提供します。
- Qwen3-ASR: 0.6Bおよび1.7Bのパラメータサイズで利用可能で、30言語と22の中国語方言をサポートしています。ライブストリーミングではなく、ファイルベースの文字起こしに最適化されています。
- 話者分離: このパッケージでは、NVIDIAのStreaming Sortformerを使用した
SpeakerDiarizerモジュールが導入されており、最大4人の話者を同時に追跡できます。これはAppleのネイティブSpeechフレームワークにおける欠点を補うものです。
技術的実装
モデルはCore MLに変換され、Hugging Face Hubでホストされており、パッケージは一貫性を保つために特定のバージョンを固定しています。パッケージにはコマンドラインツール hear が含まれており、開発者はこれを使用して文字起こしの精度をテストし、自身のハードウェアでのパフォーマンスを評価できます。M4 Max Mac Studioでのパフォーマンスベンチマークでは、Parakeetモデルがクリーンなテストデータにおいて1.43%という低い単語誤り率(WER)を達成できることが示されています。
AnyDecisionModel
AnyDecisionModelは、言語モデルによって生成された自由形式のテキストを解析する従来の手法から脱却し、意思決定タスクに対して構造化された型安全なアプローチを提供します。離散的な選択肢、イエス・ノーの質問、評価尺度に対する確率を返すように設計されています。
機能とバックエンド
- 確率的出力: テキスト生成ではなく、関連する確率と信頼度スコアを含む型付きの結果を返すため、プログラムによるロジックに適しています。
- バックエンドの柔軟性: このパッケージは、MLX(Appleシリコンでのローカル実行用)、Core AI、llama.cpp、Jev、Ollamaなど、複数のバックエンドをサポートしています。
- 意思決定ヘッド: 高度なユースケース向けに、CloudflareのClef-Flashのように、単一のフォワードパスで複雑なスキーマを処理できる専用の意思決定ヘッドを持つモデルをサポートしています。
- バイアスの除去: リスト内の位置に基づいてモデルが特定の選択肢を優遇するという一般的な問題を軽減するため、パッケージには選択肢の複数の順列にわたって確率を平均化する
rotationDebiasingが含まれています。
アプリケーション例:Emoji Magnet
AnyDecisionModelの有用性を実証するために、開発者はユーザーが提供した自然言語の説明に基づいて絵文字を動的にフィルタリングするmacOSアプリケーション「Emoji Magnet」を作成しました。このアプリはモデルを使用して数百の絵文字候補をリアルタイムで評価し、外部のキーワードルールに依存せずにローカル推論がどのように複雑な分類タスクを処理できるかを示しています。
要件と開始方法
両パッケージとも、Swift 6.2以降、およびmacOS 26またはiOS 26以降が必要です。Parakeet、Sortformer、およびMLXベースの意思決定モデルのローカル実行にはAppleシリコンが必要です。開発者は、Package.swift ファイルに依存関係を追加することでこれらのツールを統合でき、MLX や Llama などのローカル推論バックエンドを有効にするための特定のトレイトも利用可能です。