ライフハック

tl;dvの無料プラン+Gemini Notebookで、お金をかけずにミーティング要約を作成する

こんにちは。お昼は激安スパゲッティで100円程度に食費を抑えている私です🍝

最近はオンラインミーティングの機会が増えて、tl;dvを使って議事録の要約を自動生成するようにしていましたが、無料プランを使い切り、代わりに編み出したスキームについてご紹介していきます。

スポンサーリンク

背景:無料プランで詰まったところ

tl;dvはZoom / Google Meet / Microsoft Teams の会議に参加して、録画・文字起こし・AI要約までやってくれるサービスです。公式の情報だと、無料プランでも以下は制限されていません。

  • 録画は無制限
  • 文字起こしも無制限(30言語以上)
  • 手動タイムスタンプのメモ

制限がかかっているのはAI機能とストレージ側で、AIノート(要約)が約10ミーティングまで、録画の保存は3ヶ月、しかも数日で長期アーカイブへ移動されて、動画を見るには解除操作が必要になります。

What are the limits of the Free plan? | tl;dv Help Center and Support
Can't download a meeting? Wondering about archived storage? Only seeing 10 minutes of notes? Find your answers here
tldv Pricing: Start Free. Compare Plans & Features
Get tl;dv for free and begin recording, transcribing, taking notes, and getting insights from your meetings today! 40% off on every annual plan!

で、私はこの要約の枠を使い切りました。あっという間ですね。

サポートのチャットボットに聞いたところ「10件を使い切った後は、冒頭10分までなら要約できる」という回答でした。
ところが実際の私の環境では、要約が完全に使えなくなっています。10分ぶんも生成されません。
ドキュメント上の挙動と実際が食い違っているので、ここは「自分の環境ではこうだった」という話として読んでください。

要約が使えないなら自分で要約すればいい、という話になるのですが、そこで気づいたのがtl;dvのデスクトップクライアントは録音ファイルをローカルに残しているということです。ユーザーホーム直下の .tldv フォルダに .webm として溜まっていました。

つまり、素材はすでに手元にあるわけですね。あとはこれをどう要約に持っていくかという問題になります。

tl;dvのクライアント。カレンダーと連動したり無料プランでも割と使える。

選択肢を3つ比べた

考えた選択肢は次の3つです。

選択肢1:tl;dv Proにする

素直に課金する案です。要約が無制限になり、テンプレートや各種連携も開放されます。価格は年払いなら月あたり3,080円、月払いだと4,980円(2026年9月時点の公開価格)。

会議が週に何本もある人なら十分に元は取れると思います。ただ私の場合、要約したいミーティングは多くても月に数本で、その頻度で月3,080〜4,980円はさすがに割高でした。

選択肢2:ローカルのWhisperで文字起こしする

以前、話者分離(pyannote)込みでWhisper-WebUIをRTX 4060上に立てたことがあるので、この資産を使う案です。ローカル完結なので外部にデータが出ないのも利点です。

ただ、実際に運用しようとすると引っかかる点が2つありました。

  • 処理時間がそれなりにかかるlarge-v3 +話者分離込みで、約54分の音声に9分8秒でした(RTX 4060)。実時間のおよそ6分の1で、待てない長さではないものの、会議のたびにGPUを回して待つのは地味に効いてきます
  • 固有名詞の精度が出ない。文字起こしそのものは素の音声だけを見るので、会社名・製品名・人名といった「文脈を知らないと当てられない語」を高確率で外します
  • 話者分離もそこまで強くない。きれいに分かれるときもあるが、当てにしていると崩れる

そして何より、Whisperで文字起こしをした後、その文字起こしを要約する工程が別途必要です。文字起こしは手段であって、欲しいのは議事録なんですよね。

選択肢3:録音をGemini Notebookに渡して要約させる

Gemini Notebook(旧NotebookLM)は音声ファイルをソースとして受け付けて、そのまま質問できます。文字起こしと要約が一体で済むので、工程が1つ減ります。

Sign in - Google Accounts
このツールは2026年7月16日(米国時間)にNotebookLMからGemini Notebookへ名称変更されました。
名前が変わっただけで製品は同じもので、作成済みのノートブックやソースはそのまま引き継がれ、移行作業も不要です。
アプリのURLも notebook.google.com に移っていますが、旧アドレスは自動でリダイレクトされます。
ネット上の解説記事はまだ旧名称のものが多いので、調べるときは両方の名前で探すと早いです。

