Parrot について
Parrotは、文字起こし、リアルタイム支援、検索可能な通話記録を備えたMac向け会議レコーダーです。会議のローカル記録とフォローアップを必要とする人向けで、MCP経由でClaudeなどの対応AIアプリに選択した会議データを渡せます。
主な機能
- 01Macで通話を録音・文字起こし
- 02個人の文書に基づく回答候補
- 03過去の会議の検索と質問
- 04該当箇所付きレポートの生成
- 05AIアプリに共有する会議データの選択
活用シーン
- 01複数の通話における約束とフォローアップの確認
- 02会議中に文書に基づく提案を取得
- 03過去の会議記録を使った通話準備
- 04会議内容に基づくフォローアップの作成
MCP 対応
ParrotはClaude Desktop、Claude Code、Codex for ChatGPT plans、Cursorに接続し、選択した会議データを読み取れるようにします。会議データへのアクセスは読み取り専用で、提案されたプロファイルは確認後に適用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ウェブサイト · ダウンロード · ユーザーガイド · ディスカッション
🦜 Parrot
ライブ AI アシスタントを内蔵した、Mac 用の会議録音アプリです。Mac 上のあらゆる通話を録音して文字起こしし、会話中に自分のドキュメントから回答を提案し、通話が終わる前にレポートを作成します。
会議にボットが参加することはありません。Google Meet、Zoom、Teams など、Mac で音声を聞けるものなら何でも使えます。文字起こし、話者の検出、ドキュメントはすべて Mac 上に保存されます。アシスタントの頭脳は自由に選べます。自分のキーを使った Claude、OpenAI 互換サーバー、または Ollama を使ったローカルモデルなら、すべて無料でオフラインでも利用できます。
https://github.com/user-attachments/assets/76dc07c7-6667-497e-b39f-8218e077c88c
73 秒でわかる Parrot。音声をオンにするか、字幕をご覧ください。
openparrot.app に掲載しているライブ通話画面です。相手からデータの保管場所について質問され、回答は取り込んだ FAQ からそのまま提示されました。
こんにちは! 👋
さて、私は Uygar といいます。一から自分の会議録音アプリを作ろうとしています。Otter.ai のように、自分が管理できないサーバーに会話をすべて送信するサービスに料金を払い続けるのが嫌になったのがきっかけです。「これを Mac 上だけで動かすのって、どれくらい難しいんだろう?」と思いました。実際にやってみたら……なかなか大変な道のりでした。😄
Claude の力を借りて開発しています(そう、AI のほうです。夜遅くまで一緒に何度もコーディングしました)。正直なところ、これまで取り組んだ中で最も楽しいプロジェクトのひとつです。まだ完璧ではありません。追いかけているバグや、面倒な権限設定、まだ実現方法がわからない機能もあります。それでも基本的な部分は動いていて、今ではすべてのクライアントとの通話で使っています。
これは個人プロジェクトです。学びながら開発しています。 これを見つけて、改善に協力してくれる腕利きのコーダーがいたら、本当に心から感謝します。バグの修正、話者検出の改善、あるいは間違いを指摘してもらうだけでも、どんな協力も助けになります。PR や issue を作成するか、気軽にご連絡ください。🙌
役に立ったと思ったり、アイデアが面白いと思ったりしたら、スターを付けてください。とても励みになります。
目次
できること · プライバシー:Mac から送信される情報 · はじめに · キーボードショートカット · 技術スタック · ソースからビルド · 協力したい方へ · 既知の問題 · 類似プロジェクト
できること
🎯 ライブアシスタント:通話中のサポート
会話を常時確認し、適切な情報を画面に表示するアシスタントです。通話中ずっと、ボタンを押す必要はありません。
- 相手から質問があった瞬間に、あなたのドキュメントに基づく回答候補を表示します。カードにはファイル名とコピー用のボタンが表示されます。
- 反論や未解決の質問をカードに固定できます。対応するまで画面に表示され、対応すると自動的に解決済みになります。
- 約束した次のステップを、その瞬間に記録します(「あなたが約束したこと」)。
- 0〜100 の通話スコア、1 行のコーチングコメント、雰囲気の読み取り、購入意欲やあなたの発話中などのゲージを表示します。あなたの発話割合が 70%を超えると、オレンジ色になります。
- 会話が脱線すると助言を表示します。通話中のアプリの上に約 10 秒間、短いヒントを表示します。例:「『価格は 1 月に上がります』と言ってから、相手が黙っています。」 長い沈黙、独り語り、相手の発話への割り込み、短い回答、早口、自分の発言の繰り返しを検出します。アシスタントがオンの場合は、雰囲気の変化、回答していない質問、次のステップがないまま通話が終わりそうなことも検出します。表示は 2 分に 1 回までで、画面共有には表示されません。読み取るのはタイミングと発言内容であり、誰かの声から感情を読み取ることはありません。設定 > アシスタント > ライブ助言。
- 通話前に概要を伝えられます。 ダッシュボードに 1〜2 行のメモ(「契約更新の通話。法務部はデータの保存場所を知りたがっている」など)を入力すると、最初の瞬間から相手を把握できます。通話中に 概要を共有済み カードから編集できます。
- 利用量は自分で調整できます。 応答速度(無料プランでは「高速」「バランス」「ゆったり」)、各リクエストに含める会話の長さ(2、5、10 分)、通話画面とメニューバーにあるアシスタント切り替えを設定できます。オフにすると、何も送信されず、利用量も消費されませんが、録音と文字起こしは続きます。
- 約 0.5 秒でドキュメントから回答(オプションの Claude モード):TypeSafe AI のキーを追加すると、Claude が回答を作成している間に、該当する抜粋がドキュメントからの情報カードとして表示されます。
📚 ナレッジベース:新しいチームメイトに説明するように概要を伝える

