01
会議と通話
Zoom、Google Meet、Teams、Slack のハドルミーティング、ブラウザのタブで開いた通話。どれもアプリから出てくる音声にすぎないので、どれも同じように字幕が付きます。第二言語かどうかは関係ありません。聞き慣れない訛りがあるとき、誰かのマイクの調子が悪いとき、二人が同時に話し出したとき、それだけで元は取れます。半分しか聞き取れなかった言葉は、聞き返すより読むほうが速いし、誰の話も止めずに済みます。
プライベート · 端末内で処理 · Apple Neural Engine
動画も、通話も、ポッドキャストも。再生しながら文字起こしして、常に最前面のオーバーレイとして描きます。アップロードもしません。録音もしません。ディスクにも何も書きません。
ローンチウィーク:8 月 22 日まで $9 のところ $5 · 14 日間の返金保証
14 日間、理由を問わず返金します
買い切り $9、今後のアップデートはすべて込み ·
macOS 14.2 以降 · Apple Silicon
字幕は無制限、好きなだけ使えます。買い足す分数も、アカウントも、サブスクリプションもありません。
アプリを切り替えても字幕は残ります。オーバーレイはすべてのウインドウより前面にあり、クリックはそのまま下へ通します。
ウインドウをクリックすれば、そのウインドウが前面に出ます。動かしたいときは ⇧ を押しながら字幕をドラッグしてください。アプリでの操作と同じです。
字幕にポインタを近づけると、その下が溶けて消えます。⌥ を押しながらにすると、直前のいくつかが積み上がります。どちらもアプリとまったく同じように、ここで動きます。
Subtitles は特定のサービスと連携するのではなく、アプリそのものをタップします。だから Mac が再生できる音なら何にでも字幕が付きます。耳が聞こえない、あるいは聞こえにくい場合も、第二言語で聞いている場合も、ただ騒がしい場所で働いているだけの場合も、繰り返し出てくる場面は次の三つです。
01
Zoom、Google Meet、Teams、Slack のハドルミーティング、ブラウザのタブで開いた通話。どれもアプリから出てくる音声にすぎないので、どれも同じように字幕が付きます。第二言語かどうかは関係ありません。聞き慣れない訛りがあるとき、誰かのマイクの調子が悪いとき、二人が同時に話し出したとき、それだけで元は取れます。半分しか聞き取れなかった言葉は、聞き返すより読むほうが速いし、誰の話も止めずに済みます。
02
音声は待ってくれません。メモやエディタ、ブラウザのウインドウに切り替えた瞬間から、会話はこぼれ始めます。オーバーレイは常にすべてのウインドウより前面にあり、クリックは下へ通すので、その前で作業していても位置は変わりません。メモを取りながら、何かを調べながら、話されている内容を追い続けられます。Granola のようなメモアプリは会議が終わったあとにまとめてくれます。こちらは、会議がまだ続いているあいだに起きなければならない側です。
03
字幕のない動画、あるいは無いほうがましな自動字幕しかない動画。まだ学んでいる途中の言語で聞くポッドキャスト。録画された講義や配信中の講義、インタビュー、セリフの小さい映画。字幕はそれを再生しているウインドウの上に、設定した文字サイズで表示されます。9 言語に対応していて、言語はこちらで判定します。
三つに共通するものがあります。会議も、通話も、個人的な録音も、サーバーには関係のない話だということです。この音声はどれもアップロードされません。する必要がないからです。モデルはあなたの Mac の上で動きます。
ライブの音声は一時停止できないし、やり直しもきかないし、そもそも自分のマシンの外に出す必要はありません。ここにあるものはすべて、そこから決まっています。
ローカルかつオフラインで動きます。ネットワーク通信も、アカウントも、テレメトリもありません。音声はタップから認識エンジンへ直接渡され、そのまま捨てられます。ダウンロードされるのはモデル本体だけで、それも一度きりです。
目安は リアルタイムファクター 0.15。計算 1 秒あたり 6 秒ぶんの発話を文字起こしします。同じモデルを CPU で測ったときは、ライブの音声に追いつくには約 100 倍遅すぎました。
メニューバーからソースを選ぶと、そのアプリと、そこから起動されるヘルパープロセスをまとめてキャプチャします。ブラウザや Electron アプリで動くのはそのおかげです。こうしたアプリでは、音声がメインプロセスから出てくることはありません。
認識エンジンの手前で音声検出が動くので、バックの音楽がそこに届くことはありません。これがないと、音楽がモデルのコンテキストを埋めてしまい、その直後の数語が失われます。
別の人が話し始めたら新しい字幕を始める、という動作も選べます。間が空いたときと同じ扱いです。既定ではオフです。1 つ目のモデルと並べて 2 つ目のモデルを動かすことになるからです。
既定のモデルは言語を自分で判定します。英語にはさらに専用のチェックポイントが 7 つあり、160 ms から上でレイテンシと精度を交換できます。
すべてのウインドウの上に出るものは、それ自体が避けて通る対象にならないときにだけ成立します。クリックを受け取らず、ポインタを向けたところで溶け、目を離した行を返してくれます。
ポインタをボックスに近づけると、その下が薄れて消えます。読んでいる文が、書いている文を覆うことはありません。どれくらい消えるか、穴がどこまで届くかは自分で決められます。⇧ を押しているあいだは、そのままの濃さを保ちます。
ボックスは放送字幕と同じようにページを繰ります。埋まって、消えて、また始まる。だから目を離した行はそれきりです。⌥ を押しながらにすると、直前に閉じたボックスがいま出ているボックスの上に積み直されます。最大 30 個、古いものはスクロールで辿れます。指を離せば、また消えます。どこにも何も書き込まれません。
メニューから ⌘, で設定が開きます。ボックスが何行埋まったら消えるか、どれくらい濃いか、ポインタの下の薄れがどこまで届くか、⌥ がどこまで遡るか。どのスライダーも、動かしているあいだそのままオーバーレイに反映されます。数字を選ぶのではなく、見ながら決めるということです。
コピーしかしないリアルタイムオーディオスレッド、文字起こしを決してしない移植可能なコア、そして本来あるべき場所で動くモデル。
48 kHz ステレオ、10.7 ms ごとにコールバック。リアルタイムスレッドはロックフリーのリングバッファへコピーするだけで、ほかには何もしません。
ワーカースレッドで 16 kHz モノラルまで落とし、無音は飛ばします。発話の手前に約 1 秒ぶんを流し直すので、どの語も途中から始まりません。
30 秒ぶんをまとめて処理するモデルではなく、ストリーミングのモデルです。音声に追従する字幕と、数秒遅れて届く字幕の差はここにあります。
3 行ぶんのページが、放送の字幕と同じようにいったん消えて次に進みます。消えるのは音声が止まってからではなく、最後に新しいテキストが出てから 4 秒後です。
リングバッファからモデルの境界までは、移植可能な Rust です。あえて文字起こしはせず、フレームを渡すだけです。Mac に固有なのはタップとオーバーレイだけです。
14 日間、理由を問わず返金します。
これを仕事の通話に向けられるのは、これがサービスではないからです。サーバーもアカウントも文字起こしもないので、送るものがなく、あいだに入る相手もいません。ソースは公開されているので、どれも信用だけで受け取る必要はありません。
モデルを使えるかどうかを最初に決めるのは言語です。だからメニューの一番上の階層に置いてあります。同じパックの中での切り替えは一瞬です。パックをまたぐときはもう一方を取ってきますが、すでに持っているものはそのまま残ります。
ダウンロードの途中で気が変わったら、その場でキャンセルしてすぐ新しいほうを始めます。あとで戻したときは、最初からではなく続きから再開します。
Dock アイコンもなければ、管理するウインドウもありません。何をしているかはアイコンが教えてくれます。聞いているあいだはインディゴ、モデルのダウンロード中は青、パイプラインが遅れ始めたら黄色。赤になることはありません。赤は録音の色ですが、ここでは何もどこにも書き込まれないからです。スイッチ類はメニューに置いたままで、そこで ⌘, を押すと、その奥にあるつまみを並べた設定ウインドウが開きます。
macOS には字幕機能が標準で入っています。Apple Silicon の Mac ならどれでも無料で、システム設定 › アクセシビリティ › リアルタイム字幕から使えます。それで足りるなら、それを使ってください。ここに挙げるのは、私の用途では足りなくなった点です。長い版が読みたければ、項目ごとの比較もあります。
ローンチウィーク:8 月 22 日まで $9 のところ $5 · 14 日間の返金保証
14 日間、理由を問わず返金します
買い切り $9、今後のアップデートはすべて込み ·
macOS 14.2 以降 · Apple Silicon
その Mac を使っているあいだ、リアルタイム字幕は無制限です。買い足す分数も、アカウントも、サブスクリプションもありません。