63066220 avatar image
1 Vote"
63066220 asked ramr-msft edited

Azure Speech Service TTS FromEndpoint C#


Now I'm using Azure Speech Service TTS by C#.
And I also use Viseme Event.

While I using it, I was curious about change configuration method SpeechConfig.FromSubscription("<my subscription key>","<my region>") to SpeechConfig.FromEndpoint("<my endpoint>","<my subscription key>").

So I tried it.

They both give me a TTS voice. BUT using "FromEndpoint" did not give me a Viseme Event.

Can I get information about Why It doesn't work?

· 4
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Hello. Sorry for checking late.

To be more specific,
in C#,
If I set SpeechConfig using "FromSubscription", I can get the result of Viseme Event, but
When setting SpeechConfig using "FromEndpoint", Viseme Event value is not returned.

There is no story related to this phenomenon in the document, and it is a phenomenon found while using the Speech SDK, so I posted a question to QnA.

In addition, it was identified that the same phenomenon occurs not only in C# but also in Python.

1 Vote 1 ·

@63066220 Thanks for the details. What is the endpoint Uri that you are trying.

1 Vote 1 ·
Show more comments

1 Answer

ramr-msft avatar image
0 Votes"
ramr-msft answered ramr-msft edited

@63066220 Thanks for the details. The endpoint in the portal points to the Subscription Key-> Auth Token service, and while the Speech SDK will attempt to parse that endpoint (By looking for well known parts of the host name and API path) to build the real endpoint that will be used.

There isn't a single speech endpoint, or event a single host name that the SDK connects to. Rather the SDK object being used, how it is configured, and the SDK API being called are all factors in computing the final endpoint to connect to.

(i.e. calling RecognizeOnceAsync vs StartContinuourRecognition will connect to different endpoints in some cases, but not all.)

This (high) complexity is why FromSubscription(...) is currently the easiest way to connect to the Speech Service. The FromEndpoint is generally used only for scenarios where the endpoint won't be findable using the standard 3P connection paradigms. (i.e. 1P customers, Private Link deployments, etc)

Looking in the SDK code I don't see where connecting via the endpoint or the subscription makes a difference in the viseme context sent. It is critically important you have connected to the event handler before calling the StartSpeaking* methods.

If you have an SDK log from both FromSubscript and FromEndpoint I'd be happy to look through them and see if there's any unexpected differences.

· 2
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Thanks for your kind answer. It helps me to understand the endpoint.

By the way, you said there was no difference in the SDK code between endpoint and subscription.

But the result is definitely different.

I attach the code and result.


0 Votes 0 ·

@63066220 Thanks, We will forward to the product team to check further on this.

0 Votes 0 ·