動画講座の収録音声を台本と突き合わせ、書籍版スライドを講義ノートへ移す計画を立てた
動画講座の収録音声を台本と突き合わせ、書籍版スライドを講義ノートへ移す計画を立てた
朝は Mac 側へ読み上げ音声の確認を頼んだ
一日は、前日に Mac 側の Claude Code セッションへ頼んでおいた作業の続きから始まった。 簿記講座ストーリー版の読み上げ音声を MacBook で確かめる件で、Googleタスクにも入れてあった。 Mac へ次の依頼を送ろうとしたら、向こうの tmux セッションの入力欄に打ちかけの一文が残っていて、ブリッジが送信を受け付けなかった。 それでも送ってよいと伝えて送らせると、章の先頭を3か所再生してエラーも 404 も0件だったという返信が Mac 側から届いた。 返信には「自動で進む」が外れているという報告もあったが、外したのは自分なので不具合ではない。 残りは自分の耳で試聴することだけになった。
収録音声は台本どおりだったのか
昼になって、別の音声を思い出した。 動画講座のために収録した、自分の声である。 講座の音声は、自分の吹き替えで全部入れようかと考えていた。 ただ、収録済みの音声がスライドの台本とおおむね同じなら、Whisper で「何分何秒からどこまで」を取り、切り貼りすれば済むかもしれない。 確かめたいのは、自分が収録でどこまで台本どおりに話していたかである。
バックアップしてある MP4 のうち、基礎知識の冒頭3本(計約40分)から調べさせた。 GPU で Whisper の large-v3 は読み込めたが、動画のデコードがライブラリの不一致で止まった。 ffmpeg で先に音声だけを抜き出す手順に切り替えて、文字起こしが通った。
最初は、いまの講義ノートのスライドの台本と比べさせた。 1本目の「会計とは」は台本どおりだったのに、2本目と3本目はほとんど一致しなかった。 大きな筋はそれていないはずだと思ったので、左右に並べた HTML で見せてもらうことにした。
並べる準備の途中で、動画が映していたのはいまのスライドではなく、旧サイトのスライド(1枚ずつ台本が付いた版)だと分かった。 比較の相手をそちらへ替えた。 次に、台本の欄に図のラベル文字が混ざっていたので、24枚分のラベルを台本から外し、下に小さな灰色の文字で添える形にしてもらった。
旧スライドの台本を基準にすると、3本で話した32分36秒のうち16分32秒がアドリブと判定された。 判定はかなり厳しめで、台本に無い文字が20文字以上続いた部分をアドリブと数えている。 2本目の「財務諸表の概要」だけを見ると、81%がアドリブだった。
正直、そんなにアドリブで話した記憶はまったくない。
基準をプロンプターの原稿に替える
収録では、プロンプターで左右反転させた原稿を読み上げていたはずである。 中身は、出版した書籍版と同じものだ。 そこで、その PDF のメッセージラインを台本として比べ直させた。
pdftotext では文字化けしたため、PyMuPDF に切り替えさせた。 2段組みの図の説明が1行ずつ交互に混ざり、図の見出しもメッセージラインに入り込んだので、その2点も直させた。 反転を戻した状態で文字が取れたところで、プロンプター基準の比較表ができた。
プロンプター基準なら、動画の音声はそれほどアドリブが多くないという理解で合っているかを聞いた。 答えは「概ね合っている」で、3本のうち「財務諸表の概要」だけは本当にアドリブが多かった。
続けて、商品売買の動画も見てもらった。 さすがにここまで進めば、アドリブはそれほど使っていないだろうと思っていた。 プロンプター PDF には版違いがあったので、メッセージラインの領域を195ページすべて画像で比べさせた。 どのページにも3〜5%の差が出たが、これはアウトライン化した文字の描画の違いによるものだった。 目立った5ページも、目で見ると背景写真と反転の違いだけだった。 文言は同じなので、文字は2021年1月の版から、画像は収録に使った版から取らせた。
30分の商品売買の動画は、プロンプターの3〜81ページに対応していた。 話した23分49秒のうち8分50秒、約37%がアドリブと判定され、第1章とほぼ同じ割合だった。 ただ、アドリブの入り方は第1章と違うという。
この日は返事が途中から英語になることが続き、「日本語で」と4回頼み直した。
抜けていたのは移行のせいではなかった
比較を眺めているうちに、別のことが気になった。 講義ノートの基礎知識の章は、プロンプター版と違う。 とくに財務諸表の説明がだいぶ変わっていて、何かが抜けている気がした。 著名投資家の逸話も、入っていないように見えた。 講義ノートへの移行のときに抜け落ちたのではないかと疑った。
調べさせると、移行で抜けたのではなかった。 移行元の旧サイトの講義ノートにも、最初から入っていなかったのである。 講義ノートとプロンプターは、別の版だった。
それなら、プロンプターを読んでいるとき画面に映していたスライドはどこにあるのか。 答えは、旧サイトにある動画講座のサポート用スライドページだった。 いまの講義ノートの「財務諸表とは」には、このページの内容が入っていない。 講義ノートが実際に読み込んでいるデータでも、それを確かめてもらった。
章ごとの差は、一覧にしてメモへ書き出させた。 時系列も分かった。 講義ノートの移行(2026年3月)は2020年の講義ページを元にしており、動画講座で使ったスライドは、その後2021年8月まで拡充を続けた版だった。
1,369枚と約1,800枚
いまの講義ノートのスライドは何枚あるのかを聞いた。 書籍版は合計で1,800枚くらいだったはずである。 答えは、講義ノートが1,369枚、書籍(プロンプター PDF)が18本で計1,750ページだった。
ここで、書籍版を講義ノートに入れる計画書を作らせた。 Codex のレビューを受け、再レビューで「実行可」が出てから、判断事項を選ぶボタンの付いた HTML で開いてもらった。 判断は4項目で、4つめは全章を全数レビューする案を選んだ。 1つめには、本当に一致しているかを全部確かめるよう書き添えた。 dev ページの簿記講座の行にも、この計画書へのカードを足させた。
見た目の照合では組みきれない
計画の手順0は、スライドと書籍のページの対応表づくりである。 書籍の画像はオンライン専用ファイルになっていて Python から直接開けず、約1,900ファイルを作業フォルダへコピーさせた。
最初の照合は、余白に引っ張られてスコアが低く、うまく分かれなかった。 図だけを切り出し、同じ大きさにそろえてから比べる方法に替えさせた。 画像化されていないスライド239枚は R2 から取ってこさせ、書籍のページ画像1,913枚とスライド画像1,286枚がそろった。 全章で回すと、組めたのは1,286枚中354枚だった。 図の切り出しを直して957枚(うち0.9以上が792枚)まで増えた。 その後の手直しでは少ししか伸びず、明らかに対応するはずの1組を取り出して原因を調べさせた。
そこで「私が何か渡したらすぐ終わるってことはないですか?」と聞いた。
コピーした Illustrator ファイルから対応を引く
返ってきたのは、渡すものは要らないが、もっと速くて確実な道があるという答えだった。 Web スライドの SVG を書き出した元の Illustrator ファイルなら、アートボード名とその並びから対応表をそのまま作れる。 書き出し後の画像どうしを見比べて推定する必要がなくなる。
Illustrator を自動で動かすこと自体は構わなかった。 ただ、正本のファイルが壊れたら取り返しがつかない。 動かすファイルは全部リポジトリの作業ディレクトリへコピーし、そのコピーだけで Illustrator を起動するよう指示した。
抽出スクリプトは、開いたファイルを保存せずに閉じる(Close(2))。
そのうえでバッチ側にも、コピー用のフォルダ以外と、正本の置き場を含むパスでは動かない制限を入れてもらった。
59本のコピーに対して Illustrator を走らせた。 2本目の1ファイルだけで10分かかり、フォントやリンク画像の確認ダイアログで待っていた可能性があるという。 その後は1本あたり数十秒で進み、58本が成功、旧版の1本だけが失敗した。 正本が変わっていないことも確かめさせた。
これで、スライドと書籍の対応はほぼ決まった。 自分の判断が要る項目は無かったので、引き継ぎのプロンプトをテキストファイルに書かせ、計画書の進捗も更新させた。 計画書には、このセッションの外で入った変更もあったので、そこは触らずに残させた。
午後に未判定を0件にした
引き継ぎを読ませた次のセッションで、手順0の残りを片付けた。 スコアが中、低、対応なしの組を、スライドと書籍のページを並べた画像で1件ずつ確かめた。 判定は上書き用の JSON にまとめ、対応表の処理へ組み込ませた。
似た図が続く節では対応がずれていたので、全コマを画像で見直させた。 書籍に無い Web 専用の節(29枚)は「原稿なし」とさせた。 文字だけで一致度が高かった50組も画像で確かめ、すべて正しかった。 本文が対応表から漏れて見えたページのうち、本当に漏れていたのは17ページで、残り43ページは図のラベルを拾った誤検出だった。 漏れていた17ページには、補う原稿ファイルを作らせた。 未判定が36件まで減ったところで、決算の章にある基本例題の再掲に規則を足し、残りは1件ずつ判定させた。 第20章の1枚は「試験変更」の資料ではなく、プロンプター用に左右反転した第1章の台本の画像だった。
最終的に、スライド1,286枚、原稿1,378件のどちらも未判定は0件になった。 スライドに付かない原稿は285件ある。 続く手順1(講義ノートとの突き合わせ)に向けて、講義ノートの画像1,062枚を SVG から PNG にし、書籍版スライドと図で照合するたたき台まで作らせた。 1つ判断を求められたところで、セッションのコンテキストが尽きた。
昼の時点では、収録音声を切り貼りに使えるかを確かめるつもりだった。 台本と比べていくうちに、先に講義ノートの中身を書籍版へそろえる仕事が見つかった。
学び
- 画像の見た目でスライドと書籍を突き合わせても1,286枚中957枚で頭打ちになった。書き出し元のアートボード名を取る道に切り替えたら、対応はほぼ決まった。
- 正本の素材は、コピーしてから自動処理にかける。保存せずに閉じるだけでなく、コピー用フォルダ以外では動かない制限もスクリプトに入れておく。
- 「移行で抜けた」と思った差は、移行元にも最初から無かった。収録時に映していた画面を探したら、別の版のスライドが見つかった。
残っていること
- 手順1で求められた判断に答える
- Mac で簿記講座ストーリー版の読み上げ音声を試聴する