オフラインで文字起こしする ― 音声を外に出さない仕組み

文字起こしアプリの多くは、音声をサーバーへ送って処理します。 このアプリは端末の中で認識するので、通信がなくても動き、音声がどこかへ渡ることもありません。 何が端末内で行われ、何のために通信するのかを具体的に説明します。

文字起こし画面。音声認識モデルの一覧と取得ボタン
モデルを選んで取得する

端末内で認識するとはどういうことか

音声認識には学習済みのモデルが必要です。クラウド型はモデルをサーバーに置き、音声を送って結果を受け取ります。 端末内型はモデルそのものを端末へ置き、音声を動かさずに処理します。iOS 版は whisper.cpp を使い、この後者の方式で動きます。

リアルタイム文字起こしには Apple の音声認識を使いますが、こちらも端末内認識を必須に設定しています (requiresOnDeviceRecognition)。設定していない場合、iOS は音声を Apple のサーバーへ送ることがあります。 端末内認識に対応していない言語は、そもそも選べないようにしてあります。

通信が必要なのは最初の一度だけ

モデルは容量が大きいため、アプリに同梱せず、選んだときにダウンロードします。取得元は Hugging Face です。 送信されるのは「このモデルをください」という要求だけで、録音データは含まれません。

一度取得すれば、以降は機内モードでも山の中でも文字起こしできます。 取材先や移動中に結果まで出したい場合は、出発前にモデルを取っておくのが確実です。

モデルの選び方

軽いモデルほど速く、重いモデルほど正確です。容量と処理時間が変わります。 用途で選ぶと迷いません。

用途選び方
内容の把握、検索用のメモ軽いモデル。長い録音でも短時間で終わります
発言をそのまま引用する重いモデル。固有名詞と数字の崩れが減ります
日本語と英語が混ざる多言語対応のモデル。英語専用は日本語を扱えません

全体は軽いモデルで通し、引用したい箇所だけ重いモデルでやり直す進め方が、結局いちばん速く終わります。

精度を上げるのは録音のほう

モデルを重くしても、元の音が悪ければ限界があります。効くのは次の順です。

  1. マイクと話者の距離を縮める
  2. 空調・プロジェクター・道路の音から離れる
  3. 圧縮のない WAV で録る
  4. 重いモデルへ変える

外へ出るデータ

端末内で完結するのは録音と文字起こしの処理です。無料提供のため広告を表示しており、 広告の配信と利用状況の把握のために情報が送信されます。録音・映像・書き起こしの本文は含まれません。 詳細はiOS 版のプライバシーポリシーに一覧で書いています。

よくある質問

モデルを削除したらどうなりますか

文字起こしができなくなります。録音そのものは残ります。もう一度取得すれば元どおり使えます。

文字起こしに時間がかかります

端末内で処理するため、録音の長さと選んだモデルの重さに比例します。 軽いモデルへ変えるか、必要な部分だけを対象にしてください。

Android 版も同じですか

Android 版も端末内で認識しますが、採用しているエンジンが異なります。 取り扱いはAndroid 版のプライバシーポリシーをご覧ください。

関連ページ

アプリを入手する

Android Google Play で入手 iOS App Store で近日公開