2026年9月22日の開発日記 - Excel講座のナレーションをWindowsとMacで分担して合成した日
2026年9月22日の開発日記
朝から夕方まで、Excel講座のナレーション合成が裏で走り続けた。 GPU は99%に張りついたまま、1区間に10分かかる区間もあった。 待ち時間に、別の画面で年表ページを作り直し、うろ覚えの話を2本の記事にした。 午後には「このPCにGPUをもう1枚挿せるのか」という疑問が残った。 電源のワット数だけは、ツールでは読めなかった。
今日のタイムライン

今日やったこと
1. Excel講座のナレーションを本人の声で合成し、Macと分担した
章3の66区間は、サブエージェント5体に下書きさせた。 下書きはすべて親セッションに全文を読ませてから講座データへ差し込み、静的検査とブラウザのセレクタ検査を通した。 合成(Irodori-TTS、本人の声)は、音声入力や NVIDIA Broadcast と GPU を取り合っていた。 Broadcast は自分で終了し、合成時には Claude Code が止めてよいと許可した。 ただ、測ってみると、遅さの主因は別のところにあった。
主な成果:
- 参照音声を private の irodori-refs に集め、正本にした
- Mac に donts 以降の7ページを合成させ、R2 へ上げさせた
- 字数と長さの集計表は、合計 161,140 字、約7時間44分になった
詳細: Excel講座のナレーションを本人の声で一括合成した日:Irodori-TTSをWindowsとMacで分担する
2. 60人の生涯年表を Vue ページとして作り直した
60人の生涯を並べた年表画像を Claude Code に貼り、生没年を裏取りさせてから Vue ページにした。
データと純関数は分け、Person 型には approx を足した。
元図の並びに規則がないと分かっていたので、分野別の並べ方を自分で提案した。
ロジックで日本8列と西洋11列の計19列に組み直させ、テスト30件を通した。
主な成果:
- table が display:block になる件、スマホ幅での列の折り返し、パンくずの位置を1つずつ直させた
- 分析以下は独立した記事へ移し、年表ページと相互リンクした
- ee6d9f2c でコミットした(デプロイはしていない)
詳細: 60人の生涯年表を Vue で作り直し、分析を別記事に切り出した作業ログ
3. GPU2枚目を挿せるかを実機で確かめ、DGX Sparkの台数も調べ直した
9月18日の記事の「DGX Spark 3〜4台」は、DeepSeek V4.1 Flash の台数で、当時の数字のままだった。 調べ直させると、無検閲版のフルサイズ(GLM-5.3、約744B)なら Spark は実用上4台が下限、配布元の検証構成は8台と分かった。 Flash 版(320B)なら2〜4台で動く。 この結果を2記事に追記させ、33862994 としてコミットして push した。
音声合成が遅い原因は、GPU の8GBがあふれることだった。 「実機見てください」と頼むと、Claude Code は PowerShell でマザーボードを読んだ。 MSI B550-A PRO に x16 長の空きスロットがあり、RTX 3070 は CPU 直結の PCIe 4.0 x16 に載っていた。
主な成果:
- 物理的には2枚目を挿せると分かった
- 電源はケースを開けて自分で撮った。途中で別PCの電源(CWT 650W)を撮っていたと気づき、撮り直した
- 結果は非公開の計画メモにまとめた
詳細: 今のPCにGPUを2枚目として挿せるか実機で確かめ、DGX Sparkの必要台数も調べ直した
4. うろ覚えを一次資料で裏取りして、記事を2本書いた
「特別会計は使途を明示していない」「国の予算は複式簿記でなく使途不明がある」といううろ覚えを、Claude Code に投げた。 返ってきたのは、財政法13条2項などを根拠にした整理だった。 使途は法律で明示されている。 記憶の中で、「国の会計が単式簿記」と「コロナ予備費の使途」の2つの話が混ざっていた。 md-make で公開記事にさせ、Codex レビュー、推敲、ウォーターフォールチャートの図解、ブラウザでの目視確認まで進めた。
続けて、船井電機の破産を扱った経済ノンフィクションの素性も調べさせた。 船井電機に第三者委員会が置かれた記録はなく、調査の主体は破産管財人だった。 /new-article で記事にさせ、推敲で見つかった9箇所の直しを一括で当ててもらった。
主な成果:
今日の試行錯誤
| # | テーマ | 試したこと | 結果 | 気づき |
|---|---|---|---|---|
| 1 | ナレーション合成(07:54) | 章3が9分ほど14区間のまま動かないのを確認させた | GPU は99%、最新ファイルは 09:44:33。止まってはおらず、1区間に10分かかっていた | Broadcast を止めても、遅さの主因は別だった |
| 2 | ナレーション合成(07:54) | ローカルの Irodori-TTS に参照音声があるか確かめさせた | 公開リポジトリのクローンで、参照音声は untracked だった | 参照音声だけの private リポジトリ irodori-refs を正本にした |
| 3 | ナレーション合成(07:54) | Mac 側ブリッジへ LAN 直送した | 最初はタイムアウト。11:31 に Mac から疎通テストが届いてつながった | |
| 4 | ナレーション合成(11:50) | 古い chain-synth.sh を kill 40311 で止め、縮小版だけを残した | 縮小版もメモリ不足を理由に Claude Code 側で停止された。章3の合成自体は exit code 0 で終わっていた | R2 アップロード(436 ファイル、979MB)はその後に進めた |
| 5 | 年表ページ(06:12) | 元図と同じ12列で実装し、表示の崩れを順に直させた | テスト25件が通り、パンくずは x=134px、上端から32pxに収まった | |
| 6 | 年表ページ(06:12 後半) | 分野別に組み替え、分析部分を別記事へ切り出した | 19列でテスト30件が通り、見出し行は57px→40pxになった | スタイル削除で .lt-wide のコメント行を巻き込み、戻した |
| 7 | DGX Spark(08:24) | 9月18日記事の「3〜4台」を調べ直させた | 無検閲フルサイズは4台が下限、配布元の構成は8台、Flash版は2〜4台 | 390px幅で確認してから 33862994 をコミットして push |
| 8 | GPU2枚目(09:39) | 最初は一般論で答えさせ、「実機見てください」で PowerShell 実測に切り替えた | 物理的には挿せる。残る未知は電源W数と旧GPU型番の2点 | Codex レビューは1回目が作業ディレクトリのずれで空振りし、ルートから再実行した |
| 9 | 特別会計(09:16) | Codex レビューのプロンプトをスクリプトファイルに書き出してから実行させた | レビューが回り、指摘を受けて書き直した | ヒアドキュメントの引用符トラブルを避けられた |
| 10 | 特別会計(09:16) | 図をフルページのスクリーンショットで確認させた | 字が潰れたので、図の周辺を切り出して撮り直した | |
| 11 | 船井電機(09:21) | 6観点と5観点で推敲させた | 直す箇所が9つ見つかり、一括で修正した |
今日の学び
- 9分動かない進捗は、止まっていたのではなく、1区間に10分かかっていただけだった。GPU の使用率と最新ファイルの時刻を見れば、止まったかどうかを判断できる
- 手元の機械についての質問は、一般論で返させず、最初から実機を読ませる。人が見に行くのは、ツールで取れない電源W数だけで済む
- 記事の数字を引くときは、どのモデルの、いつ時点の数字かを先に確かめる
- 前提が否定されたうろ覚えは、そのまま記事の骨格になった。何と何が混ざっていたかを切り分けた結果が、見出しになった