Mac を使っていれば、おそらく名前を意識しないまま Live Text を使ったことがあるはずです。プレビューで開いた画像や、写真 App の中の看板にマウスを重ねると、カーソルがテキストカーソルに変わって、そのまま範囲選択してコピーできる。あの体験です。気づかないうちに作業の一部になっている、というのが OS 機能としての一番の褒め言葉だと私たちは思っています。

では、なぜわざわざ比較記事を書くのか。それは、仕事で OCR を使い始めた瞬間に Live Text の境界線にぶつかるからです。Slack のスクリーンショットから一段落抜き出したい、Zoom のスライドの一行をコピーしたい、Chrome で一時停止した YouTube のチュートリアルからコマンドを取りたい — どれも普通の作業ですが、Live Text だけだと意外と早く詰まります。境界線はバグではなく、Live Text が macOS に組み込まれた時点で必然的に決まったものです。それを理解すれば、標準機能だけで足りるのか、もう一つツールを足す価値があるのかが判断できます。

この記事は私たち Cheese! OCR チームの率直な見方です。立場がある以上、当然偏りはあります。ただ「Live Text の方が向いている」と言える場面ははっきりそう書きます。曖昧にしても読む側の時間を奪うだけなので。

Live Text が得意な場面

macOS 12 Monterey(2021 年)で導入された Live Text は、その後のメジャーアップデートで磨かれてきました。考え方はシンプルで、Apple のビューが描画する画像 — 写真の画像、プレビュー上のページ、QuickTime のフレーム、Safari 上の画像 — であれば、その場で内容を解析してテキストを選択可能にする、というものです。明示的なトリガーはなく、画像にカーソルが触れた瞬間にバックグラウンドで動きます。

得意な領域は予想通り、そして快適です。

普段の OCR 用途が「写真からたまに電話番号を抜く」程度なら、これで十分すぎます。

Live Text が届かない 4 つの場面

業務で日常的にテキストを跨いで扱うようになると、次の 4 つの空白がはっきり見えてきます。

1. サードパーティアプリの独自画像ビューア

Live Text は AppKit の画像描画にフックされていますが、独自の画像コンポーネントを持つサードパーティアプリでは反応しないことがあります。Slack の画像ビューア、Discord のライトボックス、Notion の埋め込み画像、LINE のメディアプレビュー、Telegram の画像表示、それから多くの業務アプリは、独自描画でシステムのテキスト選択層をバイパスしてしまいます。文字は見えているのに選択できない、という典型的な状況です。

macOS の中での回避策は「画像をプレビューで開き直す」ですが、毎回それをやるのは面倒です。右クリックして保存して、ダウンロードフォルダから探して、開いて、選択する。その手間をかけるくらいなら、ホットキーを 2 回叩いた方が早く終わります。

2. ビデオ会議

Zoom、Microsoft Teams、Webex、Chrome 上の Google Meet などは、会議ウィンドウに画面保護や DRM 相当のフラグを立てている場面が珍しくありません。Apple のスクリーンキャプチャや Live Text は、設定によってはこのフラグを尊重します。結果として、スライドの箇条書きをドラッグ選択しようとしても何も反応せず、スクリーンショットを撮ると真っ黒な画像が保存されることもあります。

これは会議アプリ側の悪意ではなく、機微な発表に向けた「デフォルトでプライバシー寄り」の設定です。とはいえ「このスライドの URL をコピーしたいだけ」という普通の用件には、これが壁として立ちはだかります。システムの画面収録 API を経由するスクリーンショット OCR なら、ソースアプリの描画方法によりますが、見えているフレームを取り込んで Apple Vision に流せるケースが多くなります。

3. 保護付き PDF と一部の業務文書

テキスト層を持つネイティブ PDF はどんなツールでもコピーできるので Live Text でも問題ありません。スキャン PDF は少し面倒ですが、プレビューの Live Text が大抵対応します。厄介なのは、その中間の以下のような場合です。

「読むことは許可されているがコピー操作だけが UI で塞がれている」という状況での OCR は、アクセス制御の回避ではなく、すでに手元にある文書の UI 制限を越える正当な手段だと考えています。Cheese! OCR は描画されたピクセルを取り込んで認識するだけで、原理的には目で読んで打ち直すのと同じです。

4. Safari 以外で再生中の動画フレーム

Live Text は Safari で一時停止した動画にはちゃんと効きますが、Chrome、Firefox、Edge では効きません。これらのブラウザは独自レンダリングエンジンを使っていて、AppKit の Live Text フックにフレームを渡していないためです。IINA、VLC など多くのプレーヤーアプリも同様です。Chrome で開いたコーディング講座で、講師がターミナルに長いコマンドを打ち込んでいる — そんな場面で Live Text には頼れません。

同じ問題、同じ解決策。スクリーンショット OCR は誰がそのピクセルを描いたかを問いません。

Cheese! OCR が埋めるところ

Cheese! OCR はメニューバーアプリで、やることは一つです。グローバルホットキー(既定値 ⇧⌘E、変更可)を押すと画面が暗くなり、カーソルが十字に変わります。読み取りたい範囲をドラッグで囲うと、認識結果がそのままクリップボードに入ります。あとは貼り付けるだけ。慣れれば 2 秒ほどの操作です。

比較において重要な点をいくつか。

一つひとつは特別な機能ではありません。組み合わさることで上の 4 つの空白がコンテキストスイッチなしで埋まる、というのが要点です。

Live Text で十分な場面

逆に、わざわざ別ツールを入れなくてよい場面も明確に書いておきます。

ここに当てはまるなら、それ以上読む必要はありません。手元のものをそのまま使ってください。本気でそう思っています。

比較表

項目 macOS テキスト認識(Live Text) Cheese! OCR
価格 無料、macOS 12 以降に内蔵 5.99 USD 買い切り、サブスクなし
カバー範囲 Apple 純正アプリ・WebKit ビュー 画面に映っているもの全て
トリガー 画像にカーソルを重ねて選択 グローバルホットキー+ドラッグ選択
言語 Apple Vision(複数言語、必要時) 英/簡体中/日/韓 を自動認識
履歴 なし ローカル、検索可能
エンジン Apple Vision、オンデバイス Apple Vision、オンデバイス
ネットワーク 使用しない サンドボックスに権限ゼロ、確認可能
向いている使い方 アプリ内での散発的な抽出 アプリ横断・反復・大量

シンプルな判断基準

3 つのルールでだいたいの場面はカバーできます。

  1. カーソルを画像に重ねてテキストカーソルに変わったら、Live Text を使う。すでにそこにいます。
  2. ソースがサードパーティアプリ・ビデオ会議・Safari 以外のブラウザ・保護付き文書なら、ホットキーに切り替える。
  3. 週に何度もこれをやるなら、ホットキーを押しやすい組み合わせに設定して、判断を筋肉記憶に委ねる。1〜2 日で無意識に切り替わるようになります。

私たちは普段、両方とも常時オンで使っています。Live Text が「お行儀の良い」純正アプリの場面を黙々とこなし、Cheese! OCR がそれ以外を引き受ける、という分業です。後半の役割を試してみたい方は Mac App Store のページを見てみてください。FAQ の下には関連記事も並べました。特に PDF と スクリーンショットの記事は、ここで触れた話をもう一段掘り下げています。