В чем разница между Windows.Media.SpeechSynthesis и System.Speech.Synthesis?

Я пытаюсь определить, какой из двух API имеет больше возможностей для преобразования текста в речь в профессиональном приложении, разработанном на C#.

Здесь проблема не в ОС, а в том, как два пространства имен предлагают больше функций, качественные голоса и стабильность.

Есть ли какой-нибудь специалист по обеим технологиям и может рассказать мне о различиях в этих двух пространствах имен? Является ли один из них надмножеством другого с точки зрения функций?

ИЗМЕНИТЬ:

За этими двумя пространствами имен стоит один и тот же механизм синтеза речи?

Мое веб-приложение будет выполнять все функции преобразования текста в речь на стороне сервера.


person Community    schedule 07.09.2014    source источник
comment
У них нет ничего общего, вы используете один в приложении «Магазин» или «Телефон», другой — в настольном приложении. Звучит так, как будто они похожи, но это именно то, чем похожи Феррари и велосипед. Они оба перемещают вас, но делают это очень по-разному.   -  person Hans Passant    schedule 07.09.2014
comment
Что, если мое приложение — веб-приложение, работающее на 2012 R2? Здесь я читал, что Windows.Media .SpeechSynthesis совместим с 2012 R2. Все еще читая ваш комментарий, у меня теперь есть сомнения, является ли Windows.Media.SpeechSynthesis просто клиентской библиотекой, которая зависит от службы сервера или нет. Это правильно?   -  person    schedule 07.09.2014
comment
Тогда вам придется писать Javascript. Конечно, это не имеет ничего общего с .NET, а также довольно низкая вероятность того, что пользователь запустит свой браузер на 2012R2. Очень важно, чтобы вы следили за тем, где будет работать ваш код, это, конечно, имеет большое значение. Никто не заботится о веб-сервере, который ни с кем не разговаривает в запертой серверной комнате. Но да, 2012R2 может запускать приложения из Магазина.   -  person Hans Passant    schedule 07.09.2014
comment
@HansPassant Мне кажется, я плохо объяснил. Мое приложение будет веб-приложением и будет выполнять преобразование текста в речь на стороне сервера, поэтому для меня не имеет большого значения, в какой ОС будет работать мое приложение. Мои вопросы в основном заключаются в том, какое из этих двух пространств имен имеет больше возможностей для преобразования текста в речь и какое из них может предложить больше качества голоса и стабильности. Если я закончу с сервером 2008 или 2012, это не имеет большого значения, единственное, что важно, это то, насколько мощным является каждое пространство имен.   -  person    schedule 07.09.2014
comment
Веб-сервер не запускает приложение Store или Phone, он запускает приложение ASP.NET. Так что нет никакого смысла смотреть на System.Windows.SpeechSynthesis, это пространство имен недоступно. Очень легко узнать для себя, просто попробовав, кстати.   -  person Hans Passant    schedule 07.09.2014
comment
Но приложение ASP.NET не может взаимодействовать с приложением Store, работающим на том же сервере (например, 2012)? как способ шлюза обработки текста в речь?   -  person    schedule 07.09.2014


Ответы (1)


Windows.Media.SpeechSynthesis является частью среды выполнения Windows и поддерживает только приложения Магазина Windows. Его нельзя вызвать из вашего серверного приложения, и поэтому он не будет служить вашей цели.

System.Speech.SpeechSynthesis должен работать на вас. Вы можете вызвать его на сервере для создания звукового файла через SetOutputToWaveFile Затем вы можете предоставить сгенерированный волновой файл \ с сервера.

За исключением того, что они нацелены на разные среды, конечные результаты будут схожими.

person Rob Caplan - MSFT    schedule 14.10.2014