views:

48

answers:

1

I am trying to call some methods from System.Speech via a WCF Service hosted on Windows Azure. When i try this locally on the development fabric, it is working perfectly fine. I can consume the methods from this Speech API via WCF service in my client.

But when I up this service in real cloud on Azure, i get the following exception error message on the client:

No voice installed on the system or none available with the current security setting.

I have tried to set Copy Local property to True of System.Speech dlls but it is still throwing this exception to me.

Is there any workaround for this?

+1  A: 

It looks like Windows Azure does not have actual voice engines installed. Unless it is possible to easily deploy them via the XCopy (which I doubt), then at the moment there is no way to use Speech on Windows Azure.

Rinat Abdullin
Thanks for answering. But i have read that we can use API's which are not installed by default in the Azure cloud by simply setting Copy Local property of the dll to true so that it publishes the required file as part of the package. Is this true?
Taimi
That is true, but It is likely (but I'm not 100% sure) that System.Speech has some other dependency (or is simply a wrapper on some other API) that can't be deployed by simply copying the files. If that underlying API requires admin access (either to run or to be installed) then you can't use it in Window Azure today. Examples of these are COM objects.
Eugenio Pace
As I recall from working with Speech APIs, there is a set of SDK (speech and voice engine) that are needed to be installed separately (although sometimes found with the OS installs). Speech.dll merely provides an access to them. That's similar to working with Oracle: .NET dll is included in the framework, but you still need native client installed on Azure (which is a pain in the neck to do).
Rinat Abdullin