[{"data":1,"prerenderedAt":274},["ShallowReactive",2],{"content-/computer-course-storyboard-video-conversion":3,"all-pages-for-dir":252,"related-/computer-course-storyboard-video-conversion":253,"og-image-/computer-course-storyboard-video-conversion":273},{"id":4,"title":5,"body":6,"category":231,"concepts":232,"description":233,"extension":234,"meta":235,"navigation":208,"ogImage":232,"path":236,"project_name":237,"published":238,"publishedAt":239,"seo":240,"source":241,"stem":242,"tags":243,"todo":232,"unpublished":238,"updatedAt":232,"__hash__":251},"pages/2026-10/2026-10-14/computer-course-storyboard-video-conversion.md","コンピュータのしくみ講座18講を動画講座に作り替えた1日：計画書、5体並列の台本づくり、Macの音声待ち",{"type":7,"value":8,"toc":217},"minimark",[9,13,17,27,30,33,36,39,47,50,53,56,59,75,78,82,85,88,92,95,98,115,118,122,125,132,135,138,141,152,155,158,161,164,167,170,177,180,194,197],[10,11,12],"h1",{"id":12},"コンピュータのしくみ講座18講を動画講座に作り替えた1日",[14,15,16],"h2",{"id":16},"講座をまるごと動画にしたい",[18,19,20,21,26],"p",{},"朝8時過ぎ、Claude Code に頼みごとをした。\nこのサイトの",[22,23,25],"a",{"href":24},"/code-course","コンピュータのしくみ講座","を、全部動画講座にしてほしい。",[18,28,29],{},"手本はもうあった。\n別のリポジトリで作っている簿記講座の、ストーリーボード表示だ。\nセクション、チャプター、トピックをミラーカラムで並べ、音声をオンにすると自動で進む。\n矢印キーでも進められる。\n説明が一歩進むたびに、メインの領域で図が動き、同時に音声が鳴る。\nこの形式で講座を作り直したいので、まず計画を立ててほしい、と伝えた。",[18,31,32],{},"ただし、音声だけは Windows 機では作れない。\n合成は Mac 側の担当である。\n画面と台本がいくらそろっても、音声は Mac から届くのを待つしかない。",[14,34,35],{"id":35},"棚卸しと計画書",[18,37,38],{},"Claude Code には調査用のサブエージェントを2体出させた。\n1体には講座の棚卸しを、もう1体には簿記講座のストーリー形式の調査を任せた。\n棚卸しの結果は、18講、88セクション、シミュレーター22個だった。\n本文は637段落、およそ2,050文あった。",[18,40,41,42,46],{},"計画書は Codex のレビューに回した。\n1回目で、致命的な指摘が1件出た。\n",[43,44,45],"code",{},"\u003Cp>"," タグだけを抜き出す設計では、箇条書きの項目や表、TS ファイルに書かれたセクションのリード文が落ちる、という指摘だ。\n妥当だったので計画を直させた。\n2回目のレビューでは致命的な指摘は無く、「着手可」と判定された。",[18,48,49],{},"判断が要る項目は6件あった。\n計画書の HTML に埋め込んだ決裁フォームで選んだ。\n5件は推奨どおりにした。\n試作する講だけは推奨と違う第12講を選んだ。\n回答を反映した版も Codex に見せ、やはり致命的な指摘は無かった。",[14,51,52],{"id":52},"第12講での試作",[18,54,55],{},"「y」と返して着手させた。\n既存の Git 講座の実装を型として Claude Code に読ませ、講の登録簿と原文の抽出スクリプトから書かせた。\n全18講を抜き出すと、106トピック（計画と一致）、2,535文、約116,000字になった。\nそのうえで、フレームの計算や検証を純粋関数にまとめたエンジン（単体テスト15件）と、ナレーションと動く舞台を組み合わせた部品を作らせた。",[18,57,58],{},"試作の途中では、次のような不具合を直させた。",[60,61,62,66,69,72],"ul",{},[63,64,65],"li",{},"箇条書きの項目が1つの文字列にくっついていた。箇条書きも表も、項目ごとに分けるよう直させた",[63,67,68],{},"LDA 命令の図では、値がトークンごと移動し、元の番地 2000h が空になっていた。LDA は値をコピーする命令なので、元の値は残っていなければならない。図をそのように直させた",[63,70,71],{},"強調の光彩を文字にもかけると、文字がにじんだ。図形は光らせ、文字には蛍光ペン風の印を付ける方式に変えた",[63,73,74],{},"390px 幅のエミュレーションで、ステップ14を押したのにステップ30へ飛んだ。2回目のクリックは効くので、読み込み直後の1回目だけが外れる症状（デスクトップでも同じ）と切り分けて直させた",[18,76,77],{},"最後に自動送りを確かめると、「はじめに」の最後のステップから4.6秒後に、s1 の1ステップ目へ移った。\n第12講は7トピックを書き終え、音声なしでブラウザ上で動くところまで来た。",[14,79,81],{"id":80},"mac-への最初の依頼は合成の前に止まった","Mac への最初の依頼は合成の前に止まった",[18,83,84],{},"Mac に合成させるには、先に commit と push が要る。\n同じファイルを他のセッションも編集していたので、自分の追加分だけをステージさせた。\nコミット（971973f4）は、抽出した原文の JSON のせいで差分が1万行を超え、Codex のコミットレビューは自動で飛んだ。\npush 前の rebase は、未追跡ファイル11本が origin 側と同名で止まった。\n中身はバイト単位で一致していたので、消さずに scratchpad へ退避させてから取り込んだ。",[18,86,87],{},"Mac への最初の依頼は、合成の前に止まった。\n依頼文に書かせた文字数が間違っていて、Mac 側は指示どおり合成の手前で停止していた。\n数え直すと Windows 側も7,915字で、md5 も Mac 側と一致した。\nそこで合成の開始を伝えさせ、引き継ぎプロンプトを Downloads に書き出させて、次のセッションへ移った。",[14,89,91],{"id":90},"_5体ずつ並べて台本を書かせる","5体ずつ並べて台本を書かせる",[18,93,94],{},"10時台のセッションでは、まず受け皿を整えさせた。\nシミュレーターを1ファイル1種に分け、描画部品の登録簿を単体テストで縛った（17件通過）。\n台本の全ステップを画像にするスクリプトも足させた。\nそのうえで、トピックごとにサブエージェントを起動し、常に5体が動くように回させた。\n1体が上がるたびに Claude Code に全文を読ませて検査させ、受け入れたら次のトピックを投入させる。",[18,96,97],{},"この流れでも、引っかかりはいくつも出た。",[60,99,100,103,106,109,112],{},[63,101,102],{},"ある台本の場面が、元にした教科書の冒頭の例そのものだった。Claude Code が書いた指示文でその例を挙げていたのが原因で、差し替えさせた",[63,104,105],{},"第7講は原典の数値例を自作の数値に置き換える方針なのに、指示文では原文の数値を残すよう書いていた。s1 と s4 を直し、s1 は 318＋457 に差し替えた",[63,107,108],{},"第12講の音声130本を取り込むと、intro の04→05→04→05と、同じ音声が鳴り直した。最後のステップに着くと、スクロールの同期がおよそ60ms後に番号を4へ戻していた。修正のコミットは Codex のゲートで2回止まり、2回とも直してから通した",[63,110,111],{},"第1講の音声を数本抜き取り、Whisper で書き起こさせると、「入か切か」が「入か節か」と聞こえた。切を「せつ」と読んでいたので、読みを直した",[63,113,114],{},"台詞に Q̄ の合成文字（上線）が入ると、表示に問題が出た。台詞は「Qバー」にそろえ、合成文字が入ったらビルドが止まる検査を足させた",[18,116,117],{},"Codex の指摘は、いつも正しいとは限らなかった。\nあるコミットでは、バーコードの検査数字について同じ指摘が繰り返された。\nClaude Code に独立に確かめさせると、012345678905 とデコードでき、検査数字5は正しかった。\nCodex の誤検知という結論になったので、理由を残してコミットさせた。\n台詞の史実も、確かめられる範囲に絞らせた。\n19世紀にブール代数とスイッチを結び付けた人はいないとする台詞は、1886年の手紙で提案した例があるため、実用化した人はいないという範囲に狭めた。",[14,119,121],{"id":120},"_89で区切る","89%で区切る",[18,123,124],{},"このセッションの終盤で、コンテキストが89%まで埋まった。\nキリのよいところで引き継ぎたいと伝え、引き継ぎプロンプトと進捗ドキュメントを Downloads に書き出させた。\nこの時点で、第1〜8講と第12講はコミット済みだった。\n音声まで取り込めていたのは第1、2、12講で、第9講は台本だけができていた。",[18,126,127,128,131],{},"サブエージェントがまだ動いているのに気づき、無視してよいのかと聞いた。\n答えは、無視しないほうが安全、だった。\nサブエージェントはこのセッションの中で動いているので、閉じると書きかけのファイルが残るおそれがある。\nその案で行くことにして、残る3体（第9講 s6 とシミュレーター2種）が終わるのを待った。\n全部止まってから、クリアとコンパクトのどちらがよいかを聞くと ",[43,129,130],{},"/clear"," を勧められた。",[14,133,134],{"id":134},"全18講の台本がそろう",[18,136,137],{},"13時台のセッションは、第9講の台詞の通読から始まった。\n2か所を直させてコミットした（86ebd666）。\nMac から第3〜5講の音声が届いていたので取り込ませ、Whisper で10本を抜き取って聞かせた。\n読み違いは無かった。",[18,139,140],{},"その後は第10講から第18講まで、同じ5体の回し方で進めた。\n真空管、トランジスタ、フレームバッファなどのシミュレーターも移させ、移植元の22種をすべて移し終えた。\n台詞の確認では、事実の細部をいくつも直させた。\nCodex の指摘も、中身を見て正しいものは直した。",[60,142,143,146,149],{},[63,144,145],{},"EXE は64KB以下でもよく、64KB の制約は COM の側",[63,147,148],{},"複素数は実数を含む",[63,150,151],{},"シフトの説明の「それ以降すべて」は「次のシフトまで」の誤り",[18,153,154],{},"s1 の冒頭が intro とほぼ同じ繰り返しになる癖は、いくつかの講で続いた。\n見つけるたびに短くさせた。",[18,156,157],{},"Mac からは第1講の通し直しと第6〜9講の音声、計813本が届いた。\n「2線-1線」のような表記は、読みだけ「2本の線から1本の線へのセレクタ」に置き換えさせた。\n全18講の台本がそろったのは、コミット 7744db33 の時点である。\n計画書の進捗表を更新させ、origin の新しいコミットを取り込んでから push させた（e38be7c7）。\n残る第10、11講と第13〜18講の音声も Mac に頼んだ。\n合成は約4時間15分かかる見込みで、終わりは20時20分ごろとされた。",[18,159,160],{},"その後、メモリ不足を理由に dev サーバーが止められた。\nこのセッションもコンテキストが埋まってきた。\n計画書に今日の経緯を足して進捗表を更新させ、次の引き継ぎを書き出させた（計画書のコミット d373dc2d は未 push）。",[14,162,163],{"id":163},"返信は夜まで来ない",[18,165,166],{},"16時台、3本目の引き継ぎプロンプトで新しいセッションを開いた。\n最初の手順は Mac の返信の確認だった。\nしかし終わるのは夜8時ごろと聞いているので、まだ返ってこない。\n続きは明日にすると決め、裏で回していた返信の回収だけを止めさせた。",[18,168,169],{},"そこへ、Mac のセッションから本番デプロイの依頼が届いた。\n本番で講座を管理者として見たいが、Mac ではデプロイできなかったという。\n依頼は実行されないまま保留され、判断が要る点を2つ聞かれた。\ndev サーバーは止めてよい、今の作業ツリーのままでよい、と答えた。\ndev サーバーを止めてもらうと、空きメモリは4.8GBから9.6GBに増えた。",[18,171,172,173,176],{},"1回目のデプロイは、wrangler の手前の点検で止まった。\nR2 に無い音声が32件あり、全部が別セッションの未 push のコミットに含まれる、別の講座の音声だった。\n音声の無い講座は draft なので、一般の人には見えない。\n示された選択肢から1つを選んで流し直させると、",[43,174,175],{},"Deployment complete"," まで通った。\nWorker の残り枠は1,240.8KiB、draft の素材は426件が秘匿パスへ退避され、削除は0件だった。",[14,178,179],{"id":179},"学びメモ",[60,181,182,188,191],{},[63,183,184,185,187],{},"サブエージェントは、起動したセッションの中で動いている。コンテキストが詰まって引き継ぐときも、動いている3体を待ってから ",[43,186,130],{}," した",[63,189,190],{},"Codex の指摘は、正しいものと誤検知が同じ日に混ざった。EXE と COM の制約は直し、検査数字の指摘は独立に検算させて誤検知と分かった",[63,192,193],{},"抜き取りの聞き取りは、台本を読むだけでは気づかない読み違い（切を「せつ」）を拾った",[14,195,196],{"id":196},"明日やること",[60,198,201,211],{"className":199},[200],"contains-task-list",[63,202,205,210],{"className":203},[204],"task-list-item",[206,207],"input",{"disabled":208,"type":209},true,"checkbox"," Mac から第10、11講と第13〜18講の音声を回収して取り込む",[63,212,214,216],{"className":213},[204],[206,215],{"disabled":208,"type":209}," 計画書の進捗コミット（d373dc2d）を push する",{"title":218,"searchDepth":219,"depth":219,"links":220},"",2,[221,222,223,224,225,226,227,228,229,230],{"id":16,"depth":219,"text":16},{"id":35,"depth":219,"text":35},{"id":52,"depth":219,"text":52},{"id":80,"depth":219,"text":81},{"id":90,"depth":219,"text":91},{"id":120,"depth":219,"text":121},{"id":134,"depth":219,"text":134},{"id":163,"depth":219,"text":163},{"id":179,"depth":219,"text":179},{"id":196,"depth":219,"text":196},"dev",null,"18講、88セクション、シミュレーター22個の講座を、矢印キーと音声で進むストーリーボード形式に移した記録。計画書の決裁とCodexレビュー、第12講での試作、サブエージェント5体での台本づくり、コンテキスト逼迫による引き継ぎ、Macの音声合成待ちで翌日へ持ち越すまで。","md",{},"/computer-course-storyboard-video-conversion","eurekapu-nuxt4",false,"2026-10-14T00:00:00.000Z",{"title":5,"description":233},"make-diary","2026-10/2026-10-14/computer-course-storyboard-video-conversion",[244,245,246,247,248,249,250],"動画講座","ストーリーボード","Claude Code","Codex","サブエージェント","音声合成","セッション引き継ぎ","Nijt_Hgx6WBXkeKQxQ5-RnTBqX3sTQ4_MxXZEIw5LFE",[],[254,258,262,265,269],{"title":255,"path":256,"publishedAt":257},"講座のストーリー版を電子書籍版の章立てに組み直す。本文の食い違いは電子書籍に合わせ、音声合成はMacだけに","/story-course-ebook-chapters-realign","2026-10-19T00:00:00.000Z",{"title":259,"path":260,"publishedAt":261},"2026年10月16日の開発日記 - 読み上げ音声をMacに任せ、Windowsで教材の図と台本を直した日","/2026-10-16-diary","2026-10-16T00:00:00.000Z",{"title":263,"path":264,"publishedAt":261},"Codexのデューデリジェンス改善計画の残りを実装から確かめ、Excel講座の記事を直してデプロイした日（Codexレビューが503で止まった原因つき）","/codex-dd-followup-excel-article-fixes",{"title":266,"path":267,"publishedAt":268},"財務3表の動画講座を改善した日：Whisperの書き起こしで読み上げの聞き違いを洗い出し、ストーリー版にキャッシュフロー計算書の間接法を足す","/fs-course-transcript-mishearing-and-indirect-method-intro","2026-10-15T00:00:00.000Z",{"title":270,"path":271,"publishedAt":272},"Excel講座に「道具の前に困りごと」を差し込む：困りごと動画48本とCF精算表ストーリー版の公開まで","/excel-course-trouble-first-videos-cfws-story","2026-10-12T00:00:00.000Z","https://log.eurekapu.com/og/blog/computer-course-storyboard-video-conversion.png?v=2026-10-14T00%3A00%3A00.000Z&title=%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF%E8%AC%9B%E5%BA%A718%E8%AC%9B%E3%82%92%E5%8B%95%E7%94%BB%E8%AC%9B%E5%BA%A7%E3%81%AB%E4%BD%9C%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%9F1%E6%97%A5%EF%BC%9A%E8%A8%88%E7%94%BB%E6%9B%B8%E3%80%815%E4%BD%93%E4%B8%A6%E5%88%97%E3%81%AE%E5%8F%B0%E6%9C%AC%E3%81%A5%E3%81%8F%E3%82%8A%E3%80%81Mac%E3%81%AE%E9%9F%B3%E5%A3%B0%E5%BE%85%E3%81%A1&author=Kei%20Komatsu&sig=3c2396e375b9c05f",1792550156345]