Как заставить ваш компьютер говорить/говорить то, что вы печатаете

В Windows есть классная функция , позволяющая заставить ваш компьютер говорить или говорить(computer talk or speak) все, что вы ему скажете! Этот метод использует встроенный API, установленный в Windows XP , Vista , 7, 8 и 10, который называется SAPI ( интерфейс программирования речевых приложений(Speech Application Programming Interface) ).

Microsoft Speech API — это то, что используется для функции специальных возможностей преобразования текста в речь  ,(accessibility feature) встроенной в Windows . Вы также можете писать программы, которые вызывают API , что позволит вашим приложениям говорить, но это для разработчиков.

Просто заставить ваш компьютер сказать, что вы хотите, на самом деле довольно просто! В этой статье я покажу вам, как создать сценарий VBS(VBS script) , который будет принимать текст, введенный(text input) пользователем, и затем произносить его. Я также упомяну, как жестко запрограммировать текст, который вы хотите произнести, а затем запланировать запуск этого сценария при определенных событиях, таких как запуск Windows или выход из системы.

Введите текст, произнесите сообщение

Давайте начнем с простого сценария, который откроет диалоговое окно,(dialog box) в котором вы можете ввести то, что вы хотите, чтобы Windows говорила. Сначала(First) откройте Блокнот(Notepad) .

Шаг 1:(Step 1:)  Вставьте следующий текст в новый документ:

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message

Обратите внимание, что когда вы копируете текст из своего веб-браузера и вставляете(web browser and paste) его в Блокнот(Notepad) , кавычки вызовут проблемы. Прежде чем сохранить файл, вам нужно просмотреть и удалить каждую цитату («) и ввести цитату заново. В приведенном ниже примере есть шесть кавычек. Это должно выглядеть примерно так, как показано на изображении ниже(image below) .

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

Теперь, когда вы собираетесь сохранить файл, дайте ему любое имя, но убедитесь, что вы также вводите .VBS после имени. Затем в поле « Тип( Save as type) файла» выберите « Все файлы( All files) » вместо текстовых документов(Text Documents) по умолчанию .

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

Теперь дважды щелкните файл VBS,(VBS file) и вы должны увидеть поле ввода,(input box) в котором вы можете ввести текст, который хотите произнести! Введите что-нибудь(Type something) и нажмите OK.

говорить диалоговое окно

Если вы все сделали правильно(everything right) , вы должны услышать мужской или женский голос, произносящий вашу фразу. Если вы получаете какое-либо сообщение об ошибке(error message) , обязательно скопируйте и вставьте текст еще раз и замените эти кавычки.

Настройка голосовых настроек SAPI

Это весело, но мы также можем настроить наш маленький говорящий компьютер с другими настройками. Мы можем изменить громкость, насколько быстро или медленно говорит голос, а также изменить пол между мужчиной и женщиной. Вот пример кода(example code) , где я добавил пару дополнительных строк.

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak message

Скорость по умолчанию(default rate) равна 0, а диапазон от -10 до 10. -10 будет говорить очень медленно, а 10 будет говорить очень быстро. Громкость по умолчанию равна 100, а диапазон — от 0 до 100. Строка, начинающаяся с Set sapi.Voice , позволит вам изменить голос на другой, если он установлен в вашей системе.

Обратите внимание, что количество голосов, которые вы можете выбрать, зависит от операционной системы(operating system) . В Windows 7 есть только один голос, Майкрософт Анна(Microsoft Anna) .

установленные голоса

В Windows 10 есть два голоса: Microsoft David и Microsoft Zira(Microsoft David and Microsoft Zira) , как показано ниже.

Майкрософт Дэвис голос

майкрософт зира голос

Если в вашей системе установлен только один голос, вы должны изменить его с sapi.GetVoices.Item(1) на sapi.GetVoices.Item(0) , иначе вы получите сообщение об ошибке(error message) при попытке запустить скрипт. Вы также можете создать другой документ Блокнота и вставить(Notepad document and paste) в него приведенный ниже код, который сообщит вам, какие голоса установлены. Сохраните его как файл .VBS, как показано выше, и запустите его.

Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next

До сих пор мы использовали это всплывающее диалоговое окно(popup dialog) для ввода текста, но вы также можете просто ввести свое сообщение в файл сценария(script file) . Это было бы полезно, если бы вы хотели запланировать автоматический запуск скрипта. Очевидно, что это можно использовать, чтобы разыграть своих друзей и семью, и это работает очень хорошо.

Просто представьте, что кто-то включает свой компьютер и слышит, как компьютер говорит ему: « Привет, Джон(Hello John) , я очень хочу спать, пожалуйста, не беспокойте меня сегодня!» когда он загрузится! Я могу пообещать вам по опыту, это истерика, и вы обязательно должны попробовать.

Чтобы жестко закодировать сообщение, просто измените последнюю строку на что-то вроде этого:

sapi.Speak “Hello John, I am very tired today!”

Файл сценария расписания

Теперь, когда вы жестко закодировали свое сообщение для намеченной цели, вам просто нужно запустить его, когда захотите. Если вы разбираетесь в технологиях, вы можете использовать такую ​​программу, как AutoIt , которая позволит вам делать экстремальные вещи, например запускать файл сценария(script file) при открытии определенной программы или при развертывании или сворачивании окон.

У меня нет времени вдаваться во все это в этом посте, но, к счастью, у Microsoft есть встроенная функция, называемая планировщиком заданий(Task Scheduler) , которая позволяет вам легко делать довольно сложные вещи со сценариями.

В моем предыдущем посте подробно рассказывается о том, как запланировать запуск файла сценария(script file) при возникновении определенных событий в Windows . Если у вас возникли проблемы с запуском скрипта, не стесняйтесь оставлять комментарии, и я постараюсь помочь. Наслаждаться!



About the author

Я инженер-программист с более чем 10-летним опытом работы в индустрии Xbox. Я специализируюсь на разработке игр и тестировании безопасности. Я также являюсь опытным обозревателем и работал над проектами для некоторых из самых известных игровых компаний, включая Ubisoft, Microsoft и Sony. В свободное время я люблю играть в видеоигры и смотреть сериалы.



Related posts