SCH Life Notes Voice V2.1|Multi-Page Isolated 2.3

文章:01.html

本篇語音路徑:audio_tts/01

內容 Hash:a763abbc9b77fe570ac4b53941936830c23a33199ca3b05e39db39bb0c2b759c

每一篇文章使用自己的 audio_tts 子目錄;不同網頁不再共用、覆蓋語音。

新語音先產生到 audio_tts_build/文章名;全部 MP3、Timing JSON、manifest 都完成後,再以 Windows 安全逐檔發布到 audio_tts/文章名;只更新本篇,不碰其他文章。

朗讀正規化:畫面原文不變;TTS 會自動處理 LINE、NT$、千分位數字、×、=、→。若某一句有 data-tts-text,以人工指定朗讀文字為準。

智慧增量:本篇正式語音目錄裡文字 SHA 相同的 chunk 會直接沿用舊 MP3;若只是 segment 編號改變,會重建 timing JSON,不會重新合成聲音。只有真正文字變動的 chunk 才呼叫 Edge TTS。

SMART:找到本篇可重用的正式語音;相同 SHA 的 MP3 將直接沿用。

=== HsiaoChen 女聲 ===
[1/66] REUSE audio_tts_build/01/hsiaochen/c0001(同 chunk;沿用 MP3,只重建 timing)
[2/66] REUSE audio_tts_build/01/hsiaochen/c0002(同 chunk;沿用 MP3,只重建 timing)
[3/66] REUSE audio_tts_build/01/hsiaochen/c0003(同 chunk;沿用 MP3,只重建 timing)
[4/66] REUSE audio_tts_build/01/hsiaochen/c0004(同 chunk;沿用 MP3,只重建 timing)
[5/66] REUSE audio_tts_build/01/hsiaochen/c0005(同 chunk;沿用 MP3,只重建 timing)
[6/66] REUSE audio_tts_build/01/hsiaochen/c0006(同 chunk;沿用 MP3,只重建 timing)
[7/66] REUSE audio_tts_build/01/hsiaochen/c0007(同 chunk;沿用 MP3,只重建 timing)
[8/66] REUSE audio_tts_build/01/hsiaochen/c0008(同 chunk;沿用 MP3,只重建 timing)
[9/66] REUSE audio_tts_build/01/hsiaochen/c0009(同 chunk;沿用 MP3,只重建 timing)
[10/66] REUSE audio_tts_build/01/hsiaochen/c0010(同 chunk;沿用 MP3,只重建 timing)
[11/66] REUSE audio_tts_build/01/hsiaochen/c0011(同 chunk;沿用 MP3,只重建 timing)
[12/66] REUSE audio_tts_build/01/hsiaochen/c0012(同 chunk;沿用 MP3,只重建 timing)
[13/66] REUSE audio_tts_build/01/hsiaochen/c0013(同 chunk;沿用 MP3,只重建 timing)
[14/66] REUSE audio_tts_build/01/hsiaochen/c0014(同 chunk;沿用 MP3,只重建 timing)
[15/66] REUSE audio_tts_build/01/hsiaochen/c0015(同 chunk;沿用 MP3,只重建 timing)
[16/66] REUSE audio_tts_build/01/hsiaochen/c0016(同 chunk;沿用 MP3,只重建 timing)
[17/66] REUSE audio_tts_build/01/hsiaochen/c0017(同 chunk;沿用 MP3,只重建 timing)
[18/66] REUSE audio_tts_build/01/hsiaochen/c0018(同 chunk;沿用 MP3,只重建 timing)
[19/66] REUSE audio_tts_build/01/hsiaochen/c0019(同 chunk;沿用 MP3,只重建 timing)
[20/66] REUSE audio_tts_build/01/hsiaochen/c0020(同 chunk;沿用 MP3,只重建 timing)
[21/66] REUSE audio_tts_build/01/hsiaochen/c0021(同 chunk;沿用 MP3,只重建 timing)
[22/66] REUSE audio_tts_build/01/hsiaochen/c0022(同 chunk;沿用 MP3,只重建 timing)

