6
votes

I have installed the x86 SDK and added the Microsoft.Speech.dll to my project. The project is set to x86.

When trying to create a instance of SpeechSynthesizer I get

Retrieving the COM class factory for component with CLSID {D941651C-44E6-4C17-BADF-C36826FC3424} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

What more can cause those then wrong target platform?

1
Shot from the hip: Do you use .NET Client profile as your target framework? Although I would not suppose this to be the issue, considering the error message... - David
No its 4.5 thats target framework - Anders
Used System.Speech instead - Anders
@Anders, Have you solved the problem? I have the similar issue. Can you share your solution? - user1108948
I'm using the Managed code wrapper found in System.Speech instead, my source code can be found here github.com/AndersMalmgren/FreePIE/blob/master/… - Anders

1 Answers

4
votes

I resolved these issues a few minutes ago:

-Download and using Microsoft Speech SDK 32 bit (By this way you can use in both platforms)

And the most important is to install these files :

-In Microsoft Speech SDK:

C:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Redist\SpeechPlatformRuntime.msi

-In Microsoft Speech Platform - Runtime Languages:

https://www.microsoft.com/en-us/download/details.aspx?id=27224

MSSpeech_SR_en-US_TELE.msi (using for Speech To Text)
MSSpeech_TTS_en-US_ZiraPro.msi (using for Text To Speech)

That done.