Мне нужно сказать предложение с немецким именем в предложении. Для этого я использовал речь Microsoft с английским языком, назвал функцию talkasync, чтобы сказать первую часть предложения, затем изменил язык на немецкий язык, сказал имя, затем вернулся на английский язык и закончил предложение. это все работает хорошо, за исключением того, что каждый раз, когда я вызываю функцию talkasync, это пауза в 1 секунду. поэтому у меня есть секундная пауза до и после имени. это можно как-то удалить? Я бы хотел, чтобы между ними не было паузы.TTS microsoft.speech, лучший способ сказать предложение свободно с изменением языка
s.SetOutputToDefaultAudioDevice()
s.SelectVoice(myENGLISHvoice)
s.SpeakAsync("Next on the line is mr. ")
s.SelectVoice(myGERMANvoice)
s.SpeakAsync("Stefan Hanswurst")
s.SelectVoice(myENGLISHvoice)
s.SpeakAsync("Please stand up.")
Update, я также попытался это, без успеха .. та же проблема:
pb.AppendSsmlMarkup("<voice xml:lang=""en-EN"">")
pb.AppendText("Next on the line is mr.")
pb.AppendSsmlMarkup("</voice>")
pb.AppendSsmlMarkup("<voice xml:lang=""de-DE"">")
pb.AppendText("Hansjörg Bratwurst ")
pb.AppendSsmlMarkup("</voice>")
pb.AppendSsmlMarkup("<voice xml:lang=""en-EN"">")
pb.AppendText("Please stand up.")
pb.AppendSsmlMarkup("</voice>")
спасибо. к сожалению, мне нужно изменить язык. имена должны быть произнесены должным образом. Я не против, чтобы голос был другим. это именно то отставание, которое должно уйти. на одну секунду больше или меньше, когда я нажимаю кнопку, когда она начинает говорить. – sharkyenergy
, например, не меняющийся язык с задержкой. его самой говорящей функцией. – sharkyenergy
Хорошо, посмотрите на эту ссылку здесь: https://msdn.microsoft.com/en-us/library/hh378516(v=office.14).aspx. Вы даете движку точное произнесение имени, поэтому имя, которое вы дадите, будет звучать «оригинально». Проблема в том, что вам нужно сделать это для каждого конкретного слова. –