2026年9月21日の開発日記 - Excel講座のナレーションを本人の声に、連結シミュレーターは紙面照合とExcel化へ

daily-log

2026年9月21日の開発日記

9月21日は、Excel講座のナレーションと連結会計シミュレーターを、朝6時台から並行して進めた。 どちらの作業でも、機械のチェックだけでは足りず、別の手段で確かめる場面があった。 ナレーションでは、通しの秒数は機械で照合できても、音の良し悪しは自分の耳で聞いて決めるしかない。 シミュレーターでは、テストが全部通っているのに、参考書の紙面と照らす作業がまだ残っていた。

今日のタイムライン

タイムライン

今日やったこと

1. Excel講座のナレーションを本人の声にする

6時7分からのセッションでは、講座動画の画面が変わる時刻を機械検出させて拍を割り出し、区間ごとの語りをまず VOICEVOX で合成させた。 途中で、自分の声を写す Irodori-TTS に切り替えた。 合成に渡す台本では、誤読しそうな語を Claude Code が先回りしてひらがなやカタカナに書き換えていた。 ところが、ひらがなの「しさんひょう」は変に聞こえ、カタカナにした「W」も素の W より不自然だった。 そこで、台本の文字はそのまま渡すと決めた。 例外は、素のままだと「E スリー」「Bつー」と英語読みになるセル番地の数字だけで、その数字は漢数字(E三)にして渡す。

9時18分からのセッションでは、章1の23区間すべてを本人の声にした。 通しの時間が合成の合計と一致すること(1:30=90.0秒、3:28=208秒)は、Chrome DevTools で確かめさせた。 最後に、R2 への音声アップロードと本番デプロイを指示した。

主な成果:

  • 読み替えのルールを「台本の文字はそのまま、セル番地の数字だけ漢数字」の1本にまとめた
  • 6時7分のセッションで BPM120 のビートグリッドに載せて作り直させ、通しは126.0秒ちょうど(63小節)になった
  • R2 へ23区間、120本、295.7MB の音声をアップロードし、本番デプロイ(3分2秒)まで済ませた

詳細: Irodori-TTSでExcel講座のナレーションを本人の声に:読み替え辞書を削ったら、残ったのはセル番地の数字だけ


2. 連結会計シミュレーターの計算バグをテスト先行で直し、参考書と照合する

朝いちばんに、前日に直した経路別の関数を部品として残し、その上に状態モデルの入口(executeCapitalTransition)をかぶせる進め方を決めた。 80→10 のように投資が一部残るケースの売却益(F18)は、先にテストを書かせた。 3,500 を期待したところに 3,000、10,500 を期待したところに 12,000 が返って落ちたのを確かめてから、仕訳と持分計算表が共有する関数に寄せて直させた。 F15 の原因は、同じ金額を経路ごとに別の式で丸めていたことで、整数の入力でも貸借が 0.5〜2 円ずれていた。

9時8分からは、参考書のスキャンを Claude Code に読ませ、7つの設例で事例データと紙面の差異が0件だと確かめた。 照らしてみると、整合性テストが比べていたのは最終残高の3行だけで、80→10 はテストの対象にも入っていなかった。 これを整合性テストに加えさせた。

