Хочу представить небольшой но удобный модуль для кросс-платформенного использования TTS(text-to-speech). На данный момент поддерживаются основные платформы:
* Windows, используя SAPI,
* Unixes, используя Festival проект,
* MacOSX, используя SpeechSynthesis
Так как для Windows и Mac используются родныe API то все голосовые движки установленные в систему будут автоматически вам доступны. Для Unix всё не так радужно, нет какой-то общей системы, апи, поэтому был просто выбран проект Festival который даёт неплохое качество для английского языка и лицензию LGPL. На Mac вы всегда можете расчитывать на отличный голос Alex.
Использование библиотеки очень простое – итак ваше приложение наконец скажет “Hello World!”.
Нужно подключить <QtSpeech>. Теперь когда вашему приложению нужно сказать что-ли синхронно (исполнение будет ждать в этой точке пока голос не отработает) достаточно следующего кода:
Теперь о голосах. Самый большой набор различных голосов и языков продаёт Acapela для Windows и Mac, под Mac распространяют под другим именем Infovox iVox. Также есть голоса от IBM и еще пару компаний. Что плохо – эти голоса вы не сможете включить в вашу программу и распространять вместе с ней, надо договаривать с компанией или покупать их SDK если он есть. Но для английского вы всегда можете расчитывать на голос по умолчанию (или завязаться на Festival).
Применения самое самое различное. Нужно озвучить что-либо по быстрому? Механический голос в простенькой игрушке? Теперь кросс-платформенно с Qt.
Планы: Сделать версию без привязки к Qt (скорее всего пользовать boost:threads). Больше функционала – сделать паузу, итд. Но будет скорее только тот функционал кототорый будет доступен сразу на всех трёх платформах.
Ru: Archive: QtSpeech, доступ к text-to-speech
Хочу представить небольшой но удобный модуль для кросс-платформенного использования TTS(text-to-speech). На данный момент поддерживаются основные платформы:
* Windows, используя SAPI,
* Unixes, используя Festival проект,
* MacOSX, используя SpeechSynthesis
Так как для Windows и Mac используются родныe API то все голосовые движки установленные в систему будут автоматически вам доступны. Для Unix всё не так радужно, нет какой-то общей системы, апи, поэтому был просто выбран проект Festival который даёт неплохое качество для английского языка и лицензию LGPL. На Mac вы всегда можете расчитывать на отличный голос Alex.
Использование библиотеки очень простое – итак ваше приложение наконец скажет “Hello World!”.
Нужно подключить <QtSpeech>. Теперь когда вашему приложению нужно сказать что-ли синхронно (исполнение будет ждать в этой точке пока голос не отработает) достаточно следующего кода:
Если нужна асинхроность (приложение не заблокированно) просто используйте tell():
Если нужно по окончанию отработать определённую логику:
Также можем получить список голосов в системе:
Теперь о голосах. Самый большой набор различных голосов и языков продаёт Acapela для Windows и Mac, под Mac распространяют под другим именем Infovox iVox. Также есть голоса от IBM и еще пару компаний. Что плохо – эти голоса вы не сможете включить в вашу программу и распространять вместе с ней, надо договаривать с компанией или покупать их SDK если он есть. Но для английского вы всегда можете расчитывать на голос по умолчанию (или завязаться на Festival).
Применения самое самое различное. Нужно озвучить что-либо по быстрому? Механический голос в простенькой игрушке? Теперь кросс-платформенно с Qt.
Планы: Сделать версию без привязки к Qt (скорее всего пользовать boost:threads). Больше функционала – сделать паузу, итд. Но будет скорее только тот функционал кототорый будет доступен сразу на всех трёх платформах.
Ссылки:
1 Скачать, репозитарий в Gitorius: http://gitorious.org/qt-speech
2 Сайт проекта: http://lynxline.com/projects/qtspeech/