さらに重要なのが、Gemini Notebookは複数ソースを並べて回答を作るということです。音声と一緒に「事前情報」をテキストソースとして放り込めます。ここが決め手になりました。

比較表

tl;dv Pro ローカルWhisper Gemini Notebook
追加コスト 月3,080〜4,980円 0円(GPU所有前提) 0円
初期構築 なし Docker / pyannote / 依存関係でひと苦労 MCP接続のみ
所要時間 会議終了から10分くらい? 54分の音声で9分8秒(large-v3 / 話者分離込み / RTX 4060) 同じ54分の音声で約60〜90秒(変換+アップロード+処理)
文字起こし→要約 一体 別工程が必要 一体
固有名詞の精度 (未検証) 低い(参考情報を渡せない) 事前情報を渡せば補正できる
話者分離 あり あるが精度は控えめ 厳密な切り分けは期待しない前提で使う
データの置き場所 tl;dvのクラウド 完全ローカル Googleのクラウド

なぜGemini Notebookを選んだか

コストがゼロというのは前提として、決め手になったのは別のところでした。

ポイント1:Obsidianの関連情報を丸ごと渡せる

私は案件ごとのノートをObsidianのVaultで管理しています。企業ノート、過去の面談ノート、タスクノートに、会社名・サービス名・登場人物の正しい表記がすでに揃っているわけです。

この構成では、音声ファイルをアップロードした後にもう1つ「事前情報」というテキストソースを追加して、そこへVaultから集めた情報を流し込んでいます。

  • 対象タスクノートの本文(議題・サブタスク・メモ)
  • related でリンクされた関連ノート(企業ノートなど)
  • 同じ案件の過去のミーティングノート
  • 上記から抽出した固有名詞リスト(会社名・製品名・人名の正しい表記)

そして要約を依頼するときに、「文字起こし側の誤認識をこの表記で補正してください」と明示的に指示します。

ここが単純な「文字起こし→要約」との決定的な差です。
素の音声しか見ていないモデルは固有名詞を当てられませんが、正解表記のリストを同じコンテキストに置いておけば復元できる。Vaultに情報を蓄積している人ほど効く構成だと思います。

ポイント2:短時間で終わる

録音ファイルをmp3に変換してアップロードし、要約できる状態になるまでの実測が以下です。

録音長 元ファイル mp3変換 変換後 アップロード Gemini Notebook処理 合計
54分 54.4MB 9.4秒 26.8MB 9.2秒 40〜70秒(推定) 約60〜90秒

1時間弱の会議でも、2分待たずに質問できる状態になります。同じ54分の録音をローカルのWhisperに投げると9分8秒だったので、待ち時間としては1桁違うことになりますね。

変換処理も軽く、54分・54.4MBの録音でも10秒かかりません。100分規模でも問題ないペースですね。

処理時間の40〜70秒は、待機中の観測からの推定値です。
音声の長さと処理時間がきれいに比例しているわけではなく、混雑具合でもぶれる印象があります。オーダーとして「数十秒〜2分」と捉えるのが実態に近いです。

ポイント3:要約の裏取りに再利用できる

ノートブックを残しておけば、後から「この決定事項の根拠は?」と追加で質問できます。文字起こしテキストをファイルで持つよりも、あとから掘りやすいのが良いところです。

実装の概要

一連の流れをClaude Codeのスキルにして、/meeting-summary で回るようにしました。GitHubで公開しています。

GitHub - seizu-dev/meeting-summary-skill: ローカルの録音ファイルをNotebookLMに渡して議事録を作成するClaude Codeスキル
ローカルの録音ファイルをNotebookLMに渡して議事録を作成するClaude Codeスキル. Contribute to seizu-dev/meeting-summary-skill development by creating an account on GitHub.

導入はプロジェクトのスキルディレクトリにcloneするだけです。SKILL.mdreferences/ がセットで配置されていれば動きます。

git clone https://github.com/seizu-dev/meeting-summary-skill.git \
<project>/.claude/skills/meeting-summary

全体はこんな構成です。

