# Microsoft Anna: a bit-exact C rebuild of the TTS20 engine

> Rebuilds Microsoft Anna, the Windows Vista and Windows 7 TTS20 voice, as C99 that reads the original voice data files. The README reports bit-exact PCM against the real engine on its test lines.

- Type: Case study
- Targets: Binary
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-09
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/KamiKitsune420/ms-ana-decomp>
- Primary source: <https://github.com/KamiKitsune420/ms-ana-decomp/blob/a8da0464124fb1ba1a67b0056524bafa4cff4d0d/README.md>
- Catalog page: <https://awesomerea.org/resources/ms-anna-tts-case/>
- Record JSON: <https://awesomerea.org/resources/ms-anna-tts-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/ms-anna-tts-case/index.md)

## Requirements & limits

- **Prerequisites:** Needs a C99 compiler and your own Anna data from a Windows Vista or 7 install, or from the Windows 7 voices installer. The README says no Microsoft code or data is in the repository. It says not to use -ffast-math and to keep -ffp-contract=off.
- **Scope:** This is the SAPI 5 TTS20 engine the README calls Mulan internally. tools/anna_extract.py is the command the README gives for turning an install or the voices installer into the data folder.
- **Testing evidence:** The README's end-to-end row says 579/579 test lines are bit-exact, including the SAPI XML tags it lists, and identical with MSVC x86/x64, clang, and GCC. Its WMA Voice 9 row says all 66218 blocks plus 25000 random reads match Windows' 32-bit WMSPDMOD.DLL.
- **License:** LICENSE is the MIT License, copyright 2026 KamiKitsune420. The voice data remains Microsoft's and is not included.

## Primary sources

1. <https://github.com/KamiKitsune420/ms-ana-decomp/blob/a8da0464124fb1ba1a67b0056524bafa4cff4d0d/README.md>
2. <https://github.com/KamiKitsune420/ms-ana-decomp/blob/a8da0464124fb1ba1a67b0056524bafa4cff4d0d/LICENSE>

## More in Native binaries

- [OneCore TTS: a C rebuild of David, Zira and Mark](https://awesomerea.org/resources/onecore-david-zira-mark-case/index.md) · Case study
- [Microsoft Sam: a portable C rebuild of the SAPI 5 engine](https://awesomerea.org/resources/ms-sam-mike-mary-case/index.md) · Case study
- [Eloquence 6.1: a C rebuild of ECI.DLL](https://awesomerea.org/resources/eloquence-61-eci-case/index.md) · Case study
- [Prose 2000 Reborn: a C decompilation of the speech board](https://awesomerea.org/resources/prose2000-reborn-case/index.md) · Case study
- [GEOS 2.0: source that rebuilds the cbmfiles KERNAL binaries](https://awesomerea.org/resources/geos-20-kernal-case/index.md) · Case study
- [geoWrite 2.1: source that rebuilds the original binaries](https://awesomerea.org/resources/geowrite-21-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
