Интеллектуальные машины, способные к речи, часто являются материалом футуристических научно-фантастических фильмов, но Вы можете превратить любой компьютер в »болтливую Кэти». Даже при том, что мы еще не на той стадии взаимодействия с компьютерами, когда можно общаться с ними, как с людьми, уже сейчас есть несколько инструментов и простых скриптов, которые мы можем написать, чтобы научить любой компьютер, под управлением Windows, говорить с нами.
Немного истории Visual Basic
В 1988 появились первые итерации VBScript (редакция Visual Basic Scripting) и были все еще очень примитивной версией того, что мы имеем сегодня. За эти годы необходимость простого в использовании и легкого языка сценариев для Microsoft увеличилась. Из-за этого компания продолжала работать над ним и наконец выпустила для общественности в 1996.
Это простой скриптовый язык, использующий COM (Component Object Model), для создания, чтения, обновления и удаления файлов в пределах операционных систем Microsoft. Со времен выпуска Windows 98, он был установлен в каждый компьютер. Он очень универсален из-за того, что окружающая среда хоста VBScript может быть включена в рамках использования программ Microsoft Script Control. Часто можно встретить использование VBScript совместно с Internet Information Services, Windows Script Host, and Internet Explorer.
Но, хватит истории, давайте перейдем к нему и изучим, как научить Ваш компьютерный разговаривать!
Научим компьютер разговаривать используя только VBScripts
Создание скрипта Visual Basic очень легкое и не требует никаких специальных программ. Хотя специальные программы и есть, Вы можете использовать, для написания скрипта то, чем пользуется большинство программистов и людей, которые балуются написанием скриптов — Блокнот Microsoft.
Давайте начнем процесс и откроем Блокнот. После того, как Вы открыли Блокнот все, что Вы должны сделать — напечатать в нем код, который мы продемонстрируем или просто скопировать и вставить его в Блокнот. Чтобы изменить то, что Ваш скрипт заставит сказать компьютер, просто замените секцию, которая говорит, что “The geeks shall inherit the earth” на то, что Вы хотите услышать.
set speechobject=createobject(“sapi.spvoice”)
speechobject.speak “The geeks shall inherit the earth”
После того, как Вы ввели текст, который Вы хотите услышать, нажмите “Файл” и нажмите “Сохранить Как …” .
Найдите место, где Вы хотите сохранить скрипт. Для этого примера я сохраню его в пустой папке в каталоге Downloads. Важная вещь, которую Вы должны сделать — дать ему имя, которое заканчивается .vbs. Это скажет компьютеру, что Вы сохранили не текстовый файл, а VBScript. Мы назовем файл так, как показано ниже.
Теперь Вы можете закрыть блокнот и перейти к папке, в которой Вы сохранили VBScript. Вы заметите, что значок — не стандартный значок TXT, а маленький синий свиток на белом фоне. Дважды щелкните по этому значку, чтобы заставить Ваш скрипт исполняться и произносить Ваш текст. Поздравляем, Вы только что создали свой первый скрипт!
Теперь, чтобы приобрести некоторый навык создания скриптов, попытайтесь создать еще несколько скриптов с любым текстом, который Вы хотите услышать. Для быстрого редактирования скрипта, Вы можете щелкнуть правой кнопкой мыши по VBScript и выбрать “Открыть с …” , выбрать блокнот, чтобы отредактировать текст в том же самом файле.
Текст к речевому скрипту
Теперь, когда Вы знаете, как написать скрипт и, вероятно, наигрались с ним, Вы можете заскучать. Вот почему мы собираемся шагнуть на ступеньку выше.
Следующая вещь, которую мы изучим, состоит в том, как создать скрипт, который немного более продвинут, чем скрипт из первого примера. Он создаст диалоговое окно, в котором Вы сможете напечатать текст и он будет произнесен вашим компьютером.
Для начало, откроем Ваш блокнот снова и вставим в ваш скрипт или его копию приведенный ниже код и сохраним его.
message=InputBox(“What shall I say, your Geekness?”, “I speak for you.”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message
После того, как код был введен, просто сохраните файл как “Text to Speech.vbs” как было показано ранее, для сохранения скрипта. Как только это было сделано, перейдите к расположению файла и выполните его. Вы заметите, что окно называется, “I speak for you.” и просит ввести текст, который надо озвучить. Вы можете изменить текст в окне, чтобы компьютер произнес его.
На данный момент давайте введем “The geeks shall inherit the earth” и нажмем кнопку “OK”, чтобы управлять скриптом и услышать Ваш текст прочитанный компьютером.
Поздравления от VBScript
Сначала, откройте Ваш блокнот и вставьте этот короткий скрипт. Вы можете заменить секцию с поздравлениями любыми фразами, которые Вы хотите услышать, а также заменить Geekmeister Вашим собственным именем.
Set Sapi = Wscript.CreateObject("SAPI.SpVoice") dim str if hour(time) < 12 then Sapi.speak "Good Morning Geekmeister" else if hour(time) > 12 then if hour(time) > 16 then Sapi.speak "Good evening Geekmeister" else Sapi.speak "Good afternoon Geekmeister" end if end if end if
Теперь Вы можете сохранить текстовый документ как файл VBS. Как только Вы сделали это, зайдите в папку, где он сохранен и кликните по нему двойным кликом. В зависимости от времени он скажет “Доброе утро, добрый день или добрый вечер Geekmeister”.
Скрипт считает, что, если время до 12 — это »утро», время после 12 является »днем», после 16:00 время становится »вечером».
Скрипт времени на VBScript
Если Вы хотели бы стать немного более продвинутыми и узнавать время с помощью VBScript, откройте новое окно блокнота и создайте новый скрипт.
Скрипт может выглядеть сложным, но он по существу говорит Вашему компьютеру, что сказать и как сказать основываясь на времени, которое показывает на часах Вашего компьютера. Вы можете всегда поменять текущее время, для отладки скрипта.
Set Sapi = Wscript.CreateObject("SAPI.SpVoice") Sapi.speak "The current time is" if hour(time) < 12 then Sapi.speak hour(time)-12 else if hour(time) = 0 then Sapi.speak "12" else Sapi.speak hour(time) end if end if if minute(time) < 10 then Sapi.speak "o" if minute(time) < 1 then Sapi.speak "clock" else Sapi.speak minute(time) end if else Sapi.speak minute(time) end if if hour(time) > 12 then Sapi.speak "P.M." else if hour(time) = 0 then if minute(time) = 0 then Sapi.speak "Midnight" else Sapi.speak "A.M." end if else if hour(time) = 12 then if minute(time) = 0 then Sapi.speak "Noon" else Sapi.speak "P.M." end if else Sapi.speak "A.M." end if end if end if
В Windows 10 не работают эти скрипты. Копирую, пишет что недопустимые символы или знаки.
поменяй скобки На “”
блин сайт мне символы поменял » » поменяй На «» shiwt +Э
Помогите) при запуске не хочет первую часть приветствия говорить,говорит сразу время 🙂 что с ним сделать?)
Поставьте кавычки, обтекающие текст, вручную.