オフィスでも使える小声の音声入力

音声入力は使いたい。
でも、大きな声で話すのはちょっと。

undervoiceなら、まだ人に話していないアイデアも、周りを気にせず声にできます。人前でプロンプトを読み上げる気まずさもありません。iPhoneに小声で話すと、Macがローカルで文字起こしし、カーソル位置にそのまま入力します。

オープンオフィスでiPhoneに小声で話し、Macに文字が入力されている開発者

01 / しくみ

Macは机の上。iPhoneなら口元へ。

undervoiceは、机の向こうのMacではなく、手元のiPhoneで声を拾います。口元に近いぶん、キーボードや空調、周囲の会話より先に自分の声が届きます。声を張らなくても、Mac上の音声認識に聞き取りやすい音を渡せます。

IPHONE → MAC / 使い方

iPhoneへ小声で話す。文字はCodexへ。

iPhoneは口元の音を拾う役。暗号化した音声をペアリング済みのMacへ直接送り、Mac上で認識して、選択中のカーソル位置に入力します。

Codex / Claude Codeslowmap / prototype
散歩ルートの評価を実装中ScenicRouteRanker.swift
最短ルートではなく、木陰の多さ、騒音、坂のきつさで散歩コースを評価する地図を作って。
iPhone 17 Pro Maxに表示されたundervoiceの音声入力画面
デスクで01
デスクでiPhoneに小声で話している様子

プロンプトを部屋中に聞かせない

変更内容もエラーも、口元で小さく話せば十分です。オフィス全体に説明する必要はありません。

近接収音02
口元の近くに持ったiPhone

認識の前に、声を前へ出す

近接収音はオフィスを静かにする機能ではありません。認識が始まる前から、自分の声を周囲の音より強くします。

いつもの開発環境で03

ツールを乗り換えない

Codex、Claude Code、Xcode、Terminal、ブラウザ。そのままの画面で、文字だけがカーソルへ届きます。

02 / デスクで効く数字

体験に関係する数字だけ。

どれだけ小声にできるのか、音声はどこへ行くのか、話したあとに操作が増えないか。日常の使い勝手に直結する数字です。

5–10 cm

マイクまで、ほんの数センチ

iPhoneは口元へ。MacBookは50〜80 cm離れた机の上に置いたままで構いません。

14–24 dB

同じ入力レベルなら、より小さな声で

5〜10 cmと50〜80 cmの距離だけから求めた目安です。部屋、持ち方、マイク性能で実際の値は変わります。

0 cloud audio

クラウド音声認識を経由しない

認識はMac上で完結。モデルの準備後は、ローカル利用にインターネット接続は不要です。

0 audio files

録音ファイルを残さない

音声はメモリ上で処理して破棄。iPhoneにもMacにも録音として保存しません。

0 copy / paste

コピー&ペースト不要

別アプリを開かず、認識結果は現在の入力欄へ直接入ります。

1 hour

Macの履歴は初期設定で1時間

履歴は完全にオフにもできます。undervoiceのサーバーへ同期されることはありません。

確認できる境界:接続はペアリング済み端末だけ。音声はアップロードもファイル保存もしない。フォーカスが変われば入力停止。パスワード欄とセキュア入力には書き込まない。

03 / 日本語音声認識

日本語のために最適化。英語は混ぜたままで。

日本語を長い対応言語リストの1項目として扱いません。undervoiceは、日本語のプロンプトと、その中に自然に入る英語のライブラリ名、API、変数名、コマンドに合わせて認識を構成しています。

日本語日本語 + English
日本語LOCAL

日本語を中心にした認識

Kotoba Whisper Bilingual v1.0を、日本語での利用に合わせたローカルパックとして構成。ランタイムと量子化も、Macで実用的に動かすために選んでいます。

ランタイム
whisper.cpp
最適化
Q5_0
最適化対象
日本語のプロンプトとローカル速度
JA + ENLOCAL

英語の技術用語をそのまま認識

ライブラリ名、API、変数名、コマンド、略語を日本語の文に自然に混ぜられます。話の途中で言語モードを切り替える必要はありません。

ランタイム
whisper.cpp
最適化
Q5_0
設計対象
日本語と英語の自然な混在
「最適化」の意味

日本語向けパック、ローカルランタイム、量子化、製品設定を、日本語の開発プロンプトのための1つの認識経路として組み合わせています。汎用モデルがすべての言語で同じように動く、という主張ではありません。

モデル資料Kotoba Bilingual

04 / IPHONEとMACBOOKのマイク

モデルを比べる前に、入力を整える。

どちらもMac上の同じローカルモデルを使えます。違うのは、音声が口元の数センチ先から始まるか、机の向こうから始まるかです。

共有オフィスでiPhoneを口元にMacBook内蔵マイク
口からマイクまで5〜10 cm50〜80 cm
小声で話したとき自分の声が先に強く入る声、キーボード、空調、周囲の会話が一緒に入る
必要な声量小声のままでよい机上の距離では声を張りがち
認識する場所自分のMac上自分のMac上
向いている環境オープンオフィス、共有デスク個室、内容が聞かれても問題ない場面

14〜24 dBは、自由音場の関係式20 × log10(r₂/r₁)で5〜10 cmと50〜80 cmを比べた目安です。反射、置き方、声の向きで実測値は変わります。

05 / セキュリティと通信

録音は、選んだMacへ直接。

undervoiceに音声中継サーバーはありません。同じネットワークではiPhoneからMacへ直接接続し、離れた場所では自分のTailscaleを利用できます。どちらの場合も、アプリ側の端末認証と暗号化は維持されます。

インストールと権限について
PAIRED

接続できるのはペアリング端末だけ

同じWi-Fiにいるだけでは接続できません。新しいiPhoneは明示的なペアリングが必要です。

E2E

iPhoneを出る前に暗号化

音声、文字、制御メッセージを認証し、エンドツーエンドで暗号化します。

ROTATE

接続ごとに新しい鍵

再接続のたびに新しいセッション鍵を導出します。

RAM

音声をファイルにしない

録音はメモリ上だけ。診断情報にも音声や文字起こし本文は含みません。

0 CLOUD

undervoiceの音声クラウドなし

ローカルネットワークでは、音声はiPhoneからMacへ直行し、モデルもMac上で動きます。

REMOTE

遠隔接続は自分のプライベート網で

別のWi-Fiやモバイル回線では、自分のTailscaleを利用できます。undervoiceの暗号化もそのままです。

06 / どこにでも入力

カーソルのある場所が、入力先です。

CodexClaude CodeXcodeTerminalあらゆるテキスト欄

「公開APIは変えず、リトライを指数バックオフにして、境界値テストを3つ追加して。」

聞き取り中

話し始めた時点のアプリと選択範囲をMacが記憶します。途中でフォーカスが変わると入力は停止。パスワード欄とSecure Keyboard Entryが有効なコントロールには書き込みません。

undervoice

部屋ではなく、MACに話しかける

小声で話す。思いきり作る。

Macにモデルを入れ、iPhoneでペアリングコードを読み取るだけ。あとは長押しして話せます。