{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/KamiKitsune420/lh-truvoice-decomp/blob/c2cc3dbbd50666d9c77b2488d5be34d2f97f14bb/tools/e2e_text.py",
    "https://github.com/KamiKitsune420/lh-truvoice-decomp/blob/c2cc3dbbd50666d9c77b2488d5be34d2f97f14bb/tests/hard.txt",
    "https://github.com/KamiKitsune420/lh-truvoice-decomp/blob/c2cc3dbbd50666d9c77b2488d5be34d2f97f14bb/LICENSE"
  ],
  "category": "reconstruction-cases",
  "class": "software",
  "description_en": "Rebuilds Lernout & Hauspie TruVoice 6.00 build 10, the SAPI 4 American English engine in tv_enua.dll, as C99. The port reads that DLL's tables at run time and checks PCM against the running engine.",
  "description_zh": "把 Lernout & Hauspie TruVoice 6.00 build 10（SAPI 4 美式英语引擎 tv_enua.dll）重建为 C99。移植在运行时读取该 DLL 的表，并与正在运行的引擎对照 PCM。",
  "entry_url": "https://awesomerea.org/resources/lh-truvoice-decomp-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/lh-truvoice-decomp-case/",
  "evidence_url": "https://github.com/KamiKitsune420/lh-truvoice-decomp/blob/c2cc3dbbd50666d9c77b2488d5be34d2f97f14bb/README.md",
  "group": "cases",
  "id": "lh-truvoice-decomp-case",
  "json_url": "https://awesomerea.org/resources/lh-truvoice-decomp-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/lh-truvoice-decomp-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/lh-truvoice-decomp-case/index.md",
  "name": "L&H TruVoice: a portable C rebuild of tv_enua.dll",
  "name_zh": "L&H TruVoice：用可移植 C 重建 tv_enua.dll",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "scope",
    "testing",
    "license"
  ],
  "requirements": [
    "Needs a C99 compiler and your own tv_enua.dll 6.00 build 10. The README says the engine is not in the repository and that the port reads its tables from that DLL at run time.",
    "Ten named voices share one formant synthesizer. The README says src/gen_back.inc, gen_tag.inc, and gen_norm.inc are the engine's logic translated from a decompilation, and distinguishes those files from the hand-written C.",
    "The README's end-to-end row reports 330/330, 130/130, 230/230, 400/400, and 140/140 identical results for the listed text sets, and says x86 and x64 builds match each other. One command it names is python tools/e2e_text.py tests/hard.txt.",
    "LICENSE is the MIT License, copyright 2026 KamiKitsune420. The original engine is not included."
  ],
  "requirements_zh": [
    "需要 C99 编译器和你自己的 tv_enua.dll 6.00 build 10。README 写明引擎不在仓库中，移植在运行时从该 DLL 读取表。",
    "十个具名语音共用一个共振峰合成器。README 写明 src/gen_back.inc、gen_tag.inc 和 gen_norm.inc 是从反编译译出的引擎逻辑，并与手写 C 区分。",
    "README 的端到端一行报告所列文本集分别为 330/330、130/130、230/230、400/400 和 140/140 完全一致，并写明 x86 与 x64 构建彼此一致。它点名的一条命令是 python tools/e2e_text.py tests/hard.txt。",
    "LICENSE 是 MIT 许可证，版权 2026 KamiKitsune420。原始引擎未包含在内。"
  ],
  "targets": [
    "binary"
  ],
  "url": "https://github.com/KamiKitsune420/lh-truvoice-decomp",
  "verification": "source-reviewed",
  "verified_at": "2026-11-04"
}
