Case study
OpenTV: a portable C rebuild of Centigram TruVoice
Rebuilds Centigram TruVoice, the 1997 text-to-speech engine, as portable C. tools/difftest.py compares PCM from the C build with the original DLL across the corpus checked in that script.
- Targets
- Binary
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Stars
- 9
- Last commit
- 2026-10-27
- Language
- C
- License (GitHub)
- MIT
GitHub data as of 2026-11-09
Requirements & limits
- Prerequisites: Needs an x86_64 mingw-w64 toolchain, used in -m32 freestanding mode for the 32-bit build, plus dlltool and Python 3. Put CGRM_EN.DLL in TruVoice/. That DLL is not in the repository. pefile is only required by the tools that read a DLL.
- Scope: The README describes a C library, a command-line speaker, and an NVDA add-on, at 32 and 64 bits. It says SAPI 4 COM glue, config dialogs, and waveOut playback are documented but not ported.
- Testing evidence: The README says tools/difftest.py runs 59 corpus inputs in 335 configurations and demands identical PCM, for the hooked build and the standalone 32-bit and 64-bit ports. --ref compares those builds with a recording from the installed engine.
- License: LICENSE is the MIT License, copyright 2026 RetroBunn. The original TruVoice DLL is not in the repository and is not part of that grant.
Cite
BibTeX
@misc{opentv-truvoice-case,
title = {{OpenTV: a portable C rebuild of Centigram TruVoice}},
howpublished = {\url{https://github.com/RetroBunn/tv-decomp}},
url = {https://github.com/RetroBunn/tv-decomp},
urldate = {2026-11-04},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/opentv-truvoice-case/}}
}Plain text
OpenTV: a portable C rebuild of Centigram TruVoice. https://github.com/RetroBunn/tv-decomp (accessed 2026-11-04). Awesome REA entry: https://awesomerea.org/resources/opentv-truvoice-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · RetroBunn/tv-decomp · Revision 8488e51
- tools/difftest.py GitHub · RetroBunn/tv-decomp · Revision 8488e51
- LICENSE GitHub · RetroBunn/tv-decomp · Revision 8488e51
More in Native binaries
- L&H TruVoice: a portable C rebuild of tv_enua.dll · Case study
- Microsoft Anna: a bit-exact C rebuild of the TTS20 engine · Case study
- OneCore TTS: a C rebuild of David, Zira and Mark · Case study
- Microsoft Sam: a portable C rebuild of the SAPI 5 engine · Case study
- Eloquence 6.1: a C rebuild of ECI.DLL · Case study
- Prose 2000 Reborn: a C decompilation of the speech board · Case study
All 502 entries in Native binariesNative binaries case studies (64)