- PDF、テキスト、Markdown を追加できます。料金表、FAQ、プレイブックなどに対応しています。Apple の NaturalLanguage フレームワークを使って、Mac 上で分割・埋め込み処理を行い、完全一致検索(BM25)用のインデックスも作成します。何もアップロードされず、選択したアシスタント用 AI に送られるのは、質問に一致する少数の抜粋だけです。
- ドキュメントをフォルダーに整理し、各フォルダーの用途を一度設定できます。すべての通話タイプ、一部の通話タイプ、または一時停止する「オフ」から選べます。ドキュメントごとに個別の設定もできます。アシスタントが使用できないドキュメントにはその旨が表示され、1 行の説明で内容をあなたとアシスタントに伝えられます。
- あらゆる通話に対応するコーチング指示を設定できます(「回答は短くし、必ず価格を 3 つ提示する」など)。
- ドキュメントに記載がない場合に、一般知識から回答してよいかどうかを選べます。各カードには、回答の情報源が表示されます。
🔎 Ask Parrot:すべての通話を記憶
すべての通話についてチャットできます(⌘K)。「Acme に何を約束した?」「それと、何を提案した?」などと尋ねられます。チャットは保存され、追加の質問もでき、回答内の各事実はチップになっていて、クリックすると該当する秒の会議が開きます。「先週、会議は何件あった?」のような件数は、Mac 上で正確に算出されます。Ask Parrot には独自の AI 選択機能があります。検索は常に Mac 上で実行され、Ollama を使えば回答の作成も Mac 上で行われます。英語とトルコ語に対応しており、ベータ版です。以前に会った人との通話が始まると、ライブアシスタントのブリーフに前回の未完了項目が表示されます。
🤝 Claude で会議を活用
無料で、会議ボットもなく、30 日間の制限もありません。会議データは、依頼するまで Mac 上に保存されます。ワンクリックで Claude Desktop(または Claude Code、ChatGPT プラン向けの Codex、Cursor)に接続すれば、ご自身のプランを使って推論できます。「先週、何を約束した?」「Acme との通話に向けてブリーフィングして」「今朝の通話のフォローアップを作成して」「直近 10 件の通話を通じてコーチングして」などと尋ねられます。Claude は、実際の話者名、ページ分割された長い文字起こし、担当者付きの約束、発話時間に加え、+ メニューに用意された 4 つのアクション(週次ダイジェスト、フォローアップメール、通話の準備、通話からの PRD 作成)を利用できます。会議の内容を変更することはできません。表示する内容(文字起こし、レポート、メモ、アシスタントカード、通話の種類全体)はご自身で選べます。デバイス上のみで処理される会議は表示されず、Parrot は読み取り頻度を知らせます。Claude から送信できるのは、提案されたプロフィールだけです。これは確認のために待機します。サイドバーで Claude & AI Apps を開いてください。仕組み。
🎭 通話プロフィール:あらゆる通話に対応する 1 つのアプリ

通話の種類を Parrot に伝えると、プロフィールに応じて、アシスタントが注目する内容やレポートの書き方が決まります。
- 組み込みプロフィール 8 種類: Default、Sales discovery、1:1 coaching、Interview、Customer support、Vendor call、Investor pitch、Generic。Sales は反論や購入の兆候を探します。Interview はフォローアップや懸念事項を探します。1:1 では振り返りや未解決の質問が表示されます。
- 専用レポート: 各プロフィールが、そのプロフィールを使った通話のレポートを作成します。自分の言葉で記述するセクションを、箇条書きまたは段落で作成できます。スコアカードでは、各基準を 1 から 5 で評価し、その評価が分かる場面も示します。約束を記載するセクションや、コーチングを行うかどうかも指定できます。Sales のレポートでは予算、意思決定者、スケジュールについて尋ね、Interview ではスコアカードを作成します。
- プロフィールを作成: 名前を付け、相手が誰なのかを指定し、ペルソナとルールを記述して、使用するドキュメントを選びます。独自のカードタイプ(色、アイコン、「対応するまで画面に表示」など)やゲージも追加できます。
- 共有:
.parrotprofileをエクスポートして同僚に共有したり、同僚のプロフィールをインポートしたりできます。Parrot は変更を適用する前にすべて表示します。また、ファイルによってデバイス上のみの設定をオンにすることはできますが、オフにすることはできません。各プロフィールの直近 5 バージョンが保存され、ワンクリックで復元できます。 - Claude に調整を依頼: Claude が最近の通話を読み取り、より適したプロフィールを提案できます。提案は Parrot に届き、確認してから適用、別名で保存、または破棄できます。
🗣️ 話者名:名前で表示し、「話者 2」とは表示しません

