MinuteAI徹底解説:MacとiPhoneの外に一切出ない文字起こし
MinuteAIが会議・インタビュー・ボイスメモを端末上だけでテキスト化する仕組みを解説。モデルパイプライン、メモリ制約、そしてなぜサーバーに一切触れないのかを紹介します。
文字起こしは普段どこへ向かうのか
たいていの文字起こしアプリに会議の録音をテキスト化させると、実際の処理はまったく別の場所で行われます。音声がアップロードされ、どこかのサーバーが処理し、数秒から数分後に文字起こし結果が返ってくる。カジュアルなボイスメモであればちょっとした不便で済みますが、クライアントとの打ち合わせや法律関係の録音、あるいは会話が非公開だと思っていた相手とのインタビューであれば、話はもっと大きくなります — その音声は今どこへ行ったのか、他に誰が見られるのか。
MinuteAIはこの問いに別の答えを用意しています。どこにも行かない、です。macOS/iOS向けのプライバシーファーストなローカルAI文字起こしアプリで、会議やインタビュー、ボイスメモを端末上だけで処理してテキスト化します。クラウドへの往復もトラッキングもなく、あなたの音声を見るサーバーは存在しません。
MinuteAIが実際にやっていること
MinuteAIはmacOSとiOSにネイティブ対応し、SwiftUIで構築され、CoreML — Apple Siliconでの機械学習モデルの効率的な実行を担うAppleのフレームワーク — を通じてオンデバイスAIを動かしています。具体的には次の通りです。
- オンデバイス文字起こし — 音声はローカルで文字起こしされ、文字起こしAPIにアップロードされることはありません
- CoreMLによる推論 — モデルはリモートのGPUクラスタではなく、Apple Neural Engineを通じて動作します
- クラウド非依存 — インターネット接続がなくても動作します。処理そのものがそもそもネットワークを必要としないためです
- macOS/iOSネイティブアプリ — Webビューのラッパーではなく、両プラットフォーム向けの正真正銘のSwiftUIアプリです
ダウンロードは無料で、その方向性は製品説明のこの一文に集約されています。「クラウドなし、トラッキングなし、純粋なプライバシーだけ。」
その裏にあるパイプライン
このようなアプリを支えるアーキテクチャについては、より一般的な形でプライバシーファーストなAIアプリ構築の記事で紹介しました。MinuteAIは、そのアーキテクチャが指し示す具体的なプロダクトです。簡単に言うと、Model ManagerがMLモデルをローカルにダウンロード・キャッシュ・ロードし、処理パイプラインが音声を文字起こしへ、さらに要約などの後処理ステップへとつなげ、結果ストア(SQLiteベース、全文検索対応)がネットワーク通信なしで何でも検索できるようにしています。Whisperベースの文字起こしモデルはCore MLが担当し、要約のようなLLMベースの機能はGGUF(llama.cpp経由)が担っています。2つのワークロードはパフォーマンス特性が異なり、それぞれ違うランタイムの恩恵を受けるためです。
本当の制約はメモリにある
AIモデルをローカルで動かすということは、プライバシーの課題をリソース管理の課題と交換することでもあります。Whisper Largeモデルの実行にはおよそ3GBのRAMが必要で、スマートフォンにとっては軽くない負荷であり、メモリに余裕のあるMacであっても無視できるものではありません。この制約への実用的な対応が、アプリの挙動の多くを裏側で形作っています。モデルは遅延ロードされ — 実際に文字起こしを実行したときにだけロードされ — 60秒間操作がなければ自動的にアンロードされます。常駐メモリとして居座り続けることはありません。モデルの重みはあらかじめ全部RAMに読み込むのではなく、メモリマップされたファイル経由で読み込まれ、アプリはos_proc_available_memory()を監視して、メモリが逼迫したときにクラッシュではなく段階的な機能低下で対応します。
ボイスメモを文字起こししようとアプリを開くユーザーには、こうした裏側の仕組みはまったく見えません。しかしこれこそが、ベースモデルのiPhoneでも確実に動くアプリと、開発者自身のハイエンド端末でしか快適に動かないアプリとの違いを生んでいます。
なぜこれが文字起こしにとって特に重要なのか
文字起こしは、多くのAIユースケースの中でもプライバシーへの影響がとりわけ大きい分野です。入力はほぼ常に誰かの実際の声であり、その人が第三者に文字起こしされることを必ずしも想定していない発言だからです。会議の録音には、誰もメールに書くつもりのなかった情報が含まれていることが少なくありません。インタビューではオフレコの発言が記録されます。ボイスメモは定義からして個人的なものです。この処理をオンデバイスで行うことは単なる付加機能ではありません。アップロードという工程自体が存在しないため、企業の機密保持ポリシーが本来検討すべき論点そのものが生じない、という意味でMinuteAIの使い道を変えるのです。
同じパイプラインはボイスメモやインポートした録音にとどまりません。Chrome拡張機能は、これをGoogle MeetやTeamsのライブ通話に適用し、ボットを会議に送り込む代わりに自分自身のタブの音声を取り込みます。
ポートフォリオの中でのMinuteAIの位置づけ
MinuteAIは、「データは端末から外に出ない」という中核の規律をAityTechポートフォリオの他のプロダクトと共有しています。PrivateAIは同じ原則をネイティブアプリではなくブラウザベースのツール群に適用し、Legacy Dragonはレガシーなソースコードの解析をクラウドサービスに送るのではなくローカルで行うことに適用し、Yomiteは日本語テキストのオフライン読み上げに適用しています。問題領域はそれぞれ違いますが、譲れない条件は同じです。仕事に本当に必要な以上の信頼やデータを求めないことです。
MinuteAIはmacOS/iOS向けにApp Storeで公開中です。詳しくはgetminute.appをご覧ください。ワークフローへの組み込み方についてご質問があれば、[email protected]までお気軽にどうぞ。
実績を見る
MinuteAIからAgentKitsまで — 私たちが提供した製品とプロジェクトをご覧ください。
ポートフォリオを見る関連記事
AgentKits Memoryのハイブリッド検索は「日本語」を二度解決しなければならない
BM25は意味を取りこぼし、ベクトル検索は正確なエラー文字列を取りこぼす。AgentKits Memoryは両方を融合させているが、日本語・中国語・韓国語のクエリではキーワード検索側にもう一段の判断が必要になる。
ガイドCOBOLモダナイゼーションツールの多くは「プログラム」で止まっている。実際に移行が壊れるのは、それを呼び出す「バッチジョブ」の側だ。
COBOL中心の依存関係マッピングツールは、JCLを「ジョブ名といくつかのDD文」程度の薄いラッパーとして扱いがちだ。しかし条件コード分岐、PROCのネスト、GDGの世代管理は、それ自体が独立した制御フローを持っており、依存関係グラフから日常的に抜け落ちている。Legacy Dragonが、後付けのメタデータとしてではなく、JCLを同じASTの中の第一級言語としてパースしている理由。
ガイド322種の声、142言語、サーバーなし — ブラウザタブにそれだけの音声を収める方法
PrivateAIの音声合成ツールは322以上の声、142言語をすべてオンデバイスでカバーする。速度ではなく「声と言語のカバー範囲」こそがブラウザ型TTSの本当の難所である理由と、オープンソース勢・有料クラウドAPIとの比較。