主な成果:

  • F18 と F15 を直し、it.fails は0件になった
  • 設例4-2、4-3、4-4、4-5、5-1①、5-2、5-3 の7つで差異0件
  • 整合性テストに 80→10 を加えた(904件→907件、54c5990b
  • 精算表で 10→30 の 1,500 と 80→10 の 670 が利益剰余金の期首残高に入る件は、いったん issue にした(同じ日の Excel 化の作業で直した)

詳細: 連結会計シミュレーターの計算バグをテスト先行で直し、参考書の設例7つと照合した


3. 連結会計シミュレーターの結果を Excel の連結精算表ブックにする

10時25分からは、シミュレーターの結果を Excel の連結精算表ブックに書き出す計画を立てた。 計画書を書く前に、エンジンで年度をつなげるかを確かめさせた。 13区間はどれも単発なら計算できるのに、前の年度の nextState を次の年度の期首に渡すと、2区間目(10% → 15%)で拒否された。 この手当てを Phase 1 に置いた。

既存の Excel 化のスキルを探させ、xlsx_helpers.pyverify_cfws_excel.py を読ませたうえで、再利用する範囲を決めた。 Codex のレビューは3回目で「計画として妥当」になり、決裁5件にはすべて推奨の A で答えた。 最初に上がってきたブックは、持分計算表を値で並べただけだった。 計算式が無い、罫線が無い、個別 TB へのリンクが無い、の3点を指摘した。 あわせて =G15-S社_TB!$F$20 を貼って並び順のルールを伝え、ブックを数式で組み直させた。

主な成果:

  • エンジンでは、持分法の適用開始と中止による増減を、期首残高から当期変動の行へ移させた(上の 1,500 と 670 の件)
  • 照合で8,736セル(13年度 × 42行 × 16列)が全部一致した
  • 連結AJE の金額132個も数式に組み替えた
  • 続きは add-task で翌日のタスクに登録した(コミットはまだしていない)

詳細: 連結会計シミュレーターの結果をExcelの連結精算表ブックに書き出す計画:13年つなぐとエンジンは2年目で止まった


4. そのほか

  • 本番デプロイのログを貼って、Claude Code に裏を取らせた。配信中の buildId は今回のビルド(f86c7376-…)と一致し、赤字や失敗に見える3箇所はいずれも無害だった。ただし、未コミットの変更が本番に出ていた
  • パランティアCEOの運動配分と自分の現状を並べた記事を書かせた。差分は「高強度の本数」と「ぶら下がり時間」の2点で、歩く量はすでに足りていた。あとからファーマーズウォークの基準も書き足させた(記事
  • 朝に /make-diary で9月20日分の日記を生成した

今日の試行錯誤

#テーマ試したこと結果気づき
1読み替え辞書(06:07)漢字をひらがな(しさんひょう)に、W をカタカナ(ダブリュー)に書き換えて Irodori-TTS に渡した失敗。どちらも不自然に聞こえた書き換えは、誤読を聞いて確かめる前に入れていた
2セル番地の読み(06:07)セル番地を素のまま渡したE3 が「E スリー」、B2 が「Bつー」になった。漢数字(E三)で確定書き換えが要るのはセル番地の数字だけだった
3本人の声での合成(09:18)概要と新しいウィンドウを本人の声で合成し直させ、残りの区間も台本を入れて合成させた成功。通しの時間が合成の合計と一致した(1:30=90.0秒、3:28=208秒)時間の一致は Claude Code に、音の良し悪しは自分の耳に任せた
4F18 の売却益(06:33)修正前にテストを書かせ、落ちる理由を確かめてから共通の関数に寄せさせた3,500 の期待に 3,000、10,500 の期待に 12,000 が返って落ち、修正後に通った。コミットは1回で通らなかった修正を一度外し、テストがバグを捕まえるのを確かめてからコミットした
5F15 の端数(06:33)一時的な確認用テストで、小数の単価のずれを洗い出させた(確認後に削除)整数の入力でも 0.5〜2 円ずれていた。丸めを一度にそろえ、it.fails は0件円に丸めるのは一度だけにし、もう片方は差額で出す
6参考書スキャンの読み込み(09:08)ローカルの Dropbox フォルダからスキャンを開こうとした失敗。オンライン専用で開けず、Web 版のプレビューで読ませた原因は Windows 側ではなく、Dropbox の「同期を一時停止」だった
7デプロイログの裏取り(09:16)生ログの ERROR、404、WARN の件数を数えさせた生ログがバイナリ扱いになり、件数が不正確だった。-a を付けて数え直した数え直しても、デプロイ自体は成功していた
8年度のつなぎ(10:25)13区間を、前の年度の nextState でつながせた2区間目(10% → 15%)で拒否された計画の前に実測したので、エンジンの手当てを Phase 1 に置けた
9計画書のレビュー(10:25)Codex に計画書を3回レビューさせた初回は「要修正」で指摘3件、3回目で「計画として妥当」手当ては合わせて4つになった
10最初のブック(10:25)持分計算表を値で並べたブックを作らせた3点を指摘し、数式で組み直させた。連結AJE の金額132個も数式にした他シートの参照を式の先頭に置くと、Ctrl+[ で確かめたいセルへ飛べる

今日の学び

  • 台本の文字を先回りして書き換えると、かえって発音が崩れた。書き換えとして残ったのは、素のまま渡して実際に「E スリー」と聞こえたセル番地の数字だけだった。
  • 同じ金額を経路ごとに別の式で丸めると、整数の入力でも貸借が 0.5〜2 円ずれる。円に丸めるのは一度だけにして、もう片方は差額で出す。
  • テストが全部通っていても、紙面との照合は別の作業だった。整合性テストが比べていたのは3行だけで、80→10 は対象にも入っていなかった。
  • 計画書を書く前に年度の受け渡しを実測させたから、エンジンの手当てを Phase 1 に組み込めた。

明日やること

  • 最新の連結精算表ブックを見て、レビュー結果を返す
  • エンジンの修正とブックの書き出し(スクリプトと計画書)をコミットし、続きを進める

関連記事

#日記#Irodori-TTS#連結会計#Excel#テスト