[FAQ] Когда выйдет SAPI 6?
Модератор: balabolka
- balabolka
- V.I.P.
[FAQ] Когда выйдет SAPI 6?
Microsoft Speech API (версия 5) впервые появился в Windows 2000. Прошло уже столько лет, когда же выйдет новая версия SAPI?
Скорее всего, SAPI 6 никогда не будет выпущен. Фактически, ему на смену уже пришел синтез речи, доступный в Универсальной платформе Windows (UWP).
UWP позволяет создавать и запускать приложения на любых компьютерах под управлением Windows 8, Windows 10 или Windows Mobile (компьютерах, планшетах, Xbox и т.д.). Универсальная платформа содержит набор API для доступа ко всем устройствам компьютера; в том числе, есть API для синтеза речи.
Windows.Media.SpeechSynthesis позволяет получить список голосов, установленных на компьютере (сейчас это тот же список голосов SAPI 5, доступных в "Балаболке"), выбрать голос, прочесть текст вслух или сохранить речь в поток. Есть поддержка языка разметки Speech Synthesis Markup Language (SSML); этот язык предоставляет больше возможностей, чем XML-теги SAPI 5.
Для синтеза речи в UWP доступны настройки, отличающиеся от SAPI 5. Скорость речи изменяется от 0.5 до 6.0 (1.0 - нормальная скорость речи), тембр от 0.0 до 2.0, громкость от 0.0 до 1.0. Можно задать паузу в конце текста (в миллисекундах, по умолчанию 750 мс) или паузу на знаках препинания.
Почему вообще появилась необходимость в Универсальной платформе Windows? Microsoft хочет стандартизировать все приложения, чтобы они разрабатывались по единому образцу и распространялись через Microsoft Store. Сейчас для написания программ для Windows используются Win32 API, .NET Framework, .NET (UWP); каждая программа имеет свой инсталлятор и записывает файлы, куда вздумается. Очевидно, Microsoft хочет прикрыть эту лавочку - и в целях повышения безопасности, и для стандартизации программного обеспечения, и для того, чтобы направить все денежные потоки через свой магазин.
Будет ли создана версия "Балаболки" для UWP? Об этом говорить рано. Пока Microsoft смотрит сквозь пальцы на существование программ, написанных на Win32 API, я вряд ли займусь созданием новой версии программы. Посмотрим, как будет развиваться ситуация.
Скорее всего, SAPI 6 никогда не будет выпущен. Фактически, ему на смену уже пришел синтез речи, доступный в Универсальной платформе Windows (UWP).
UWP позволяет создавать и запускать приложения на любых компьютерах под управлением Windows 8, Windows 10 или Windows Mobile (компьютерах, планшетах, Xbox и т.д.). Универсальная платформа содержит набор API для доступа ко всем устройствам компьютера; в том числе, есть API для синтеза речи.
Windows.Media.SpeechSynthesis позволяет получить список голосов, установленных на компьютере (сейчас это тот же список голосов SAPI 5, доступных в "Балаболке"), выбрать голос, прочесть текст вслух или сохранить речь в поток. Есть поддержка языка разметки Speech Synthesis Markup Language (SSML); этот язык предоставляет больше возможностей, чем XML-теги SAPI 5.
Для синтеза речи в UWP доступны настройки, отличающиеся от SAPI 5. Скорость речи изменяется от 0.5 до 6.0 (1.0 - нормальная скорость речи), тембр от 0.0 до 2.0, громкость от 0.0 до 1.0. Можно задать паузу в конце текста (в миллисекундах, по умолчанию 750 мс) или паузу на знаках препинания.
Почему вообще появилась необходимость в Универсальной платформе Windows? Microsoft хочет стандартизировать все приложения, чтобы они разрабатывались по единому образцу и распространялись через Microsoft Store. Сейчас для написания программ для Windows используются Win32 API, .NET Framework, .NET (UWP); каждая программа имеет свой инсталлятор и записывает файлы, куда вздумается. Очевидно, Microsoft хочет прикрыть эту лавочку - и в целях повышения безопасности, и для стандартизации программного обеспечения, и для того, чтобы направить все денежные потоки через свой магазин.
Будет ли создана версия "Балаболки" для UWP? Об этом говорить рано. Пока Microsoft смотрит сквозь пальцы на существование программ, написанных на Win32 API, я вряд ли займусь созданием новой версии программы. Посмотрим, как будет развиваться ситуация.
- Lecron
- Специалист
[FAQ] Когда выйдет SAPI 6?
А зачем он вообще нужен? Что полезного не реализовано в SAPI5?
Немного вбок, но все-таки спрошу. А как реализовано изменение скорости? На этапе алгоритма генерации речи? Или в постпроцессинге, трансформируя звуковую волну (WAV), а-ля SoX/ffmpeg?
Значит не займетесь никогда.
Немного вбок, но все-таки спрошу. А как реализовано изменение скорости? На этапе алгоритма генерации речи? Или в постпроцессинге, трансформируя звуковую волну (WAV), а-ля SoX/ffmpeg?
- balabolka
- V.I.P.
[FAQ] Когда выйдет SAPI 6?
В Windows 10 синтез речи - это часть единой платформы. Можно интегрировать синтез речи с другими устройствами и программами Windows.
Еще один важный момент - отказ от тегов SAPI 5 и использование вместо этого SSML. Это даст больше возможностей для управления речью. (SSML можно использовать и в SAPI 5, но не все голоса его поддерживают; поэтому в "Балаболке" текст для чтения никогда не воспринимается как SSML.)
Важно понимать, что дело не в API, а в том, как разработчики голосов будут его поддерживать. Сейчас они ориентируются на SAPI5 (а кто-то даже продолжает поддерживать SAPI 4). Если новый API в Windows предоставит больше возможностей (универсальная платформа развивается в каждом крупном обновлении Windows 10), разница между SAPI 5 и UWP может стать заметней.
Я бы оставил 1% сомнения в этом вопросе.
Но да, Вы правы: пока есть крупные коммерческие проекты, работающие на старом софте, пока существуют старые программные системы, управляющие банками или предприятиями, поддержка Win32 API не исчезнет. Это будет очень долгий процесс перехода.
Не знаю. Надо расспросить разработчиков из Microsoft и разработчиков компьютерных голосов.
Предполагаю, что сам API ничего не делает, вся работа по изменению скорости речи возложена на речевой движок. Старые голоса, скорее всего, будут использовать ближайшее целое значение для скорости (в диапазоне от -10 до 10); новые версии голосов, возможно, научатся корректно обрабатывать дробные значения скорости.
Надо тестировать на примерах.