
プロンプトを部屋中に聞かせない
変更内容もエラーも、口元で小さく話せば十分です。オフィス全体に説明する必要はありません。
共有オフィスで開発する人へ
iPhoneを口元に近づけ、押している間だけ話します。声を張る必要はありません。Macがローカルで文字に変え、いまカーソルがある場所へ直接入力します。

01 / 発想はシンプル
離れたMacBookのマイクには、声だけでなくキーボード、空調、周囲の会話も一緒に入ります。マイクを口元へ持ってくれば、まず自分の声が強く届きます。認識モデルに無理をさせる前に、入力そのものを良くする考え方です。
IPHONE → MAC / 使い方
iPhoneは口元の音を拾う役。暗号化した音声をペアリング済みのMacへ直接送り、Mac上で認識して、選択中のカーソル位置に入力します。
ScenicRouteRanker.swift

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

近接収音はオフィスを静かにする機能ではありません。認識が始まる前から、自分の声を周囲の音より強くします。
Codex、Claude Code、Xcode、Terminal、ブラウザ。そのままの画面で、文字だけがカーソルへ届きます。
02 / デスクで効く数字
どれだけ小声にできるのか、音声はどこへ行くのか、話したあとに操作が増えないか。日常の使い勝手に直結する数字です。
iPhoneは口元へ。MacBookは50〜80 cm離れた机の上に置いたままで構いません。
5〜10 cmと50〜80 cmの距離だけから求めた目安です。部屋、持ち方、マイク性能で実際の値は変わります。
認識はMac上で完結。モデルの準備後は、ローカル利用にインターネット接続は不要です。
音声はメモリ上で処理して破棄。iPhoneにもMacにも録音として保存しません。
別アプリを開かず、認識結果は現在の入力欄へ直接入ります。
履歴は完全にオフにもできます。undervoiceのサーバーへ同期されることはありません。
03 / モデルと言語
1つの汎用モデルにすべてを任せず、言語ごとに調整したパックを用意しました。日本語、中国語、ドイツ語、フランス語、スペイン語、韓国語の文章に、英語のライブラリ名、変数名、コマンドを自然に混ぜられます。英語専用モードもあります。
バイリンガルのストリーミングモデルでプレビューし、Paraformerまたは高精度優先のFireRedASR2 CTCで確定。句読点もローカルで補います。
NVIDIA Parakeet TDT 0.6B v3を、英語・ドイツ語・フランス語・スペイン語向けに製品設定しています。
Kotoba Whisper Bilingual v1.0は、日本語、英語、そして両者をまたぐ音声認識のために学習されたモデルです。
Whisper Large v3 Turboで、韓国語の文とその中の英語技術用語を扱い、ローカル処理の待ち時間を抑えます。
WERとCERは低いほど高精度です。6.34%と9.3〜16.8%は、上流のフルモデルが公開テストセットで出した値です。iPhone近接収音、量子化モデル、言語混在を含むundervoice全体の精度ではありません。異なるデータセットと指標を単純な順位にはできません。
04 / IPHONEとMACBOOKのマイク
どちらもMac上の同じローカルモデルを使えます。違うのは、音声が口元の数センチ先から始まるか、机の向こうから始まるかです。
| 共有オフィスで | iPhoneを口元に | MacBook内蔵マイク |
|---|---|---|
| 口からマイクまで | 5〜10 cm | 50〜80 cm |
| 小声で話したとき | 自分の声が先に強く入る | 声、キーボード、空調、周囲の会話が一緒に入る |
| 必要な声量 | 小声のままでよい | 机上の距離では声を張りがち |
| 認識する場所 | 自分のMac上 | 自分のMac上 |
| 向いている環境 | オープンオフィス、共有デスク | 個室、内容が聞かれても問題ない場面 |
14〜24 dBは、自由音場の関係式20 × log10(r₂/r₁)で5〜10 cmと50〜80 cmを比べた目安です。反射、置き方、声の向きで実測値は変わります。
05 / セキュリティと通信
undervoiceに音声中継サーバーはありません。同じネットワークではiPhoneからMacへ直接接続し、離れた場所では自分のTailscaleを利用できます。どちらの場合も、アプリ側の端末認証と暗号化は維持されます。
インストールと権限について →同じWi-Fiにいるだけでは接続できません。新しいiPhoneは明示的なペアリングが必要です。
音声、文字、制御メッセージを認証し、エンドツーエンドで暗号化します。
再接続のたびに新しいセッション鍵を導出します。
録音はメモリ上だけ。診断情報にも音声や文字起こし本文は含みません。
ローカルネットワークでは、音声はiPhoneからMacへ直行し、モデルもMac上で動きます。
別のWi-Fiやモバイル回線では、自分のTailscaleを利用できます。undervoiceの暗号化もそのままです。
06 / どこにでも入力
「公開APIは変えず、リトライを指数バックオフにして、境界値テストを3つ追加して。」
聞き取り中話し始めた時点のアプリと選択範囲をMacが記憶します。途中でフォーカスが変わると入力は停止。パスワード欄とSecure Keyboard Entryが有効なコントロールには書き込みません。
部屋ではなく、MACに話しかける
Macにモデルを入れ、iPhoneでペアリングコードを読み取るだけ。あとは長押しして話せます。