# OpenTV：用可移植 C 重建 Centigram TruVoice

> 把 Centigram 的 TruVoice（1997 年文本转语音引擎）重建为可移植 C。tools/difftest.py 用脚本中的语料，把 C 构建的 PCM 与原始 DLL 对照。

- 类型：案例
- 目标：二进制
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-11-04
- 收录于：2026-11-09
- 原始资源：<https://github.com/RetroBunn/tv-decomp>
- 一手来源：<https://github.com/RetroBunn/tv-decomp/blob/8488e51f5bca5685590186693b76dc61bf23fdaf/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/opentv-truvoice-case/>
- 记录 JSON：<https://awesomerea.org/resources/opentv-truvoice-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/opentv-truvoice-case/index.md)

## 使用条件与局限

- **前提条件：**需要 x86_64 的 mingw-w64（32 位构建用 -m32 独立模式）、dlltool 和 Python 3。把 CGRM_EN.DLL 放在 TruVoice/。该 DLL 不在仓库中。只有读取 DLL 的工具才需要 pefile。
- **范围：**README 描述了 C 库、命令行朗读程序和 NVDA 插件，含 32 位与 64 位。它写明 SAPI 4 的 COM 粘合、配置对话框和 waveOut 播放有文档但未移植。
- **测试证据：**README 写明 tools/difftest.py 用 59 条语料、335 种配置要求 PCM 相同，覆盖挂钩构建以及独立的 32 位和 64 位移植。--ref 再与已安装引擎的录音比较。
- **许可：**LICENSE 是 MIT 许可证，版权 2026 RetroBunn。原始 TruVoice DLL 不在仓库中，也不属于该授权。

## 一手来源

1. <https://github.com/RetroBunn/tv-decomp/blob/8488e51f5bca5685590186693b76dc61bf23fdaf/README.md>
2. <https://github.com/RetroBunn/tv-decomp/blob/8488e51f5bca5685590186693b76dc61bf23fdaf/tools/difftest.py>
3. <https://github.com/RetroBunn/tv-decomp/blob/8488e51f5bca5685590186693b76dc61bf23fdaf/LICENSE>

## 同分区更多条目：原生二进制

- [L&H TruVoice：用可移植 C 重建 tv_enua.dll](https://awesomerea.org/zh/resources/lh-truvoice-decomp-case/index.md) · 案例
- [Microsoft Anna：TTS20 引擎的逐位一致 C 重建](https://awesomerea.org/zh/resources/ms-anna-tts-case/index.md) · 案例
- [OneCore TTS：David、Zira 与 Mark 的 C 重建](https://awesomerea.org/zh/resources/onecore-david-zira-mark-case/index.md) · 案例
- [Microsoft Sam：SAPI 5 引擎的可移植 C 重建](https://awesomerea.org/zh/resources/ms-sam-mike-mary-case/index.md) · 案例
- [Eloquence 6.1：ECI.DLL 的 C 重建](https://awesomerea.org/zh/resources/eloquence-61-eci-case/index.md) · 案例
- [Prose 2000 Reborn：语音板固件的 C 反编译](https://awesomerea.org/zh/resources/prose2000-reborn-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