- 自分と相手を正確に分離します。通話中、マイク音声と通話音声は別々のトラックです。
- 通話後にデバイス上で話者を検出し(FluidAudio、13 MB のモデル)、相手側の声を聞き分けます。
- 短い音声クリップから声に一度名前を付けると、すべての発言にその名前が表示されます。招待された参加者、過去の通話に登場した名前から選ぶか、新しい名前を入力できます。レポートとコーチングには実名が使われます。実際より話者が少なく検出された場合は、発言を右クリックして、**この発言の話者 → 新しい話者…**を選択してください。
- 声を記憶する(オプトイン):次の通話では、Parrot が「Jeremy のように聞こえますか?」と尋ねます。ワンクリックで確認できます。カレンダーの招待がある場合は、招待された参加者のみが候補として表示されます。声紋は Mac 上に保存され、いつでも削除できます。
- リアルタイムの話者ラベル(実験的機能、デフォルトではオフ):通話中に相手側の名前を表示します。「相手」は数秒以内に「話者 1」「話者 2」になり、通話中に声に名前を付けられます。通話終了後の処理でも同じラベルが維持されます。音声の最後の 1 分だけを再確認するため、長い通話でも短い通話と費用は変わりません。
- 発言を間違えて分類した場合は、右クリックして、その発言だけを再割り当てできます。
- 1 人が 2 人に分かれている場合は? この通話の参加者で、もう一方の声の名前を選ぶと、過去の会議も含め、どこでも 1 人としてまとめられます。同じ名前の招待参加者は別々の人物として扱われます。
📝 レポートを自動作成し、その後コーチングします

- 通話の内容: レポート上部のタイムラインには、分ごとのあなたと相手の発話割合、通話中のプロフィールの主要ゲージ、番号付きの場面(ヒント、転換点、あなたが付けたマーク)が表示されます。最初の5件が表示され、Show all ですべてを開き、場面の再生中は Play が Stop に切り替わります。
- 要約: 通話のプロフィールに合わせて作成されます。デフォルトでは、概要、課題点、重要なポイント、次のステップが含まれます。
- レポートを書き直す: 間違ったプロフィールで録音した場合や、プロフィールを変更した場合でも、過去のレポートを任意のプロフィールで書き直し、ワンクリックで元に戻せます。
- すべてのポイントに根拠を表示。 各箇条書きにはタイムスタンプ(
12:34)が付き、クリックすると正確な引用を確認できます。Play from Here でその箇所から再生したり、Show in Transcript で文字起こし内の該当箇所を表示したりできます。タイムスタンプは Mac 上の文字起こしと照合され、実際には誰も約束していない内容は、事実として示す代わりに unverified と表示されます。 - 通話中に付けたマーク(Mark ボタン、または任意のアプリから ⌃⌥M)には専用のカードが用意され、重要なポイントとして把握したうえでレポートが作成されます。
- 共有: チーム向けのレポートPDF(文字起こし、メモ、費用は含まれません)、実際に交わされた約束だけを記載したフォローアップメール(Mail が開き、招待者が宛先に設定されます)、Apple Reminders への次のステップの登録、Obsidian の保管庫または任意のフォルダーへの Markdown メモの保存(希望すれば自動保存)、Slack、Notion、CRM 向けの Zapier/Make/n8n への Webhook を利用できます。
- コーチング: 会話の配分、うまくいった点、改善点、Handled または Missed と記録された異議や質問、双方の約束事項を確認できます。
- レポートがない場合: Assistant をオフにして録音した通話でも、必要に応じて作成できます。会議の Report タブで Write report を選択してください。
- 通話ごとの AI 費用をセント単位で確認できます。モデル、トークン、通話回数、文字起こしの分数と、項目ごとの内訳が表示されます。ローカル機能は誇らしく $0.00 と表示されます。
- 文字起こしと同期した再生(0.5x~2x):行をクリックすると、その場面を再生できます。
- タイトルも自動で作成。 通話後、Parrot が会議にタイトルを付け、相手と通話の内容を1~2行で記載して、画面上部に表示します。Call saved ボックスでは、内容を覚えているうちにタイトルとメモを設定できます。
- 通話中または通話後に入力したメモは会議と一緒に保存され、最初の数行が画面上部に表示されます。
🧠 使用する頭脳を選べます

