Как заставить компьютер говорить с вами?

image001-compressor

Интеллектуальные машины, способные к речи, часто являются материалом футуристических научно-фантастических фильмов, но Вы можете превратить любой компьютер в »болтливую Кэти». Даже при том, что мы еще не на той стадии взаимодействия с компьютерами, когда можно общаться с ними, как с людьми, уже сейчас есть несколько инструментов и простых скриптов, которые мы можем написать, чтобы научить любой компьютер, под управлением 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” на то, что Вы хотите услышать.

dim speechobject
set speechobject=createobject(»sapi.spvoice»)
speechobject.speak »The geeks shall inherit the earth»

image002-compressor

После того, как Вы ввели текст, который Вы хотите услышать, нажмите “Файл” и нажмите “Сохранить Как …” .

image003-compressor

Найдите место, где Вы хотите сохранить скрипт. Для этого примера я сохраню его в пустой папке в каталоге Downloads. Важная вещь, которую Вы должны сделать — дать ему имя, которое заканчивается .vbs. Это скажет компьютеру, что Вы сохранили не текстовый файл, а VBScript. Мы назовем файл так, как показано ниже.

image004-compressor

Теперь Вы можете закрыть блокнот и перейти к папке, в которой Вы сохранили VBScript. Вы заметите, что значок — не стандартный значок TXT, а маленький синий свиток на белом фоне. Дважды щелкните по этому значку, чтобы заставить Ваш скрипт исполняться и произносить Ваш текст. Поздравляем, Вы только что создали свой первый скрипт!

Теперь, чтобы приобрести некоторый навык создания скриптов, попытайтесь создать еще несколько скриптов с любым текстом, который Вы хотите услышать. Для быстрого редактирования скрипта, Вы можете щелкнуть правой кнопкой мыши по VBScript и выбрать “Открыть с …” , выбрать блокнот, чтобы отредактировать текст в том же самом файле.

image005-compressor

Текст к речевому скрипту

Теперь, когда Вы знаете, как написать скрипт и, вероятно, наигрались с ним, Вы можете заскучать. Вот почему мы собираемся шагнуть на ступеньку выше.

Следующая вещь, которую мы изучим, состоит в том, как создать скрипт, который немного более продвинут, чем скрипт из первого примера. Он создаст диалоговое окно, в котором Вы сможете напечатать текст и он будет произнесен вашим компьютером.

Для начало, откроем Ваш блокнот снова и вставим в ваш скрипт или его копию  приведенный ниже код и сохраним его.

     Dim message, sapi
message=InputBox(»What shall I say, your Geekness?»,»I speak for you.»)
Set sapi=CreateObject(»sapi.spvoice»)
sapi.Speak message

image006-compressor

После того, как код был введен, просто сохраните файл как “Text to Speech.vbs” как было показано ранее, для сохранения скрипта. Как только это было сделано, перейдите к расположению файла и выполните его. Вы заметите, что окно называется, “I speak for you.” и просит ввести текст, который надо озвучить. Вы можете изменить текст в окне, чтобы компьютер произнес его.

На данный момент давайте введем “The geeks shall inherit the earth” и нажмем кнопку “OK”, чтобы управлять скриптом и услышать Ваш текст прочитанный компьютером.

image007-compressor

Поздравления от 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

image008-compressor

Теперь Вы можете сохранить текстовый документ как файл VBS. Как только Вы сделали это, зайдите в папку, где он сохранен и кликните по нему двойным кликом. В зависимости от времени он скажет “Доброе утро, добрый день или добрый вечер Geekmeister”.

Скрипт считает, что, если время до 12 — это »утро», время после 12 является »днем», после 16:00 время становится »вечером».

image009-compressor

Скрипт времени на 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

Теперь Вы просто должны сохранить файл как VBScript, как Вы делали в предыдущих примерах и затем перейдите к той папке. Теперь, для того чтобы компьютер произнес текущее время достаточно запустить скрипт.

Приветствие при запуске

Теперь, когда Вы знаете, как заставить Ваш компьютер приветствовать Вас и определять Вам время, было бы очень круто заставить его делать это при каждом запуске компьютера. Фактически это очень легко сделать, если Вы объедините эти два скрипта и поместите их в правильное место.

Сначала откройте блокнот и скопируйте этот код. Это просто копия обоих кодов, объединенных для Вас.

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
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

Как только Вы скопировали этот код в блокнот, сохраните его в файл  “Startup greeting.vbs”. Теперь, сохранив файл, Вы можете дважды щелкнуть по файлу VBScript, чтобы услышать, как он приветствует Вас и определяет Вам время.

image010-compressor

Если Вы хотите, чтобы компьютер говорил, когда Вы включаете свой компьютер, как Джарвис из Железного человека 😎 , выберите файл и перетяните его  к “Кнопке Пуск”. Не отпуская Вашу мышь, найдите папку »Автозапуск» и отпустите там мышку. Таким образом скрипт будет исполняться при каждом запуске Windows.

image011-compressor

Если, по некоторым причинам это у Вас не работает, Вы можете также вручную перейти к папке автозапуска. Вы сначала перейдете в папку, в которой находится Ваш “Startup greeting.vbs” и скопируйте его.

Перейдите в папку

C:\Users\USERNAME\AppData\Roaming\Microsoft\
Windows\Start Menu\Programs\Startup

Заменив USERNAME на Ваше имя пользователя

Как только Вы окажетесь в папке автозапуска, вставьте в нее vbs файл. Теперь, в следующий раз, когда Вы включите свой компьютер и авторизуетесь, он должен автоматически приветствовать Вас и сообщить Вам о том, сколько времени.

image012-compressor

Коментарии к статье:

  1. В Windows 10 не работают эти скрипты. Копирую, пишет что недопустимые символы или знаки.

  2. блин сайт мне символы поменял » » поменяй На «» shiwt +Э

  3. Помогите) при запуске не хочет первую часть приветствия говорить,говорит сразу время 🙂 что с ним сделать?)

  4. Поставьте кавычки, обтекающие текст вручную » »

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*
Website