Microsoft.Speech.Synthesis - Chinese speak error (zh-CN, HuiHui)


It seems like the Microsoft Speech Synthesis issue with Chinese (HuiHui) is still running into the wild.
After some researches online and few tries to fix it I couldn't find any solution.

The setup

Windows 10 (x32) (tested on x64 too)
SDK 11
Visual Studio 2017

The error

InnerException = {"Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))"}
Message = "Speak error '8000FFFF'."
Source = "Microsoft.Speech"

The troublesome code

using Microsoft.Speech.Synthesis;

using (var ss = new SpeechSynthesizer())
  ss.SelectVoice("Microsoft Server Speech Text to Speech Voice (zh-CN, HuiHui)");
  ss.Speak("我喜欢和很多珍珠奶茶"); // speak error here

This code is working perfectly using English (en-US, Helen).

Failed fix attempt

Download "chsbrkr.dll" & "chtbrkr.dll"
Add it to "Program Files((x86))\Common Files\Microsoft Shared\Speech\TTS\v11.0"

Does someone has succeeded in running this script in some way or has found an alternative ?
Thank you.

Previously posted on the same topic

Chinese TTS fails, while English works
TTS for Chinese is throwing SAPI ERROR E_FAIL
ASP.Net and Microsoft.Speech error with Chinese

asked on Stack Overflow Jul 14, 2017 by tocausan

2 Answers


Try registering these two dlls "chsbrkr.dll" & "chtbrkr.dll".

Try the below steps and check -

1) Paste the two dlls in "C:\Windows\System32" directory. If you are using a 64 Bit operating system, paste the two dlls into the "C:\Windows\sysWOW64" as well (copying requires administrator previlage).

2) Register the two dlls in the system using the below commands in command prompt(Run as Administrator)

  1. %windir%\System32\regsvr32.exe /u Chsbrkr.dll
  2. %windir%\SysWoW64\regsvr32.exe /u Chsbrkr.dll
  3. %windir%\System32\regsvr32.exe /i Chsbrkr.dll(you may see error at this step,can ignore)
  4. %windir%\SysWoW64\regsvr32.exe /i Chsbrkr.dll(you may see error at this step,can ignore)

  5. %windir%\System32\regsvr32.exe /u Chtbrkr.dll

  6. %windir%\SysWoW64\regsvr32.exe /u Chtbrkr.dll
  7. %windir%\System32\regsvr32.exe /i Chtbrkr.dll(you may see error at this step,can ignore)
  8. %windir%\SysWoW64\regsvr32.exe /i Chtbrkr.dll(you may see error at this step,can ignore)

After doing this try restarting the system and then try running the application where you were seeing the "Speak error".

Hope this resolves the issue.

answered on Stack Overflow Apr 17, 2019 by Pavan

Hello a similar error appears when you work with excel 2013 and try to make a macro in visual basic

I am trying the next code:

Sub Main()

Dim speech As New SpVoice
Dim i As Long
Dim oFileStream As New SpFileStream
Const SAFT48kHz16BitStereo = 30
Const SSFMCreateForWrite = 3 

For i = 1 To 5

Set speech.Voice = speech.GetVoices.Item(3)
speech.Speak (Cells(i, 6))
Application.Wait (Now() + TimeValue("00:00:02"))

Next i

End sub

error seen

table of words

answered on Stack Overflow Mar 5, 2018 by jamie • edited Mar 5, 2018 by jamie

User contributions licensed under CC BY-SA 3.0