localVoiceRec
約 1MB の DMG に、OS 標準の AEC、録音と同時進行の文字起こし、
オンデバイス要約まで。外部依存ゼロ、ネットワーク権限なし。
macOS 26 Tahoe · Apple Silicon · Apple Intelligence 有効
In the app
録音中からリアルタイムに伸びる文字起こし、チャンネル別の波形、停止後の構造化要約まで。 左右に並ぶレイアウトで切り替えなしに完結します。
Privacy
ネットワーク権限を持たないため、アプリは外部と通信する経路自体を持ちません。 AEC・文字起こし・要約は、いずれも OS 標準フレームワーク内で完結します。
App Sandbox を有効化したうえで、network.client / network.server をいずれも付与していません。OS レベルで通信できません。
文字起こしは macOS 26 の SpeechAnalyzer、要約は Foundation Models(オンデバイス)。録音から議事録までインターネットは不要です。
Zoom / Teams / Meet に外部ボットを参加させる代わりに、Mac 自身が再生・収音する音声を Core Audio process tap で取得します。録音データは端末から一切外に出ません。会議参加者への録音同意の取得は、利用者の責任で事前に行ってください。
Inside
codesign --display --entitlements - でアプリの権限を確認すると、
ネットワーク系のキーが存在しないことが分かります。
[Key] com.apple.security.app-sandbox
[Bool] true
[Key] com.apple.security.device.audio-input
[Bool] true
[Key] com.apple.security.files.user-selected.read-write
[Bool] true
# network.client / network.server — 存在しない
Pipeline
01 — 収録
自分の声は AVAudioEngine + AUVoiceProcessing IO で OS 標準の AEC・ノイズ抑制・自動ゲイン調整を適用。相手の声は Core Audio の process tap で取得し、System 側はロックフリーの SPSC リングバッファで受け取ります。話者分離は AI 推定ではなくチャンネルで確定するため、誤判定が起きません。
02 — 録音と同時進行の文字起こし
1 つの PCM バッファを、(a) WAV ファイル書き込み、(b) 波形メーター、(c) SpeechAnalyzer への投入、に同期 fan-out します。バッファのコピーを増やさない 1-pass 構造のため、録音中から日本語・英語の文字起こしが伸びていき、停止と同時に確定済みテキストが揃います。
03 — 構造化要約
Foundation Models の @Generable で、概要・決定事項・アクションアイテム・未解決の問い・レビュー項目に整理します。
Export
詳細画面からエクスポートすれば、Slack や Notion にそのまま貼り付けられます。 Markdown とプレーンテキストの 2 形式に対応。
# 2026-05-27 ロードマップ確認
- 日時: 2026-05-27 14:30 〜 15:30 (60 分)
## 概要
Q3 の優先順位を整理し、Phase 1 から Phase 2 への
受け渡しを確定した。
## 決定事項
- 録音・文字起こし・要約は完全オンデバイスで進める
- Phase 2 のテスト計画を翌週金曜までに策定
## アクションアイテム
- [ ] テスト計画ドラフト(担当: 佐藤、期限: 06-03)
- [ ] セキュリティレビュー依頼(担当: 未割当)
## 文字起こし
[00:00] mic: では、本日のアジェンダから...
[00:03] system: 了解しました。まず...
Requirements
Download
Developer ID 署名 + Notarization 済み。ダウンロード後の Gatekeeper 警告はありません。
version 0.1.0
build 1 · 2026-05-27
d9150e6f5808dc7b18343beb15e2e285def5daa09d4798ce963854bc8a6c10df
shasum -a 256 ~/Downloads/localVoiceRec-0.1.0.dmg
FAQ
com.apple.security.network.client と
com.apple.security.network.server のどちらも entitlement に
含めていません。OS がアプリのソケット作成を拒否します。
codesign --display --entitlements - で確認できます。
~/Library/Containers/com.example.localVoiceRec/
の下に保存されます。形式は Linear PCM (WAV) で、可逆・非圧縮。
アプリから個別/一括削除でき、削除時はファイル実体も同時に消去されます。
AVAudioEngine の入力ノードに対して
setVoiceProcessingEnabled(true) を有効化し、macOS の AUVoiceProcessing IO を経由します。
OS 標準の AEC (エコーキャンセル)、ノイズ抑制、自動ゲイン調整がマイク側にかかるため、
ヘッドフォン未使用時の回り込みは大きく抑えられます。