=== HsiaoYu 女聲 ===
[23/66] REUSE audio_tts_build/01/hsiaoyu/c0001(同 chunk;沿用 MP3,只重建 timing)
[24/66] REUSE audio_tts_build/01/hsiaoyu/c0002(同 chunk;沿用 MP3,只重建 timing)
[25/66] REUSE audio_tts_build/01/hsiaoyu/c0003(同 chunk;沿用 MP3,只重建 timing)
[26/66] REUSE audio_tts_build/01/hsiaoyu/c0004(同 chunk;沿用 MP3,只重建 timing)
[27/66] REUSE audio_tts_build/01/hsiaoyu/c0005(同 chunk;沿用 MP3,只重建 timing)
[28/66] REUSE audio_tts_build/01/hsiaoyu/c0006(同 chunk;沿用 MP3,只重建 timing)
[29/66] REUSE audio_tts_build/01/hsiaoyu/c0007(同 chunk;沿用 MP3,只重建 timing)
[30/66] REUSE audio_tts_build/01/hsiaoyu/c0008(同 chunk;沿用 MP3,只重建 timing)
[31/66] REUSE audio_tts_build/01/hsiaoyu/c0009(同 chunk;沿用 MP3,只重建 timing)
[32/66] REUSE audio_tts_build/01/hsiaoyu/c0010(同 chunk;沿用 MP3,只重建 timing)
[33/66] REUSE audio_tts_build/01/hsiaoyu/c0011(同 chunk;沿用 MP3,只重建 timing)
[34/66] REUSE audio_tts_build/01/hsiaoyu/c0012(同 chunk;沿用 MP3,只重建 timing)
[35/66] REUSE audio_tts_build/01/hsiaoyu/c0013(同 chunk;沿用 MP3,只重建 timing)
[36/66] REUSE audio_tts_build/01/hsiaoyu/c0014(同 chunk;沿用 MP3,只重建 timing)
[37/66] REUSE audio_tts_build/01/hsiaoyu/c0015(同 chunk;沿用 MP3,只重建 timing)
[38/66] REUSE audio_tts_build/01/hsiaoyu/c0016(同 chunk;沿用 MP3,只重建 timing)
[39/66] REUSE audio_tts_build/01/hsiaoyu/c0017(同 chunk;沿用 MP3,只重建 timing)
[40/66] REUSE audio_tts_build/01/hsiaoyu/c0018(同 chunk;沿用 MP3,只重建 timing)
[41/66] REUSE audio_tts_build/01/hsiaoyu/c0019(同 chunk;沿用 MP3,只重建 timing)
[42/66] REUSE audio_tts_build/01/hsiaoyu/c0020(同 chunk;沿用 MP3,只重建 timing)
[43/66] REUSE audio_tts_build/01/hsiaoyu/c0021(同 chunk;沿用 MP3,只重建 timing)
[44/66] REUSE audio_tts_build/01/hsiaoyu/c0022(同 chunk;沿用 MP3,只重建 timing)

=== YunJhe 男聲 ===
[45/66] REUSE audio_tts_build/01/yunjhe/c0001(同 chunk;沿用 MP3,只重建 timing)
[46/66] REUSE audio_tts_build/01/yunjhe/c0002(同 chunk;沿用 MP3,只重建 timing)
[47/66] REUSE audio_tts_build/01/yunjhe/c0003(同 chunk;沿用 MP3,只重建 timing)
[48/66] REUSE audio_tts_build/01/yunjhe/c0004(同 chunk;沿用 MP3,只重建 timing)
[49/66] REUSE audio_tts_build/01/yunjhe/c0005(同 chunk;沿用 MP3,只重建 timing)
[50/66] REUSE audio_tts_build/01/yunjhe/c0006(同 chunk;沿用 MP3,只重建 timing)
[51/66] REUSE audio_tts_build/01/yunjhe/c0007(同 chunk;沿用 MP3,只重建 timing)
[52/66] REUSE audio_tts_build/01/yunjhe/c0008(同 chunk;沿用 MP3,只重建 timing)
[53/66] REUSE audio_tts_build/01/yunjhe/c0009(同 chunk;沿用 MP3,只重建 timing)
[54/66] REUSE audio_tts_build/01/yunjhe/c0010(同 chunk;沿用 MP3,只重建 timing)
[55/66] REUSE audio_tts_build/01/yunjhe/c0011(同 chunk;沿用 MP3,只重建 timing)
[56/66] REUSE audio_tts_build/01/yunjhe/c0012(同 chunk;沿用 MP3,只重建 timing)
[57/66] REUSE audio_tts_build/01/yunjhe/c0013(同 chunk;沿用 MP3,只重建 timing)
[58/66] REUSE audio_tts_build/01/yunjhe/c0014(同 chunk;沿用 MP3,只重建 timing)
[59/66] REUSE audio_tts_build/01/yunjhe/c0015(同 chunk;沿用 MP3,只重建 timing)
[60/66] REUSE audio_tts_build/01/yunjhe/c0016(同 chunk;沿用 MP3,只重建 timing)
[61/66] REUSE audio_tts_build/01/yunjhe/c0017(同 chunk;沿用 MP3,只重建 timing)
[62/66] REUSE audio_tts_build/01/yunjhe/c0018(同 chunk;沿用 MP3,只重建 timing)
[63/66] REUSE audio_tts_build/01/yunjhe/c0019(同 chunk;沿用 MP3,只重建 timing)
[64/66] REUSE audio_tts_build/01/yunjhe/c0020(同 chunk;沿用 MP3,只重建 timing)
[65/66] REUSE audio_tts_build/01/yunjhe/c0021(同 chunk;沿用 MP3,只重建 timing)
[66/66] REUSE audio_tts_build/01/yunjhe/c0022(同 chunk;沿用 MP3,只重建 timing)

暫存 manifest.json 已完成。
PUBLISH:備份本篇正式語音(Windows 安全複製模式)。
PUBLISH:同步新版 MP3 / Timing JSON;不 rename 整個資料夾。
PUBLISH:全部語音檔驗證完成,最後發布 manifest.json。
PUBLISH:本篇正式語音完整驗證通過。

PUBLISH OK:本篇 audio_tts/01 已更新完成。
RESULT:新合成 0,沿用舊 MP3 66,已完成跳過 0,失敗 0。
舊正式版本只在新版逐檔同步、manifest 發布及完整驗證成功後才刪除。