| アシスタントとレポート | 内容 | Macから外部に送信されるもの |
|---|---|---|
Claude (claude-haiku-4-5) | 最も優れたカードです。ご自身のキーを使います。通話1時間あたり約0.07ドルです。 | 文字起こしテキストがAnthropicに送信されます。音声は送信されません。 |
| Ollama(ローカル) | llama3.2:3b、gemma3:4b、またはお好みのモデルを使えます。ParrotがOllamaをインストールし、モデルをダウンロードできます。無料です。 | 何もありません。Wi-Fiをオフにしても動作します。 |
| その他のAIサービス | OpenAI互換のサービスなら何でも使えます。OpenRouter、OpenAI、Gemini、Groq、LM Studioなどです。 | 文字起こしテキストが、選択したサーバーに送信されます。 |
リアルタイムのカードと通話後のレポートでは、異なる頭脳を使えます(たとえば、リアルタイムではOllama、レポートにはClaudeを使えます)。
| 文字起こし | 選ぶ理由 | 通話1時間あたりの概算コスト(双方) |
|---|---|---|
| オンデバイスWhisper(デフォルト) | プライベート、オフライン、無料です。Tiny(40 MB)からLarge V3 Turbo(1.6 GB)まで、5つのモデルがあります。 | 無料 |
| オンデバイスParakeet v3 | プライベート、オフライン、無料で、最速です。対応するのはヨーロッパの25言語のみです(トルコ語は対象外)。それ以外の言語で通話すると、その側の文字起こしはWhisperに引き継がれ、必要になったときだけ読み込まれます。 | 無料 |
Groq whisper-large-v3-turbo | 大規模モデル並みの精度で、ローカルと同等のレイテンシです。 | 約0.08ドル |
| Deepgram Nova-3 | 真のストリーミングに対応し、話した単語が約300 ms後に表示されます。 | 約0.70ドル(言語を1つに固定すると0.58ドル) |
クラウドエンジンで通話中に問題が発生すると、自動的にオンデバイス処理に切り替わります。オプションの仕上げ処理では、「停止」を押した後に、保存された音声をGroqの大規模モデルで再度文字起こしし、より整ったテキストを使ってレポートを書き直します。
🌍 言語も選べます
Whisperは通話の言語を自動検出します。または、14言語(英語、トルコ語、スペイン語、ドイツ語、フランス語、イタリア語、ポルトガル語、オランダ語、ロシア語、アラビア語、ヒンディー語、中国語、日本語、韓国語)のいずれかに固定できます。アシスタントとレポートは、通話の言語で回答します。ドキュメントは、トルコ語、オランダ語、ポーランド語、ロシア語、アラビア語、ヒンディー語、中国語、日本語、韓国語など、主要な言語のほとんどに対応しており、英語で質問してトルコ語やスペイン語のドキュメントから答えを見つけることもできます。英語以外の言語では、Large V3 TurboまたはGroqを選んでください。通話の言語は、録音を開始のすぐ下で選択します。通話の言語が選択した言語と異なる場合、最初の数秒以内にバナーで通知され、ワンクリックで切り替えられます。Parrotは、通話中に言語が変わる場合に備えて、30秒ごとに確認を続けます。Deepgramでは、トルコ語、アラビア語、中国語、韓国語は名前で選択してください。自動検出は10言語に対応しており、これらの言語は対象外です。カスタム語彙リストに登録すると、Whisperが製品名や人名を認識できるようになります。
🧰 日常のあれこれにも対応
- 通話を検知します。 Zoom、Meet、Teams、FaceTimeでマイクが使われ始めると、Parrotが 「録音しますか?」 と尋ねます(設定によっては自動で録音します)。通話が終わると、録音を停止するか確認します。検知するのはマイクが使用中かどうかだけで、ほかのアプリの音声を聞くことはありません。Wispr Flowなどのディクテーションアプリは通話として扱いません。
- カレンダーを認識します(オプトイン、読み取り専用、ローカル)。会議にはイベント名とゲストリストが引き継がれ、ゲスト名はワンクリックで選べる話者名になります。「面接:ジェーン」のようなイベントタイトルに一致するプロフィールも選択されます。対象になるのは自分のイベントのみ(未回答の招待は対象外)で、読み取りを許可したくないカレンダーのチェックは外せます。
- ログイン時に起動するよう設定できます。その日の最初の通話からすぐに使えます。
- システム音声とマイク音声を別々のトラックとして録音します。 macOS 15以降では音声専用のシステムオーディオ許可(Core Audio taps)を使用し、macOS 14ではScreenCaptureKitを使用します。仮想オーディオドライバーは不要です。
- エコーキャンセル(SpeexDSP)により、スピーカー使用時に相手の音声がマイクに漏れるのを防ぎます。再生時には相手だけが話している間、自分側の音量を下げるため、スピーカーで録音した通話も二重に聞こえません。自分が多く話す通話でも、相手の声がエコーしただけの自分側の発言は文字起こしから除外されます。自分の発言に混じった相手のエコー音声は取り除かれ、自分の声は残ります。処理はデバイス上でもDeepgram使用時でも行われます。通話中にAirPodsのバッテリーが切れたり、接続先が切り替わったりしてもマイクは自動で再接続され、エコーキャンセルもすぐに再開します。
- 自分をミュートします。 ZoomやTeamsでミュートしてもParrotには反映されないため、独自のミュート機能を用意しています。通話画面の 自分をミュート を選ぶか、どのアプリからでも⌃⌥⇧Mを押すと、ミュート解除まで自分側の音声は無音として録音されます。
- 断片ではなく、文として記録します。 話者が間を置くと、発言は文全体として記録されます。話している間は、リアルタイムのグレーのプレビューが表示されます。無音部分が文字起こしされることはありません。
- 会議を失いません。 通話中にParrotがクラッシュしたり、強制終了されたりしても、次回起動時に録音と文字起こし、レポートが復元されます。通話中に⌘Qを押すと、先に録音を終了します。
- 停止を押し忘れても大丈夫です。 誰も話さないまま15分が経過すると、Parrotが まだ録音中ですか? と尋ねます。静かな部屋が文字起こしされることはありません。最後の部分も削除したい場合は、発言を右クリックして この行より後をすべて削除 を選んでください。音声は全体が保存されます。
- 録音を読み込みます。 音声ファイル(m4a、mp3、wav、aac、aiff、caf)をウィンドウにドロップすると、リアルタイムの通話と同じように、文字起こし、話者ごとの分割、要約が行われます。
- 会議をMarkdown、TXT(メモ、レポート、アシスタントカード、文字起こしを1つのファイルにまとめたもの)、SRT字幕としてエクスポートでき、レポートは共有用のPDFとして保存できます。
- 検索できる履歴。 タイトルと文字起こしを検索でき、会議は日ごとにまとめられ、各会議には会話比率を示すバーが表示されます。
- メニューバーにオウムが登場します。 どこからでも録音を開始・停止でき、通話時間とミュート状態をひと目で確認できます。プロフィールの切り替え、最新レポートのコピーもでき、カレンダーを接続していれば、次の通話に参加してワンクリックで録音できます。メニューバーだけに表示したい場合は、ウィンドウを閉じたときにDockアイコンを隠す設定もあります。ホームには会議数、録音時間、単語数をまとめたダッシュボードが表示されます。
- 常に最新の状態を保ちます。 署名付きのSparkleアップデートは、録音中ではなくアプリ終了時にインストールされます。アップデートが利用可能になると通知が表示され(待てない場合は 今すぐ再起動 を選択)、アップデート後にホームで新機能を確認できます。
- アプリ内に充実したユーザーガイドがあります(ヘルプ > Parrotヘルプ、検索可能、オフライン対応)。ウェブでもご覧いただけます。
- 2クリックでバグを報告できます。 画面の隅にあるてんとう虫をクリックすると、バージョン、モデル、設定などの基本情報が記入され、内容を確認して自分で投稿できるGitHubのIssueが用意されます。
- ライトモードとダークモードに対応。ネイティブSwiftUIを使用し、Electronは使用していません。
プライバシー:Mac から送信されるデータ
これはマイクとシステム音声を使うアプリです。ですから、何もかも言葉だけで信じていただく必要はありません。マシンの外部へ送信される可能性があるものと、そのタイミングをすべて示します。
| 機能 | 送信するもの | 送信先 | タイミング |
|---|---|---|---|
| 録音、オンデバイス文字起こし、話者検出、声紋、ドキュメントインデックス | なし | なし | 常にローカル |
| モデルのダウンロード | ダウンロードリクエスト | Hugging Face(Whisper、Parakeet、音声検出モデル、話者検出モデル);Apple(アラビア語、インド系言語、一部のキリル文字のドキュメント向け言語モデル) | 初回使用時に一度 |
| アップデート確認 | アプリのバージョン | GitHub Pages(Sparkle フィード) | 1 日に 1 回。自動インストールはオフにできます |
| Claude またはカスタムサーバー上のアシスタント | 文字起こしテキスト、一致したドキュメントの抜粋、プロフィールの指示 | Anthropic、または選択したサーバー | アシスタントを有効にした場合のみ |
| TypeSafe のドキュメント回答 | 質問、数行のコンテキスト、候補となるドキュメントの抜粋 | TypeSafe AI | TypeSafe キーを設定し、Claude モードを使っている場合のみ |
| Groq または Deepgram による文字起こし、仕上げ処理 | 通話音声 | Groq または Deepgram | そのエンジンを選択した場合のみ |
| カレンダー | なし(macOS のカレンダーストアからローカルで読み取ります) | なし | 接続した場合のみ |
| アシスタント用のカレンダー招待 | イベントのタイトル、ゲスト名、メモ(ダイヤルイン情報は除外) | Anthropic、または選択したサーバー | 「招待からアシスタントに概要を伝える」を有効にした場合のみ |
| 通話検出 | なし(マイクを使っているアプリを macOS に問い合わせます) | なし | オフにしない限り |
| Ask Parrot | 最も関連性の高い抜粋数件とチャットの最近のメッセージ(オンデバイスのみの会議では送信されません) | Ask Parrot で選択した AI(デフォルトではレポート用 AI) | クラウド AI を使う場合のみ。Ollama では何も送信されません |
| フォローアップメール | 会議の文字起こし | レポート用 AI | 下書きを作成する場合のみ |
| レポートの作成 | 会議の文字起こし | レポート用 AI(オンデバイスのみの会議では Mac 上で処理) | クリックした場合のみ |
| Webhook | 概要、次のステップ、メモ(許可されている場合は文字起こし) | 貼り付けたアドレス | 設定した場合のみ。オンデバイスのみの会議では送信されません |
| Claude などの AI アプリ(MCP) | アプリに依頼したときに読み取られる内容のうち、共有した部分のみ | そのアプリの会社(Claude の場合は Anthropic。お客様のアカウントで利用) | 有効にした場合のみ。オンデバイスのみの会議、音声、キーは送信されません |
| Ollama 上のアシスタント | なし | お使いの Mac | 常にローカル |
- オンデバイスのみ、スイッチひとつ(またはセラピーや法律相談など、プロフィールごとに設定可能):Whisper と Ollama のみを使用し、その後も会議がクラウド経由で処理されることはありません。任意のマスキング機能で、メールアドレス、電話番号、カード番号、銀行口座番号(必要に応じて名前も)をクラウド AI から隠し、回答時に元に戻せます。同意ボタンでは、参加者にどのように説明したかを記録できます。また、自動クリーンアップで古い音声や会議を削除できます。会議ごとに、この Mac から送信された内容が正確に表示されます。
- アカウントなし、テレメトリーなし、分析なし。 ホームに接続する Parrot サーバーはありません。
- キーは macOS キーチェーンに保存されます。 ファイルやログには保存されません。
- 署名済み、公証済み。 リリースには Developer ID 署名と Apple の公証が付与され、アップデートには EdDSA 署名が付与されます。
- 小規模で監査可能。 Swift のコードは約 17,000 行で、依存関係は 3 つ(WhisperKit、FluidAudio、Sparkle)と、同梱された SpeexDSP エコーキャンセラーのみです。FILEMAP.md では各ソースファイルを確認できます。午後いっぱい読めば全体を把握できます。
- 開発プロセスについても率直に説明します。 コードは人間の指示のもと、AI(Claude Code)の支援を大いに受けて作成されています。変更を取り込む前に、300 項目以上のチェックを行うロジックハーネスと、視覚的なスナップショットチェックを毎回実行します。
これらのいずれかに反する点を見つけた場合は、セキュリティ上の問題として SECURITY.md をご覧ください。
はじめに
📖 Parrot ヘルプ では、すべての機能について説明しています。同じページは、アプリ内の ヘルプ > Parrot ヘルプ からも利用できます。
-
ダウンロードします。 公証済みの
.dmgを リリースページ(または openparrot.app のボタン)からダウンロードし、Parrot を「アプリケーション」にドラッグします。Apple Silicon 搭載の macOS 14(Sonoma)以降が必要です。 -
2 つの権限を許可します。 ウェルカムツアーでは、それぞれの権限の状態がリアルタイムで表示され、該当する「設定」画面へのリンクが用意されています。
- 通話相手側の音声を取得するための システムオーディオ録音。macOS 15 以降では、音声のみを対象とする権限です。macOS 14 では、代わりに「画面収録」が必要です(古い macOS ではシステムオーディオをこの方法で取得します。Parrot が取得するのは音声のみです)。Parrot を再度開くと反映されます。
- あなた側の音声を取得するための マイク。
-
アシスタントの動作方法を選びます。 ツアーで機能の説明を確認してから、次のいずれかを選びます。
- プライベート:すべての処理が Mac 上で行われます。Parrot が Ollama をインストールし、モデルをダウンロードします。無料です。
- バランス(おすすめ):音声は Mac 上にとどまり、テキストのみが Claude に送信されます。console.anthropic.com からキーを貼り付けて、キーを確認を押します。
- クラウド:Deepgram がリアルタイムで音声を書き起こし、Claude がアシスタントを動作させます。保存する前に、両方のキーが確認されます。
- または 後で決める:ホームのカード、または 設定 > アシスタント > アシスタントを設定から、設定に戻れます。
-
音声をテキストに変換します。 Parrot は Mac のメモリと使用言語に合ったモデルを選び、すぐにダウンロードを開始します。ツアーを閉じた後もダウンロードは続きます。
モデル サイズ おすすめの用途 Tiny 40 MB 最速 Base 140 MB メモリが 12 GB 未満の Mac で選択されます Small 460 MB より高い精度 Large V3 Turbo Compressed 626 MB 精度は最高に近く、メモリ使用量が少ない Large V3 Turbo 1.6 GB 最高精度。英語以外の通話にも最適。メモリが 12 GB 以上の場合に選択されます Parakeet v3 0.5 GB 最速。ヨーロッパの 25 言語に対応(トルコ語を除く)。使用言語がすべて対応言語の場合に選択されます -
Claude で会議の内容を活用します(任意)。ツアーの最後のステップでは、ワンクリックで Claude Desktop に接続できます。Cursor、Codex、Claude Code はサイドバーの Claude & AI アプリから接続します。Parrot の他の機能とは異なり、この機能はプライベートではありません。アプリが読み取った情報は、あなたのアカウントに紐づけられた状態で、該当する会社に送信されます。「プライベート」を選んだ場合、ツアーにはこの項目は表示されません。
-
次の通話で録音を開始します。
-
設定 > ナレッジで知識を追加し(任意)、設定 > プロファイルでプロファイルを選択または作成します(任意)。
ツアーをもう一度表示するには、ヘルプ > ウェルカムツアーを表示を選択します。
キーボードショートカット
| ショートカット | 動作 |
|---|---|
| ⌘R | 録音を開始 |
| ⌘. | 録音を停止 |
| ⌘O | 音声ファイルを読み込む |
| ⌘E | 文字起こしをエクスポート(TXT) |
| ⌘F | 会議を検索 |
| ⌘K | Parrot に質問 |
| ⌃⌥M | マーカーを付ける(録音中は、どのアプリからでも使用できます) |
| ⌃⌥⇧M | 自分側の音声をミュートまたはミュート解除(録音中は、どのアプリからでも使用できます) |
| ⌘, | 設定 |
技術スタック
| 内容 | 方法 |
|---|---|
| UI | SwiftUI、ネイティブの macOS、Inter |
| 音声テキスト変換(デフォルト) | WhisperKit、Neural Engine 上でオンデバイス実行 · FluidAudio 経由の Parakeet v3、オンデバイス実行 |
| 音声テキスト変換(オプション、自分のキーを使用) | Groq whisper-large-v3-turbo(HTTP チャンク) · Deepgram Nova-3(WebSocket ストリーミング) |
| 音声検出 | FluidAudio 経由の Silero VAD(MIT)、オンデバイス実行:音声を含むクリップのみが Whisper に送られるため、無音の部屋では何も表示されません |
| 話者検出 | FluidAudio(Apache-2.0)、pyannote 派生モデルをオンデバイスで実行(CC-BY-4.0) |
| アシスタントとレポート | Claude API(Haiku 4.5、構造化出力) · Ollama · OpenAI 互換サーバー |
| ドキュメントへの即時回答(オプション) | TypeSafe AI jev-latest |
| ナレッジベース | Apple NaturalLanguage のコンテキスト埋め込み + BM25、すべてオンデバイス |
| システム音声 | Core Audio プロセスタップ(macOS 15 以降) · ScreenCaptureKit(macOS 14) |
| マイク | AVAudioEngine + 同梱の SpeexDSP エコーキャンセラー |
| ストレージ | SwiftData、API キーは Keychain に保存 |
| アップデート | Sparkle、EdDSA 署名付き appcast |
| プロジェクト | XcodeGen:project.yml が唯一の信頼できる情報源です |
ソースからビルドする
前提条件:macOS 14.0 以降。Apple Silicon を推奨。Xcode/Swift ツールチェーンが必要です。
git clone https://github.com/turantekin/Parrot.git
cd Parrot
make run
make run は swift build でコンパイルし、dist/Parrot.app を組み立て、利用可能な署名 ID で署名(なければアドホック署名)して起動します。make help には残りのコマンド(make test、make install、make clean など)が一覧表示されます。
- Xcode の UI ではなく、
makeでビルドしてください。 Xcode の明示的モジュールビルドでは、WhisperKit の依存関係に対して断続的に競合が発生します。IDE を使いたい場合はmake xcodeでproject.ymlからプロジェクトを再生成してください。実際のビルドにはmakeを使ってください。 - 権限と再ビルド。 macOS ではオーディオとマイクの許可が署名 ID に紐付けられるため、アドホックビルドでは再ビルドのたびに再許可が求められます。
make signing-helpには、許可を維持するための無料の方法が 2 つ表示されます。 - 各種情報はこちら: FILEMAP.md には各ソースファイルの説明が 1 行ずつ記載されています。AGENTS.md には構成と規約が記載されています。CONTRIBUTING.md には開発者向けの概要が記載されています。
次にやりたいこと(私のウィッシュリスト)
- 本格的な話者ダイアライゼーション。 実装済み。オンデバイスで動作し、名前の設定と音声の記憶に対応
- 要約とアシスタント用のローカル LLM。 実装済み。Ollama 経由(プロセス内 MLX モデルも、いつか追加されるかもしれません)
- 公証と配布。 完了。公証済み DMG と Sparkle の自動アップデート
- 通話前のブリーフィングと通話ごとのプロファイル。 実装済み
- 通話中の話者名表示。 実験機能として実装(「設定」→「文字起こし」→「話者ラベルをライブ表示」)。実際の通話で十分にテストされるまでは、デフォルトでオフです
- カレンダー連携。 実装済み:ミーティングには予定の名前と参加者が使われます
- ブックマーク。 実装済み:通話中に重要な場面をマーク(どのアプリからでも ⌃⌥M)でき、レポート内の各項目からその元の箇所に移動できます
- 波形の表示を改善。 現状のものは……一応使えます
どれかに興味があれば、ぜひ参加してください!
協力してくださる方へ 🙏
Swift/macOS 開発、音声処理、またはオンデバイス ML に興味がある方は、ぜひ力を貸してください。私は Claude をコーディング仲間にして、空き時間に一人で開発しています。まだ知らないことがたくさんあります。
- 話者の検出。 発話の重なりや非常によく似た声は、まだ誤判定されることがあります。また、通話中のリアルタイムのラベル表示はまだ開発中です。
- 権限に関する例外ケース。 Core Audio のタップには権限状態を確認する API がありません(権限のないタップは無音を返すだけです)。
kTCCServiceAudioCaptureに関する TCC の挙動に詳しい方は、ぜひ教えてください。 - バグ修正。 不具合を見つけたら、PR を作成してください。すぐに確認します。
- 機能のアイデア。 アイデアを提案するか、ディスカッションを始めてください。
- 気軽な感想も歓迎です。 「いいプロジェクトですね」でも、「これはひどい、こうしたほうがいい」でも、何でも聞かせてください。
何か報告するなら、アプリの右下にある小さなてんとう虫をクリックするのが一番簡単です(または Help > Report a Bug...)。まずは CONTRIBUTING.md をご覧ください。また、どうか親切な対応をお願いします(行動規範)。行き詰まったら、SUPPORT.md をご覧ください。
既知の問題(現在対応中です)
- アドホックなソースビルドでは、オーディオの権限がリセットされます。 ID のないビルドは、毎回新しいアプリとして認識されます。
make signing-helpに2つの解決方法が記載されています。ダウンロードしたリリースビルドでは、アップデート後も権限の許可が保持されます。 - モデルのダウンロードには、最初にインターネット接続が必要です。 Whisper、Parakeet、音声検出、話者検出の各モデルは初回使用時にダウンロードされます。また、アラビア語、インド系文字、または(一部の Mac で)キリル文字の文書を初めて追加すると、macOS が言語モデルを取得します。その後はすべてオフラインで動作します。
- 話者の検出は完璧ではありません。 自分と相手の区別は正確です(別々のトラックを使います)。相手側で声が似ていたり、発話が大きく重なったりすると、行の割り当てを間違えることがあります。その場合は右クリックして割り当て直してください。一人の話者が2人または3人に分かれて表示される場合は、同じ名前を付けると統合されます。
- 小型のローカルモデルで Parrot に質問する場合。 小型の Ollama モデル(gemma3:4b など)では、複数の会議にまたがる回答で情報源が抜けたり、詳細が混同されたりすることがあります。1つの会議についての質問には問題なく答えられます。幅広い質問には Claude が適しています。
- スピーカー使用時にマイクへ音が回り込むことがあります。 エコーキャンセルで相手側の音の大部分をマイクから除去し、Parrot は相手の声がエコーしただけの行を省きますが、音量の大きいスピーカーでは、かすかな音声が混ざることがあります。ほとんどの場合、自分の発話に短い音声や聞き間違えた音声が混じります。通話画面にはヘッドフォンが役立つ場合にその旨が表示され、ヘッドフォンを使えば解消できます。
類似プロジェクト
「クラウドもボットも使わず、会議を文字起こしする」という分野に取り組んでいるのは Parrot だけではありません。アプローチを比較検討する場合は、以下をすべてご覧ください。
- Meetily:Ollama による要約機能を備えた、ローカル Whisper/Parakeet の文字起こし(Rust)
- Hyprnote:プライバシーを最優先した会議用メモアプリ。マイクとシステム音声に対応し、オンデバイスモデルを使用
- Recap:ネイティブ macOS の会議要約アプリ。WhisperKit による文字起こしと、Ollama による要約機能を搭載(Swift)
- screenpipe:ローカル Whisper を使った、画面と音声の継続的なローカルキャプチャ
Parrot の特徴は、SwiftUI と WhisperKit を全面的に採用したネイティブアプリであること、そして通話後のメモだけでなく、自分の文書に基づいて回答する通話中のアシスタントを備えていることです。
ライセンス
GPL-3.0 です。使って、学んで、改良してください。改変したバージョンを公開する場合は、同じライセンスの下でオープンソースにする必要があります。
v0.11.3 までのリリースは MIT ライセンスで公開されており、引き続き MIT ライセンスが適用されます。
SwiftUI、WhisperKit、そして夜更かしして取り組んだ Claude Code とのセッションの数々から生まれました。🌙
個人プロジェクトで、無謀なほど野心的なものを作ろうとしたことがある方へ。あなたの気持ちはよくわかります。どうか続けてください。🦜
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
