question

4mla1fn avatar image
0 Votes"
4mla1fn asked ·

prosody doesn't work for female voice?

i'm sending SSML to the speech synthesizer but it is only respecting the prosody duration if the gender is male. here's a code fragment:

using System.Speech.Synthesis;

SpeechSynthesizer synthesizer = new SpeechSynthesizer();

string slow_ssml_male = "<prosody duration='8000ms'><voice gender='male'>american one twenty three cleared to land runway one left</voice></prosody>";
string slow_ssml_female = "<prosody duration='8000ms'><voice gender='female'>american one twenty three cleared to land runway one left</voice></prosody>";

PromptBuilder builder = new PromptBuilder();
builder.AppendSsmlMarkup(slow_ssml_male);
builder.AppendSsmlMarkup(slow_ssml_female);
synthesizer.Speak(builder);

what am i doing wrong?

dotnet-csharp
· 3
10 |1000 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.


Maybe it is a limitation. Try an alternative: <prosody rate='50%'>.


1 Vote 1 ·

@4mla1fn
I found something interesting.
First of all, Viorel-1's suggestion should solve your problem.
As for duration, when I test with .Net Framework 4.7.2, it works for males but is useless for females.
When I use .Net Core 3.1, it is useless for both males and females.
If Viorel-1's suggestion solves your problem, please let us know so that we can turn his comment into an answer, and then you can accept his answer.

0 Votes 0 ·

Suggested also try explicitly set voice name with:

 <voice name="en-US-AriaRUS">

because prosody.duration is supported in standard voice only.


0 Votes 0 ·

0 Answers