flowchart TD
    s0_task["Obsidian<br/>タスクノート"] --> s0_rel["関連ノート・<br/>過去ミーティングノート"]
    s0_rel --> s0_pre["事前情報<br/>(固有名詞リスト付き)"]

    s0_rec[".tldv フォルダの<br/>録音ファイル(.webm)"] --> s0_ff["ffmpeg で mp3 化<br/>(モノラル / 16kHz)"]
    s0_ff --> s0_nb["Gemini Notebook"]
    s0_pre --> s0_nb

    s0_nb --> s0_ask["要約を質問<br/>(誤認識の補正指示つき)"]
    s0_ask --> s0_draft["ドラフトを提示<br/>(人間がレビュー)"]
    s0_draft --> s0_save["12_Meetings/ へ保存<br/>タスクノート更新"]

手順の詳細は省きますが、ハマったところだけ2点書いておきます。

1. .webm はそのままでは受け付けられない

.tldv に残るファイルは拡張子が .webm ですが、中身を確認したらMP4コンテナ+Opus音声でした。拡張子が実態と一致していないんですね。そのままアップロードするとHTTP 400で弾かれます。

ffmpeg で映像を捨ててmp3化すれば通ります。音声認識用途なのでモノラル・16kHzで十分です。

ffmpeg -y -v error -i input.webm -vn -ac 1 -ar 16000 -b:a 64k output.mp3

2. ファイル名から録音時刻を割り出す部分でタイムゾーンにやられた

ファイル名の末尾に入っているISOタイムスタンプはUTCの録音開始時刻なので、+9時間してJSTにする必要があります。ここで環境によってはtzdataが無く TZ='Asia/Tokyo' が効かない、date -d "... UTC +9 hours" は環境のローカルTZ変換と二重に加算されて+18時間ずれる、という罠を踏みました。

結局、エポック秒に直してから32400秒足す方式に落ち着きました。素直にこれが一番確実です。

残課題・注意点

固有名詞の誤認識はやはり多い

事前情報で補正する前提とはいえ、文字起こし側の誤りは相当な量です。実際に観測した例を一部だけ挙げます。

実際 文字起こし結果
受託開発 自宅開発
選考期間 商用期間
承認制 証明性
週3 修産
Claude Code マックロードコード
Gemini ジミニ

会話の流れや、社員数・出社日数のような数値は概ね正確に取れます。一方で固有名詞と同音異義語はまったく信用できないという切り分けになりました。

なので要約結果をそのまま保存するのではなく、必ず一度ドラフトとしてレビューを挟む運用にしています。事前情報で裏が取れない固有名詞は、断定せず確認する。ここを自動化しきらないのが安全だと思います。

話者の切り分けは期待しない

誰が何を言ったかを厳密に分けるのは、この構成では諦めています。参加者リストを事前情報に含めて文脈から推測させてはいますが、決定事項の帰属が重要な会議では自分の記憶と突き合わせる必要があります。

録音の原本はローカルにしかない

無料プランの録画は3ヶ月保存で、数日でアーカイブへ移動されます。つまり手元の .tldv フォルダが実質的な原本です。ここを消してしまうと後から要約し直せないので、要約が済むまでは触らないようにしています。

Gemini Notebook側の上限

アカウントあたりノートブック100件 / ソース50件という上限があります。ミーティングごとに使い捨てのノートブックを作る運用だと、いずれ整理が必要になりますね。

まとめ

要約したいミーティングが月に数本という頻度であれば、この構成で十分に足りました。tl;dv Proの月3,080〜4,980円を払わずに済んでいます。

そして使ってみて分かったのは、この構成の強みがコストではなくObsidianに蓄積した関連情報を要約のコンテキストに載せられることだったという点です。素の文字起こしが固有名詞を外すのは避けられませんが、正しい表記が手元のVaultにあるなら、それを一緒に渡すだけで精度が変わります。

逆に言うと、案件ごとの情報が整理されていない状態だと、この構成の旨味は薄いと思います。Whisperで回すのとあまり変わらない結果になりそうです。

話者分離の精度をどう上げるかは残課題ですね。

スキルの使い方や細かい実測値についてはリポジトリのREADMEを参照してください。

以上!

コメント

タイトルとURLをコピーしました