nehan.ai 睡眠やヘルスケアを見やすく管理。毎日の日記をプライバシーに配慮しながらAIが自動生成。
cover

iOS 26 SpeechAnalyzer — オンデバイス音声認識の実力

2026-04-26 · staff

iOS 26 で新たに追加された SpeechAnalyzer フレームワークを実機でベンチマーク。従来の SFSpeechRecognizer との比較結果は驚異的でした。

SpeechAnalyzer とは

Apple が iOS 26 / WWDC25 で発表した新しい音声認識フレームワーク。公式ドキュメント

  • 完全オンデバイス処理 — 音声データがデバイスから一切出ない
  • 長時間音声対応 — 会議や講演の録音をまるごと処理
  • async/await 対応 — モダンな Swift Concurrency で利用可能
  • 34言語対応 — 日本語含む
  • 参考: Bring Advanced Speech-to-Text to Your App (WWDC25)

    テスト環境

    項目値
    デバイスiPhone 16 Pro Max
    iOS26.3.1(a)
    言語日本語 (ja_JP)
    音声形式m4a (AAC, 44.1kHz, mono)
    SpeechAnalyzer preset.transcription

    ベンチマーク結果

    テスト1: テックカンファレンス講演(109分)

    52.1MB / 109分32秒の講演録音。

    SFSpeechRecognizerSpeechAnalyzer
    処理時間38.6秒59.2秒
    認識文字数0(エラー)34,998文字
    実時間比—0.9%
    結果❌ error 1107✅ 完全な文字起こし

    109分の音声をわずか59秒で処理。SFSpeechRecognizer はサーバー側でタイムアウト。

    テスト2: プレゼンテーション短縮版(2分12秒)

    1.1MB / 2分12秒のプレゼン冒頭。

    SFSpeechRecognizerSpeechAnalyzer
    処理時間2.3秒1.4秒
    認識文字数12文字697文字
    実時間比1.7%1.1%
    結果最初の一文のみ✅ 完全な文字起こし

    短い音声でも精度の差は歴然。SFSpeechRecognizer は「よろしくお願いいたします」の12文字のみ。

    テスト3: ビジネスプレゼン(45分24秒)

    73.2MB / 45分24秒のプレゼンテーション。

    SFSpeechRecognizerSpeechAnalyzer
    処理時間41.3秒18.1秒
    認識文字数0(エラー)7,874文字
    実時間比—0.7%
    結果❌ error 1107✅ 完全な文字起こし

    45分の音声を18秒で処理。実時間のわずか0.7%。

    処理速度の整理

    
    SpeechAnalyzer 処理速度:
      109分 →  59秒 (実時間の 0.9%)
       45分 →  18秒 (実時間の 0.7%)
        2分 → 1.4秒 (実時間の 1.1%)
    
    → 概算: 1時間の会議 ≈ 約36秒で文字起こし完了
    

    Whisper との比較(参考値)

    Apple は WWDC25 で SpeechAnalyzer が OpenAI Whisper Large V3 の2.2倍高速 と発表しています。

    モデル処理方式相対速度
    Whisper Large V3クラウド or ローカル GPU1.0x (基準)
    SpeechAnalyzer完全オンデバイス (Neural Engine)2.2x
    SFSpeechRecognizerApple サーバー送信長時間ファイル不可

    SFSpeechRecognizer の問題点

    SFSpeechRecognizer の「SF」は Speech Framework の略です。

  • デフォルトでサーバー送信: 音声データを Apple のサーバーにアップロードして処理
  • 長時間ファイル非対応: 約1分を超えるとエラー(error 1107 = サーバー側タイムアウト)
  • プライバシーリスク: 会議内容がネットワーク経由で送信される
  • オフライン不可: ネットワーク接続必須(requiresOnDeviceRecognition = true で回避可能だが精度低下)
  • 開発者向けメモ

    セットアップ

    SpeechAnalyzer のオンデバイスモデルは初回ダウンロードが必要(設定アプリにはない):

    
    let transcriber = SpeechTranscriber(
        locale: Locale(identifier: "ja_JP"), 
        preset: .transcription
    )
    try await AssetInventory.reserve(locale: Locale(identifier: "ja_JP"))
    if let req = try await AssetInventory.assetInstallationRequest(
        supporting: [transcriber]
    ) {
        try await req.downloadAndInstall()  // 約100-300MB
    }
    

    文字起こし実行

    
    let audioFile = try AVAudioFile(forReading: url)
    let analyzer = try await SpeechAnalyzer(
        inputAudioFile: audioFile, 
        modules: [transcriber], 
        finishAfterFile: true
    )
    for try await result in transcriber.results {
        print(String(result.text.characters))
    }
    

    まとめ

    SpeechAnalyzer は音声認識の世界を変えるフレームワークです。

  • 速度: 1時間の会議を約36秒で処理
  • 精度: 日本語の自然な会話を正確に認識
  • プライバシー: 音声データがデバイスから一切出ない
  • 利便性: オフラインでも利用可能
  • iOS 26 対応アプリを開発中の方は、SFSpeechRecognizer からの移行を強くお勧めします。


    Nehan.AI — 睡眠やヘルスケアを見やすく管理。毎日の日記をプライバシーに配慮しながらAIが自動生成。

    ← staff の記事一覧
    トップ · ブログについて · プライバシーポリシー · 利用規約
    © 2026 AICU Inc.