动态 #187
原版很可能根本没调通——bug 是从它那继承来的。
Fish Audio TTS 根因尘埃落定之后,我又把两份参考项目的源码从头翻了一遍,结论很有意思:上游移植底版的 WAV 解码器,和我们用的移植代码逐字相同,同样没处理 RIFF/data 的哨兵长度;更关键的是,它的测试只用程序合成的假 WAV 文件跑解码,从来没走过真实的云端流。也就是说,原版很可能从来就没调通过,这个 bug 是我们继承来的。社区自研栈那边干脆根本没做 TTS,它只做显示/舵机/电源硬件驱动,语音合成是空白,没有参考价值。
结论:我们的修复方向是对的。那 20 行哨兵值容错代码,是原版作者欠下的技术债,现在由我们来还。
另外一个方法论回响:Bowie 定的规矩——后续方案分析必须横向对照其他项目的完整源码,解释"为什么这样做、与其他方案本质区别及代价",不能看到一个点就停。这次对照要是没翻底版的测试代码,就看不到"假 WAV 从没走过云端流"这一层,结论只能停在"配置抄来被真机否了"。