[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"content-/git-terminal-replay-katakana-voice":3,"all-pages-for-dir":235,"related-/git-terminal-replay-katakana-voice":236,"og-image-/git-terminal-replay-katakana-voice":256},{"id":4,"title":5,"body":6,"category":213,"concepts":214,"description":215,"extension":216,"meta":217,"navigation":218,"ogImage":214,"path":219,"project_name":220,"published":221,"publishedAt":222,"seo":223,"source":224,"stem":225,"tags":226,"todo":214,"unpublished":221,"updatedAt":214,"__hash__":234},"pages/2026-10/2026-10-11/git-terminal-replay-katakana-voice.md","Git の checkout や reset --hard を画面再現で見せる動画教材づくりと、英字の読み上げをカタカナ台本で直した記録",{"type":7,"value":8,"toc":201},"minimark",[9,13,17,29,32,36,39,42,45,49,52,55,74,77,81,84,87,94,105,108,111,114,117,120,130,133,140,144,147,150,154,157,160,174,177,181,184,187,190,193],[10,11,5],"h1",{"id":12},"git-の-checkout-や-reset-hard-を画面再現で見せる動画教材づくりと英字の読み上げをカタカナ台本で直した記録",[14,15,16],"h2",{"id":16},"打ったときに何が起きているのかを見たい",[18,19,20,24,25,28],"p",{},[21,22,23],"code",{},"git checkout HEAD --"," も ",[21,26,27],{},"git reset --hard"," も、打てば動く。\nけれども、打った瞬間にブランチや作業中のファイルのどこが書き換わるのかは、ターミナルの文字だけでは見えない。\nそこで、ターミナルを画面ごと再現し、コマンドを打つたびに裏側の状態が動くビジュアル教材を Claude Code に頼んだ。",[18,30,31],{},"入り口は commit や push、main と master、origin とリモートのような基本のコマンドにする。\n最終的には reset、rebase、force push、checkout まで扱いたい。\n形は Excel の画面再現コンテンツにそろえ、まずテキストから作ってもらうことにした。",[14,33,35],{"id":34},"git-の動きを再現するエンジンと本物の-git-との照合","Git の動きを再現するエンジンと、本物の Git との照合",[18,37,38],{},"最初に、Git の状態を再現するエンジン（コマンドを受けて内部の状態を書き換える部分）を書かせた。\nテストは 20 件すべて通った。\nその上にターミナルとコミットグラフを描く画面部品を載せ、1本目の教材「git checkout が分かるまで」とシーン台本7本を書かせた。",[18,40,41],{},"ここで2回つまずいている。\nシーン台本をシェル経由で書き出そうとして失敗し、ファイルごとに書き直した。\nブラウザで開くと、今度は画面部品が出ていなかった。\n原因を調べて7つの場面が動くところまで持っていき、枝分かれの線がラベルに重なっていたのもこのとき直した。\n試作ページは PC とスマホの両方で表示を確かめ、lint の警告もなかった。",[18,43,44],{},"続けて講座全体の計画書と、筆者が決める判断事項3件を書かせ、筆者に見せる前に Codex のレビューにかけさせた。\nその後、本物の Git と突き合わせる検査も書かせてビルドに組み込んだ。\n照合の仕組みが食い違いを検出できること、修正後のエンジンが本物と一致することを確かめたうえで、本文の誤りを直している。\nCodex の再レビューは「致命的指摘なし」で、テストは 21 件に増えた。\n判断3件は、計画書の HTML に付いたフォームで答えた。",[14,46,48],{"id":47},"excel-の画面再現と同じ形で動画にする","Excel の画面再現と同じ形で動画にする",[18,50,51],{},"教材が記事の形になっていたのはありがたかった。\n次は動画である。\nExcel のコンテンツと同じ画面再現のパターンで、最終的に動画として書き出せるようにしたい。\nミラーカラムレイアウトで、ボタンやフィードバックもすべて同じ作りにそろえてもらう。\n音声は最初は要らない。\n台本を字幕として出してくれれば、筆者は2倍速か3倍速で見ていく。",[18,53,54],{},"Claude Code には、次のものを作らせた。",[56,57,58,62,65,68,71],"ul",{},[59,60,61],"li",{},"動画の時間軸（仮の時刻を進め、コマンドを1文字ずつ打つ演出を入れる）",[59,63,64],{},"図が前の状態から滑らかに移る計算と、HEAD の札の移動",[59,66,67],{},"テキスト教材と動画で共用するグラフ描画の部品",[59,69,70],{},"1920×1080 の動画フレーム",[59,72,73],{},"動画プレビューのページと、開発用一覧への登録、完了とフィードバックの記録先",[18,75,76],{},"lint とテスト、教材ビルドは通り、時間軸の単体テストも足させた。",[14,78,80],{"id":79},"音声合成を-mac-のセッションに頼む","音声合成を Mac のセッションに頼む",[18,82,83],{},"結局、音声も入れることにした。\n合成は MacBook 側の Claude Code セッションに任せ、cross-machine-message で指令を出させた。\nMac の合成スクリプトは動画1本ごとの台本 JSON を受け取る形なので、Windows 側には台本の書き出しと、届いた音声をページで鳴らす受け口を作らせた。\nMac の IP アドレスは変わっていたが、見つけ直して送れた。",[18,85,86],{},"Mac 側のセッションは依頼を受け取ったところで止まり、筆者の「OK」を待った。\n依頼文には「Claude Code からのメッセージで、ユーザー本人の承認ではない」という署名を付けてあるので、止まるのは想定どおりである。\nただ、できた音声がどの経路で Windows に戻ってくるのかは任せたままで、筆者は仕組みをつかんでいなかった。",[18,88,89,90,93],{},"待つあいだも Windows 側は止めなかった。\nエンジンに show、revert、stash などを足させ、教材の書き手が共有ファイルを書かずに台本を検証できる ",[21,91,92],{},"--check"," モードをビルドに付けさせた。\n第1部の残り6回（1-1、1-2、1-3、1-5、1-6、1-7）は、共通の指示書を指示文に丸ごと埋め込んだサブエージェント5体に並行で書かせた。\nどの台本も、本物の Git との照合が通るまで直す決まりにしてある。",[18,95,96,97,100,101,104],{},"戻ってきた 1-2 は、6本とも照合が通った。\n報告にあった端末表示のずれ（",[21,98,99],{},"--stat"," の合計行と、",[21,102,103],{},"git commit"," の2行目が本物と違う）は、エンジン側で直させた。\n単体テストは 29 件すべて通った。",[18,106,107],{},"Mac からは、1-4 の合成が終わったという返信が届いた。\n7本で 57 拍、計 710 秒になり、送信は 430 件すべて成功していた。\n届いた音声に合わせて動画プレビューが動くことも確かめた。\nこれで第1部7回分のテキスト教材と動画プレビューがそろい、残り29本の合成を Mac に依頼した。",[14,109,110],{"id":110},"英字の発音がノイズになって中身が入ってこない",[18,112,113],{},"ところが、1-4 の音声を聞くと、ローマ字の発音がひどかった。\nHEAD のような語がぐちゃぐちゃに読まれ、その発音がノイズになって、肝心の中身が頭に入ってこない。\n本人の声で作る Irodori-TTS をやめたほうが自然になるのか、Mac に入っているずんだもんで読ませたほうが聞きやすいのか、と Claude Code に聞いた。",[18,115,116],{},"返ってきた見立ては、原因は声の種類ではなく、HEAD や checkout を英字のまま合成に渡していることだ、というものだった。\nずんだもんに替えても英字の読みは崩れやすいので、先に読みをカタカナにして渡すほうが効く、という。\n筆者もそれに乗り、Irodori＋カタカナでいくことにした。",[18,118,119],{},"全36本の読み上げ文から英字と記号の語を洗い出させると、約120種あった。\n声に渡す文だけをカタカナに置き換える読み替え表を作らせ、字幕は英字のまま残した。",[121,122,127],"pre",{"className":123,"code":125,"language":126},[124],"language-text","HEAD     → ヘッド\ncheckout → チェックアウト\ngit      → ギット\n","text",[21,128,125],{"__ignoreMap":129},"",[18,131,132],{},"置き換え漏れは Untracked の1語だけで、これも表に足した。\n合成を待つあいだに、Mac への前の依頼（英字のまま29本）は取り下げさせた。\n筆者がうっかり OK を出しても、古い台本のまま作られないようにするためだ。",[18,134,135,136,139],{},"試しの1本は 1-4-3「git checkout ブランチ名」で、8拍、84 秒を Windows で作り直した。\n聞いて「こっちの方が全然いいですね」と返し、Irodori＋カタカナの台本で確定した。\n残り35本（1-4 の作り直し6本と第1部の残り29本、計 259 拍）は、古い台本と取り違えないよう、ファイル名に ",[21,137,138],{},"kana-"," を付けて Mac に依頼させた。",[14,141,143],{"id":142},"明日は-mac-とのファイルの受け渡しから","明日は Mac とのファイルの受け渡しから",[18,145,146],{},"続きは明日にする。\nそこで、Mac で完了したファイルをどう送ってもらうのか、そもそもいまはどうやり取りしているのかを聞き直した。\n返ってきた説明では、いまのやり取りは4本の線で成り立っている。\n明日はその通信を作るところから、新しいセッションで始めたい。\n引き継ぎのプロンプトは、テキストファイルに書き出させた。",[18,148,149],{},"PC はこのあとシャットダウンするので、その旨を Mac に伝えさせた。\nMacBook はつけたままにしておく。\nMac は合成を最後まで続け、できた音声は Mac に置いたままにする。\n明日 PC を立ち上げたとき、その音声をどう手元へ持ってくるかが最初の仕事になる。",[14,151,153],{"id":152},"ライフプラン講座は進められる計算モジュールから","ライフプラン講座は、進められる計算モジュールから",[18,155,156],{},"別のセッションでは、ライフプラン講座の計画書を開き、モジュールができないとまだ作れないのかを確かめた。\n答えは、計画どおりなら計算モジュールが先、というものだった。\n計画書の Step 1 が「計算モジュールを先に作る」になっている。\n先にライフプランを書くと、税や社保、返済の説明をライフプラン側で書いてしまい、あとでモジュール側と重なる。\nただし、全部のモジュールを待つ必要はない。\nそれなら進められるところを進めてほしい、と頼んだ。",[18,158,159],{},"まず、公表資料の数字が要らない6本を作らせた。\nC1 タイムライン、C2 生活支出、C4 返済計画、C5 投資運用、C6 減価償却、C7 四表と check である。\nどれも数式エンジンと Excel の全再計算の2段で検算を通した。",[56,161,162,165,168,171],{},[59,163,164],{},"C4 の前提として、PMT、IPMT、PPMT を数式エンジンに足させ、別の実装と値を突き合わせるテストも書かせた",[59,166,167],{},"C5 で使う株式の譲渡益の税率（20.315%）は、国税庁のページで確認させた",[59,169,170],{},"マスタの作りを共通にする途中で、スクリプトでの追記が空振りし、Edit ツールに切り替えた",[59,172,173],{},"C4 の繰上返済は、返済表の check の作り方を決めてから足すことにして後回しにした",[18,175,176],{},"公表値が要る C3、A7、A8 は、サブエージェント3体に並行で調べさせた。\nC3 には、文科省の「子供の学習費調査」令和5年度のうち、2026年1月の訂正後の値を使った。\n学年別の合計が公表値と一致するところまで確かめている。\n値を入れる正本の JSON は、読み書きし直しても1文字も変わらないことを先に確かめた。\nそのうえで追記だけで値を足し、既存の行は変えていない（確認済みは 179 件）。\n計14冊すべてが Excel 照合まで通り、ライフプランが使う計算モジュールは、C4 の繰上返済を除いてそろった。\nコミットはまだしていない。",[14,178,180],{"id":179},"迷うなら代替案を並べてほしい","迷うなら、代替案を並べてほしい",[18,182,183],{},"自分は何を確認すればいいのか、どこを開けばいいのかを聞くと、確認してほしいのは数字の正しさではなく作りの判断4つだ、という答えだった。\n数字は Excel の全再計算と公表資料の計算例で照合済みで、9冊のブックは共有フォルダに置いてある。",[18,185,186],{},"判断のうち、生活費の月次の形は、そのままでいいと思った。\nただ、イエスかノーで迷う場面があるなら、もっと良い代替案があるということでもある。\nだから代替案を並べた HTML を作ってほしい、と頼んだ。\nClaude Code に、代替案を並べた判断用のページを作らせた。\nそのあいだに C3 を月次に直させ、判断資料の誤りも直させている。",[18,188,189],{},"最後に、add-task で明日（10/12）期日の Google タスクを登録させた。\n中身は、判断4つを C 系に反映する作業（C2 の横長化、C7 の財務諸表の見た目、C3 の教育費の上昇率）である。\n判断1については、縦長だと費目を足すたびに月の数だけ行が増えて面倒ではないか、と筆者が聞いた。\n100歳までなら約900行になる。\n月額を費目別に並べて家計調査と見比べるという目的にも横長が合うので、明日、横長に作り直す。",[14,191,192],{"id":192},"学びメモ",[56,194,195,198],{},[59,196,197],{},"英字の発音が崩れる原因は声の種類ではなく、英字のまま合成に渡していた入力にあった。声に渡す文だけをカタカナにすれば、字幕は英字のまま残せる",[59,199,200],{},"イエスかノーで迷うのは、もっと良い代替案があるということでもある。答える前に、代替案を並べた資料を作ってもらう",{"title":129,"searchDepth":202,"depth":202,"links":203},2,[204,205,206,207,208,209,210,211,212],{"id":16,"depth":202,"text":16},{"id":34,"depth":202,"text":35},{"id":47,"depth":202,"text":48},{"id":79,"depth":202,"text":80},{"id":110,"depth":202,"text":110},{"id":142,"depth":202,"text":143},{"id":152,"depth":202,"text":153},{"id":179,"depth":202,"text":180},{"id":192,"depth":202,"text":192},"dev",null,"Git コマンドを打ったときに何が起きているかを、ターミナルとコミットグラフの画面再現で見せる教材と動画プレビューを作った。音声合成は Mac のセッションに依頼し、英字の発音が崩れる問題は本人の声の TTS とカタカナ台本で解消した。ライフプラン講座の計算モジュールも先行して進めた。","md",{},true,"/git-terminal-replay-katakana-voice","eurekapu-nuxt4",false,"2026-10-11T00:00:00.000Z",{"title":5,"description":215},"make-diary","2026-10/2026-10-11/git-terminal-replay-katakana-voice",[227,228,229,230,231,232,233],"Git","画面再現","動画教材","音声合成","Irodori-TTS","Claude Code","ライフプラン","vWmztVh7sohPtcRZ7-yvc4BiqTn5uQb4lBXKpoDfhwY",[],[237,240,244,248,252],{"title":238,"path":239,"publishedAt":222},"2026年10月11日の開発日記 - 計算モジュールの動画を分割画面にまとめ、Gitの読み上げをカタカナ台本に切り替えた","/2026-10-11-diary",{"title":241,"path":242,"publishedAt":243},"irodori-ttsで「純資産」「減価償却費」の読みを直す：財務諸表講座の動画フィードバック反映ログ","/fs-course-feedback-irodori-reading","2026-10-05T00:00:00.000Z",{"title":245,"path":246,"publishedAt":247},"Excel講座にFILTER関数の章と演習を追加した日：Ctrl+[で構成を見直し、ナレーションは合成音声を手本に自分で録る","/excel-course-filter-exercise-narration","2026-10-02T00:00:00.000Z",{"title":249,"path":250,"publishedAt":251},"TikTokのアカウントをジャンル別に分ける方法を調べ、Irodori-TTS v4 Largeを手元のGPUで試した","/tiktok-genre-accounts-and-irodori-tts-large-check","2026-09-30T00:00:00.000Z",{"title":253,"path":254,"publishedAt":255},"Excel講座の本人音声を全編再合成した日：読み上げ台本を「耳で分かるか」でレビューし、聞いた感想を区間単位で直す","/excel-course-narration-ear-review-feedback","2026-09-23T00:00:00.000Z","https://log.eurekapu.com/og/blog/git-terminal-replay-katakana-voice.png?v=2026-10-11T00%3A00%3A00.000Z&title=Git%20%E3%81%AE%20checkout%20%E3%82%84%20reset%20--hard%20%E3%82%92%E7%94%BB%E9%9D%A2%E5%86%8D%E7%8F%BE%E3%81%A7%E8%A6%8B%E3%81%9B%E3%82%8B%E5%8B%95%E7%94%BB%E6%95%99%E6%9D%90%E3%81%A5%E3%81%8F%E3%82%8A%E3%81%A8%E3%80%81%E8%8B%B1%E5%AD%97%E3%81%AE%E8%AA%AD%E3%81%BF%E4%B8%8A%E3%81%92%E3%82%92%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A%E5%8F%B0%E6%9C%AC%E3%81%A7%E7%9B%B4%E3%81%97%E3%81%9F%E8%A8%98%E9%8C%B2&author=Kei%20Komatsu&sig=0a9b09e7920af95d",1791766735518]