Skip to content

Replace DECtalk 4.611 with a better-sounding build - #184

Closed
dgomez42 wants to merge 2 commits into
xiaobotdev:masterfrom
dgomez42:master
Closed

dgomez42 wants to merge 2 commits into
xiaobotdev:masterfrom
dgomez42:master

Conversation

@dgomez42

@dgomez42 dgomez42 commented Oct 28, 2026 •

Copy link
Copy Markdown

This replaces the DECtalk 4.611 engine in this repository with a restored build that sounds noticeably better: dectalk.dll and dtalk_us.dic are replaced, and MSVCRTd.DLL is removed because the new DLL doesn't need it. Nothing else changes.

What's different

  • 3.0-style intonation and timing (the classic DECtalk prosody)
  • Voice definitions taken from the DECtalk user manual; the bf, la and br voice settings work again
  • Singing fixed: correct pitch for sung notes, and no high-note smoothing (tilt off)
  • The 4.60 text parser
  • An updated pronunciation dictionary (dtalk_us.dic) that fixes many words
  • Two crashes fixed: [:phoneme on][s<1,20>][s<1,20>] and [:dial:1234] used to hang or crash the original 4.611 DLL; now they're handled safely
  • Small or large head sizes ([:dv hs 65] ... [:dv hs 145]) no longer squawk or distort
  • No click or beep between utterances when speaking to the sound card

What stays the same

  • The 4.611 phoneme tables, phonetic transitions and landings are unchanged
  • It reports the same version as 4.611 ("v5.00 R002") and has the same exported functions, so say.exe, speak.exe and code that calls the DLL directly keep working without changes
  • Like the original, it finds dtalk_us.dic in the current folder; if it isn't there, it also looks next to dectalk.dll
  • It's a single file, so MSVCRTd.DLL (which only the old DLL needed) is removed

Tested with the say.exe from this repository: plain text, [:phoneme on] input, singing, the two former crash inputs above, and all the voices ([:np], [:nh], [:nb], [:nk] and the others).

Testing note: I've tested this build myself and listened to the results. It was prepared with help from Claude (an AI assistant).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Gj3PW1hLrwbd1kyezk2kpt

dgomez42 and others added 2 commits October 27, 2026 22:03
@xiaobotdev

xiaobotdev commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

I'm a bit nervous about merging a mysterious dll, where did it come from? Did you find it somewhere online?

@xiaobotdev

xiaobotdev commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

I did some research and chose to instead upgrade Xiao's DECTalk to a native Linux build I found (https://github.com/dectalk/dectalk) and have users install it rather than including it with the repository. This removes dependencies on wine, wine32, and xvfb. See 9b1e0c7.

@dgomez42

Copy link
Copy Markdown
Author

Thanks for looking into it, and sorry for not explaining sooner! The DLL isn't something I found online. It comes from my own DECtalk restoration work: it's built from the DECtalk 4.60 source code, with the phonetic transitions from the DECtalk 4.62 source (the closest match to the original 4.611 DLL), the older 3.0-style intonation and timing, and fixes for a few known engine bugs (the occasional squawk/beep glitches and two crashes). It reports the same version as the 4.611 DLL it replaced, so it was meant as a straight drop-in. I tested it myself and listened to the results; it was prepared with help from Claude (an AI assistant).

Switching to the native Linux build from dectalk/dectalk makes total sense, since it drops Wine and Xvfb entirely. Feel free to close this PR. I'm also working on some improvements to that source, so Xiao may pick those up from there in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants